Changeset View
Changeset View
Standalone View
Standalone View
src/backtraceratingwidget.cpp
Show All 18 Lines | |||||
19 | 19 | | |||
20 | #include "backtraceratingwidget.h" | 20 | #include "backtraceratingwidget.h" | ||
21 | 21 | | |||
22 | #include <QPainter> | 22 | #include <QPainter> | ||
23 | #include <QIcon> | 23 | #include <QIcon> | ||
24 | 24 | | |||
25 | BacktraceRatingWidget::BacktraceRatingWidget(QWidget * parent) : | 25 | BacktraceRatingWidget::BacktraceRatingWidget(QWidget * parent) : | ||
26 | QWidget(parent), | 26 | QWidget(parent), | ||
27 | m_state(BacktraceGenerator::NotLoaded), | 27 | m_state(BacktraceGenerator::NotLoaded) | ||
28 | m_star1(false), | | |||
29 | m_star2(false), | | |||
30 | m_star3(false) | | |||
31 | { | 28 | { | ||
32 | setMinimumSize(105, 24); | 29 | setMinimumSize(105, 24); | ||
33 | 30 | | |||
34 | m_starPixmap = QIcon::fromTheme(QStringLiteral("rating")).pixmap(QSize(22, 22)); | 31 | m_starPixmap = QIcon::fromTheme(QStringLiteral("rating")).pixmap(QSize(22, 22)); | ||
35 | m_disabledStarPixmap = QIcon::fromTheme(QStringLiteral("rating")).pixmap(QSize(22, 22), QIcon::Disabled); | 32 | m_disabledStarPixmap = QIcon::fromTheme(QStringLiteral("rating")).pixmap(QSize(22, 22), QIcon::Disabled); | ||
36 | m_errorPixmap = QIcon::fromTheme(QStringLiteral("dialog-error")).pixmap(QSize(22, 22)); | 33 | m_errorPixmap = QIcon::fromTheme(QStringLiteral("dialog-error")).pixmap(QSize(22, 22)); | ||
37 | } | 34 | } | ||
38 | 35 | | |||
39 | void BacktraceRatingWidget::setUsefulness(BacktraceParser::Usefulness usefulness) | 36 | void BacktraceRatingWidget::setUsefulness(BacktraceParser::Usefulness usefulness) | ||
40 | { | 37 | { | ||
41 | switch (usefulness) { | 38 | switch(usefulness) { | ||
42 | case BacktraceParser::ReallyUseful: { | 39 | case BacktraceParser::ReallyUseful: | ||
43 | m_star1 = true; | 40 | m_numStars = 3; | ||
44 | m_star2 = true; | 41 | break; | ||
45 | m_star3 = true; | 42 | case BacktraceParser::MayBeUseful: | ||
46 | break; | 43 | m_numStars = 2; | ||
47 | } | 44 | break; | ||
48 | case BacktraceParser::MayBeUseful: { | 45 | case BacktraceParser::ProbablyUseless: | ||
49 | m_star1 = true; | 46 | m_numStars = 1; | ||
50 | m_star2 = true; | | |||
51 | m_star3 = false; | | |||
52 | break; | | |||
53 | } | | |||
54 | case BacktraceParser::ProbablyUseless: { | | |||
55 | m_star1 = true; | | |||
56 | m_star2 = false; | | |||
57 | m_star3 = false; | | |||
58 | break; | 47 | break; | ||
59 | } | | |||
60 | case BacktraceParser::Useless: | 48 | case BacktraceParser::Useless: | ||
61 | case BacktraceParser::InvalidUsefulness: { | 49 | case BacktraceParser::InvalidUsefulness: | ||
62 | m_star1 = false; | 50 | m_numStars = 0; | ||
63 | m_star2 = false; | | |||
64 | m_star3 = false; | | |||
65 | break; | 51 | break; | ||
66 | } | 52 | } | ||
67 | } | | |||
68 | | ||||
69 | update(); | 53 | update(); | ||
70 | } | 54 | } | ||
71 | 55 | | |||
72 | void BacktraceRatingWidget::paintEvent(QPaintEvent * event) | 56 | void BacktraceRatingWidget::paintEvent(QPaintEvent * event) | ||
73 | { | 57 | { | ||
74 | Q_UNUSED(event); | 58 | Q_UNUSED(event); | ||
75 | 59 | | |||
76 | QPainter p(this); | 60 | QPainter p(this); | ||
77 | 61 | p.drawPixmap(QPoint(30, 1) , m_numStars >= 1 ? m_starPixmap : m_disabledStarPixmap); | |||
78 | p.drawPixmap(QPoint(30, 1) , m_star1 ? m_starPixmap : m_disabledStarPixmap); | 62 | p.drawPixmap(QPoint(55, 1) , m_numStars >= 2 ? m_starPixmap : m_disabledStarPixmap); | ||
79 | p.drawPixmap(QPoint(55, 1) , m_star2 ? m_starPixmap : m_disabledStarPixmap); | 63 | p.drawPixmap(QPoint(80, 1) , m_numStars >= 3 ? m_starPixmap : m_disabledStarPixmap); | ||
sitter: Can we switch over m_usefullness instead? Using enums as integers gets me all worked up. | |||||
80 | p.drawPixmap(QPoint(80, 1) , m_star3 ? m_starPixmap : m_disabledStarPixmap); | | |||
81 | 64 | | |||
82 | switch (m_state) { | 65 | switch (m_state) { | ||
83 | case BacktraceGenerator::Failed: | 66 | case BacktraceGenerator::Failed: | ||
84 | case BacktraceGenerator::FailedToStart: { | 67 | case BacktraceGenerator::FailedToStart: { | ||
85 | p.drawPixmap(QPoint(0, 1) , m_errorPixmap); | 68 | p.drawPixmap(QPoint(0, 1) , m_errorPixmap); | ||
86 | break; | 69 | break; | ||
87 | } | 70 | } | ||
88 | case BacktraceGenerator::Loading: | | |||
89 | case BacktraceGenerator::Loaded: | | |||
90 | default: | 71 | default: | ||
91 | break; | 72 | break; | ||
92 | } | 73 | } | ||
93 | 74 | | |||
94 | p.end(); | 75 | p.end(); | ||
95 | } | 76 | } |
Can we switch over m_usefullness instead? Using enums as integers gets me all worked up.