Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qqmlpreviewclient.cpp
Go to the documentation of this file.
1// Copyright (C) 2018 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant
4
5
7#include <private/qpacket_p.h>
8
9#include <QtCore/qurl.h>
10#include <QtCore/qfile.h>
11#include <QtCore/qfileinfo.h>
12#include <QtCore/qdir.h>
13#include <QtQml/qqmlfile.h>
14
16
17QQmlPreviewClient::QQmlPreviewClient(QQmlDebugConnection *connection)
18 : QQmlDebugClient(*(new QQmlPreviewClientPrivate(connection)))
19{
20}
21
22void QQmlPreviewClient::messageReceived(const QByteArray &message)
23{
24 QPacket packet(connection()->currentDataStreamVersion(), message);
25
26 qint8 command;
27 packet >> command;
28
29 switch (command) {
30 case Error: {
31 QString seviceError;
32 packet >> seviceError;
33 emit error(seviceError);
34 break;
35 }
36 case Request: {
37 QString fileName;
38 packet >> fileName;
39 emit request(fileName);
40 break;
41 }
42 case Fps: {
43 FpsInfo info;
44 packet >> info.numSyncs >> info.minSync >> info.maxSync >> info.totalSync
45 >> info.numRenders >> info.minRender >> info.maxRender >> info.totalRender;
46 emit fps(info);
47 break;
48 }
49 case Confirmation: {
50 Settings settings;
51 packet >> settings.enableInPlaceUpdates;
52 emit confirmation(settings);
53 break;
54 }
55 default:
56 emit error(QString::fromLatin1("Unknown command received: %1").arg(command));
57 break;
58 }
59}
60
61void QQmlPreviewClient::sendDirectory(const QString &path, const QStringList &entries)
62{
63 QPacket packet(connection()->currentDataStreamVersion());
64 packet << static_cast<qint8>(Directory) << path << entries;
65 sendMessage(packet.data());
66}
67
68void QQmlPreviewClient::sendFile(const QString &path, const QByteArray &contents)
69{
70 QPacket packet(connection()->currentDataStreamVersion());
71 packet << static_cast<qint8>(File) << path << contents;
72 sendMessage(packet.data());
73}
74
75void QQmlPreviewClient::sendError(const QString &path)
76{
77 QPacket packet(connection()->currentDataStreamVersion());
78 packet << static_cast<qint8>(Error) << path;
79 sendMessage(packet.data());
80}
81
83{
84 QPacket packet(connection()->currentDataStreamVersion());
85 packet << static_cast<qint8>(Configuration) << config.enableInPlaceUpdates;
86 sendMessage(packet.data());
87}
88
89void QQmlPreviewClient::triggerLoad(const QUrl &url)
90{
91 QPacket packet(connection()->currentDataStreamVersion());
92 packet << static_cast<qint8>(Load) << url;
93 sendMessage(packet.data());
94}
95
97{
98 QPacket packet(connection()->currentDataStreamVersion());
99 packet << static_cast<qint8>(Rerun);
100 sendMessage(packet.data());
101}
102
104{
105 QPacket packet(connection()->currentDataStreamVersion());
106 packet << static_cast<qint8>(Zoom) << factor;
107 sendMessage(packet.data());
108}
109
111{
112 QPacket packet(connection()->currentDataStreamVersion());
113 packet << static_cast<qint8>(AnimationSpeed) << factor;
114 sendMessage(packet.data());
115}
116
117QT_END_NAMESPACE
118
119#include "moc_qqmlpreviewclient_p.cpp"
void messageReceived(const QByteArray &message) override
void triggerZoom(float factor)
void triggerAnimationSpeed(float factor)
void sendFile(const QString &path, const QByteArray &contents)
void sendError(const QString &path)
void sendDirectory(const QString &path, const QStringList &entries)
void sendConfiguration(const Settings &settings)
void triggerLoad(const QUrl &url)
Combined button and popup list for selecting options.