From: Ivailo Monev Date: Sat, 26 Sep 2015 03:18:51 +0000 (+0000) Subject: knotify: drop Growl notification support X-Git-Tag: 4.22.0~1644 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=874fb179d7edca58fc6f7329d7bf0656a81d1ec6;p=kde%2Fkde-workspace.git knotify: drop Growl notification support --- diff --git a/knotify/CMakeLists.txt b/knotify/CMakeLists.txt index 5f759a64..023b8992 100644 --- a/knotify/CMakeLists.txt +++ b/knotify/CMakeLists.txt @@ -6,7 +6,6 @@ main.cpp knotify.cpp notifybysound.cpp notifybypopup.cpp -notifybypopupgrowl.cpp notifybylogfile.cpp notifybytaskbar.cpp notifybyexecute.cpp diff --git a/knotify/notifybypopup.cpp b/knotify/notifybypopup.cpp index df4ce632..fcf564c1 100644 --- a/knotify/notifybypopup.cpp +++ b/knotify/notifybypopup.cpp @@ -20,7 +20,6 @@ #include "notifybypopup.h" #include "imageconverter.h" -#include "notifybypopupgrowl.h" #include #include @@ -123,25 +122,6 @@ void NotifyByPopup::notify( int id, KNotifyConfig * config ) // Default to 6 seconds if no timeout has been defined int timeout = config->timeout == -1 ? 6000 : config->timeout; - // if Growl can display our popups, use that instead - if(NotifyByPopupGrowl::canPopup()) - { - KNotifyConfig *c = ensurePopupCompatibility( config ); - - QString appCaption, iconName; - getAppCaptionAndIconName(c, &appCaption, &iconName); - - KIconLoader iconLoader(iconName); - QPixmap appIcon = iconLoader.loadIcon( iconName, KIconLoader::Small ); - - NotifyByPopupGrowl::popup( &appIcon, timeout, appCaption, c->text ); - - // Finish immediately, because current NotifyByPopupGrowl can't callback - finish(id); - delete c; - return; - } - KPassivePopup *pop = new KPassivePopup( config->winId ); m_popups[id]=pop; fillPopup(pop,id,config); @@ -244,12 +224,6 @@ void NotifyByPopup::update(int id, KNotifyConfig * config) sendNotificationDBus(id, id, config); return; } - - // otherwise, just display a new Growl notification - if(NotifyByPopupGrowl::canPopup()) - { - notify( id, config ); - } } void NotifyByPopup::fillPopup(KPassivePopup *pop,int id,KNotifyConfig * config) @@ -515,13 +489,9 @@ void NotifyByPopup::closeNotificationDBus(int id) QStringList NotifyByPopup::popupServerCapabilities() { if (!m_dbusServiceExists) { - if( NotifyByPopupGrowl::canPopup() ) { - return NotifyByPopupGrowl::capabilities(); - } else { - // Return capabilities of the KPassivePopup implementation - return QStringList() << "actions" << "body" << "body-hyperlinks" - << "body-markup" << "icon-static"; - } + // Return capabilities of the KPassivePopup implementation + return QStringList() << "actions" << "body" << "body-hyperlinks" + << "body-markup" << "icon-static"; } if(m_dbusServiceCapCacheDirty) { diff --git a/knotify/notifybypopupgrowl.cpp b/knotify/notifybypopupgrowl.cpp deleted file mode 100644 index 2485068f..00000000 --- a/knotify/notifybypopupgrowl.cpp +++ /dev/null @@ -1,65 +0,0 @@ -/* - Copyright (C) 2010 by Sjors Gielen - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - */ - -#include "notifybypopupgrowl.h" -#include -#include - -#define GROWL_LOCATION_MACOSX "/Library/PreferencePanes/Growl.prefPane/" \ - "Contents/MacOS/Growl" -#define GROWL_LOCATION_WIN32 "C:/Program Files/Growl for Windows/Growl.exe" - -/** - * @brief Check if Growl can display plugins. - * Currently, this checks only if Growl is installed, not if it's running. - * As soon as the Growl Notification Protocol is finished, it will be - * implemented and used for this check. - */ -bool NotifyByPopupGrowl::canPopup() -{ - return QFile::exists( GROWL_LOCATION_MACOSX ) - || QFile::exists( GROWL_LOCATION_WIN32 ); -} - -/** - * @brief Get the capabilities supported by Growl. - */ -QStringList NotifyByPopupGrowl::capabilities() -{ - return QStringList(); -} - -/** - * @brief Send a popup through Growl. - * @param icon The icon inside the notification. Currently ignored. - * @param timeout The time in ms to show the notification. - * @param title The title displayed inside the notification. - * @param message The message displayed inside the notification. - */ -void NotifyByPopupGrowl::popup( const QPixmap *icon, int timeout, - const QString &title, const QString &message ) -{ - Q_UNUSED( icon ); - - QSystemTrayIcon i; - i.show(); - i.showMessage( title, message, - QSystemTrayIcon::Information, timeout ); - i.hide(); -} diff --git a/knotify/notifybypopupgrowl.h b/knotify/notifybypopupgrowl.h deleted file mode 100644 index 76c8fe58..00000000 --- a/knotify/notifybypopupgrowl.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - Copyright (C) 2010 by Sjors Gielen - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - */ - -#ifndef NOTIFYBYPOPUPGROWL_H -#define NOTIFYBYPOPUPGROWL_H - -#include -#include - -/** - * @brief Display a notification using Growl. - * - * Currently, this class uses QSystemTrayIcon to actually display the - * notification. Inside the Growl project, a protocol is being developed - * to display notifications; this protocol is currently only implemented - * (partly) in the Windows version of Growl. Once it is finished, it will be - * implemented in KNotify and used instead. - * (The normal Growl API is written in Objective C. It's possible to use it, - * but it's a lot harder than just waiting for GNTP to stabilize.) - */ -class NotifyByPopupGrowl -{ -public: - static bool canPopup(); - static QStringList capabilities(); - static void popup( const QPixmap *icon, int timeout, - const QString &title, const QString &message ); -}; - -#endif // NOTIFYBYPOPUPGROWL_H