void panel_properties_dialog_present (PanelToplevel *toplevel) { PanelPropertiesDialog *dialog; GtkBuilder *gui; GError *error; if (!panel_properties_dialog_quark) panel_properties_dialog_quark = g_quark_from_static_string ("panel-properties-dialog"); dialog = g_object_get_qdata (G_OBJECT (toplevel), panel_properties_dialog_quark); if (dialog) { 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; } gui = gtk_builder_new (); gtk_builder_set_translation_domain (gui, GETTEXT_PACKAGE); error = NULL; gtk_builder_add_from_file (gui, BUILDERDIR "/panel-properties-dialog.ui", &error); if (error) { char *secondary; secondary = g_strdup_printf (_("Unable to load file '%s': %s."), BUILDERDIR"/panel-properties-dialog.ui", error->message); panel_error_dialog (GTK_WINDOW (toplevel), gtk_window_get_screen (GTK_WINDOW (toplevel)), "cannot_display_properties_dialog", TRUE, _("Could not display properties dialog"), secondary); g_free (secondary); g_error_free (error); g_object_unref (gui); return; } dialog = panel_properties_dialog_new (toplevel, gui); g_object_unref (gui); }
void panel_properties_dialog_present (PanelToplevel *toplevel) { PanelPropertiesDialog *dialog; GladeXML *gui; if (!panel_properties_dialog_quark) panel_properties_dialog_quark = g_quark_from_static_string ("panel-properties-dialog"); dialog = g_object_get_qdata (G_OBJECT (toplevel), panel_properties_dialog_quark); if (dialog) { 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; } gui = glade_xml_new (GLADEDIR "/panel-properties-dialog.glade", "panel_properties_dialog", NULL); if (gui == NULL) { char *secondary; secondary = g_strdup_printf (_("Unable to load file '%s'."), GLADEDIR"/panel-properties-dialog.glade"); panel_error_dialog (GTK_WINDOW (toplevel), gtk_window_get_screen (GTK_WINDOW (toplevel)), "cannot_display_properties_dialog", TRUE, _("Could not display properties dialog"), secondary); g_free (secondary); return; } dialog = panel_properties_dialog_new (toplevel, gui); g_object_unref (gui); }