1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
/* 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*/
|