123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #ifndef MAINWINDOW_H
- #define MAINWINDOW_H
- #include <QMainWindow>
- #include <QPropertyAnimation>
- #include <QTimer>
- namespace Ui {
- class MainWindow;
- }
- class MenuEntry;
- class MainWindow : public QMainWindow
- {
- Q_OBJECT
- public:
- explicit MainWindow(QWidget *parent = 0);
- ~MainWindow();
- protected:
- void mouseMoveEvent(QMouseEvent *event) override;
- void mousePressEvent(QMouseEvent *event) override;
- void resizeEvent(QResizeEvent *event) override;
- private slots:
- void on_menuentry_1_clicked();
- void on_menuentry_2_clicked();
- void on_menuentry_3_clicked();
- void on_menuentry_4_clicked();
- void on_menuentry_5_clicked();
- void on_menuentry_6_clicked();
- void onHoverMenuentry();
- void on_closeButton_clicked();
- void on_minimizeButton_clicked();
- private:
- void setupWindowBackgroundAndMask(int bg_id);
- void setupMenuHoverWidget();
- void moveMenuHoverWidget(MenuEntry* target);
- void checkMenuIsHovered();
- private:
- Ui::MainWindow *ui;
- QWidget* menuHoverWidget;
- QPropertyAnimation* menuHoverWidgetAnimation;
- QPropertyAnimation* menuHoverWidgetScaleAnimation;
- QTimer menu_hover_checker_timer;
- QPoint dragPosition;
- };
- #endif // MAINWINDOW_H
|