Diffstat (limited to 'noncore/net/mail/libmailwrapper') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/net/mail/libmailwrapper/imapwrapper.cpp | 7 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/mailwrapper.cpp | 11 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/mailwrapper.h | 7 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/pop3wrapper.cpp | 2 |
4 files changed, 18 insertions, 9 deletions
diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.cpp b/noncore/net/mail/libmailwrapper/imapwrapper.cpp index d56d7f9..8a86c95 100644 --- a/noncore/net/mail/libmailwrapper/imapwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/imapwrapper.cpp @@ -165,6 +165,7 @@ QList<Folder>* IMAPwrapper::listFolders() result = clist_new(); mailimap_mailbox_list *list; err = mailimap_list( m_imap, (char*)"", (char*)mask, &result ); + QString del; if ( err == MAILIMAP_NO_ERROR ) { current = result->first; for ( int i = result->count; i > 0; i-- ) { @@ -172,7 +173,8 @@ QList<Folder>* IMAPwrapper::listFolders() // it is better use the deep copy mechanism of qt itself // instead of using strdup! temp = list->mb_name; - folders->append( new IMAPFolder(temp)); + del = list->mb_delimiter; + folders->append( new IMAPFolder(temp,del,true,account->getPrefix())); current = current->next; } } else { @@ -206,7 +208,8 @@ QList<Folder>* IMAPwrapper::listFolders() selectable = !(bflags->mbf_type==MAILIMAP_MBX_LIST_FLAGS_SFLAG&& bflags->mbf_sflag==MAILIMAP_MBX_LIST_SFLAG_NOSELECT); } - folders->append(new IMAPFolder(temp,selectable,account->getPrefix())); + del = list->mb_delimiter; + folders->append(new IMAPFolder(temp,del,selectable,account->getPrefix())); } } else { qDebug("error fetching folders %s",m_imap->imap_response); diff --git a/noncore/net/mail/libmailwrapper/mailwrapper.cpp b/noncore/net/mail/libmailwrapper/mailwrapper.cpp index 96602c2..858283f 100644 --- a/noncore/net/mail/libmailwrapper/mailwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/mailwrapper.cpp @@ -17,7 +17,7 @@ Attachment::Attachment( DocLnk lnk ) size = QFileInfo( doc.file() ).size(); } -Folder::Folder(const QString&tmp_name ) +Folder::Folder(const QString&tmp_name, const QString&sep ) { name = tmp_name; nameDisplay = name; @@ -35,11 +35,16 @@ Folder::Folder(const QString&tmp_name ) } } qDebug( "folder " + name + " - displayed as " + nameDisplay ); + separator = sep; } +const QString& Folder::Separator()const +{ + return separator; +} -IMAPFolder::IMAPFolder(const QString&name,bool select,const QString&prefix ) - : Folder( name ),m_MaySelect(select) +IMAPFolder::IMAPFolder(const QString&name,const QString&sep, bool select,const QString&prefix ) + : Folder( name,sep ),m_MaySelect(select) { if (prefix.length()>0) { if (nameDisplay.startsWith(prefix) && nameDisplay.length()>prefix.length()) { diff --git a/noncore/net/mail/libmailwrapper/mailwrapper.h b/noncore/net/mail/libmailwrapper/mailwrapper.h index 6994dd8..d78f8e9 100644 --- a/noncore/net/mail/libmailwrapper/mailwrapper.h +++ b/noncore/net/mail/libmailwrapper/mailwrapper.h @@ -71,20 +71,21 @@ class Folder : public QObject Q_OBJECT public: - Folder( const QString&init_name ); + Folder( const QString&init_name,const QString&sep ); const QString&getDisplayName()const { return nameDisplay; } const QString&getName()const { return name; } virtual bool may_select()const{return true;}; + const QString&Separator()const; protected: - QString nameDisplay, name; + QString nameDisplay, name, separator; }; class IMAPFolder : public Folder { public: - IMAPFolder(const QString&name,bool select=true,const QString&prefix="" ); + IMAPFolder(const QString&name, const QString&sep, bool select=true,const QString&prefix="" ); virtual bool may_select()const{return m_MaySelect;} private: bool m_MaySelect; diff --git a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp index 075d8c7..4508a95 100644 --- a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp +++ b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp @@ -323,7 +323,7 @@ QList<Folder>* POP3wrapper::listFolders() */ QList<Folder> * folders = new QList<Folder>(); folders->setAutoDelete( false ); - Folder*inb=new Folder("INBOX"); + Folder*inb=new Folder("INBOX","/"); folders->append(inb); return folders; } |