[gnote] Use Gtk::PopoverMenu for popover menu



commit 0d950278d2c1212b405e7b08155ad41cd27e546f
Author: Aurimas Černius <aurisc4 gmail com>
Date:   Sun Dec 20 21:06:02 2015 +0200

    Use Gtk::PopoverMenu for popover menu

 src/recentchanges.cpp |   25 ++++++++-----------------
 src/recentchanges.hpp |    8 ++++----
 2 files changed, 12 insertions(+), 21 deletions(-)
---
diff --git a/src/recentchanges.cpp b/src/recentchanges.cpp
index 0325e9f..28dcaa0 100644
--- a/src/recentchanges.cpp
+++ b/src/recentchanges.cpp
@@ -125,12 +125,6 @@ namespace gnote {
     if(m_entry_changed_timeout) {
       delete m_entry_changed_timeout;
     }
-    if(m_window_menu_embedded) {
-      gtk_widget_destroy(GTK_WIDGET(m_window_menu_embedded));
-    }
-    if(m_window_menu_default) {
-      gtk_widget_destroy(GTK_WIDGET(m_window_menu_default));
-    }
   }
 
   void NoteRecentChanges::make_header_bar()
@@ -532,7 +526,6 @@ namespace gnote {
     try {
       HasActions &has_actions = dynamic_cast<HasActions&>(widget);
       if(m_window_menu_embedded) {
-        gtk_widget_destroy(GTK_WIDGET(m_window_menu_embedded));
         m_window_menu_embedded = NULL;
       }
       m_signal_popover_widgets_changed_cid = has_actions.signal_popover_widgets_changed
@@ -555,7 +548,6 @@ namespace gnote {
       m_current_embedded_name_slot.disconnect();
 
       if(m_window_menu_embedded) {
-        gtk_widget_destroy(GTK_WIDGET(m_window_menu_embedded));
         m_window_menu_embedded = NULL;
       }
     }
@@ -716,13 +708,13 @@ namespace gnote {
       if(m_window_menu_embedded == NULL) {
         m_window_menu_embedded = make_window_menu(m_window_actions_button, 
embed_with_actions->get_popover_widgets());
       }
-      gtk_widget_show_all(GTK_WIDGET(m_window_menu_embedded));
+      m_window_menu_embedded->show_all();
     }
     else {
       if(m_window_menu_default == NULL) {
         m_window_menu_default = make_window_menu(m_window_actions_button, std::vector<Gtk::Widget*>());
       }
-      gtk_widget_show_all(GTK_WIDGET(m_window_menu_default));
+      m_window_menu_default->show_all();
     }
   }
 
@@ -735,9 +727,9 @@ namespace gnote {
     return grid;
   }
 
-  GtkPopoverMenu *NoteRecentChanges::make_window_menu(Gtk::Button *button, const std::vector<Gtk::Widget*> & 
items)
+  Gtk::PopoverMenu *NoteRecentChanges::make_window_menu(Gtk::Button *button, const std::vector<Gtk::Widget*> 
& items)
   {
-    GtkPopoverMenu *menu = GTK_POPOVER_MENU(gtk_popover_menu_new());
+    Gtk::PopoverMenu *menu = manage(new Gtk::PopoverMenu);
     Gtk::Grid *main_grid = manage(new Gtk::Grid);
     main_grid->property_margin_start() = 10;
     main_grid->property_margin_end() = 10;
@@ -765,10 +757,10 @@ namespace gnote {
     grid->attach(*close_item, 0, top++, 1, 1);
 
     main_grid->attach(*grid, 0, main_top++, 1, 1);
-    gtk_container_add(GTK_CONTAINER(menu), GTK_WIDGET(main_grid->gobj()));
-    gtk_popover_set_relative_to(GTK_POPOVER(menu), GTK_WIDGET(button->gobj()));
-    gtk_popover_set_modal(GTK_POPOVER(menu), TRUE);
-    gtk_popover_set_position(GTK_POPOVER(menu), GTK_POS_BOTTOM);
+    menu->add(*main_grid);
+    menu->set_relative_to(*button);
+    menu->set_modal(true);
+    menu->set_position(Gtk::POS_BOTTOM);
     return menu;
   }
 
@@ -780,7 +772,6 @@ namespace gnote {
   void NoteRecentChanges::on_popover_widgets_changed()
   {
     if(m_window_menu_embedded) {
-      gtk_widget_destroy(GTK_WIDGET(m_window_menu_embedded));
       m_window_menu_embedded = NULL;
     }
   }
diff --git a/src/recentchanges.hpp b/src/recentchanges.hpp
index f30c90d..edcf8c0 100644
--- a/src/recentchanges.hpp
+++ b/src/recentchanges.hpp
@@ -26,10 +26,10 @@
 
 #include <string>
 
-#include <gtk/gtkpopovermenu.h>
 #include <gtkmm/alignment.h>
 #include <gtkmm/applicationwindow.h>
 #include <gtkmm/grid.h>
+#include <gtkmm/popovermenu.h>
 
 #include "base/macros.hpp"
 #include "mainwindowaction.hpp"
@@ -86,7 +86,7 @@ private:
   void on_search_button_toggled();
   void on_find_next_button_clicked();
   void on_find_prev_button_clicked();
-  GtkPopoverMenu *make_window_menu(Gtk::Button *button, const std::vector<Gtk::Widget*> & items);
+  Gtk::PopoverMenu *make_window_menu(Gtk::Button *button, const std::vector<Gtk::Widget*> & items);
   Gtk::Grid *create_inner_popover_grid(int & top);
   void on_embedded_name_changed(const std::string & name);
   void on_settings_changed(const Glib::ustring & key);
@@ -113,8 +113,8 @@ private:
   sigc::connection    m_current_embedded_name_slot;
   sigc::connection    m_signal_popover_widgets_changed_cid;
   utils::InterruptableTimeout *m_entry_changed_timeout;
-  GtkPopoverMenu     *m_window_menu_embedded;
-  GtkPopoverMenu     *m_window_menu_default;
+  Gtk::PopoverMenu     *m_window_menu_embedded;
+  Gtk::PopoverMenu     *m_window_menu_default;
   utils::GlobalKeybinder m_keybinder;
   bool                m_open_notes_in_new_window;
   bool                m_close_note_on_escape;


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