aboutsummaryrefslogtreecommitdiff
path: root/examples/example_0_connected
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-09-18 10:53:24 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-09-18 10:53:24 +0000
commita0b7fb45ad1bdbb401b4199d84c7c5feaec1fbfa (patch)
treedaee6e2f3ca5943f8e64ef10420acf6ab25aaffa /examples/example_0_connected
parent23d80383ded71bbb0e70a89c888b2f5780229a71 (diff)
downloadqxmpp-a0b7fb45ad1bdbb401b4199d84c7c5feaec1fbfa.tar.gz
rework example_0_connected to display logging output in a window, otherwise we see nothing on Symbian
Diffstat (limited to 'examples/example_0_connected')
-rw-r--r--examples/example_0_connected/example_0_connected.pro1
-rw-r--r--examples/example_0_connected/main.cpp48
-rw-r--r--examples/example_0_connected/main.h43
3 files changed, 83 insertions, 9 deletions
diff --git a/examples/example_0_connected/example_0_connected.pro b/examples/example_0_connected/example_0_connected.pro
index 86578b54..55a21aa1 100644
--- a/examples/example_0_connected/example_0_connected.pro
+++ b/examples/example_0_connected/example_0_connected.pro
@@ -2,6 +2,7 @@ include(../examples.pri)
TARGET = example_0_connected
+HEADERS += main.h
SOURCES += main.cpp
OTHER_FILES += README
diff --git a/examples/example_0_connected/main.cpp b/examples/example_0_connected/main.cpp
index fee52c51..7bfeb19d 100644
--- a/examples/example_0_connected/main.cpp
+++ b/examples/example_0_connected/main.cpp
@@ -1,8 +1,9 @@
/*
* Copyright (C) 2008-2010 The QXmpp developers
*
- * Author:
+ * Authors:
* Manjeet Dahiya
+ * Jeremy Lainé
*
* Source:
* http://code.google.com/p/qxmpp
@@ -22,22 +23,51 @@
*/
-#include <QtCore/QCoreApplication>
+#include <QApplication>
+#include <QDialogButtonBox>
+#include <QLayout>
+#include <QTextBrowser>
#include "QXmppClient.h"
#include "QXmppLogger.h"
+#include "main.h"
+
+LogViewer::LogViewer()
+{
+ QVBoxLayout *vbox = new QVBoxLayout;
+ vbox->setMargin(0);
+
+ m_browser = new QTextBrowser;
+ vbox->addWidget(m_browser);
+
+ QDialogButtonBox *buttons = new QDialogButtonBox(QDialogButtonBox::Ok);
+ connect(buttons, SIGNAL(accepted()), qApp, SLOT(quit()));
+ vbox->addWidget(buttons);
+
+ setLayout(vbox);
+}
+
+void LogViewer::log(QXmppLogger::MessageType type, const QString& msg)
+{
+ m_browser->append(msg);
+}
int main(int argc, char *argv[])
{
- QCoreApplication a(argc, argv);
-
- QXmppLogger::getLogger()->setLoggingType(QXmppLogger::StdoutLogging);
- QXmppClient client;
+ QApplication a(argc, argv);
+
+ // Set up logging
+ QXmppLogger *logger = QXmppLogger::getLogger();
+ logger->setLoggingType(QXmppLogger::SignalLogging);
- // For jabber
- // client.connectToServer("username@jabber.org", "passwd");
+ LogViewer viewer;
+ QObject::connect(logger, SIGNAL(message(QXmppLogger::MessageType,QString)),
+ &viewer, SLOT(log(QXmppLogger::MessageType,QString)));
+ viewer.show();
- // For google talk
+ // Connect to server
+ QXmppClient client;
+ // client.connectToServer("username@jabber.org", "passwd");
client.connectToServer("qxmpp.test1@gmail.com", "qxmpp123");
return a.exec();
diff --git a/examples/example_0_connected/main.h b/examples/example_0_connected/main.h
new file mode 100644
index 00000000..fb14b78d
--- /dev/null
+++ b/examples/example_0_connected/main.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2008-2010 The QXmpp developers
+ *
+ * Authors:
+ * Manjeet Dahiya
+ * Jeremy Lainé
+ *
+ * Source:
+ * http://code.google.com/p/qxmpp
+ *
+ * This file is a part of QXmpp library.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ */
+
+#include <QDialog>
+#include "QXmppLogger.h"
+
+class QTextBrowser;
+
+class LogViewer : public QDialog
+{
+ Q_OBJECT
+
+public:
+ LogViewer();
+
+private slots:
+ void log(QXmppLogger::MessageType type, const QString& text);
+
+private:
+ QTextBrowser *m_browser;
+};
+