diff --git a/src/libsnore/plugins/snorebackend.cpp b/src/libsnore/plugins/snorebackend.cpp index 973103f..d974966 100644 --- a/src/libsnore/plugins/snorebackend.cpp +++ b/src/libsnore/plugins/snorebackend.cpp @@ -29,10 +29,8 @@ using namespace Snore; -SnoreBackend::SnoreBackend(const QString &name , bool canCloseNotification, bool canUpdateNotifications) : - SnorePlugin(name), - m_canCloseNotification(canCloseNotification), - m_canUpdateNotification(canUpdateNotifications) +SnoreBackend::SnoreBackend(const QString &name) : + SnorePlugin(name) { } @@ -147,12 +145,12 @@ void SnoreSecondaryBackend::slotNotificationDisplayed(Notification) bool SnoreBackend::canCloseNotification() const { - return m_canCloseNotification; + return false; } bool SnoreBackend::canUpdateNotification() const { - return m_canUpdateNotification; + return false; } void SnoreBackend::slotRegisterApplication(const Application &application) diff --git a/src/libsnore/plugins/snorebackend.h b/src/libsnore/plugins/snorebackend.h index edf2960..602389c 100644 --- a/src/libsnore/plugins/snorebackend.h +++ b/src/libsnore/plugins/snorebackend.h @@ -31,15 +31,15 @@ class SNORE_EXPORT SnoreBackend : public SnorePlugin Q_OBJECT Q_INTERFACES(Snore::SnorePlugin) public: - SnoreBackend(const QString &name, bool canCloseNotification, bool canUpdateNotifications = false); + SnoreBackend(const QString &name); virtual ~SnoreBackend(); virtual bool initialize() override; virtual bool deinitialize() override; void requestCloseNotification(Snore::Notification notification, Notification::CloseReasons reason); - bool canCloseNotification() const; - bool canUpdateNotification() const; + virtual bool canCloseNotification() const; + virtual bool canUpdateNotification() const; signals: void notificationClosed(Snore::Notification); @@ -57,9 +57,6 @@ protected slots: protected: void closeNotification(Snore::Notification, Snore::Notification::CloseReasons); -private: - bool m_canCloseNotification; - bool m_canUpdateNotification; }; diff --git a/src/plugins/backends/growl/growlbackend.cpp b/src/plugins/backends/growl/growlbackend.cpp index cb8d779..5520158 100644 --- a/src/plugins/backends/growl/growlbackend.cpp +++ b/src/plugins/backends/growl/growlbackend.cpp @@ -30,7 +30,7 @@ using namespace Snore; GrowlBackend *GrowlBackend::s_instance = nullptr; GrowlBackend::GrowlBackend(): - SnoreBackend("Growl", false, false) + SnoreBackend("Growl") { setDefaultValue("Host", "localhost"); setDefaultValue("Password", ""); diff --git a/src/plugins/backends/snarl/snarl.cpp b/src/plugins/backends/snarl/snarl.cpp index b6a13e5..7831ffd 100644 --- a/src/plugins/backends/snarl/snarl.cpp +++ b/src/plugins/backends/snarl/snarl.cpp @@ -112,7 +112,7 @@ private: }; SnarlBackend::SnarlBackend(): - SnoreBackend("Snarl", true, true) + SnoreBackend("Snarl") { setDefaultValue("Password", QString()); } @@ -154,6 +154,16 @@ PluginSettingsWidget *SnarlBackend::settingsWidget() return new SnarlSettings(this); } +bool SnarlBackend::canCloseNotification() const +{ + return true; +} + +bool SnarlBackend::canUpdateNotification() const +{ + return true; +} + void SnarlBackend::slotRegisterApplication(const Application &application) { diff --git a/src/plugins/backends/snarl/snarl.h b/src/plugins/backends/snarl/snarl.h index cbc1f84..fe4ae45 100644 --- a/src/plugins/backends/snarl/snarl.h +++ b/src/plugins/backends/snarl/snarl.h @@ -33,6 +33,9 @@ public: bool deinitialize() override; Snore::PluginSettingsWidget *settingsWidget() override; + virtual bool canCloseNotification() const override; + virtual bool canUpdateNotification() const override; + private: class SnarlWidget; SnarlBackend::SnarlWidget *m_eventLoop; diff --git a/src/plugins/backends/snore/snorenotifier.cpp b/src/plugins/backends/snore/snorenotifier.cpp index 90d2ae9..cf6237a 100644 --- a/src/plugins/backends/snore/snorenotifier.cpp +++ b/src/plugins/backends/snore/snorenotifier.cpp @@ -27,7 +27,7 @@ using namespace Snore; SnoreNotifier::SnoreNotifier(): - SnoreBackend("Snore", true, true), + SnoreBackend("Snore"), m_widgets(3), m_timer(new QTimer(this)) { @@ -142,6 +142,16 @@ bool SnoreNotifier::deinitialize() return false; } +bool SnoreNotifier::canCloseNotification() const +{ + return true; +} + +bool SnoreNotifier::canUpdateNotification() const +{ + return true; +} + PluginSettingsWidget *SnoreNotifier::settingsWidget() { return new SnoreNotifierSettings(this); diff --git a/src/plugins/backends/snore/snorenotifier.h b/src/plugins/backends/snore/snorenotifier.h index 7574c4b..955d2d1 100644 --- a/src/plugins/backends/snore/snorenotifier.h +++ b/src/plugins/backends/snore/snorenotifier.h @@ -35,6 +35,9 @@ public: bool initialize() override; bool deinitialize() override; + virtual bool canCloseNotification() const override; + virtual bool canUpdateNotification() const override; + Snore::PluginSettingsWidget *settingsWidget() override; public slots: diff --git a/src/plugins/backends/snoretoast/snoretoast.cpp b/src/plugins/backends/snoretoast/snoretoast.cpp index 6a243da..655873d 100644 --- a/src/plugins/backends/snoretoast/snoretoast.cpp +++ b/src/plugins/backends/snoretoast/snoretoast.cpp @@ -15,7 +15,7 @@ using namespace Snore; SnoreToast::SnoreToast(): - SnoreBackend("Windows 8", true, false) + SnoreBackend("Windows 8") { } @@ -33,6 +33,11 @@ bool SnoreToast::initialize() return SnoreBackend::initialize(); } +bool SnoreToast::canCloseNotification() const +{ + return true; +} + void SnoreToast::slotNotify(Notification notification) { QProcess *p = new QProcess(this); diff --git a/src/plugins/backends/snoretoast/snoretoast.h b/src/plugins/backends/snoretoast/snoretoast.h index 79160c7..c95e81b 100644 --- a/src/plugins/backends/snoretoast/snoretoast.h +++ b/src/plugins/backends/snoretoast/snoretoast.h @@ -14,6 +14,8 @@ public: ~SnoreToast(); virtual bool initialize() override; + virtual bool canCloseNotification() const override; + public slots: void slotNotify(Snore::Notification notification) override; void slotRegisterApplication(const Snore::Application &application) override; diff --git a/src/plugins/backends/trayicon/trayiconnotifer.cpp b/src/plugins/backends/trayicon/trayiconnotifer.cpp index 11fb0a1..ba4188e 100644 --- a/src/plugins/backends/trayicon/trayiconnotifer.cpp +++ b/src/plugins/backends/trayicon/trayiconnotifer.cpp @@ -7,7 +7,7 @@ using namespace Snore; TrayIconNotifer::TrayIconNotifer() : - SnoreBackend("System Tray Icon", true, false), + SnoreBackend("System Tray Icon"), m_currentlyDisplaying(false) { @@ -27,6 +27,11 @@ bool TrayIconNotifer::deinitialize() return false; } +bool TrayIconNotifer::canCloseNotification() const +{ + return true; +} + void TrayIconNotifer::slotNotify(Notification notification) { QSystemTrayIcon *icon = trayIcon(notification.application()); diff --git a/src/plugins/backends/trayicon/trayiconnotifer.h b/src/plugins/backends/trayicon/trayiconnotifer.h index cce1fab..0053dd3 100644 --- a/src/plugins/backends/trayicon/trayiconnotifer.h +++ b/src/plugins/backends/trayicon/trayiconnotifer.h @@ -18,6 +18,9 @@ public: TrayIconNotifer(); virtual ~TrayIconNotifer() override; virtual bool deinitialize() override; + + virtual bool canCloseNotification() const override; + public slots: void slotNotify(Snore::Notification notification); void slotCloseNotification(Snore::Notification notification);