[gnote] Do not use singleton IGnote in NoteEditor
- From: Aurimas Černius <aurimasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnote] Do not use singleton IGnote in NoteEditor
- Date: Sat, 7 Dec 2019 20:57:11 +0000 (UTC)
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]