[gedit] spell-language-dialog: override the "response" object signal handler
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gedit] spell-language-dialog: override the "response" object signal handler
- Date: Tue, 21 Jul 2015 19:04:22 +0000 (UTC)
commit 9a51f1d7614a5c89ebb99e6d0f966d50206b228f
Author: Sébastien Wilmet <swilmet gnome org>
Date: Tue Jul 21 18:12:26 2015 +0200
spell-language-dialog: override the "response" object signal handler
plugins/spell/gedit-spell-language-dialog.c | 31 +++++++++++++--------------
plugins/spell/gedit-spell-plugin.c | 9 +++++--
2 files changed, 21 insertions(+), 19 deletions(-)
---
diff --git a/plugins/spell/gedit-spell-language-dialog.c b/plugins/spell/gedit-spell-language-dialog.c
index e2a0adf..db386e6 100644
--- a/plugins/spell/gedit-spell-language-dialog.c
+++ b/plugins/spell/gedit-spell-language-dialog.c
@@ -43,27 +43,31 @@ struct _GeditSpellLanguageDialog
G_DEFINE_TYPE (GeditSpellLanguageDialog, gedit_spell_language_dialog, GTK_TYPE_DIALOG)
static void
-gedit_spell_language_dialog_class_init (GeditSpellLanguageDialogClass *klass)
-{
- /* GObjectClass *object_class = G_OBJECT_CLASS (klass); */
-}
-
-static void
-dialog_response_handler (GtkDialog *dialog,
- gint res_id)
+gedit_spell_language_dialog_response (GtkDialog *dialog,
+ gint response_id)
{
- if (res_id == GTK_RESPONSE_HELP)
+ if (response_id == GTK_RESPONSE_HELP)
{
gedit_app_show_help (GEDIT_APP (g_application_get_default ()),
GTK_WINDOW (dialog),
NULL,
"gedit-spellcheck");
-
- g_signal_stop_emission_by_name (dialog, "response");
+ }
+ else if (GTK_DIALOG_CLASS (gedit_spell_language_dialog_parent_class)->response != NULL)
+ {
+ GTK_DIALOG_CLASS (gedit_spell_language_dialog_parent_class)->response (dialog, response_id);
}
}
static void
+gedit_spell_language_dialog_class_init (GeditSpellLanguageDialogClass *klass)
+{
+ GtkDialogClass *dialog_class = GTK_DIALOG_CLASS (klass);
+
+ dialog_class->response = gedit_spell_language_dialog_response;
+}
+
+static void
scroll_to_selected (GtkTreeView *tree_view)
{
GtkTreeModel *model;
@@ -131,11 +135,6 @@ create_dialog (GeditSpellLanguageDialog *dialog,
gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_action_area (GTK_DIALOG (dialog))),
6);
- g_signal_connect (dialog,
- "response",
- G_CALLBACK (dialog_response_handler),
- NULL);
-
builder = gtk_builder_new ();
gtk_builder_add_objects_from_resource (builder,
"/org/gnome/gedit/plugins/spell/ui/languages-dialog.ui",
root_objects, NULL);
diff --git a/plugins/spell/gedit-spell-plugin.c b/plugins/spell/gedit-spell-plugin.c
index 05aa7c6..c1a2f00 100644
--- a/plugins/spell/gedit-spell-plugin.c
+++ b/plugins/spell/gedit-spell-plugin.c
@@ -802,10 +802,10 @@ add_word_cb (GeditSpellCheckerDialog *dlg,
static void
language_dialog_response (GtkDialog *dlg,
- gint res_id,
+ gint response_id,
GeditSpellChecker *checker)
{
- if (res_id == GTK_RESPONSE_OK)
+ if (response_id == GTK_RESPONSE_OK)
{
const GeditSpellCheckerLanguage *lang;
@@ -816,7 +816,10 @@ language_dialog_response (GtkDialog *dlg,
}
}
- gtk_widget_destroy (GTK_WIDGET (dlg));
+ if (response_id != GTK_RESPONSE_HELP)
+ {
+ gtk_widget_destroy (GTK_WIDGET (dlg));
+ }
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]