summaryrefslogtreecommitdiff
path: root/noncore/net/mail/libmailwrapper/imapwrapper.cpp
Unidiff
Diffstat (limited to 'noncore/net/mail/libmailwrapper/imapwrapper.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/mail/libmailwrapper/imapwrapper.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.cpp b/noncore/net/mail/libmailwrapper/imapwrapper.cpp
index 9ee0dff..912a412 100644
--- a/noncore/net/mail/libmailwrapper/imapwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/imapwrapper.cpp
@@ -151,3 +151,3 @@ QList<Folder>* IMAPwrapper::listFolders()
151 QList<Folder> * folders = new QList<Folder>(); 151 QList<Folder> * folders = new QList<Folder>();
152 folders->setAutoDelete( true ); 152 folders->setAutoDelete( false );
153 login(); 153 login();
@@ -190,2 +190,4 @@ QList<Folder>* IMAPwrapper::listFolders()
190 qDebug(path); 190 qDebug(path);
191 bool selectable = true;
192 mailimap_mbx_list_flags*bflags;
191 err = mailimap_list( m_imap, (char*)path, (char*)mask, &result ); 193 err = mailimap_list( m_imap, (char*)path, (char*)mask, &result );
@@ -193,3 +195,3 @@ QList<Folder>* IMAPwrapper::listFolders()
193 current = result->first; 195 current = result->first;
194 for ( int i = result->count; i > 0; i-- ) { 196 for ( current=clist_begin(result);current!=NULL;current=clist_next(current)) {
195 list = (mailimap_mailbox_list *) current->data; 197 list = (mailimap_mailbox_list *) current->data;
@@ -198,7 +200,9 @@ QList<Folder>* IMAPwrapper::listFolders()
198 temp = list->mb_name; 200 temp = list->mb_name;
199 current = current->next;
200 if (temp.lower()=="inbox") 201 if (temp.lower()=="inbox")
201 continue; 202 continue;
202 folders->append(new IMAPFolder(temp)); 203 if ( (bflags = list->mb_flag) ) {
203 204 selectable = !(bflags->mbf_type==MAILIMAP_MBX_LIST_FLAGS_SFLAG&&
205 bflags->mbf_sflag==MAILIMAP_MBX_LIST_SFLAG_NOSELECT);
206 }
207 folders->append(new IMAPFolder(temp,selectable));
204 } 208 }