gnunet-svn
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]