aboutsummaryrefslogtreecommitdiffstats
path: root/src/qmldebug
diff options
context:
space:
mode:
authorTim Jenssen <tim.jenssen@qt.io>2020-02-07 08:13:41 +0100
committerMaximilian Goldstein <max.goldstein@qt.io>2021-04-26 13:13:44 +0200
commit784c62441333de8d13d31c719ac01e6096247c01 (patch)
treec9916e04f0e7d7ddf1cf6467f0f9ad643267e58a /src/qmldebug
parentf9b85604179e162c68ac8c42f97b1b3329c79b0a (diff)
Implement debugtranslationservice
- moves the language feature from the preview service to an own debugtranslationservice - with the help of a proxytranslator the service gets all translate requests Change-Id: Ic26677bb1706abbea2db23e6aafe7a3f00648962 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qmldebug')
-rw-r--r--src/qmldebug/qqmldebugtranslationclient.cpp49
-rw-r--r--src/qmldebug/qqmldebugtranslationclient_p.h22
-rw-r--r--src/qmldebug/qqmlpreviewclient.cpp7
-rw-r--r--src/qmldebug/qqmlpreviewclient_p.h4
-rw-r--r--src/qmldebug/qv4debugclient_p.h2
5 files changed, 40 insertions, 44 deletions
diff --git a/src/qmldebug/qqmldebugtranslationclient.cpp b/src/qmldebug/qqmldebugtranslationclient.cpp
index 33f887b059..a93184b95d 100644
--- a/src/qmldebug/qqmldebugtranslationclient.cpp
+++ b/src/qmldebug/qqmldebugtranslationclient.cpp
@@ -40,37 +40,46 @@
#include "qqmldebugtranslationclient_p.h"
#include "qqmldebugconnection_p.h"
-#include <QUrl>
-#include <QDataStream>
-
#include <QDebug>
-#include <QtPacketProtocol/private/qpacket_p.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QQmlDebugTranslationClient
- \internal
- \brief Client for the debug translation service
+#include <private/qqmldebugconnector_p.h>
+#include <private/qversionedpacket_p.h>
- The QQmlDebugTranslationClient can test if translated texts will fit.
- */
+QT_BEGIN_NAMESPACE
QQmlDebugTranslationClient::QQmlDebugTranslationClient(QQmlDebugConnection *client)
: QQmlDebugClient(QLatin1String("DebugTranslation"), client)
{
}
-void QQmlDebugTranslationClient::messageReceived(const QByteArray &data)
+void QQmlDebugTranslationClient::messageReceived(const QByteArray &message)
{
- Q_UNUSED(data);
-}
+ QVersionedPacket<QQmlDebugConnector> packet(message);
+ QQmlDebugTranslation::Reply type;
-void QQmlDebugTranslationClient::triggerLanguage(const QUrl &url, const QString &locale)
-{
- Q_UNUSED(url);
- Q_UNUSED(locale);
+ packet >> type;
+ switch (type) {
+ case QQmlDebugTranslation::Reply::MissingTranslations: {
+ packet >> translationIssues;
+ break;
+ }
+ case QQmlDebugTranslation::Reply::LanguageChanged: {
+ languageChanged = true;
+ break;
+ }
+ case QQmlDebugTranslation::Reply::TranslatableTextOccurrences: {
+ packet >> qmlElements;
+ break;
+ }
+ case QQmlDebugTranslation::Reply::StateList: {
+ packet >> qmlStates;
+ break;
+ }
+
+ default:
+ qWarning() << "TestDebugTranslationClient: received unknown command: " << static_cast<int>(type);
+ break;
+ }
}
QT_END_NAMESPACE
diff --git a/src/qmldebug/qqmldebugtranslationclient_p.h b/src/qmldebug/qqmldebugtranslationclient_p.h
index 3163759d9e..968e3f26a9 100644
--- a/src/qmldebug/qqmldebugtranslationclient_p.h
+++ b/src/qmldebug/qqmldebugtranslationclient_p.h
@@ -41,6 +41,9 @@
#include "qqmldebugclient_p.h"
+#include <QtCore/qvector.h>
+#include <private/qqmldebugtranslationprotocol_p.h>
+
//
// W A R N I N G
// -------------
@@ -59,21 +62,14 @@ class QQmlDebugTranslationClient : public QQmlDebugClient
Q_OBJECT
public:
- //needs to be in sync with QQmlDebugTranslationServiceImpl in qqmldebugtranslationservice.h
- enum Command {
- ChangeLanguage,
- ChangeWarningColor,
- ChangeElidedTextWarningString,
- SetDebugTranslationServiceLogFile,
- EnableElidedTextWarning,
- DisableElidedTextWarning,
- TestAllLanguages
- };
-
explicit QQmlDebugTranslationClient(QQmlDebugConnection *client);
+ ~QQmlDebugTranslationClient() = default;
- virtual void messageReceived(const QByteArray &) override;
- void triggerLanguage(const QUrl &url, const QString &locale);
+ virtual void messageReceived(const QByteArray &message) override;
+ bool languageChanged = false;
+ QVector<QQmlDebugTranslation::TranslationIssue> translationIssues;
+ QVector<QQmlDebugTranslation::QmlElement> qmlElements;
+ QVector<QQmlDebugTranslation::QmlState> qmlStates;
};
QT_END_NAMESPACE
diff --git a/src/qmldebug/qqmlpreviewclient.cpp b/src/qmldebug/qqmlpreviewclient.cpp
index 60937b9cfd..abda548d01 100644
--- a/src/qmldebug/qqmlpreviewclient.cpp
+++ b/src/qmldebug/qqmlpreviewclient.cpp
@@ -129,11 +129,4 @@ void QQmlPreviewClient::triggerZoom(float factor)
sendMessage(packet.data());
}
-void QQmlPreviewClient::triggerLanguage(const QUrl &url, const QString &locale)
-{
- QPacket packet(connection()->currentDataStreamVersion());
- packet << static_cast<qint8>(Language) << url << locale;
- sendMessage(packet.data());
-}
-
QT_END_NAMESPACE
diff --git a/src/qmldebug/qqmlpreviewclient_p.h b/src/qmldebug/qqmlpreviewclient_p.h
index 65661613e9..78db399059 100644
--- a/src/qmldebug/qqmlpreviewclient_p.h
+++ b/src/qmldebug/qqmlpreviewclient_p.h
@@ -72,8 +72,7 @@ public:
Directory,
ClearCache,
Zoom,
- Fps,
- Language
+ Fps
};
struct FpsInfo {
@@ -98,7 +97,6 @@ public:
void triggerLoad(const QUrl &url);
void triggerRerun();
void triggerZoom(float factor);
- void triggerLanguage(const QUrl &url, const QString &locale);
signals:
void request(const QString &path);
diff --git a/src/qmldebug/qv4debugclient_p.h b/src/qmldebug/qv4debugclient_p.h
index fdcf4284c5..23760232dc 100644
--- a/src/qmldebug/qv4debugclient_p.h
+++ b/src/qmldebug/qv4debugclient_p.h
@@ -40,7 +40,7 @@
#ifndef QV4DEBUGCLIENT_P_H
#define QV4DEBUGCLIENT_P_H
-#include <QtQmlDebug/private/qqmldebugclient_p.h>
+#include "qqmldebugclient_p.h"
#include <QtCore/qjsonvalue.h>
//