systemtray.h

00001 /*
00002  ***************************************************************************
00003     copyright (C) 2003      Adam Geitgey <adam@rootnode.org>
00004                   2003      Sven Leiber <s.leiber@web.de>
00005                   2000-2001 Matthias Ettrich <ettrich@kde.org>
00006                   2000-2001 Matthias Elter   <elter@kde.org>
00007                   2001      Carsten Pfeiffer <pfeiffer@kde.org>
00008                   2001      Martijn Klingens <mklingens@yahoo.com>
00009  ***************************************************************************
00010 
00011  ***************************************************************************
00012  *                                                                         *
00013  *   This program is free software; you can redistribute it and/or modify  *
00014  *   it under the terms of the GNU General Public License as published by  *
00015  *   the Free Software Foundation; either version 2 of the License, or     *
00016  *   (at your option) any later version.                                   *
00017  *                                                                         *
00018  ***************************************************************************
00019  */
00020 
00021 #ifndef TESTCARDAPPLET_H
00022 #define TESTCARDAPPLET_H
00023 
00024 #include <qobject.h>
00025 #include <qpixmap.h>
00026 #include <qptrlist.h>
00027 #include <qxembed.h>
00028 
00029 class KWinModule;
00030 
00031 typedef long unsigned int Atom;
00032 
00033 
00034 class Systemtray : public QWidget
00035 {
00036     Q_OBJECT
00037 public:
00038     Systemtray(QWidget* parent);
00039     ~Systemtray();
00040     
00041     void updateBackgroundPixmap ( const QPixmap & );
00042 
00043     int getCurrentWindowCount();
00044 
00045     virtual void initSystray( void );
00046 
00047 public slots:
00048     void updateTrayWindows();
00049     int getTraySize();
00050     void systemTrayWindowAdded( WId w );
00051     void systemTrayWindowRemoved( WId w );
00052     void layoutSystray();
00053     
00054 signals:
00055     void updated();
00056 
00057 private:
00058     KWinModule *kwin_module;
00059     QValueList<WId> systemTrayWindows;
00060 
00061     QPtrList<QXEmbed> m_Wins;
00062 
00063     Atom net_system_tray_selection;
00064     Atom net_system_tray_opcode;
00065 
00066     int no_of_systray_windows;
00067 };
00068 
00069 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys