[gnote] Do not use static IGnote in statistics



commit d35e4ac75efe5cbcc84ff1eb7b5e747c984a5ec9
Author: Aurimas Černius <aurisc4 gmail com>
Date:   Sun Oct 27 17:23:07 2019 +0200

    Do not use static IGnote in statistics

 src/addins/statistics/statisticsapplicationaddin.cpp |  8 ++++----
 src/addins/statistics/statisticswidget.cpp           | 20 +++++++++++---------
 src/addins/statistics/statisticswidget.hpp           |  2 +-
 3 files changed, 16 insertions(+), 14 deletions(-)
---
diff --git a/src/addins/statistics/statisticsapplicationaddin.cpp 
b/src/addins/statistics/statisticsapplicationaddin.cpp
index 1419f9bf..2abb3af1 100644
--- a/src/addins/statistics/statisticsapplicationaddin.cpp
+++ b/src/addins/statistics/statisticsapplicationaddin.cpp
@@ -44,7 +44,7 @@ void StatisticsApplicationAddin::initialize()
 {
   if(!m_initialized) {
     m_initialized = true;
-    auto & manager(gnote::IGnote::obj().action_manager());
+    auto & manager(ignote().action_manager());
     manager.register_main_window_search_callback("statistics-show-cback",
       "statistics-show", sigc::mem_fun(*this, &StatisticsApplicationAddin::on_show_statistics));
     m_add_menu_item_cid = manager.signal_build_main_window_search_popover
@@ -55,7 +55,7 @@ void StatisticsApplicationAddin::initialize()
 
 void StatisticsApplicationAddin::shutdown()
 {
-  auto & manager(gnote::IGnote::obj().action_manager());
+  auto & manager(ignote().action_manager());
   manager.unregister_main_window_search_callback("statistics-show-cback");
   m_add_menu_item_cid.disconnect();
   manager.signal_main_window_popover_changed();
@@ -76,9 +76,9 @@ void StatisticsApplicationAddin::add_menu_item(std::vector<gnote::PopoverWidget>
 void StatisticsApplicationAddin::on_show_statistics(const Glib::VariantBase&)
 {
   if(!m_widget) {
-    m_widget = new StatisticsWidget(note_manager());
+    m_widget = new StatisticsWidget(ignote(), note_manager());
   }
-  gnote::MainWindow &main_window = gnote::IGnote::obj().get_main_window();
+  gnote::MainWindow &main_window = ignote().get_main_window();
   if(m_widget->host()) {
     m_widget->host()->unembed_widget(*m_widget);
   }
diff --git a/src/addins/statistics/statisticswidget.cpp b/src/addins/statistics/statisticswidget.cpp
index 60cb6622..31cc9d5a 100644
--- a/src/addins/statistics/statisticswidget.cpp
+++ b/src/addins/statistics/statisticswidget.cpp
@@ -35,9 +35,9 @@ class StatisticsModel
 {
 public:
   typedef Glib::RefPtr<StatisticsModel> Ptr;
-  static Ptr create(gnote::NoteManager & nm)
+  static Ptr create(gnote::IGnote & g, gnote::NoteManager & nm)
     {
-      return Ptr(new StatisticsModel(nm));
+      return Ptr(new StatisticsModel(g, nm));
     }
 
   void update()
@@ -67,17 +67,18 @@ private:
   };
   StatisticsRecord m_columns;
 
-  StatisticsModel(gnote::NoteManager & nm)
-    : m_note_manager(nm)
+  StatisticsModel(gnote::IGnote & g, gnote::NoteManager & nm)
+    : m_gnote(g)
+    , m_note_manager(nm)
     , m_active(false)
     {
       set_column_types(m_columns);
       build_stats();
       nm.signal_note_added.connect(sigc::mem_fun(*this, &StatisticsModel::on_note_list_changed));
       nm.signal_note_deleted.connect(sigc::mem_fun(*this, &StatisticsModel::on_note_list_changed));
-      gnote::IGnote::obj().notebook_manager().signal_note_added_to_notebook()
+      g.notebook_manager().signal_note_added_to_notebook()
         .connect(sigc::mem_fun(*this, &StatisticsModel::on_notebook_note_list_changed));
-      gnote::IGnote::obj().notebook_manager().signal_note_removed_from_notebook()
+      g.notebook_manager().signal_note_removed_from_notebook()
         .connect(sigc::mem_fun(*this, &StatisticsModel::on_notebook_note_list_changed));
     }
 
@@ -91,7 +92,7 @@ private:
       iter->set_value(0, stat);
       iter->set_value(1, TO_STRING(notes.size()));
 
-      Glib::RefPtr<Gtk::TreeModel> notebooks = gnote::IGnote::obj().notebook_manager().get_notebooks();
+      Glib::RefPtr<Gtk::TreeModel> notebooks = m_gnote.notebook_manager().get_notebooks();
       iter = append();
       stat = _("Total Notebooks:");
       iter->set_value(0, stat);
@@ -141,13 +142,14 @@ private:
       update();
     }
 
+  gnote::IGnote & m_gnote;
   gnote::NoteManager & m_note_manager;
   bool m_active;
 };
 
 
-StatisticsWidget::StatisticsWidget(gnote::NoteManager & nm)
-  : Gtk::TreeView(StatisticsModel::create(nm))
+StatisticsWidget::StatisticsWidget(gnote::IGnote & g, gnote::NoteManager & nm)
+  : Gtk::TreeView(StatisticsModel::create(g, nm))
 {
   set_hexpand(true);
   set_vexpand(true);
diff --git a/src/addins/statistics/statisticswidget.hpp b/src/addins/statistics/statisticswidget.hpp
index 30e41285..0cf3088b 100644
--- a/src/addins/statistics/statisticswidget.hpp
+++ b/src/addins/statistics/statisticswidget.hpp
@@ -34,7 +34,7 @@ class StatisticsWidget
   , public gnote::EmbeddableWidget
 {
 public:
-  StatisticsWidget(gnote::NoteManager & nm);
+  StatisticsWidget(gnote::IGnote & g, gnote::NoteManager & nm);
   virtual Glib::ustring get_name() const override;
   virtual void foreground() override;
   virtual void background() override;


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