diff options
| author | Rafael Fernández López <[email protected]> | 2008-03-29 16:01:06 +0000 |
|---|---|---|
| committer | Rafael Fernández López <[email protected]> | 2008-03-29 16:01:06 +0000 |
| commit | 7ee8ead0142802e0995674d314b1eb9589b15ae2 (patch) | |
| tree | a8fef5019c5a09bca656262a3590c30375e6715b | |
| parent | ae392783a187b686b28bad9bd4cf97e9bb008f1f (diff) | |
Use PE_PanelItemViewItem for consistency
svn path=/trunk/KDE/kdebase/apps/; revision=791451
| -rw-r--r-- | src/dolphincategorydrawer.cpp | 40 |
1 files changed, 13 insertions, 27 deletions
diff --git a/src/dolphincategorydrawer.cpp b/src/dolphincategorydrawer.cpp index b96387646..721b0dc68 100644 --- a/src/dolphincategorydrawer.cpp +++ b/src/dolphincategorydrawer.cpp @@ -24,6 +24,8 @@ #include <QPainter> #include <QFile> #include <QDir> +#include <QApplication> +#include <QStyleOption> #ifdef HAVE_NEPOMUK #include <nepomuk/kratingpainter.h> @@ -37,6 +39,8 @@ #include "dolphinview.h" #include "dolphinmodel.h" +#define HORIZONTAL_HINT 3 + DolphinCategoryDrawer::DolphinCategoryDrawer() { } @@ -79,37 +83,19 @@ void DolphinCategoryDrawer::drawCategory(const QModelIndex &index, int sortRole, QStyleOptionButton opt; opt.rect = option.rect; + opt.rect.setLeft(opt.rect.left() + HORIZONTAL_HINT); + opt.rect.setRight(opt.rect.right() - HORIZONTAL_HINT); opt.palette = option.palette; opt.direction = option.direction; opt.text = category; - if (option.state & QStyle::State_Selected) - { - QColor selected = option.palette.color(QPalette::Highlight); - - QLinearGradient gradient(option.rect.topLeft(), - option.rect.bottomRight()); - gradient.setColorAt(option.direction == Qt::LeftToRight ? 0 - : 1, selected); - gradient.setColorAt(option.direction == Qt::LeftToRight ? 1 - : 0, Qt::transparent); - - painter->fillRect(option.rect, gradient); - } - else if (option.state & QStyle::State_MouseOver) - { - QColor hover = option.palette.color(QPalette::Highlight); - hover.setAlpha(88); - - QLinearGradient gradient(option.rect.topLeft(), - option.rect.bottomRight()); - gradient.setColorAt(option.direction == Qt::LeftToRight ? 0 - : 1, hover); - gradient.setColorAt(option.direction == Qt::LeftToRight ? 1 - : 0, Qt::transparent); - - painter->fillRect(option.rect, gradient); - } + QStyleOptionViewItemV4 viewOptions; + viewOptions.rect = option.rect; + viewOptions.palette = option.palette; + viewOptions.direction = option.direction; + viewOptions.state = option.state; + viewOptions.viewItemPosition = QStyleOptionViewItemV4::OnlyOne; + QApplication::style()->drawPrimitive(QStyle::PE_PanelItemViewItem, &viewOptions, painter, 0); QFont painterFont = painter->font(); painterFont.setWeight(QFont::Bold); |
