[glom/gtkmm4v4] Use Gtk::Menu::popup_at_pointer() instead of popup().



commit 9e85fb582c0c0545c409d13d3d0ae796660d6428
Author: Murray Cumming <murrayc murrayc com>
Date:   Wed Jun 21 15:46:21 2017 +0200

    Use Gtk::Menu::popup_at_pointer() instead of popup().
    
    gtk_menu_popup() is deprecated in gtk+ 3.22, but not in gtk+ 4,
    strangely.

 .../print_layouts/window_print_layout_edit.cc      |    4 ++--
 .../print_layouts/window_print_layout_edit.h       |    2 +-
 .../window_relationships_overview.cc               |    4 ++--
 .../window_relationships_overview.h                |    2 +-
 glom/print_layout/canvas_print_layout.cc           |    4 ++--
 glom/print_layout/canvas_print_layout.h            |    2 +-
 glom/utility_widgets/canvas/canvas_editable.h      |    2 +-
 glom/utility_widgets/canvas/canvas_item_movable.cc |    2 +-
 glom/utility_widgets/canvas/canvas_item_movable.h  |    2 +-
 .../utility_widgets/canvas/test_canvas_editable.cc |    2 +-
 glom/utility_widgets/imageglom.cc                  |    8 ++++----
 glom/utility_widgets/imageglom.h                   |    2 +-
 glom/utils_ui.cc                                   |    2 +-
 13 files changed, 19 insertions(+), 19 deletions(-)
---
diff --git a/glom/mode_design/print_layouts/window_print_layout_edit.cc 
b/glom/mode_design/print_layouts/window_print_layout_edit.cc
index 2fe8a3b..75dbafd 100644
--- a/glom/mode_design/print_layouts/window_print_layout_edit.cc
+++ b/glom/mode_design/print_layouts/window_print_layout_edit.cc
@@ -725,13 +725,13 @@ void Window_PrintLayout_Edit::on_canvas_motion_notify_event(Gdk::EventMotion& mo
   // return false;
 }
 
-void Window_PrintLayout_Edit::on_canvas_show_context_menu(guint button, guint32 activate_time)
+void Window_PrintLayout_Edit::on_canvas_show_context_menu(Gdk::EventButton& event)
 {
   //TODO: This is never called when right-clicking on the canvas.
   //std::cout << G_STRFUNC << ": debug\n";
 
   if(m_context_menu)
-    m_context_menu->popup(button, activate_time);
+    m_context_menu->popup_at_pointer(event);
 }
 
 bool Window_PrintLayout_Edit::get_is_item_at(double x, double y) const
diff --git a/glom/mode_design/print_layouts/window_print_layout_edit.h 
b/glom/mode_design/print_layouts/window_print_layout_edit.h
index 54bf288..d904963 100644
--- a/glom/mode_design/print_layouts/window_print_layout_edit.h
+++ b/glom/mode_design/print_layouts/window_print_layout_edit.h
@@ -93,7 +93,7 @@ private:
   void on_menu_align_right();
 
   void on_canvas_motion_notify_event(Gdk::EventMotion& motion_event);
-  void on_canvas_show_context_menu(guint button, guint32 activate_time);
+  void on_canvas_show_context_menu(Gdk::EventButton& event);
   void on_context_menu_insert_field();
   void on_context_menu_insert_text();
 
diff --git a/glom/mode_design/relationships_overview/window_relationships_overview.cc 
b/glom/mode_design/relationships_overview/window_relationships_overview.cc
index 91eb296..0e0c469 100644
--- a/glom/mode_design/relationships_overview/window_relationships_overview.cc
+++ b/glom/mode_design/relationships_overview/window_relationships_overview.cc
@@ -406,7 +406,7 @@ void Window_RelationshipsOverview::on_table_moved(const Glib::RefPtr<CanvasItemM
   draw_lines();
 }
 
-void Window_RelationshipsOverview::on_table_show_context(guint button, guint32 activate_time, const 
Glib::WeakRef<CanvasGroupDbTable>& table_weak)
+void Window_RelationshipsOverview::on_table_show_context(Gdk::EventButton& event, const 
Glib::WeakRef<CanvasGroupDbTable>& table_weak)
 {
   const auto table = table_weak.get();
   if (!table)
@@ -426,7 +426,7 @@ void Window_RelationshipsOverview::on_table_show_context(guint button, guint32 a
   }
 
   if(m_context_menu)
-    m_context_menu->popup(button, activate_time);
+    m_context_menu->popup_at_pointer(event);
 }
 
 void Window_RelationshipsOverview::setup_context_menu()
diff --git a/glom/mode_design/relationships_overview/window_relationships_overview.h 
b/glom/mode_design/relationships_overview/window_relationships_overview.h
index 6660798..6761e94 100644
--- a/glom/mode_design/relationships_overview/window_relationships_overview.h
+++ b/glom/mode_design/relationships_overview/window_relationships_overview.h
@@ -68,7 +68,7 @@ private:
   void on_menu_view_showgrid(const Glib::VariantBase& /* parameter */);
 
   void on_table_moved(const Glib::RefPtr<CanvasItemMovable>& item, double x_offset, double y_offset);
-  void on_table_show_context(guint button, guint32 activate_time, const Glib::WeakRef<CanvasGroupDbTable>& 
table);
+  void on_table_show_context(Gdk::EventButton& event, const Glib::WeakRef<CanvasGroupDbTable>& table);
 
   void on_context_menu_edit_fields(const Glib::VariantBase& parameter, const 
Glib::WeakRef<CanvasGroupDbTable>& table);
   void on_context_menu_edit_relationships(const Glib::VariantBase& parameter, const 
Glib::WeakRef<CanvasGroupDbTable>& table);
diff --git a/glom/print_layout/canvas_print_layout.cc b/glom/print_layout/canvas_print_layout.cc
index 065a200..d1609b3 100644
--- a/glom/print_layout/canvas_print_layout.cc
+++ b/glom/print_layout/canvas_print_layout.cc
@@ -291,7 +291,7 @@ void Canvas_PrintLayout::setup_context_menu()
 }
 
 
-void Canvas_PrintLayout::on_item_show_context_menu(guint button, guint32 activate_time, const 
Glib::WeakRef<CanvasLayoutItem>& item_weak)
+void Canvas_PrintLayout::on_item_show_context_menu(Gdk::EventButton& event, const 
Glib::WeakRef<CanvasLayoutItem>& item_weak)
 {
   const auto item = item_weak.get();
   if(!item)
@@ -312,7 +312,7 @@ void Canvas_PrintLayout::on_item_show_context_menu(guint button, guint32 activat
 
   m_action_formatting->set_enabled(enable_formatting);
 
-  m_context_menu->popup(button, activate_time);
+  m_context_menu->popup_at_pointer(event);
 }
 
 void Canvas_PrintLayout::on_background_button_press_event(const Glib::RefPtr<Goocanvas::Item>& /* target */, 
Gdk::EventButton& /* event */)
diff --git a/glom/print_layout/canvas_print_layout.h b/glom/print_layout/canvas_print_layout.h
index 853e1e4..263ab95 100644
--- a/glom/print_layout/canvas_print_layout.h
+++ b/glom/print_layout/canvas_print_layout.h
@@ -120,7 +120,7 @@ private:
   std::shared_ptr<LayoutItem_Line> offer_line(const std::shared_ptr<LayoutItem_Line>& portal, Gtk::Window* 
parent);
 
   //TODO: Make the signal send the item, so we can pass it by const reference:
-  void on_item_show_context_menu(guint button, guint32 activate_time, const Glib::WeakRef<CanvasLayoutItem>& 
item);
+  void on_item_show_context_menu(Gdk::EventButton& event, const Glib::WeakRef<CanvasLayoutItem>& item);
   void on_context_menu_edit();
   void on_context_menu_formatting();
   void on_context_menu_delete();
diff --git a/glom/utility_widgets/canvas/canvas_editable.h b/glom/utility_widgets/canvas/canvas_editable.h
index 5f934c5..4e8d0b9 100644
--- a/glom/utility_widgets/canvas/canvas_editable.h
+++ b/glom/utility_widgets/canvas/canvas_editable.h
@@ -84,7 +84,7 @@ public:
   //TODO: Actually emit this, so we actually show the context menu when clicking on blank space:
   /** void on_show_context(guint button, guint32 activate_time);
    */
-  typedef sigc::signal<void(guint, guint32)> type_signal_show_context;
+  typedef sigc::signal<void(Gdk::EventButton&)> type_signal_show_context;
   type_signal_show_context signal_show_context();
 
 
diff --git a/glom/utility_widgets/canvas/canvas_item_movable.cc 
b/glom/utility_widgets/canvas/canvas_item_movable.cc
index c692dd4..6d7aa21 100644
--- a/glom/utility_widgets/canvas/canvas_item_movable.cc
+++ b/glom/utility_widgets/canvas/canvas_item_movable.cc
@@ -111,7 +111,7 @@ void CanvasItemMovable::on_button_press_event(const Glib::RefPtr<Goocanvas::Item
     }
     case 3:
     {
-      m_signal_show_context.emit(event.get_button(), event.get_time());
+      m_signal_show_context.emit(event);
       return; // false; // Not fully Handled.
     }
     default:
diff --git a/glom/utility_widgets/canvas/canvas_item_movable.h 
b/glom/utility_widgets/canvas/canvas_item_movable.h
index 92d522b..bed050c 100644
--- a/glom/utility_widgets/canvas/canvas_item_movable.h
+++ b/glom/utility_widgets/canvas/canvas_item_movable.h
@@ -73,7 +73,7 @@ public:
 
   /** void on_show_context(guint button, guint32 activate_time);
    */
-  typedef sigc::signal<void(guint, guint32)> type_signal_show_context;
+  typedef sigc::signal<void(Gdk::EventButton&)> type_signal_show_context;
   type_signal_show_context signal_show_context();
 
   /** For instance,
diff --git a/glom/utility_widgets/canvas/test_canvas_editable.cc 
b/glom/utility_widgets/canvas/test_canvas_editable.cc
index 43ac440..a686139 100644
--- a/glom/utility_widgets/canvas/test_canvas_editable.cc
+++ b/glom/utility_widgets/canvas/test_canvas_editable.cc
@@ -153,7 +153,7 @@ private:
   void on_show_context_menu(guint button, guint32 activate_time)
   {
     if(m_context_menu)
-      m_context_menu->popup(button, activate_time);
+      m_context_menu->popup_at_pointer(event);
   }
   */
 
diff --git a/glom/utility_widgets/imageglom.cc b/glom/utility_widgets/imageglom.cc
index 644f1ce..2b84f2f 100644
--- a/glom/utility_widgets/imageglom.cc
+++ b/glom/utility_widgets/imageglom.cc
@@ -186,7 +186,7 @@ bool ImageGlom::on_button_press_event(Gdk::EventButton& button_event)
       if((mods & Gdk::ModifierType::BUTTON3_MASK) == Gdk::ModifierType::BUTTON3_MASK)
       {
         //Give user choices of actions on this item:
-        popup_menu(button_event.get_button(), button_event.get_time());
+        popup_menu(button_event);
 
         return true; //We handled this event.
       }
@@ -198,7 +198,7 @@ bool ImageGlom::on_button_press_event(Gdk::EventButton& button_event)
       if((mods & Gdk::ModifierType::BUTTON3_MASK) == Gdk::ModifierType::BUTTON3_MASK)
       {
         //Give user choices of actions on this item:
-        popup_menu(button_event.get_button(), button_event.get_time());
+        popup_menu(button_event);
 
         return true; //We handled this event.
       }
@@ -1007,7 +1007,7 @@ void ImageGlom::set_read_only(bool read_only)
   m_read_only = read_only;
 }
 
-void ImageGlom::popup_menu(guint button, guint32 activate_time)
+void ImageGlom::popup_menu(Gdk::EventButton& event)
 {
   if(!m_menu_popup_user_mode)
   {
@@ -1015,7 +1015,7 @@ void ImageGlom::popup_menu(guint button, guint32 activate_time)
     return;
   }
 
-  m_menu_popup_user_mode->popup(button, activate_time);
+  m_menu_popup_user_mode->popup_at_pointer(event);
 
   m_action_select_file->set_enabled();
 }
diff --git a/glom/utility_widgets/imageglom.h b/glom/utility_widgets/imageglom.h
index 0255f97..4b29dfc 100644
--- a/glom/utility_widgets/imageglom.h
+++ b/glom/utility_widgets/imageglom.h
@@ -89,7 +89,7 @@ private:
   void setup_menu_usermode();
   void show_image_data();
 
-  void popup_menu(guint button, guint32 activate_time);
+  void popup_menu(Gdk::EventButton& event);
 
   const GdaBinary* get_binary() const;
 
diff --git a/glom/utils_ui.cc b/glom/utils_ui.cc
index 5f056b0..a7dd02d 100644
--- a/glom/utils_ui.cc
+++ b/glom/utils_ui.cc
@@ -651,7 +651,7 @@ bool UiUtils::popup_menu_if_button3_click(Gtk::Widget& widget, Gtk::Menu& menu,
   if((mods & Gdk::ModifierType::BUTTON3_MASK) == Gdk::ModifierType::BUTTON3_MASK)
   {
     //Give user choices of actions on this item:
-    menu.popup(event.get_button(), event.get_time());
+    menu.popup_at_pointer(event);
     return true; //We handled this event.
   }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]