[SCM] ktp-accounts-kcm packaging branch, master, updated. debian/15.12.1-1-1157-gc4589c5

Maximiliano Curia maxy at moszumanska.debian.org
Fri May 27 23:58:06 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-accounts-kcm.git;a=commitdiff;h=31c4c87

The following commit has been merged in the master branch:
commit 31c4c87d4648ef0991d03db7beea190b05a65907
Author: George Goldberg <grundleborg at googlemail.com>
Date:   Tue Aug 11 12:38:51 2009 +0000

    Fix bug where parameters with the default value were not unset when editing the account.
    
    svn path=/trunk/playground/network/telepathy-accounts-kcm/; revision=1010016
---
 src/edit-account-dialog.cpp | 49 +++++++++++++++++++++++++++++++++++++--------
 1 file changed, 41 insertions(+), 8 deletions(-)

diff --git a/src/edit-account-dialog.cpp b/src/edit-account-dialog.cpp
index d7ab093..60ab1ff 100644
--- a/src/edit-account-dialog.cpp
+++ b/src/edit-account-dialog.cpp
@@ -238,27 +238,60 @@ void EditAccountDialog::accept()
     foreach (Tp::ProtocolParameter *pp, mandatoryParameterValues.keys()) {
         QVariant value = mandatoryParameterValues.value(pp);
 
-        // Unset empty parameters.
-        if (!value.isNull()) {
-            parameters.insert(pp->name(), value);
+        // Unset null parameters.
+        if (value.isNull()) {
+            unsetParameters.append(pp->name());
             continue;
         }
 
-        unsetParameters.append(pp->name());
+        // Unset any parameters where the default value is equal to the current value.
+        if (pp->defaultValue() == value) {
+            unsetParameters.append(pp->name());
+            continue;
+        }
+
+        // Unset any strings where the default is empty, and the value is an empty string
+        if (pp->type() == QVariant::String) {
+            if ((pp->defaultValue().isNull()) && value.toString().isEmpty()) {
+                unsetParameters.append(pp->name());
+                continue;
+            }
+        }
+
+        // Parameter has a valid value, so set it.
+        parameters.insert(pp->name(), value);
     }
 
     foreach (Tp::ProtocolParameter *pp, optionalParameterValues.keys()) {
         QVariant value = optionalParameterValues.value(pp);
 
-        // Unset empty parameters.
-        if (!value.isNull()) {
-            parameters.insert(pp->name(), value);
+        // Unset null parameters.
+        if (value.isNull()) {
+            unsetParameters.append(pp->name());
             continue;
         }
 
-        unsetParameters.append(pp->name());
+        // Unset any parameters where the default value is equal to the current value.
+        if (pp->defaultValue() == value) {
+            unsetParameters.append(pp->name());
+            continue;
+        }
+
+        // Unset any strings where the default is empty, and the value is an empty string
+        if (pp->type() == QVariant::String) {
+            if ((pp->defaultValue().isNull()) && value.toString().isEmpty()) {
+                unsetParameters.append(pp->name());
+                continue;
+            }
+        }
+
+        // Parameter has a valid value, so set it.
+        parameters.insert(pp->name(), value);
     }
 
+    // kDebug() << "Set parameters:" << parameters;
+    // kDebug() << "Unset parameters:" << unsetParameters;
+
     Tp::PendingStringList *psl = d->item->account()->updateParameters(parameters, unsetParameters);
 
     connect(psl,

-- 
ktp-accounts-kcm packaging



More information about the pkg-kde-commits mailing list