diff options
author | António Fernandes <antoniof@gnome.org> | 2018-01-16 17:14:22 +0000 |
---|---|---|
committer | António Fernandes <antoniof@gnome.org> | 2018-01-29 22:28:28 +0000 |
commit | 44e005079b0ea57e9f2737b325bf902d2bbfa76f (patch) | |
tree | 8134a87fd6480a3fe7275774601b01f7cf33c908 /src | |
parent | 53f552e3d5ab2540769b9d1fa3ab4a95662809bc (diff) | |
download | nautilus-44e005079b0ea57e9f2737b325bf902d2bbfa76f.tar.gz |
ui-utilities: Rename and simplify pop_up_context_menu()
nautilus_pop_up_context_menu() was implemented in bb884cb6 when it was
a wrapper for gtk_menu_popup(). But gtk_menu_popup() has since
deprecated, so it was ported to gtk_menu_popup_at_pointer() in 1f57c5b1.
However, _popup_at_pointer() is not enough for our context menu needs.
We will use _popup_at_rect() and _popup_at_widget in future commits.
Rename to nautilus_pop_up_context_menu_at_pointer() to reflect this
specific use. Also, simplify the code, as GtkMenu's API already
interprets event=NULL as the current event.
Diffstat (limited to 'src')
-rw-r--r-- | src/nautilus-files-view.c | 8 | ||||
-rw-r--r-- | src/nautilus-pathbar.c | 6 | ||||
-rw-r--r-- | src/nautilus-ui-utilities.c | 19 | ||||
-rw-r--r-- | src/nautilus-ui-utilities.h | 6 |
4 files changed, 23 insertions, 16 deletions
diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c index 303538871..8b1430a39 100644 --- a/src/nautilus-files-view.c +++ b/src/nautilus-files-view.c @@ -8129,7 +8129,9 @@ nautilus_files_view_pop_up_selection_context_menu (NautilusFilesView *view, */ update_context_menus_if_pending (view); - nautilus_pop_up_context_menu (GTK_WIDGET (view), priv->selection_menu, event); + nautilus_pop_up_context_menu_at_pointer (GTK_WIDGET (view), + priv->selection_menu, + event); } /** @@ -8154,7 +8156,9 @@ nautilus_files_view_pop_up_background_context_menu (NautilusFilesView *view, */ update_context_menus_if_pending (view); - nautilus_pop_up_context_menu (GTK_WIDGET (view), priv->background_menu, event); + nautilus_pop_up_context_menu_at_pointer (GTK_WIDGET (view), + priv->background_menu, + event); } static void diff --git a/src/nautilus-pathbar.c b/src/nautilus-pathbar.c index dc8ee6dbe..8466e31de 100644 --- a/src/nautilus-pathbar.c +++ b/src/nautilus-pathbar.c @@ -1626,9 +1626,9 @@ real_pop_up_pathbar_context_menu (NautilusPathBar *self) priv = nautilus_path_bar_get_instance_private (self); - nautilus_pop_up_context_menu (GTK_WIDGET (self), - priv->context_menu, - priv->context_menu_event); + nautilus_pop_up_context_menu_at_pointer (GTK_WIDGET (self), + priv->context_menu, + priv->context_menu_event); } static void diff --git a/src/nautilus-ui-utilities.c b/src/nautilus-ui-utilities.c index 58958e5e4..ad77d22ee 100644 --- a/src/nautilus-ui-utilities.c +++ b/src/nautilus-ui-utilities.c @@ -168,12 +168,18 @@ nautilus_gmenu_add_item_in_submodel (GMenu *menu, g_object_unref (submodel); } +/** + * nautilus_pop_up_context_menu_at_pointer: + * + * Pop up a context menu at the pointer's position. If @event_button is NULL, + * the current even will be assumed by gtk_menu_popup_at_pointer(). + */ void -nautilus_pop_up_context_menu (GtkWidget *parent, - GMenu *menu, - GdkEventButton *button_event) +nautilus_pop_up_context_menu_at_pointer (GtkWidget *parent, + GMenu *menu, + const GdkEventButton *button_event) { - GtkWidget *gtk_menu; + g_autoptr (GtkWidget) gtk_menu = NULL; g_return_if_fail (G_IS_MENU (menu)); g_return_if_fail (GTK_IS_WIDGET (parent)); @@ -181,12 +187,9 @@ nautilus_pop_up_context_menu (GtkWidget *parent, gtk_menu = gtk_menu_new_from_model (G_MENU_MODEL (menu)); gtk_menu_attach_to_widget (GTK_MENU (gtk_menu), parent, NULL); - gtk_menu_popup_at_pointer (GTK_MENU (gtk_menu), - button_event ? (GdkEvent *) button_event : - gtk_get_current_event ()); + gtk_menu_popup_at_pointer (GTK_MENU (gtk_menu), (GdkEvent *) button_event); g_object_ref_sink (gtk_menu); - g_object_unref (gtk_menu); } #define NAUTILUS_THUMBNAIL_FRAME_LEFT 3 diff --git a/src/nautilus-ui-utilities.h b/src/nautilus-ui-utilities.h index 0dfd31ca9..f6cac6ea8 100644 --- a/src/nautilus-ui-utilities.h +++ b/src/nautilus-ui-utilities.h @@ -34,9 +34,9 @@ void nautilus_gmenu_merge (GMenu *original, GMenu *gmenu_to_merge, const gchar *submodel_name, gboolean prepend); -void nautilus_pop_up_context_menu (GtkWidget *parent, - GMenu *menu, - GdkEventButton *button_event); +void nautilus_pop_up_context_menu_at_pointer (GtkWidget *parent, + GMenu *menu, + const GdkEventButton *button_event); void nautilus_ui_frame_image (GdkPixbuf **pixbuf); void nautilus_ui_frame_video (GdkPixbuf **pixbuf); |