summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2009-06-10 16:49:49 (GMT)
committerRemko Tronçon <git@el-tramo.be>2009-06-10 16:49:49 (GMT)
commit7214d768dca85a6d43892169d5008898249dce73 (patch)
tree0f8b2820c9cb58f058263c78306987d934fec526 /UI/Qt/QtChatWindow.cpp
parentfd89da91d12b270d56f60544cad6f1ddc809af28 (diff)
downloadswift-contrib-7214d768dca85a6d43892169d5008898249dce73.zip
swift-contrib-7214d768dca85a6d43892169d5008898249dce73.tar.bz2
Moved UI/Qt -> Swift/QtUI.
Diffstat (limited to 'UI/Qt/QtChatWindow.cpp')
-rw-r--r--UI/Qt/QtChatWindow.cpp180
1 files changed, 0 insertions, 180 deletions
diff --git a/UI/Qt/QtChatWindow.cpp b/UI/Qt/QtChatWindow.cpp
deleted file mode 100644
index 1db8dae..0000000
--- a/UI/Qt/QtChatWindow.cpp
+++ /dev/null
@@ -1,180 +0,0 @@
-#include "QtChatWindow.h"
-#include "QtSwiftUtil.h"
-#include "QtTreeWidget.h"
-#include "QtTreeWidgetFactory.h"
-#include "QtChatView.h"
-#include "MessageSnippet.h"
-#include "SystemMessageSnippet.h"
-
-#include <QApplication>
-#include <QBoxLayout>
-#include <QCloseEvent>
-#include <QComboBox>
-#include <QLineEdit>
-#include <QSplitter>
-#include <QString>
-#include <QTextEdit>
-#include <QTime>
-
-namespace Swift {
-QtChatWindow::QtChatWindow(const QString &contact, QtTreeWidgetFactory *treeWidgetFactory) : QWidget(), contact_(contact), previousMessageWasSelf_(false), previousMessageWasSystem_(false) {
- unreadCount_ = 0;
- updateTitleWithUnreadCount();
-
- QBoxLayout *layout = new QBoxLayout(QBoxLayout::TopToBottom, this);
- layout->setContentsMargins(0,0,0,0);
- layout->setSpacing(2);
-
-
- QSplitter *logRosterSplitter = new QSplitter(this);
- layout->addWidget(logRosterSplitter);
-
- messageLog_ = new QtChatView(this);
- logRosterSplitter->addWidget(messageLog_);
-
- treeWidget_ = dynamic_cast<QtTreeWidget*>(treeWidgetFactory->createTreeWidget());
- treeWidget_->hide();
- logRosterSplitter->addWidget(treeWidget_);
-
-
- QWidget* midBar = new QWidget(this);
- layout->addWidget(midBar);
- QHBoxLayout *midBarLayout = new QHBoxLayout(midBar);
- midBarLayout->setContentsMargins(0,0,0,0);
- midBarLayout->setSpacing(2);
- midBarLayout->addStretch();
- labelsWidget_ = new QComboBox(this);
- labelsWidget_->setFocusPolicy(Qt::NoFocus);
- labelsWidget_->hide();
- labelsWidget_->setSizeAdjustPolicy(QComboBox::AdjustToContents);
- midBarLayout->addWidget(labelsWidget_,0);
-
- input_ = new QLineEdit(this);
- layout->addWidget(input_);
-
- connect(input_, SIGNAL(returnPressed()), this, SLOT(returnPressed()));
- setFocusProxy(input_);
- connect(qApp, SIGNAL(focusChanged(QWidget*, QWidget*)), this, SLOT(qAppFocusChanged(QWidget*, QWidget*)));
-
- resize(400,300);
-}
-
-TreeWidget* QtChatWindow::getTreeWidget() {
- return treeWidget_;
-}
-
-void QtChatWindow::setAvailableSecurityLabels(const std::vector<SecurityLabel>& labels) {
- availableLabels_ = labels;
- labelsWidget_->clear();
- int i = 0;
- foreach (SecurityLabel label, labels) {
- QString labelName = P2QSTRING(label.getDisplayMarking());
- labelsWidget_->addItem(labelName, QVariant(i));
- i++;
- }
-}
-
-
-void QtChatWindow::setSecurityLabelsError() {
- labelsWidget_->setEnabled(false);
-}
-
-void QtChatWindow::setSecurityLabelsEnabled(bool enabled) {
- if (enabled) {
- labelsWidget_->setEnabled(true);
- labelsWidget_->show();
- } else {
- labelsWidget_->hide();
- }
-}
-
-SecurityLabel QtChatWindow::getSelectedSecurityLabel() {
- assert(labelsWidget_->isEnabled());
- return availableLabels_[labelsWidget_->currentIndex()];
-}
-
-void QtChatWindow::closeEvent(QCloseEvent* event) {
- onClosed();
- event->accept();
-}
-
-void QtChatWindow::convertToMUC() {
- treeWidget_->show();
-}
-
-void QtChatWindow::qAppFocusChanged(QWidget *old, QWidget *now) {
- Q_UNUSED(old);
- if (now == this || now == messageLog_ || now == input_) {
- onAllMessagesRead();
- }
-
-}
-
-void QtChatWindow::setUnreadMessageCount(int count) {
- unreadCount_ = count;
- updateTitleWithUnreadCount();
-}
-
-void QtChatWindow::updateTitleWithUnreadCount() {
- setWindowTitle(unreadCount_ > 0 ? QString("(%1) %2)").arg(unreadCount_).arg(contact_) : contact_);
-}
-
-void QtChatWindow::addMessage(const String &message, const String &senderName, bool senderIsSelf, const boost::optional<SecurityLabel>& label) {
- if (isActiveWindow()) {
- onAllMessagesRead();
- }
-
- QString htmlString;
- if (label) {
- htmlString = QString("<span style=\"border: thin dashed grey; padding-left: .5em; padding-right: .5em; color: %1; background-color: %2; font-size: 90%; margin-right: .5em; \">").arg(Qt::escape(P2QSTRING(label->getForegroundColor()))).arg(Qt::escape(P2QSTRING(label->getBackgroundColor())));
- htmlString += QString("%3</span> ").arg(Qt::escape(P2QSTRING(label->getDisplayMarking())));
- }
- QString messageHTML(Qt::escape(P2QSTRING(message)));
- messageHTML.replace("\n","<br/>");
- htmlString += messageHTML;
-
- bool appendToPrevious = !previousMessageWasSystem_ && ((senderIsSelf && previousMessageWasSelf_) || (!senderIsSelf && !previousMessageWasSelf_ && previousSenderName_ == P2QSTRING(senderName)));
- messageLog_->addMessage(MessageSnippet(htmlString, Qt::escape(P2QSTRING(senderName)), QDateTime::currentDateTime(), "qrc:/icons/avatar.png", senderIsSelf, appendToPrevious));
-
- previousMessageWasSelf_ = senderIsSelf;
- previousSenderName_ = P2QSTRING(senderName);
- previousMessageWasSystem_ = false;
-}
-
-void QtChatWindow::addErrorMessage(const String& errorMessage) {
- if (isActiveWindow()) {
- onAllMessagesRead();
- }
-
- QString errorMessageHTML(Qt::escape(P2QSTRING(errorMessage)));
- errorMessageHTML.replace("\n","<br/>");
- messageLog_->addMessage(SystemMessageSnippet(QString("<span class=\"error\">%1</span>").arg(errorMessageHTML), QDateTime::currentDateTime(),previousMessageWasSystem_));
-
- previousMessageWasSelf_ = false;
- previousMessageWasSystem_ = true;
-}
-
-void QtChatWindow::addSystemMessage(const String& message) {
- if (isActiveWindow()) {
- onAllMessagesRead();
- }
-
- QString messageHTML(Qt::escape(P2QSTRING(message)));
- messageHTML.replace("\n","<br/>");
- messageLog_->addMessage(SystemMessageSnippet(messageHTML, QDateTime::currentDateTime(),previousMessageWasSystem_));
-
- previousMessageWasSelf_ = false;
- previousMessageWasSystem_ = true;
-}
-
-void QtChatWindow::returnPressed() {
- onSendMessageRequest(Q2PSTRING(input_->text()));
- messageLog_->scrollToBottom();
- input_->clear();
-}
-
-void QtChatWindow::show() {
- QWidget::show();
-}
-
-}