Applets
manager.h
Go to the documentation of this file.00001 /*************************************************************************** 00002 * manager.h * 00003 * * 00004 * Copyright (C) 2008 Jason Stubbs <jasonbstubbs@gmail.com> * 00005 * * 00006 * This program is free software; you can redistribute it and/or modify * 00007 * it under the terms of the GNU General Public License as published by * 00008 * the Free Software Foundation; either version 2 of the License, or * 00009 * (at your option) any later version. * 00010 * * 00011 * This program is distributed in the hope that it will be useful, * 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00014 * GNU General Public License for more details. * 00015 * * 00016 * You should have received a copy of the GNU General Public License * 00017 * along with this program; if not, write to the * 00018 * Free Software Foundation, Inc., * 00019 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . * 00020 ***************************************************************************/ 00021 00022 #ifndef SYSTEMTRAYMANAGER_H 00023 #define SYSTEMTRAYMANAGER_H 00024 00025 #include <QtCore/QObject> 00026 00027 namespace SystemTray 00028 { 00029 00030 class Applet; 00031 class Notification; 00032 class Task; 00033 class Job; 00034 00039 class Manager : public QObject 00040 { 00041 Q_OBJECT 00042 00043 public: 00044 Manager(); 00045 ~Manager(); 00046 00050 QList<Task*> tasks() const; 00051 00055 QList<Notification*> notifications() const; 00056 00060 QList<Job*> jobs() const; 00061 00065 void registerJobProtocol(); 00066 00070 void registerNotificationProtocol(); 00071 00072 signals: 00076 void taskAdded(SystemTray::Task *task); 00077 00082 void taskChanged(SystemTray::Task *task); 00083 00087 void taskRemoved(SystemTray::Task *task); 00088 00092 void notificationAdded(SystemTray::Notification *notification); 00093 00097 void notificationChanged(SystemTray::Notification *notification); 00098 00102 void notificationRemoved(SystemTray::Notification *notification); 00103 00107 void jobAdded(SystemTray::Job *job); 00108 00112 void jobChanged(SystemTray::Job *job); 00113 00117 void jobRemoved(SystemTray::Job *job); 00118 00119 00120 private slots: 00121 void addTask(SystemTray::Task *task); 00122 void removeTask(SystemTray::Task *task); 00123 void addNotification(SystemTray::Notification *notification); 00124 void removeNotification(SystemTray::Notification *notification); 00125 void addJob(SystemTray::Job *job); 00126 void removeJob(SystemTray::Job *job); 00127 00128 private: 00129 class Private; 00130 Private* const d; 00131 00132 friend class Applet; 00133 }; 00134 00135 } 00136 00137 00138 #endif