[gtk+] GtkRecentChooserMenu: Set current uri before activating an item.
- From: Juan Pablo Ugarte <jpu src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] GtkRecentChooserMenu: Set current uri before activating an item.
- Date: Mon, 28 Apr 2014 20:14:11 +0000 (UTC)
commit d1467c191de55f9a2ef047f09cb605ced1448e21
Author: Juan Pablo Ugarte <juanpablougarte gmail com>
Date: Mon Apr 28 14:46:48 2014 -0300
GtkRecentChooserMenu: Set current uri before activating an item.
When activating an item using mnemonics GtkRecentChooserMenu does not select a
item before calling the item-activated signal thus
gtk_recent_chooser_get_current_uri() always return the last selected item
instead of the activated one.
Fixes Bug 495105 "Open recent file keyboard shortcuts do not work correctly"
gtk/gtkrecentchoosermenu.c | 11 ++++++-----
1 files changed, 6 insertions(+), 5 deletions(-)
---
diff --git a/gtk/gtkrecentchoosermenu.c b/gtk/gtkrecentchoosermenu.c
index f70e795..8d77819 100644
--- a/gtk/gtkrecentchoosermenu.c
+++ b/gtk/gtkrecentchoosermenu.c
@@ -488,10 +488,11 @@ gtk_recent_chooser_menu_set_current_uri (GtkRecentChooser *chooser,
GList *children, *l;
GtkWidget *menu_item = NULL;
gboolean found = FALSE;
+ gint i = 0;
children = gtk_container_get_children (GTK_CONTAINER (menu));
- for (l = children; l != NULL; l = l->next)
+ for (l = children; l != NULL; l = l->next, i++)
{
GtkRecentInfo *info;
@@ -503,9 +504,7 @@ gtk_recent_chooser_menu_set_current_uri (GtkRecentChooser *chooser,
if (strcmp (uri, gtk_recent_info_get_uri (info)) == 0)
{
- gtk_menu_shell_activate_item (GTK_MENU_SHELL (menu),
- menu_item,
- TRUE);
+ gtk_menu_set_active (GTK_MENU (menu), i);
found = TRUE;
break;
@@ -1114,7 +1113,9 @@ item_activate_cb (GtkWidget *widget,
gpointer user_data)
{
GtkRecentChooser *chooser = GTK_RECENT_CHOOSER (user_data);
-
+ GtkRecentInfo *info = g_object_get_data (G_OBJECT (widget), "gtk-recent-info");
+
+ gtk_recent_chooser_menu_set_current_uri (chooser, gtk_recent_info_get_uri (info), NULL);
_gtk_recent_chooser_item_activated (chooser);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]