Libsource: Improve singleton.

This commit is contained in:
Mentalflow 2024-01-04 00:40:01 +08:00
parent da5f721894
commit 4f733a3316
Signed by: Mentalflow
GPG Key ID: 5AE68D4401A2EE71
2 changed files with 2 additions and 2 deletions

View File

@ -10,7 +10,6 @@ class RibbonTheme : public QQuickItem
QML_ELEMENT QML_ELEMENT
QML_SINGLETON QML_SINGLETON
QML_NAMED_ELEMENT(RibbonTheme) QML_NAMED_ELEMENT(RibbonTheme)
Q_DISABLE_COPY(RibbonTheme)
Q_PROPERTY(bool dark_mode READ dark_mode() NOTIFY dark_modeChanged FINAL) Q_PROPERTY(bool dark_mode READ dark_mode() NOTIFY dark_modeChanged FINAL)
Q_PROPERTY_RW(RibbonThemeType::ThemeMode,theme_mode) Q_PROPERTY_RW(RibbonThemeType::ThemeMode,theme_mode)
@ -22,6 +21,7 @@ public:
bool dark_mode(); bool dark_mode();
private: private:
RibbonTheme(); RibbonTheme();
Q_DISABLE_COPY_MOVE(RibbonTheme)
bool eventFilter(QObject *obj, QEvent *event); bool eventFilter(QObject *obj, QEvent *event);
RibbonThemeType::ThemeMode current_theme(); RibbonThemeType::ThemeMode current_theme();
RibbonThemeType::ThemeMode _system_theme_mode; RibbonThemeType::ThemeMode _system_theme_mode;

View File

@ -10,13 +10,13 @@ class RibbonUI : public QQuickItem
QML_ELEMENT QML_ELEMENT
QML_SINGLETON QML_SINGLETON
QML_NAMED_ELEMENT(RibbonUI) QML_NAMED_ELEMENT(RibbonUI)
Q_DISABLE_COPY(RibbonUI)
Q_PROPERTY_RW(QString, version) Q_PROPERTY_RW(QString, version)
public: public:
static RibbonUI* instance(); static RibbonUI* instance();
static RibbonUI* create(QQmlEngine *qmlEngine, QJSEngine *jsEngine){return instance();} static RibbonUI* create(QQmlEngine *qmlEngine, QJSEngine *jsEngine){return instance();}
private: private:
explicit RibbonUI(QQuickItem *parent = nullptr); explicit RibbonUI(QQuickItem *parent = nullptr);
Q_DISABLE_COPY_MOVE(RibbonUI)
}; };
#endif // RIBBONUI_H #endif // RIBBONUI_H