From de708185c77aa451682fa96fbca4dcc6c8091c44 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 8 Feb 2016 16:48:29 +0100 Subject: [*] Use thumbnail on vnc viewer window until connection is up --- src/server/net/client.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/server/net/client.cpp') diff --git a/src/server/net/client.cpp b/src/server/net/client.cpp index 5fb030e..029b88a 100644 --- a/src/server/net/client.cpp +++ b/src/server/net/client.cpp @@ -156,12 +156,14 @@ void Client::handleMsg() if (id == _THUMB) { QPixmap pixmap; - if (!pixmap.loadFromData(_fromClient.getFieldBytes("IMG"))) + const QByteArray& rawImage = _fromClient.getFieldBytes("IMG"); + if (!pixmap.loadFromData(rawImage)) { qDebug("Could not decode thumbnail image from client."); return; } - emit thumbUpdated(this, pixmap); + _rawRemoteScreen = QByteArray(rawImage); + emit thumbUpdated(this, pixmap, rawImage); } else if (id == _VNCSERVER) { @@ -298,10 +300,14 @@ void Client::startVncClient(const Client * const to) NetworkMessage msg; msg.setField(_ID, _VNCCLIENT); msg.setField("HOST", to->_socket->peerAddress().toString()); - msg.setField("PORT", QString::number(to->_vncPort)); + msg.setField(_PORT, QString::number(to->_vncPort)); msg.setField("ROPASS", to->_vncRoPass); msg.setField("CLIENTID", QString::number(to->_id)); msg.setField("CAPTION", to->_name + " @ " + to->_host); + if (!to->_rawRemoteScreen.isEmpty()) + { + msg.setField(_THUMB, to->_rawRemoteScreen); + } sendMessage(msg); } -- cgit v1.2.3-55-g7522