00001 #ifndef _TASK_SELECTOR_H_ 00002 #define _TASK_SELECTOR_H_ 00003 00004 #include <qstring.h> 00005 #include <qstringlist.h> 00006 #include <qvaluelist.h> 00007 #include <qwindowsystem_qws.h> 00008 #include <qpopupmenu.h> 00009 #include <qpoint.h> 00010 #include <qtimer.h> 00011 #include <qgfx_qws.h> 00012 00013 #include <qpe/global.h> 00014 #include <qpe/applnk.h> 00015 #include <qpe/config.h> 00016 #include <qpe/mimetype.h> 00017 00018 #include "ExtensionInterface.h" 00019 #include "MenuTitle.h" 00020 #include "KeyNames.h" 00021 #include "AppLnkManager.h" 00022 #include "ConfigEx.h" 00023 #include "QPopupMenuEx.h" 00024 00025 class TaskSelector : public QObject, public ExtensionInterface 00026 { 00027 Q_OBJECT 00028 public: 00029 TaskSelector(const QString& kind = "select"); 00030 virtual ~TaskSelector(); 00031 00032 virtual bool onKeyPress(int keycode); 00033 virtual bool onModRelease(int modcode); 00034 virtual int getKeycode() 00035 { 00036 return(m_keycode); 00037 } 00038 virtual int getKeymask() 00039 { 00040 return(m_keymask); 00041 } 00042 virtual const QValueList<int>& getModcodes() 00043 { 00044 return(m_modcodes); 00045 } 00046 virtual void setKeycode(int keycode) 00047 { 00048 m_keycode = keycode; 00049 } 00050 virtual void setKeymask(int keymask) 00051 { 00052 m_keymask = keymask; 00053 } 00054 virtual void setModcodes(const QValueList<int>& modcodes) 00055 { 00056 m_modcodes = modcodes; 00057 } 00058 virtual const QString& kind() 00059 { 00060 return(m_kind); 00061 } 00062 public slots: 00063 void show(); 00064 void select(); 00065 void select(int); 00066 void highlight(int id); 00067 private: 00068 int m_keycode; 00069 int m_keymask; 00070 QString m_kind; 00071 QValueList<int> m_modcodes; 00072 00073 bool m_isShowing; 00074 int m_index; 00075 QPopupMenu* m_pMenu; 00076 QStringList m_applist; 00077 QString m_accesskeys; 00078 00079 int buildMenu(); 00080 void next(); 00081 private slots: 00082 bool eventFilter(QObject* o, QEvent* e); 00083 }; 00084 00085 #endif /* _TASK_SELECTOR_H_ */
1.4.2