Branch: refs/heads/master Author: Frank Lanitz frank@frank.uvena.de Committer: GitHub noreply@github.com Date: Wed, 01 Nov 2017 18:29:29 UTC Commit: 3b17e53f7eab4e95f816b724d9c1189e86aa35c6 https://github.com/geany/geany-plugins/commit/3b17e53f7eab4e95f816b724d9c118...
Log Message: ----------- Merge pull request #639 from eht16/issue638_addons_fix_initialization
Connect button-press signal handlers on plugin activation
Modified Paths: -------------- addons/src/ao_markword.c
Modified: addons/src/ao_markword.c 40 lines changed, 32 insertions(+), 8 deletions(-) =================================================================== @@ -65,6 +65,7 @@ enum
static void ao_mark_word_finalize (GObject *object); +static void connect_documents_button_press_signal_handler(AoMarkWord *mw);
G_DEFINE_TYPE(AoMarkWord, ao_mark_word, G_TYPE_OBJECT)
@@ -78,6 +79,13 @@ static void ao_mark_word_set_property(GObject *object, guint prop_id, { case PROP_ENABLE_MARKWORD: priv->enable_markword = g_value_get_boolean(value); + /* if the plugin is loaded while Geany is already running, we need to connect the + * button press signal for open documents, if Geany is just booting, + * it happens automatically */ + if (priv->enable_markword && main_is_realized()) + { + connect_documents_button_press_signal_handler(AO_MARKWORD(object)); + } break; case PROP_ENABLE_MARKWORD_SINGLE_CLICK_DESELECT: priv->enable_single_click_deselect = g_value_get_boolean(value); @@ -197,14 +205,7 @@ void ao_mark_editor_notify(AoMarkWord *mw, GeanyEditor *editor, SCNotification * }
-void ao_mark_document_new(AoMarkWord *mw, GeanyDocument *document) -{ - /* there is nothing different to handling open documents, so do the same */ - ao_mark_document_open(mw, document); -} - - -void ao_mark_document_open(AoMarkWord *mw, GeanyDocument *document) +static void connect_document_button_press_signal_handler(AoMarkWord *mw, GeanyDocument *document) { g_return_if_fail(DOC_VALID(document));
@@ -218,6 +219,29 @@ void ao_mark_document_open(AoMarkWord *mw, GeanyDocument *document) }
+static void connect_documents_button_press_signal_handler(AoMarkWord *mw) +{ + guint i = 0; + /* connect the button-press event for all open documents */ + foreach_document(i) + { + connect_document_button_press_signal_handler(mw, documents[i]); + } +} + + +void ao_mark_document_new(AoMarkWord *mw, GeanyDocument *document) +{ + connect_document_button_press_signal_handler(mw, document); +} + + +void ao_mark_document_open(AoMarkWord *mw, GeanyDocument *document) +{ + connect_document_button_press_signal_handler(mw, document); +} + + void ao_mark_document_close(AoMarkWord *mw, GeanyDocument *document) { g_return_if_fail(DOC_VALID(document));
-------------- This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).