[ekiga] Opal::Account: Save only when required.



commit 7d3d2b89d09f9f6edb43324b30f5c90142f73af2
Author: Damien Sandras <dsandras seconix com>
Date:   Sat Apr 18 12:59:12 2015 +0200

    Opal::Account: Save only when required.
    
    enable/disable() can be called to enable an Account which is already
    flagged as enabled, e.g. when starting the process. No need to signal
    trigger_saving in that case.

 lib/engine/components/opal/opal-account.cpp |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)
---
diff --git a/lib/engine/components/opal/opal-account.cpp b/lib/engine/components/opal/opal-account.cpp
index 178e790..a0d4ef1 100644
--- a/lib/engine/components/opal/opal-account.cpp
+++ b/lib/engine/components/opal/opal-account.cpp
@@ -519,7 +519,10 @@ void
 Opal::Account::enable ()
 {
   PString _aor;
-  xmlSetProp (node, BAD_CAST "enabled", BAD_CAST "true");
+  if (!is_enabled ()) {
+    xmlSetProp (node, BAD_CAST "enabled", BAD_CAST "true");
+    trigger_saving ();
+  }
 
   state = Processing;
   status = _("Processing...");
@@ -540,7 +543,6 @@ Opal::Account::enable ()
     break;
   }
   updated ();
-  trigger_saving ();
 
   disable_action ("enable-account");
   enable_action ("disable-account");
@@ -550,7 +552,10 @@ Opal::Account::enable ()
 void
 Opal::Account::disable ()
 {
-  xmlSetProp (node, BAD_CAST "enabled", BAD_CAST "false");
+  if (!is_enabled ()) {
+    xmlSetProp (node, BAD_CAST "enabled", BAD_CAST "false");
+    trigger_saving ();
+  }
 
   /* Actual unregistration code */
   switch (type) {
@@ -591,7 +596,6 @@ Opal::Account::disable ()
   state = Unregistered;
 
   updated ();
-  trigger_saving ();
 
   enable_action ("enable-account");
   disable_action ("disable-account");


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