コード例 #1
4
ファイル: menu_bar.c プロジェクト: ptigwe/imitation
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;
}
コード例 #2
0
ファイル: hippo-status-icon.c プロジェクト: nihed/magnetism
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);                    
}                             
コード例 #3
0
ファイル: tray-provider.c プロジェクト: bluesabre/Parole
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;
}
コード例 #4
0
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;
}
コード例 #5
0
ファイル: html.c プロジェクト: svn2github/yad-dialog
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;
}
コード例 #6
0
ファイル: ygtktextview.c プロジェクト: dmacvicar/libyui-gtk
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));
}
コード例 #7
0
ファイル: clipboard.c プロジェクト: Aridna/gtk2
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;
}
コード例 #8
0
ファイル: panel.c プロジェクト: bbidulock/fbpanel
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);
}
コード例 #9
0
ファイル: xmr-indicator-plugin.c プロジェクト: Juson/xmradio
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);
}
コード例 #10
0
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;
}
コード例 #11
0
ファイル: main.c プロジェクト: briskgreen/duoyi
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);
}
コード例 #12
0
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;
}
コード例 #13
0
ファイル: ghtml-webkit.c プロジェクト: galexcode/Surfer
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);
}
コード例 #14
0
ファイル: remmina_ftp_client.c プロジェクト: absmall/Remmina
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);
}
コード例 #15
0
ファイル: gtk_goagent.c プロジェクト: briskgreen/gtk_goagent
/*创建系统托盘*/
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);
}
コード例 #16
0
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;
}
コード例 #17
0
ファイル: coverweb.c プロジェクト: zeejuncode/gtkpod
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);
}
コード例 #18
0
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
}
コード例 #19
0
ファイル: imagemenuitem.c プロジェクト: amery/clip-itk
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;
}
コード例 #20
0
ファイル: menubar.c プロジェクト: khorben/DeforaOS
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;
}
コード例 #21
0
ファイル: addressbook-window.cpp プロジェクト: Klom/ekiga
/* 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);
}
コード例 #22
0
ファイル: msgwindow.c プロジェクト: 15ramky/geany
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;
}
コード例 #23
0
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;
}
コード例 #24
0
ファイル: systray.c プロジェクト: lschneiderbauer/pasystray
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;
}
コード例 #25
0
ファイル: systray.c プロジェクト: lschneiderbauer/pasystray
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;
}
コード例 #26
0
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;
}
コード例 #27
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;
}
コード例 #28
0
ファイル: pyraconfig_window.c プロジェクト: ngg/roccat-tools
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;
}
コード例 #29
0
ファイル: qwertickle.c プロジェクト: aitjcize/Qwertickle
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;
}
コード例 #30
0
ファイル: remminaicon.c プロジェクト: 4myPAL/Remmina
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);
}