[geany/geany-plugins] 331f5e: geanyextrasel: small fixes
Dimitar Zhekov
git-noreply at xxxxx
Thu Jun 14 17:59:56 UTC 2012
Branch: refs/heads/master
Author: Dimitar Zhekov <dimitar.zhekov at gmail.com>
Committer: Dimitar Zhekov <dimitar.zhekov at gmail.com>
Date: Thu, 14 Jun 2012 17:59:56
Commit: 331f5e9c2954107669d3d79a124c33b1a906161f
https://github.com/geany/geany-plugins/commit/331f5e9c2954107669d3d79a124c33b1a906161f
Log Message:
-----------
geanyextrasel: small fixes
Fixed the prototype of on_column_mode_toggled().
Partially restored ignore_callback to avoid delay on document activate.
Modified Paths:
--------------
geanyextrasel/ChangeLog
geanyextrasel/src/extrasel.c
Modified: geanyextrasel/ChangeLog
9 files changed, 9 insertions(+), 0 deletions(-)
===================================================================
@@ -1,6 +1,15 @@
2012-06-13 Dimitar Zhekov <dimitar.zhekov at gmail.com>
* src/extrasel.c:
+
+ Fixed the prototype of on_column_mode_toggled().
+ Partially restored ignore_callback to avoid delay on document
+ activation.
+
+2012-06-13 Dimitar Zhekov <dimitar.zhekov at gmail.com>
+
+ * src/extrasel.c:
+
Fixed on_settings_change() prototype.
Fixed on settings changed to reassign the selection keys for all
documents, not the current document only.
Modified: geanyextrasel/src/extrasel.c
22 files changed, 15 insertions(+), 7 deletions(-)
===================================================================
@@ -54,6 +54,7 @@ enum
static gpointer *go_to_line1_item = NULL;
static gint column_mode = FALSE;
+static gint plugin_internal_callback = FALSE;
static gint select_anchor = 0, select_space = 0;
/* Common functions / macros */
@@ -248,19 +249,22 @@ static void assign_select_keys(ScintillaObject *sci)
}
}
-static void on_column_mode_toggled(G_GNUC_UNUSED GtkMenuItem *menuitem,
- G_GNUC_UNUSED gpointer gdata)
+static void on_column_mode_toggled(G_GNUC_UNUSED GtkMenuItem *menuitem)
{
ScintillaObject *sci = scintilla_get_current();
if (sci)
{
column_mode = gtk_check_menu_item_get_active(column_mode_item);
- assign_select_keys(sci);
- g_object_set_data(G_OBJECT(sci), "column_mode", GINT_TO_POINTER(column_mode));
- if (sci_has_selection(sci) && sci_rectangle_selection(sci) != column_mode)
- convert_selection(sci, column_mode);
gtk_widget_set_sensitive(anchor_rect_select_item, !column_mode);
+
+ if (!plugin_internal_callback)
+ {
+ assign_select_keys(sci);
+ g_object_set_data(G_OBJECT(sci), "column_mode", GINT_TO_POINTER(column_mode));
+ if (sci_has_selection(sci) && sci_rectangle_selection(sci) != column_mode)
+ convert_selection(sci, column_mode);
+ }
}
}
@@ -273,7 +277,9 @@ static void on_document_create(G_GNUC_UNUSED GObject *obj, G_GNUC_UNUSED GeanyDo
G_GNUC_UNUSED gpointer gdata)
{
select_anchor = select_space = 0;
+ plugin_internal_callback = TRUE;
gtk_check_menu_item_set_active(column_mode_item, FALSE);
+ plugin_internal_callback = FALSE;
}
static void on_document_activate(G_GNUC_UNUSED GObject *obj, GeanyDocument *doc,
@@ -281,8 +287,10 @@ static void on_document_activate(G_GNUC_UNUSED GObject *obj, GeanyDocument *doc,
{
ScintillaObject *sci = doc->editor->sci;
+ plugin_internal_callback = TRUE;
column_mode = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(sci), "column_mode"));
gtk_check_menu_item_set_active(column_mode_item, column_mode);
+ plugin_internal_callback = FALSE;
select_anchor = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(sci), "select_anchor"));
select_space = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(sci), "select_space"));
}
@@ -308,7 +316,7 @@ static void on_settings_change(G_GNUC_UNUSED GObject *obj, G_GNUC_UNUSED GKeyFil
if (column_mode)
{
- gint i;
+ guint i;
foreach_document(i)
assign_select_keys(documents[i]->editor->sci);
@@ Diff output truncated at 100000 characters. @@
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: TBD).
More information about the Plugins-Commits
mailing list