-rw-r--r-- | noncore/net/mail/accountview.cpp | 7 | ||||
-rw-r--r-- | noncore/net/mail/imapwrapper.cpp | 14 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/imapwrapper.cpp | 14 | ||||
-rw-r--r-- | noncore/net/mail/libmailwrapper/pop3wrapper.cpp | 2 | ||||
-rw-r--r-- | noncore/net/mail/mainwindow.cpp | 2 | ||||
-rw-r--r-- | noncore/net/mail/pop3wrapper.cpp | 2 | ||||
-rw-r--r-- | noncore/net/mail/viewmail.cpp | 2 |
7 files changed, 28 insertions, 15 deletions
diff --git a/noncore/net/mail/accountview.cpp b/noncore/net/mail/accountview.cpp index 847b099..d725b87 100644 --- a/noncore/net/mail/accountview.cpp +++ b/noncore/net/mail/accountview.cpp @@ -75,3 +75,7 @@ void IMAPviewItem::refresh(QList<RecMail>&) item = new IMAPfolderItem( it, this , item ); + item->setSelectable(it->may_select()); } + // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + folders->setAutoDelete(false); + delete folders; } @@ -99,2 +103,3 @@ void IMAPfolderItem::refresh(QList<RecMail>&target) { + if (folder->may_select()) imap->getWrapper()->listMessages( folder->getName(),target ); @@ -114,3 +119,3 @@ AccountView::AccountView( QWidget *parent, const char *name, WFlags flags ) { - connect( this, SIGNAL( clicked( QListViewItem * ) ), + connect( this, SIGNAL( selectionChanged( QListViewItem * ) ), SLOT( refresh( QListViewItem * ) ) ); diff --git a/noncore/net/mail/imapwrapper.cpp b/noncore/net/mail/imapwrapper.cpp index 9ee0dff..912a412 100644 --- a/noncore/net/mail/imapwrapper.cpp +++ b/noncore/net/mail/imapwrapper.cpp @@ -151,3 +151,3 @@ QList<Folder>* IMAPwrapper::listFolders() QList<Folder> * folders = new QList<Folder>(); - folders->setAutoDelete( true ); + folders->setAutoDelete( false ); login(); @@ -190,2 +190,4 @@ QList<Folder>* IMAPwrapper::listFolders() qDebug(path); + bool selectable = true; + mailimap_mbx_list_flags*bflags; err = mailimap_list( m_imap, (char*)path, (char*)mask, &result ); @@ -193,3 +195,3 @@ QList<Folder>* IMAPwrapper::listFolders() current = result->first; - for ( int i = result->count; i > 0; i-- ) { + for ( current=clist_begin(result);current!=NULL;current=clist_next(current)) { list = (mailimap_mailbox_list *) current->data; @@ -198,7 +200,9 @@ QList<Folder>* IMAPwrapper::listFolders() temp = list->mb_name; - current = current->next; if (temp.lower()=="inbox") continue; - folders->append(new IMAPFolder(temp)); - + if ( (bflags = list->mb_flag) ) { + selectable = !(bflags->mbf_type==MAILIMAP_MBX_LIST_FLAGS_SFLAG&& + bflags->mbf_sflag==MAILIMAP_MBX_LIST_SFLAG_NOSELECT); + } + folders->append(new IMAPFolder(temp,selectable)); } 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() QList<Folder> * folders = new QList<Folder>(); - folders->setAutoDelete( true ); + folders->setAutoDelete( false ); login(); @@ -190,2 +190,4 @@ QList<Folder>* IMAPwrapper::listFolders() qDebug(path); + bool selectable = true; + mailimap_mbx_list_flags*bflags; err = mailimap_list( m_imap, (char*)path, (char*)mask, &result ); @@ -193,3 +195,3 @@ QList<Folder>* IMAPwrapper::listFolders() current = result->first; - for ( int i = result->count; i > 0; i-- ) { + for ( current=clist_begin(result);current!=NULL;current=clist_next(current)) { list = (mailimap_mailbox_list *) current->data; @@ -198,7 +200,9 @@ QList<Folder>* IMAPwrapper::listFolders() temp = list->mb_name; - current = current->next; if (temp.lower()=="inbox") continue; - folders->append(new IMAPFolder(temp)); - + if ( (bflags = list->mb_flag) ) { + selectable = !(bflags->mbf_type==MAILIMAP_MBX_LIST_FLAGS_SFLAG&& + bflags->mbf_sflag==MAILIMAP_MBX_LIST_SFLAG_NOSELECT); + } + folders->append(new IMAPFolder(temp,selectable)); } diff --git a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp index 62523bf..5065d29 100644 --- a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp +++ b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp @@ -275,3 +275,3 @@ QList<Folder>* POP3wrapper::listFolders() QList<Folder> * folders = new QList<Folder>(); - folders->setAutoDelete( true ); + folders->setAutoDelete( false ); Folder*inb=new Folder("INBOX"); diff --git a/noncore/net/mail/mainwindow.cpp b/noncore/net/mail/mainwindow.cpp index cab1a66..fae3e97 100644 --- a/noncore/net/mail/mainwindow.cpp +++ b/noncore/net/mail/mainwindow.cpp @@ -85,3 +85,3 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) folderView->header()->hide(); - folderView->setRootIsDecorated( false ); + folderView->setRootIsDecorated( true ); folderView->addColumn( tr( "Mailbox" ) ); diff --git a/noncore/net/mail/pop3wrapper.cpp b/noncore/net/mail/pop3wrapper.cpp index 62523bf..5065d29 100644 --- a/noncore/net/mail/pop3wrapper.cpp +++ b/noncore/net/mail/pop3wrapper.cpp @@ -275,3 +275,3 @@ QList<Folder>* POP3wrapper::listFolders() QList<Folder> * folders = new QList<Folder>(); - folders->setAutoDelete( true ); + folders->setAutoDelete( false ); Folder*inb=new Folder("INBOX"); diff --git a/noncore/net/mail/viewmail.cpp b/noncore/net/mail/viewmail.cpp index 2415c82..e53f4a3 100644 --- a/noncore/net/mail/viewmail.cpp +++ b/noncore/net/mail/viewmail.cpp @@ -1,3 +1,3 @@ #include <qtextbrowser.h> -#include <qmessagebox.h>? +#include <qmessagebox.h> #include <qtextstream.h> |