diff options
| author | Sebastian Trueg <[email protected]> | 2007-12-14 19:23:02 +0000 |
|---|---|---|
| committer | Sebastian Trueg <[email protected]> | 2007-12-14 19:23:02 +0000 |
| commit | 737b74aa294e05cebc2cd1e48a4fa66cf62f222e (patch) | |
| tree | 06b120d9220dc880ef2ae4f9624fca9e3d047044 /src/dolphincategorydrawer.cpp | |
| parent | e983e0e38e43a93de158e105d6a18900521a2803 (diff) | |
Use the same codebase for rating drawing as in KRatingWidget and playground/nepomuk.
For KDE 4.1 we will export this in kdelibs/nepomuk
CCMAIL: [email protected]
CCMAIL: [email protected]
svn path=/trunk/KDE/kdebase/apps/; revision=748547
Diffstat (limited to 'src/dolphincategorydrawer.cpp')
| -rw-r--r-- | src/dolphincategorydrawer.cpp | 81 |
1 files changed, 6 insertions, 75 deletions
diff --git a/src/dolphincategorydrawer.cpp b/src/dolphincategorydrawer.cpp index 872a0c337..9996672d7 100644 --- a/src/dolphincategorydrawer.cpp +++ b/src/dolphincategorydrawer.cpp @@ -19,7 +19,7 @@ */ #include "dolphincategorydrawer.h" - +#include "ratingpainter.h" #include <QPainter> #include <QFile> #include <QDir> @@ -211,80 +211,11 @@ void DolphinCategoryDrawer::drawCategory(const QModelIndex &index, int sortRole, paintText = false; paintIcon = false; - starRect.setTop(option.rect.top() + (option.rect.height() / 2) - (iconSize / 2)); - starRect.setSize(QSize(iconSize, iconSize)); - - QPixmap pixmap = KIconLoader::global()->loadIcon("rating", KIconLoader::Small); - QPixmap smallPixmap = KIconLoader::global()->loadIcon("rating", KIconLoader::NoGroup, iconSize / 2); - QPixmap disabledPixmap = KIconLoader::global()->loadIcon("rating", KIconLoader::Small); - - QImage img = disabledPixmap.toImage(); - Blitz::grayscale(img); - disabledPixmap = QPixmap::fromImage(img); - - int rating = category.toInt(); - - for (int i = 0; i < rating - (rating % 2); i += 2) { - painter->drawPixmap(starRect, pixmap); - - if (option.direction == Qt::LeftToRight) - { - starRect.setLeft(starRect.left() + iconSize + (iconSize / 4) /* separator between stars */); - starRect.setRight(starRect.right() + iconSize + (iconSize / 4) /* separator between stars */); - } - else - { - starRect.setLeft(starRect.left() - iconSize - (iconSize / 4) /* separator between stars */); - starRect.setRight(starRect.right() - iconSize - (iconSize / 4) /* separator between stars */); - } - } - - if (rating && rating % 2) { - if (option.direction == Qt::RightToLeft) - { - starRect.setLeft(starRect.left() + (iconSize / 2) /* separator between stars */); - } - - starRect.setTop(option.rect.top() + (option.rect.height() / 2) - (iconSize / 4)); - starRect.setSize(QSize(iconSize / 2, iconSize / 2)); - painter->drawPixmap(starRect, smallPixmap); - starRect.setTop(opt.rect.top() + (option.rect.height() / 2) - (iconSize / 2)); - - if (option.direction == Qt::LeftToRight) - { - starRect.setLeft(starRect.left() + (iconSize / 2) + (iconSize / 4)); - starRect.setRight(starRect.right() + (iconSize / 2) + (iconSize / 4)); - } - else - { - starRect.setLeft(starRect.left() - (iconSize / 2) - (iconSize / 4)); - starRect.setRight(starRect.right() - (iconSize / 2) - (iconSize / 4)); - } - - if (option.direction == Qt::RightToLeft) - { - starRect.setLeft(starRect.left() - (iconSize / 2)); - starRect.setRight(starRect.right() - (iconSize / 2)); - } - - starRect.setSize(QSize(iconSize, iconSize)); - } - - for (int i = rating; i < 9; i += 2) { - painter->drawPixmap(starRect, disabledPixmap); - - if (option.direction == Qt::LeftToRight) - { - starRect.setLeft(starRect.left() + iconSize + (iconSize / 4)); - starRect.setRight(starRect.right() + iconSize + (iconSize / 4)); - } - else - { - starRect.setLeft(starRect.left() - iconSize - (iconSize / 4)); - starRect.setRight(starRect.right() - iconSize - (iconSize / 4)); - } - } - + painter->setLayoutDirection( option.direction ); + 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() ); break; } |
