]> Pileus Git - ~andy/gtk/blobdiff - tests/testrecentchoosermenu.c
gtk: remove "gboolean homogeneous" from gtk_box_new()
[~andy/gtk] / tests / testrecentchoosermenu.c
index 765d4e5964b9a9fc321913e837e1fec4a4f15c61..3060811ade0dda88d2ab913d7c2793891bc746d1 100644 (file)
@@ -17,7 +17,7 @@
  * Boston, MA 02111-1307, USA.
  */
 
-#include <config.h>
+#include "config.h"
 #include <gtk/gtk.h>
 
 static GtkRecentManager *manager = NULL;
@@ -53,24 +53,55 @@ item_activated_cb (GtkRecentChooser *chooser,
 }
 
 static GtkWidget *
-create_recent_chooser_menu (void)
+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);
 
-  gtk_widget_show (menu);
+  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_image_menu_item_new_from_stock (GTK_STOCK_CLEAR, NULL);
+  gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
+  gtk_widget_show (menuitem);
+
+  gtk_widget_show_all (menu);
 
   return menu;
 }
@@ -93,7 +124,7 @@ create_file_menu (GtkAccelGroup *accelgroup)
   gtk_widget_show (menuitem);
 
   menuitem = gtk_menu_item_new_with_mnemonic ("_Open Recent");
-  recentmenu = create_recent_chooser_menu ();
+  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);
@@ -133,7 +164,7 @@ main (int argc, char *argv[])
   accel_group = gtk_accel_group_new ();
   gtk_window_add_accel_group (GTK_WINDOW (window), accel_group);
   
-  box = gtk_vbox_new (FALSE, 0);
+  box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
   gtk_container_add (GTK_CONTAINER (window), box);
   gtk_widget_show (box);
 
@@ -147,7 +178,7 @@ main (int argc, char *argv[])
   gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem);
   gtk_widget_show (menuitem);
 
-  menu = create_recent_chooser_menu ();
+  menu = create_recent_chooser_menu (4);
   menuitem = gtk_menu_item_new_with_mnemonic ("_Recently Used");
   gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), menu);
   gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem);
@@ -162,7 +193,7 @@ main (int argc, char *argv[])
                             G_CALLBACK (gtk_widget_destroy),
                             window);
   gtk_box_pack_end (GTK_BOX (box), button, TRUE, TRUE, 0);
-  GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
+  gtk_widget_set_can_default (button, TRUE);
   gtk_widget_grab_default (button);
   gtk_widget_show (button);