[Goodies-commits] r2681 - in xfce4-places-plugin/trunk: . panel-plugin
Diego Ongaro
ongardie at xfce.org
Sun Apr 8 09:11:48 CEST 2007
Author: ongardie
Date: 2007-04-08 07:11:48 +0000 (Sun, 08 Apr 2007)
New Revision: 2681
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-08 Diego Ongaro <ongardie at gmail.com>
* Added Recent Documents via GtkRecentChooserMenu
Modified: xfce4-places-plugin/trunk/ChangeLog
===================================================================
--- xfce4-places-plugin/trunk/ChangeLog 2007-04-07 15:07:40 UTC (rev 2680)
+++ xfce4-places-plugin/trunk/ChangeLog 2007-04-08 07:11:48 UTC (rev 2681)
@@ -1,3 +1,7 @@
+2007-04-08 Diego Ongaro <ongardie at gmail.com>
+
+ * Added Recent Documents via GtkRecentChooserMenu
+
2007-04-07 Diego Ongaro <ongardie at gmail.com>
* Added BookmarksVisitor struct
Modified: xfce4-places-plugin/trunk/panel-plugin/places.c
===================================================================
--- xfce4-places-plugin/trunk/panel-plugin/places.c 2007-04-07 15:07:40 UTC (rev 2680)
+++ xfce4-places-plugin/trunk/panel-plugin/places.c 2007-04-08 07:11:48 UTC (rev 2681)
@@ -163,12 +163,29 @@
pd->panel_menu = gtk_menu_new();
pd->panel_menu_open = FALSE;
+ // System, Volumes, User Bookmarks
+
BookmarksVisitor *visitor = g_new0(BookmarksVisitor, 1);
visitor->pass_thru = pd;
visitor->item = places_build_menu_item;
visitor->separator = places_build_menu_separator;
places_bookmarks_visit(pd->bookmarks, visitor);
+ // Recent Documents
+
+ places_build_menu_separator(pd);
+
+ GtkWidget *recent_menu = gtk_recent_chooser_menu_new();
+ g_signal_connect(recent_menu, "item-activated",
+ G_CALLBACK(places_cb_recent_item_activated), pd);
+
+ GtkWidget *recent_item = gtk_image_menu_item_new_with_label(_("Recent Documents"));
+ gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(recent_item),
+ gtk_image_new_from_stock(GTK_STOCK_OPEN, GTK_ICON_SIZE_MENU));
+ gtk_menu_item_set_submenu(GTK_MENU_ITEM(recent_item), recent_menu);
+ gtk_menu_shell_append(GTK_MENU_SHELL(pd->panel_menu), recent_item);
+
+
gtk_widget_show_all(pd->panel_menu);
// This helps allocate resources beforehand so it'll pop up faster the first time
@@ -241,6 +258,15 @@
/********** Gtk Callbacks **********/
+static void
+places_cb_recent_item_activated(GtkRecentChooser *chooser, PlacesData *pd)
+{
+ gchar *uri = gtk_recent_chooser_get_current_uri(chooser);
+ places_load_thunar(uri);
+ g_free(uri);
+}
+
+
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-07 15:07:40 UTC (rev 2680)
+++ xfce4-places-plugin/trunk/panel-plugin/places.h 2007-04-08 07:11:48 UTC (rev 2681)
@@ -52,6 +52,7 @@
static void places_ui_redraw(PlacesData*);
// GTK Callbacks
+static void places_cb_recent_item_activated(GtkRecentChooser*, PlacesData*);
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