[gnote] Do not use singleton IGnote in NoteEditor



commit 467ac95555a1be97fcbcb1a46287d4bf48c2b6ab
Author: Aurimas Černius <aurisc4 gmail com>
Date:   Sat Dec 7 22:56:59 2019 +0200

    Do not use singleton IGnote in NoteEditor

 src/noteeditor.cpp | 17 ++++++++---------
 src/noteeditor.hpp |  8 ++++++--
 src/notewindow.cpp |  2 +-
 3 files changed, 15 insertions(+), 12 deletions(-)
---
diff --git a/src/noteeditor.cpp b/src/noteeditor.cpp
index 19d21aba..6ea78890 100644
--- a/src/noteeditor.cpp
+++ b/src/noteeditor.cpp
@@ -21,7 +21,6 @@
 
 #include <string.h>
 
-#include "ignote.hpp"
 #include "notebuffer.hpp"
 #include "noteeditor.hpp"
 #include "preferences.hpp"
@@ -32,17 +31,18 @@
 
 namespace gnote {
 
-  NoteEditor::NoteEditor(const Glib::RefPtr<Gtk::TextBuffer> & buffer)
+  NoteEditor::NoteEditor(const Glib::RefPtr<Gtk::TextBuffer> & buffer, Preferences & preferences)
     : Gtk::TextView(buffer)
+    , m_preferences(preferences)
   {
     set_wrap_mode(Gtk::WRAP_WORD);
     set_left_margin(default_margin());
     set_right_margin(default_margin());
     property_can_default().set_value(true);
 
-    Glib::RefPtr<Gio::Settings> settings = 
IGnote::obj().preferences().get_schema_settings(Preferences::SCHEMA_GNOTE);
+    Glib::RefPtr<Gio::Settings> settings = m_preferences.get_schema_settings(Preferences::SCHEMA_GNOTE);
     //Set up the schema to watch the default document font
-    Glib::RefPtr<Gio::Settings> desktop_settings = IGnote::obj().preferences()
+    Glib::RefPtr<Gio::Settings> desktop_settings = m_preferences
       .get_schema_settings(Preferences::SCHEMA_DESKTOP_GNOME_INTERFACE);
     if(desktop_settings) {
       desktop_settings->signal_changed().connect(
@@ -79,7 +79,7 @@ namespace gnote {
   Pango::FontDescription NoteEditor::get_gnome_document_font_description()
   {
     try {
-      Glib::RefPtr<Gio::Settings> desktop_settings = IGnote::obj().preferences()
+      Glib::RefPtr<Gio::Settings> desktop_settings = m_preferences
         .get_schema_settings(Preferences::SCHEMA_DESKTOP_GNOME_INTERFACE);
       if(desktop_settings) {
         Glib::ustring doc_font_string =
@@ -101,9 +101,9 @@ namespace gnote {
       update_custom_font_setting ();
     }
     else if(key == Preferences::DESKTOP_GNOME_FONT) {
-      if (!IGnote::obj().preferences().get_schema_settings(
+      if (!m_preferences.get_schema_settings(
           Preferences::SCHEMA_GNOTE)->get_boolean(Preferences::ENABLE_CUSTOM_FONT)) {
-        Glib::RefPtr<Gio::Settings> desktop_settings = IGnote::obj().preferences()
+        Glib::RefPtr<Gio::Settings> desktop_settings = m_preferences
           .get_schema_settings(Preferences::SCHEMA_DESKTOP_GNOME_INTERFACE);
         if(desktop_settings) {
           Glib::ustring value = desktop_settings->get_string(key);
@@ -116,8 +116,7 @@ namespace gnote {
 
   void NoteEditor::update_custom_font_setting()
   {
-    Glib::RefPtr<Gio::Settings> settings = IGnote::obj().preferences()
-      .get_schema_settings(Preferences::SCHEMA_GNOTE);
+    Glib::RefPtr<Gio::Settings> settings = m_preferences.get_schema_settings(Preferences::SCHEMA_GNOTE);
 
     if (settings->get_boolean(Preferences::ENABLE_CUSTOM_FONT)) {
       Glib::ustring fontString = settings->get_string(Preferences::CUSTOM_FONT_FACE);
diff --git a/src/noteeditor.hpp b/src/noteeditor.hpp
index 6a687510..89239d7c 100644
--- a/src/noteeditor.hpp
+++ b/src/noteeditor.hpp
@@ -27,17 +27,19 @@
 #include <glibmm/refptr.h>
 #include <gtkmm/textview.h>
 
-#include "preferences.hpp"
 
 namespace gnote {
 
+class Preferences;
+
+
 class NoteEditor
   : public Gtk::TextView
 {
 public:
   typedef Glib::RefPtr<NoteEditor> Ptr;
 
-  NoteEditor(const Glib::RefPtr<Gtk::TextBuffer> & buffer);
+  NoteEditor(const Glib::RefPtr<Gtk::TextBuffer> & buffer, Preferences & preferences);
   static int default_margin()
     {
       return 8;
@@ -61,6 +63,8 @@ private:
   bool button_pressed (GdkEventButton * ev);
   void on_paste_start();
   void on_paste_end();
+
+  Preferences & m_preferences;
 };
 
 
diff --git a/src/notewindow.cpp b/src/notewindow.cpp
index abfc23b0..4a1720ad 100644
--- a/src/notewindow.cpp
+++ b/src/notewindow.cpp
@@ -116,7 +116,7 @@ namespace gnote {
     m_template_widget = make_template_bar();
 
     // The main editor widget
-    m_editor = manage(new NoteEditor(note.get_buffer()));
+    m_editor = manage(new NoteEditor(note.get_buffer(), IGnote::obj().preferences()));
     m_editor->signal_populate_popup().connect(sigc::mem_fun(*this, &NoteWindow::on_populate_popup));
     m_editor->show();
 


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