[SCM] ktp-accounts-kcm packaging branch, master, updated. debian/15.12.1-1-1157-gc4589c5
Maximiliano Curia
maxy at moszumanska.debian.org
Sat May 28 00:03:02 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-accounts-kcm.git;a=commitdiff;h=d3784b9
The following commit has been merged in the master branch:
commit d3784b941d385911f0bce474d56a033b49a52da3
Author: Dan Vrátil <dvratil at redhat.com>
Date: Sun Jan 20 18:07:59 2013 +0100
Fix 'Edit Identity' button
REVIEW: 108502
BUG: 291653
FIXED-IN: 0.5.3
---
src/kcm-telepathy-accounts.cpp | 40 +++++++++++++++++++++++++++-------------
src/kcm-telepathy-accounts.h | 2 +-
2 files changed, 28 insertions(+), 14 deletions(-)
diff --git a/src/kcm-telepathy-accounts.cpp b/src/kcm-telepathy-accounts.cpp
index 380271a..f035c83 100644
--- a/src/kcm-telepathy-accounts.cpp
+++ b/src/kcm-telepathy-accounts.cpp
@@ -57,7 +57,9 @@ K_EXPORT_PLUGIN(KCMTelepathyAccountsFactory("telepathy_accounts", "telepathy-acc
KCMTelepathyAccounts::KCMTelepathyAccounts(QWidget *parent, const QVariantList& args)
: KCModule(KCMTelepathyAccountsFactory::componentData(), parent, args),
- m_accountsListModel(0)
+ m_accountsListModel(0),
+ m_currentModel(0),
+ m_currentListView(0)
{
//set up component data.
KAboutData *aboutData = new KAboutData(I18N_NOOP("telepathy_accounts"), 0, ki18n("Instant Messaging and VOIP Accounts"), "0.5.2", KLocalizedString(), KAboutData::License_GPL);
@@ -168,13 +170,15 @@ KCMTelepathyAccounts::KCMTelepathyAccounts(QWidget *parent, const QVariantList&
SLOT(onSelectedItemChanged(QModelIndex,QModelIndex)));
connect(m_accountsListModel,
SIGNAL(rowsInserted(QModelIndex,int,int)),
- SLOT(onModelDataChanged()));
+ SLOT(onModelDataChanged(QModelIndex)));
connect(m_accountsListModel,
SIGNAL(rowsRemoved(QModelIndex,int,int)),
- SLOT(onModelDataChanged()));
+ SLOT(onModelDataChanged(QModelIndex)));
connect(m_ui->salutEnableCheckbox,
SIGNAL(toggled(bool)),
SLOT(onSalutEnableButtonToggled(bool)));
+ connect(m_accountsListModel, SIGNAL(dataChanged(QModelIndex,QModelIndex)),
+ SLOT(onModelDataChanged(QModelIndex)));
// Check if salut is enabled
Tp::ConnectionManagerPtr cm = Tp::ConnectionManager::create(QLatin1String("salut"));
@@ -249,17 +253,18 @@ void KCMTelepathyAccounts::onSelectedItemChanged(const QModelIndex ¤t, con
{
Q_UNUSED(previous);
- m_ui->removeAccountButton->setEnabled(current.isValid());
- m_ui->editAccountButton->setEnabled(current.isValid());
+ /* Only change m_currentModel and "Edit Identity" button state when
+ * "current" is a selected item, not deselected */
+ if (current.isValid()) {
+ m_currentModel = qobject_cast<const QSortFilterProxyModel*>(current.model());
- if (current.isValid() && current.data(AccountsListModel::ConnectionStateRole).toInt() == Tp::ConnectionStatusConnected) {
- m_ui->editAccountIdentityButton->setEnabled(true);
- } else {
- m_ui->editAccountIdentityButton->setEnabled(false);
+ if (current.data(AccountsListModel::ConnectionStateRole).toInt() == Tp::ConnectionStatusConnected) {
+ m_ui->editAccountIdentityButton->setEnabled(true);
+ } else {
+ m_ui->editAccountIdentityButton->setEnabled(false);
+ }
}
- m_currentModel = qobject_cast<const QSortFilterProxyModel*>(current.model());
-
if (m_currentModel == m_salutFilterModel) {
m_currentListView = m_ui->salutListView;
m_ui->accountsListView->clearSelection();
@@ -270,7 +275,10 @@ void KCMTelepathyAccounts::onSelectedItemChanged(const QModelIndex ¤t, con
m_ui->salutListView->setCurrentIndex(QModelIndex());
}
- bool isAccount = (m_currentListView->currentIndex().isValid());
+ m_ui->removeAccountButton->setEnabled(m_currentListView->currentIndex().isValid());
+ m_ui->editAccountButton->setEnabled(m_currentListView->currentIndex().isValid());
+
+ bool isAccount = (m_currentListView->currentIndex().isValid() || m_ui->salutListView->currentIndex().isValid());
m_ui->removeAccountButton->setEnabled(isAccount);
m_ui->editAccountButton->setEnabled(isAccount);
}
@@ -343,11 +351,17 @@ void KCMTelepathyAccounts::onRemoveAccountClicked()
}
}
-void KCMTelepathyAccounts::onModelDataChanged()
+void KCMTelepathyAccounts::onModelDataChanged(const QModelIndex &index)
{
bool salutEnabled = m_salutFilterModel->rowCount() == 0;
m_ui->salutListView->setHidden(salutEnabled);
m_ui->salutEnableFrame->setHidden(!salutEnabled);
+
+ /* When model changes and the change is the currently selected row, update
+ * state of buttons */
+ if (m_currentListView && m_currentModel && (index == m_currentModel->mapToSource(m_currentListView->currentIndex()))) {
+ onSelectedItemChanged(m_currentListView->currentIndex(), m_currentListView->currentIndex());
+ }
}
void KCMTelepathyAccounts::onSalutEnableButtonToggled(bool checked)
diff --git a/src/kcm-telepathy-accounts.h b/src/kcm-telepathy-accounts.h
index 29629eb..7d1198b 100644
--- a/src/kcm-telepathy-accounts.h
+++ b/src/kcm-telepathy-accounts.h
@@ -67,7 +67,7 @@ private Q_SLOTS:
void onEditAccountClicked();
void onEditIdentityClicked();
void onRemoveAccountClicked();
- void onModelDataChanged();
+ void onModelDataChanged(const QModelIndex &index);
void onSalutEnableButtonToggled(bool checked);
void onSalutConnectionManagerReady(Tp::PendingOperation*);
void onSalutInfoReady();
--
ktp-accounts-kcm packaging
More information about the pkg-kde-commits
mailing list