diff options
author | Remko Tronçon <git@el-tramo.be> | 2011-12-24 10:08:47 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2011-12-24 11:00:04 (GMT) |
commit | 3e2a3a4cdb0b6bc0cf79423c48400c544830177a (patch) | |
tree | dcc53224fd0b0ed0bd704a4b097f5c425dbd672e /Swift | |
parent | f69d027b7e3b4260e514a77f7195ec511977b63e (diff) | |
download | swift-contrib-3e2a3a4cdb0b6bc0cf79423c48400c544830177a.zip swift-contrib-3e2a3a4cdb0b6bc0cf79423c48400c544830177a.tar.bz2 |
Enable "Show notifications" toggle when Growl isn't installed.
Diffstat (limited to 'Swift')
-rw-r--r-- | Swift/Controllers/MainController.cpp | 1 | ||||
-rw-r--r-- | Swift/Controllers/UIInterfaces/LoginWindow.h | 1 | ||||
-rw-r--r-- | Swift/QtUI/QtLoginWindow.cpp | 12 | ||||
-rw-r--r-- | Swift/QtUI/QtLoginWindow.h | 1 |
4 files changed, 12 insertions, 3 deletions
diff --git a/Swift/Controllers/MainController.cpp b/Swift/Controllers/MainController.cpp index 7ed53a2..046120d 100644 --- a/Swift/Controllers/MainController.cpp +++ b/Swift/Controllers/MainController.cpp @@ -136,6 +136,7 @@ MainController::MainController( systemTrayController_ = new SystemTrayController(eventController_, systemTray); loginWindow_ = uiFactory_->createLoginWindow(uiEventStream_); + loginWindow_->setShowNotificationToggle(!notifier->isExternallyConfigured()); soundEventController_ = new SoundEventController(eventController_, soundPlayer, settings, uiEventStream_); xmppURIController_ = new XMPPURIController(uriHandler_, uiEventStream_); diff --git a/Swift/Controllers/UIInterfaces/LoginWindow.h b/Swift/Controllers/UIInterfaces/LoginWindow.h index 61fcaa1..a8ee5a4 100644 --- a/Swift/Controllers/UIInterfaces/LoginWindow.h +++ b/Swift/Controllers/UIInterfaces/LoginWindow.h @@ -20,6 +20,7 @@ namespace Swift { virtual void selectUser(const std::string&) = 0; virtual void morphInto(MainWindow *mainWindow) = 0; virtual void loggedOut() = 0; + virtual void setShowNotificationToggle(bool) = 0; virtual void setMessage(const std::string&) = 0; virtual void setIsLoggingIn(bool loggingIn) = 0; virtual void addAvailableAccount(const std::string& defaultJID, const std::string& defaultPassword, const std::string& defaultCertificate) = 0; diff --git a/Swift/QtUI/QtLoginWindow.cpp b/Swift/QtUI/QtLoginWindow.cpp index 5a8b9ab..43abd91 100644 --- a/Swift/QtUI/QtLoginWindow.cpp +++ b/Swift/QtUI/QtLoginWindow.cpp @@ -185,9 +185,6 @@ QtLoginWindow::QtLoginWindow(UIEventStream* uiEventStream, bool eagleMode) : QMa toggleNotificationsAction_->setCheckable(true); toggleNotificationsAction_->setChecked(true); connect(toggleNotificationsAction_, SIGNAL(toggled(bool)), SLOT(handleToggleNotifications(bool))); -#if defined(SWIFTEN_PLATFORM_LINUX) || defined(SWIFTEN_PLATFORM_WINDOWS) - generalMenu_->addAction(toggleNotificationsAction_); -#endif #ifndef SWIFTEN_PLATFORM_MACOSX swiftMenu_->addSeparator(); @@ -216,6 +213,15 @@ QtLoginWindow::QtLoginWindow(UIEventStream* uiEventStream, bool eagleMode) : QMa this->show(); } +void QtLoginWindow::setShowNotificationToggle(bool toggle) { + if (toggle) { + generalMenu_->addAction(toggleNotificationsAction_); + } + else { + generalMenu_->removeAction(toggleNotificationsAction_); + } +} + bool QtLoginWindow::eventFilter(QObject *obj, QEvent *event) { if (obj == username_->view() && event->type() == QEvent::KeyPress) { QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event); diff --git a/Swift/QtUI/QtLoginWindow.h b/Swift/QtUI/QtLoginWindow.h index a830af5..df133b1 100644 --- a/Swift/QtUI/QtLoginWindow.h +++ b/Swift/QtUI/QtLoginWindow.h @@ -38,6 +38,7 @@ namespace Swift { void morphInto(MainWindow *mainWindow); virtual void loggedOut(); + virtual void setShowNotificationToggle(bool); virtual void setMessage(const std::string& message); virtual void addAvailableAccount(const std::string& defaultJID, const std::string& defaultPassword, const std::string& defaultCertificate); virtual void removeAvailableAccount(const std::string& jid); |