[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:54 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-accounts-kcm.git;a=commitdiff;h=45278f4
The following commit has been merged in the master branch:
commit 45278f41411433f088bce27cd8b1afb4c211381c
Author: George Goldberg <grundleborg at googlemail.com>
Date: Mon Aug 3 13:19:27 2009 +0000
When the Edit button is clicked, display the EditAccountDialog.
svn path=/trunk/playground/network/telepathy-accounts-kcm/; revision=1006317
---
src/account-item.cpp | 21 ++++++++++++++++++++-
src/account-item.h | 3 +++
src/accounts-list-model.cpp | 19 +++++++++++++++++++
src/accounts-list-model.h | 1 +
src/edit-account-dialog.cpp | 2 +-
src/edit-account-dialog.h | 7 +++----
src/kcm-telepathy-accounts.cpp | 23 +++++++++++++++++++++++
src/kcm-telepathy-accounts.h | 1 +
8 files changed, 71 insertions(+), 6 deletions(-)
diff --git a/src/account-item.cpp b/src/account-item.cpp
index ef382fc..eaa237a 100644
--- a/src/account-item.cpp
+++ b/src/account-item.cpp
@@ -21,7 +21,9 @@
#include "account-item.h"
#include "accounts-list-model.h"
+#include "edit-account-dialog.h"
+#include <KApplication>
#include <KDebug>
#include <KIcon>
@@ -34,7 +36,8 @@
AccountItem::AccountItem(const Tp::AccountPtr &account, AccountsListModel *parent)
: QObject(parent),
m_account(account),
- m_icon(new KIcon())
+ m_icon(new KIcon()),
+ m_editAccountDialog(0)
{
kDebug();
@@ -74,6 +77,22 @@ Tp::AccountPtr AccountItem::account() const
return m_account;
}
+void AccountItem::edit()
+{
+ kDebug();
+
+ // If the edit dialog already exists, focus it.
+ if (m_editAccountDialog) {
+ m_editAccountDialog->focusWidget();
+ return;
+ }
+
+ // FIXME: There should be a driving test for those who want to become parents... :'(
+ QWidget *p = qobject_cast<QWidget*>(parent()->parent());
+ m_editAccountDialog = new EditAccountDialog(this, p); // FIXME: Argh I'm going to jump off a bridge
+ m_editAccountDialog->show();
+}
+
void AccountItem::remove()
{
kDebug() << "Account about to be removed";
diff --git a/src/account-item.h b/src/account-item.h
index e812e5a..4c9feec 100644
--- a/src/account-item.h
+++ b/src/account-item.h
@@ -28,6 +28,7 @@
class KIcon;
class AccountsListModel;
+class EditAccountDialog;
namespace Tp {
class PendingOperation;
@@ -42,6 +43,7 @@ public:
explicit AccountItem(const Tp::AccountPtr &account, AccountsListModel *parent = 0);
virtual ~AccountItem();
Tp::AccountPtr account() const;
+ void edit();
void remove();
const KIcon& icon() const;
@@ -58,6 +60,7 @@ Q_SIGNALS:
private:
Tp::AccountPtr m_account;
KIcon* m_icon;
+ EditAccountDialog *m_editAccountDialog;
};
diff --git a/src/accounts-list-model.cpp b/src/accounts-list-model.cpp
index 1b37825..9641330 100644
--- a/src/accounts-list-model.cpp
+++ b/src/accounts-list-model.cpp
@@ -140,6 +140,25 @@ void AccountsListModel::addAccount(const Tp::AccountPtr &account)
}
}
+void AccountsListModel::editAccount(const QModelIndex &index)
+{
+ kDebug();
+
+ if(!index.isValid()) {
+ kWarning() << "Can't edit Account: Invalid index.";
+ return;
+ }
+
+ AccountItem *accountItem = m_readyAccounts.at(index.row());
+
+ if (!accountItem) {
+ kWarning() << "Account item is null.";
+ return;
+ }
+
+ accountItem->edit();
+}
+
void AccountsListModel::removeAccount(const QModelIndex &index)
{
kDebug();
diff --git a/src/accounts-list-model.h b/src/accounts-list-model.h
index 6922833..6beefea 100644
--- a/src/accounts-list-model.h
+++ b/src/accounts-list-model.h
@@ -40,6 +40,7 @@ public:
virtual Qt::ItemFlags flags(const QModelIndex &index) const;
virtual bool setData(const QModelIndex &index, const QVariant &value, int role);
void addAccount(const Tp::AccountPtr &account);
+ void editAccount(const QModelIndex &index);
void removeAccount(const QModelIndex &index);
private Q_SLOTS:
diff --git a/src/edit-account-dialog.cpp b/src/edit-account-dialog.cpp
index 91f2334..873eb9f 100644
--- a/src/edit-account-dialog.cpp
+++ b/src/edit-account-dialog.cpp
@@ -35,7 +35,7 @@ public:
};
EditAccountDialog::EditAccountDialog(AccountItem *item, QWidget *parent)
- : QWidget(parent),
+ : KDialog(parent),
d(new Private)
{
kDebug();
diff --git a/src/edit-account-dialog.h b/src/edit-account-dialog.h
index 5cc0466..2524322 100644
--- a/src/edit-account-dialog.h
+++ b/src/edit-account-dialog.h
@@ -25,15 +25,14 @@
#include <kdemacros.h>
-#include <QtGui/QWidget>
+#include <KDialog>
-class KDE_EXPORT EditAccountDialog : public QWidget
+class KDE_EXPORT EditAccountDialog : public KDialog
{
Q_OBJECT
public:
- explicit EditAccountDialog(AccountItem *item,
- QWidget *parent = 0);
+ explicit EditAccountDialog(AccountItem *item, QWidget *parent = 0);
virtual ~EditAccountDialog();
private:
diff --git a/src/kcm-telepathy-accounts.cpp b/src/kcm-telepathy-accounts.cpp
index 1868351..ee23f3d 100644
--- a/src/kcm-telepathy-accounts.cpp
+++ b/src/kcm-telepathy-accounts.cpp
@@ -65,6 +65,9 @@ KCMTelepathyAccounts::KCMTelepathyAccounts(QWidget *parent, const QVariantList&
connect(m_addAccountButton,
SIGNAL(clicked()),
SLOT(onAddAccountClicked()));
+ connect(m_editAccountButton,
+ SIGNAL(clicked()),
+ SLOT(onEditAccountClicked()));
connect(m_removeAccountButton,
SIGNAL(clicked()),
SLOT(onRemoveAccountClicked()));
@@ -155,6 +158,26 @@ void KCMTelepathyAccounts::onAddAccountClicked()
kWarning() << "Cannot create a new AddAccountAssistant. One already exists.";
}
+void KCMTelepathyAccounts::onEditAccountClicked()
+{
+ kDebug();
+
+ // Editing accounts is only possible if the Account Manager is ready.
+ if (!m_accountManager->isReady()) {
+ return;
+ }
+
+ QModelIndex index = m_accountsListView->currentIndex();
+
+ // A valid account must be selected in the list to allow editing
+ if (!index.isValid()) {
+ return;
+ }
+
+ // Item is OK. Edit the item.
+ m_accountsListModel->editAccount(index);
+}
+
void KCMTelepathyAccounts::onRemoveAccountClicked()
{
kDebug();
diff --git a/src/kcm-telepathy-accounts.h b/src/kcm-telepathy-accounts.h
index c192ce5..63a168a 100644
--- a/src/kcm-telepathy-accounts.h
+++ b/src/kcm-telepathy-accounts.h
@@ -53,6 +53,7 @@ private Q_SLOTS:
void onSelectedItemChanged();
void onAddAccountClicked();
+ void onEditAccountClicked();
void onRemoveAccountClicked();
void onAddAccountAssistantClosed();
--
ktp-accounts-kcm packaging
More information about the pkg-kde-commits
mailing list