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


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

The following commit has been merged in the master branch:
commit 75bfc20db897de922c78c443898ad85bc42e74c8
Author: David Edmundson <kde at davidedmundson.co.uk>
Date:   Sat Jan 8 23:54:46 2011 +0000

    improved work on item delegate
---
 src/accounts-list-delegate.cpp | 24 ++++++++++++++++++++----
 src/accounts-list-model.h      |  2 +-
 2 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/src/accounts-list-delegate.cpp b/src/accounts-list-delegate.cpp
index c6bb7f6..3d5a598 100644
--- a/src/accounts-list-delegate.cpp
+++ b/src/accounts-list-delegate.cpp
@@ -1,5 +1,7 @@
 #include "accounts-list-delegate.h"
 
+#include "accounts-list-model.h"
+
 #include <QApplication>
 #include <QPainter>
 
@@ -23,15 +25,29 @@ void AccountsListDelegate::paint(QPainter *painter, const QStyleOptionViewItem &
 
     style->drawPrimitive(QStyle::PE_PanelItemViewItem, &option, painter, 0);
 
+    QIcon icon = index.data(Qt::DecorationRole).value<QIcon>();
+    QString accountName = index.data(Qt::DisplayRole).toString();
+    QString connectionStatusString = index.data(AccountsListModel::ConnectionStateDisplayRole).toString();
+
     QRect innerRect = option.rect.adjusted(4,4,-4,-4); //add some padding
-    QRect iconRect(innerRect.topLeft(), option.decorationSize);
 
-    QIcon icon = index.data(Qt::DecorationRole).value<QIcon>();
+    QSize decorationSize = option.decorationSize;
+    QSize statusSize = style->itemTextRect(option.fontMetrics, option.rect, Qt::AlignCenter , false , connectionStatusString).size();
+
+    QRect iconRect(innerRect.topLeft(), decorationSize);
+    QRect statusRect(QPoint(innerRect.right() - statusSize.width(), innerRect.top()), innerRect.bottomRight());
+
+
+    QRect textRect(iconRect.topRight() + QPoint(5,0), statusRect.bottomLeft() - QPoint(5,0));
+
+
     painter->drawPixmap(iconRect, icon.pixmap(option.decorationSize));
+    painter->drawText(textRect, accountName);
 
-    QRect textRect(iconRect.topRight(), innerRect.bottomRight());
+    textRect.adjust(0,option.fontMetrics.height()+2,0,0);
+    painter->drawText(textRect, "Connection Error");
 
-    painter->drawText(textRect, index.data(Qt::DisplayRole).toString());
+    painter->drawText(statusRect, Qt::AlignCenter, connectionStatusString);
 }
 
 
diff --git a/src/accounts-list-model.h b/src/accounts-list-model.h
index 98d4942..fa67492 100644
--- a/src/accounts-list-model.h
+++ b/src/accounts-list-model.h
@@ -32,13 +32,13 @@ class AccountsListModel : public QAbstractListModel
     Q_OBJECT
     Q_DISABLE_COPY(AccountsListModel);
 
+public:
     enum Roles {
         ConnectionStateDisplayRole = Qt::UserRole+1,
         ConnectionStateIconRole = Qt::UserRole+2,
         ConnectionErrorMessageDisplayRole = Qt::UserRole+3
     };
 
-public:
     explicit AccountsListModel(QObject *parent = 0);
     virtual ~AccountsListModel();
     virtual int rowCount(const QModelIndex &index) const;

-- 
ktp-accounts-kcm packaging



More information about the pkg-kde-commits mailing list