summaryrefslogtreecommitdiffstats
path: root/qt-ui/modeldelegates.cpp
diff options
context:
space:
mode:
authorGravatar Tomaz Canabrava <tomaz.canabrava@intel.com>2014-06-19 18:45:26 -0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2014-06-20 15:43:10 -0700
commitbe462ae1a61312fd6b625e00e35c1622bc006f41 (patch)
treec8f52191c606084ea516b97fef5a4325e87ab663 /qt-ui/modeldelegates.cpp
parentf3f03e2ee89a55947a10c2a08ebf6dfa49a393b0 (diff)
downloadsubsurface-be462ae1a61312fd6b625e00e35c1622bc006f41.tar.gz
Change the Star Widget to use QImage instead of QPixmap
Also, clean a few calls, this should make the widget a tiny bit faster. This patch also moves the grayImage function from the star widget to the global scope, so I can use it on the Calendar widget. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui/modeldelegates.cpp')
-rw-r--r--qt-ui/modeldelegates.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/qt-ui/modeldelegates.cpp b/qt-ui/modeldelegates.cpp
index d06c6621f..dc6af5665 100644
--- a/qt-ui/modeldelegates.cpp
+++ b/qt-ui/modeldelegates.cpp
@@ -47,10 +47,13 @@ void StarWidgetsDelegate::paint(QPainter *painter, const QStyleOptionViewItem &o
int deltaY = option.rect.height() / 2 - StarWidget::starActive().height() / 2;
painter->save();
painter->setRenderHint(QPainter::Antialiasing, true);
+ const QPixmap active = QPixmap::fromImage(StarWidget::starActive());
+ const QPixmap inactive = QPixmap::fromImage(StarWidget::starInactive());
+
for (int i = 0; i < rating; i++)
- painter->drawPixmap(option.rect.x() + i * IMG_SIZE + SPACING, option.rect.y() + deltaY, StarWidget::starActive());
+ painter->drawPixmap(option.rect.x() + i * IMG_SIZE + SPACING, option.rect.y() + deltaY, active);
for (int i = rating; i < TOTALSTARS; i++)
- painter->drawPixmap(option.rect.x() + i * IMG_SIZE + SPACING, option.rect.y() + deltaY, StarWidget::starInactive());
+ painter->drawPixmap(option.rect.x() + i * IMG_SIZE + SPACING, option.rect.y() + deltaY, inactive);
painter->restore();
}