[Goodies-commits] r2682 - in xfce4-places-plugin/trunk: . panel-plugin

Diego Ongaro ongardie at xfce.org
Mon Apr 9 06:21:49 CEST 2007


Author: ongardie
Date: 2007-04-09 04:21:49 +0000 (Mon, 09 Apr 2007)
New Revision: 2682

Modified:
   xfce4-places-plugin/trunk/ChangeLog
   xfce4-places-plugin/trunk/panel-plugin/places.c
   xfce4-places-plugin/trunk/panel-plugin/places.h
Log:
2007-04-09	Diego Ongaro <ongardie at gmail.com>

* Added menu item to clear Recent Documents



Modified: xfce4-places-plugin/trunk/ChangeLog
===================================================================
--- xfce4-places-plugin/trunk/ChangeLog	2007-04-08 07:11:48 UTC (rev 2681)
+++ xfce4-places-plugin/trunk/ChangeLog	2007-04-09 04:21:49 UTC (rev 2682)
@@ -1,3 +1,7 @@
+2007-04-09	Diego Ongaro <ongardie at gmail.com>
+
+	* Added menu item to clear Recent Documents
+
 2007-04-08	Diego Ongaro <ongardie at gmail.com>
 
 	* Added Recent Documents via GtkRecentChooserMenu

Modified: xfce4-places-plugin/trunk/panel-plugin/places.c
===================================================================
--- xfce4-places-plugin/trunk/panel-plugin/places.c	2007-04-08 07:11:48 UTC (rev 2681)
+++ xfce4-places-plugin/trunk/panel-plugin/places.c	2007-04-09 04:21:49 UTC (rev 2682)
@@ -151,7 +151,7 @@
     g_assert(_pd);
     PlacesData *pd = (PlacesData*) _pd;
     gtk_menu_shell_append(GTK_MENU_SHELL(pd->panel_menu),
-                          gtk_menu_item_new());
+                          gtk_separator_menu_item_new());
 }
 
 static void
@@ -178,6 +178,13 @@
     GtkWidget *recent_menu = gtk_recent_chooser_menu_new();
     g_signal_connect(recent_menu, "item-activated", 
                      G_CALLBACK(places_cb_recent_item_activated), pd);
+
+    gtk_menu_shell_append(GTK_MENU_SHELL(recent_menu),
+                          gtk_separator_menu_item_new());
+    GtkWidget *clear_item = gtk_image_menu_item_new_from_stock(GTK_STOCK_CLEAR, NULL);
+    gtk_menu_shell_append(GTK_MENU_SHELL(recent_menu), clear_item);
+    g_signal_connect(clear_item, "button-release-event",
+                     G_CALLBACK(places_cb_recent_clear), NULL);
     
     GtkWidget *recent_item = gtk_image_menu_item_new_with_label(_("Recent Documents"));
     gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(recent_item), 
@@ -266,6 +273,13 @@
     g_free(uri);
 }
 
+static void
+places_cb_recent_clear(GtkWidget *widget, GdkEventButton *event, gpointer nu)
+{
+    GtkRecentManager *manager = gtk_recent_manager_get_default();
+    gint removed = gtk_recent_manager_purge_items(manager, NULL);
+    DBG("Cleared %d recent items", removed);
+}
 
 static gboolean
 places_cb_size_changed(XfcePanelPlugin *plugin, int size, PlacesData *pd)

Modified: xfce4-places-plugin/trunk/panel-plugin/places.h
===================================================================
--- xfce4-places-plugin/trunk/panel-plugin/places.h	2007-04-08 07:11:48 UTC (rev 2681)
+++ xfce4-places-plugin/trunk/panel-plugin/places.h	2007-04-09 04:21:49 UTC (rev 2682)
@@ -53,6 +53,7 @@
 
 // GTK Callbacks
 static void places_cb_recent_item_activated(GtkRecentChooser*, PlacesData*);
+static void places_cb_recent_clear(GtkWidget*, GdkEventButton*, gpointer nu);
 static gboolean places_cb_size_changed(XfcePanelPlugin*, int, PlacesData*);
 static void places_cb_menu_position(GtkMenu*, int*, int*, gboolean*, PlacesData*);
 static void places_cb_menu_close(GtkMenuShell*, PlacesData*);




More information about the Goodies-commits mailing list