[gswitchit_plugins] Proper running of the dialogs
- From: Sergey V. Udaltsov <svu src gnome org>
- To: svn-commits-list gnome org
- Subject: [gswitchit_plugins] Proper running of the dialogs
- Date: Sun, 24 May 2009 07:52:17 -0400 (EDT)
commit d64bd0c9b40aff18b73238b847bfed29f3397378
Author: Sergey V. Udaltsov <svu gnome org>
Date: Sun May 24 12:47:30 2009 +0100
Proper running of the dialogs
The gtk_gialod_run function returns on any button press - so it is
replaced with gtk_widget_show (and some related changes)
---
custlbls/custlbls.c | 26 ++++++++++++---------
flags/flags.c | 35 +++++++++++++++++-----------
highlight/highlight.c | 60 +++++++++++++-----------------------------------
3 files changed, 52 insertions(+), 69 deletions(-)
diff --git a/custlbls/custlbls.c b/custlbls/custlbls.c
index 2eb40a9..253c551 100644
--- a/custlbls/custlbls.c
+++ b/custlbls/custlbls.c
@@ -209,12 +209,8 @@ DelLabel (GtkButton * btn)
static void
ListSelectionChanged (GtkTreeSelection * selection)
{
- GtkWidget *list =
- GTK_WIDGET (gtk_builder_get_object (builder, "lstLabels"));
GtkWidget *btnDel =
GTK_WIDGET (gtk_builder_get_object (builder, "btnDelete"));
- GtkWidget *txtLabel =
- GTK_WIDGET (gtk_builder_get_object (builder, "txtLabel"));
GtkTreeIter selectedIter;
gboolean isAnythingSelected = FALSE;
@@ -228,6 +224,16 @@ ListSelectionChanged (GtkTreeSelection * selection)
}
static void
+CfgDlgResponse (GtkWidget * dlg, gint response_id)
+{
+ if (response_id) {
+ if (response_id == GTK_RESPONSE_CLOSE)
+ gtk_widget_destroy (dlg);
+ container = NULL;
+ }
+}
+
+static void
ConfigurePlugin (GkbdIndicatorPluginContainer * pc, GtkWindow * parent)
{
GtkWidget *dialog;
@@ -254,12 +260,12 @@ ConfigurePlugin (GkbdIndicatorPluginContainer * pc, GtkWindow * parent)
gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
gtk_window_set_transient_for (GTK_WINDOW (dialog), parent);
- g_signal_connect (GTK_WIDGET
- (gtk_builder_get_object (builder, "btnAdd")),
+ g_signal_connect (gtk_builder_get_object (builder, "btnAdd"),
"clicked", G_CALLBACK (AddLabel), NULL);
- g_signal_connect (GTK_WIDGET
- (gtk_builder_get_object (builder, "btnDelete")),
+ g_signal_connect (gtk_builder_get_object (builder, "btnDelete"),
"clicked", G_CALLBACK (DelLabel), NULL);
+ g_signal_connect (G_OBJECT (dialog), "response",
+ G_CALLBACK (CfgDlgResponse), NULL);
list = GTK_WIDGET (gtk_builder_get_object (builder, "lstLabels"));
@@ -272,9 +278,7 @@ ConfigurePlugin (GkbdIndicatorPluginContainer * pc, GtkWindow * parent)
UpdateList ();
- gtk_dialog_run (GTK_DIALOG (dialog));
- gtk_widget_destroy (dialog);
- container = NULL;
+ gtk_widget_show (dialog);
}
static GtkWidget *
diff --git a/flags/flags.c b/flags/flags.c
index 45be9da..1675182 100644
--- a/flags/flags.c
+++ b/flags/flags.c
@@ -386,6 +386,19 @@ DoStartDownloadFlags ()
}
static void
+CfgDlgResponse (GtkWidget * dialog, gint response_id)
+{
+ if (response_id) {
+ if (response_id == GTK_RESPONSE_CLOSE)
+ gtk_widget_destroy (dialog);
+ StopListening ();
+
+ builder = NULL;
+ container = NULL;
+ }
+}
+
+static void
ConfigurePlugin (GkbdIndicatorPluginContainer * pc, GtkWindow * parent)
{
GtkWidget *dialog;
@@ -403,27 +416,21 @@ ConfigurePlugin (GkbdIndicatorPluginContainer * pc, GtkWindow * parent)
gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
gtk_window_set_transient_for (GTK_WINDOW (dialog), parent);
- g_signal_connect (GTK_WIDGET
- (gtk_builder_get_object
- (builder, "chkEnableFlags")), "toggled",
+ g_signal_connect (gtk_builder_get_object
+ (builder, "chkEnableFlags"), "toggled",
G_CALLBACK (ChangeShowFlag), NULL);
- g_signal_connect (GTK_WIDGET
- (gtk_builder_get_object
- (builder, "btnStartDownload")), "clicked",
+ g_signal_connect (gtk_builder_get_object
+ (builder, "btnStartDownload"), "clicked",
G_CALLBACK (DoStartDownloadFlags), NULL);
- g_signal_connect (GTK_WIDGET
- (gtk_builder_get_object
- (builder, "btnCancelDownload")), "clicked",
+ g_signal_connect (gtk_builder_get_object
+ (builder, "btnCancelDownload"), "clicked",
G_CALLBACK (DoCancelDownloadFlags), NULL);
+ g_signal_connect (G_OBJECT (dialog),
+ "response", G_CALLBACK (CfgDlgResponse), NULL);
ConfigChangedCallback (NULL, 0, NULL, TRUE);
StartGConfListening (TRUE);
gtk_dialog_run (GTK_DIALOG (dialog));
- StopListening ();
- gtk_widget_destroy (dialog);
-
- builder = NULL;
- container = NULL;
}
G_MODULE_EXPORT const GkbdIndicatorPlugin *
diff --git a/highlight/highlight.c b/highlight/highlight.c
index 8e54fe5..f9c248a 100644
--- a/highlight/highlight.c
+++ b/highlight/highlight.c
@@ -212,8 +212,8 @@ ChooseColor (GtkButton * btn, GdkColor * color)
if (GTK_RESPONSE_OK == dr) {
gtk_color_selection_get_current_color (GTK_COLOR_SELECTION
(GTK_COLOR_SELECTION_DIALOG
- (dlgSelection)->colorsel),
- color);
+ (dlgSelection)->
+ colorsel), color);
UpdateColorChooserButtons ();
SaveConfig ();
}
@@ -221,6 +221,16 @@ ChooseColor (GtkButton * btn, GdkColor * color)
}
static void
+CfgDlgResponse (GtkWidget * dlg, gint response_id)
+{
+ if (response_id) {
+ if (response_id == GTK_RESPONSE_CLOSE)
+ gtk_widget_destroy (dlg);
+ container = NULL;
+ }
+}
+
+static void
ConfigurePlugin (GkbdIndicatorPluginContainer * pc, GtkWindow * parent)
{
GtkWidget *dialog;
@@ -243,36 +253,14 @@ ConfigurePlugin (GkbdIndicatorPluginContainer * pc, GtkWindow * parent)
g_signal_connect (GTK_WIDGET
(gtk_builder_get_object (builder, "btnFgColor")),
"clicked", G_CALLBACK (ChooseColor), &fgColor);
- g_signal_connect (GTK_WIDGET
- (gtk_builder_get_object (builder, "btnBgColor")),
+ g_signal_connect (gtk_builder_get_object (builder, "btnBgColor"),
"clicked", G_CALLBACK (ChooseColor), &bgColor);
-
+ g_signal_connect (G_OBJECT (dialog),
+ "response", G_CALLBACK (CfgDlgResponse), NULL);
UpdateColorChooserButtons ();
- gtk_dialog_run (GTK_DIALOG (dialog));
- gtk_widget_destroy (dialog);
- container = NULL;
-}
-
-static void
-ClearBGPixmaps (GtkWidget * widget, GtkRcStyle * rc_style)
-{
- /* Just resetting the styles to the theme -
- no funny transparent BG or anything */
- gtk_widget_set_style (widget, NULL);
- gtk_widget_modify_style (widget, rc_style);
-
- /* go down */
- if (GTK_IS_CONTAINER (widget)) {
- GList *child =
- gtk_container_get_children (GTK_CONTAINER (widget));
- while (child != NULL) {
- ClearBGPixmaps (GTK_WIDGET (child->data),
- rc_style);
- child = child->next;
- }
- }
+ gtk_widget_show (dialog);
}
static GtkWidget *
@@ -287,22 +275,6 @@ FindChildLabel (GtkWidget * widget)
return GTK_IS_LABEL (child) ? child : NULL;
}
-static void
-SetColorsOnWidgets (GtkWidget * widget)
-{
- GtkWidget *label = FindChildLabel (widget);
- GtkRcStyle *rc_style = gtk_rc_style_new ();
-
- ClearBGPixmaps (widget, rc_style);
- g_object_unref (rc_style);
-
- printf ("SetColorsOnWidgets\n");
- gtk_widget_modify_bg (widget, GTK_STATE_NORMAL, &bgColor);
-
-/* if (label != NULL)
- gtk_widget_modify_fg (label, GTK_STATE_NORMAL, &fgColor); */
-}
-
static GtkWidget *
HighlightWidget (GtkWidget * widget, const gint group, const char
*groupDescription, GkbdKeyboardConfig * config)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]