diff options
author | rbuj <[email protected]> | 2020-12-26 12:07:01 +0100 |
---|---|---|
committer | raveit65 <[email protected]> | 2021-01-06 12:57:05 +0100 |
commit | b14abf57c20fc848ba1903c40841c3c107ecc7d4 (patch) | |
tree | 8f9b2c8c1a0fa24c8ecfbe2807bf0177207af24f | |
parent | c4a5e775da5b592e82a79fcb5e09b1f2fe86567a (diff) | |
download | mate-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.c | 26 |
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); } |