X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/846b21edf57e7aeb83e84ee68e9f61c5981fbacd..b1c9b5126d:/src/dolphincategorydrawer.cpp diff --git a/src/dolphincategorydrawer.cpp b/src/dolphincategorydrawer.cpp index 6cf84560f..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 * @@ -19,26 +19,29 @@ */ #include "dolphincategorydrawer.h" -#include "ratingpainter.h" + +#include + #include #include #include +#include +#include + +#ifdef HAVE_NEPOMUK +#include +#endif #include #include #include #include -#include -#ifdef HAVE_NEPOMUK -#include -#include -#include -#endif - #include "dolphinview.h" #include "dolphinmodel.h" +#define HORIZONTAL_HINT 3 + DolphinCategoryDrawer::DolphinCategoryDrawer() { } @@ -81,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); @@ -217,7 +202,7 @@ void DolphinCategoryDrawer::drawCategory(const QModelIndex &index, int sortRole, QRect ratingRect( option.rect ); ratingRect.setTop(option.rect.top() + (option.rect.height() / 2) - (iconSize / 2)); ratingRect.setHeight( iconSize ); - Nepomuk::RatingPainter::drawRating( painter, ratingRect, Qt::AlignLeft, category.toInt() ); + KRatingPainter::paintRating( painter, ratingRect, Qt::AlignLeft, category.toInt() ); break; }