[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:44 UTC 2016


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

The following commit has been merged in the master branch:
commit 03e4e3435a1101073f073ef315b8d2a3db4507d5
Author: Dominik Schmidt <dev at dominik-schmidt.de>
Date:   Thu Jan 13 11:44:26 2011 +0100

    Broken stuff, up to you Thomas ;-)
---
 .../abstract-account-parameters-widget.cpp         | 155 ++++++---------------
 .../abstract-account-parameters-widget.h           |   3 +
 src/KCMTelepathyAccounts/parameter-edit-model.cpp  |  21 ++-
 src/KCMTelepathyAccounts/parameter-edit-model.h    |   1 +
 src/KCMTelepathyAccounts/parameter-edit-widget.cpp |  16 +--
 src/KCMTelepathyAccounts/parameter-item.cpp        |   2 +-
 6 files changed, 71 insertions(+), 127 deletions(-)

diff --git a/src/KCMTelepathyAccounts/abstract-account-parameters-widget.cpp b/src/KCMTelepathyAccounts/abstract-account-parameters-widget.cpp
index 05b723b..3e79501 100644
--- a/src/KCMTelepathyAccounts/abstract-account-parameters-widget.cpp
+++ b/src/KCMTelepathyAccounts/abstract-account-parameters-widget.cpp
@@ -21,22 +21,27 @@
 
 #include "abstract-account-parameters-widget.h"
 #include "protocol-parameter-value.h"
+#include "parameter-edit-model.h"
 
 #include <KDebug>
 #include <QLineEdit>
 #include <QCheckBox>
 #include <QComboBox>
 #include <QSpinBox>
+#include <QDataWidgetMapper>
 
 
 class AbstractAccountParametersWidget::Private
 {
 public:
     Private()
+        : model(0),
+        mapper(0)
     {
         kDebug();
     }
-
+    ParameterEditModel *model;
+    QDataWidgetMapper *mapper;
     Tp::ProtocolParameterList parameters;
 };
 
@@ -49,8 +54,20 @@ AbstractAccountParametersWidget::AbstractAccountParametersWidget(Tp::ProtocolPar
     kDebug();
 
     d->parameters = parameters;
+    d->model = new ParameterEditModel(this);
+    d->mapper = new QDataWidgetMapper(this);
+    d->mapper->setModel(d->model);
+    foreach(const QString &key, values.keys())
+    {
+        kDebug() << key << values[key];
+    }
 
-    Q_UNUSED(values);
+    // Add the parameters to the model.
+    foreach (const Tp::ProtocolParameter &parameter, parameters) {
+        kDebug() << "Add Parameter:" << parameter.name() << "default:" << parameter.defaultValue() << values.value(parameter.name()) << values.value(parameter.name(), parameter.defaultValue());
+        d->model->addItem(parameter, values.value(parameter.name(), parameter.defaultValue()));
+    }
+    d->mapper->setOrientation(Qt::Vertical);
 }
 
 AbstractAccountParametersWidget::~AbstractAccountParametersWidget()
@@ -61,51 +78,11 @@ AbstractAccountParametersWidget::~AbstractAccountParametersWidget()
 }
 
 QList<ProtocolParameterValue> AbstractAccountParametersWidget::parameterValues() const
+
 {
     kDebug();
 
-    QList<ProtocolParameterValue> parameters;
-
-    ParametersWidgetsMap::const_iterator i = internalParametersWidgetsMap()->constBegin();
-    while (i != internalParametersWidgetsMap()->constEnd()) {
-
-        QLineEdit *lineEdit = qobject_cast<QLineEdit*>(i.value());
-        if(lineEdit)
-        {
-            parameters.append(ProtocolParameterValue(i.key(), lineEdit->text()));
-            ++i;
-            continue;
-        }
-
-        QCheckBox *checkBox = qobject_cast<QCheckBox*>(i.value());
-        if(checkBox)
-        {
-            parameters.append(ProtocolParameterValue(i.key(), checkBox->isChecked()));
-            ++i;
-            continue;
-        }
-
-        QComboBox *comboBox = qobject_cast<QComboBox*>(i.value());
-        if(comboBox)
-        {
-            parameters.append(ProtocolParameterValue(i.key(), comboBox->currentText()));
-            ++i;
-            continue;
-        }
-
-        QSpinBox *spinBox = qobject_cast<QSpinBox*>(i.value());
-        if(spinBox)
-        {
-            parameters.append(ProtocolParameterValue(i.key(), spinBox->value()));
-            ++i;
-            continue;
-        }
-
-        kDebug() << "WIDGET TYPE NOT SUPPORTED!";
-        ++i;
-    }
-
-    return parameters;
+    return d->model->parameterValues();
 }
 
 Tp::ProtocolParameterList AbstractAccountParametersWidget::parameters() const
@@ -115,12 +92,14 @@ Tp::ProtocolParameterList AbstractAccountParametersWidget::parameters() const
 
 bool AbstractAccountParametersWidget::validateParameterValues()
 {
-    return true;
+    return d->model->validateParameterValues();
 }
 
 
 ParametersWidgetsMap* AbstractAccountParametersWidget::internalParametersWidgetsMap() const
 {
+    
+    kDebug() << "DEPRECATED";
     ParametersWidgetsMap *map = new ParametersWidgetsMap();
     return map;
 }
@@ -154,10 +133,16 @@ void AbstractAccountParametersWidget::handleParameter(const Tp::ProtocolParamete
         }
     }
 
-    if(foundParameter.isValid())
+    if(!foundParameter.isValid())
+    {
+        return;
+    }
+    
+    int modelRow = d->model->rowForParameter(foundParameter);
+    if(modelRow != -1)
     {
         // insert it to valid parameters list
-        internalParametersWidgetsMap()->insert(foundParameter, dataWidget);
+        d->mapper->addMapping(dataWidget, modelRow);
     }
     else
     {
@@ -168,80 +153,18 @@ void AbstractAccountParametersWidget::handleParameter(const Tp::ProtocolParamete
             label->hide();
         }
     }
-
-
+    d->mapper->toFirst();
 }
 
-void AbstractAccountParametersWidget::prefillUI(const QVariantMap& values)
+ParameterEditModel* AbstractAccountParametersWidget::model() const
 {
-    kDebug();
-
-    ParametersWidgetsMap::const_iterator i = internalParametersWidgetsMap()->constBegin();
-    while (i != internalParametersWidgetsMap()->constEnd()) {
-        kDebug() << "Search widget for " << i.key().name();
-        QLineEdit* lineEdit = qobject_cast<QLineEdit*>(i.value());
-        if(lineEdit)
-        {
-            if(values.value(i.key().name()).isValid())
-            {
-                lineEdit->setText(values.value(i.key().name()).toString());
-            }
-            else
-            {
-                lineEdit->setText(i.key().defaultValue().toString());
-            }
-            ++i;
-            continue;
-        }
-
-        QCheckBox* checkBox = qobject_cast<QCheckBox*>(i.value());
-        if(checkBox)
-        {
-            if(values.value(i.key().name()).isValid())
-            {
-                checkBox->setChecked(values.value(i.key().name()).toBool());
-            }
-            else
-            {
-                checkBox->setChecked(i.key().defaultValue().toBool());
-            }
-            ++i;
-            continue;
-        }
-
-        QComboBox* comboBox = qobject_cast<QComboBox*>(i.value());
-        if(checkBox)
-        {
-            if(values.value(i.key().name()).isValid())
-            {
-                comboBox->setEditText(values.value(i.key().name()).toString());
-            }
-            else
-            {
-                comboBox->setEditText(i.key().defaultValue().toString());
-            }
-            ++i;
-            continue;
-        }
+    return d->model;
+}
 
-        QSpinBox* spinBox = qobject_cast<QSpinBox*>(i.value());
-        if(spinBox)
-        {
-            if(values.value(i.key().name()).isValid())
-            {
-                spinBox->setValue(values.value(i.key().name()).toInt());
-            }
-            else
-            {                
-                spinBox->setValue(i.key().defaultValue().toInt());
-            }
-            ++i;
-            continue;
-        }
 
-        kDebug() << "WIDGET TYPE UNKNOWN!";
-        ++i;
-    }
+void AbstractAccountParametersWidget::prefillUI(const QVariantMap& values)
+{
+    kDebug() << "DEPRECATED";
 }
 
 #include "abstract-account-parameters-widget.moc"
diff --git a/src/KCMTelepathyAccounts/abstract-account-parameters-widget.h b/src/KCMTelepathyAccounts/abstract-account-parameters-widget.h
index b969665..b93ed43 100644
--- a/src/KCMTelepathyAccounts/abstract-account-parameters-widget.h
+++ b/src/KCMTelepathyAccounts/abstract-account-parameters-widget.h
@@ -30,7 +30,9 @@
 
 #include <TelepathyQt4/ConnectionManager>
 
+class ParameterEditModel;
 class ProtocolParameterValue;
+class ParameterEditModel;
 
 typedef QMap<Tp::ProtocolParameter, QWidget*> ParametersWidgetsMap;
 
@@ -63,6 +65,7 @@ protected:
                          QWidget* labelWidget);
 
     void prefillUI(const QVariantMap &values);
+    ParameterEditModel *model() const;
 
 private:
     Q_DISABLE_COPY(AbstractAccountParametersWidget);
diff --git a/src/KCMTelepathyAccounts/parameter-edit-model.cpp b/src/KCMTelepathyAccounts/parameter-edit-model.cpp
index a30481e..03b6e1c 100644
--- a/src/KCMTelepathyAccounts/parameter-edit-model.cpp
+++ b/src/KCMTelepathyAccounts/parameter-edit-model.cpp
@@ -60,12 +60,19 @@ int ParameterEditModel::rowCount(const QModelIndex &index) const
 
 QVariant ParameterEditModel::data(const QModelIndex &index, int role) const
 {
+   // kDebug() << index << role;
     // FIXME: This is a basic implementation just so I can see what's going
     // on while developing this code further. Needs expanding.
     QVariant data;
 
     switch(role)
     {
+    case Qt::DisplayRole:
+        data = QVariant(m_items.at(index.row())->value());
+        break;
+    case Qt::EditRole:
+        data = QVariant(m_items.at(index.row())->value());
+        break;
     case ParameterEditModel::NameRole:
         data = QVariant(m_items.at(index.row())->name());
         break;
@@ -99,6 +106,8 @@ QVariant ParameterEditModel::data(const QModelIndex &index, int role) const
 
 bool ParameterEditModel::setData(const QModelIndex &index, const QVariant &value, int role)
 {
+    //kDebug() << index << value << role;
+
     if (index.row() == -1) {
         kDebug() << "Invalid item row accessed.";
         return false;
@@ -109,7 +118,7 @@ bool ParameterEditModel::setData(const QModelIndex &index, const QVariant &value
         return false;
     }
 
-    if (role == ParameterEditModel::ValueRole) {
+    if (role == ParameterEditModel::ValueRole || role == Qt::EditRole) {
 
         m_items.at(index.row())->setValue(value);
         Q_EMIT dataChanged(index, index);
@@ -133,6 +142,16 @@ bool ParameterEditModel::setData(const QModelIndex &index, const QVariant &value
     }
 }
 
+
+int ParameterEditModel::rowForParameter(const Tp::ProtocolParameter &parameter)
+{
+    for(int i=0; i<m_items.size(); ++i) {
+        if(m_items.at(i)->parameter() == parameter)
+            return i;
+    }
+    return -1;
+}
+
 void ParameterEditModel::addItem(const Tp::ProtocolParameter &parameter, const QVariant &originalValue)
 {
     kDebug();
diff --git a/src/KCMTelepathyAccounts/parameter-edit-model.h b/src/KCMTelepathyAccounts/parameter-edit-model.h
index 4eac5a7..725899f 100644
--- a/src/KCMTelepathyAccounts/parameter-edit-model.h
+++ b/src/KCMTelepathyAccounts/parameter-edit-model.h
@@ -55,6 +55,7 @@ public:
     virtual int rowCount(const QModelIndex &index) const;
     virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
     virtual bool setData(const QModelIndex &index, const QVariant &value, int role);
+    int rowForParameter(const Tp::ProtocolParameter &parameter);
 
     void addItem(const Tp::ProtocolParameter &parameter, const QVariant &originalValue);
     QList<ProtocolParameterValue> parameterValues() const;
diff --git a/src/KCMTelepathyAccounts/parameter-edit-widget.cpp b/src/KCMTelepathyAccounts/parameter-edit-widget.cpp
index 7dd1e53..07f0efb 100644
--- a/src/KCMTelepathyAccounts/parameter-edit-widget.cpp
+++ b/src/KCMTelepathyAccounts/parameter-edit-widget.cpp
@@ -31,14 +31,13 @@ class ParameterEditWidget::Private
 {
 public:
     Private()
-     : ui(0), delegate(0), model(0)
+     : ui(0), delegate(0)
     {
         kDebug();
     }
 
     Ui::ParameterEditWidget *ui;
     ParameterEditDelegate *delegate;
-    ParameterEditModel *model;
 };
 
 ParameterEditWidget::ParameterEditWidget(Tp::ProtocolParameterList parameters,
@@ -53,8 +52,7 @@ ParameterEditWidget::ParameterEditWidget(Tp::ProtocolParameterList parameters,
     d->ui = new Ui::ParameterEditWidget;
     d->ui->setupUi(this);
 
-    d->model = new ParameterEditModel(this);
-    d->ui->parameterListView->setModel(d->model);
+    d->ui->parameterListView->setModel(model());
     d->delegate = new ParameterEditDelegate(d->ui->parameterListView, this);
     d->ui->parameterListView->setItemDelegate(d->delegate);
 
@@ -62,10 +60,10 @@ ParameterEditWidget::ParameterEditWidget(Tp::ProtocolParameterList parameters,
             SIGNAL(dataChanged(QModelIndex, QVariant, int)),
             SLOT(onDelegateDataChanged(QModelIndex, QVariant, int)));
 
-    // Add the parameters to the model.
+    /*// Add the parameters to the model.
     foreach (const Tp::ProtocolParameter &parameter, parameters) {
         d->model->addItem(parameter, values.value(parameter.name(), parameter.defaultValue()));
-    }
+    }*/
 }
 
 ParameterEditWidget::~ParameterEditWidget()
@@ -78,18 +76,18 @@ ParameterEditWidget::~ParameterEditWidget()
 
 QList<ProtocolParameterValue> ParameterEditWidget::parameterValues() const
 {
-    return d->model->parameterValues();
+    return model()->parameterValues();
 }
 
 
 void ParameterEditWidget::onDelegateDataChanged(const QModelIndex &index, const QVariant &value, int role)
 {
-    d->model->setData(index, value, role);
+    model()->setData(index, value, role);
 }
 
 bool ParameterEditWidget::validateParameterValues()
 {
-    return d->model->validateParameterValues();
+    return model()->validateParameterValues();
 }
 
 
diff --git a/src/KCMTelepathyAccounts/parameter-item.cpp b/src/KCMTelepathyAccounts/parameter-item.cpp
index 8f907f7..cce0f72 100644
--- a/src/KCMTelepathyAccounts/parameter-item.cpp
+++ b/src/KCMTelepathyAccounts/parameter-item.cpp
@@ -49,7 +49,7 @@ ParameterItem::ParameterItem(const Tp::ProtocolParameter &parameter,
 
 ParameterItem::~ParameterItem()
 {
-    kDebug();
+    //kDebug();
 }
 
 QString ParameterItem::name() const

-- 
ktp-accounts-kcm packaging



More information about the pkg-kde-commits mailing list