static GtkWidget * create_recent_chooser_menu (gint limit) { GtkWidget *menu; GtkRecentFilter *filter; GtkWidget *menuitem; menu = gtk_recent_chooser_menu_new_for_manager (manager); if (limit > 0) gtk_recent_chooser_set_limit (GTK_RECENT_CHOOSER (menu), limit); gtk_recent_chooser_set_local_only (GTK_RECENT_CHOOSER (menu), TRUE); gtk_recent_chooser_set_show_icons (GTK_RECENT_CHOOSER (menu), TRUE); gtk_recent_chooser_set_show_tips (GTK_RECENT_CHOOSER (menu), TRUE); gtk_recent_chooser_set_sort_type (GTK_RECENT_CHOOSER (menu), GTK_RECENT_SORT_MRU); gtk_recent_chooser_menu_set_show_numbers (GTK_RECENT_CHOOSER_MENU (menu), TRUE); filter = gtk_recent_filter_new (); gtk_recent_filter_set_name (filter, "Gedit files"); gtk_recent_filter_add_application (filter, "gedit"); gtk_recent_chooser_add_filter (GTK_RECENT_CHOOSER (menu), filter); gtk_recent_chooser_set_filter (GTK_RECENT_CHOOSER (menu), filter); g_signal_connect (menu, "item-activated", G_CALLBACK (item_activated_cb), NULL); menuitem = gtk_separator_menu_item_new (); gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), menuitem); gtk_widget_show (menuitem); menuitem = gtk_menu_item_new_with_label ("Test prepend"); gtk_menu_shell_prepend (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_menu_item_new_with_label ("Test append"); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); gtk_widget_show (menuitem); menuitem = gtk_menu_item_new_with_mnemonic ("Clear"); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); gtk_widget_show (menuitem); gtk_widget_show_all (menu); return menu; }
static void glide_window_insert_recent_menu_item (GlideWindow *w) { GtkRecentFilter *filter = gtk_recent_filter_new (); GtkWidget *men = gtk_recent_chooser_menu_new_for_manager (w->priv->recent_manager); GtkMenuItem *recent_menu_item = GTK_MENU_ITEM (GLIDE_WINDOW_UI_OBJECT (w, "open-recent-menuitem")); gtk_recent_filter_add_application (filter, "Glide"); gtk_recent_chooser_set_filter (GTK_RECENT_CHOOSER (men), filter); g_signal_connect (men, "item-activated", G_CALLBACK (glide_window_recent_item_activated), w); gtk_menu_item_set_submenu (recent_menu_item, men); }
static VALUE rcm_initialize(int argc, VALUE *argv, VALUE self) { VALUE manager; GtkWidget* menu; rb_scan_args(argc, argv, "01", &manager); if (NIL_P(manager)){ menu = gtk_recent_chooser_menu_new_for_manager(GTK_RECENT_MANAGER(RVAL2GOBJ(manager))); } else { menu = gtk_recent_chooser_menu_new(); } RBGTK_INITIALIZE(self, menu); return Qnil; }
GtkWidget * __recent_create_menu (void) { GtkWidget *recent_menu; GtkRecentFilter *recent_filter; recent_menu = gtk_recent_chooser_menu_new_for_manager (recent_manager); gtk_recent_chooser_menu_set_show_numbers (GTK_RECENT_CHOOSER_MENU (recent_menu), FALSE); gtk_recent_chooser_set_show_icons (GTK_RECENT_CHOOSER (recent_menu), TRUE); gtk_recent_chooser_set_limit (GTK_RECENT_CHOOSER (recent_menu), 4); gtk_recent_chooser_set_sort_type (GTK_RECENT_CHOOSER (recent_menu), GTK_RECENT_SORT_MRU); gtk_recent_chooser_set_local_only (GTK_RECENT_CHOOSER (recent_menu), TRUE); recent_filter = gtk_recent_filter_new (); gtk_recent_filter_add_mime_type (recent_filter, GNOMINT_MIME_TYPE); gtk_recent_chooser_set_filter (GTK_RECENT_CHOOSER (recent_menu), recent_filter); return recent_menu; }
void panel_recent_append_documents_menu (GtkWidget *top_menu, GtkRecentManager *manager) { GtkWidget *recent_menu; GtkWidget *menu_item; int size; menu_item = gtk_image_menu_item_new (); setup_menu_item_with_icon (menu_item, panel_menu_icon_get_size (), PANEL_ICON_RECENT, NULL, NULL, _("Recent Documents")); recent_menu = gtk_recent_chooser_menu_new_for_manager (manager); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menu_item), recent_menu); g_signal_connect (G_OBJECT (recent_menu), "button_press_event", G_CALLBACK (menu_dummy_button_press_event), NULL); gtk_menu_shell_append (GTK_MENU_SHELL (top_menu), menu_item); gtk_widget_show_all (menu_item); gtk_recent_chooser_set_local_only (GTK_RECENT_CHOOSER (recent_menu), FALSE); gtk_recent_chooser_set_show_tips (GTK_RECENT_CHOOSER (recent_menu), TRUE); gtk_recent_chooser_set_sort_type (GTK_RECENT_CHOOSER (recent_menu), GTK_RECENT_SORT_MRU); g_signal_connect (GTK_RECENT_CHOOSER (recent_menu), "item-activated", G_CALLBACK (recent_documents_activate_cb), NULL); //FIXME this is not possible with GtkRecent...: egg_recent_view_gtk_set_icon_size (view, panel_menu_icon_get_size ()); g_signal_connect_object (manager, "changed", G_CALLBACK (panel_recent_manager_changed_cb), menu_item, 0); size = 0; g_object_get (manager, "size", &size, NULL); gtk_widget_set_sensitive (menu_item, size > 0); add_menu_separator (recent_menu); menu_item = gtk_image_menu_item_new (); setup_menu_item_with_icon (menu_item, panel_menu_icon_get_size (), NULL, GTK_STOCK_CLEAR, NULL, _("Clear Recent Documents...")); panel_util_set_tooltip_text (menu_item, _("Clear all items from the recent documents list")); gtk_menu_shell_append (GTK_MENU_SHELL (recent_menu), menu_item); g_signal_connect (menu_item, "activate", G_CALLBACK (recent_documents_clear_cb), manager); }