menuentry.h 719 B

1234567891011121314151617181920212223242526272829303132
  1. #ifndef CLICKABLELABEL_H
  2. #define CLICKABLELABEL_H
  3. #include <QObject>
  4. #include <QWidget>
  5. #include <QLabel>
  6. #include <QMouseEvent>
  7. class MenuEntry : public QLabel {
  8. Q_OBJECT
  9. public:
  10. explicit MenuEntry(QWidget* parent = Q_NULLPTR, Qt::WindowFlags f = Qt::WindowFlags());
  11. signals:
  12. void clicked();
  13. void entryIsPressed(MenuEntry*);
  14. void entryIsHovered(MenuEntry*);
  15. protected:
  16. void mousePressEvent(QMouseEvent* event) override;
  17. void mouseMoveEvent(QMouseEvent *event) override;
  18. private slots:
  19. void on_clicked();
  20. private:
  21. const QString default_stylesheet = "color:rgb(255, 255, 255);";
  22. const QString active_stylesheet = "color:rgb(200, 200, 200);";
  23. };
  24. #endif // CLICKABLELABEL_H