[SCM] ktp-contact-list packaging branch, master, updated. debian/15.12.1-2-1070-g6c56f91
Maximiliano Curia
maxy at moszumanska.debian.org
Sat May 28 00:12:50 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-contact-list.git;a=commitdiff;h=4a964c7
The following commit has been merged in the master branch:
commit 4a964c7d9c424d8601645a7aa4eb719eb36d0bcc
Author: Daniele E. Domenichelli <ddomenichelli at kde.org>
Date: Wed Mar 6 21:29:25 2013 +0100
Split the display name and the contacts count in the header delegate
The contacts count was elided with the display name, and therefore
not displayed when the text is elided.
Also fixes a few small problems:
* The text was elided in a rect that was for some reason sometime
smaller and sometimes bigger than the available area.
* Add one point for the gray line in the bottom.
* Play a little bit with spacing, borders and size hints to make
it prettier and easier to understand.
BUG: 316089
BUG: 316090
REVIEW: 109319
FIXED-IN: 0.6.0
---
abstract-contact-delegate.cpp | 51 +++++++++++++++++++++++++------------------
1 file changed, 30 insertions(+), 21 deletions(-)
diff --git a/abstract-contact-delegate.cpp b/abstract-contact-delegate.cpp
index 8b70eed..3c0b43e 100644
--- a/abstract-contact-delegate.cpp
+++ b/abstract-contact-delegate.cpp
@@ -96,14 +96,17 @@ void AbstractContactDelegate::paintHeader(QPainter *painter, const QStyleOptionV
painter->drawLine(groupRect.bottomLeft(), groupRect.bottomRight());
painter->setRenderHint(QPainter::Antialiasing, true);
+ //remove spacing from the sides and one point to the bottom for the 1px line
+ groupRect.adjust(SPACING, 0, -SPACING, -1);
+
//get the proper rect for the expand sign
int iconSize = IconSize(KIconLoader::Toolbar);
QStyleOption expandSignOption = option;
expandSignOption.rect = groupRect;
expandSignOption.rect.setSize(QSize(iconSize, iconSize));
- expandSignOption.rect.moveLeft(groupRect.left() + SPACING);
- expandSignOption.rect.moveTop(groupRect.top() + 3);
+ expandSignOption.rect.moveLeft(groupRect.left());
+ expandSignOption.rect.moveTop(groupRect.top() + groupRect.height()/2 - expandSignOption.rect.height()/2);
//paint the expand sign
if (option.state & QStyle::State_Open) {
@@ -114,31 +117,35 @@ void AbstractContactDelegate::paintHeader(QPainter *painter, const QStyleOptionV
QFont groupFont = KGlobalSettings::smallestReadableFont();
- //paint the header string
- QRect groupLabelRect;
- groupLabelRect.setSize(QSize(groupRect.width() - expandSignOption.rect.width(), groupRect.height()));
- groupLabelRect.moveTo(QPoint(groupRect.left() + expandSignOption.rect.width() + SPACING * 3, groupRect.top() + 2));
-
- QString counts = QString(" (%1/%2)").arg(index.data(KTp::HeaderOnlineUsersRole).toString(),
- index.data(KTp::HeaderTotalUsersRole).toString());
-
- QString groupHeaderString = index.data(Qt::DisplayRole).toString().append(counts);
-
-
- painter->setPen(option.palette.color(QPalette::Active, QPalette::Text));
- painter->setFont(groupFont);
- painter->drawText(groupLabelRect, Qt::AlignVCenter | Qt::AlignLeft,
- optV4.fontMetrics.elidedText(groupHeaderString, Qt::ElideRight, groupLabelRect.width()));
-
//paint the group icon
QRect groupIconRect;
groupIconRect.setSize(QSize(ACCOUNT_ICON_SIZE, ACCOUNT_ICON_SIZE));
- groupIconRect.moveTo(QPoint(groupRect.right() - ACCOUNT_ICON_SIZE - 2, groupRect.top() + 2));
+ groupIconRect.moveRight(groupRect.right());
+ groupIconRect.moveTop(groupRect.top() + groupRect.height()/2 - groupIconRect.height()/2);
if (index.data(KTp::RowTypeRole).toInt() == KTp::AccountRowType) {
- painter->drawPixmap(groupIconRect, KIcon(index.data(Qt::DecorationRole).value<QIcon>()).pixmap(32));
+ painter->drawPixmap(groupIconRect, KIcon(index.data(Qt::DecorationRole).value<QIcon>()).pixmap(ACCOUNT_ICON_SIZE));
+ } else {
+ groupIconRect.setWidth(0);
}
+ //paint the header string
+ QRect groupLabelRect = groupRect.adjusted(expandSignOption.rect.width() + SPACING * 2, 0, -groupIconRect.width() -SPACING, 0);
+ QString countsString = QString("(%1/%2)").arg(index.data(KTp::HeaderOnlineUsersRole).toString(),
+ index.data(KTp::HeaderTotalUsersRole).toString());
+
+ QString groupHeaderString = index.data(Qt::DisplayRole).toString();
+
+ QFontMetrics groupFontMetrics(groupFont);
+
+ painter->setFont(groupFont);
+ painter->setPen(option.palette.color(QPalette::Disabled, QPalette::Text));
+ painter->drawText(groupLabelRect, Qt::AlignVCenter | Qt::AlignRight, countsString);
+ painter->setPen(option.palette.color(QPalette::Active, QPalette::Text));
+ painter->drawText(groupLabelRect, Qt::AlignVCenter | Qt::AlignLeft,
+ groupFontMetrics.elidedText(groupHeaderString, Qt::ElideRight,
+ groupLabelRect.width() - groupFontMetrics.width(countsString) - SPACING));
+
painter->restore();
}
@@ -146,7 +153,9 @@ QSize AbstractContactDelegate::sizeHintHeader(const QStyleOptionViewItem &option
{
Q_UNUSED(option)
Q_UNUSED(index)
- return QSize(0, qMax(ACCOUNT_ICON_SIZE + 2 * SPACING, KGlobalSettings::smallestReadableFont().pixelSize() + SPACING));
+
+ // Add one point to the bottom for the 1px line
+ return QSize(0, qMax(ACCOUNT_ICON_SIZE, KGlobalSettings::smallestReadableFont().pixelSize()) + SPACING + 1);
}
bool AbstractContactDelegate::helpEvent(QHelpEvent *event, QAbstractItemView *view, const QStyleOptionViewItem &option, const QModelIndex &index)
--
ktp-contact-list packaging
More information about the pkg-kde-commits
mailing list