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 default:
50 emit error(QString::fromLatin1("Unknown command received: %1").arg(command));
51 break;
52 }
53}
54
55void QQmlPreviewClient::sendDirectory(const QString &path, const QStringList &entries)
56{
57 QPacket packet(connection()->currentDataStreamVersion());
58 packet << static_cast<qint8>(Directory) << path << entries;
59 sendMessage(packet.data());
60}
61
62void QQmlPreviewClient::sendFile(const QString &path, const QByteArray &contents)
63{
64 QPacket packet(connection()->currentDataStreamVersion());
65 packet << static_cast<qint8>(File) << path << contents;
66 sendMessage(packet.data());
67}
68
69void QQmlPreviewClient::sendError(const QString &path)
70{
71 QPacket packet(connection()->currentDataStreamVersion());
72 packet << static_cast<qint8>(Error) << path;
73 sendMessage(packet.data());
74}
75
76void QQmlPreviewClient::triggerLoad(const QUrl &url)
77{
78 QPacket packet(connection()->currentDataStreamVersion());
79 packet << static_cast<qint8>(Load) << url;
80 sendMessage(packet.data());
81}
82
84{
85 QPacket packet(connection()->currentDataStreamVersion());
86 packet << static_cast<qint8>(Rerun);
87 sendMessage(packet.data());
88}
89
90void QQmlPreviewClient::triggerZoom(float factor)
91{
92 QPacket packet(connection()->currentDataStreamVersion());
93 packet << static_cast<qint8>(Zoom) << factor;
94 sendMessage(packet.data());
95}
96
97QT_END_NAMESPACE
98
99#include "moc_qqmlpreviewclient_p.cpp"
void messageReceived(const QByteArray &message) override
void triggerZoom(float factor)
void sendFile(const QString &path, const QByteArray &contents)
void sendError(const QString &path)
void sendDirectory(const QString &path, const QStringList &entries)
void triggerLoad(const QUrl &url)
Combined button and popup list for selecting options.