diff options
author | Topi Reinio <topi.reinio@digia.com> | 2014-08-13 14:14:49 +0200 |
---|---|---|
committer | Milian Wolff <milian.wolff@kdab.com> | 2014-08-13 14:43:24 +0200 |
commit | 62760f579b52fbd19d85d31fa90274f9b0dc5111 (patch) | |
tree | cb348241c606632ad9dbc575e28910e9302a2cc5 /examples/qwebchannel/standalone/main.cpp | |
parent | 150fba9166d0cd63079d8ed15af5f80a759e9549 (diff) | |
download | qtwebchannel-62760f579b52fbd19d85d31fa90274f9b0dc5111.tar.gz |
Doc: Fix example documentation and paths
To fix issues related to example documentation and to follow Qt
convention, do the following changes:
- Rename examples/qwebchannel to examples/webchannel
- Move example-specific documentation to correct location(s)
- Include generic 'Running the Example' instructions
- Add the module name to example title, fix links
This ensures that example docs are built and the example manifest
file generated correctly.
Change-Id: I284e0b13db95a6738d72258735018b59156cc7da
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
Diffstat (limited to 'examples/qwebchannel/standalone/main.cpp')
-rw-r--r-- | examples/qwebchannel/standalone/main.cpp | 151 |
1 files changed, 0 insertions, 151 deletions
diff --git a/examples/qwebchannel/standalone/main.cpp b/examples/qwebchannel/standalone/main.cpp deleted file mode 100644 index 2cbc6b8..0000000 --- a/examples/qwebchannel/standalone/main.cpp +++ /dev/null @@ -1,151 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Milian Wolff <milian.wolff@kdab.com> -** Contact: http://www.qt-project.org/legal -** -** This file is part of the QtWebChannel module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qwebchannel.h" - -#include <QApplication> -#include <QDialog> -#include <QVariantMap> -#include <QDesktopServices> -#include <QUrl> -#include <QDebug> - -#include <QtWebSockets/QWebSocketServer> - -#include "websocketclientwrapper.h" -#include "websockettransport.h" - -#include "ui_dialog.h" - -/*! - An instance of this class gets published over the WebChannel and is then accessible to HTML clients. -*/ -class Dialog : public QObject -{ - Q_OBJECT - -public: - explicit Dialog(QObject *parent = 0) - : QObject(parent) - { - ui.setupUi(&dialog); - dialog.show(); - - connect(ui.send, SIGNAL(clicked()), SLOT(clicked())); - } - - void displayMessage(const QString &message) - { - ui.output->appendPlainText(message); - } - -signals: - /*! - This signal is emitted from the C++ side and the text displayed on the HTML client side. - */ - void sendText(const QString &text); - -public slots: - /*! - This slot is invoked from the HTML client side and the text displayed on the server side. - */ - void receiveText(const QString &text) - { - displayMessage(tr("Received message: %1").arg(text)); - } - -private slots: - /*! - Note that this slot is private and thus not accessible to HTML clients. - */ - void clicked() - { - const QString text = ui.input->text(); - - if (text.isEmpty()) { - return; - } - - emit sendText(text); - displayMessage(tr("Sent message: %1").arg(text)); - - ui.input->clear(); - } - -private: - QDialog dialog; - Ui::Dialog ui; -}; - -int main(int argc, char** argv) -{ - QApplication app(argc, argv); - - // setup the QWebSocketServer - QWebSocketServer server(QStringLiteral("QWebChannel Standalone Example Server"), QWebSocketServer::NonSecureMode); - if (!server.listen(QHostAddress::LocalHost, 12345)) { - qFatal("Failed to open web socket server."); - return 1; - } - - // wrap WebSocket clients in QWebChannelAbstractTransport objects - WebSocketClientWrapper clientWrapper(&server); - - // setup the channel - QWebChannel channel; - QObject::connect(&clientWrapper, &WebSocketClientWrapper::clientConnected, - &channel, &QWebChannel::connectTo); - - // setup the dialog and publish it to the QWebChannel - Dialog dialog; - channel.registerObject(QStringLiteral("dialog"), &dialog); - - // open a browser window with the client HTML page - QUrl url = QUrl::fromLocalFile(BUILD_DIR "/index.html"); - url.setQuery(QStringLiteral("webChannelBaseUrl=") + server.serverUrl().toString()); - QDesktopServices::openUrl(url); - - dialog.displayMessage(QObject::tr("Initialization complete, opening browser at %1.").arg(url.toDisplayString())); - - return app.exec(); -} - -#include "main.moc" |