AusweisApp2
UIPlugInQml.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
10 #include "ChatModel.h"
11 #include "ConnectivityManager.h"
12 #include "GlobalStatus.h"
13 #include "HistoryModel.h"
14 #include "NumberModel.h"
15 #include "ProxyCredentials.h"
16 #include "SettingsModel.h"
17 #include "TrayIcon.h"
18 #include "UIPlugIn.h"
20 
21 #include <QQmlApplicationEngine>
22 #include <QQuickWindow>
23 #include <QScopedPointer>
24 #if defined (Q_OS_MACOS)
25 #include <QMenuBar>
26 #endif
27 
28 namespace governikus
29 {
30 
32  : public UIPlugIn
33 {
34  Q_OBJECT
35  Q_PLUGIN_METADATA(IID "governikus.UIPlugIn" FILE "metadata.json")
36  Q_INTERFACES(governikus::UIPlugIn)
37  Q_PROPERTY(QString platformStyle READ getPlatformStyle CONSTANT)
38  Q_PROPERTY(bool debugBuild READ isDebugBuild CONSTANT)
39  Q_PROPERTY(bool developerVersion READ isDeveloperVersion CONSTANT)
40  Q_PROPERTY(QString dominator READ getDominator NOTIFY fireDominatorChanged)
41  Q_PROPERTY(bool dominated READ isDominated NOTIFY fireDominatorChanged)
42  Q_PROPERTY(QVariantMap safeAreaMargins READ getSafeAreaMargins NOTIFY fireSafeAreaMarginsChanged)
44  Q_PROPERTY(QString fixedFontFamily READ getFixedFontFamily CONSTANT)
45  Q_PROPERTY(bool tablet READ isTablet CONSTANT)
46 
47  private:
48  QScopedPointer<QQmlApplicationEngine> mEngine;
49  int mQmlEngineWarningCount;
50  VersionInformationModel mVersionInformationModel;
51  CertificateDescriptionModel mCertificateDescriptionModel;
52  ChatModel mChatModel;
53  QString mExplicitPlatformStyle;
54  ConnectivityManager mConnectivityManager;
55  bool mUpdateInformationPending;
56  TrayIcon mTrayIcon;
57  QString mDominator;
58  bool mHighContrastEnabled;
59 #if defined(Q_OS_MACOS)
60  QMenuBar mMenuBar;
61 #endif
62 
63  QString getPlatformSelectors() const;
64  static QUrl getPath(const QString& pRelativePath, bool pQrc = true);
65  QQuickWindow* getRootWindow() const;
66  bool isHidden() const;
67  bool isTablet() const;
68  bool isTabletLayout() const;
69  bool showUpdateInformationIfPending();
70 
71  public:
72  UIPlugInQml();
73  virtual ~UIPlugInQml() override = default;
74 
75  static void registerQmlTypes();
76 
77  QString getPlatformStyle() const;
78  bool isDebugBuild() const;
79  bool isDeveloperVersion() const;
80  QString getDominator() const;
81  bool isDominated() const;
82  QVariantMap getSafeAreaMargins() const;
83  bool isHighContrastEnabled() const;
84  QString getFixedFontFamily() const;
85 
86  Q_INVOKABLE void applyPlatformStyle(const QString& pPlatformStyle);
87  Q_INVOKABLE void init();
88  Q_INVOKABLE void hideFromTaskbar();
89  Q_INVOKABLE void switchUi();
90 
91  Q_SIGNALS:
92  void fireShowRequest(UiModule pModule);
93  void fireHideRequest();
94  void fireDominatorChanged();
97  void fireProxyAuthenticationRequired(ProxyCredentials* pProxyCredentials);
98 
99  private Q_SLOTS:
100  void show();
101  virtual void doShutdown() override;
102  virtual void onWorkflowStarted(QSharedPointer<WorkflowContext> pContext) override;
103  virtual void onWorkflowFinished(QSharedPointer<WorkflowContext> pContext) override;
104  virtual void onApplicationStarted() override;
105  virtual void onShowUi(UiModule pModule) override;
106  virtual void onHideUi() override;
107  virtual void onProxyAuthenticationRequired(const QNetworkProxy& pProxy, QAuthenticator* pAuthenticator) override;
108  virtual void onUiDomination(const UIPlugIn* pUi, const QString& pInformation, bool pAccepted) override;
109  virtual void onUiDominationReleased() override;
110  void onShowUserInformation(const QString& pMessage);
111  void onUpdateScheduled();
112  void onUpdateAvailable(bool pUpdateAvailable, const GlobalStatus& pStatus);
113 
114  void onQmlWarnings(const QList<QQmlError>& pWarnings);
115  void onQmlObjectCreated(QObject* pObject);
116  void onSceneGraphError(QQuickWindow::SceneGraphError pError, const QString& pMessage);
117 
118  void onRawLog(const QString& pMessage, const QString& pCategoryName);
119 
120  void onWindowPaletteChanged();
121 
122  public Q_SLOTS:
123  void doRefresh();
124 };
125 
126 } // namespace governikus
ReaderScanEnabler.h
governikus::UIPlugInQml::safeAreaMargins
QVariantMap safeAreaMargins
Definition: UIPlugInQml.h:42
AuthContext.h
SelfAuthModel.h
LogModel.h
provideQmlType
QObject * provideQmlType(QQmlEngine *pEngine, QJSEngine *pScriptEngine)
Definition: UIPlugInQml.cpp:73
governikus::UIPlugInQml::tablet
bool tablet
Definition: UIPlugInQml.h:45
governikus::UIPlugInQml::fireHighContrastEnabledChanged
void fireHighContrastEnabledChanged()
Definition: moc_UIPlugInQml.cpp:466
governikus::UIPlugInQml::dominated
bool dominated
Definition: UIPlugInQml.h:41
Initializer.h
NumberModel.h
governikus::AuthContext
Definition: AuthContext.h:48
ProxyCredentials.h
governikus::TrayIcon::fireQuit
void fireQuit()
Definition: moc_TrayIcon.cpp:157
governikus::TrayIcon
Definition: TrayIcon.h:21
governikus::UIPlugInQml::fireSafeAreaMarginsChanged
void fireSafeAreaMarginsChanged()
Definition: moc_UIPlugInQml.cpp:460
governikus::Service::fireUpdateScheduled
void fireUpdateScheduled()
Definition: moc_Service.cpp:177
VersionNumber.h
VersionInformationModel.h
governikus::UIPlugInQml::hideFromTaskbar
Q_INVOKABLE void hideFromTaskbar()
Definition: UIPlugInQml.cpp:251
AppSettings.h
governikus::UIPlugInQml::platformStyle
QString platformStyle
Definition: UIPlugInQml.h:37
LogHandler.h
governikus::UIPlugInQml::getDominator
QString getDominator() const
Definition: UIPlugInQml.cpp:642
AuthModel.h
governikus::UIPlugInQml::applyPlatformStyle
Q_INVOKABLE void applyPlatformStyle(const QString &pPlatformStyle)
Definition: UIPlugInQml.cpp:715
governikus::RemoteServiceContext
Definition: RemoteServiceContext.h:24
governikus::ChangePinContext
Definition: ChangePinContext.h:16
governikus::UIPlugInQml::fireShowRequest
void fireShowRequest(UiModule pModule)
Definition: moc_UIPlugInQml.cpp:441
governikus::UIPlugInQml::isDebugBuild
bool isDebugBuild() const
Definition: UIPlugInQml.cpp:624
governikus::UIPlugInQml::developerVersion
bool developerVersion
Definition: UIPlugInQml.h:39
SelfDiagnosisModel.h
ReaderDriverModel.h
governikus::ChatModel
Definition: ChatModel.h:26
governikus::UIPlugInQml::UIPlugInQml
UIPlugInQml()
Definition: UIPlugInQml.cpp:117
governikus::VersionInformationModel
Definition: VersionInformationModel.h:17
SettingsModel.h
governikus::TrayIcon::fireShow
void fireShow()
Definition: moc_TrayIcon.cpp:151
governikus::WorkflowModel::fireStartWorkflow
void fireStartWorkflow()
Definition: moc_WorkflowModel.cpp:333
PlatformTools.h
ChatModel.h
governikus::VersionNumber::isDeveloperVersion
bool isDeveloperVersion() const
Definition: VersionNumber.cpp:40
HistoryModel.h
governikus::ConnectivityManager
Definition: ConnectivityManager.h:19
Service.h
governikus::UIPlugInQml::getSafeAreaMargins
QVariantMap getSafeAreaMargins() const
Definition: UIPlugInQml.cpp:655
governikus::ProxyCredentials
Definition: ProxyCredentials.h:17
governikus::UIPlugInQml::highContrastEnabled
bool highContrastEnabled
Definition: UIPlugInQml.h:43
governikus::WorkflowContext::hasNextWorkflowPending
bool hasNextWorkflowPending() const
Definition: WorkflowContext.cpp:425
governikus::PlatformTools::hideFromTaskbar
static void hideFromTaskbar()
Definition: PlatformTools_generic.cpp:11
governikus::ConnectivityManager::stopWatching
void stopWatching()
Definition: ConnectivityManager.cpp:118
SurveyModel.h
ChangePinContext.h
governikus::CertificateDescriptionModel::resetContext
void resetContext(const QSharedPointer< AuthContext > &pContext=QSharedPointer< AuthContext >())
Definition: CertificateDescriptionModel.cpp:91
governikus::ChatModel::resetContext
void resetContext(const QSharedPointer< AuthContext > &pContext=QSharedPointer< AuthContext >())
Definition: ChatModel.cpp:48
governikus::UIPlugInQml::isDeveloperVersion
bool isDeveloperVersion() const
Definition: UIPlugInQml.cpp:636
governikus::UIPlugInQml::init
Q_INVOKABLE void init()
Definition: UIPlugInQml.cpp:198
GlobalStatus.h
governikus::LogHandler::fireRawLog
void fireRawLog(const QString &pMsg, const QString &pCategoryName)
Definition: moc_LogHandler.cpp:149
governikus
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
governikus::SelfAuthContext
Definition: SelfAuthContext.h:18
governikus::TrayIcon::showMessage
void showMessage(const QString &pTitle, const QString &pMessage)
Definition: TrayIcon.cpp:127
governikus::UIPlugInQml::registerQmlTypes
static void registerQmlTypes()
Definition: UIPlugInQml.cpp:169
SelfAuthContext.h
governikus::UIPlugInQml::switchUi
Q_INVOKABLE void switchUi()
Definition: UIPlugInQml.cpp:257
Env.h
CertificateDescriptionModel.h
NotificationModel.h
governikus::UIPlugInQml::debugBuild
bool debugBuild
Definition: UIPlugInQml.h:38
UIPlugIn.h
governikus::UIPlugInQml::doRefresh
void doRefresh()
Definition: UIPlugInQml.cpp:611
governikus::TrayIcon::getIcon
const QIcon & getIcon() const
Definition: TrayIcon.cpp:54
governikus::VersionNumber::getApplicationVersion
static const VersionNumber & getApplicationVersion()
Definition: VersionNumber.cpp:28
governikus::UIPlugInQml::isDominated
bool isDominated() const
Definition: UIPlugInQml.cpp:648
Random.h
governikus::Initializer::Entry
Definition: Initializer.h:31
ProviderCategoryFilterModel.h
governikus::GlobalStatus
Definition: GlobalStatus.h:20
FileDestination.h
governikus::UIPlugInQml::fixedFontFamily
QString fixedFontFamily
Definition: UIPlugInQml.h:44
ApplicationModel.h
ConnectivityManager.h
governikus::UIPlugInQml::dominator
QString dominator
Definition: UIPlugInQml.h:40
RemoteServiceModel.h
governikus::UIPlugInQml::fireProxyAuthenticationRequired
void fireProxyAuthenticationRequired(ProxyCredentials *pProxyCredentials)
Definition: moc_UIPlugInQml.cpp:472
T
#define T(v)
Definition: http_parser.cpp:237
governikus::UIPlugInQml::getPlatformStyle
QString getPlatformStyle() const
Definition: UIPlugInQml.cpp:618
governikus::Service::fireAppUpdateFinished
void fireAppUpdateFinished(bool pUpdateAvailable, const GlobalStatus &pError)
Definition: moc_Service.cpp:170
governikus::SelfAuthModel::fireStartWorkflow
void fireStartWorkflow()
Definition: moc_SelfAuthModel.cpp:161
TrayIcon.h
UIPlugInQml.h
governikus::CertificateDescriptionModel
Definition: CertificateDescriptionModel.h:23
governikus::UIPlugInQml::isHighContrastEnabled
bool isHighContrastEnabled() const
Definition: UIPlugInQml.cpp:682
governikus::UIPlugInQml::fireDominatorChanged
void fireDominatorChanged()
Definition: moc_UIPlugInQml.cpp:454
governikus::ConnectivityManager::startWatching
void startWatching()
Definition: ConnectivityManager.cpp:106
governikus::UIPlugInQml::~UIPlugInQml
virtual ~UIPlugInQml() override=default
governikus::UIPlugInQml
Definition: UIPlugInQml.h:33
ChangePinModel.h
governikus::PlatformTools::restoreToTaskbar
static void restoreToTaskbar()
Definition: PlatformTools_generic.cpp:16
governikus::UIPlugInQml::fireHideRequest
void fireHideRequest()
Definition: moc_UIPlugInQml.cpp:448
governikus::TrayIcon::create
void create()
Definition: TrayIcon.cpp:60
SingletonHelper.h
governikus::TrayIcon::shutdown
void shutdown()
Definition: TrayIcon.cpp:97
governikus::UIPlugInQml::getFixedFontFamily
QString getFixedFontFamily() const
Definition: UIPlugInQml.cpp:698