fix the empty space calculation in Plasma::Delegate

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=787721
This commit is contained in:
Marco Martin 2008-03-19 18:09:15 +00:00
parent 93a43df460
commit 13efb56562
2 changed files with 5 additions and 3 deletions

View File

@ -95,6 +95,7 @@ QRect Delegate::Private::titleRect(const QStyleOptionViewItem& option, const QMo
fm.boundingRect(index.data(Qt::DisplayRole).toString()).size(),
emptyRect);
textRect.setWidth(textRect.width() + TEXT_RIGHT_MARGIN);
textRect.setHeight(emptyRect.height()/2);
return textRect;
}
@ -110,7 +111,7 @@ QRect Delegate::Private::subTitleRect(const QStyleOptionViewItem& option, const
//if title=subtitle subtitle won't be displayed
if (subTitle != index.data(Qt::DisplayRole).toString()) {
textRect.setWidth(fm.width(" " + subTitle));
textRect.setWidth(fm.width(" " + subTitle) + TEXT_RIGHT_MARGIN);
} else {
textRect.setWidth(0);
}
@ -142,7 +143,7 @@ QRect Delegate::rectAfterTitle(const QStyleOptionViewItem& option, const QModelI
{
QRect textRect = d->titleRect(option, index);
QRect emptyRect(0, textRect.top(), option.rect.width() - textRect.width() - ITEM_LEFT_MARGIN - ITEM_RIGHT_MARGIN - ICON_SIZE, textRect.height());
QRect emptyRect(0, textRect.top(), option.rect.width() - textRect.width() - ITEM_LEFT_MARGIN - ITEM_RIGHT_MARGIN - ICON_SIZE - ICON_TEXT_MARGIN, textRect.height());
if (option.direction == Qt::LeftToRight) {
emptyRect.moveLeft(textRect.right());
@ -161,7 +162,7 @@ QRect Delegate::rectAfterSubTitle(const QStyleOptionViewItem& option, const QMod
{
QRect textRect = d->subTitleRect(option, index);
QRect emptyRect(0, textRect.top(), option.rect.width() - textRect.width() - ITEM_LEFT_MARGIN - ITEM_RIGHT_MARGIN - ICON_SIZE, textRect.height());
QRect emptyRect(0, textRect.top(), option.rect.width() - textRect.width() - ITEM_LEFT_MARGIN - ITEM_RIGHT_MARGIN - ICON_SIZE - ICON_TEXT_MARGIN, textRect.height());
if (option.direction == Qt::LeftToRight) {
emptyRect.moveLeft(textRect.right());

View File

@ -66,6 +66,7 @@ public:
void setRole(SpecificRoles role, int actual);
static const int ICON_TEXT_MARGIN = 10;
static const int TEXT_RIGHT_MARGIN = 5;
static const int ICON_SIZE = 32;
static const int ACTION_ICON_SIZE = 22;