00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __k_mnu_h__
00025 #define __k_mnu_h__
00026
00027 #include <dcopobject.h>
00028 #include <tqintdict.h>
00029 #include <tqpixmap.h>
00030 #include <tqtimer.h>
00031
00032 #include "service_mnu.h"
00033
00034 namespace KPIM {
00035
00036
00037 class ClickLineEdit;
00038 }
00039
00040 class KickerClientMenu;
00041 class KBookmarkMenu;
00042 class KActionCollection;
00043 class KBookmarkOwner;
00044 class Panel;
00045
00046 class PanelKMenu : public PanelServiceMenu, public DCOPObject
00047 {
00048 Q_OBJECT
00049 K_DCOP
00050
00051 k_dcop:
00052 void slotServiceStartedByStorageId(TQString starter, TQString desktopPath);
00053 void hideMenu();
00054
00055 public:
00056 PanelKMenu();
00057 ~PanelKMenu();
00058
00059 int insertClientMenu(KickerClientMenu *p);
00060 void removeClientMenu(int id);
00061
00062 virtual TQSize sizeHint() const;
00063 virtual void setMinimumSize(const TQSize &);
00064 virtual void setMaximumSize(const TQSize &);
00065 virtual void setMinimumSize(int, int);
00066 virtual void setMaximumSize(int, int);
00067 virtual void showMenu();
00068 void clearRecentMenuItems();
00069
00070 public slots:
00071 virtual void initialize();
00072
00073
00074 virtual void resize(int width, int height);
00075
00076 protected slots:
00077 void slotLock();
00078 void slotLogout();
00079 void slotPopulateSessions();
00080 void slotSessionActivated( int );
00081 void slotSaveSession();
00082 void slotRunCommand();
00083 void slotEditUserContact();
00084 void slotUpdateSearch(const TQString &searchtext);
00085 void slotClearSearch();
00086 void paletteChanged();
00087 virtual void configChanged();
00088 void updateRecent();
00089 void repairDisplay();
00090 void windowClearTimeout();
00091
00092 protected:
00093 TQRect sideImageRect();
00094 TQMouseEvent translateMouseEvent(TQMouseEvent* e);
00095 void resizeEvent(TQResizeEvent *);
00096 void paintEvent(TQPaintEvent *);
00097 void mousePressEvent(TQMouseEvent *);
00098 void mouseReleaseEvent(TQMouseEvent *);
00099 void mouseMoveEvent(TQMouseEvent *);
00100 bool loadSidePixmap();
00101 void doNewSession(bool lock);
00102 void filterMenu(PanelServiceMenu* menu, const TQString &searchString);
00103 void keyPressEvent(TQKeyEvent* e);
00104 void createRecentMenuItems();
00105 virtual void clearSubmenus();
00106
00107 private:
00108 TQPopupMenu *sessionsMenu;
00109 TQPixmap sidePixmap;
00110 TQPixmap sideTilePixmap;
00111 int client_id;
00112 bool delay_init;
00113 TQIntDict<KickerClientMenu> clients;
00114 KBookmarkMenu *bookmarkMenu;
00115 KActionCollection *actionCollection;
00116 KBookmarkOwner *bookmarkOwner;
00117 PopupMenuList dynamicSubMenus;
00118 KPIM::ClickLineEdit *searchEdit;
00119 static const int searchLineID;
00120 TQTimer *displayRepairTimer;
00121 bool displayRepaired;
00122 bool windowTimerTimedOut;
00123 };
00124
00125 #endif