gnome-terminal r2529 - trunk/src
- From: chpe svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-terminal r2529 - trunk/src
- Date: Mon, 31 Mar 2008 22:41:47 +0100 (BST)
Author: chpe
Date: Mon Mar 31 22:41:47 2008
New Revision: 2529
URL: http://svn.gnome.org/viewvc/gnome-terminal?rev=2529&view=rev
Log:
Simply creating/updating the transient parent of the keybindings editor. Move that code to terminal-accels.c.
Modified:
trunk/src/terminal-accels.c
trunk/src/terminal-accels.h
trunk/src/terminal.c
Modified: trunk/src/terminal-accels.c
==============================================================================
--- trunk/src/terminal-accels.c (original)
+++ trunk/src/terminal-accels.c Mon Mar 31 22:41:47 2008
@@ -237,6 +237,7 @@
/* never set gconf keys in response to receiving a gconf notify. */
static int inside_gconf_notify = 0;
static char *saved_menu_accel = NULL;
+static GtkWidget *edit_keys_dialog = NULL;
void
terminal_accels_init (void)
@@ -1123,8 +1124,8 @@
return TRUE;
}
-GtkWidget*
-terminal_edit_keys_dialog_new (GtkWindow *transient_parent)
+void
+terminal_edit_keys_dialog_show (GtkWindow *transient_parent)
{
GladeXML *xml;
GtkWidget *w;
@@ -1135,11 +1136,19 @@
GtkTreeViewColumn *column;
GtkTreeIter parent_iter;
+ if (edit_keys_dialog != NULL)
+ {
+ gtk_window_set_transient_for (GTK_WINDOW (edit_keys_dialog), transient_parent);
+ gtk_window_present (GTK_WINDOW (edit_keys_dialog));
+ return;
+ }
+
+ /* No keybindings editor yet, create one */
xml = terminal_util_load_glade_file (TERM_GLADE_FILE,
"keybindings-dialog",
transient_parent);
if (xml == NULL)
- return NULL;
+ return;
w = glade_xml_get_widget (xml, "disable-mnemonics-checkbutton");
living_mnemonics_checkbuttons = g_slist_prepend (living_mnemonics_checkbuttons,
@@ -1252,9 +1261,15 @@
terminal_util_set_unique_role (GTK_WINDOW (w), "gnome-terminal-accels");
- g_object_unref (G_OBJECT (xml));
-
- return w;
+ g_object_unref (xml);
+
+ edit_keys_dialog = w;
+
+ gtk_window_set_transient_for (GTK_WINDOW (edit_keys_dialog), transient_parent);
+ g_signal_connect (edit_keys_dialog, "destroy",
+ G_CALLBACK (gtk_widget_destroyed), &edit_keys_dialog);
+
+ gtk_window_present (GTK_WINDOW (edit_keys_dialog));
}
static void
Modified: trunk/src/terminal-accels.h
==============================================================================
--- trunk/src/terminal-accels.h (original)
+++ trunk/src/terminal-accels.h Mon Mar 31 22:41:47 2008
@@ -26,8 +26,8 @@
G_BEGIN_DECLS
void terminal_accels_init (void);
-
-GtkWidget* terminal_edit_keys_dialog_new (GtkWindow *transient_parent);
+
+void terminal_edit_keys_dialog_show (GtkWindow *transient_parent);
G_END_DECLS
Modified: trunk/src/terminal.c
==============================================================================
--- trunk/src/terminal.c (original)
+++ trunk/src/terminal.c Mon Mar 31 22:41:47 2008
@@ -75,7 +75,6 @@
struct _TerminalApp
{
GList *windows;
- GtkWidget *edit_keys_dialog;
GtkWidget *edit_encodings_dialog;
GtkWidget *new_profile_dialog;
GtkWidget *manage_profiles_dialog;
@@ -1785,57 +1784,11 @@
terminal_profile_edit (profile, transient_parent);
}
-static void
-edit_keys_destroyed_callback (GtkWidget *edit_keys_dialog,
- TerminalApp *app)
-{
- app->edit_keys_dialog = NULL;
-}
-
void
terminal_app_edit_keybindings (TerminalApp *app,
GtkWindow *transient_parent)
{
- GtkWindow *old_transient_parent;
-
- if (app->edit_keys_dialog == NULL)
- {
- old_transient_parent = NULL;
-
- /* passing in transient_parent here purely for the
- * glade error dialog
- */
- app->edit_keys_dialog = terminal_edit_keys_dialog_new (transient_parent);
-
- if (app->edit_keys_dialog == NULL)
- return; /* glade file missing */
-
- g_signal_connect (G_OBJECT (app->edit_keys_dialog),
- "destroy",
- G_CALLBACK (edit_keys_destroyed_callback),
- app);
- }
- else
- {
- old_transient_parent = gtk_window_get_transient_for (GTK_WINDOW (app->edit_keys_dialog));
- }
-
- if (old_transient_parent != transient_parent)
- {
- gtk_window_set_transient_for (GTK_WINDOW (app->edit_keys_dialog),
- transient_parent);
- gtk_widget_hide (app->edit_keys_dialog); /* re-show the window on its new parent */
- }
-
- gtk_widget_show_all (app->edit_keys_dialog);
- gtk_window_present (GTK_WINDOW (app->edit_keys_dialog));
-}
-
-static void
-edit_encodings_destroyed_callback (GtkWidget *edit_encodings_dialog,
- TerminalApp *app)
-{
- app->edit_encodings_dialog = NULL;
+ terminal_edit_keys_dialog_show (transient_parent);
}
void
@@ -1859,8 +1812,8 @@
g_signal_connect (G_OBJECT (app->edit_encodings_dialog),
"destroy",
- G_CALLBACK (edit_encodings_destroyed_callback),
- app);
+ G_CALLBACK (gtk_widget_destroyed),
+ &(app->edit_encodings_dialog));
}
else
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]