summaryrefslogtreecommitdiffstats
path: root/qt/examples/chat.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qt/examples/chat.cpp')
-rw-r--r--qt/examples/chat.cpp136
1 files changed, 0 insertions, 136 deletions
diff --git a/qt/examples/chat.cpp b/qt/examples/chat.cpp
deleted file mode 100644
index 86ff873b..00000000
--- a/qt/examples/chat.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-/* -*- C++ -*-
- *
- * Copyright (C) 2006 Trolltech AS. All rights reserved.
- * Author: Thiago Macieira <thiago.macieira@trolltech.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#include "chat.h"
-#include <QtGui/QApplication>
-#include <QtGui/QMessageBox>
-
-#include "chatadaptor.h"
-#include "chatinterface.h"
-
-ChatMainWindow::ChatMainWindow()
- : m_nickname(QLatin1String("nickname"))
-{
- setupUi(this);
- sendButton->setEnabled(false);
-
- connect(messageLineEdit, SIGNAL(textChanged(QString)),
- this, SLOT(textChangedSlot(QString)));
- connect(sendButton, SIGNAL(clicked(bool)), this, SLOT(sendClickedSlot()));
- connect(actionChangeNickname, SIGNAL(triggered(bool)), this, SLOT(changeNickname()));
- connect(actionAboutQt, SIGNAL(triggered(bool)), this, SLOT(aboutQt()));
- connect(qApp, SIGNAL(lastWindowClosed()), this, SLOT(exiting()));
-
- // add our D-Bus interface and connect to D-Bus
- new ChatInterfaceAdaptor(this);
- QDBus::systemBus().registerObject("/", this);
-
- com::trolltech::ChatInterface *iface;
- iface = QDBus::systemBus().findInterface<com::trolltech::ChatInterface>(QString(), QString());
- connect(iface, SIGNAL(message(QString,QString)), this, SLOT(messageSlot(QString,QString)));
- connect(iface, SIGNAL(action(QString,QString)), this, SLOT(actionSlot(QString,QString)));
-
- NicknameDialog dialog;
- dialog.cancelButton->setVisible(false);
- dialog.exec();
- m_nickname = dialog.nickname->text().trimmed();
- emit action(m_nickname, QLatin1String("joins the chat"));
-}
-
-ChatMainWindow::~ChatMainWindow()
-{
-}
-
-void ChatMainWindow::rebuildHistory()
-{
- QString history = m_messages.join( QLatin1String("\n" ) );
- chatHistory->setPlainText(history);
-}
-
-void ChatMainWindow::messageSlot(const QString &nickname, const QString &text)
-{
- QString msg( QLatin1String("<%1> %2") );
- msg = msg.arg(nickname, text);
- m_messages.append(msg);
-
- if (m_messages.count() > 100)
- m_messages.removeFirst();
- rebuildHistory();
-}
-
-void ChatMainWindow::actionSlot(const QString &nickname, const QString &text)
-{
- QString msg( QLatin1String("* %1 %2") );
- msg = msg.arg(nickname, text);
- m_messages.append(msg);
-
- if (m_messages.count() > 100)
- m_messages.removeFirst();
- rebuildHistory();
-}
-
-void ChatMainWindow::textChangedSlot(const QString &newText)
-{
- sendButton->setEnabled(!newText.isEmpty());
-}
-
-void ChatMainWindow::sendClickedSlot()
-{
- emit message(m_nickname, messageLineEdit->text());
- messageLineEdit->setText(QString());
-}
-
-void ChatMainWindow::changeNickname()
-{
- NicknameDialog dialog(this);
- if (dialog.exec() == QDialog::Accepted) {
- QString old = m_nickname;
- m_nickname = dialog.nickname->text().trimmed();
- emit action(old, QString("is now known as %1").arg(m_nickname));
- }
-}
-
-void ChatMainWindow::aboutQt()
-{
- QMessageBox::aboutQt(this);
-}
-
-void ChatMainWindow::exiting()
-{
- emit action(m_nickname, QLatin1String("leaves the chat"));
-}
-
-NicknameDialog::NicknameDialog(QWidget *parent)
- : QDialog(parent)
-{
- setupUi(this);
-}
-
-int main(int argc, char **argv)
-{
- QApplication app(argc, argv);
-
- ChatMainWindow chat;
- chat.show();
- return app.exec();
-}
-
-#include "chat.moc"