[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [gnunet-gtk] branch master updated: replace gtk_menu_popup
From: |
gnunet |
Subject: |
[GNUnet-SVN] [gnunet-gtk] branch master updated: replace gtk_menu_popup by non-deprecated versions |
Date: |
Wed, 08 Mar 2017 17:13:22 +0100 |
This is an automated email from the git hooks/post-receive script.
grothoff pushed a commit to branch master
in repository gnunet-gtk.
The following commit(s) were added to refs/heads/master by this push:
new 827c2128 replace gtk_menu_popup by non-deprecated versions
827c2128 is described below
commit 827c2128a33fc28c5f291b709eae515eae3f20c0
Author: Christian Grothoff <address@hidden>
AuthorDate: Wed Mar 8 17:15:00 2017 +0100
replace gtk_menu_popup by non-deprecated versions
---
src/fs/gnunet-fs-gtk_event-handler.c | 102 ++++++++++++---------
...net-fs-gtk_main-window-meta-data-context-menu.c | 60 ++++++------
src/identity/gnunet-identity-gtk.c | 5 +-
src/namestore/gnunet-namestore-gtk.c | 54 +++++++----
4 files changed, 125 insertions(+), 96 deletions(-)
diff --git a/src/fs/gnunet-fs-gtk_event-handler.c
b/src/fs/gnunet-fs-gtk_event-handler.c
index 8660ba90..5015e6ca 100644
--- a/src/fs/gnunet-fs-gtk_event-handler.c
+++ b/src/fs/gnunet-fs-gtk_event-handler.c
@@ -1301,18 +1301,14 @@ populate_popup_with_uri_items (void *cls,
*
* @param tm tree model underlying the tree view where the event happened
* @param tab tab where the event happened, NULL for download tab
- * @param init_button which button triggered the popup, or 0 for none
- * @param event_time at what time was the popup triggered
* @param iter location in the tree model selected at the time
- * @return FALSE if no menu could be popped up,
- * TRUE if there is now a pop-up menu
+ * @return NULL if no menu could be created,
+ * otherwise the a pop-up menu
*/
-static gboolean
-search_list_popup (GtkTreeModel *tm,
- struct SearchTab *tab,
- gint init_button,
- guint32 event_time,
- GtkTreeIter *iter)
+static GtkMenu *
+search_list_get_popup (GtkTreeModel *tm,
+ struct SearchTab *tab,
+ GtkTreeIter *iter)
{
GtkMenu *menu;
GtkWidget *child;
@@ -1333,7 +1329,7 @@ search_list_popup (GtkTreeModel *tm,
if (NULL == sr)
{
GNUNET_break (0);
- return FALSE;
+ return NULL;
}
if (NULL != sr->meta)
is_directory = GNUNET_FS_meta_data_test_for_directory (sr->meta);
@@ -1420,8 +1416,7 @@ search_list_popup (GtkTreeModel *tm,
}
g_signal_connect (menu, "selection-done",
G_CALLBACK (search_list_popup_selection_done), spc);
- gtk_menu_popup (menu, NULL, NULL, NULL, NULL, init_button, event_time);
- return TRUE;
+ return menu;
}
@@ -1442,11 +1437,20 @@ GNUNET_FS_GTK_search_treeview_popup_menu (GtkWidget
*widget,
GtkTreeSelection *sel;
GtkTreeIter iter;
GtkTreeModel *tm;
+ GtkMenu *menu;
sel = gtk_tree_view_get_selection (tv);
if (! gtk_tree_selection_get_selected (sel, &tm, &iter))
return FALSE; /* nothing selected */
- return search_list_popup (tm, tab, 0, gtk_get_current_event_time (), &iter);
+ menu = search_list_get_popup (tm, tab, &iter);
+ if (NULL == menu)
+ return FALSE;
+ gtk_menu_popup_at_widget (menu,
+ widget,
+ GDK_GRAVITY_CENTER,
+ GDK_GRAVITY_CENTER,
+ NULL);
+ return TRUE;
}
@@ -1471,6 +1475,7 @@ GNUNET_FS_GTK_search_treeview_button_press_event
(GtkWidget * widget,
GtkTreeModel *tm;
GtkTreePath *path;
GtkTreeIter iter;
+ GtkMenu *menu;
if ( (GDK_BUTTON_PRESS != event->type) ||
(3 != event_button->button) )
@@ -1483,10 +1488,13 @@ GNUNET_FS_GTK_search_treeview_button_press_event
(GtkWidget * widget,
if (! gtk_tree_model_get_iter (tm, &iter, path))
return FALSE; /* not sure how we got a path but no iter... */
gtk_tree_path_free (path);
- search_list_popup (tm, tab,
- event_button->button,
- event_button->time,
- &iter);
+ menu = search_list_get_popup (tm,
+ tab,
+ &iter);
+ if (NULL == menu)
+ return FALSE;
+ gtk_menu_popup_at_pointer (menu,
+ event);
return FALSE;
}
@@ -1511,6 +1519,7 @@ GNUNET_GTK_download_frame_button_press_event_cb
(GtkWidget * widget,
GtkTreeModel *tm;
GtkTreePath *path;
GtkTreeIter iter;
+ GtkMenu *menu;
if ( (GDK_BUTTON_PRESS != event->type) ||
(3 != event_button->button) )
@@ -1523,10 +1532,13 @@ GNUNET_GTK_download_frame_button_press_event_cb
(GtkWidget * widget,
if (! gtk_tree_model_get_iter (tm, &iter, path))
return FALSE; /* not sure how we got a path but no iter... */
gtk_tree_path_free (path);
- search_list_popup (tm, NULL,
- event_button->button,
- event_button->time,
- &iter);
+ menu = search_list_get_popup (tm,
+ NULL,
+ &iter);
+ if (NULL == menu)
+ return FALSE;
+ gtk_menu_popup_at_pointer (menu,
+ event);
return FALSE;
}
@@ -3722,23 +3734,19 @@ copy_publish_uri_to_clipboard_ctx_menu (GtkMenuItem
*item, gpointer user_data)
/**
* Context menu was requested for a publish result list.
- * Compute which menu items are applicable and display
+ * Compute which menu items are applicable and generate
* an appropriate menu.
*
* @param tm tree model underlying the tree view where the event happened
* @param tab tab where the event happened
- * @param init_button number of the button that triggered the popup
- * @param event_time GTK time when the event was generated
* @param iter selected element in @a tm for the popup
- * @return FALSE if no menu could be popped up,
- * TRUE if there is now a pop-up menu
+ * @return NULL if no menu could be created,
+ * otherwise the pop-up menu
*/
-static gboolean
-publish_list_popup (GtkTreeModel *tm,
- struct PublishTab *tab,
- gint init_button,
- guint32 event_time,
- GtkTreeIter *iter)
+static GtkMenu *
+publish_list_get_popup (GtkTreeModel *tm,
+ struct PublishTab *tab,
+ GtkTreeIter *iter)
{
GtkMenu *menu;
GtkWidget *child;
@@ -3754,7 +3762,7 @@ publish_list_popup (GtkTreeModel *tm,
(GNUNET_NO == pe->is_top) ) )
{
/* no actions available, refuse to pop up */
- return FALSE;
+ return NULL;
}
ppc = GNUNET_new (struct PublishListPopupContext);
@@ -3787,8 +3795,7 @@ publish_list_popup (GtkTreeModel *tm,
}
g_signal_connect (menu, "selection-done",
G_CALLBACK (publish_list_popup_selection_done), ppc);
- gtk_menu_popup (menu, NULL, NULL, NULL, NULL, init_button, event_time);
- return TRUE;
+ return menu;
}
@@ -3809,11 +3816,20 @@ GNUNET_FS_GTK_publish_treeview_popup_menu (GtkWidget
*widget,
GtkTreeSelection *sel;
GtkTreeIter iter;
GtkTreeModel *tm;
+ GtkMenu *menu;
sel = gtk_tree_view_get_selection (tv);
if (! gtk_tree_selection_get_selected (sel, &tm, &iter))
return FALSE; /* nothing selected */
- return publish_list_popup (tm, tab, 0, gtk_get_current_event_time (), &iter);
+ menu = publish_list_get_popup (tm, tab, &iter);
+ if (NULL == menu)
+ return FALSE;
+ gtk_menu_popup_at_widget (menu,
+ widget,
+ GDK_GRAVITY_CENTER,
+ GDK_GRAVITY_CENTER,
+ NULL);
+ return TRUE;
}
@@ -3838,6 +3854,7 @@ GNUNET_FS_GTK_publish_treeview_button_press_event
(GtkWidget * widget,
GtkTreeModel *tm;
GtkTreePath *path;
GtkTreeIter iter;
+ GtkMenu *menu;
if ( (GDK_BUTTON_PRESS != event->type) ||
(3 != event_button->button) )
@@ -3850,10 +3867,13 @@ GNUNET_FS_GTK_publish_treeview_button_press_event
(GtkWidget * widget,
if (! gtk_tree_model_get_iter (tm, &iter, path))
return FALSE; /* not sure how we got a path but no iter... */
gtk_tree_path_free (path);
- publish_list_popup (tm, tab,
- event_button->button,
- event_button->time,
- &iter);
+ menu = publish_list_get_popup (tm,
+ tab,
+ &iter);
+ if (NULL == menu)
+ return FALSE;
+ gtk_menu_popup_at_pointer (menu,
+ event);
return FALSE; /* propagate further, to focus on the item (for example) */
}
diff --git a/src/fs/gnunet-fs-gtk_main-window-meta-data-context-menu.c
b/src/fs/gnunet-fs-gtk_main-window-meta-data-context-menu.c
index fb794700..88a72335 100644
--- a/src/fs/gnunet-fs-gtk_main-window-meta-data-context-menu.c
+++ b/src/fs/gnunet-fs-gtk_main-window-meta-data-context-menu.c
@@ -127,27 +127,6 @@ GNUNET_GTK_FS_metadata_copy_selection_activated
(GtkMenuItem * menuitem,
/**
- * Got asked to pop up the context menu in the metadata treeview in
- * the main window. Do it.
- *
- * @param button which button caused the event (0 for none)
- * @param event_time time of the event (current time or 'event->time')
- * @param user_data the context of the main window
- */
-static void
-do_metadata_popup_menu (int button,
- int event_time,
- gpointer user_data)
-{
- GtkMenu *menu;
- struct GNUNET_GTK_MainWindowContext *main_ctx = user_data;
-
- menu = GTK_MENU (gtk_builder_get_object (main_ctx->builder,
"metadata_popup_menu"));
- gtk_menu_popup (menu, NULL, NULL, NULL, main_ctx, button, event_time);
-}
-
-
-/**
* Got a button press event on the metadata treeview in the main window.
* If it was a right click, pop up the context menu.
*
@@ -156,19 +135,24 @@ do_metadata_popup_menu (int button,
* @param user_data the gtk builder of the main window
*/
gboolean
-GNUNET_GTK_main_window_metadata_treeview_button_press_event_cb (GtkWidget *
- widget,
- GdkEventButton
*
- event,
- gpointer
- user_data)
+GNUNET_GTK_main_window_metadata_treeview_button_press_event_cb (GtkWidget *
widget,
+ GdkEvent *
event,
+ gpointer
user_data)
{
+ struct GNUNET_GTK_MainWindowContext *main_ctx = user_data;
+ GdkEventButton *event_button = (GdkEventButton *) event;
+ GtkMenu *menu;
+
/* Ignore double-clicks and triple-clicks */
- if ( (event->button != 3) || (event->type != GDK_BUTTON_PRESS) )
+ if ( (event_button->button != 3) ||
+ (event_button->type != GDK_BUTTON_PRESS) )
+ return FALSE;
+ menu = GTK_MENU (gtk_builder_get_object (main_ctx->builder,
+ "metadata_popup_menu"));
+ if (NULL == menu)
return FALSE;
- do_metadata_popup_menu (event->button,
- event->time,
- user_data);
+ gtk_menu_popup_at_pointer (menu,
+ event);
return FALSE;
}
@@ -185,9 +169,17 @@ gboolean
GNUNET_GTK_main_window_metadata_treeview_popup_menu_cb (GtkWidget * widget,
gpointer user_data)
{
- do_metadata_popup_menu (0 /* no button */,
- gtk_get_current_event_time (),
- user_data);
+ struct GNUNET_GTK_MainWindowContext *main_ctx = user_data;
+ GtkMenu *menu;
+
+ menu = GTK_MENU (gtk_builder_get_object (main_ctx->builder,
"metadata_popup_menu"));
+ if (NULL == menu)
+ return FALSE;
+ gtk_menu_popup_at_widget (menu,
+ widget,
+ GDK_GRAVITY_CENTER,
+ GDK_GRAVITY_CENTER,
+ NULL);
return TRUE;
}
diff --git a/src/identity/gnunet-identity-gtk.c
b/src/identity/gnunet-identity-gtk.c
index 2daf2e0a..11800fce 100644
--- a/src/identity/gnunet-identity-gtk.c
+++ b/src/identity/gnunet-identity-gtk.c
@@ -253,9 +253,8 @@ GNUNET_GTK_identity_treeview_button_press_event_cb
(GtkWidget *widget,
gtk_menu_shell_append (GTK_MENU_SHELL (menu), child);
g_signal_connect (menu, "selection-done",
G_CALLBACK (advertise_popup_selection_done), apc);
- gtk_menu_popup (menu, NULL, NULL, NULL, NULL,
- event_button->button,
- event_button->time);
+ gtk_menu_popup_at_pointer (menu,
+ event);
return FALSE;
}
diff --git a/src/namestore/gnunet-namestore-gtk.c
b/src/namestore/gnunet-namestore-gtk.c
index 60ab84d5..0cec62b4 100644
--- a/src/namestore/gnunet-namestore-gtk.c
+++ b/src/namestore/gnunet-namestore-gtk.c
@@ -1914,9 +1914,9 @@ gnunet_namestore_gtk_name_cellrenderertext_edited_cb
(GtkCellRendererText *rende
* Create a context (popup) menu for the zone iteration treeview
* (if applicable).
*
- * @return TRUE if a menu was activated
+ * @return NULL if no menu could be created
*/
-static gboolean
+static GtkMenu *
create_popup_menu ()
{
GtkTreeIter it;
@@ -1931,7 +1931,7 @@ create_popup_menu ()
{
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"No row selected\n");
- return FALSE;
+ return NULL;
}
gtk_tree_model_get (tm, &it,
GNS_TREESTORE_COL_NAME_IS_VISIBLE, &name_vis,
@@ -1940,12 +1940,11 @@ create_popup_menu ()
{
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Selected row is not a record row\n");
- return FALSE;
+ return NULL;
}
popup = GTK_MENU (get_object ("gnunet_namestore_gtk_edit_popup_menu"));
gtk_widget_show_all (GTK_WIDGET (popup));
- gtk_menu_popup (popup, NULL, NULL, NULL, NULL, 0, 0);
- return TRUE;
+ return popup;
}
@@ -1961,9 +1960,19 @@ create_popup_menu ()
*/
gboolean
gnunet_namestore_gtk_treeview_popup_menu_cb (GtkWidget *widget,
- gpointer user_data)
+ gpointer user_data)
{
- return create_popup_menu ();
+ GtkMenu *menu;
+
+ menu = create_popup_menu ();
+ if (NULL == menu)
+ return FALSE;
+ gtk_menu_popup_at_widget (menu,
+ widget,
+ GDK_GRAVITY_CENTER,
+ GDK_GRAVITY_CENTER,
+ NULL);
+ return TRUE;
}
@@ -1978,16 +1987,24 @@ gnunet_namestore_gtk_treeview_popup_menu_cb (GtkWidget
*widget,
*/
gboolean
gnunet_namestore_gtk_treeview_button_press_event_cb (GtkWidget *widget,
- GdkEventButton *event,
- gpointer user_data)
+ GdkEvent *event,
+ gpointer user_data)
{
+ GdkEventButton *event_button = (GdkEventButton *) event;
+ GtkMenu *menu;
+
/* Check for right click*/
if (NULL == widget)
return FALSE;
- if ( (GDK_BUTTON_PRESS == event->type) &&
- (3 == event->button) )
- return create_popup_menu ();
- return FALSE;
+ if ( (GDK_BUTTON_PRESS != event_button->type) ||
+ (3 != event_button->button) )
+ return FALSE;
+ menu = create_popup_menu ();
+ if (NULL == menu)
+ return FALSE;
+ gtk_menu_popup_at_pointer (menu,
+ event);
+ return TRUE;
}
@@ -2002,9 +2019,10 @@ gnunet_namestore_gtk_treeview_button_press_event_cb
(GtkWidget *widget,
*/
gboolean
gnunet_namestore_gtk_treeview_key_press_event_cb (GtkWidget *widget,
- GdkEventKey *event,
+ GdkEvent *event,
gpointer user_data)
{
+ GdkEventKey *event_key = (GdkEventKey *) event;
GtkTreeIter iter;
GtkTreeSelection *sel;
int not_dummy;
@@ -2015,10 +2033,10 @@ gnunet_namestore_gtk_treeview_key_press_event_cb
(GtkWidget *widget,
struct OperationContext *oc;
/* Check for delete key */
- if ( (GDK_KEY_PRESS != event->type) ||
- (GDK_KEY_Delete != event->keyval) )
+ if ( (GDK_KEY_PRESS != event_key->type) ||
+ (GDK_KEY_Delete != event_key->keyval) )
return FALSE;
- sel = gtk_tree_view_get_selection(tv);
+ sel = gtk_tree_view_get_selection (tv);
if (! gtk_tree_selection_get_selected (sel, NULL, &iter))
return TRUE; /* nothing selected */
gtk_tree_model_get (tm, &iter,
--
To stop receiving notification emails like this one, please contact
address@hidden
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] [gnunet-gtk] branch master updated: replace gtk_menu_popup by non-deprecated versions,
gnunet <=