[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