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



commit 90cf65400ca42e61ddc83b913f310e40f2b11134
Author: Murray Cumming <murrayc murrayc com>
Date:   Wed Jun 21 14:31:37 2017 +0200

    Use Gtk::Menu::popup_at_pointer() instead of (deprecated) popup().
    
    Strangely, popup() is not deprecated in GTK+ 4.

 glom/mode_data/box_data_calendar_related.cc                       | 2 +-
 glom/mode_data/buttonglom.cc                                      | 3 ++-
 glom/mode_data/datawidget/checkbutton.cc                          | 2 +-
 glom/mode_data/datawidget/combo.cc                                | 2 +-
 glom/mode_data/datawidget/combo_as_radio_buttons.cc               | 2 +-
 glom/mode_data/datawidget/datawidget.cc                           | 2 +-
 glom/mode_data/datawidget/entry.cc                                | 2 +-
 glom/mode_data/datawidget/label.cc                                | 2 +-
 glom/mode_data/datawidget/textview.cc                             | 2 +-
 glom/mode_data/db_adddel/db_adddel.cc                             | 2 +-
 glom/mode_data/flowtablewithfields.cc                             | 2 +-
 glom/mode_design/print_layouts/window_print_layout_edit.cc        | 4 ++--
 glom/mode_design/print_layouts/window_print_layout_edit.h         | 2 +-
 .../relationships_overview/window_relationships_overview.cc       | 4 ++--
 .../relationships_overview/window_relationships_overview.h        | 2 +-
 glom/print_layout/canvas_print_layout.cc                          | 4 ++--
 glom/print_layout/canvas_print_layout.h                           | 2 +-
 glom/utility_widgets/adddel/adddel.cc                             | 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 +-
 glom/utility_widgets/canvas/test_canvas_editable.cc               | 2 +-
 glom/utility_widgets/imageglom.cc                                 | 8 ++++----
 glom/utility_widgets/imageglom.h                                  | 2 +-
 glom/utility_widgets/notebooklabelglom.cc                         | 2 +-
 25 files changed, 32 insertions(+), 31 deletions(-)
---
diff --git a/glom/mode_data/box_data_calendar_related.cc b/glom/mode_data/box_data_calendar_related.cc
index 54d80f0b..c167f18e 100644
--- a/glom/mode_data/box_data_calendar_related.cc
+++ b/glom/mode_data/box_data_calendar_related.cc
@@ -521,7 +521,7 @@ void Box_Data_Calendar_Related::on_calendar_button_press_event(GdkEventButton *b
   if(mods & GDK_BUTTON3_MASK)
   {
     //Give user choices of actions on this item:
-    m_menu_popup->popup(button_event->button, button_event->time);
+    m_menu_popup->popup_at_pointer((GdkEvent*)button_event);
     return; //handled.
   }
   else
diff --git a/glom/mode_data/buttonglom.cc b/glom/mode_data/buttonglom.cc
index 69901c03..cb3016fd 100644
--- a/glom/mode_data/buttonglom.cc
+++ b/glom/mode_data/buttonglom.cc
@@ -87,10 +87,11 @@ bool ButtonGlom::on_button_press_event(GdkEventButton *button_event)
     if(mods & GDK_BUTTON3_MASK)
     {
       //Give user choices of actions on this item:
-      m_popup_menu_utils->popup(button_event->button, button_event->time);
+      m_popup_menu_utils->popup_at_pointer((GdkEvent*)button_event);
       return true; //We handled this event.
     }
   }
+
   return Gtk::Button::on_button_press_event(button_event);
 }
 #endif
diff --git a/glom/mode_data/datawidget/checkbutton.cc b/glom/mode_data/datawidget/checkbutton.cc
index 814ea8e4..636e205f 100644
--- a/glom/mode_data/datawidget/checkbutton.cc
+++ b/glom/mode_data/datawidget/checkbutton.cc
@@ -61,7 +61,7 @@ bool CheckButton::on_button_press_event(GdkEventButton *button_event)
       if(mods & GDK_BUTTON3_MASK)
       {
         //Give user choices of actions on this item:
-        m_menu_popup->popup(button_event->button, button_event->time);
+        m_menu_popup->popup_at_pointer((GdkEvent*)button_event);
         return true; //We handled this event.
       }
     }
diff --git a/glom/mode_data/datawidget/combo.cc b/glom/mode_data/datawidget/combo.cc
index c56839aa..18c4201e 100644
--- a/glom/mode_data/datawidget/combo.cc
+++ b/glom/mode_data/datawidget/combo.cc
@@ -324,7 +324,7 @@ g_warning("ComboGlom::on_button_press_event()");
       if(mods & GDK_BUTTON3_MASK)
       {
         //Give user choices of actions on this item:
-        m_menu_popup->popup(button_event->button, button_event->time);
+        m_menu_popup->popup_at_pointer((GdkEvent*)button_event);
         return true; //We handled this event.
       }
     }
diff --git a/glom/mode_data/datawidget/combo_as_radio_buttons.cc 
b/glom/mode_data/datawidget/combo_as_radio_buttons.cc
index 3cfedb9f..14b71e5b 100644
--- a/glom/mode_data/datawidget/combo_as_radio_buttons.cc
+++ b/glom/mode_data/datawidget/combo_as_radio_buttons.cc
@@ -272,7 +272,7 @@ void ComboAsRadioButtons::show_context_menu(GdkEventButton *button_event)
       if(mods & GDK_BUTTON3_MASK)
       {
         //Give user choices of actions on this item:
-        m_menu_popup->popup(button_event->button, button_event->time);
+        m_menu_popup->popup_at_pointer((GdkEvent*)button_event);
       }
     }
   }
diff --git a/glom/mode_data/datawidget/datawidget.cc b/glom/mode_data/datawidget/datawidget.cc
index ad5a045d..838a9cd3 100644
--- a/glom/mode_data/datawidget/datawidget.cc
+++ b/glom/mode_data/datawidget/datawidget.cc
@@ -442,7 +442,7 @@ bool DataWidget::on_button_press_event(GdkEventButton *button_event)
       if(mods & GDK_BUTTON3_MASK)
       {
         //Give user choices of actions on this item:
-        m_menu_popup->popup(button_event->button, button_event->time);
+        m_menu_popup->popup_at_pointer((GdkEvent*)button_event);
         return true; //We handled this event.
       }
     }
diff --git a/glom/mode_data/datawidget/entry.cc b/glom/mode_data/datawidget/entry.cc
index 60b12604..881caa13 100644
--- a/glom/mode_data/datawidget/entry.cc
+++ b/glom/mode_data/datawidget/entry.cc
@@ -201,7 +201,7 @@ bool Entry::on_button_press_event(GdkEventButton *button_event)
       if(mods & GDK_BUTTON3_MASK)
       {
         //Give user choices of actions on this item:
-        m_menu_popup->popup(button_event->button, button_event->time);
+        m_menu_popup->popup_at_pointer((GdkEvent*)button_event);
         return true; //We handled this event.
       }
     }
diff --git a/glom/mode_data/datawidget/label.cc b/glom/mode_data/datawidget/label.cc
index 8f695aaa..89836ebf 100644
--- a/glom/mode_data/datawidget/label.cc
+++ b/glom/mode_data/datawidget/label.cc
@@ -105,7 +105,7 @@ bool Label::on_button_press_event(GdkEventButton *button_event)
     if(mods & GDK_BUTTON3_MASK)
     {
       //Give user choices of actions on this item:
-      m_popup_menu_utils->popup(button_event->button, button_event->time);
+      m_popup_menu_utils->popup_at_pointer((GdkEvent*)button_event);
       return true; //We handled this event.
     }
   }
diff --git a/glom/mode_data/datawidget/textview.cc b/glom/mode_data/datawidget/textview.cc
index d0438418..822dc978 100644
--- a/glom/mode_data/datawidget/textview.cc
+++ b/glom/mode_data/datawidget/textview.cc
@@ -160,7 +160,7 @@ bool TextView::on_button_press_event(GdkEventButton *button_event)
       if(mods & GDK_BUTTON3_MASK)
       {
         //Give user choices of actions on this item:
-        m_menu_popup->popup(button_event->button, button_event->time);
+        m_menu_popup->popup_at_pointer((GdkEvent*)button_event);
         return true; //We handled this event.
       }
     }
diff --git a/glom/mode_data/db_adddel/db_adddel.cc b/glom/mode_data/db_adddel/db_adddel.cc
index 39ec2c8d..07ac5b19 100644
--- a/glom/mode_data/db_adddel/db_adddel.cc
+++ b/glom/mode_data/db_adddel/db_adddel.cc
@@ -292,7 +292,7 @@ bool DbAddDel::on_button_press_event_Popup(GdkEventButton *button_event)
   if(mods & GDK_BUTTON3_MASK)
   {
     //Give user choices of actions on this item:
-    m_menu_popup->popup(button_event->button, button_event->time);
+    m_menu_popup->popup_at_pointer((GdkEvent*)button_event);
     return true; //handled.
   }
   else
diff --git a/glom/mode_data/flowtablewithfields.cc b/glom/mode_data/flowtablewithfields.cc
index c546b19b..dca6fe92 100644
--- a/glom/mode_data/flowtablewithfields.cc
+++ b/glom/mode_data/flowtablewithfields.cc
@@ -1318,7 +1318,7 @@ bool FlowTableWithFields::on_button_press_event(GdkEventButton *button_event)
     if(mods & GDK_BUTTON3_MASK)
     {
       //Give user choices of actions on this item:
-      m_popup_menu_utils->popup(button_event->button, button_event->time);
+      m_popup_menu_utils->popup_at_pointer((GdkEvent*)button_event);
       return true; //We handled this event.
     }
   }
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 0481f9ff..4ce30b05 100644
--- a/glom/mode_design/print_layouts/window_print_layout_edit.cc
+++ b/glom/mode_design/print_layouts/window_print_layout_edit.cc
@@ -726,13 +726,13 @@ bool Window_PrintLayout_Edit::on_canvas_motion_notify_event(GdkEventMotion* moti
   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(GdkEventButton* 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((GdkEvent*)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 fe1487a7..f64b1244 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();
 
   bool on_canvas_motion_notify_event(GdkEventMotion* motion_event);
-  void on_canvas_show_context_menu(guint button, guint32 activate_time);
+  void on_canvas_show_context_menu(GdkEventButton* 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 6fdb48b9..3807047a 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(GdkEventButton* 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((GdkEvent*)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 96386a5f..e7f520c9 100644
--- a/glom/mode_design/relationships_overview/window_relationships_overview.h
+++ b/glom/mode_design/relationships_overview/window_relationships_overview.h
@@ -69,7 +69,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(GdkEventButton* 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 e357ccf2..70875955 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(GdkEventButton* 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((GdkEvent*)event);
 }
 
 bool Canvas_PrintLayout::on_background_button_press_event(const Glib::RefPtr<Goocanvas::Item>& /* target */, 
GdkEventButton* /* event */)
diff --git a/glom/print_layout/canvas_print_layout.h b/glom/print_layout/canvas_print_layout.h
index 45c8b24a..041b1c48 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(GdkEventButton* 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/adddel/adddel.cc b/glom/utility_widgets/adddel/adddel.cc
index 3356c3e9..bf252778 100644
--- a/glom/utility_widgets/adddel/adddel.cc
+++ b/glom/utility_widgets/adddel/adddel.cc
@@ -224,7 +224,7 @@ bool AddDel::on_button_press_event_Popup(GdkEventButton *button_event)
   if(mods & GDK_BUTTON3_MASK)
   {
     //Give user choices of actions on this item:
-    m_menu_popup->popup(button_event->button, button_event->time);
+    m_menu_popup->popup_at_pointer((GdkEvent*)button_event);
   }
   else
   {
diff --git a/glom/utility_widgets/canvas/canvas_editable.h b/glom/utility_widgets/canvas/canvas_editable.h
index 5f934c51..558c1f07 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(GdkEventButton*)> 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 3f584169..1ae12009 100644
--- a/glom/utility_widgets/canvas/canvas_item_movable.cc
+++ b/glom/utility_widgets/canvas/canvas_item_movable.cc
@@ -111,7 +111,7 @@ bool CanvasItemMovable::on_button_press_event(const Glib::RefPtr<Goocanvas::Item
     }
     case 3:
     {
-      m_signal_show_context.emit(event->button, event->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 72d43a3e..37b51bef 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(GdkEventButton*)> 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 43ac4408..3eea6aba 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((GdkEvent*)event);
   }
   */
 
diff --git a/glom/utility_widgets/imageglom.cc b/glom/utility_widgets/imageglom.cc
index fc994f1e..97917ac1 100644
--- a/glom/utility_widgets/imageglom.cc
+++ b/glom/utility_widgets/imageglom.cc
@@ -177,7 +177,7 @@ bool ImageGlom::on_button_press_event(GdkEventButton *button_event)
       if(mods & GDK_BUTTON3_MASK)
       {
         //Give user choices of actions on this item:
-        popup_menu(button_event->button, button_event->time);
+        popup_menu(button_event);
 
         return true; //We handled this event.
       }
@@ -189,7 +189,7 @@ bool ImageGlom::on_button_press_event(GdkEventButton *button_event)
       if(mods & GDK_BUTTON3_MASK)
       {
         //Give user choices of actions on this item:
-        popup_menu(button_event->button, button_event->time);
+        popup_menu(button_event);
 
         return true; //We handled this event.
       }
@@ -986,7 +986,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(GdkEventButton* event)
 {
   if(!m_menu_popup_user_mode)
   {
@@ -994,7 +994,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((GdkEvent*)event);
 
   m_action_select_file->set_enabled();
 }
diff --git a/glom/utility_widgets/imageglom.h b/glom/utility_widgets/imageglom.h
index f6e17154..167320f9 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(GdkEventButton* event);
 
   const GdaBinary* get_binary() const;
 
diff --git a/glom/utility_widgets/notebooklabelglom.cc b/glom/utility_widgets/notebooklabelglom.cc
index b3093599..71fbd1a5 100644
--- a/glom/utility_widgets/notebooklabelglom.cc
+++ b/glom/utility_widgets/notebooklabelglom.cc
@@ -131,7 +131,7 @@ bool NotebookLabel::on_button_press_event(GdkEventButton *button_event)
     if(mods & GDK_BUTTON3_MASK)
     {
       //Give user choices of actions on this item:
-      m_popup_menu->popup(button_event->button, button_event->time);
+      m_popup_menu->popup_at_pointer((GdkEvent*)button_event);
       return true; //We handled this event.
     }
   }


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