not quite so much needs to be delayed to the init() function
[personal-kdebase.git] / workspace / plasma / applets / systemtray / protocols / fdo / fdoselectionmanager.h
blob29a99a24a1706bc6fe6dca343688661f9e5c0aaf
1 /***************************************************************************
2 * fdoselectionmanager.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 FDOSELECTIONMANAGER_H
23 #define FDOSELECTIONMANAGER_H
25 #include <QtGui/QWidget>
27 namespace SystemTray
30 class Notification;
31 class Task;
32 class X11EmbedPainter;
33 class FdoSelectionManagerPrivate;
35 class FdoSelectionManager : public QWidget
37 Q_OBJECT
39 public:
40 static FdoSelectionManager *manager();
41 static X11EmbedPainter *painter();
43 FdoSelectionManager();
44 ~FdoSelectionManager();
46 void addDamageWatch(QWidget *container, WId client);
47 void removeDamageWatch(QWidget *container);
48 bool haveComposite() const;
50 signals:
51 void taskCreated(SystemTray::Task *task);
52 void notificationCreated(SystemTray::Notification *notification);
54 protected:
55 bool x11Event(XEvent *event);
57 private slots:
58 void initSelection();
59 void cleanupTask(WId winId);
60 void cleanupNotification(WId winId);
62 private:
63 friend class FdoSelectionManagerPrivate;
64 FdoSelectionManagerPrivate* const d;
69 #endif