[Goodies-commits] r4522 - in xfce4-places-plugin/trunk: . panel-plugin
Diego Ongaro
ongardie at xfce.org
Sun Apr 6 23:38:56 CEST 2008
Author: ongardie
Date: 2008-04-06 21:38:56 +0000 (Sun, 06 Apr 2008)
New Revision: 4522
Modified:
xfce4-places-plugin/trunk/ChangeLog
xfce4-places-plugin/trunk/panel-plugin/view.c
Log:
2008-04-06 Diego Ongaro <ongardie at gmail.com>
* view.c: Reposition Recent Docs submenu after Clear (Bug 3872)
Modified: xfce4-places-plugin/trunk/ChangeLog
===================================================================
--- xfce4-places-plugin/trunk/ChangeLog 2008-04-06 20:51:41 UTC (rev 4521)
+++ xfce4-places-plugin/trunk/ChangeLog 2008-04-06 21:38:56 UTC (rev 4522)
@@ -1,3 +1,7 @@
+2008-04-06 Diego Ongaro <ongardie at gmail.com>
+
+ * view.c: Reposition Recent Docs submenu after Clear (Bug #3872)
+
2008-01-07 Diego Ongaro <ongardie at gmail.com>
* button.{c,h}: Created a button widget to modularize view code
Modified: xfce4-places-plugin/trunk/panel-plugin/view.c
===================================================================
--- xfce4-places-plugin/trunk/panel-plugin/view.c 2008-04-06 20:51:41 UTC (rev 4521)
+++ xfce4-places-plugin/trunk/panel-plugin/view.c 2008-04-06 21:38:56 UTC (rev 4522)
@@ -464,13 +464,25 @@
}
static gboolean
-pview_cb_recent_items_clear(GtkWidget *clear_item)
+pview_cb_recent_items_clear(GtkWidget *clear_item, GtkWidget *recent_menu)
{
GtkRecentManager *manager = gtk_recent_manager_get_default();
gint removed = gtk_recent_manager_purge_items(manager, NULL);
DBG("Cleared %d recent items", removed);
+
+ while(gtk_events_pending())
+ gtk_main_iteration();
+ gtk_menu_reposition(GTK_MENU(recent_menu));
+
return TRUE;
}
+
+static gboolean
+pview_cb_recent_items_clear3(GtkWidget *clear_item, GdkEventButton *event, GtkWidget *recent_menu)
+{
+ return pview_cb_recent_items_clear(clear_item, recent_menu);
+}
+
#endif
@@ -667,10 +679,10 @@
/* try button-release-event to catch mouse clicks and not hide the menu after */
g_signal_connect(clear_item, "button-release-event",
- G_CALLBACK(pview_cb_recent_items_clear), NULL);
+ G_CALLBACK(pview_cb_recent_items_clear3), recent_menu);
/* use activate when button-release-event doesn't catch it (e.g., enter key pressed) */
g_signal_connect(clear_item, "activate",
- G_CALLBACK(pview_cb_recent_items_clear), NULL);
+ G_CALLBACK(pview_cb_recent_items_clear), recent_menu);
}
More information about the Goodies-commits
mailing list