not quite so much needs to be delayed to the init() function
[personal-kdebase.git] / workspace / plasma / applets / systemtray / core / notification.h
blob6a8804f107a97a64c57ddd3b59672a01fa3a7017
1 /***************************************************************************
2 * notification.h *
3 * *
4 * Copyright (C) 2008 Jason Stubbs <jasonbstubbs@gmail.com> *
5 * *
6 * This program is free software; you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License as published by *
8 * the Free Software Foundation; either version 2 of the License, or *
9 * (at your option) any later version. *
10 * *
11 * This program is distributed in the hope that it will be useful, *
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14 * GNU General Public License for more details. *
15 * *
16 * You should have received a copy of the GNU General Public License *
17 * along with this program; if not, write to the *
18 * Free Software Foundation, Inc., *
19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
20 ***************************************************************************/
22 #ifndef SYSTEMTRAYNOTIFICATION_H
23 #define SYSTEMTRAYNOTIFICATION_H
25 #include <QtCore/QHash>
26 #include <QtCore/QObject>
28 #include <QtGui/QIcon>
31 namespace SystemTray
34 class Notification : public QObject
36 Q_OBJECT
38 public:
39 Notification(QObject *parent = 0);
40 virtual ~Notification();
42 QString applicationName() const;
43 QIcon applicationIcon() const;
44 QString eventId() const;
45 QString message() const;
46 QString summary() const;
47 int timeout() const;
49 QHash<QString, QString> actions() const;
50 QStringList actionOrder() const;
52 public slots:
53 virtual void triggerAction(const QString &actionId);
55 signals:
56 void changed(SystemTray::Notification *notification = 0);
58 /**
59 * Emitted when the notification is about to be destroyed
60 **/
61 void destroyed(SystemTray::Notification *notification = 0);
63 protected:
64 void setApplicationName(const QString &applicationName);
65 void setApplicationIcon(const QIcon &applicationIcon);
66 void setEventId(const QString &eventId);
67 void setMessage(const QString &message);
68 void setSummary(const QString &summary);
69 void setTimeout(int timeout);
71 void setActions(const QHash<QString, QString> &actions);
72 void setActionOrder(const QStringList &actionOrder);
74 private:
75 class Private;
76 Private* const d;
82 #endif