forked from qt-creator/qt-creator
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>
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -46,6 +46,7 @@ Qt5PreviewNodeInstanceServer::Qt5PreviewNodeInstanceServer(NodeInstanceClientInt
|
||||
|
||||
void Qt5PreviewNodeInstanceServer::createScene(const CreateSceneCommand &command)
|
||||
{
|
||||
setTranslationLanguage(command.language());
|
||||
initializeView();
|
||||
setupScene(command);
|
||||
startRenderTimer();
|
||||
|
||||
Reference in New Issue
Block a user