mirror of
https://bitbucket.org/smil3y/kde-workspace.git
synced 2025-02-23 18:32:50 +00:00
knotify: drop Growl notification support
This commit is contained in:
parent
67bf56db3e
commit
874fb179d7
4 changed files with 3 additions and 145 deletions
|
@ -6,7 +6,6 @@ main.cpp
|
|||
knotify.cpp
|
||||
notifybysound.cpp
|
||||
notifybypopup.cpp
|
||||
notifybypopupgrowl.cpp
|
||||
notifybylogfile.cpp
|
||||
notifybytaskbar.cpp
|
||||
notifybyexecute.cpp
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
|
||||
#include "notifybypopup.h"
|
||||
#include "imageconverter.h"
|
||||
#include "notifybypopupgrowl.h"
|
||||
|
||||
#include <kdebug.h>
|
||||
#include <kpassivepopup.h>
|
||||
|
@ -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) {
|
||||
|
|
|
@ -1,65 +0,0 @@
|
|||
/*
|
||||
Copyright (C) 2010 by Sjors Gielen <dazjorz@dazjorz.com>
|
||||
|
||||
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 <QFile>
|
||||
#include <QSystemTrayIcon>
|
||||
|
||||
#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();
|
||||
}
|
|
@ -1,46 +0,0 @@
|
|||
/*
|
||||
Copyright (C) 2010 by Sjors Gielen <dazjorz@dazjorz.com>
|
||||
|
||||
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 <QPixmap>
|
||||
#include <QString>
|
||||
|
||||
/**
|
||||
* @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
|
Loading…
Add table
Reference in a new issue