[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