X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/d3a04321886e8ca39ab91a647a9547ebe4d52154..b1c9b5126d:/src/dolphincategorydrawer.cpp diff --git a/src/dolphincategorydrawer.cpp b/src/dolphincategorydrawer.cpp index b96387646..b06f97560 100644 --- a/src/dolphincategorydrawer.cpp +++ b/src/dolphincategorydrawer.cpp @@ -1,4 +1,4 @@ -/** +/* * This file is part of the KDE project * Copyright (C) 2007 Rafael Fernández López * @@ -18,12 +18,15 @@ * Boston, MA 02110-1301, USA. */ -#include "config-nepomuk.h" - #include "dolphincategorydrawer.h" + +#include + #include #include #include +#include +#include #ifdef HAVE_NEPOMUK #include @@ -37,6 +40,8 @@ #include "dolphinview.h" #include "dolphinmodel.h" +#define HORIZONTAL_HINT 3 + DolphinCategoryDrawer::DolphinCategoryDrawer() { } @@ -79,37 +84,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);