Merge "Merge remote-tracking branch 'origin/qds-1.59' into 4.13" into 4.13

This commit is contained in:
The Qt Project
2020-06-29 04:38:48 +00:00
123 changed files with 7677 additions and 311 deletions

View File

@@ -40,7 +40,8 @@ CreateSceneCommand::CreateSceneCommand(const QVector<InstanceContainer> &instanc
const QVector<AddImportContainer> &importVector,
const QVector<MockupTypeContainer> &mockupTypeVector,
const QUrl &fileUrl,
const QHash<QString, QVariantMap> &edit3dToolStates)
const QHash<QString, QVariantMap> &edit3dToolStates,
const QString &language)
: m_instanceVector(instanceContainer),
m_reparentInstanceVector(reparentContainer),
m_idVector(idVector),
@@ -50,7 +51,8 @@ CreateSceneCommand::CreateSceneCommand(const QVector<InstanceContainer> &instanc
m_importVector(importVector),
m_mockupTypeVector(mockupTypeVector),
m_fileUrl(fileUrl),
m_edit3dToolStates(edit3dToolStates)
m_edit3dToolStates(edit3dToolStates),
m_language(language)
{
}
@@ -104,6 +106,11 @@ QHash<QString, QVariantMap> CreateSceneCommand::edit3dToolStates() const
return m_edit3dToolStates;
}
QString CreateSceneCommand::language() const
{
return m_language;
}
QDataStream &operator<<(QDataStream &out, const CreateSceneCommand &command)
{
out << command.instances();
@@ -116,6 +123,7 @@ QDataStream &operator<<(QDataStream &out, const CreateSceneCommand &command)
out << command.mockupTypes();
out << command.fileUrl();
out << command.edit3dToolStates();
out << command.language();
return out;
}
@@ -132,6 +140,7 @@ QDataStream &operator>>(QDataStream &in, CreateSceneCommand &command)
in >> command.m_mockupTypeVector;
in >> command.m_fileUrl;
in >> command.m_edit3dToolStates;
in >> command.m_language;
return in;
}
@@ -148,7 +157,8 @@ QDebug operator <<(QDebug debug, const CreateSceneCommand &command)
<< "imports: " << command.imports() << ", "
<< "mockupTypes: " << command.mockupTypes() << ", "
<< "fileUrl: " << command.fileUrl() << ", "
<< "edit3dToolStates: " << command.edit3dToolStates() << ")";
<< "edit3dToolStates: " << command.edit3dToolStates() << ", "
<< "language: " << command.language() << ")";
}
}

View File

@@ -45,16 +45,18 @@ class CreateSceneCommand
public:
CreateSceneCommand();
explicit CreateSceneCommand(const QVector<InstanceContainer> &instanceContainer,
const QVector<ReparentContainer> &reparentContainer,
const QVector<IdContainer> &idVector,
const QVector<PropertyValueContainer> &valueChangeVector,
const QVector<PropertyBindingContainer> &bindingChangeVector,
const QVector<PropertyValueContainer> &auxiliaryChangeVector,
const QVector<AddImportContainer> &importVector,
const QVector<MockupTypeContainer> &mockupTypeVector,
const QUrl &fileUrl,
const QHash<QString, QVariantMap> &edit3dToolStates);
explicit CreateSceneCommand(
const QVector<InstanceContainer> &instanceContainer,
const QVector<ReparentContainer> &reparentContainer,
const QVector<IdContainer> &idVector,
const QVector<PropertyValueContainer> &valueChangeVector,
const QVector<PropertyBindingContainer> &bindingChangeVector,
const QVector<PropertyValueContainer> &auxiliaryChangeVector,
const QVector<AddImportContainer> &importVector,
const QVector<MockupTypeContainer> &mockupTypeVector,
const QUrl &fileUrl,
const QHash<QString, QVariantMap> &edit3dToolStates,
const QString &language);
QVector<InstanceContainer> instances() const;
QVector<ReparentContainer> reparentInstances() const;
@@ -66,6 +68,7 @@ public:
QVector<MockupTypeContainer> mockupTypes() const;
QUrl fileUrl() const;
QHash<QString, QVariantMap> edit3dToolStates() const;
QString language() const;
private:
QVector<InstanceContainer> m_instanceVector;
@@ -78,6 +81,7 @@ private:
QVector<MockupTypeContainer> m_mockupTypeVector;
QUrl m_fileUrl;
QHash<QString, QVariantMap> m_edit3dToolStates;
QString m_language;
};
QDataStream &operator<<(QDataStream &out, const CreateSceneCommand &command);

View File

@@ -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();

View File

@@ -241,6 +241,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);

View File

@@ -46,6 +46,7 @@ Qt5PreviewNodeInstanceServer::Qt5PreviewNodeInstanceServer(NodeInstanceClientInt
void Qt5PreviewNodeInstanceServer::createScene(const CreateSceneCommand &command)
{
setTranslationLanguage(command.language());
initializeView();
setupScene(command);
startRenderTimer();

View File

@@ -5,9 +5,11 @@ CONFIG += c++11
DEFINES -= QT_CREATOR
# This .pri file contains classes to enable a special multilanguage translator debug service
# This .pri file contains classes to enable a special multilanguage translator
MULTILANGUAGE_SUPPORT_PRI=$$(MULTILANGUAGE_SUPPORT_PRI)
!isEmpty(MULTILANGUAGE_SUPPORT_PRI) {
exists($$(MULTILANGUAGE_SUPPORT_PRI)): message(including \"$$(MULTILANGUAGE_SUPPORT_PRI)\")
else: error("MULTILANGUAGE_SUPPORT_PRI: \"$$(MULTILANGUAGE_SUPPORT_PRI)\" does not exist.")
include($$(MULTILANGUAGE_SUPPORT_PRI))
DEFINES += MULTILANGUAGE_TRANSLATIONPROVIDER
}