From 4239fd83f1774cbcae15a501a4aa8d9fa4925181 Mon Sep 17 00:00:00 2001 From: Mateusz Piekos Date: Tue, 7 Aug 2012 09:58:10 +0200 Subject: Added icon and title to whiteboard windows diff --git a/Swift/Controllers/MainController.cpp b/Swift/Controllers/MainController.cpp index e67df62..c1cc055 100644 --- a/Swift/Controllers/MainController.cpp +++ b/Swift/Controllers/MainController.cpp @@ -321,7 +321,7 @@ void MainController::handleConnected() { userSearchControllerChat_ = new UserSearchController(UserSearchController::StartChat, jid_, uiEventStream_, client_->getVCardManager(), uiFactory_, client_->getIQRouter(), rosterController_); userSearchControllerAdd_ = new UserSearchController(UserSearchController::AddContact, jid_, uiEventStream_, client_->getVCardManager(), uiFactory_, client_->getIQRouter(), rosterController_); adHocManager_ = new AdHocManager(JID(boundJID_.getDomain()), uiFactory_, client_->getIQRouter(), uiEventStream_, rosterController_->getWindow()); - whiteboardManager_ = new WhiteboardManager(uiFactory_, uiEventStream_, client_->getWhiteboardSessionManager()); + whiteboardManager_ = new WhiteboardManager(uiFactory_, uiEventStream_, client_->getNickResolver(), client_->getWhiteboardSessionManager()); } loginWindow_->setIsLoggingIn(false); diff --git a/Swift/Controllers/UIInterfaces/WhiteboardWindow.h b/Swift/Controllers/UIInterfaces/WhiteboardWindow.h index d40ff08..a4a9ef0 100644 --- a/Swift/Controllers/UIInterfaces/WhiteboardWindow.h +++ b/Swift/Controllers/UIInterfaces/WhiteboardWindow.h @@ -21,5 +21,6 @@ namespace Swift { virtual void show() = 0; virtual void setSession(boost::shared_ptr session) = 0; virtual void activateWindow() = 0; + virtual void setName(const std::string& name) = 0; }; } diff --git a/Swift/Controllers/WhiteboardManager.cpp b/Swift/Controllers/WhiteboardManager.cpp index 142239e..1aa238e 100644 --- a/Swift/Controllers/WhiteboardManager.cpp +++ b/Swift/Controllers/WhiteboardManager.cpp @@ -13,13 +13,14 @@ #include #include #include +#include "Swiften/Client/NickResolver.h" #include #include namespace Swift { typedef std::pair JIDWhiteboardWindowPair; - WhiteboardManager::WhiteboardManager(WhiteboardWindowFactory* whiteboardWindowFactory, UIEventStream* uiEventStream, WhiteboardSessionManager* whiteboardSessionManager) : whiteboardWindowFactory_(whiteboardWindowFactory), uiEventStream_(uiEventStream), whiteboardSessionManager_(whiteboardSessionManager) { + WhiteboardManager::WhiteboardManager(WhiteboardWindowFactory* whiteboardWindowFactory, UIEventStream* uiEventStream, NickResolver* nickResolver, WhiteboardSessionManager* whiteboardSessionManager) : whiteboardWindowFactory_(whiteboardWindowFactory), uiEventStream_(uiEventStream), nickResolver_(nickResolver), whiteboardSessionManager_(whiteboardSessionManager) { uiEventConnection_ = uiEventStream_->onUIEvent.connect(boost::bind(&WhiteboardManager::handleUIEvent, this, _1)); } @@ -31,6 +32,7 @@ namespace Swift { WhiteboardWindow* WhiteboardManager::createNewWhiteboardWindow(const JID& contact, WhiteboardSession::ref session) { WhiteboardWindow *window = whiteboardWindowFactory_->createWhiteboardWindow(session); + window->setName(nickResolver_->jidToNick(contact)); whiteboardWindows_[contact.toBare()] = window; return window; } diff --git a/Swift/Controllers/WhiteboardManager.h b/Swift/Controllers/WhiteboardManager.h index 52d9bae..a2c75dd 100644 --- a/Swift/Controllers/WhiteboardManager.h +++ b/Swift/Controllers/WhiteboardManager.h @@ -20,10 +20,11 @@ namespace Swift { class WhiteboardSessionManager; + class NickResolver; class WhiteboardManager { public: - WhiteboardManager(WhiteboardWindowFactory* whiteboardWindowFactory, UIEventStream* uiEventStream, WhiteboardSessionManager* whiteboardSessionManager); + WhiteboardManager(WhiteboardWindowFactory* whiteboardWindowFactory, UIEventStream* uiEventStream, NickResolver* nickResolver, WhiteboardSessionManager* whiteboardSessionManager); ~WhiteboardManager(); WhiteboardWindow* createNewWhiteboardWindow(const JID& contact, WhiteboardSession::ref session); @@ -38,6 +39,7 @@ namespace Swift { std::map whiteboardWindows_; WhiteboardWindowFactory* whiteboardWindowFactory_; UIEventStream* uiEventStream_; + NickResolver* nickResolver_; boost::bsignals::scoped_connection uiEventConnection_; WhiteboardSessionManager* whiteboardSessionManager_; }; diff --git a/Swift/QtUI/Whiteboard/QtWhiteboardWindow.cpp b/Swift/QtUI/Whiteboard/QtWhiteboardWindow.cpp index ddbbd5c..eb22904 100644 --- a/Swift/QtUI/Whiteboard/QtWhiteboardWindow.cpp +++ b/Swift/QtUI/Whiteboard/QtWhiteboardWindow.cpp @@ -21,10 +21,12 @@ #include #include -//using namespace std; namespace Swift { QtWhiteboardWindow::QtWhiteboardWindow(WhiteboardSession::ref whiteboardSession) : QWidget() { +#ifndef Q_WS_MAC + setWindowIcon(QIcon(":/logo-icon-16.png")); +#endif layout = new QVBoxLayout(this); hLayout = new QHBoxLayout; sidebarLayout = new QVBoxLayout; @@ -32,9 +34,6 @@ namespace Swift { scene = new QGraphicsScene(this); scene->setSceneRect(0, 0, 400, 400); - //BspTreeIndex is buggy, there are problems after removing items - //from scene - //scene->setItemIndexMethod(QGraphicsScene::NoIndex); graphicsView = new GView(scene, this); graphicsView->setMode(GView::Line); @@ -229,6 +228,10 @@ namespace Swift { QWidget::activateWindow(); } + void QtWhiteboardWindow::setName(const std::string& name) { + setWindowTitle(P2QSTRING(name)); + } + void QtWhiteboardWindow::handleLastItemChanged(QGraphicsItem* item, int pos, GView::Type type) { WhiteboardElement::ref el; QGraphicsLineItem* lineItem = qgraphicsitem_cast(item); diff --git a/Swift/QtUI/Whiteboard/QtWhiteboardWindow.h b/Swift/QtUI/Whiteboard/QtWhiteboardWindow.h index 903487a..1462981 100644 --- a/Swift/QtUI/Whiteboard/QtWhiteboardWindow.h +++ b/Swift/QtUI/Whiteboard/QtWhiteboardWindow.h @@ -35,6 +35,7 @@ namespace Swift { void show(); void setSession(WhiteboardSession::ref session); void activateWindow(); + void setName(const std::string& name); private slots: void changeLineWidth(int i); -- cgit v0.10.2-6-g49f6