You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
120 lines
3.4 KiB
120 lines
3.4 KiB
/* KMail Folder Selection Dialog
|
|
* Pops up a small window with a list of folders and Ok/Cancel buttons.
|
|
* Author: Stefan Taferner <taferner@kde.org>
|
|
* Carsten Burghardt <burghardt@kde.org>
|
|
*/
|
|
#ifndef kmfolderseldlg_h
|
|
#define kmfolderseldlg_h
|
|
|
|
#include <kdialogbase.h>
|
|
#include <kfoldertree.h>
|
|
|
|
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*/
|