40 lines
1.3 KiB
C++
40 lines
1.3 KiB
C++
#ifndef ELAAPPLICATIONPRIVATE_H
|
|
#define ELAAPPLICATIONPRIVATE_H
|
|
|
|
#include <QColor>
|
|
#include <QIcon>
|
|
#include <QObject>
|
|
|
|
#include "ElaDef.h"
|
|
class ElaApplication;
|
|
class ElaApplicationPrivate : public QObject {
|
|
Q_OBJECT
|
|
Q_D_CREATE(ElaApplication)
|
|
Q_PROPERTY_CREATE_D(ElaApplicationType::WindowDisplayMode, WindowDisplayMode)
|
|
Q_PROPERTY_CREATE_D(QString, ElaMicaImagePath)
|
|
|
|
public:
|
|
explicit ElaApplicationPrivate(QObject *parent = nullptr);
|
|
~ElaApplicationPrivate() override;
|
|
Q_SLOT void onThemeModeChanged(ElaThemeType::ThemeMode themeMode);
|
|
Q_SIGNALS:
|
|
Q_SIGNAL void initMicaBase(QImage img);
|
|
|
|
protected:
|
|
virtual bool eventFilter(QObject *watched, QEvent *event) override;
|
|
|
|
private:
|
|
friend class ElaMicaBaseInitObject;
|
|
ElaThemeType::ThemeMode _themeMode;
|
|
QList<QWidget *> _micaWidgetList;
|
|
QImage _lightBaseImage;
|
|
QImage _darkBaseImage;
|
|
void _initMicaBaseImage(QImage img);
|
|
QRect _calculateWindowVirtualGeometry(QWidget *widget);
|
|
void _updateMica(QWidget *widget, bool isProcessEvent = true);
|
|
void _updateAllMicaWidget();
|
|
void _resetAllMicaWidget();
|
|
};
|
|
|
|
#endif // ELAAPPLICATIONPRIVATE_H
|