menuentry.h 728 B

123456789101112131415161718192021222324252627282930313233
  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. ~MenuEntry();
  12. signals:
  13. void clicked();
  14. void entryIsPressed(MenuEntry*);
  15. void entryIsHovered(MenuEntry*);
  16. protected:
  17. void mousePressEvent(QMouseEvent* event);
  18. void mouseMoveEvent(QMouseEvent *event) override;
  19. private slots:
  20. void on_clicked();
  21. private:
  22. const QString default_stylesheet = "color:rgb(255, 255, 255);";
  23. const QString active_stylesheet = "color:rgb(200, 200, 200);";
  24. };
  25. #endif // CLICKABLELABEL_H