diff options
author | Tim Jenssen <tim.jenssen@qt.io> | 2020-06-10 20:47:45 +0200 |
---|---|---|
committer | Tim Jenssen <tim.jenssen@qt.io> | 2020-06-11 15:26:39 +0000 |
commit | f652167768f105ad349833f18ee85a6dd81ae559 (patch) | |
tree | 3715d771cafc465d5b480137b188575223f3d2b5 /share/qtcreator/qml/qmlpuppet/qml2puppet/instances | |
parent | ad4c5e02589dbe8f0c2adcebbc24d7242cb0de4f (diff) |
qmldesigner: add language to create scene command
and also save the last used language to settings
Task-number: QDS-2218
Change-Id: Ib82f7bc755755661183452b32829be3d048d9947
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Diffstat (limited to 'share/qtcreator/qml/qmlpuppet/qml2puppet/instances')
3 files changed, 18 insertions, 10 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp index 561076d080b..9b0b59d58bb 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp @@ -314,6 +314,7 @@ void NodeInstanceServer::stopRenderTimer() void NodeInstanceServer::createScene(const CreateSceneCommand &command) { + setTranslationLanguage(command.language()); initializeView(); Internal::QmlPrivateGate::stopUnifiedTimer(); @@ -1329,6 +1330,20 @@ void NodeInstanceServer::loadDummyContextObjectFile(const QFileInfo& qmlFileInfo refreshBindings(); } +void NodeInstanceServer::setTranslationLanguage(const QString &language) +{ + static QPointer<MultiLanguage::Translator> multilanguageTranslator; + if (!MultiLanguage::databaseFilePath().isEmpty()) { + if (!multilanguageLink) { + multilanguageLink = std::make_unique<MultiLanguage::Link>(); + multilanguageTranslator = multilanguageLink->translator().release(); + QCoreApplication::installTranslator(multilanguageTranslator); + } + if (multilanguageTranslator) + multilanguageTranslator->setLanguage(language); + } +} + void NodeInstanceServer::loadDummyDataFiles(const QString& directory) { QDir dir(directory, "*.qml"); @@ -1400,16 +1415,7 @@ void NodeInstanceServer::view3DAction(const View3DActionCommand &command) void NodeInstanceServer::changeLanguage(const ChangeLanguageCommand &command) { - static QPointer<MultiLanguage::Translator> multilanguageTranslator; - if (!MultiLanguage::databaseFilePath().isEmpty()) { - if (!multilanguageLink) { - multilanguageLink = std::make_unique<MultiLanguage::Link>(); - multilanguageTranslator = multilanguageLink->translator().release(); - QCoreApplication::installTranslator(multilanguageTranslator); - } - if (multilanguageTranslator) - multilanguageTranslator->setLanguage(command.language); - } + setTranslationLanguage(command.language); QEvent ev(QEvent::LanguageChange); QCoreApplication::sendEvent(QCoreApplication::instance(), &ev); engine()->retranslate(); diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h index 973edd4f1f0..87eb5a1b7e9 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h @@ -236,6 +236,7 @@ protected: virtual void initializeView() = 0; virtual void setupScene(const CreateSceneCommand &command) = 0; + void setTranslationLanguage(const QString &language); void loadDummyDataFiles(const QString& directory); void loadDummyDataContext(const QString& directory); void loadDummyDataFile(const QFileInfo& fileInfo); diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.cpp index a54dfbb82b6..6e500120634 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5previewnodeinstanceserver.cpp @@ -46,6 +46,7 @@ Qt5PreviewNodeInstanceServer::Qt5PreviewNodeInstanceServer(NodeInstanceClientInt void Qt5PreviewNodeInstanceServer::createScene(const CreateSceneCommand &command) { + setTranslationLanguage(command.language()); initializeView(); setupScene(command); startRenderTimer(); |