summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAntónio Fernandes <antoniof@gnome.org>2018-01-16 17:14:22 +0000
committerAntónio Fernandes <antoniof@gnome.org>2018-01-29 22:28:28 +0000
commit44e005079b0ea57e9f2737b325bf902d2bbfa76f (patch)
tree8134a87fd6480a3fe7275774601b01f7cf33c908 /src
parent53f552e3d5ab2540769b9d1fa3ab4a95662809bc (diff)
downloadnautilus-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.c8
-rw-r--r--src/nautilus-pathbar.c6
-rw-r--r--src/nautilus-ui-utilities.c19
-rw-r--r--src/nautilus-ui-utilities.h6
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);