[gnote] Add utility methods for synchronization



commit 463893f3942ef0613a162ea8a6b38b07014ce7da
Author: Aurimas Černius <aurisc4 gmail com>
Date:   Sat Dec 12 23:55:32 2020 +0200

    Add utility methods for synchronization

 src/preferences.cpp | 26 ++++++++++++++++++++++++++
 src/preferences.hpp | 27 +++++++++++++++++++++++++++
 2 files changed, 53 insertions(+)
---
diff --git a/src/preferences.cpp b/src/preferences.cpp
index e4c6b0d3..5d6aa088 100644
--- a/src/preferences.cpp
+++ b/src/preferences.cpp
@@ -80,6 +80,7 @@ namespace gnote {
   {
     m_schemas[SCHEMA_GNOTE] = Gio::Settings::create(SCHEMA_GNOTE);
     m_schema_gnome_interface = Gio::Settings::create(SCHEMA_DESKTOP_GNOME_INTERFACE);
+    m_schema_sync = Gio::Settings::create(SCHEMA_SYNC);
   }
   
   Glib::RefPtr<Gio::Settings> Preferences::get_schema_settings(const Glib::ustring & schema)
@@ -97,4 +98,29 @@ namespace gnote {
     return settings;
   }
 
+  Glib::ustring Preferences::sync_client_id() const
+  {
+    return m_schema_sync->get_string(SYNC_CLIENT_ID);
+  }
+
+  Glib::ustring Preferences::sync_local_path() const
+  {
+    return m_schema_sync->get_string(SYNC_LOCAL_PATH);
+  }
+
+  void Preferences::sync_local_path(const Glib::ustring & value)
+  {
+    m_schema_sync->set_string(SYNC_LOCAL_PATH, value);
+  }
+
+  int Preferences::sync_configured_conflict_behavior() const
+  {
+    return m_schema_sync->get_int(SYNC_CONFIGURED_CONFLICT_BEHAVIOR);
+  }
+
+  void Preferences::sync_configured_conflict_behavior(int value)
+  {
+    m_schema_sync->set_int(SYNC_CONFIGURED_CONFLICT_BEHAVIOR, value);
+  }
+
 }
diff --git a/src/preferences.hpp b/src/preferences.hpp
index d1b7b107..44fe29f6 100644
--- a/src/preferences.hpp
+++ b/src/preferences.hpp
@@ -87,10 +87,37 @@ namespace gnote {
       {
         return m_schema_gnome_interface;
       }
+    const Glib::RefPtr<Gio::Settings> & schema_sync() const
+      {
+        return m_schema_sync;
+      }
+
+    Glib::ustring sync_client_id() const;
+    Glib::ustring sync_local_path() const;
+    void sync_local_path(const Glib::ustring &);
+    Glib::ustring sync_selected_service_addin() const
+      {
+        return m_schema_sync->get_string(SYNC_SELECTED_SERVICE_ADDIN);
+      }
+    void sync_selected_service_addin(const Glib::ustring & value)
+      {
+        m_schema_sync->set_string(SYNC_SELECTED_SERVICE_ADDIN, value);
+      }
+    int sync_configured_conflict_behavior() const;
+    void sync_configured_conflict_behavior(int);
+    int sync_autosync_timeout() const
+      {
+        return m_schema_sync->get_int(SYNC_AUTOSYNC_TIMEOUT);
+      }
+    void sync_autosync_timeout(int value)
+      {
+        m_schema_sync->set_int(SYNC_AUTOSYNC_TIMEOUT, value);
+      }
   private:
     Preferences(const Preferences &) = delete;
     std::map<Glib::ustring, Glib::RefPtr<Gio::Settings> > m_schemas;
     Glib::RefPtr<Gio::Settings> m_schema_gnome_interface;
+    Glib::RefPtr<Gio::Settings> m_schema_sync;
   };
 
 


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