void panel_action_button_invoke_menu (PanelActionButton *button, const char *callback_name) { g_return_if_fail (PANEL_IS_ACTION_BUTTON (button)); g_return_if_fail (callback_name != NULL); g_return_if_fail (button->priv->type > PANEL_ACTION_NONE && button->priv->type < PANEL_ACTION_LAST); if (!strcmp (callback_name, "help")) { GdkScreen *screen; if (!actions [button->priv->type].help_index) return; screen = gtk_widget_get_screen (GTK_WIDGET (button)); panel_show_help (screen, "mate-user-guide", actions [button->priv->type].help_index, NULL); return; } if (actions [button->priv->type].invoke_menu) actions [button->priv->type].invoke_menu (button, callback_name); }
void panel_menu_bar_invoke_menu(PanelMenuBar* menubar, const char* callback_name) { GdkScreen* screen; g_return_if_fail(PANEL_IS_MENU_BAR(menubar)); g_return_if_fail(callback_name != NULL); screen = gtk_widget_get_screen(GTK_WIDGET(menubar)); if (!strcmp(callback_name, "help")) { panel_show_help(screen, "user-guide", "menubar", NULL); } else if (!strcmp(callback_name, "edit")) { GError* error = NULL; panel_launch_desktop_file_with_fallback("mozo.desktop", "mozo", screen, &error); if (error) { g_error_free(error); panel_launch_desktop_file_with_fallback("matemenu-simple-editor.desktop", "matemenu-simple-editor", screen, NULL); } } }
static void panel_context_menu_show_help (GtkWidget *w, gpointer data) { panel_show_help (gtk_widget_get_screen (w), "mate-user-guide", "gospanel-1", NULL); }
void panel_menu_button_invoke_menu (PanelMenuButton *button, const char *callback_name) { GdkScreen *screen; g_return_if_fail (PANEL_IS_MENU_BUTTON (button)); g_return_if_fail (callback_name != NULL); screen = gtk_widget_get_screen (GTK_WIDGET (button)); if (!strcmp (callback_name, "help")) { panel_show_help (screen, "user-guide", "gospanel-37", NULL); } else if (!strcmp (callback_name, "edit")) { GError *error = NULL; panel_launch_desktop_file_with_fallback ("alacarte.desktop", "alacarte", screen, &error); if (error) { g_error_free (error); panel_launch_desktop_file_with_fallback ( "matemenu-simple-editor.desktop", "matemenu-simple-editor", screen, NULL); } } }
void panel_menu_button_invoke_menu (PanelMenuButton *button, const char *callback_name) { GdkScreen *screen; g_return_if_fail (PANEL_IS_MENU_BUTTON (button)); g_return_if_fail (callback_name != NULL); screen = gtk_widget_get_screen (GTK_WIDGET (button)); if (!strcmp (callback_name, "help")) { panel_show_help (screen, "mate-user-guide", "gospanel-37", NULL); } else if (!strcmp (callback_name, "edit")) { if (panel_is_program_in_path ("menulibre")) panel_launch_desktop_file_with_fallback ("menulibre.desktop", "menulibre", screen, NULL); else panel_launch_desktop_file_with_fallback ("mozo.desktop", "mozo", screen, NULL); } }
static void applet_callback_callback (GtkWidget *widget, AppletUserMenu *menu) { GdkScreen *screen; g_return_if_fail (menu->info != NULL); screen = applet_user_menu_get_screen (menu); switch (menu->info->type) { case PANEL_OBJECT_LAUNCHER: if (!strcmp (menu->name, "launch")) launcher_launch (menu->info->data, widget); else if (!strcmp (menu->name, "properties")) launcher_properties (menu->info->data); break; case PANEL_OBJECT_DRAWER: if (strcmp (menu->name, "add") == 0) { Drawer *drawer = menu->info->data; panel_addto_present (GTK_MENU_ITEM (widget), panel_toplevel_get_panel_widget (drawer->toplevel)); } else if (strcmp (menu->name, "properties") == 0) { Drawer *drawer = menu->info->data; panel_properties_dialog_present (drawer->toplevel); } else if (strcmp (menu->name, "help") == 0) { panel_show_help (screen, "user-guide", "gospanel-18", NULL); } break; case PANEL_OBJECT_MENU: panel_menu_button_invoke_menu ( PANEL_MENU_BUTTON (menu->info->widget), menu->name); break; case PANEL_OBJECT_ACTION: case PANEL_OBJECT_LOGOUT: case PANEL_OBJECT_LOCK: panel_action_button_invoke_menu ( PANEL_ACTION_BUTTON (menu->info->widget), menu->name); break; case PANEL_OBJECT_MENU_BAR: panel_menu_bar_invoke_menu ( PANEL_MENU_BAR (menu->info->widget), menu->name); break; case PANEL_OBJECT_APPLET: /* * Applet's menu's are handled differently */ break; case PANEL_OBJECT_SEPARATOR: break; default: g_assert_not_reached (); break; } }
static void panel_addto_dialog_response (GtkWidget *widget_dialog, guint response_id, PanelAddtoDialog *dialog) { GtkTreeSelection *selection; GtkTreeModel *filter_model; GtkTreeModel *child_model; GtkTreeIter iter; GtkTreeIter filter_iter; switch (response_id) { case GTK_RESPONSE_HELP: panel_show_help (gtk_window_get_screen (GTK_WINDOW (dialog->addto_dialog)), "user-guide", "gospanel-15", NULL); break; case PANEL_ADDTO_RESPONSE_ADD: selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (dialog->tree_view)); if (gtk_tree_selection_get_selected (selection, &filter_model, &filter_iter)) { PanelAddtoItemInfo *data; gtk_tree_model_filter_convert_iter_to_child_iter (GTK_TREE_MODEL_FILTER (filter_model), &iter, &filter_iter); child_model = gtk_tree_model_filter_get_model (GTK_TREE_MODEL_FILTER (filter_model)); gtk_tree_model_get (child_model, &iter, COLUMN_DATA, &data, -1); if (data != NULL) panel_addto_add_item (dialog, data); } break; case PANEL_ADDTO_RESPONSE_BACK: /* This response only happens when we're showing the * application list and the user wants to go back to the * applet list. */ panel_addto_present_applets (dialog); break; case GTK_RESPONSE_CLOSE: gtk_widget_destroy (widget_dialog); break; default: break; } }
static void panel_properties_dialog_response (PanelPropertiesDialog *dialog, int response, GtkWidget *properties_dialog) { switch (response) { case GTK_RESPONSE_CLOSE: gtk_widget_destroy (properties_dialog); break; case GTK_RESPONSE_HELP: panel_show_help (gtk_window_get_screen (GTK_WINDOW (properties_dialog)), "user-guide", "gospanel-28", NULL); break; default: break; } }
void panel_menu_button_invoke_menu (PanelMenuButton *button, const char *callback_name) { GdkScreen *screen; g_return_if_fail (PANEL_IS_MENU_BUTTON (button)); g_return_if_fail (callback_name != NULL); screen = gtk_widget_get_screen (GTK_WIDGET (button)); if (!strcmp (callback_name, "help")) { panel_show_help (screen, "user-guide.xml", "gospanel-37"); } else if (!strcmp (callback_name, "edit")) { GError *error = NULL; panel_launch_desktop_file ("alacarte.desktop", "alacarte-editor", screen, &error); if (error) { g_error_free (error); error = NULL; panel_launch_desktop_file ("gmenu-simple-editor.desktop", "gmenu-simple-editor", screen, &error); } if (error) { char *primary; primary = g_strdup_printf (_("Could not execute '%s'"), "gmenu-simple-editor"); panel_error_dialog (NULL, screen, "cannot_exec_gmenu-simple-editor", TRUE, primary, error->message); g_free (primary); g_error_free (error); } } }
static void panel_run_dialog_response (PanelRunDialog *dialog, int response, GtkWidget *run_dialog) { dialog->completion_started = FALSE; switch (response) { case GTK_RESPONSE_OK: panel_run_dialog_execute (dialog); break; case GTK_RESPONSE_CANCEL: gtk_widget_destroy (dialog->run_dialog); break; case GTK_RESPONSE_HELP: panel_show_help (gtk_window_get_screen (GTK_WINDOW (run_dialog)), "mate-user-guide", "gospanel-23", NULL); break; default: break; } }
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; } }