C
Localization: Localize Safety-Critical Content
// Copyright (C) 2022 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial // This file is part of the Qt Safe Renderer module #include <QtSafeRenderer/qsafelayout.h> #include <QtSafeRenderer/qsafelayoutresourcereader.h> #include <QtSafeRenderer/statemanager.h> #include <QtSafeRenderer/qsafechecksum.h> #include <QtSafeGraphicsAdaptation/safewindow.h> #include <QtSafeEventHandlerAdaptation/eventhandler.h> #ifdef HOST_BUILD #include <QGuiApplication> #endif using namespace SafeRenderer; int main(int argc, char **argv) { #ifdef HOST_BUILD // In host build when using QtGUI, we need to initialize QApplication before SafeWindow. QGuiApplication app(argc, argv); #endif // Load all the variants. static QSafeLayoutResourceReader en; en.readLayout("/layoutData/SafeUI/en/SafeUI_en.srl"); static QSafeLayoutResourceReader fi; fi.readLayout("/layoutData/SafeUI/fi/SafeUI_fi.srl"); static QSafeLayoutResourceReader de; de.readLayout("/layoutData/SafeUI/de/SafeUI_de.srl"); static QSafeLayoutResourceReader uk; uk.readLayout("/layoutData/SafeUI/uk/SafeUI_uk.srl"); static QSafeLayoutResourceReader el; el.readLayout("/layoutData/SafeUI/el/SafeUI_el.srl"); static QSafeLayoutResourceReader ar; ar.readLayout("/layoutData/SafeUI/ar/SafeUI_ar.srl"); static QSafeLayoutResourceReader da; da.readLayout("/layoutData/SafeUI/da/SafeUI_da.srl"); static QSafeLayoutResourceReader et; et.readLayout("/layoutData/SafeUI/et/SafeUI_et.srl"); static QSafeLayoutResourceReader no; no.readLayout("/layoutData/SafeUI/no/SafeUI_no.srl"); static QSafeLayoutResourceReader sv; sv.readLayout("/layoutData/SafeUI/sv/SafeUI_sv.srl"); en.setLayoutId(qsafe_hash_string("en")); fi.setLayoutId(qsafe_hash_string("fi")); de.setLayoutId(qsafe_hash_string("de")); uk.setLayoutId(qsafe_hash_string("uk")); el.setLayoutId(qsafe_hash_string("el")); ar.setLayoutId(qsafe_hash_string("ar")); da.setLayoutId(qsafe_hash_string("da")); et.setLayoutId(qsafe_hash_string("et")); no.setLayoutId(qsafe_hash_string("no")); sv.setLayoutId(qsafe_hash_string("sv")); SafeWindow telltaleWindow(en.size(), QSafePoint(0U, 0U)); static SafeRenderer::StateManager stateManager(telltaleWindow, en); stateManager.addLayout(&fi); stateManager.addLayout(&de); stateManager.addLayout(&uk); stateManager.addLayout(&el); stateManager.addLayout(&ar); stateManager.addLayout(&da); stateManager.addLayout(&et); stateManager.addLayout(&no); stateManager.addLayout(&sv); telltaleWindow.requestUpdate(); //Request is required because eventHandler is not running yet. EventHandler msgHandler(stateManager, telltaleWindow); //Switch to finnish layout stateManager.setLayout(&fi); msgHandler.handleEvents(); return 0; }