[Goodies-commits] r2983 - in xfce4-places-plugin/trunk: . panel-plugin
Diego Ongaro
ongardie at xfce.org
Fri Aug 10 19:19:20 CEST 2007
Author: ongardie
Date: 2007-08-10 17:19:20 +0000 (Fri, 10 Aug 2007)
New Revision: 2983
Modified:
xfce4-places-plugin/trunk/ChangeLog
xfce4-places-plugin/trunk/panel-plugin/view.c
Log:
2007-08-10 Diego Ongaro <ongardie at gmail.com>
* Clicking on Recent Changes -> Clear no longer hides the menu
Modified: xfce4-places-plugin/trunk/ChangeLog
===================================================================
--- xfce4-places-plugin/trunk/ChangeLog 2007-08-09 07:39:48 UTC (rev 2982)
+++ xfce4-places-plugin/trunk/ChangeLog 2007-08-10 17:19:20 UTC (rev 2983)
@@ -1,3 +1,7 @@
+2007-08-10 Diego Ongaro <ongardie at gmail.com>
+
+ * Clicking on Recent Changes -> Clear no longer hides the menu
+
2007-08-05 Diego Ongaro <ongardie at gmail.com>
* Improved BookmarkAction concept.
Modified: xfce4-places-plugin/trunk/panel-plugin/view.c
===================================================================
--- xfce4-places-plugin/trunk/panel-plugin/view.c 2007-08-09 07:39:48 UTC (rev 2982)
+++ xfce4-places-plugin/trunk/panel-plugin/view.c 2007-08-10 17:19:20 UTC (rev 2983)
@@ -72,7 +72,7 @@
// - Recent Documents
#if USE_RECENT_DOCUMENTS
static void places_view_cb_recent_item_open(GtkRecentChooser*, PlacesData*);
-static void places_view_cb_recent_items_clear(GtkWidget *clear_item);
+static gboolean places_view_cb_recent_items_clear(GtkWidget *clear_item);
#endif
// Model Visitor Callbacks
@@ -255,6 +255,10 @@
clear_item = gtk_menu_item_new_with_mnemonic(clear_stock_item.label);
}
gtk_menu_shell_append(GTK_MENU_SHELL(recent_menu), clear_item);
+ /* try button-release-event to catch mouse clicks and not hide the menu after */
+ g_signal_connect(clear_item, "button-release-event",
+ G_CALLBACK(places_view_cb_recent_items_clear), NULL);
+ /* use activate when button-release-event doesn't catch it (e.g., enter key pressed) */
g_signal_connect(clear_item, "activate",
G_CALLBACK(places_view_cb_recent_items_clear), NULL);
@@ -600,12 +604,13 @@
g_free(uri);
}
-static void
+static gboolean
places_view_cb_recent_items_clear(GtkWidget *clear_item)
{
GtkRecentManager *manager = gtk_recent_manager_get_default();
gint removed = gtk_recent_manager_purge_items(manager, NULL);
DBG("Cleared %d recent items", removed);
+ return TRUE;
}
#endif
More information about the Goodies-commits
mailing list