SF.net SVN: geany: [1649] trunk
eht16 at users.sourceforge.net
eht16 at xxxxx
Wed Jun 27 19:36:43 UTC 2007
Revision: 1649
http://svn.sourceforge.net/geany/?rev=1649&view=rev
Author: eht16
Date: 2007-06-27 12:36:43 -0700 (Wed, 27 Jun 2007)
Log Message:
-----------
Change signature of sci_replace_sel() to take a const gchar*.
Move code to insert a colour to document.c
Let the code also work on Windows (untested).
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/callbacks.c
trunk/src/document.c
trunk/src/document.h
trunk/src/sciwrappers.c
trunk/src/sciwrappers.h
trunk/src/win32.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2007-06-27 19:07:03 UTC (rev 1648)
+++ trunk/ChangeLog 2007-06-27 19:36:43 UTC (rev 1649)
@@ -4,6 +4,11 @@
Add palette to Colour Chooser Dialog.
Fix picking colours starting with '#'.
Replace existing selection with chosen colour.
+ * src/callbacks.c, src/document.c, src/document.h, src/sciwrappers.c,
+ src/sciwrappers.h, src/win32.c:
+ Change signature of sci_replace_sel() to take a const gchar*.
+ Move code to insert a colour to document.c
+ Let the code also work on Windows (untested).
2007-06-27 Nick Treleaven <nick.treleaven at btinternet.com>
Modified: trunk/src/callbacks.c
===================================================================
--- trunk/src/callbacks.c 2007-06-27 19:07:03 UTC (rev 1648)
+++ trunk/src/callbacks.c 2007-06-27 19:36:43 UTC (rev 1649)
@@ -994,27 +994,7 @@
GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(app->open_colorsel)->colorsel), &color);
hex = utils_get_hex_from_color(&color);
- // add the selected colour into the doc, prefer #... format unless there is a selection
- // starting with 0x...
- if (sci_can_copy(doc_list[idx].sci))
- {
- gint start = sci_get_selection_start(doc_list[idx].sci);
- gchar *replacement = hex;
-
- if (sci_get_char_at(doc_list[idx].sci, start) == '0' &&
- sci_get_char_at(doc_list[idx].sci, start + 1) == 'x')
- {
- sci_set_selection_start(doc_list[idx].sci, start + 2);
- replacement++; // skip the leading '#'
- }
- else if (sci_get_char_at(doc_list[idx].sci, start - 1) == '#')
- { // double clicking something like #00ffff may only select 00ffff because of wordchars
- replacement++; // so skip the '#' to only replace the colour value
- }
- sci_replace_sel(doc_list[idx].sci, replacement);
- }
- else
- sci_add_text(doc_list[idx].sci, hex);
+ document_insert_colour(idx, hex);
g_free(hex);
}
Modified: trunk/src/document.c
===================================================================
--- trunk/src/document.c 2007-06-27 19:07:03 UTC (rev 1648)
+++ trunk/src/document.c 2007-06-27 19:36:43 UTC (rev 1649)
@@ -2245,3 +2245,29 @@
}
+/* Inserts the given colour (format should be #...), if there is a selection starting with 0x...
+ * the replacement starts also with 0x... */
+void document_insert_colour(gint idx, const gchar *colour)
+{
+ g_return_if_fail(DOC_IDX_VALID(idx));
+
+ if (sci_can_copy(doc_list[idx].sci))
+ {
+ gint start = sci_get_selection_start(doc_list[idx].sci);
+ const gchar *replacement = colour;
+
+ if (sci_get_char_at(doc_list[idx].sci, start) == '0' &&
+ sci_get_char_at(doc_list[idx].sci, start + 1) == 'x')
+ {
+ sci_set_selection_start(doc_list[idx].sci, start + 2);
+ replacement++; // skip the leading '#'
+ }
+ else if (sci_get_char_at(doc_list[idx].sci, start - 1) == '#')
+ { // double clicking something like #00ffff may only select 00ffff because of wordchars
+ replacement++; // so skip the '#' to only replace the colour value
+ }
+ sci_replace_sel(doc_list[idx].sci, replacement);
+ }
+ else
+ sci_add_text(doc_list[idx].sci, colour);
+}
Modified: trunk/src/document.h
===================================================================
--- trunk/src/document.h 2007-06-27 19:07:03 UTC (rev 1648)
+++ trunk/src/document.h 2007-06-27 19:36:43 UTC (rev 1649)
@@ -246,4 +246,6 @@
void document_colourise_new();
+void document_insert_colour(gint idx, const gchar *colour);
+
#endif
Modified: trunk/src/sciwrappers.c
===================================================================
--- trunk/src/sciwrappers.c 2007-06-27 19:07:03 UTC (rev 1648)
+++ trunk/src/sciwrappers.c 2007-06-27 19:36:43 UTC (rev 1649)
@@ -466,7 +466,7 @@
}
-void sci_replace_sel(ScintillaObject* sci, gchar* text)
+void sci_replace_sel(ScintillaObject* sci, const gchar* text)
{
SSM(sci, SCI_REPLACESEL,0, (sptr_t) text);
}
Modified: trunk/src/sciwrappers.h
===================================================================
--- trunk/src/sciwrappers.h 2007-06-27 19:07:03 UTC (rev 1648)
+++ trunk/src/sciwrappers.h 2007-06-27 19:36:43 UTC (rev 1649)
@@ -79,7 +79,7 @@
gint sci_get_selection_start (ScintillaObject* sci);
gint sci_get_selection_end (ScintillaObject* sci);
-void sci_replace_sel (ScintillaObject* sci, gchar* text);
+void sci_replace_sel (ScintillaObject* sci, const gchar* text);
gint sci_get_selection_mode (ScintillaObject* sci);
void sci_set_selection_mode (ScintillaObject* sci, gint mode);
gint sci_get_pos_at_line_sel_start(ScintillaObject*sci, gint line);
Modified: trunk/src/win32.c
===================================================================
--- trunk/src/win32.c 2007-06-27 19:07:03 UTC (rev 1648)
+++ trunk/src/win32.c 2007-06-27 19:36:43 UTC (rev 1649)
@@ -397,7 +397,7 @@
(guint) (utils_scale_round(GetGValue(rgb_current), 255)),
(guint) (utils_scale_round(GetBValue(rgb_current), 255)));
- sci_add_text(doc_list[idx].sci, hex);
+ document_insert_colour(idx, hex);
}
g_free(hex);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list