[gnote] Do not statically access IGnote in PreferencesDialog
- From: Aurimas Černius <aurimasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnote] Do not statically access IGnote in PreferencesDialog
- Date: Fri, 1 Nov 2019 21:41:36 +0000 (UTC)
commit 4379f967898e8ad3630c1621acb8997eb78fefa8
Author: Aurimas Černius <aurisc4 gmail com>
Date: Fri Nov 1 23:40:27 2019 +0200
Do not statically access IGnote in PreferencesDialog
src/gnote.cpp | 2 +-
src/preferencesdialog.cpp | 51 ++++++++++++++++++++++++-----------------------
src/preferencesdialog.hpp | 4 +++-
3 files changed, 30 insertions(+), 27 deletions(-)
---
diff --git a/src/gnote.cpp b/src/gnote.cpp
index 96934171..de28a207 100644
--- a/src/gnote.cpp
+++ b/src/gnote.cpp
@@ -244,7 +244,7 @@ namespace gnote {
void Gnote::on_show_preferences_action(const Glib::VariantBase&)
{
if(!m_prefsdlg) {
- m_prefsdlg = new PreferencesDialog(default_note_manager());
+ m_prefsdlg = new PreferencesDialog(*this, default_note_manager());
m_prefsdlg->signal_response().connect(
sigc::mem_fun(*this, &Gnote::on_preferences_response));
}
diff --git a/src/preferencesdialog.cpp b/src/preferencesdialog.cpp
index 904d50dc..c57b6fd7 100644
--- a/src/preferencesdialog.cpp
+++ b/src/preferencesdialog.cpp
@@ -83,7 +83,7 @@ namespace gnote {
};
- PreferencesDialog::PreferencesDialog(NoteManager & note_manager)
+ PreferencesDialog::PreferencesDialog(IGnote & ignote, NoteManager & note_manager)
: Gtk::Dialog()
, m_sync_addin_combo(NULL)
, m_selected_sync_addin(NULL)
@@ -92,6 +92,7 @@ namespace gnote {
, m_reset_sync_addin_button(NULL)
, m_save_sync_addin_button(NULL)
, m_rename_behavior_combo(NULL)
+ , m_gnote(ignote)
, m_addin_manager(note_manager.get_addin_manager())
, m_note_manager(note_manager)
{
@@ -163,7 +164,7 @@ namespace gnote {
add_action_widget (*button, Gtk::RESPONSE_CLOSE);
set_default_response(Gtk::RESPONSE_CLOSE);
- IGnote::obj().preferences().get_schema_settings(
+ m_gnote.preferences().get_schema_settings(
Preferences::SCHEMA_GNOTE)->signal_changed().connect(
sigc::mem_fun(*this, &PreferencesDialog::on_preferences_setting_changed));
}
@@ -209,7 +210,7 @@ namespace gnote {
void PreferencesDialog::enable_app_addin(ApplicationAddin *addin, bool enable)
{
if(enable) {
- addin->initialize(IGnote::obj(), m_note_manager);
+ addin->initialize(m_gnote, m_note_manager);
}
else {
addin->shutdown();
@@ -220,7 +221,7 @@ namespace gnote {
void PreferencesDialog::enable_sync_addin(sync::SyncServiceAddin *addin, bool enable)
{
if(enable) {
- addin->initialize(IGnote::obj(), IGnote::obj().sync_manager());
+ addin->initialize(m_gnote, m_gnote.sync_manager());
}
else {
addin->shutdown();
@@ -235,7 +236,7 @@ namespace gnote {
Gtk::Label *label;
Gtk::CheckButton *check;
sharp::PropertyEditorBool *peditor, *font_peditor,* bullet_peditor;
- Glib::RefPtr<Gio::Settings> settings =
IGnote::obj().preferences().get_schema_settings(Preferences::SCHEMA_GNOTE);
+ Glib::RefPtr<Gio::Settings> settings =
m_gnote.preferences().get_schema_settings(Preferences::SCHEMA_GNOTE);
Gtk::Grid *options_list = manage(new Gtk::Grid);
options_list->set_row_spacing(12);
@@ -364,7 +365,7 @@ namespace gnote {
button->add (*font_box);
button->show ();
- Glib::ustring font_desc = IGnote::obj().preferences().get_schema_settings(
+ Glib::ustring font_desc = m_gnote.preferences().get_schema_settings(
Preferences::SCHEMA_GNOTE)->get_string(Preferences::CUSTOM_FONT_FACE);
update_font_button (font_desc);
@@ -381,7 +382,7 @@ namespace gnote {
Gtk::CheckButton *check;
sharp::PropertyEditorBool *peditor;
int vbox_row = 0;
- Glib::RefPtr<Gio::Settings> settings = IGnote::obj().preferences()
+ Glib::RefPtr<Gio::Settings> settings = m_gnote.preferences()
.get_schema_settings(Preferences::SCHEMA_GNOTE);
// internal links
@@ -458,7 +459,7 @@ namespace gnote {
// Read from Preferences which service is configured and select it
// by default. Otherwise, just select the first one in the list.
- Glib::ustring addin_id = IGnote::obj().preferences()
+ Glib::ustring addin_id = m_gnote.preferences()
.get_schema_settings(Preferences::SCHEMA_SYNC)->get_string(Preferences::SYNC_SELECTED_SERVICE_ADDIN);
Gtk::TreeIter active_iter;
@@ -506,11 +507,11 @@ namespace gnote {
vbox->attach(*m_sync_addin_prefs_container, 0, vbox_row++, 1, 1);
// Autosync preference
- int timeout = IGnote::obj().preferences().get_schema_settings(
+ int timeout = m_gnote.preferences().get_schema_settings(
Preferences::SCHEMA_SYNC)->get_int(Preferences::SYNC_AUTOSYNC_TIMEOUT);
if(timeout > 0 && timeout < 5) {
timeout = 5;
- IGnote::obj().preferences().get_schema_settings(
+ m_gnote.preferences().get_schema_settings(
Preferences::SCHEMA_SYNC)->set_int(Preferences::SYNC_AUTOSYNC_TIMEOUT, 5);
}
Gtk::Grid *autosyncBox = manage(new Gtk::Grid);
@@ -599,7 +600,7 @@ namespace gnote {
// TreeView of Add-ins
m_addin_tree = manage(new Gtk::TreeView ());
- m_addin_tree_model = sharp::AddinsTreeModel::create(IGnote::obj().icon_manager(), m_addin_tree);
+ m_addin_tree_model = sharp::AddinsTreeModel::create(m_gnote.icon_manager(), m_addin_tree);
m_addin_tree->show ();
@@ -938,7 +939,7 @@ namespace gnote {
Gtk::FontSelectionDialog *font_dialog =
new Gtk::FontSelectionDialog (_("Choose Note Font"));
- Glib::RefPtr<Gio::Settings> settings =
IGnote::obj().preferences().get_schema_settings(Preferences::SCHEMA_GNOTE);
+ Glib::RefPtr<Gio::Settings> settings =
m_gnote.preferences().get_schema_settings(Preferences::SCHEMA_GNOTE);
Glib::ustring font_name = settings->get_string(Preferences::CUSTOM_FONT_FACE);
font_dialog->set_font_name(font_name);
@@ -977,7 +978,7 @@ namespace gnote {
NoteBase::Ptr template_note = m_note_manager.get_or_create_template_note();
// Open the template note
- IGnote::obj().open_note(std::static_pointer_cast<Note>(template_note));
+ m_gnote.open_note(std::static_pointer_cast<Note>(template_note));
}
@@ -985,7 +986,7 @@ namespace gnote {
void PreferencesDialog::on_preferences_setting_changed(const Glib::ustring & key)
{
if (key == Preferences::NOTE_RENAME_BEHAVIOR) {
- Glib::RefPtr<Gio::Settings> settings = IGnote::obj().preferences()
+ Glib::RefPtr<Gio::Settings> settings = m_gnote.preferences()
.get_schema_settings(Preferences::SCHEMA_GNOTE);
int rename_behavior = settings->get_int(key);
if (0 > rename_behavior || 2 < rename_behavior) {
@@ -998,7 +999,7 @@ namespace gnote {
}
}
else if(key == Preferences::SYNC_AUTOSYNC_TIMEOUT) {
- int timeout = IGnote::obj().preferences().get_schema_settings(
+ int timeout = m_gnote.preferences().get_schema_settings(
Preferences::SCHEMA_SYNC)->get_int(Preferences::SYNC_AUTOSYNC_TIMEOUT);
if(timeout <= 0 && m_autosync_check->get_active()) {
m_autosync_check->set_active(false);
@@ -1019,7 +1020,7 @@ namespace gnote {
void PreferencesDialog::on_rename_behavior_changed()
{
- IGnote::obj().preferences().get_schema_settings(Preferences::SCHEMA_GNOTE)->set_int(
+ m_gnote.preferences().get_schema_settings(Preferences::SCHEMA_GNOTE)->set_int(
Preferences::NOTE_RENAME_BEHAVIOR, m_rename_behavior_combo->get_active_row_number());
}
@@ -1028,7 +1029,7 @@ namespace gnote {
{
// Get saved behavior
sync::SyncTitleConflictResolution savedBehavior = sync::CANCEL;
- int dlgBehaviorPref = IGnote::obj().preferences().get_schema_settings(
+ int dlgBehaviorPref = m_gnote.preferences().get_schema_settings(
Preferences::SCHEMA_SYNC)->get_int(Preferences::SYNC_CONFIGURED_CONFLICT_BEHAVIOR);
// TODO: Check range of this int
savedBehavior = static_cast<sync::SyncTitleConflictResolution>(dlgBehaviorPref);
@@ -1095,7 +1096,7 @@ namespace gnote {
newBehavior = sync::OVERWRITE_EXISTING;
}
- IGnote::obj().preferences().get_schema_settings(Preferences::SCHEMA_SYNC)->set_int(
+ m_gnote.preferences().get_schema_settings(Preferences::SCHEMA_SYNC)->set_int(
Preferences::SYNC_CONFIGURED_CONFLICT_BEHAVIOR, static_cast<int>(newBehavior));
}
@@ -1177,13 +1178,13 @@ namespace gnote {
DBG_OUT("Error calling %s.reset_configuration: %s", m_selected_sync_addin->id().c_str(), e.what());
}
- Glib::RefPtr<Gio::Settings> settings =
IGnote::obj().preferences().get_schema_settings(Preferences::SCHEMA_SYNC);
+ Glib::RefPtr<Gio::Settings> settings =
m_gnote.preferences().get_schema_settings(Preferences::SCHEMA_SYNC);
settings->set_string(Preferences::SYNC_SELECTED_SERVICE_ADDIN, "");
// Reset conflict handling behavior
settings->set_int(Preferences::SYNC_CONFIGURED_CONFLICT_BEHAVIOR,
DEFAULT_SYNC_CONFIGURED_CONFLICT_BEHAVIOR);
- IGnote::obj().sync_manager().reset_client();
+ m_gnote.sync_manager().reset_client();
m_sync_addin_combo->set_sensitive(true);
m_sync_addin_combo->unset_active();
@@ -1226,7 +1227,7 @@ namespace gnote {
utils::HIGMessageDialog *dialog;
if(saved) {
- IGnote::obj().preferences().get_schema_settings(Preferences::SCHEMA_SYNC)->set_string(
+ m_gnote.preferences().get_schema_settings(Preferences::SCHEMA_SYNC)->set_string(
Preferences::SYNC_SELECTED_SERVICE_ADDIN, m_selected_sync_addin->id());
m_sync_addin_combo->set_sensitive(false);
@@ -1234,7 +1235,7 @@ namespace gnote {
m_reset_sync_addin_button->set_sensitive(true);
m_save_sync_addin_button->set_sensitive(false);
- IGnote::obj().sync_manager().reset_client();
+ m_gnote.sync_manager().reset_client();
// Give the user a visual letting them know that connecting
// was successful.
@@ -1247,14 +1248,14 @@ namespace gnote {
if(dialog_response == Gtk::RESPONSE_YES) {
// TODO: Put this voodoo in a method somewhere
- IGnote::obj().action_manager().get_app_action("sync-notes")->activate(Glib::VariantBase());
+ m_gnote.action_manager().get_app_action("sync-notes")->activate(Glib::VariantBase());
}
}
else {
// TODO: Change the SyncServiceAddin API so the call to
// SaveConfiguration has a way of passing back an exception
// or other text so it can be displayed to the user.
- IGnote::obj().preferences().get_schema_settings(Preferences::SCHEMA_SYNC)->set_string(
+ m_gnote.preferences().get_schema_settings(Preferences::SCHEMA_SYNC)->set_string(
Preferences::SYNC_SELECTED_SERVICE_ADDIN, "");
m_sync_addin_combo->set_sensitive(true);
@@ -1428,7 +1429,7 @@ namespace gnote {
void PreferencesDialog::update_timeout_pref()
{
- IGnote::obj().preferences().get_schema_settings(Preferences::SCHEMA_SYNC)->set_int(
+ m_gnote.preferences().get_schema_settings(Preferences::SCHEMA_SYNC)->set_int(
Preferences::SYNC_AUTOSYNC_TIMEOUT,
m_autosync_check->get_active() ? static_cast<int>(m_autosync_spinner->get_value()) : -1);
}
diff --git a/src/preferencesdialog.hpp b/src/preferencesdialog.hpp
index a2494330..2502f457 100644
--- a/src/preferencesdialog.hpp
+++ b/src/preferencesdialog.hpp
@@ -40,12 +40,13 @@ namespace gnote {
namespace sync { class SyncServiceAddin; }
class AddinManager;
+class IGnote;
class PreferencesDialog
: public Gtk::Dialog
{
public:
- explicit PreferencesDialog(NoteManager & note_manager);
+ PreferencesDialog(IGnote & ignote, NoteManager & note_manager);
Gtk::Widget *make_editing_pane();
@@ -120,6 +121,7 @@ private:
Gtk::CheckButton *m_autosync_check;
Gtk::SpinButton *m_autosync_spinner;
Gtk::ComboBoxText *m_rename_behavior_combo;
+ IGnote & m_gnote;
AddinManager &m_addin_manager;
NoteManager & m_note_manager;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]