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


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

The following commit has been merged in the master branch:
commit 2565e2337d7d23c0db1872ea13f73df9f944b81b
Author: David Edmundson <kde at davidedmundson.co.uk>
Date:   Sun Jan 9 15:07:13 2011 +0000

    Show status connection reason.
---
 src/account-item.cpp           | 13 +++++++++++++
 src/account-item.h             |  1 +
 src/accounts-list-delegate.cpp | 34 ++++++++++++++++++++++++++++------
 src/accounts-list-model.cpp    |  3 +++
 4 files changed, 45 insertions(+), 6 deletions(-)

diff --git a/src/account-item.cpp b/src/account-item.cpp
index 471d4d8..6cd19f7 100644
--- a/src/account-item.cpp
+++ b/src/account-item.cpp
@@ -113,6 +113,19 @@ const KIcon AccountItem::connectionStateIcon() const
     }
 }
 
+const QString AccountItem::connectionStatusReason() const
+{
+    switch (m_account->connectionStatusReason())
+    {
+    case Tp::ConnectionStatusReasonAuthenticationFailed:
+        return i18n("Authentication Failed");
+    case Tp::ConnectionStatusReasonNetworkError:
+        return i18n("Network Error");
+    default:
+        return QString();
+    }
+}
+
 void AccountItem::generateIcon()
 {
     kDebug();
diff --git a/src/account-item.h b/src/account-item.h
index 137e893..809b93f 100644
--- a/src/account-item.h
+++ b/src/account-item.h
@@ -46,6 +46,7 @@ public:
     const KIcon& icon() const;
     const QString connectionStateString() const;
     const KIcon connectionStateIcon() const;
+    const QString connectionStatusReason() const;
 
 public Q_SLOTS:
     void onTitleForCustomPages(QString, QList<QString>);
diff --git a/src/accounts-list-delegate.cpp b/src/accounts-list-delegate.cpp
index 3d5a598..004598f 100644
--- a/src/accounts-list-delegate.cpp
+++ b/src/accounts-list-delegate.cpp
@@ -16,11 +16,13 @@ QSize AccountsListDelegate::sizeHint(const QStyleOptionViewItem &option, const Q
 
     int iconHeight = option.decorationSize.height() + (4*2);
 
-    return QSize(iconHeight,50); //any random width,the view should give us the whole thing.
+    return QSize(iconHeight,50); //any width,the view should give us the whole thing.
 }
 
 void AccountsListDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
 {
+    //draws Icon AccountName  ConnectionIcon ConnectionState
+
     QStyle *style = QApplication::style();
 
     style->drawPrimitive(QStyle::PE_PanelItemViewItem, &option, painter, 0);
@@ -28,26 +30,46 @@ void AccountsListDelegate::paint(QPainter *painter, const QStyleOptionViewItem &
     QIcon icon = index.data(Qt::DecorationRole).value<QIcon>();
     QString accountName = index.data(Qt::DisplayRole).toString();
     QString connectionStatusString = index.data(AccountsListModel::ConnectionStateDisplayRole).toString();
+    QString connectionErrorString = index.data(AccountsListModel::ConnectionErrorMessageDisplayRole).toString();
+    QIcon connectionStatusIcon = index.data(AccountsListModel::ConnectionStateIconRole).value<QIcon>();
+
 
     QRect innerRect = option.rect.adjusted(4,4,-4,-4); //add some padding
 
+    int top = innerRect.top();
+    int bottom = innerRect.bottom();
+
     QSize decorationSize = option.decorationSize;
-    QSize statusSize = style->itemTextRect(option.fontMetrics, option.rect, Qt::AlignCenter , false , connectionStatusString).size();
+    QSize statusTextSize = style->itemTextRect(option.fontMetrics, option.rect, Qt::AlignCenter , false , connectionStatusString).size();
+    QSize statusIconSize = QSize(16,16); //a nice small icon
+    QSize statusSize = statusTextSize+statusIconSize;
+    //the main account label size = whatever's left.
 
     QRect iconRect(innerRect.topLeft(), decorationSize);
-    QRect statusRect(QPoint(innerRect.right() - statusSize.width(), innerRect.top()), innerRect.bottomRight());
+//    QRect statusTextRect(QPoint(top, innerRect.right() - statusTextSize.width()), QPoint(bottom, innerRect.right()));
 
 
-    QRect textRect(iconRect.topRight() + QPoint(5,0), statusRect.bottomLeft() - QPoint(5,0));
+    QRect statusTextRect(QPoint(innerRect.right() - statusSize.width(), innerRect.top()), innerRect.bottomRight());
+    int statusIconTopPadding = (innerRect.height() - statusIconSize.height()) / 2 ;
+    QRect statusIconRect(QPoint(statusTextRect.left() - statusIconSize.width(), top + statusIconTopPadding), statusIconSize);
 
+    QRect textRect(iconRect.topRight() + QPoint(10,0), QPoint(innerRect.right() - statusIconSize.width() - statusTextSize.width(), bottom));
+
+    QFont boldFont = option.font;
+    boldFont.setBold(true);
 
     painter->drawPixmap(iconRect, icon.pixmap(option.decorationSize));
+    painter->drawPixmap(statusIconRect,connectionStatusIcon.pixmap(16,16));
+
+
+    painter->setFont(boldFont);
     painter->drawText(textRect, accountName);
+    painter->setFont(option.font);
 
     textRect.adjust(0,option.fontMetrics.height()+2,0,0);
-    painter->drawText(textRect, "Connection Error");
+    painter->drawText(textRect, connectionErrorString);
 
-    painter->drawText(statusRect, Qt::AlignCenter, connectionStatusString);
+    painter->drawText(statusTextRect, Qt::AlignCenter, connectionStatusString);
 }
 
 
diff --git a/src/accounts-list-model.cpp b/src/accounts-list-model.cpp
index 5862398..4db4f5a 100644
--- a/src/accounts-list-model.cpp
+++ b/src/accounts-list-model.cpp
@@ -86,6 +86,9 @@ QVariant AccountsListModel::data(const QModelIndex &index, int role) const
         data = QVariant(m_accounts.at(index.row())->connectionStateIcon());
         break;
 
+    case AccountsListModel::ConnectionErrorMessageDisplayRole:
+        data = QVariant(m_accounts.at(index.row())->connectionStatusReason());
+        break;
     default:
         break;
     }

-- 
ktp-accounts-kcm packaging



More information about the pkg-kde-commits mailing list