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


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

The following commit has been merged in the master branch:
commit e6637c41b4dfef5add3704da83af6eae963207d5
Author: George Goldberg <grundleborg at googlemail.com>
Date:   Thu Jul 23 11:26:38 2009 +0000

    Add parameter-edit-widgets to the second page of the add account assitant.
    
    svn path=/trunk/playground/network/telepathy-accounts-kcm/; revision=1001469
---
 src/add-account-assistant.cpp   | 52 +++++++++++++++++++++++++++++++++--------
 src/parameter-edit-delegate.cpp | 22 +++++++++++++++++
 src/parameter-edit-delegate.h   |  5 ++++
 src/parameter-edit-widget.cpp   | 10 +++++++-
 src/protocol-item.cpp           | 44 ++++++++++++++++++++++++++++++++++
 src/protocol-item.h             |  5 ++++
 6 files changed, 127 insertions(+), 11 deletions(-)

diff --git a/src/add-account-assistant.cpp b/src/add-account-assistant.cpp
index a9b4a28..e991f09 100644
--- a/src/add-account-assistant.cpp
+++ b/src/add-account-assistant.cpp
@@ -20,6 +20,8 @@
 
 #include "add-account-assistant.h"
 
+#include "parameter-edit-widget.h"
+#include "protocol-item.h"
 #include "protocol-select-widget.h"
 
 #include <KDebug>
@@ -31,13 +33,20 @@ class AddAccountAssistant::Private
 {
 public:
     Private()
-     : pageOne(0)
+     : protocolSelectWidget(0),
+       tabWidget(0),
+       mandatoryParametersWidget(0),
+       optionalParametersWidget(0),
+       pageOne(0),
+       pageTwo(0)
     {
         kDebug();
     }
 
-    ProtocolSelectWidget *widgetOne;
-    KTabWidget *widgetTwo;
+    ProtocolSelectWidget *protocolSelectWidget;
+    KTabWidget *tabWidget;
+    ParameterEditWidget *mandatoryParametersWidget;
+    ParameterEditWidget *optionalParametersWidget;
     KPageWidgetItem *pageOne;
     KPageWidgetItem *pageTwo;
 };
@@ -49,11 +58,11 @@ AddAccountAssistant::AddAccountAssistant(QWidget *parent)
     kDebug();
 
     // Set up the pages of the Assistant.
-    d->widgetOne = new ProtocolSelectWidget(this);
-    d->pageOne = new KPageWidgetItem(d->widgetOne);
+    d->protocolSelectWidget = new ProtocolSelectWidget(this);
+    d->pageOne = new KPageWidgetItem(d->protocolSelectWidget);
     d->pageOne->setHeader(i18n("Step 1: Select an Instant Messaging Network."));
-    d->widgetTwo = new KTabWidget(this);
-    d->pageTwo = new KPageWidgetItem(d->widgetTwo);
+    d->tabWidget = new KTabWidget(this);
+    d->pageTwo = new KPageWidgetItem(d->tabWidget);
     d->pageTwo->setHeader(i18n("Step 2: Fill in the required Parameters."));
 
     addPage(d->pageOne);
@@ -83,9 +92,32 @@ void AddAccountAssistant::next()
         kDebug() << "Current page: Page 1.";
         // Page 1
 
-        // Check if the protocol is selected. If it is, continue to the next page.
-        if (d->widgetOne->selectedProtocol()) {
-            kDebug() << "Protocol is selected. Continue to the next page.";
+        // Check if the protocol is selected. If it is, set up the next page and continue to it.
+        if (d->protocolSelectWidget->selectedProtocol()) {
+            kDebug() << "Protocol is selected. Set up and continue to the next page.";
+
+            // Set up the next page.
+            ProtocolItem *item = d->protocolSelectWidget->selectedProtocol();
+
+            // Delete the widgets for the next page if they already exist
+            if (d->mandatoryParametersWidget) {
+                d->mandatoryParametersWidget->deleteLater();
+                d->mandatoryParametersWidget = 0;
+            }
+
+            if (d->optionalParametersWidget) {
+                d->optionalParametersWidget->deleteLater();
+                d->optionalParametersWidget = 0;
+            }
+
+            d->mandatoryParametersWidget = new ParameterEditWidget(d->tabWidget);
+            d->mandatoryParametersWidget->setParameters(item->mandatoryParameters());
+            d->tabWidget->addTab(d->mandatoryParametersWidget, i18n("Mandatory Parameters"));
+
+            d->optionalParametersWidget = new ParameterEditWidget(d->tabWidget);
+            d->optionalParametersWidget->setParameters(item->optionalParameters());
+            d->tabWidget->addTab(d->optionalParametersWidget, i18n("Optional Parameters"));
+
             KAssistantDialog::next();
         }
     }
diff --git a/src/parameter-edit-delegate.cpp b/src/parameter-edit-delegate.cpp
index 62d7590..2c06b30 100644
--- a/src/parameter-edit-delegate.cpp
+++ b/src/parameter-edit-delegate.cpp
@@ -59,6 +59,28 @@ void ParameterEditDelegate::updateItemWidgets(const QList<QWidget*> widgets,
     Q_UNUSED(index);
 }
 
+void ParameterEditDelegate::paint(QPainter *painter,
+                                  const QStyleOptionViewItem &option,
+                                  const QModelIndex &index) const
+{
+    // TODO: Implement me!
+
+    Q_UNUSED(painter);
+    Q_UNUSED(option);
+    Q_UNUSED(index);
+}
+
+QSize ParameterEditDelegate::sizeHint(const QStyleOptionViewItem &option,
+                                      const QModelIndex &index) const
+{
+    // TODO: Implement me!
+
+    Q_UNUSED(option);
+    Q_UNUSED(index);
+
+    return QSize();
+}
+
 
 #include "parameter-edit-delegate.moc"
 
diff --git a/src/parameter-edit-delegate.h b/src/parameter-edit-delegate.h
index cfd434b..a06e8a9 100644
--- a/src/parameter-edit-delegate.h
+++ b/src/parameter-edit-delegate.h
@@ -31,6 +31,11 @@ public:
     explicit ParameterEditDelegate(QAbstractItemView *itemView, QObject *parent = 0);
     virtual ~ParameterEditDelegate();
 
+    virtual void paint(QPainter *painter,
+                       const QStyleOptionViewItem &option,
+                       const QModelIndex &index) const;
+    virtual QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const;
+
 protected:
     virtual QList<QWidget*> createItemWidgets() const;
     virtual void updateItemWidgets(const QList<QWidget*> widgets,
diff --git a/src/parameter-edit-widget.cpp b/src/parameter-edit-widget.cpp
index cb905b3..dda0898 100644
--- a/src/parameter-edit-widget.cpp
+++ b/src/parameter-edit-widget.cpp
@@ -20,6 +20,8 @@
 
 #include "parameter-edit-widget.h"
 
+#include "parameter-edit-delegate.h"
+
 #include "ui_parameter-edit-widget.h"
 
 #include <KDebug>
@@ -28,13 +30,14 @@ class ParameterEditWidget::Private
 {
 public:
     Private()
-     : ui(0)
+     : ui(0), delegate(0)
     {
         kDebug();
     }
 
     Ui::ParameterEditWidget *ui;
     Tp::ProtocolParameterList parameters;
+    ParameterEditDelegate *delegate;
 };
 
 ParameterEditWidget::ParameterEditWidget(QWidget *parent)
@@ -46,6 +49,11 @@ ParameterEditWidget::ParameterEditWidget(QWidget *parent)
     // Set up the UI.
     d->ui = new Ui::ParameterEditWidget;
     d->ui->setupUi(this);
+
+  //  d->delegate = new ParameterEditDelegate(d->ui->parameterListView, this);
+  //  d->ui->parameterListView->setItemDelegate(d->delegate);
+
+    // TODO: Model
 }
 
 ParameterEditWidget::~ParameterEditWidget()
diff --git a/src/protocol-item.cpp b/src/protocol-item.cpp
index 3162bae..423f576 100644
--- a/src/protocol-item.cpp
+++ b/src/protocol-item.cpp
@@ -45,6 +45,50 @@ QString ProtocolItem::protocol() const
     return m_protocol;
 }
 
+Tp::ProtocolParameterList ProtocolItem::mandatoryParameters() const
+{
+    kDebug();
+
+    ConnectionManagerItem *item = qobject_cast<ConnectionManagerItem*>(parent());
+
+    Tp::ConnectionManagerPtr cm = item->connectionManager();
+
+    Tp::ProtocolParameterList mandatoryParameters;
+    foreach (Tp::ProtocolInfo *info, cm->protocols()) {
+        if (info->name() == m_protocol) {
+            foreach (Tp::ProtocolParameter *parameter, info->parameters()) {
+                if (parameter->isRequired()) {
+                    mandatoryParameters << parameter;
+                }
+            }
+        }
+    }
+
+    return mandatoryParameters;
+}
+
+Tp::ProtocolParameterList ProtocolItem::optionalParameters() const
+{
+    kDebug();
+
+    ConnectionManagerItem *item = qobject_cast<ConnectionManagerItem*>(parent());
+
+    Tp::ConnectionManagerPtr cm = item->connectionManager();
+
+    Tp::ProtocolParameterList optionalParameters;
+    foreach (Tp::ProtocolInfo *info, cm->protocols()) {
+        if (info->name() == m_protocol) {
+            foreach (Tp::ProtocolParameter *parameter, info->parameters()) {
+                if (!parameter->isRequired()) {
+                    optionalParameters << parameter;
+                }
+            }
+        }
+    }
+
+    return optionalParameters;
+}
+
 
 #include "protocol-item.moc"
 
diff --git a/src/protocol-item.h b/src/protocol-item.h
index 5210ce6..f2e9ee5 100644
--- a/src/protocol-item.h
+++ b/src/protocol-item.h
@@ -23,6 +23,8 @@
 
 #include <QtCore/QObject>
 
+#include <TelepathyQt4/ConnectionManager>
+
 class ConnectionManagerItem;
 
 class ProtocolItem : public QObject
@@ -37,6 +39,9 @@ public:
 
     QString protocol() const;
 
+    Tp::ProtocolParameterList mandatoryParameters() const;
+    Tp::ProtocolParameterList optionalParameters() const;
+
 private:
     QString m_protocol;
 };

-- 
ktp-accounts-kcm packaging



More information about the pkg-kde-commits mailing list