From 460c52653ab0dcca6f19a4f492ed2c5e4e963ab0 Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kmail/kmfolderseldlg.h | 119 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 kmail/kmfolderseldlg.h (limited to 'kmail/kmfolderseldlg.h') diff --git a/kmail/kmfolderseldlg.h b/kmail/kmfolderseldlg.h new file mode 100644 index 00000000..3adef415 --- /dev/null +++ b/kmail/kmfolderseldlg.h @@ -0,0 +1,119 @@ +/* KMail Folder Selection Dialog + * Pops up a small window with a list of folders and Ok/Cancel buttons. + * Author: Stefan Taferner + * Carsten Burghardt + */ +#ifndef kmfolderseldlg_h +#define kmfolderseldlg_h + +#include +#include + +class KMFolder; +class KMFolderTree; +class KMMainWidget; + +namespace KMail { + + class SimpleFolderTree : public KFolderTree + { + Q_OBJECT + + public: + SimpleFolderTree( QWidget * parent, KMFolderTree * folderTree, + const QString & preSelection, bool mustBeReadWrite ); + + /** Reload the tree and select what folders to show and what not */ + void reload( bool mustBeReadWrite, bool showOutbox, bool showImapFolders, + const QString& preSelection = QString::null ); + + /** Return the current folder */ + const KMFolder * folder() const; + + /** Set the current folder */ + void setFolder( KMFolder* ); + void setFolder( const QString& idString ); + + /** Apply the given filter. */ + void applyFilter( const QString& filter ); + + public slots: + void addChildFolder(); + + protected slots: + void slotContextMenuRequested( QListViewItem *, const QPoint & ); + virtual void recolorRows(); + + protected: + /** Read color options and set palette. */ + virtual void readColorConfig(void); + virtual void keyPressEvent( QKeyEvent *e ); + + /** Folder and path column IDs. */ + friend class KMFolderSelDlg; + int mFolderColumn; + int mPathColumn; + + private: + KMFolderTree* mFolderTree; + QString mFilter; + bool mLastMustBeReadWrite; + bool mLastShowOutbox; + bool mLastShowImapFolders; +}; + + //----------------------------------------------------------------------------- + class KMFolderSelDlg: public KDialogBase + { + Q_OBJECT + + public: + /** + * Constructor with KMMainWidget + * @p parent @em must be a KMMainWin, because we + * need its foldertree. + * @param mustBeReadWrite if true, readonly folders are disabled + * @param useGlobalSettings if true, the current folder is read and + * written to GlobalSettings + */ + KMFolderSelDlg( KMMainWidget * parent, const QString& caption, + bool mustBeReadWrite, bool useGlobalSettings = true ); + /** + * Constructor with separate KMFolderTree + * @param mustBeReadWrite if true, readonly folders are disabled + * @param useGlobalSettings if true, the current folder is read and + * written to GlobalSettings + */ + KMFolderSelDlg( QWidget * parent, KMFolderTree * tree, + const QString& caption, bool mustBeReadWrite, + bool useGlobalSettings = true ); + + virtual ~KMFolderSelDlg(); + + /** Returns selected folder */ + virtual KMFolder* folder( void ); + + /** Set selected folder */ + void setFolder( KMFolder* folder ); + + /** Set some flags what folders to show and what not */ + void setFlags( bool mustBeReadWrite, bool showOutbox, bool showImapFolders ); + + protected slots: + void slotSelect(); + void slotUser1(); + void slotUpdateBtnStatus(); + + protected: + void readConfig(); + void writeConfig(); + /** Init the dialog */ + void init(); + + SimpleFolderTree * mTreeView; + bool mUseGlobalSettings; + }; + +} // namespace KMail + +#endif /*kmfolderseldlg_h*/ -- cgit v1.2.3