not quite so much needs to be delayed to the init() function
[personal-kdebase.git] / workspace / plasma / applets / systemtray / ui / extendertask.h
blob48403bb8878334ceb8b9425cd75f40a942b04b13
1 /***************************************************************************
2 * Copyright (C) 2008 Rob Scheepmaker <r.scheepmaker@student.utwente.nl> *
3 * *
4 * This program is free software; you can redistribute it and/or modify *
5 * it under the terms of the GNU General Public License as published by *
6 * the Free Software Foundation; either version 2 of the License, or *
7 * (at your option) any later version. *
8 * *
9 * This program is distributed in the hope that it will be useful, *
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
12 * GNU General Public License for more details. *
13 * *
14 * You should have received a copy of the GNU General Public License *
15 * along with this program; if not, write to the *
16 * Free Software Foundation, Inc., *
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
18 ***************************************************************************/
20 #ifndef EXTENDERTASK_H
21 #define EXTENDERTASK_H
23 #include "../core/task.h"
26 namespace Plasma
28 class PopupApplet;
31 namespace SystemTray
34 class ExtenderTask : public SystemTray::Task
36 Q_OBJECT
38 public:
39 ExtenderTask(Plasma::PopupApplet *systemTray);
40 virtual ~ExtenderTask();
42 bool isValid() const;
43 virtual bool isEmbeddable() const;
44 virtual QString name() const;
45 virtual QString typeId() const;
46 virtual QIcon icon() const;
47 void setIcon(const QString &icon);
48 bool isHideable() const;
50 signals:
51 void taskDeleted(QString typeId);
53 protected:
54 virtual QGraphicsWidget* createWidget(Plasma::Applet *applet);
56 private:
57 class Private;
58 Private* const d;
63 #endif