kmail
searchwindow.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef searchwindow_h
00022 #define searchwindow_h
00023
00024 #include <qvaluelist.h>
00025 #include <qptrlist.h>
00026 #include <qstringlist.h>
00027 #include <qguardedptr.h>
00028
00029 #include <kdialogbase.h>
00030 #include <kxmlguiclient.h>
00031
00032 class QCheckBox;
00033 class QComboBox;
00034 class QGridLayout;
00035 class QLabel;
00036 class QLineEdit;
00037 class KListView;
00038 class QListViewItem;
00039 class QPushButton;
00040 class QRadioButton;
00041 class KAction;
00042 class KActionMenu;
00043 class KMFolder;
00044 class KMFolderSearch;
00045 class KMFolderImap;
00046 class KMFolderMgr;
00047 class KMMainWidget;
00048 class KMMessage;
00049 class KMSearchPattern;
00050 class KMSearchPatternEdit;
00051 class KStatusBar;
00052 class DwBoyerMoore;
00053 namespace KMail {
00054 class FolderRequester;
00055 }
00056
00057 typedef QPtrList<KMMsgBase> KMMessageList;
00058
00059 namespace KMail {
00060
00067 class SearchWindow: public KDialogBase, virtual public KXMLGUIClient
00068 {
00069 Q_OBJECT
00070
00071 public:
00080 SearchWindow( KMMainWidget* parent, const char* name=0,
00081 KMFolder *curFolder=0, bool modal=false );
00082 virtual ~SearchWindow();
00083
00088 void activateFolder( KMFolder* curFolder );
00089
00094 KMMessageList selectedMessages();
00095
00100 KMMessage* message();
00101
00102 protected slots:
00104 virtual void updStatus(void);
00105
00106 virtual void slotClose();
00107 virtual void slotSearch();
00108 virtual void slotStop();
00109 void updateCreateButton( const QString &);
00110 void renameSearchFolder();
00111 void openSearchFolder();
00112 void folderInvalidated(KMFolder *);
00113 virtual bool slotShowMsg(QListViewItem *);
00114 virtual void updateContextMenuActions();
00115 virtual void slotContextMenuRequested( QListViewItem*, const QPoint &, int );
00116 virtual void copySelectedToFolder( int menuId );
00117 virtual void moveSelectedToFolder( int menuId );
00118 virtual void slotFolderActivated( KMFolder* );
00119 void slotClearSelection();
00120 void slotReplyToMsg();
00121 void slotReplyAllToMsg();
00122 void slotReplyListToMsg();
00123 void slotForwardMsg();
00124 void slotForwardAttachedMsg();
00125 void slotSaveMsg();
00126 void slotSaveAttachments();
00127 void slotPrintMsg();
00128
00130 virtual void searchDone();
00131 virtual void slotAddMsg(int idx);
00132 virtual void slotRemoveMsg(KMFolder *, Q_UINT32 serNum);
00133 void enableGUI();
00134
00135 void setEnabledSearchButton(bool);
00136
00137 protected:
00138
00140 virtual void keyPressEvent(QKeyEvent*);
00141
00143 virtual void closeEvent(QCloseEvent*);
00144
00145 protected:
00146 bool mStopped;
00147 bool mCloseRequested;
00148 int mFetchingInProgress;
00149 int mSortColumn;
00150 SortOrder mSortOrder;
00151 QGuardedPtr<KMFolderSearch> mFolder;
00152 QTimer *mTimer;
00153
00154
00155 QRadioButton *mChkbxAllFolders;
00156 QRadioButton *mChkbxSpecificFolders;
00157 KMail::FolderRequester *mCbxFolders;
00158 QPushButton *mBtnSearch;
00159 QPushButton *mBtnStop;
00160 QCheckBox *mChkSubFolders;
00161 KListView* mLbxMatches;
00162 QLabel *mSearchFolderLbl;
00163 QLineEdit *mSearchFolderEdt;
00164 QPushButton *mSearchFolderBtn;
00165 QPushButton *mSearchFolderOpenBtn;
00166 KStatusBar* mStatusBar;
00167 QWidget* mLastFocus;
00168 QMap<int,KMFolder*> mMenuToFolder;
00169 KAction *mReplyAction, *mReplyAllAction, *mReplyListAction, *mSaveAsAction,
00170 *mForwardAction, *mForwardAttachedAction, *mPrintAction, *mClearAction,
00171 *mSaveAtchAction;
00172 KActionMenu *mForwardActionMenu;
00173 QValueList<QGuardedPtr<KMFolder> > mFolders;
00174
00175
00176 KMMainWidget* mKMMainWidget;
00177 KMSearchPatternEdit *mPatternEdit;
00178 KMSearchPattern *mSearchPattern;
00179
00180 static const int MSGID_COLUMN;
00181 };
00182
00183 }
00184 #endif
|