[gnote] Make possible to disable synchronization addins



commit 9ec09943d7ae503a12d30e1c1b44299e1c6f2f24
Author: Aurimas Äernius <aurisc4 gmail com>
Date:   Wed Aug 15 16:18:18 2012 +0300

    Make possible to disable synchronization addins

 .../filesystemsyncserviceaddin.cpp                 |    5 ++++-
 .../filesystemsyncserviceaddin.hpp                 |    1 +
 src/synchronization/fusesyncserviceaddin.cpp       |   11 ++++++++---
 src/synchronization/fusesyncserviceaddin.hpp       |    1 +
 4 files changed, 14 insertions(+), 4 deletions(-)
---
diff --git a/src/addins/filesystemsyncservice/filesystemsyncserviceaddin.cpp b/src/addins/filesystemsyncservice/filesystemsyncserviceaddin.cpp
index 37d8ff4..5c86326 100644
--- a/src/addins/filesystemsyncservice/filesystemsyncserviceaddin.cpp
+++ b/src/addins/filesystemsyncservice/filesystemsyncserviceaddin.cpp
@@ -70,16 +70,19 @@ const char * FileSystemSyncServiceModule::version() const
 
 FileSystemSyncServiceAddin::FileSystemSyncServiceAddin()
   : m_initialized(false)
+  , m_enabled(false)
 {
 }
 
 void FileSystemSyncServiceAddin::initialize()
 {
   m_initialized = true;
+  m_enabled = true;
 }
 
 void FileSystemSyncServiceAddin::shutdown()
 {
+  m_enabled = false;
 }
 
 gnote::sync::SyncServer::Ptr FileSystemSyncServiceAddin::create_sync_server()
@@ -253,7 +256,7 @@ bool FileSystemSyncServiceAddin::is_supported()
 
 bool FileSystemSyncServiceAddin::initialized()
 {
-  return m_initialized;
+  return m_initialized && m_enabled;
 }
 
 
diff --git a/src/addins/filesystemsyncservice/filesystemsyncserviceaddin.hpp b/src/addins/filesystemsyncservice/filesystemsyncserviceaddin.hpp
index 99f101f..95a3878 100644
--- a/src/addins/filesystemsyncservice/filesystemsyncserviceaddin.hpp
+++ b/src/addins/filesystemsyncservice/filesystemsyncserviceaddin.hpp
@@ -76,6 +76,7 @@ private:
   Gtk::FileChooserButton *m_path_button;
   std::string m_path;
   bool m_initialized;
+  bool m_enabled;
 };
 
 }
diff --git a/src/synchronization/fusesyncserviceaddin.cpp b/src/synchronization/fusesyncserviceaddin.cpp
index 488a378..e89efbd 100644
--- a/src/synchronization/fusesyncserviceaddin.cpp
+++ b/src/synchronization/fusesyncserviceaddin.cpp
@@ -42,16 +42,18 @@ const int FuseSyncServiceAddin::DEFAULT_MOUNT_TIMEOUT_MS = 10000;
 
 FuseSyncServiceAddin::FuseSyncServiceAddin()
   : m_initialized(false)
+  , m_enabled(false)
 {}
 
 void FuseSyncServiceAddin::shutdown()
 {
+  m_enabled = false;
   // TODO: Consider replacing GnoteExitHandler with this!
 }
 
 bool FuseSyncServiceAddin::initialized()
 {
-  return m_initialized;
+  return m_initialized && m_enabled;
 }
 
 void FuseSyncServiceAddin::initialize()
@@ -61,10 +63,13 @@ void FuseSyncServiceAddin::initialize()
     // Determine mount path, etc
     set_up_mount_path();
 
-    m_unmount_timeout.signal_timeout
-      .connect(sigc::mem_fun(*this, &FuseSyncServiceAddin::unmount_timeout));
+    if(!m_initialized) {
+      m_unmount_timeout.signal_timeout
+	.connect(sigc::mem_fun(*this, &FuseSyncServiceAddin::unmount_timeout));
+    }
   }
   m_initialized = true;
+  m_enabled = true;
 }
 
 SyncServer::Ptr FuseSyncServiceAddin::create_sync_server()
diff --git a/src/synchronization/fusesyncserviceaddin.hpp b/src/synchronization/fusesyncserviceaddin.hpp
index 9286a0e..279fda0 100644
--- a/src/synchronization/fusesyncserviceaddin.hpp
+++ b/src/synchronization/fusesyncserviceaddin.hpp
@@ -73,6 +73,7 @@ private:
   std::string m_fuse_unmount_exe_path;
   std::string m_mount_exe_path;
   bool m_initialized;
+  bool m_enabled;
 };
 
 }



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