kmail Library API Documentation

kmfldsearch.h

00001 /* kmfldsearch
00002  * (c) 1999 Stefan Taferner, (c) 2001 Aaron J. Seigo
00003  * This code is under GPL
00004  */
00005 #ifndef kmfldsearch_h
00006 #define kmfldsearch_h
00007 
00008 #include <qvaluelist.h>
00009 #include <qptrlist.h>
00010 #include <qstringlist.h>
00011 #include <qguardedptr.h>
00012 
00013 #include <kdialogbase.h>
00014 #include <kxmlguiclient.h>
00015 #include <mimelib/string.h>
00016 
00017 class QCheckBox;
00018 class QComboBox;
00019 class QGridLayout;
00020 class QLabel;
00021 class QLineEdit;
00022 class KListView;
00023 class QListViewItem;
00024 class QPushButton;
00025 class QRadioButton;
00026 class KAction;
00027 class KActionMenu;
00028 class KMFolder;
00029 class KMFolderSearch;
00030 class KMFolderComboBox;
00031 class KMFolderImap;
00032 class KMFolderMgr;
00033 class KMMainWidget;
00034 class KMMessage;
00035 class KMSearchPattern;
00036 class KMSearchPatternEdit;
00037 class KStatusBar;
00038 class DwBoyerMoore;
00039 
00040 typedef QPtrList<KMMsgBase> KMMessageList;
00041 
00042 class KMFldSearch: public KDialogBase, virtual public KXMLGUIClient
00043 {
00044   Q_OBJECT
00045 
00046 public:
00047   KMFldSearch(KMMainWidget* parent, const char* name=0,
00048               KMFolder *curFolder=0, bool modal=FALSE);
00049   virtual ~KMFldSearch();
00050 
00051   void activateFolder(KMFolder* curFolder);
00052   KMMessageList selectedMessages();
00053   KMMessage* message();
00054 
00055 protected slots:
00057   virtual void updStatus(void);
00058 
00059   virtual void slotClose();
00060   virtual void slotSearch();
00061   virtual void slotStop();
00062   void updateCreateButton( const QString &);
00063   void renameSearchFolder();
00064   void openSearchFolder();
00065   void folderInvalidated(KMFolder *);
00066   virtual bool slotShowMsg(QListViewItem *);
00067   virtual void updateContextMenuActions();
00068   virtual void slotContextMenuRequested( QListViewItem*, const QPoint &, int );
00069   virtual void copySelectedToFolder( int menuId );
00070   virtual void moveSelectedToFolder( int menuId );
00071   virtual void slotFolderActivated(int nr);
00072   virtual void slotFilterAvailableRules();
00073   void slotClearSelection();
00074   void slotReplyToMsg();
00075   void slotReplyAllToMsg();
00076   void slotReplyListToMsg();
00077   void slotForwardMsg();
00078   void slotForwardAttachedMsg();
00079   void slotSaveMsg();
00080   void slotSaveAttachments();
00081   void slotPrintMsg();
00082 
00084   virtual void searchDone();
00085   virtual void slotAddMsg(int idx);
00086   virtual void slotRemoveMsg(KMFolder *, Q_UINT32 serNum);
00087   void enableGUI();
00088 
00089 protected:
00090 
00092   virtual void keyPressEvent(QKeyEvent*);
00093 
00095   virtual void closeEvent(QCloseEvent*);
00096 
00097 protected:
00098   bool mStopped;
00099   bool mCloseRequested;
00100   int mFetchingInProgress;
00101   int mSortColumn;
00102   SortOrder mSortOrder;
00103   QGuardedPtr<KMFolderSearch> mFolder;
00104   QTimer *mTimer;
00105 
00106   // GC'd by Qt
00107   QRadioButton *mChkbxAllFolders;
00108   QRadioButton *mChkbxSpecificFolders;
00109   KMFolderComboBox *mCbxFolders;
00110   QPushButton *mBtnSearch;
00111   QPushButton *mBtnStop;
00112   QCheckBox *mChkSubFolders;
00113   KListView* mLbxMatches;
00114   QLabel *mSearchFolderLbl;
00115   QLineEdit *mSearchFolderEdt;
00116   QPushButton *mSearchFolderBtn;
00117   QPushButton *mSearchFolderOpenBtn;
00118   KStatusBar* mStatusBar;
00119   QWidget* mLastFocus; // to remember the position of the focus
00120   QMap<int,KMFolder*> mMenuToFolder;
00121   KAction *mReplyAction, *mReplyAllAction, *mReplyListAction, *mSaveAsAction,
00122     *mForwardAction, *mForwardAttachedAction, *mPrintAction, *mClearAction,
00123     *mSaveAtchAction;
00124   KActionMenu *mForwardActionMenu;
00125   QValueList<QGuardedPtr<KMFolder> > mFolders;
00126 
00127   // not owned by us
00128   KMMainWidget* mKMMainWidget;
00129   KMSearchPatternEdit *mPatternEdit;
00130   KMSearchPattern *mSearchPattern;
00131 
00132   static const int MSGID_COLUMN;
00133 };
00134 #endif /*kmfldsearch_h*/
KDE Logo
This file is part of the documentation for kmail Library Version 3.3.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu May 3 20:23:10 2007 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2003