kmail
kmsystemtray.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef KMSYSTEMTRAY_H
00019 #define KMSYSTEMTRAY_H
00020
00021 #include <ksystemtray.h>
00022
00023 #include <qmap.h>
00024 #include <qguardedptr.h>
00025 #include <qvaluevector.h>
00026 #include <qpixmap.h>
00027 #include <qimage.h>
00028
00029 #include <time.h>
00030
00031 class KMFolder;
00032 class KMMainWidget;
00033 class QMouseEvent;
00034 class KPopupMenu;
00035 class QPoint;
00036
00041 class KMSystemTray : public KSystemTray
00042 {
00043 Q_OBJECT
00044 public:
00046 KMSystemTray(QWidget* parent=0, const char *name=0);
00048 ~KMSystemTray();
00049
00050 void setMode(int mode);
00051 int mode() const;
00052
00053 void hideKMail();
00054 public slots:
00055 void foldersChanged();
00056
00057 private slots:
00058 void updateNewMessageNotification(KMFolder * folder);
00059 void selectedAccount(int);
00060 void updateNewMessages();
00061
00062 protected:
00063 void mousePressEvent(QMouseEvent *);
00064 bool mainWindowIsOnCurrentDesktop();
00065 void showKMail();
00066 void buildPopupMenu();
00067 void updateCount();
00068
00069 QString prettyName(KMFolder *);
00070
00071 private:
00072
00073 bool mParentVisible;
00074 QPoint mPosOfMainWin;
00075 int mDesktopOfMainWin;
00076
00077 int mMode;
00078 int mCount;
00079 int mNewMessagePopupId;
00080
00081 KPopupMenu * mPopupMenu;
00082 QPixmap mDefaultIcon;
00083 QImage mLightIconImage;
00084
00085 QValueVector<KMFolder*> mPopupFolders;
00086 QMap<QGuardedPtr<KMFolder>, int> mFoldersWithUnread;
00087 QMap<QGuardedPtr<KMFolder>, bool> mPendingUpdates;
00088 QTimer *mUpdateTimer;
00089 time_t mLastUpdate;
00090 };
00091
00092 #endif
|