kmail

kmfolderseldlg.h

00001 /* KMail Folder Selection Dialog
00002  * Pops up a small window with a list of folders and Ok/Cancel buttons.
00003  * Author: Stefan Taferner <taferner@kde.org>
00004  *         Carsten Burghardt <burghardt@kde.org>
00005  */
00006 #ifndef kmfolderseldlg_h
00007 #define kmfolderseldlg_h
00008 
00009 #include <kdialogbase.h>
00010 #include <kfoldertree.h>
00011 
00012 class KMFolder;
00013 class KMFolderTree;
00014 class KMMainWidget;
00015 
00016 namespace KMail {
00017 
00018   class SimpleFolderTree : public KFolderTree
00019   {
00020     Q_OBJECT
00021 
00022     public:
00023       SimpleFolderTree( QWidget * parent, KMFolderTree * folderTree,
00024                         const QString & preSelection, bool mustBeReadWrite );
00025 
00027       void reload( bool mustBeReadWrite, bool showOutbox, bool showImapFolders,
00028                    const QString& preSelection = QString::null );
00029 
00031       const KMFolder * folder() const;
00032 
00034       void setFolder( KMFolder* );
00035       void setFolder( const QString& idString );
00036 
00037     public slots:
00038       void addChildFolder();
00039 
00040     protected slots:
00041       void slotContextMenuRequested( QListViewItem *, const QPoint & );
00042 
00043     protected:
00045       virtual void readColorConfig(void);
00046 
00047     private:
00048       KMFolderTree* mFolderTree;
00049       int mFolderColumn;
00050       bool mLastMustBeReadWrite;
00051       bool mLastShowOutbox;
00052       bool mLastShowImapFolders;
00053 };
00054 
00055   //-----------------------------------------------------------------------------
00056   class KMFolderSelDlg: public KDialogBase
00057   {
00058     Q_OBJECT
00059 
00060     public:
00069       KMFolderSelDlg( KMMainWidget * parent, const QString& caption, 
00070           bool mustBeReadWrite, bool useGlobalSettings = true );
00077       KMFolderSelDlg( QWidget * parent, KMFolderTree * tree,
00078           const QString& caption, bool mustBeReadWrite, 
00079           bool useGlobalSettings = true );
00080 
00081       virtual ~KMFolderSelDlg();
00082 
00084       virtual KMFolder* folder( void );
00085 
00087       void setFolder( KMFolder* folder );
00088 
00090       void setFlags( bool mustBeReadWrite, bool showOutbox, bool showImapFolders );
00091 
00092     protected slots:
00093       void slotSelect();
00094       void slotUser1();
00095       void slotUpdateBtnStatus();
00096 
00097     protected:
00098       void readConfig();
00099       void writeConfig();
00101       void init();
00102 
00103       SimpleFolderTree * mTreeView;
00104       bool mUseGlobalSettings;
00105   };
00106 
00107 } // namespace KMail
00108 
00109 #endif /*kmfolderseldlg_h*/
KDE Home | KDE Accessibility Home | Description of Access Keys