NotificationPresenterClientQt.cpp [plain text]
#include "config.h"
#include "NotificationPresenterClientQt.h"
#include "Document.h"
#include "KURL.h"
#include "NotImplemented.h"
#include "SecurityOrigin.h"
#include "qwebkitglobal.h"
#include <QtGui>
static bool dumpNotification = false;
void QWEBKIT_EXPORT qt_dump_notification(bool b)
{
dumpNotification = b;
}
#if ENABLE(NOTIFICATIONS)
using namespace WebCore;
NotificationPresenterClientQt::NotificationPresenterClientQt()
{
}
bool NotificationPresenterClientQt::show(Notification* notification)
{
if (dumpNotification) {
if (notification->isHTML())
printf("DESKTOP NOTIFICATION: contents at %s\n", QString(notification->url().string()).toUtf8().constData());
else {
printf("DESKTOP NOTIFICATION: icon %s, title %s, text %s\n",
QString(notification->contents().icon().string()).toUtf8().constData(), QString(notification->contents().title()).toUtf8().constData(),
QString(notification->contents().body()).toUtf8().constData());
}
}
#ifndef QT_NO_SYSTEMTRAYICON
m_tray.show();
m_tray.showMessage(notification->contents().title(), notification->contents().body(), QSystemTrayIcon::Information);
#endif
return true;
}
void NotificationPresenterClientQt::cancel(Notification* notification)
{
if (dumpNotification) {
if (notification->isHTML())
printf("DESKTOP NOTIFICATION CLOSED: %s\n", QString(notification->url().string()).toUtf8().constData());
else
printf("DESKTOP NOTIFICATION CLOSED: %s\n", QString(notification->contents().title()).toUtf8().constData());
}
notImplemented();
}
void NotificationPresenterClientQt::notificationObjectDestroyed(Notification* notification)
{
notImplemented();
}
void NotificationPresenterClientQt::requestPermission(SecurityOrigin* origin, PassRefPtr<VoidCallback> callback)
{
if (dumpNotification)
printf("DESKTOP NOTIFICATION PERMISSION REQUESTED: %s\n", QString(origin->toString()).toUtf8().constData());
notImplemented();
}
NotificationPresenter::Permission NotificationPresenterClientQt::checkPermission(const KURL&)
{
return NotificationPresenter::PermissionAllowed;
}
#endif // ENABLE(NOTIFICATIONS)