GtkWidget *menu_bar_init(GtkWindow* window, GtkWidget* vbox) { GtkWidget *menubar, *filemenu, *file, *save, *about, *close, *separator; GtkAccelGroup *group; group = gtk_accel_group_new(); menubar = gtk_menu_bar_new(); file = gtk_menu_item_new_with_label("File"); filemenu = gtk_menu_new(); gtk_menu_item_set_submenu(GTK_MENU_ITEM(file), filemenu); gtk_menu_shell_append(GTK_MENU_SHELL(menubar), file); save = gtk_image_menu_item_new_from_stock(GTK_STOCK_SAVE, group); separator = gtk_separator_menu_item_new(); about = gtk_image_menu_item_new_from_stock(GTK_STOCK_ABOUT, group); close = gtk_image_menu_item_new_from_stock(GTK_STOCK_CLOSE, group); gtk_menu_shell_append(GTK_MENU_SHELL(filemenu), save); gtk_menu_shell_append(GTK_MENU_SHELL(filemenu), separator); gtk_menu_shell_append(GTK_MENU_SHELL(filemenu), about); gtk_menu_shell_append(GTK_MENU_SHELL(filemenu), close); g_signal_connect(G_OBJECT(save), "activate", G_CALLBACK(ui_action_save_file), window); g_signal_connect(G_OBJECT(about), "activate", G_CALLBACK(ui_action_show_about_dialog), NULL); g_signal_connect_swapped(G_OBJECT(close), "activate", G_CALLBACK(ui_action_destroy), window); gtk_window_add_accel_group(window, group); gtk_box_pack_start_defaults(GTK_BOX(vbox), menubar); return menubar; }
static void hippo_status_icon_popup_menu(GtkStatusIcon *gtk_icon, guint button, guint32 activate_time) { HippoStatusIcon *icon = HIPPO_STATUS_ICON(gtk_icon); GtkWidget *menu_item; GtkWidget *label; /* We used to only show the Quit item in "leet_mode" */ GdkModifierType state; gboolean leet_mode; leet_mode = FALSE; if (gtk_get_current_event_state(&state)) { if (state & GDK_CONTROL_MASK) leet_mode = TRUE; } destroy_menu(icon); icon->popup_menu = gtk_menu_new(); menu_item = gtk_image_menu_item_new_from_stock(GTK_STOCK_HOME, NULL); label = gtk_bin_get_child(GTK_BIN(menu_item)); gtk_label_set_text(GTK_LABEL(label), _("My Mugshot home page")); g_signal_connect_swapped(menu_item, "activate", G_CALLBACK(hippo_app_show_home), hippo_get_app()); gtk_widget_show(menu_item); gtk_menu_shell_append(GTK_MENU_SHELL(icon->popup_menu), menu_item); menu_item = gtk_image_menu_item_new_from_stock(GTK_STOCK_ABOUT, NULL); g_signal_connect_swapped(menu_item, "activate", G_CALLBACK(hippo_app_show_about), hippo_get_app()); gtk_widget_show(menu_item); gtk_menu_shell_append(GTK_MENU_SHELL(icon->popup_menu), menu_item); menu_item = gtk_separator_menu_item_new(); gtk_widget_show(menu_item); gtk_menu_shell_append(GTK_MENU_SHELL(icon->popup_menu), menu_item); if (leet_mode) { menu_item = gtk_menu_item_new_with_label ("Toggle Connected"); g_signal_connect_swapped(menu_item, "activate", G_CALLBACK(on_toggle_connected_activated), NULL); gtk_widget_show(menu_item); gtk_menu_shell_append(GTK_MENU_SHELL(icon->popup_menu), menu_item); } menu_item = gtk_image_menu_item_new_from_stock (GTK_STOCK_QUIT, NULL); g_signal_connect_swapped(menu_item, "activate", G_CALLBACK(on_quit_activated), NULL); gtk_widget_show(menu_item); gtk_menu_shell_append(GTK_MENU_SHELL(icon->popup_menu), menu_item); gtk_menu_popup (GTK_MENU(icon->popup_menu), NULL, NULL, gtk_status_icon_position_menu, icon, button, activate_time); gtk_menu_shell_select_first(GTK_MENU_SHELL(icon->popup_menu), FALSE); }
static void popup_menu_cb (GtkStatusIcon *icon, guint button, guint activate_time, TrayProvider *tray) { GtkWidget *menu, *mi; menu = gtk_menu_new (); /* * Play pause. */ mi = gtk_image_menu_item_new_from_stock (tray->state == PAROLE_STATE_PLAYING ? GTK_STOCK_MEDIA_PAUSE : GTK_STOCK_MEDIA_PLAY, NULL); gtk_widget_set_sensitive (mi, TRUE); gtk_widget_show (mi); g_signal_connect_swapped (mi, "activate", G_CALLBACK (play_pause_activated_cb), tray); gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); /* * Stop */ mi = gtk_image_menu_item_new_from_stock (GTK_STOCK_MEDIA_STOP, NULL); gtk_widget_set_sensitive (mi, tray->state >= PAROLE_STATE_PAUSED); gtk_widget_show (mi); g_signal_connect_swapped (mi, "activate", G_CALLBACK (stop_activated_cb), tray); gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); /* * Open */ mi = gtk_image_menu_item_new_from_stock (GTK_STOCK_OPEN, NULL); gtk_widget_show (mi); g_signal_connect_swapped (mi, "activate", G_CALLBACK (open_activated_cb), tray); gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); /* * Separator. */ mi = gtk_separator_menu_item_new (); gtk_widget_show (mi); gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); /* * Exit */ mi = gtk_image_menu_item_new_from_stock (GTK_STOCK_QUIT, NULL); gtk_widget_set_sensitive (mi, TRUE); gtk_widget_show (mi); g_signal_connect_swapped (mi, "activate", G_CALLBACK (exit_activated_cb), tray); gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); gtk_menu_popup (GTK_MENU (menu), NULL, NULL, gtk_status_icon_position_menu, icon, button, activate_time); g_signal_connect_swapped (menu, "selection-done", G_CALLBACK (menu_selection_done_cb), tray); tray->menu = menu; }
static GtkWidget * create_file_menu (GtkAccelGroup *accelgroup) { GtkWidget *menu; GtkWidget *menuitem; GtkWidget *recentmenu; menu = gtk_menu_new (); menuitem = gtk_image_menu_item_new_from_stock (GTK_STOCK_NEW, accelgroup); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); gtk_widget_show (menuitem); menuitem = gtk_image_menu_item_new_from_stock (GTK_STOCK_OPEN, accelgroup); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); gtk_widget_show (menuitem); menuitem = gtk_menu_item_new_with_mnemonic ("_Open Recent"); recentmenu = create_recent_chooser_menu (-1); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), recentmenu); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); gtk_widget_show (menuitem); menuitem = gtk_separator_menu_item_new (); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); gtk_widget_show (menuitem); menuitem = gtk_image_menu_item_new_from_stock (GTK_STOCK_QUIT, accelgroup); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); gtk_widget_show (menuitem); gtk_widget_show (menu); return menu; }
static gboolean menu_cb (WebKitWebView *v, GtkWidget *menu, WebKitHitTestResult *hit, gboolean kb, gpointer d) { GtkWidget *mi; #if 0 if (!is_link) { /* add open item */ mi = gtk_separator_menu_item_new (); gtk_widget_show (mi); gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), mi); mi = gtk_image_menu_item_new_from_stock ("gtk-open", NULL); gtk_widget_show (mi); gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), mi); g_signal_connect (G_OBJECT (mi), "activate", G_CALLBACK (open_cb), NULL); /* add quit item */ mi = gtk_separator_menu_item_new (); gtk_widget_show (mi); gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); mi = gtk_image_menu_item_new_from_stock ("gtk-quit", NULL); gtk_widget_show (mi); gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); g_signal_connect (G_OBJECT (mi), "activate", G_CALLBACK (gtk_main_quit), NULL); } #endif return FALSE; }
static void ygtk_text_view_populate_popup (GtkTextView *view, GtkMenu *menu) { if (gtk_text_view_get_editable (view)) return; GtkTextBuffer *buffer = gtk_text_view_get_buffer (view); GList *items = gtk_container_get_children (GTK_CONTAINER (menu)), *i; for (i = items; i; i = i->next) gtk_container_remove (GTK_CONTAINER (menu), i->data); g_list_free (items); GtkWidget *item; item = gtk_image_menu_item_new_from_stock (GTK_STOCK_COPY, NULL); gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); if (gtk_text_buffer_get_has_selection (buffer)) g_signal_connect (item, "activate", G_CALLBACK (copy_activate_cb), buffer); else gtk_widget_set_sensitive (item, FALSE); item = gtk_separator_menu_item_new(); gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); item = gtk_image_menu_item_new_from_stock (GTK_STOCK_SELECT_ALL, NULL); gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); g_signal_connect (item, "activate", G_CALLBACK (select_all_activate_cb), buffer); gtk_widget_show_all (GTK_WIDGET (menu)); }
static gboolean button_press (GtkWidget *widget, GdkEventButton *button, gpointer data) { GtkWidget *menu; GtkWidget *item; if (button->button != 3) return FALSE; menu = gtk_menu_new (); item = gtk_image_menu_item_new_from_stock (GTK_STOCK_COPY, NULL); g_signal_connect (item, "activate", G_CALLBACK (copy_image), data); gtk_widget_show (item); gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); item = gtk_image_menu_item_new_from_stock (GTK_STOCK_PASTE, NULL); g_signal_connect (item, "activate", G_CALLBACK (paste_image), data); gtk_widget_show (item); gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, 3, button->time); return TRUE; }
static GtkWidget * panel_make_menu(panel *p) { GtkWidget *mi, *menu; ENTER; menu = gtk_menu_new(); /* panel's preferences */ mi = gtk_image_menu_item_new_from_stock(GTK_STOCK_PREFERENCES, NULL); gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); g_signal_connect_swapped(G_OBJECT(mi), "activate", (GCallback)configure, p->xc); gtk_widget_show (mi); /* separator */ mi = gtk_separator_menu_item_new(); gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); gtk_widget_show (mi); /* about */ mi = gtk_image_menu_item_new_from_stock(GTK_STOCK_ABOUT, NULL); gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); g_signal_connect(G_OBJECT(mi), "activate", (GCallback)about, p); gtk_widget_show (mi); RET(menu); }
static void xmr_indicator_plugin_init(XmrIndicatorPlugin *plugin) { GtkWidget *item; plugin->settings = g_settings_new("com.timxx.xmradio.plugins.indicator"); plugin->hide_on_exit = g_settings_get_boolean(plugin->settings, "hide-on-exit"); plugin->indicator = NULL; plugin->popup_menu = gtk_menu_new(); item = gtk_image_menu_item_new_with_label(_("Show")); gtk_menu_shell_append(GTK_MENU_SHELL(plugin->popup_menu), item); g_signal_connect(item, "activate", G_CALLBACK(on_menu_item_activate), plugin); item = gtk_separator_menu_item_new(); gtk_menu_shell_append(GTK_MENU_SHELL(plugin->popup_menu), item); item = gtk_image_menu_item_new_from_stock(GTK_STOCK_MEDIA_PLAY, NULL); gtk_menu_shell_append(GTK_MENU_SHELL(plugin->popup_menu), item); g_signal_connect(item, "activate", G_CALLBACK(on_menu_item_activate), plugin); gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM(item), TRUE); plugin->menu_item_play = item; item = gtk_image_menu_item_new_from_stock(GTK_STOCK_MEDIA_PAUSE, NULL); gtk_menu_shell_append(GTK_MENU_SHELL(plugin->popup_menu), item); g_signal_connect(item, "activate", G_CALLBACK(on_menu_item_activate), plugin); gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM(item), TRUE); plugin->menu_item_pause = item; item = gtk_image_menu_item_new_from_stock(GTK_STOCK_MEDIA_NEXT, NULL); gtk_menu_shell_append(GTK_MENU_SHELL(plugin->popup_menu), item); g_signal_connect(item, "activate", G_CALLBACK(on_menu_item_activate), plugin); gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM(item), TRUE); item = gtk_separator_menu_item_new(); gtk_menu_shell_append(GTK_MENU_SHELL(plugin->popup_menu), item); item = gtk_image_menu_item_new_with_label(_("Love")); gtk_menu_shell_append(GTK_MENU_SHELL(plugin->popup_menu), item); g_signal_connect(item, "activate", G_CALLBACK(on_menu_item_activate), plugin); item = gtk_image_menu_item_new_with_label(_("Hate")); gtk_menu_shell_append(GTK_MENU_SHELL(plugin->popup_menu), item); g_signal_connect(item, "activate", G_CALLBACK(on_menu_item_activate), plugin); item = gtk_separator_menu_item_new(); gtk_menu_shell_append(GTK_MENU_SHELL(plugin->popup_menu), item); item = gtk_image_menu_item_new_from_stock(GTK_STOCK_QUIT, NULL); gtk_menu_shell_append(GTK_MENU_SHELL(plugin->popup_menu), item); g_signal_connect(item, "activate", G_CALLBACK(on_menu_item_activate), plugin); gtk_widget_show_all(plugin->popup_menu); }
AwnApplet* awn_applet_factory_initp ( gchar* uid, gint orient, gint height ) { AwnApplet *applet = awn_applet_new( uid, orient, height ); GtkWidget *trash; GtkWidget *menu; GtkWidget *item; gnome_vfs_init (); /* trash */ trash = trash_applet_new (applet); /* menu */ menu = awn_applet_create_default_menu (applet); item = gtk_image_menu_item_new_from_stock (GTK_STOCK_ABOUT, NULL); gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); g_signal_connect (G_OBJECT (item), "activate", G_CALLBACK (show_about), trash); item = gtk_image_menu_item_new_from_stock (GTK_STOCK_HELP, NULL); gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); g_signal_connect (G_OBJECT (item), "activate", G_CALLBACK (show_help), trash); item = gtk_separator_menu_item_new (); gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); item = gtk_menu_item_new_with_mnemonic ("_Empty the Wastebasket"); gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); g_signal_connect (G_OBJECT (item), "activate", G_CALLBACK (empty_trash), trash); item = gtk_image_menu_item_new_from_stock (GTK_STOCK_OPEN, NULL); gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); g_signal_connect (G_OBJECT (item), "activate", G_CALLBACK (open_trash), trash); g_signal_connect (G_OBJECT (applet), "button-release-event", G_CALLBACK (applet_button_release), menu); gtk_widget_set_size_request (GTK_WIDGET (applet), awn_applet_get_height (applet), awn_applet_get_height (applet) * 2); gtk_container_add (GTK_CONTAINER (applet), trash); gtk_widget_show_all (GTK_WIDGET (menu)); return applet; }
void create_menu(GtkWidget *win,GtkWidget *vbox,GtkWidget *reader) { GtkWidget *bar; GtkWidget *menu; GtkWidget *item; GtkAccelGroup *accel_group; accel_group=gtk_accel_group_new(); gtk_window_add_accel_group(GTK_WINDOW(win),accel_group); bar=gtk_menu_bar_new(); gtk_box_pack_start(GTK_BOX(vbox),bar,FALSE,FALSE,0); menu=gtk_menu_new(); /*创建文件菜单*/ item=gtk_menu_item_new_with_mnemonic("文件(_F)"); gtk_menu_shell_append(GTK_MENU_SHELL(bar),item); gtk_menu_item_set_submenu(GTK_MENU_ITEM(item),menu); /*从文件中加载内容*/ item=gtk_image_menu_item_new_from_stock(GTK_STOCK_OPEN,accel_group); gtk_menu_shell_append(GTK_MENU_SHELL(menu),item); g_signal_connect(G_OBJECT(item),"activate", G_CALLBACK(duoyi_read_from_file),reader); /*退出程序*/ item=gtk_image_menu_item_new_from_stock(GTK_STOCK_QUIT,accel_group); gtk_menu_shell_append(GTK_MENU_SHELL(menu),item); g_signal_connect(G_OBJECT(item),"activate", G_CALLBACK(duoyi_quit),NULL); /*创建编辑菜单,添加首选项*/ menu=gtk_menu_new(); item=gtk_menu_item_new_with_mnemonic("编辑(_E)"); gtk_menu_shell_append(GTK_MENU_SHELL(bar),item); gtk_menu_item_set_submenu(GTK_MENU_ITEM(item),menu); item=gtk_image_menu_item_new_from_stock(GTK_STOCK_PREFERENCES,accel_group); gtk_menu_shell_append(GTK_MENU_SHELL(menu),item); g_signal_connect(G_OBJECT(item),"activate", G_CALLBACK(duoyi_preferences),NULL); /*创建帮助菜单*/ menu=gtk_menu_new(); item=gtk_menu_item_new_with_mnemonic("帮助(_H)"); gtk_menu_shell_append(GTK_MENU_SHELL(bar),item); gtk_menu_item_set_submenu(GTK_MENU_ITEM(item),menu); item=gtk_image_menu_item_new_from_stock(GTK_STOCK_ABOUT,accel_group); gtk_menu_shell_append(GTK_MENU_SHELL(menu),item); g_signal_connect(G_OBJECT(item),"activate", G_CALLBACK(duoyi_about_dialog),NULL); item=gtk_image_menu_item_new_from_stock(GTK_STOCK_HELP,accel_group); gtk_menu_shell_append(GTK_MENU_SHELL(menu),item); g_signal_connect(G_OBJECT(item),"activate", G_CALLBACK(duoyi_help_dialog),NULL); }
static gboolean gmpc_meta_data_widgets_similar_songs_tree_right_menu (GmpcMetaDataWidgetsSimilarSongs* self, GtkWidget* tree, GdkEventButton* event) { gboolean result = FALSE; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (tree != NULL, FALSE); if ((*event).button == 3) { GtkMenu* _tmp0_ = NULL; GtkMenu* menu; GtkImageMenuItem* _tmp1_ = NULL; GtkImageMenuItem* item; GtkImageMenuItem* _tmp2_ = NULL; const gchar* _tmp3_ = NULL; GtkImageMenuItem* _tmp4_ = NULL; GtkImage* _tmp5_ = NULL; GtkImage* _tmp6_; GtkWidget* _tmp7_; _tmp0_ = (GtkMenu*) gtk_menu_new (); menu = g_object_ref_sink (_tmp0_); _tmp1_ = (GtkImageMenuItem*) gtk_image_menu_item_new_from_stock ("gtk-media-play", NULL); item = g_object_ref_sink (_tmp1_); g_signal_connect_object ((GtkMenuItem*) item, "activate", (GCallback) _gmpc_meta_data_widgets_similar_songs_play_clicked_gtk_menu_item_activate, self, 0); gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) ((GtkMenuItem*) item)); _tmp2_ = (GtkImageMenuItem*) gtk_image_menu_item_new_from_stock ("gtk-add", NULL); _g_object_unref0 (item); item = g_object_ref_sink (_tmp2_); g_signal_connect_object ((GtkMenuItem*) item, "activate", (GCallback) _gmpc_meta_data_widgets_similar_songs_add_clicked_gtk_menu_item_activate, self, 0); gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) ((GtkMenuItem*) item)); _tmp3_ = _ ("_Replace"); _tmp4_ = (GtkImageMenuItem*) gtk_image_menu_item_new_with_mnemonic (_tmp3_); _g_object_unref0 (item); item = g_object_ref_sink (_tmp4_); _tmp5_ = (GtkImage*) gtk_image_new_from_stock ("gtk-redo", GTK_ICON_SIZE_MENU); _tmp6_ = g_object_ref_sink (_tmp5_); gtk_image_menu_item_set_image (item, (GtkWidget*) _tmp6_); _g_object_unref0 (_tmp6_); g_signal_connect_object ((GtkMenuItem*) item, "activate", (GCallback) _gmpc_meta_data_widgets_similar_songs_replace_clicked_gtk_menu_item_activate, self, 0); gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) ((GtkMenuItem*) item)); _tmp7_ = tree; gmpc_mpddata_treeview_right_mouse_intergration (GMPC_IS_MPDDATA_TREEVIEW (_tmp7_) ? ((GmpcMpdDataTreeview*) _tmp7_) : NULL, menu); gtk_menu_popup (menu, NULL, NULL, NULL, NULL, (*event).button, (*event).time); gtk_widget_show_all ((GtkWidget*) menu); result = TRUE; _g_object_unref0 (item); _g_object_unref0 (menu); return result; } result = FALSE; return result; }
static void _context_menu_selection(GHtml * ghtml, GtkWidget * menu) { GtkWidget * menuitem; /* copy */ menuitem = gtk_image_menu_item_new_from_stock(GTK_STOCK_COPY, NULL); g_signal_connect_swapped(menuitem, "activate", G_CALLBACK(surfer_copy), ghtml->surfer); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); /* select all */ menuitem = gtk_image_menu_item_new_from_stock(GTK_STOCK_SELECT_ALL, NULL); g_signal_connect_swapped(menuitem, "activate", G_CALLBACK( surfer_select_all), ghtml->surfer); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); }
static void remmina_ftp_client_popup_menu(RemminaFTPClient *client, GdkEventButton *event) { GtkWidget *menu; GtkWidget *menuitem; GtkWidget *image; menu = gtk_menu_new(); menuitem = gtk_image_menu_item_new_with_label(_("Download")); gtk_widget_show(menuitem); image = gtk_image_new_from_icon_name("document-save", GTK_ICON_SIZE_MENU); gtk_widget_show(image); gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); g_signal_connect(G_OBJECT(menuitem), "activate", G_CALLBACK(remmina_ftp_client_action_download), client); menuitem = gtk_image_menu_item_new_with_label(_("Upload")); gtk_widget_show(menuitem); image = gtk_image_new_from_icon_name("document-send", GTK_ICON_SIZE_MENU); gtk_widget_show(image); gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); g_signal_connect(G_OBJECT(menuitem), "activate", G_CALLBACK(remmina_ftp_client_action_upload), client); menuitem = gtk_image_menu_item_new_from_stock(GTK_STOCK_DELETE, NULL); gtk_widget_show(menuitem); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); g_signal_connect(G_OBJECT(menuitem), "activate", G_CALLBACK(remmina_ftp_client_action_delete), client); gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, event->button, event->time); }
/*创建系统托盘*/ void create_tray(GtkWidget *win) { GtkStatusIcon *tray; GtkWidget *menu; GtkWidget *item; tray=gtk_status_icon_new_from_file("img/64x64/gtk_goagent.png"); gtk_status_icon_set_tooltip_text(tray,"Gtk GoAgent"); /*设置系统托盘可见*/ gtk_status_icon_set_visible(tray,TRUE); g_signal_connect(G_OBJECT(tray),"activate",G_CALLBACK(tray_on_click),win); menu=gtk_menu_new(); item=gtk_menu_item_new_with_mnemonic(_("_Show")); gtk_menu_shell_append(GTK_MENU_SHELL(menu),item); g_signal_connect(G_OBJECT(item),"activate",G_CALLBACK(tray_on_click),win); item=gtk_menu_item_new_with_mnemonic(_("H_ide")); gtk_menu_shell_append(GTK_MENU_SHELL(menu),item); g_signal_connect(G_OBJECT(item),"activate",G_CALLBACK(hide_win),win); item=gtk_image_menu_item_new_from_stock(GTK_STOCK_QUIT,NULL); gtk_menu_shell_append(GTK_MENU_SHELL(menu),item); g_signal_connect(G_OBJECT(item),"activate",G_CALLBACK(really_quit),NULL); gtk_widget_show_all(menu); g_signal_connect(G_OBJECT(tray),"popup_menu",G_CALLBACK(tray_on_menu),menu); g_signal_connect(G_OBJECT(win),"window_state_event",G_CALLBACK(hide_window),tray); }
static gboolean debug_dialog_show_menu (gpointer user_data) { MenuPopupData *data = (MenuPopupData *) user_data; GtkWidget *menu, *item; GtkMenuShell *shell; menu = gtk_menu_new (); shell = GTK_MENU_SHELL (menu); item = gtk_image_menu_item_new_from_stock (GTK_STOCK_COPY, NULL); g_signal_connect (item, "activate", G_CALLBACK (debug_dialog_menu_copy_activate_cb), data->debug_dialog); gtk_menu_shell_append (shell, item); gtk_widget_show (item); gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, data->button, data->time); g_slice_free (MenuPopupData, user_data); return FALSE; }
static void create_menubar() { browser->menubar = gtk_menu_bar_new(); browser->bookmark_menu_item = gtk_image_menu_item_new_from_stock(GTK_STOCK_CDROM, NULL); gtk_menu_item_set_label(GTK_MENU_ITEM(browser->bookmark_menu_item), _("Bookmarks")); update_bookmark_menu(); gtk_menu_shell_append(GTK_MENU_SHELL(browser->menubar), browser->bookmark_menu_item); }
void MainWindow::createSystemTray() { #ifdef UBUNTU_UNITY AppIndicator *indicator = app_indicator_new("Shadowsocks-Qt5", "shadowsocks-qt5", APP_INDICATOR_CATEGORY_OTHER); GtkWidget *menu = gtk_menu_new(); showItem = gtk_check_menu_item_new_with_label(tr("Show").toLocal8Bit().constData()); gtk_check_menu_item_set_active((GtkCheckMenuItem*)showItem, true); gtk_menu_shell_append(GTK_MENU_SHELL(menu), showItem); g_signal_connect(showItem, "toggled", G_CALLBACK(onShow), qApp); gtk_widget_show(showItem); GtkWidget *exitItem = gtk_image_menu_item_new_from_stock(GTK_STOCK_QUIT, NULL); gtk_menu_shell_append(GTK_MENU_SHELL(menu), exitItem); g_signal_connect(exitItem, "activate", G_CALLBACK(onQuit), qApp); gtk_widget_show(exitItem); app_indicator_set_status(indicator, APP_INDICATOR_STATUS_ACTIVE); app_indicator_set_menu(indicator, GTK_MENU(menu)); #else //desktop systray systrayMenu = new QMenu(this); systrayMenu->addAction(tr("Show"), this, SLOT(showWindow())); systrayMenu->addAction(QIcon::fromTheme("application-exit", QIcon::fromTheme("exit")), tr("Quit"), qApp, SLOT(exit())); systray->setIcon(QIcon(":/icons/icons/shadowsocks-qt5.png")); systray->setToolTip(QString("Shadowsocks-Qt5")); systray->setContextMenu(systrayMenu); connect(systray, &QSystemTrayIcon::activated, this, &MainWindow::onSystrayActivated); systray->show(); #endif }
int clip_GTK_IMAGEMENUITEMNEWFROMSTOCK(ClipMachine * cm) { ClipVar *cv = _clip_spar(cm, 1); gchar *stock_id = _clip_parc(cm, 2); C_widget *accelgr = _fetch_cwidget(cm, _clip_spar(cm, 3)); C_widget *cimage ; GtkWidget *image ; CHECKOPT(1,MAP_t); CHECKARG(2, CHARACTER_t); CHECKOPT2(3, MAP_t, NUMERIC_t); CHECKCWIDOPT(accelgr, GTK_IS_ACCEL_GROUP); image = gtk_image_menu_item_new_from_stock(stock_id, (accelgr != NULL)?GTK_ACCEL_GROUP(accelgr->widget):NULL); if (image) { cimage = _list_get_cwidget(cm, image); if (!cimage) cimage = _register_widget(cm, image, cv); if (cimage) _clip_mclone(cm, RETPTR(cm), &cimage->obj); } return 0; err: return 1; }
static GtkWidget * _menubar_create_menu(DesktopMenu const * menu, gpointer data, GtkAccelGroup * accel) { GtkWidget * ret; size_t i; DesktopMenu const * p; GtkWidget * menuitem; ret = gtk_menu_new(); for(i = 0; menu[i].name != NULL; i++) { p = &menu[i]; if(p->name[0] == '\0') menuitem = gtk_separator_menu_item_new(); else if(p->stock == NULL) menuitem = gtk_menu_item_new_with_mnemonic(_(p->name)); else if(strncmp(p->stock, "gtk-", 4) == 0) menuitem = gtk_image_menu_item_new_from_stock(p->stock, NULL); else menuitem = _menubar_create_menu_from_image(p); if(p->callback != NULL) g_signal_connect_swapped(G_OBJECT(menuitem), "activate", G_CALLBACK(p->callback), data); else gtk_widget_set_sensitive(menuitem, FALSE); if(accel != NULL && p->accel != 0) gtk_widget_add_accelerator(menuitem, "activate", accel, p->accel, p->modifier, GTK_ACCEL_VISIBLE); gtk_menu_shell_append(GTK_MENU_SHELL(ret), menuitem); } return ret; }
/* Implementation of the callbacks */ static void on_core_updated (gpointer data) { AddressBookWindow *self = NULL; GtkWidget *item = NULL; MenuBuilderGtk menu_builder; self = (AddressBookWindow *) data; if (self->priv->core->populate_menu (menu_builder)) { item = gtk_separator_menu_item_new (); gtk_menu_shell_append (GTK_MENU_SHELL (menu_builder.menu), item); } item = gtk_image_menu_item_new_from_stock (GTK_STOCK_CLOSE, self->priv->accel); gtk_menu_shell_append (GTK_MENU_SHELL (menu_builder.menu), item); g_signal_connect_swapped (item, "activate", G_CALLBACK (gtk_widget_hide), (gpointer) self); gtk_menu_item_set_submenu (GTK_MENU_ITEM (self->priv->menu_item_core), menu_builder.menu); gtk_widget_show_all (menu_builder.menu); }
static GtkWidget *create_message_popup_menu(gint type) { GtkWidget *message_popup_menu, *clear, *copy, *copy_all, *image; message_popup_menu = gtk_menu_new(); clear = gtk_image_menu_item_new_from_stock(GTK_STOCK_CLEAR, NULL); gtk_widget_show(clear); gtk_container_add(GTK_CONTAINER(message_popup_menu), clear); g_signal_connect(clear, "activate", G_CALLBACK(on_message_treeview_clear_activate), GINT_TO_POINTER(type)); copy = gtk_image_menu_item_new_with_mnemonic(_("C_opy")); gtk_widget_show(copy); gtk_container_add(GTK_CONTAINER(message_popup_menu), copy); image = gtk_image_new_from_stock(GTK_STOCK_COPY, GTK_ICON_SIZE_MENU); gtk_widget_show(image); gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(copy), image); g_signal_connect(copy, "activate", G_CALLBACK(on_compiler_treeview_copy_activate), GINT_TO_POINTER(type)); copy_all = gtk_image_menu_item_new_with_mnemonic(_("Copy _All")); gtk_widget_show(copy_all); gtk_container_add(GTK_CONTAINER(message_popup_menu), copy_all); image = gtk_image_new_from_stock(GTK_STOCK_COPY, GTK_ICON_SIZE_MENU); gtk_widget_show(image); gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(copy_all), image); g_signal_connect(copy_all, "activate", G_CALLBACK(on_compiler_treeview_copy_all_activate), GINT_TO_POINTER(type)); msgwin_menu_add_common_items(GTK_MENU(message_popup_menu)); return message_popup_menu; }
static VALUE rg_initialize(int argc, VALUE *argv, VALUE self) { VALUE label, use_underline_or_accel_group; GtkWidget *widget = NULL; if (rb_scan_args(argc, argv, "02", &label, &use_underline_or_accel_group) > 0) { if (TYPE(label) == T_STRING){ if (NIL_P(use_underline_or_accel_group) || RVAL2CBOOL(use_underline_or_accel_group)){ widget = gtk_image_menu_item_new_with_mnemonic(RVAL2CSTR(label)); } else { widget = gtk_image_menu_item_new_with_label(RVAL2CSTR(label)); } } else if (TYPE(label) == T_SYMBOL){ widget = gtk_image_menu_item_new_from_stock(rb_id2name(SYM2ID(label)), NIL_P(use_underline_or_accel_group) ? NULL : GTK_ACCEL_GROUP(RVAL2GOBJ(use_underline_or_accel_group))); } else { rb_raise(rb_eArgError, "invalid argument %s (expect Symbol(Gtk::Stock constants) or String)", rb_class2name(CLASS_OF(label))); } } else { widget = gtk_image_menu_item_new(); } RBGTK_INITIALIZE(self, widget); return Qnil; }
GtkWidget* systray_menu_item_quit() { GtkWidget* item = gtk_image_menu_item_new_from_stock(GTK_STOCK_QUIT, NULL); g_signal_connect(item, "activate", G_CALLBACK(quit), NULL); gtk_widget_show(item); return item; }
GtkWidget* systray_menu_item_about() { GtkWidget* item = gtk_image_menu_item_new_from_stock(GTK_STOCK_ABOUT, NULL); g_signal_connect(item, "activate", G_CALLBACK(systray_about_dialog), NULL); gtk_widget_show(item); return item; }
int main (int argc, char **argv) { hildon_gtk_init (&argc, &argv); HildonProgram *program = hildon_program_get_instance (); GtkWidget *window = hildon_window_new (); hildon_program_add_window (program, HILDON_WINDOW (window)); GtkMenu *menu = GTK_MENU (gtk_menu_new ()); GtkAccelGroup *group = gtk_accel_group_new (); gtk_menu_set_accel_group (menu, group); GtkWidget *menu_item = gtk_image_menu_item_new_from_stock (GTK_STOCK_QUIT, gtk_menu_get_accel_group (menu)); gtk_widget_show (menu_item); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); hildon_window_set_main_menu (HILDON_WINDOW (window), menu); g_signal_connect_swapped (menu_item, "activate", G_CALLBACK (gtk_object_destroy), window); g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (gtk_main_quit), NULL); gtk_widget_show_all (GTK_WIDGET (window)); gtk_main (); return 0; }
static void create_popup_menu (CajaEmblemSidebar *emblem_sidebar) { GtkWidget *popup, *menu_item, *menu_image; popup = gtk_menu_new (); /* add the "rename" menu item */ menu_image = gtk_image_new_from_stock (GTK_STOCK_PROPERTIES, GTK_ICON_SIZE_MENU); gtk_widget_show (menu_image); menu_item = gtk_image_menu_item_new_with_label (_("Rename")); gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_item), menu_image); g_signal_connect (menu_item, "activate", G_CALLBACK (caja_emblem_sidebar_rename_cb), emblem_sidebar); gtk_widget_show (menu_item); gtk_menu_shell_append (GTK_MENU_SHELL (popup), menu_item); emblem_sidebar->details->popup_rename = menu_item; /* add "delete" menu item */ menu_item = gtk_image_menu_item_new_from_stock (GTK_STOCK_DELETE, NULL); g_signal_connect (menu_item, "activate", G_CALLBACK (caja_emblem_sidebar_delete_cb), emblem_sidebar); gtk_widget_show (menu_item); gtk_menu_shell_append (GTK_MENU_SHELL (popup), menu_item); emblem_sidebar->details->popup_remove = menu_item; emblem_sidebar->details->popup = popup; }
static GObject *constructor(GType gtype, guint n_properties, GObjectConstructParam *properties) { GObject *obj; PyraconfigWindow *window; PyraconfigWindowPrivate *priv; RoccatConfigWindow *roccat_window; PyraRMP *rmp; guint i; GtkMenuItem *menu_item; GtkWidget *profile_page; obj = G_OBJECT_CLASS(pyraconfig_window_parent_class)->constructor(gtype, n_properties, properties); window = PYRACONFIG_WINDOW(obj); priv = window->priv; roccat_window = ROCCAT_CONFIG_WINDOW(obj); priv->config = pyra_configuration_load(); for (i = 0; i < PYRA_PROFILE_NUM; ++i) { profile_page = pyraconfig_profile_page_new(); roccat_config_window_append_page(roccat_window, ROCCAT_PROFILE_PAGE(profile_page)); rmp = pyra_rmp_load_actual(i); pyraconfig_profile_page_set_rmp(PYRACONFIG_PROFILE_PAGE(profile_page), rmp); pyra_rmp_free(rmp); g_signal_connect(G_OBJECT(profile_page), "load-from-file", G_CALLBACK(load_profile_from_file_cb), window); g_signal_connect(G_OBJECT(profile_page), "save-to-file", G_CALLBACK(save_profile_to_file_cb), window); } menu_item = GTK_MENU_ITEM(gtk_image_menu_item_new_from_stock(GTK_STOCK_PREFERENCES, NULL)); g_signal_connect(G_OBJECT(menu_item), "activate", G_CALLBACK(menu_edit_preferences_cb), window); roccat_config_window_edit_menu_append(roccat_window, menu_item); menu_item = GTK_MENU_ITEM(gtk_image_menu_item_new_with_label(_("Reset"))); g_signal_connect(G_OBJECT(menu_item), "activate", G_CALLBACK(menu_device_reset_cb), window); roccat_config_window_device_menu_append(roccat_window, menu_item); menu_item = GTK_MENU_ITEM(gtk_image_menu_item_new_with_label(_("Info"))); g_signal_connect(G_OBJECT(menu_item), "activate", G_CALLBACK(menu_device_info_cb), window); roccat_config_window_device_menu_append(roccat_window, menu_item); g_signal_connect(G_OBJECT(roccat_window), "active-changed", G_CALLBACK(window_active_page_changed_cb), NULL); g_signal_connect(G_OBJECT(roccat_window), "delete-event", G_CALLBACK(delete_event_cb), NULL); g_signal_connect(G_OBJECT(roccat_window), "save-all", G_CALLBACK(save_all_cb), NULL); g_signal_connect(G_OBJECT(roccat_window), "device-added", G_CALLBACK(device_add_cb), NULL); g_signal_connect(G_OBJECT(roccat_window), "device-removed", G_CALLBACK(device_remove_cb), NULL); /* keep this order */ priv->dbus_proxy = pyra_dbus_proxy_new(); roccat_config_window_set_device_scanner(roccat_window, ROCCAT_DEVICE_SCANNER_INTERFACE(pyra_device_scanner_new())); gtk_widget_show(GTK_WIDGET(window)); /* if a device is already plugged in, add_cb has already been executed */ roccat_config_window_warn_if_no_device(roccat_window); return obj; }
int main(int argc, char *argv[]) { QwertickleGUI* gui = g_new0(QwertickleGUI, 1); gst_init(NULL, NULL); gtk_init(&argc, &argv); gui->statusicon = gtk_status_icon_new_from_file(DATADIR"/qwertickle.png"); gtk_status_icon_set_visible(gui->statusicon, TRUE); gui->mainmenu = GTK_MENU(gtk_menu_new()); gui->play = GTK_MENU_ITEM(gtk_menu_item_new()); gui->sep = GTK_SEPARATOR_MENU_ITEM(gtk_separator_menu_item_new()); gui->quit = GTK_IMAGE_MENU_ITEM(gtk_image_menu_item_new_from_stock("gtk-quit", NULL)); gui->about = GTK_IMAGE_MENU_ITEM(gtk_image_menu_item_new_from_stock("gtk-about", NULL)); gui->enable = GTK_CHECK_MENU_ITEM(gtk_check_menu_item_new_with_label("Enable")); gtk_menu_shell_append(GTK_MENU_SHELL(gui->mainmenu), GTK_WIDGET(gui->enable)); gtk_menu_shell_append(GTK_MENU_SHELL(gui->mainmenu), GTK_WIDGET(gui->about)); gtk_menu_shell_append(GTK_MENU_SHELL(gui->mainmenu), GTK_WIDGET(gui->sep)); gtk_menu_shell_append(GTK_MENU_SHELL(gui->mainmenu), GTK_WIDGET(gui->quit)); /* initialize widgets */ gtk_check_menu_item_set_active(gui->enable, TRUE); /* connect signals */ g_signal_connect(gui->statusicon, "popup-menu", G_CALLBACK(on_menu_pop), gui); g_signal_connect(gui->enable, "toggled", G_CALLBACK(on_enable_toggled), gui); g_signal_connect(gui->quit, "activate", G_CALLBACK(on_quit_activate), gui); g_signal_connect(gui->about, "activate", G_CALLBACK(on_about_activate), gui); g_signal_connect(gui->play, "activate", G_CALLBACK(on_play_activate), NULL); gtk_widget_show_all(GTK_WIDGET(gui->mainmenu)); /* Fix freezing bug? close stdout and stdin so Xorg won't have to process * the input to stdout when program exit*/ close(0); close(1); pthread_create(&thread, NULL, intercept_key_thread, gui->play); gtk_main(); return 0; }
static void remmina_icon_populate_additional_menu_item (GtkWidget *menu) { GtkWidget *menuitem; menuitem = gtk_image_menu_item_new_with_label (_("Open Main Window")); gtk_widget_show (menuitem); gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), gtk_image_new_from_icon_name ("remmina", GTK_ICON_SIZE_MENU)); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK (remmina_icon_main), NULL); menuitem = gtk_image_menu_item_new_from_stock (GTK_STOCK_PREFERENCES, NULL); gtk_widget_show (menuitem); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK (remmina_icon_preferences), NULL); menuitem = gtk_image_menu_item_new_from_stock (GTK_STOCK_ABOUT, NULL); gtk_widget_show (menuitem); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK (remmina_icon_about), NULL); menuitem = gtk_separator_menu_item_new (); gtk_widget_show (menuitem); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); #ifdef HAVE_LIBAVAHI_CLIENT menuitem = gtk_check_menu_item_new_with_label (_("Enable Service Discovery")); if (remmina_pref.applet_enable_avahi) { gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menuitem), TRUE); } gtk_widget_show (menuitem); g_signal_connect (G_OBJECT (menuitem), "toggled", G_CALLBACK (remmina_icon_enable_avahi), NULL); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); #endif menuitem = gtk_separator_menu_item_new (); gtk_widget_show (menuitem); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); menuitem = gtk_image_menu_item_new_from_stock (GTK_STOCK_QUIT, NULL); gtk_widget_show (menuitem); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK (remmina_icon_destroy), NULL); }