diff options
author | Kevin Smith <git@kismith.co.uk> | 2010-04-06 20:16:57 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2010-04-06 20:37:15 (GMT) |
commit | f3e75e58e57e5a49a79da8a88d25f17c784812b6 (patch) | |
tree | e8e4857049212367441b4469937631cbe61f1178 | |
parent | 725c4e1ad0710606421f9705d994688116a9fc1f (diff) | |
download | swift-contrib-f3e75e58e57e5a49a79da8a88d25f17c784812b6.zip swift-contrib-f3e75e58e57e5a49a79da8a88d25f17c784812b6.tar.bz2 |
Don't minimise+restore new chats that want focus on OS X.
Resolves: 217
-rw-r--r-- | Swift/Controllers/Chat/ChatsManager.cpp | 1 | ||||
-rw-r--r-- | Swift/Controllers/Chat/MUCController.cpp | 1 | ||||
-rw-r--r-- | Swift/QtUI/QtChatTabs.cpp | 10 | ||||
-rw-r--r-- | Swift/QtUI/QtChatTabs.h | 1 | ||||
-rw-r--r-- | Swift/QtUI/QtChatWindowFactory.cpp | 4 |
5 files changed, 10 insertions, 7 deletions
diff --git a/Swift/Controllers/Chat/ChatsManager.cpp b/Swift/Controllers/Chat/ChatsManager.cpp index db340ac..61d9bb4 100644 --- a/Swift/Controllers/Chat/ChatsManager.cpp +++ b/Swift/Controllers/Chat/ChatsManager.cpp @@ -138,7 +138,6 @@ void ChatsManager::setEnabled(bool enabled) { void ChatsManager::handleChatRequest(const String &contact) { ChatController* controller = getChatControllerOrFindAnother(JID(contact)); - controller->showChatWindow(); controller->activateChatWindow(); } diff --git a/Swift/Controllers/Chat/MUCController.cpp b/Swift/Controllers/Chat/MUCController.cpp index a1ca9cc..c726b7b 100644 --- a/Swift/Controllers/Chat/MUCController.cpp +++ b/Swift/Controllers/Chat/MUCController.cpp @@ -47,7 +47,6 @@ MUCController::MUCController ( muc_->onOccupantPresenceChange.connect(boost::bind(&MUCController::handleOccupantPresenceChange, this, _1)); muc_->onOccupantLeft.connect(boost::bind(&MUCController::handleOccupantLeft, this, _1, _2, _3)); chatWindow_->convertToMUC(); - chatWindow_->show(); if (avatarManager_ != NULL) { avatarChangedConnection_ = (avatarManager_->onAvatarChanged.connect(boost::bind(&MUCController::handleAvatarChanged, this, _1, _2))); } diff --git a/Swift/QtUI/QtChatTabs.cpp b/Swift/QtUI/QtChatTabs.cpp index 67cd8ae..8ce4ac8 100644 --- a/Swift/QtUI/QtChatTabs.cpp +++ b/Swift/QtUI/QtChatTabs.cpp @@ -49,6 +49,7 @@ void QtChatTabs::handleWidgetShown() { if (!widget) { return; } + checkForFirstShow(); if (tabs_->indexOf(widget) >= 0) { return; } @@ -59,10 +60,11 @@ void QtChatTabs::handleWidgetShown() { void QtChatTabs::handleWantsToActivate() { QtTabbable* widget = qobject_cast<QtTabbable*>(sender()); Q_ASSERT(widget); - Q_ASSERT(tabs_->indexOf(widget) >= 0); //Un-minimize and bring to front. setWindowState(windowState() & ~Qt::WindowMinimized); setWindowState(windowState() | Qt::WindowActive); + show(); + widget->show(); tabs_->setCurrentWidget(widget); widget->setFocus(); activateWindow(); @@ -124,4 +126,10 @@ void QtChatTabs::moveEvent(QMoveEvent*) { emit geometryChanged(); } +void QtChatTabs::checkForFirstShow() { + if (!isVisible()) { + showMinimized(); + } +} + } diff --git a/Swift/QtUI/QtChatTabs.h b/Swift/QtUI/QtChatTabs.h index 12ab3b8..1869b41 100644 --- a/Swift/QtUI/QtChatTabs.h +++ b/Swift/QtUI/QtChatTabs.h @@ -30,6 +30,7 @@ namespace Swift { void handleWidgetShown(); void handleWantsToActivate(); private: + void checkForFirstShow(); QtTabWidget* tabs_; }; } diff --git a/Swift/QtUI/QtChatWindowFactory.cpp b/Swift/QtUI/QtChatWindowFactory.cpp index ff927c9..ba1719e 100644 --- a/Swift/QtUI/QtChatWindowFactory.cpp +++ b/Swift/QtUI/QtChatWindowFactory.cpp @@ -26,10 +26,6 @@ QtChatWindowFactory::QtChatWindowFactory(QtTreeWidgetFactory *treeWidgetFactory, ChatWindow* QtChatWindowFactory::createChatWindow(const JID &contact) { QtChatWindow *chatWindow = new QtChatWindow(P2QSTRING(contact.toString()), treeWidgetFactory_); tabs_->addTab(chatWindow); - if (!tabs_->isVisible()) { - tabs_->showMinimized(); - //tabs_->minimise(); - } //chatWindow->show(); return chatWindow; } |