aboutsummaryrefslogtreecommitdiffstats
path: root/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h
diff options
context:
space:
mode:
Diffstat (limited to 'share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h')
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h
index 6b11e1b87f..b0dc39a2a2 100644
--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h
@@ -25,12 +25,20 @@
#pragma once
+#include <QDebug>
#include <QUrl>
#include <QVector>
#include <QSet>
#include <QStringList>
#include <QPointer>
+#ifdef MULTILANGUAGE_TRANSLATIONPROVIDER
+#include <multilanguagelink.h>
+#endif
+
+#include <QTranslator>
+#include <memory>
+
#include <nodeinstanceserverinterface.h>
#include "servernodeinstance.h"
#include "debugoutputcommand.h"
@@ -47,6 +55,37 @@ QList<T>toList(const QSet<T> &set)
}
} //QtHelpers
+#ifndef MULTILANGUAGE_TRANSLATIONPROVIDER
+namespace MultiLanguage {
+inline QByteArray databaseFilePath()
+{
+ return {};
+}
+
+class Translator : public QTranslator
+{
+public:
+ void setLanguage(const QString&) {}
+};
+
+class Link
+{
+public:
+ Link()
+ {
+ if (qEnvironmentVariableIsSet("QT_MULTILANGUAGE_DATABASE"))
+ qWarning() << "QT_MULTILANGUAGE_DATABASE is set but QQmlDebugTranslationService is without MULTILANGUAGE_TRANSLATIONPROVIDER support compiled.";
+ }
+ std::unique_ptr<MultiLanguage::Translator> translator() {
+ //should never be called
+ Q_ASSERT(false);
+ return std::make_unique<MultiLanguage::Translator>();
+ }
+ const bool isActivated = false;
+};
+} //namespace MultiLanguage
+#endif
+
QT_BEGIN_NAMESPACE
class QFileSystemWatcher;
class QQmlView;
@@ -112,6 +151,8 @@ public:
void changeSelection(const ChangeSelectionCommand &command) override;
void inputEvent(const InputEventCommand &command) override;
void view3DAction(const View3DActionCommand &command) override;
+ void changeLanguage(const ChangeLanguageCommand &command) override;
+ void changePreviewImageSize(const ChangePreviewImageSizeCommand &command) override;
ServerNodeInstance instanceForId(qint32 id) const;
bool hasInstanceForId(qint32 id) const;
@@ -150,6 +191,11 @@ public:
void sendDebugOutput(DebugOutputCommand::Type type, const QString &message, const QVector<qint32> &instanceIds);
void removeInstanceRelationsipForDeletedObject(QObject *object);
+
+ void incrementNeedsExtraRender();
+ void decrementNeedsExtraRender();
+ void handleExtraRender();
+
public slots:
void refreshLocalFileProperty(const QString &path);
void refreshDummyData(const QString &path);
@@ -195,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);
@@ -248,6 +295,9 @@ private:
QPointer<QObject> m_dummyContextObject;
QPointer<QQmlComponent> m_importComponent;
QPointer<QObject> m_importComponentObject;
+ std::unique_ptr<MultiLanguage::Link> multilanguageLink;
+ int m_needsExtraRenderCount = 0;
+ int m_extraRenderCurrentPass = 0;
};
}