summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrbuj <[email protected]>2020-12-26 12:07:01 +0100
committerraveit65 <[email protected]>2021-01-06 12:57:05 +0100
commitb14abf57c20fc848ba1903c40841c3c107ecc7d4 (patch)
tree8f9b2c8c1a0fa24c8ecfbe2807bf0177207af24f
parentc4a5e775da5b592e82a79fcb5e09b1f2fe86567a (diff)
downloadmate-panel-b14abf57c20fc848ba1903c40841c3c107ecc7d4.tar.bz2
mate-panel-b14abf57c20fc848ba1903c40841c3c107ecc7d4.tar.xz
panel-properties-dialog: show dialog on _present instead of _new
-rw-r--r--mate-panel/panel-properties-dialog.c26
1 files changed, 9 insertions, 17 deletions
diff --git a/mate-panel/panel-properties-dialog.c b/mate-panel/panel-properties-dialog.c
index 1690ed80..d2b5e007 100644
--- a/mate-panel/panel-properties-dialog.c
+++ b/mate-panel/panel-properties-dialog.c
@@ -830,11 +830,11 @@ panel_properties_dialog_update_for_attached (PanelPropertiesDialog *dialog,
}
static PanelPropertiesDialog *
-panel_properties_dialog_new (PanelToplevel *toplevel,
- GtkBuilder *gui)
+panel_properties_dialog_new (PanelToplevel *toplevel)
{
PanelPropertiesDialog *dialog;
char *toplevel_settings_path;
+ GtkBuilder *gui;
dialog = g_new0 (PanelPropertiesDialog, 1);
@@ -845,6 +845,9 @@ panel_properties_dialog_new (PanelToplevel *toplevel,
dialog->toplevel = toplevel;
+ gui = gtk_builder_new_from_resource (PANEL_RESOURCE_PATH "panel-properties-dialog.ui");
+ gtk_builder_set_translation_domain (gui, GETTEXT_PACKAGE);
+
dialog->properties_dialog = PANEL_GTK_BUILDER_GET (gui, "panel_properties_dialog");
g_signal_connect_swapped (dialog->properties_dialog, "response",
G_CALLBACK (panel_properties_dialog_response), dialog);
@@ -908,9 +911,7 @@ panel_properties_dialog_new (PanelToplevel *toplevel,
panel_toplevel_push_autohide_disabler (dialog->toplevel);
panel_widget_register_open_dialog (panel_toplevel_get_panel_widget (dialog->toplevel),
dialog->properties_dialog);
-
- gtk_widget_show (dialog->properties_dialog);
-
+ g_object_unref (gui);
return dialog;
}
@@ -918,7 +919,6 @@ void
panel_properties_dialog_present (PanelToplevel *toplevel)
{
PanelPropertiesDialog *dialog;
- GtkBuilder *gui;
if (!panel_properties_dialog_quark)
panel_properties_dialog_quark =
@@ -929,16 +929,8 @@ panel_properties_dialog_present (PanelToplevel *toplevel)
gtk_window_set_screen (GTK_WINDOW (dialog->properties_dialog),
gtk_window_get_screen (GTK_WINDOW (toplevel)));
gtk_window_present (GTK_WINDOW (dialog->properties_dialog));
- return;
+ } else {
+ dialog = panel_properties_dialog_new (toplevel);
+ gtk_widget_show (dialog->properties_dialog);
}
-
- gui = gtk_builder_new ();
- gtk_builder_set_translation_domain (gui, GETTEXT_PACKAGE);
- gtk_builder_add_from_resource (gui,
- PANEL_RESOURCE_PATH "panel-properties-dialog.ui",
- NULL);
-
- dialog = panel_properties_dialog_new (toplevel, gui);
-
- g_object_unref (gui);
}