Diffstat (limited to 'noncore/net/mail/accountview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/mail/accountview.cpp | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/noncore/net/mail/accountview.cpp b/noncore/net/mail/accountview.cpp index 77fa706..faa6982 100644 --- a/noncore/net/mail/accountview.cpp +++ b/noncore/net/mail/accountview.cpp | |||
@@ -1,344 +1,369 @@ | |||
1 | #include "accountview.h" | 1 | #include "accountview.h" |
2 | #include <libmailwrapper/mailtypes.h> | 2 | #include <libmailwrapper/mailtypes.h> |
3 | #include <libmailwrapper/abstractmail.h> | 3 | #include <libmailwrapper/abstractmail.h> |
4 | #include "defines.h" | 4 | #include "defines.h" |
5 | #include "newmaildir.h" | 5 | #include "newmaildir.h" |
6 | #include "selectstore.h" | ||
6 | #include <qmessagebox.h> | 7 | #include <qmessagebox.h> |
7 | #include <qpopupmenu.h> | 8 | #include <qpopupmenu.h> |
8 | 9 | ||
9 | /** | 10 | /** |
10 | * POP3 Account stuff | 11 | * POP3 Account stuff |
11 | */ | 12 | */ |
12 | POP3viewItem::POP3viewItem( POP3account *a, QListView *parent ) | 13 | POP3viewItem::POP3viewItem( POP3account *a, QListView *parent ) |
13 | : AccountViewItem( parent ) | 14 | : AccountViewItem( parent ) |
14 | { | 15 | { |
15 | account = a; | 16 | account = a; |
16 | wrapper = AbstractMail::getWrapper( account ); | 17 | wrapper = AbstractMail::getWrapper( account ); |
17 | setPixmap( 0, PIXMAP_POP3FOLDER ); | 18 | setPixmap( 0, PIXMAP_POP3FOLDER ); |
18 | setText( 0, account->getAccountName() ); | 19 | setText( 0, account->getAccountName() ); |
19 | setOpen( true ); | 20 | setOpen( true ); |
20 | } | 21 | } |
21 | 22 | ||
22 | POP3viewItem::~POP3viewItem() | 23 | POP3viewItem::~POP3viewItem() |
23 | { | 24 | { |
24 | delete wrapper; | 25 | delete wrapper; |
25 | } | 26 | } |
26 | 27 | ||
27 | AbstractMail *POP3viewItem::getWrapper() | 28 | AbstractMail *POP3viewItem::getWrapper() |
28 | { | 29 | { |
29 | return wrapper; | 30 | return wrapper; |
30 | } | 31 | } |
31 | 32 | ||
32 | void POP3viewItem::refresh( QList<RecMail> & ) | 33 | void POP3viewItem::refresh( QList<RecMail> & ) |
33 | { | 34 | { |
34 | QList<Folder> *folders = wrapper->listFolders(); | 35 | QList<Folder> *folders = wrapper->listFolders(); |
35 | QListViewItem *child = firstChild(); | 36 | QListViewItem *child = firstChild(); |
36 | while ( child ) { | 37 | while ( child ) { |
37 | QListViewItem *tmp = child; | 38 | QListViewItem *tmp = child; |
38 | child = child->nextSibling(); | 39 | child = child->nextSibling(); |
39 | delete tmp; | 40 | delete tmp; |
40 | } | 41 | } |
41 | Folder *it; | 42 | Folder *it; |
42 | QListViewItem*item = 0; | 43 | QListViewItem*item = 0; |
43 | for ( it = folders->first(); it; it = folders->next() ) { | 44 | for ( it = folders->first(); it; it = folders->next() ) { |
44 | item = new POP3folderItem( it, this , item ); | 45 | item = new POP3folderItem( it, this , item ); |
45 | item->setSelectable(it->may_select()); | 46 | item->setSelectable(it->may_select()); |
46 | } | 47 | } |
47 | // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | 48 | // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
48 | folders->setAutoDelete(false); | 49 | folders->setAutoDelete(false); |
49 | delete folders; | 50 | delete folders; |
50 | } | 51 | } |
51 | 52 | ||
52 | RecBody POP3viewItem::fetchBody( const RecMail &mail ) | 53 | RecBody POP3viewItem::fetchBody( const RecMail &mail ) |
53 | { | 54 | { |
54 | qDebug( "POP3 fetchBody" ); | 55 | qDebug( "POP3 fetchBody" ); |
55 | return wrapper->fetchBody( mail ); | 56 | return wrapper->fetchBody( mail ); |
56 | } | 57 | } |
57 | 58 | ||
58 | POP3folderItem::~POP3folderItem() | 59 | POP3folderItem::~POP3folderItem() |
59 | { | 60 | { |
60 | delete folder; | 61 | delete folder; |
61 | } | 62 | } |
62 | 63 | ||
63 | POP3folderItem::POP3folderItem( Folder *folderInit, POP3viewItem *parent , QListViewItem*after ) | 64 | POP3folderItem::POP3folderItem( Folder *folderInit, POP3viewItem *parent , QListViewItem*after ) |
64 | : AccountViewItem( parent,after ) | 65 | : AccountViewItem( parent,after ) |
65 | { | 66 | { |
66 | folder = folderInit; | 67 | folder = folderInit; |
67 | pop3 = parent; | 68 | pop3 = parent; |
68 | if (folder->getDisplayName().lower()!="inbox") { | 69 | if (folder->getDisplayName().lower()!="inbox") { |
69 | setPixmap( 0, PIXMAP_POP3FOLDER ); | 70 | setPixmap( 0, PIXMAP_POP3FOLDER ); |
70 | } else { | 71 | } else { |
71 | setPixmap( 0, PIXMAP_INBOXFOLDER); | 72 | setPixmap( 0, PIXMAP_INBOXFOLDER); |
72 | } | 73 | } |
73 | setText( 0, folder->getDisplayName() ); | 74 | setText( 0, folder->getDisplayName() ); |
74 | } | 75 | } |
75 | 76 | ||
76 | void POP3folderItem::refresh(QList<RecMail>&target) | 77 | void POP3folderItem::refresh(QList<RecMail>&target) |
77 | { | 78 | { |
78 | if (folder->may_select()) | 79 | if (folder->may_select()) |
79 | pop3->getWrapper()->listMessages( folder->getName(),target ); | 80 | pop3->getWrapper()->listMessages( folder->getName(),target ); |
80 | } | 81 | } |
81 | 82 | ||
82 | RecBody POP3folderItem::fetchBody(const RecMail&aMail) | 83 | RecBody POP3folderItem::fetchBody(const RecMail&aMail) |
83 | { | 84 | { |
84 | return pop3->getWrapper()->fetchBody(aMail); | 85 | return pop3->getWrapper()->fetchBody(aMail); |
85 | } | 86 | } |
86 | 87 | ||
87 | QPopupMenu * POP3folderItem::getContextMenu() | 88 | QPopupMenu * POP3folderItem::getContextMenu() |
88 | { | 89 | { |
89 | QPopupMenu *m = new QPopupMenu(0); | 90 | QPopupMenu *m = new QPopupMenu(0); |
90 | if (m) { | 91 | if (m) { |
91 | m->insertItem(QObject::tr("Refresh header list",contextName),0); | 92 | m->insertItem(QObject::tr("Refresh header list",contextName),0); |
92 | m->insertItem(QObject::tr("Delete all mails",contextName),1); | 93 | m->insertItem(QObject::tr("Delete all mails",contextName),1); |
94 | m->insertItem(QObject::tr("Download all mails",contextName),2); | ||
93 | } | 95 | } |
94 | return m; | 96 | return m; |
95 | } | 97 | } |
96 | 98 | ||
99 | void POP3folderItem::downloadMails() | ||
100 | { | ||
101 | Selectstore sels; | ||
102 | sels.showMaximized(); | ||
103 | sels.exec(); | ||
104 | } | ||
105 | |||
97 | void POP3folderItem::contextMenuSelected(int which) | 106 | void POP3folderItem::contextMenuSelected(int which) |
98 | { | 107 | { |
99 | AccountView * view = (AccountView*)listView(); | 108 | AccountView * view = (AccountView*)listView(); |
100 | switch (which) { | 109 | switch (which) { |
101 | case 0: | 110 | case 0: |
111 | /* must be 'cause pop3 lists are cached */ | ||
112 | pop3->getWrapper()->logout(); | ||
102 | view->refreshCurrent(); | 113 | view->refreshCurrent(); |
103 | break; | 114 | break; |
104 | case 1: | 115 | case 1: |
105 | deleteAllMail(pop3->getWrapper(),folder); | 116 | deleteAllMail(pop3->getWrapper(),folder); |
106 | break; | 117 | break; |
118 | case 2: | ||
119 | downloadMails(); | ||
120 | break; | ||
107 | default: | 121 | default: |
108 | break; | 122 | break; |
109 | } | 123 | } |
110 | } | 124 | } |
111 | 125 | ||
112 | /** | 126 | /** |
113 | * IMAP Account stuff | 127 | * IMAP Account stuff |
114 | */ | 128 | */ |
115 | IMAPviewItem::IMAPviewItem( IMAPaccount *a, QListView *parent ) | 129 | IMAPviewItem::IMAPviewItem( IMAPaccount *a, QListView *parent ) |
116 | : AccountViewItem( parent ) | 130 | : AccountViewItem( parent ) |
117 | { | 131 | { |
118 | account = a; | 132 | account = a; |
119 | wrapper = AbstractMail::getWrapper( account ); | 133 | wrapper = AbstractMail::getWrapper( account ); |
120 | setPixmap( 0, PIXMAP_IMAPFOLDER ); | 134 | setPixmap( 0, PIXMAP_IMAPFOLDER ); |
121 | setText( 0, account->getAccountName() ); | 135 | setText( 0, account->getAccountName() ); |
122 | setOpen( true ); | 136 | setOpen( true ); |
123 | } | 137 | } |
124 | 138 | ||
125 | IMAPviewItem::~IMAPviewItem() | 139 | IMAPviewItem::~IMAPviewItem() |
126 | { | 140 | { |
127 | delete wrapper; | 141 | delete wrapper; |
128 | } | 142 | } |
129 | 143 | ||
130 | AbstractMail *IMAPviewItem::getWrapper() | 144 | AbstractMail *IMAPviewItem::getWrapper() |
131 | { | 145 | { |
132 | return wrapper; | 146 | return wrapper; |
133 | } | 147 | } |
134 | 148 | ||
135 | IMAPfolderItem*IMAPviewItem::findSubItem(const QString&path,IMAPfolderItem*start) | 149 | IMAPfolderItem*IMAPviewItem::findSubItem(const QString&path,IMAPfolderItem*start) |
136 | { | 150 | { |
137 | IMAPfolderItem*pitem,*sitem; | 151 | IMAPfolderItem*pitem,*sitem; |
138 | if (!start) pitem = (IMAPfolderItem*)firstChild(); | 152 | if (!start) pitem = (IMAPfolderItem*)firstChild(); |
139 | else pitem = (IMAPfolderItem*)start->firstChild(); | 153 | else pitem = (IMAPfolderItem*)start->firstChild(); |
140 | while (pitem) { | 154 | while (pitem) { |
141 | if (pitem->matchName(path)) { | 155 | if (pitem->matchName(path)) { |
142 | break; | 156 | break; |
143 | } | 157 | } |
144 | if (pitem->childCount()>0) { | 158 | if (pitem->childCount()>0) { |
145 | sitem = findSubItem(path,pitem); | 159 | sitem = findSubItem(path,pitem); |
146 | if (sitem) { | 160 | if (sitem) { |
147 | pitem = sitem; | 161 | pitem = sitem; |
148 | break; | 162 | break; |
149 | } | 163 | } |
150 | } | 164 | } |
151 | pitem=(IMAPfolderItem*)pitem->nextSibling(); | 165 | pitem=(IMAPfolderItem*)pitem->nextSibling(); |
152 | } | 166 | } |
153 | return pitem; | 167 | return pitem; |
154 | } | 168 | } |
155 | 169 | ||
156 | void IMAPviewItem::refresh(QList<RecMail>&) | 170 | void IMAPviewItem::refresh(QList<RecMail>&) |
157 | { | 171 | { |
158 | refreshFolders(false); | 172 | refreshFolders(false); |
159 | } | 173 | } |
160 | 174 | ||
161 | void IMAPviewItem::refreshFolders(bool force) | 175 | void IMAPviewItem::removeChilds() |
162 | { | 176 | { |
163 | if (childCount()>0 && force==false) return; | ||
164 | QList<Folder> *folders = wrapper->listFolders(); | ||
165 | |||
166 | QListViewItem *child = firstChild(); | 177 | QListViewItem *child = firstChild(); |
167 | while ( child ) { | 178 | while ( child ) { |
168 | QListViewItem *tmp = child; | 179 | QListViewItem *tmp = child; |
169 | child = child->nextSibling(); | 180 | child = child->nextSibling(); |
170 | delete tmp; | 181 | delete tmp; |
171 | } | 182 | } |
172 | 183 | ||
184 | } | ||
185 | |||
186 | void IMAPviewItem::refreshFolders(bool force) | ||
187 | { | ||
188 | if (childCount()>0 && force==false) return; | ||
189 | |||
190 | removeChilds(); | ||
191 | |||
192 | QList<Folder> *folders = wrapper->listFolders(); | ||
193 | |||
173 | Folder *it; | 194 | Folder *it; |
174 | QListViewItem*item = 0; | 195 | QListViewItem*item = 0; |
175 | QListViewItem*titem = 0; | 196 | QListViewItem*titem = 0; |
176 | QString fname,del,search; | 197 | QString fname,del,search; |
177 | int pos; | 198 | int pos; |
178 | // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | 199 | // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
179 | folders->setAutoDelete(false); | 200 | folders->setAutoDelete(false); |
180 | 201 | ||
181 | for ( it = folders->first(); it; it = folders->next() ) { | 202 | for ( it = folders->first(); it; it = folders->next() ) { |
182 | if (it->getDisplayName().lower()=="inbox") { | 203 | if (it->getDisplayName().lower()=="inbox") { |
183 | item = new IMAPfolderItem( it, this , item ); | 204 | item = new IMAPfolderItem( it, this , item ); |
184 | folders->remove(it); | 205 | folders->remove(it); |
185 | qDebug("inbox found"); | 206 | qDebug("inbox found"); |
186 | break; | 207 | break; |
187 | } | 208 | } |
188 | } | 209 | } |
189 | for ( it = folders->first(); it; it = folders->next() ) { | 210 | for ( it = folders->first(); it; it = folders->next() ) { |
190 | fname = it->getDisplayName(); | 211 | fname = it->getDisplayName(); |
191 | pos = fname.findRev(it->Separator()); | 212 | pos = fname.findRev(it->Separator()); |
192 | if (pos != -1) { | 213 | if (pos != -1) { |
193 | fname = fname.left(pos); | 214 | fname = fname.left(pos); |
194 | } | 215 | } |
195 | IMAPfolderItem*pitem = findSubItem(fname); | 216 | IMAPfolderItem*pitem = findSubItem(fname); |
196 | if (pitem) { | 217 | if (pitem) { |
197 | titem = item; | 218 | titem = item; |
198 | item = new IMAPfolderItem(it,pitem,pitem->firstChild(),this); | 219 | item = new IMAPfolderItem(it,pitem,pitem->firstChild(),this); |
199 | /* setup the short name */ | 220 | /* setup the short name */ |
200 | item->setText(0,it->getDisplayName().right(it->getDisplayName().length()-pos-1)); | 221 | item->setText(0,it->getDisplayName().right(it->getDisplayName().length()-pos-1)); |
201 | item = titem; | 222 | item = titem; |
202 | } else { | 223 | } else { |
203 | item = new IMAPfolderItem( it, this , item ); | 224 | item = new IMAPfolderItem( it, this , item ); |
204 | } | 225 | } |
205 | } | 226 | } |
206 | delete folders; | 227 | delete folders; |
207 | } | 228 | } |
208 | 229 | ||
209 | QPopupMenu * IMAPviewItem::getContextMenu() | 230 | QPopupMenu * IMAPviewItem::getContextMenu() |
210 | { | 231 | { |
211 | QPopupMenu *m = new QPopupMenu(0); | 232 | QPopupMenu *m = new QPopupMenu(0); |
212 | if (m) { | 233 | if (m) { |
213 | m->insertItem(QObject::tr("Refresh folder list",contextName),0); | 234 | m->insertItem(QObject::tr("Refresh folder list",contextName),0); |
214 | m->insertItem(QObject::tr("Create new folder",contextName),1); | 235 | m->insertItem(QObject::tr("Create new folder",contextName),1); |
215 | m->insertSeparator(); | 236 | m->insertSeparator(); |
216 | m->insertItem(QObject::tr("Disconnect",contextName),2); | 237 | m->insertItem(QObject::tr("Disconnect",contextName),2); |
217 | } | 238 | } |
218 | return m; | 239 | return m; |
219 | } | 240 | } |
220 | 241 | ||
221 | void IMAPviewItem::createNewFolder() | 242 | void IMAPviewItem::createNewFolder() |
222 | { | 243 | { |
223 | Newmdirdlg ndirdlg; | 244 | Newmdirdlg ndirdlg; |
224 | ndirdlg.showMaximized(); | 245 | ndirdlg.showMaximized(); |
225 | if (ndirdlg.exec()) { | 246 | if (ndirdlg.exec()) { |
226 | QString ndir = ndirdlg.Newdir(); | 247 | QString ndir = ndirdlg.Newdir(); |
227 | bool makesubs = ndirdlg.subpossible(); | 248 | bool makesubs = ndirdlg.subpossible(); |
228 | QString delemiter = "/"; | 249 | QString delemiter = "/"; |
229 | IMAPfolderItem*item = (IMAPfolderItem*)firstChild(); | 250 | IMAPfolderItem*item = (IMAPfolderItem*)firstChild(); |
230 | if (item) { | 251 | if (item) { |
231 | delemiter = item->Delemiter(); | 252 | delemiter = item->Delemiter(); |
232 | } | 253 | } |
233 | if (wrapper->createMbox(ndir,0,delemiter,makesubs)) { | 254 | if (wrapper->createMbox(ndir,0,delemiter,makesubs)) { |
234 | refreshFolders(true); | 255 | refreshFolders(true); |
235 | } | 256 | } |
236 | } | 257 | } |
237 | } | 258 | } |
238 | 259 | ||
239 | void IMAPviewItem::contextMenuSelected(int id) | 260 | void IMAPviewItem::contextMenuSelected(int id) |
240 | { | 261 | { |
241 | qDebug("Id selected: %i",id); | 262 | qDebug("Id selected: %i",id); |
242 | switch (id) { | 263 | switch (id) { |
243 | case 0: | 264 | case 0: |
244 | refreshFolders(true); | 265 | refreshFolders(true); |
245 | break; | 266 | break; |
246 | case 1: | 267 | case 1: |
247 | createNewFolder(); | 268 | createNewFolder(); |
248 | break; | 269 | break; |
270 | case 2: | ||
271 | removeChilds(); | ||
272 | wrapper->logout(); | ||
273 | break; | ||
249 | default: | 274 | default: |
250 | break; | 275 | break; |
251 | } | 276 | } |
252 | } | 277 | } |
253 | 278 | ||
254 | RecBody IMAPviewItem::fetchBody(const RecMail&) | 279 | RecBody IMAPviewItem::fetchBody(const RecMail&) |
255 | { | 280 | { |
256 | return RecBody(); | 281 | return RecBody(); |
257 | } | 282 | } |
258 | 283 | ||
259 | IMAPfolderItem::~IMAPfolderItem() | 284 | IMAPfolderItem::~IMAPfolderItem() |
260 | { | 285 | { |
261 | delete folder; | 286 | delete folder; |
262 | } | 287 | } |
263 | 288 | ||
264 | IMAPfolderItem::IMAPfolderItem( Folder *folderInit, IMAPviewItem *parent , QListViewItem*after ) | 289 | IMAPfolderItem::IMAPfolderItem( Folder *folderInit, IMAPviewItem *parent , QListViewItem*after ) |
265 | : AccountViewItem( parent , after ) | 290 | : AccountViewItem( parent , after ) |
266 | { | 291 | { |
267 | folder = folderInit; | 292 | folder = folderInit; |
268 | imap = parent; | 293 | imap = parent; |
269 | if (folder->getDisplayName().lower()!="inbox") { | 294 | if (folder->getDisplayName().lower()!="inbox") { |
270 | setPixmap( 0, PIXMAP_IMAPFOLDER ); | 295 | setPixmap( 0, PIXMAP_IMAPFOLDER ); |
271 | } else { | 296 | } else { |
272 | setPixmap( 0, PIXMAP_INBOXFOLDER); | 297 | setPixmap( 0, PIXMAP_INBOXFOLDER); |
273 | } | 298 | } |
274 | setText( 0, folder->getDisplayName() ); | 299 | setText( 0, folder->getDisplayName() ); |
275 | } | 300 | } |
276 | 301 | ||
277 | IMAPfolderItem::IMAPfolderItem( Folder *folderInit, IMAPfolderItem *parent , QListViewItem*after, IMAPviewItem *master ) | 302 | IMAPfolderItem::IMAPfolderItem( Folder *folderInit, IMAPfolderItem *parent , QListViewItem*after, IMAPviewItem *master ) |
278 | : AccountViewItem( parent,after ) | 303 | : AccountViewItem( parent,after ) |
279 | { | 304 | { |
280 | folder = folderInit; | 305 | folder = folderInit; |
281 | imap = master; | 306 | imap = master; |
282 | if (folder->getDisplayName().lower()!="inbox") { | 307 | if (folder->getDisplayName().lower()!="inbox") { |
283 | setPixmap( 0, PIXMAP_IMAPFOLDER ); | 308 | setPixmap( 0, PIXMAP_IMAPFOLDER ); |
284 | } else { | 309 | } else { |
285 | setPixmap( 0, PIXMAP_INBOXFOLDER); | 310 | setPixmap( 0, PIXMAP_INBOXFOLDER); |
286 | } | 311 | } |
287 | setText( 0, folder->getDisplayName() ); | 312 | setText( 0, folder->getDisplayName() ); |
288 | } | 313 | } |
289 | 314 | ||
290 | const QString& IMAPfolderItem::Delemiter()const | 315 | const QString& IMAPfolderItem::Delemiter()const |
291 | { | 316 | { |
292 | return folder->Separator(); | 317 | return folder->Separator(); |
293 | } | 318 | } |
294 | 319 | ||
295 | bool IMAPfolderItem::matchName(const QString&name)const | 320 | bool IMAPfolderItem::matchName(const QString&name)const |
296 | { | 321 | { |
297 | return folder->getDisplayName()==name; | 322 | return folder->getDisplayName()==name; |
298 | } | 323 | } |
299 | 324 | ||
300 | void IMAPfolderItem::refresh(QList<RecMail>&target) | 325 | void IMAPfolderItem::refresh(QList<RecMail>&target) |
301 | { | 326 | { |
302 | if (folder->may_select()) { | 327 | if (folder->may_select()) { |
303 | imap->getWrapper()->listMessages( folder->getName(),target ); | 328 | imap->getWrapper()->listMessages( folder->getName(),target ); |
304 | } else { | 329 | } else { |
305 | target.clear(); | 330 | target.clear(); |
306 | } | 331 | } |
307 | } | 332 | } |
308 | 333 | ||
309 | RecBody IMAPfolderItem::fetchBody(const RecMail&aMail) | 334 | RecBody IMAPfolderItem::fetchBody(const RecMail&aMail) |
310 | { | 335 | { |
311 | return imap->getWrapper()->fetchBody(aMail); | 336 | return imap->getWrapper()->fetchBody(aMail); |
312 | } | 337 | } |
313 | 338 | ||
314 | QPopupMenu * IMAPfolderItem::getContextMenu() | 339 | QPopupMenu * IMAPfolderItem::getContextMenu() |
315 | { | 340 | { |
316 | QPopupMenu *m = new QPopupMenu(0); | 341 | QPopupMenu *m = new QPopupMenu(0); |
317 | if (m) { | 342 | if (m) { |
318 | if (folder->may_select()) { | 343 | if (folder->may_select()) { |
319 | m->insertItem(QObject::tr("Refresh header list",contextName),0); | 344 | m->insertItem(QObject::tr("Refresh header list",contextName),0); |
320 | m->insertItem(QObject::tr("Delete all mails",contextName),1); | 345 | m->insertItem(QObject::tr("Delete all mails",contextName),1); |
321 | } | 346 | } |
322 | if (folder->no_inferior()==false) { | 347 | if (folder->no_inferior()==false) { |
323 | m->insertItem(QObject::tr("Create new subfolder",contextName),2); | 348 | m->insertItem(QObject::tr("Create new subfolder",contextName),2); |
324 | } | 349 | } |
325 | if (folder->getDisplayName().lower()!="inbox") { | 350 | if (folder->getDisplayName().lower()!="inbox") { |
326 | m->insertItem(QObject::tr("Delete folder",contextName),3); | 351 | m->insertItem(QObject::tr("Delete folder",contextName),3); |
327 | } | 352 | } |
328 | } | 353 | } |
329 | return m; | 354 | return m; |
330 | } | 355 | } |
331 | 356 | ||
332 | void IMAPfolderItem::createNewFolder() | 357 | void IMAPfolderItem::createNewFolder() |
333 | { | 358 | { |
334 | Newmdirdlg ndirdlg; | 359 | Newmdirdlg ndirdlg; |
335 | ndirdlg.showMaximized(); | 360 | ndirdlg.showMaximized(); |
336 | if (ndirdlg.exec()) { | 361 | if (ndirdlg.exec()) { |
337 | QString ndir = ndirdlg.Newdir(); | 362 | QString ndir = ndirdlg.Newdir(); |
338 | bool makesubs = ndirdlg.subpossible(); | 363 | bool makesubs = ndirdlg.subpossible(); |
339 | QString delemiter = Delemiter(); | 364 | QString delemiter = Delemiter(); |
340 | if (imap->wrapper->createMbox(ndir,folder,delemiter,makesubs)) { | 365 | if (imap->wrapper->createMbox(ndir,folder,delemiter,makesubs)) { |
341 | imap->refreshFolders(true); | 366 | imap->refreshFolders(true); |
342 | } | 367 | } |
343 | } | 368 | } |
344 | } | 369 | } |