AusweisApp
Lade ...
Suche ...
Keine Treffer
UiPluginQml.h
gehe zur Dokumentation dieser Datei
1
4
5#pragma once
6
7#include "TrayIcon.h"
8#include "UiPluginModel.h"
9
10#include <QQmlApplicationEngine>
11#include <QQuickWindow>
12#include <QScopedPointer>
13#if defined (Q_OS_MACOS)
14 #include <QMenuBar>
15#endif
16
17#ifdef Q_OS_IOS
18Q_FORWARD_DECLARE_OBJC_CLASS(FontChangeTracker);
19#endif
20
21
22class test_UiPluginQml;
23
24
25namespace governikus
26{
27
29 : public UiPluginModel
30{
31 Q_OBJECT
32 Q_PLUGIN_METADATA(IID "governikus.UiPlugin" FILE "metadata.json")
33 Q_INTERFACES(governikus::UiPlugin)
34 friend class ::test_UiPluginQml;
35
36 private:
37 QScopedPointer<QQmlApplicationEngine> mEngine;
38#ifdef Q_OS_MACOS
39 QScopedPointer<QMenuBar> mMenuBar;
40#endif
41 qsizetype mQmlEngineWarningCount;
42 TrayIcon mTrayIcon;
43 QString mDominator;
44 bool mHighContrastEnabled;
45 bool mDarkMode;
46 bool mShowFocusIndicator;
47 qreal mScaleFactor;
48 qreal mFontScaleFactor;
49
50 void init();
51 [[nodiscard]] static QString getOverridePlatform();
52 [[nodiscard]] QQuickWindow* getRootWindow() const;
53 [[nodiscard]] bool isHidden() const;
54 [[nodiscard]] qreal getSystemFontScaleFactor() const;
55 void setFontScaleFactor(qreal pFactor);
56 void setOsDarkMode(bool pState);
57
58#ifdef Q_OS_IOS
59 struct Private
60 {
61 Private();
62 ~Private();
63 FontChangeTracker* const mFontChangeTracker;
64 };
65 const QScopedPointer<Private> mPrivate;
66#endif
67
68 protected:
69 [[nodiscard]] bool eventFilter(QObject* pObj, QEvent* pEvent) override;
70
71 public:
73 ~UiPluginQml() override = default;
74
75 static void registerQmlTypes();
76#ifndef QT_NO_DEBUG
77 static QString adjustQmlImportPath(QQmlEngine* pEngine);
78#endif
79
80 [[nodiscard]] QString getQtVersion() const override;
81 [[nodiscard]] bool isDebugBuild() const override;
82 [[nodiscard]] bool isDeveloperVersion() const override;
83 [[nodiscard]] QString getDominator() const override;
84 [[nodiscard]] bool isDominated() const override;
85 [[nodiscard]] QVariantMap getSafeAreaMargins() const override;
86 [[nodiscard]] bool isHighContrastEnabled() const override;
87 [[nodiscard]] bool isOsDarkModeEnabled() const;
88 [[nodiscard]] bool isOsDarkModeSupported() const override;
89 [[nodiscard]] bool isDarkModeEnabled() const override;
90 [[nodiscard]] QString getFixedFontFamily() const override;
91 [[nodiscard]] QSize getInitialWindowSize() const override;
92 [[nodiscard]] bool getShowFocusIndicator() const override;
93 [[nodiscard]] qreal getScaleFactor() const override;
94 void setScaleFactor(qreal pScaleFactor) override;
95 [[nodiscard]] qreal getFontScaleFactor() const override;
96 [[nodiscard]] bool isChromeOS() const override;
97
98 Q_INVOKABLE void hideFromTaskbar() const override;
99 Q_INVOKABLE void doRefresh() override;
100
101 Q_SIGNALS:
104
105 private Q_SLOTS:
106 void show();
107 void doShutdown() override;
108 void onWorkflowStarted(const QSharedPointer<WorkflowRequest>& pRequest) override;
109 void onWorkflowFinished(const QSharedPointer<WorkflowRequest>& pRequest) override;
110 void onApplicationInitialized() override;
111 void onApplicationStarted() override;
112 void onShowUi(UiModule pModule) override;
113 void onHideUi() override;
114 void onTranslationChanged() override;
115 void onProxyAuthenticationRequired(const QNetworkProxy& pProxy, QAuthenticator* pAuthenticator) override;
116 void onUiDomination(const UiPlugin* pUi, const QString& pInformation, bool pAccepted) override;
117 void onUiDominationReleased() override;
118 void onShowUserInformation(const QString& pMessage) override;
119 void onUpdateScheduled() const;
120
121 void onQmlWarnings(const QList<QQmlError>& pWarnings);
122 void onQmlObjectCreated(const QObject* pObject);
123 void onSceneGraphError(QQuickWindow::SceneGraphError pError, const QString& pMessage);
124
125 void onRawLog(const QString& pMessage, const QString& pCategoryName);
126
127 void onWindowPaletteChanged();
128 void onUserDarkModeChanged() const;
129 void onUseSystemFontChanged() const;
130 void onTrayIconEnabledChanged();
131 void onAppConfigChanged();
132};
133
134} // namespace governikus
Definition TrayIcon.h:21
UiPluginModel()
Definition UiPluginModel.cpp:13
Q_INVOKABLE void hideFromTaskbar() const override
Definition UiPluginQml.cpp:228
bool isChromeOS() const override
Definition UiPluginQml.cpp:875
bool isDarkModeEnabled() const override
Definition UiPluginQml.cpp:809
bool isDeveloperVersion() const override
Definition UiPluginQml.cpp:690
bool getShowFocusIndicator() const override
Definition UiPluginQml.cpp:845
bool eventFilter(QObject *pObj, QEvent *pEvent) override
Definition UiPluginQml.cpp:540
static QString adjustQmlImportPath(QQmlEngine *pEngine)
Definition UiPluginQml.cpp:235
static void registerQmlTypes()
Definition UiPluginQml.cpp:136
bool isHighContrastEnabled() const override
Definition UiPluginQml.cpp:761
QString getDominator() const override
Definition UiPluginQml.cpp:696
bool isOsDarkModeEnabled() const
Definition UiPluginQml.cpp:777
QVariantMap getSafeAreaMargins() const override
Definition UiPluginQml.cpp:709
~UiPluginQml() override=default
bool isOsDarkModeSupported() const override
Definition UiPluginQml.cpp:797
bool isDominated() const override
Definition UiPluginQml.cpp:702
qreal getScaleFactor() const override
Definition UiPluginQml.cpp:851
void setScaleFactor(qreal pScaleFactor) override
Definition UiPluginQml.cpp:858
QString getFixedFontFamily() const override
Definition UiPluginQml.cpp:828
QString getQtVersion() const override
Definition UiPluginQml.cpp:672
qreal getFontScaleFactor() const override
Definition UiPluginQml.cpp:869
QSize getInitialWindowSize() const override
Definition UiPluginQml.cpp:834
bool isDebugBuild() const override
Definition UiPluginQml.cpp:678
Q_INVOKABLE void doRefresh() override
Definition UiPluginQml.cpp:660
friend class ::test_UiPluginQml
Definition UiPluginQml.h:34
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17