static void panel_addto_name_change (PanelAddtoDialog *dialog, const char *name) { char *title; char *label; label = NULL; if (!PANEL_GLIB_STR_EMPTY (name)) label = g_strdup_printf (_("Find an _item to add to \"%s\":"), name); if (panel_toplevel_get_is_attached (dialog->panel_widget->toplevel)) { title = g_strdup_printf (_("Add to Drawer")); if (label == NULL) label = g_strdup (_("Find an _item to add to the drawer:")); } else { title = g_strdup_printf (_("Add to Panel")); if (label == NULL) label = g_strdup (_("Find an _item to add to the panel:")); } gtk_window_set_title (GTK_WINDOW (dialog->addto_dialog), title); g_free (title); gtk_label_set_text_with_mnemonic (GTK_LABEL (dialog->label), label); g_free (label); }
static void panel_properties_dialog_setup_icon_chooser (PanelPropertiesDialog *dialog, GtkBuilder *gui) { char *custom_icon; dialog->icon_align = PANEL_GTK_BUILDER_GET (gui, "icon_align"); g_return_if_fail (dialog->icon_align != NULL); dialog->icon_chooser = panel_icon_chooser_new (NULL); panel_icon_chooser_set_fallback_icon_name (PANEL_ICON_CHOOSER (dialog->icon_chooser), PANEL_ICON_DRAWER); gtk_widget_show (dialog->icon_chooser); gtk_container_add (GTK_CONTAINER (dialog->icon_align), dialog->icon_chooser); dialog->icon_label = PANEL_GTK_BUILDER_GET (gui, "icon_label"); g_return_if_fail (dialog->icon_label != NULL); custom_icon = panel_profile_get_attached_custom_icon (dialog->toplevel); panel_icon_chooser_set_icon (PANEL_ICON_CHOOSER (dialog->icon_chooser), custom_icon); g_free (custom_icon); g_signal_connect (dialog->icon_chooser, "changed", G_CALLBACK (panel_properties_dialog_icon_changed), dialog); if (!panel_profile_is_writable_attached_custom_icon (dialog->toplevel)) { gtk_widget_set_sensitive (dialog->icon_chooser, FALSE); gtk_widget_set_sensitive (dialog->icon_label, FALSE); if (panel_toplevel_get_is_attached (dialog->toplevel)) gtk_widget_show (dialog->writability_warn_general); } }
GtkWidget * panel_deletion_dialog (PanelToplevel *toplevel) { GtkWidget *dialog; char *text1; char *text2; if (panel_toplevel_get_is_attached (toplevel)) { text1 = _("Delete this drawer?"); text2 = _("When a drawer is deleted, the drawer and its\n" "settings are lost."); } else { text1 = _("Delete this panel?"); text2 = _("When a panel is deleted, the panel and its\n" "settings are lost."); } dialog = gtk_message_dialog_new ( GTK_WINDOW (toplevel), GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_NONE, "%s", text1); gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), "%s", text2); gtk_dialog_add_buttons (GTK_DIALOG (dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_DELETE, GTK_RESPONSE_OK, NULL); gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK); gtk_window_set_screen (GTK_WINDOW (dialog), gtk_window_get_screen (GTK_WINDOW (toplevel))); gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER); g_signal_connect (dialog, "destroy", G_CALLBACK (panel_deletion_destroy_dialog), toplevel); g_object_set_data (G_OBJECT (toplevel), "panel-delete-dialog", dialog); panel_toplevel_push_autohide_disabler (toplevel); return dialog; }
static void panel_delete_without_query (PanelToplevel *toplevel) { PanelWidget *panel_widget; panel_widget = panel_toplevel_get_panel_widget (toplevel); if (panel_toplevel_get_is_attached (toplevel) && panel_widget->master_widget) { AppletInfo *info; info = g_object_get_data (G_OBJECT (panel_widget->master_widget), "applet_info"); panel_profile_delete_object (info); } else panel_profile_delete_toplevel (toplevel); }
static void panel_action_button_clicked (GtkButton *gtk_button) { PanelActionButton *button; g_return_if_fail (PANEL_IS_ACTION_BUTTON (gtk_button)); button = PANEL_ACTION_BUTTON (gtk_button); g_return_if_fail (button->priv->type > PANEL_ACTION_NONE); g_return_if_fail (button->priv->type < PANEL_ACTION_LAST); if (panel_global_config_get_drawer_auto_close ()) { PanelToplevel *toplevel; toplevel = PANEL_WIDGET (gtk_widget_get_parent (GTK_WIDGET (button)))->toplevel; if (panel_toplevel_get_is_attached (toplevel)) panel_toplevel_hide (toplevel, FALSE, -1); } if (actions [button->priv->type].invoke) actions [button->priv->type].invoke (GTK_WIDGET (button)); }
static void panel_properties_dialog_response (PanelPropertiesDialog *dialog, int response, GtkWidget *properties_dialog) { char *help_id; switch (response) { case GTK_RESPONSE_CLOSE: gtk_widget_destroy (properties_dialog); break; case GTK_RESPONSE_HELP: if (panel_toplevel_get_is_attached (dialog->toplevel)) { help_id = "gospanel-550"; } else { help_id = "gospanel-28"; } panel_show_help (gtk_window_get_screen (GTK_WINDOW (properties_dialog)), "user-guide.xml", help_id); break; default: break; } }
static PanelPropertiesDialog * panel_properties_dialog_new (PanelToplevel *toplevel, GladeXML *gui) { PanelPropertiesDialog *dialog; dialog = g_new0 (PanelPropertiesDialog, 1); g_object_set_qdata_full (G_OBJECT (toplevel), panel_properties_dialog_quark, dialog, (GDestroyNotify) panel_properties_dialog_free); dialog->toplevel = toplevel; dialog->properties_dialog = glade_xml_get_widget (gui, "panel_properties_dialog"); g_signal_connect_swapped (dialog->properties_dialog, "response", G_CALLBACK (panel_properties_dialog_response), dialog); g_signal_connect_swapped (dialog->properties_dialog, "destroy", G_CALLBACK (panel_properties_dialog_destroy), dialog); gtk_window_set_screen (GTK_WINDOW (dialog->properties_dialog), gtk_window_get_screen (GTK_WINDOW (toplevel))); dialog->writability_warn_general = glade_xml_get_widget (gui, "writability_warn_general"); dialog->writability_warn_background = glade_xml_get_widget (gui, "writability_warn_background"); dialog->general_vbox = glade_xml_get_widget (gui, "general_vbox"); dialog->general_table = glade_xml_get_widget (gui, "general_table"); panel_properties_dialog_setup_orientation_combo (dialog, gui); panel_properties_dialog_setup_size_spin (dialog, gui); panel_properties_dialog_setup_icon_entry (dialog, gui); panel_properties_dialog_setup_expand_toggle (dialog, gui); panel_properties_dialog_setup_autohide_toggle (dialog, gui); panel_properties_dialog_setup_hidebuttons_toggle (dialog, gui); panel_properties_dialog_setup_arrows_toggle (dialog, gui); panel_properties_update_arrows_toggle_visible ( dialog, GTK_TOGGLE_BUTTON (dialog->hidebuttons_toggle)); g_signal_connect_swapped (dialog->hidebuttons_toggle, "toggled", G_CALLBACK (panel_properties_update_arrows_toggle_visible), dialog); dialog->toplevel_notify = panel_profile_toplevel_notify_add ( dialog->toplevel, NULL, (GConfClientNotifyFunc) panel_properties_dialog_toplevel_notify, dialog); panel_properties_dialog_setup_color_button (dialog, gui); panel_properties_dialog_setup_image_chooser (dialog, gui); panel_properties_dialog_setup_opacity_scale (dialog, gui); panel_properties_dialog_setup_background_radios (dialog, gui); dialog->background_notify = panel_profile_toplevel_notify_add ( dialog->toplevel, "background", (GConfClientNotifyFunc) panel_properties_dialog_background_notify, dialog); panel_properties_dialog_update_for_attached (dialog, panel_toplevel_get_is_attached (dialog->toplevel)); panel_toplevel_push_autohide_disabler (dialog->toplevel); panel_widget_register_open_dialog (panel_toplevel_get_panel_widget (dialog->toplevel), dialog->properties_dialog); g_signal_connect (dialog->properties_dialog, "event", G_CALLBACK (config_event), glade_xml_get_widget (gui, "notebook")); gtk_widget_show (dialog->properties_dialog); return dialog; }
static PanelPropertiesDialog * panel_properties_dialog_new (PanelToplevel *toplevel, GtkBuilder *gui) { PanelPropertiesDialog *dialog; char *toplevel_settings_path; dialog = g_new0 (PanelPropertiesDialog, 1); g_object_set_qdata_full (G_OBJECT (toplevel), panel_properties_dialog_quark, dialog, (GDestroyNotify) panel_properties_dialog_free); dialog->toplevel = toplevel; 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); g_signal_connect_swapped (dialog->properties_dialog, "destroy", G_CALLBACK (panel_properties_dialog_destroy), dialog); gtk_window_set_screen (GTK_WINDOW (dialog->properties_dialog), gtk_window_get_screen (GTK_WINDOW (toplevel))); dialog->writability_warn_general = PANEL_GTK_BUILDER_GET (gui, "writability_warn_general"); dialog->writability_warn_background = PANEL_GTK_BUILDER_GET (gui, "writability_warn_background"); dialog->general_vbox = PANEL_GTK_BUILDER_GET (gui, "general_vbox"); dialog->general_table = PANEL_GTK_BUILDER_GET (gui, "general_table"); panel_properties_dialog_setup_orientation_combo (dialog, gui); panel_properties_dialog_setup_size_spin (dialog, gui); panel_properties_dialog_setup_icon_chooser (dialog, gui); panel_properties_dialog_setup_expand_toggle (dialog, gui); panel_properties_dialog_setup_autohide_toggle (dialog, gui); panel_properties_dialog_setup_hidebuttons_toggle (dialog, gui); panel_properties_dialog_setup_arrows_toggle (dialog, gui); g_signal_connect_swapped (dialog->expand_toggle, "toggled", G_CALLBACK (panel_properties_dialog_setup_orientation_combo_sensitivty), dialog); panel_properties_update_arrows_toggle_visible ( dialog, GTK_TOGGLE_BUTTON (dialog->hidebuttons_toggle)); g_signal_connect_swapped (dialog->hidebuttons_toggle, "toggled", G_CALLBACK (panel_properties_update_arrows_toggle_visible), dialog); g_object_get (toplevel, "settings-path", &toplevel_settings_path, NULL); dialog->settings = g_settings_new_with_path (PANEL_TOPLEVEL_SCHEMA, toplevel_settings_path); gchar *toplevel_background_path; toplevel_background_path = g_strdup_printf ("%sbackground/", toplevel_settings_path); dialog->background_settings = g_settings_new_with_path (PANEL_TOPLEVEL_BACKGROUND_SCHEMA, toplevel_background_path); g_free (toplevel_background_path); g_signal_connect (dialog->settings, "changed", G_CALLBACK (panel_properties_dialog_toplevel_notify), dialog); panel_properties_dialog_setup_color_button (dialog, gui); panel_properties_dialog_setup_image_chooser (dialog, gui); panel_properties_dialog_setup_opacity_scale (dialog, gui); panel_properties_dialog_setup_background_radios (dialog, gui); g_signal_connect (dialog->background_settings, "changed", G_CALLBACK (panel_properties_dialog_background_notify), dialog); panel_properties_dialog_update_for_attached (dialog, panel_toplevel_get_is_attached (dialog->toplevel)); panel_toplevel_push_autohide_disabler (dialog->toplevel); panel_widget_register_open_dialog (panel_toplevel_get_panel_widget (dialog->toplevel), dialog->properties_dialog); #if !GTK_CHECK_VERSION (3, 0, 0) /* FIXME re-add once GTK3 support is fixed */ g_signal_connect (dialog->properties_dialog, "event", G_CALLBACK (config_event), PANEL_GTK_BUILDER_GET (gui, "notebook")); #endif gtk_widget_show (dialog->properties_dialog); return dialog; }