summaryrefslogtreecommitdiffstats
path: root/desktop-widgets/starwidget.h
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2015-11-02 19:54:34 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-11-02 19:54:34 -0800
commit8ea7f404574c2ee571d2dde6bb6be3791e962150 (patch)
tree6a050178bfc71bf10558968f2a3bc0a12d8c525f /desktop-widgets/starwidget.h
parentb273c1b0ca7bfe933e7c83742f1610f6bbe3f4d3 (diff)
parentdf7818a9b8495285b4d9812e5d6d50d6f9c08813 (diff)
downloadsubsurface-8ea7f404574c2ee571d2dde6bb6be3791e962150.tar.gz
Merge branch 'cmakeAndPreferences'
Diffstat (limited to 'desktop-widgets/starwidget.h')
-rw-r--r--desktop-widgets/starwidget.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/desktop-widgets/starwidget.h b/desktop-widgets/starwidget.h
new file mode 100644
index 000000000..989aa527d
--- /dev/null
+++ b/desktop-widgets/starwidget.h
@@ -0,0 +1,44 @@
+#ifndef STARWIDGET_H
+#define STARWIDGET_H
+
+#include <QWidget>
+
+enum StarConfig {
+ TOTALSTARS = 5
+};
+
+class StarWidget : public QWidget {
+ Q_OBJECT
+public:
+ explicit StarWidget(QWidget *parent = 0, Qt::WindowFlags f = 0);
+ int currentStars() const;
+
+ /*reimp*/ QSize sizeHint() const;
+
+ static const QImage& starActive();
+ static const QImage& starInactive();
+
+signals:
+ void valueChanged(int stars);
+
+public
+slots:
+ void setCurrentStars(int value);
+ void setReadOnly(bool readOnly);
+
+protected:
+ /*reimp*/ void mouseReleaseEvent(QMouseEvent *);
+ /*reimp*/ void paintEvent(QPaintEvent *);
+ /*reimp*/ void focusInEvent(QFocusEvent *);
+ /*reimp*/ void focusOutEvent(QFocusEvent *);
+ /*reimp*/ void keyPressEvent(QKeyEvent *);
+
+private:
+ int current;
+ bool readOnly;
+
+ static QImage activeStar;
+ static QImage inactiveStar;
+};
+
+#endif // STARWIDGET_H