summaryrefslogtreecommitdiff
authoralwin <alwin>2004-01-05 22:21:41 (UTC)
committer alwin <alwin>2004-01-05 22:21:41 (UTC)
commitc8d0dd53a75b7142a5ce924e4afbea77b86e56b0 (patch) (side-by-side diff)
tree2845e68c4a3ee0daa7f732a29fefd81d47c90f9d
parent07278dd6ba68e3ff55d22acc76a28956b06d5d9c (diff)
downloadopie-c8d0dd53a75b7142a5ce924e4afbea77b86e56b0.zip
opie-c8d0dd53a75b7142a5ce924e4afbea77b86e56b0.tar.gz
opie-c8d0dd53a75b7142a5ce924e4afbea77b86e56b0.tar.bz2
bugfix in imapwrapper
storemail for all possible mail-accounts raw body fetch in all wrappers unified public interface dialog for selecting a target mailbox started
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/mail/accountview.cpp33
-rw-r--r--noncore/net/mail/accountview.h4
-rw-r--r--noncore/net/mail/libmailwrapper/abstractmail.h1
-rw-r--r--noncore/net/mail/libmailwrapper/imapwrapper.cpp36
-rw-r--r--noncore/net/mail/libmailwrapper/imapwrapper.h1
-rw-r--r--noncore/net/mail/libmailwrapper/mboxwrapper.cpp13
-rw-r--r--noncore/net/mail/libmailwrapper/mboxwrapper.h3
-rw-r--r--noncore/net/mail/libmailwrapper/pop3wrapper.cpp11
-rw-r--r--noncore/net/mail/libmailwrapper/pop3wrapper.h3
-rw-r--r--noncore/net/mail/libmailwrapper/smtpwrapper.cpp17
-rw-r--r--noncore/net/mail/libmailwrapper/smtpwrapper.h4
-rw-r--r--noncore/net/mail/mail.pro9
-rw-r--r--noncore/net/mail/selectstore.cpp19
-rw-r--r--noncore/net/mail/selectstore.h19
-rw-r--r--noncore/net/mail/selectstoreui.ui244
15 files changed, 381 insertions, 36 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
@@ -5,2 +5,3 @@
#include "newmaildir.h"
+#include "selectstore.h"
#include <qmessagebox.h>
@@ -92,2 +93,3 @@ QPopupMenu * POP3folderItem::getContextMenu()
m->insertItem(QObject::tr("Delete all mails",contextName),1);
+ m->insertItem(QObject::tr("Download all mails",contextName),2);
}
@@ -96,2 +98,9 @@ QPopupMenu * POP3folderItem::getContextMenu()
+void POP3folderItem::downloadMails()
+{
+ Selectstore sels;
+ sels.showMaximized();
+ sels.exec();
+}
+
void POP3folderItem::contextMenuSelected(int which)
@@ -101,2 +110,4 @@ void POP3folderItem::contextMenuSelected(int which)
case 0:
+ /* must be 'cause pop3 lists are cached */
+ pop3->getWrapper()->logout();
view->refreshCurrent();
@@ -106,2 +117,5 @@ void POP3folderItem::contextMenuSelected(int which)
break;
+ case 2:
+ downloadMails();
+ break;
default:
@@ -160,7 +174,4 @@ void IMAPviewItem::refresh(QList<RecMail>&)
-void IMAPviewItem::refreshFolders(bool force)
+void IMAPviewItem::removeChilds()
{
- if (childCount()>0 && force==false) return;
- QList<Folder> *folders = wrapper->listFolders();
-
QListViewItem *child = firstChild();
@@ -172,2 +183,12 @@ void IMAPviewItem::refreshFolders(bool force)
+}
+
+void IMAPviewItem::refreshFolders(bool force)
+{
+ if (childCount()>0 && force==false) return;
+
+ removeChilds();
+
+ QList<Folder> *folders = wrapper->listFolders();
+
Folder *it;
@@ -248,2 +269,6 @@ void IMAPviewItem::contextMenuSelected(int id)
break;
+ case 2:
+ removeChilds();
+ wrapper->logout();
+ break;
default:
diff --git a/noncore/net/mail/accountview.h b/noncore/net/mail/accountview.h
index 1d2bf19..7131192 100644
--- a/noncore/net/mail/accountview.h
+++ b/noncore/net/mail/accountview.h
@@ -57,2 +57,5 @@ public:
+protected:
+ void downloadMails();
+
private:
@@ -80,2 +83,3 @@ protected:
virtual void createNewFolder();
+ virtual void removeChilds();
diff --git a/noncore/net/mail/libmailwrapper/abstractmail.h b/noncore/net/mail/libmailwrapper/abstractmail.h
index 7c060db..9770991 100644
--- a/noncore/net/mail/libmailwrapper/abstractmail.h
+++ b/noncore/net/mail/libmailwrapper/abstractmail.h
@@ -28,2 +28,3 @@ public:
virtual encodedString* fetchRawPart(const RecMail&mail,const RecPart&part)=0;
+ virtual encodedString* fetchRawBody(const RecMail&mail)=0;
diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.cpp b/noncore/net/mail/libmailwrapper/imapwrapper.cpp
index 95b317a..d252159 100644
--- a/noncore/net/mail/libmailwrapper/imapwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/imapwrapper.cpp
@@ -468,2 +468,6 @@ encodedString*IMAPwrapper::fetchRawPart(const RecMail&mail,const QValueList<int>
clistcell*current,*cur;
+ mailimap_section_part * section_part = 0;
+ mailimap_section_spec * section_spec = 0;
+ mailimap_section * section = 0;
+ mailimap_fetch_att * fetch_att = 0;
@@ -482,3 +486,9 @@ encodedString*IMAPwrapper::fetchRawPart(const RecMail&mail,const QValueList<int>
set = mailimap_set_new_single(mail.getNumber());
- clist*id_list=clist_new();
+
+ clist*id_list = 0;
+
+ /* if path == empty then its a request for the whole rfc822 mail and generates
+ a "fetch <id> (body[])" statement on imap server */
+ if (path.count()>0 ) {
+ id_list = clist_new();
for (unsigned j=0; j < path.count();++j) {
@@ -488,7 +498,8 @@ encodedString*IMAPwrapper::fetchRawPart(const RecMail&mail,const QValueList<int>
}
- mailimap_section_part * section_part = mailimap_section_part_new(id_list);
- mailimap_section_spec * section_spec = mailimap_section_spec_new(MAILIMAP_SECTION_SPEC_SECTION_PART, NULL, section_part, NULL);
- mailimap_section * section = mailimap_section_new(section_spec);
- mailimap_fetch_att * fetch_att = mailimap_fetch_att_new_body_section(section);
+ section_part = mailimap_section_part_new(id_list);
+ section_spec = mailimap_section_spec_new(MAILIMAP_SECTION_SPEC_SECTION_PART, NULL, section_part, NULL);
+ }
+ section = mailimap_section_new(section_spec);
+ fetch_att = mailimap_fetch_att_new_body_section(section);
fetchType = mailimap_fetch_type_new_fetch_att(fetch_att);
@@ -957,2 +968,3 @@ void IMAPwrapper::statusFolder(folderStat&target_stat,const QString & mailbox)
r = mailimap_status(m_imap, mailbox.latin1(), att_list, &status);
+ if (r==MAILIMAP_NO_ERROR&&status->st_info_list!=0) {
for (cur = clist_begin(status->st_info_list);
@@ -973,4 +985,7 @@ void IMAPwrapper::statusFolder(folderStat&target_stat,const QString & mailbox)
}
- mailimap_mailbox_data_status_free(status);
- mailimap_status_att_list_free(att_list);
+ } else {
+ qDebug("Error retrieving status");
+ }
+ if (status) mailimap_mailbox_data_status_free(status);
+ if (att_list) mailimap_status_att_list_free(att_list);
}
@@ -992 +1007,8 @@ const QString&IMAPwrapper::getType()const
}
+
+encodedString* IMAPwrapper::fetchRawBody(const RecMail&mail)
+{
+ // dummy
+ QValueList<int> path;
+ return fetchRawPart(mail,path,false);
+}
diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.h b/noncore/net/mail/libmailwrapper/imapwrapper.h
index 6a9c411..b246f58 100644
--- a/noncore/net/mail/libmailwrapper/imapwrapper.h
+++ b/noncore/net/mail/libmailwrapper/imapwrapper.h
@@ -38,2 +38,3 @@ public:
virtual encodedString* fetchRawPart(const RecMail&mail,const RecPart&part);
+ virtual encodedString* fetchRawBody(const RecMail&mail);
diff --git a/noncore/net/mail/libmailwrapper/mboxwrapper.cpp b/noncore/net/mail/libmailwrapper/mboxwrapper.cpp
index 60f7507..3a0b30a 100644
--- a/noncore/net/mail/libmailwrapper/mboxwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/mboxwrapper.cpp
@@ -174,3 +174,3 @@ void MBOXwrapper::storeMessage(const char*msg,size_t length, const QString&folde
-void MBOXwrapper::fetchRawBody(const RecMail&mail,char**target,size_t*length)
+encodedString* MBOXwrapper::fetchRawBody(const RecMail&mail)
{
@@ -192,3 +192,3 @@ void MBOXwrapper::fetchRawBody(const RecMail&mail,char**target,size_t*length)
mailstorage_free(storage);
- return;
+ return 0;
}
@@ -199,3 +199,3 @@ void MBOXwrapper::fetchRawBody(const RecMail&mail,char**target,size_t*length)
mailstorage_free(storage);
- return;
+ return 0;
}
@@ -207,6 +207,6 @@ void MBOXwrapper::fetchRawBody(const RecMail&mail,char**target,size_t*length)
mailmessage_free(msg);
- return;
+ return 0;
}
- *target = data;
- *length = size;
+ encodedString*result = new encodedString(data,size);
+
mailfolder_free(folder);
@@ -214,2 +214,3 @@ void MBOXwrapper::fetchRawBody(const RecMail&mail,char**target,size_t*length)
mailmessage_free(msg);
+ return result;
}
diff --git a/noncore/net/mail/libmailwrapper/mboxwrapper.h b/noncore/net/mail/libmailwrapper/mboxwrapper.h
index f97fce2..2794014 100644
--- a/noncore/net/mail/libmailwrapper/mboxwrapper.h
+++ b/noncore/net/mail/libmailwrapper/mboxwrapper.h
@@ -8,2 +8,3 @@ class RecMail;
class RecBody;
+class encodedString;
struct mailmbox_folder;
@@ -32,3 +33,3 @@ public:
- virtual void fetchRawBody(const RecMail&mail,char**target,size_t*length);
+ virtual encodedString* fetchRawBody(const RecMail&mail);
virtual void deleteMails(const QString & mailbox,QList<RecMail> &target);
diff --git a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp
index 45408dd..72c145b 100644
--- a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp
@@ -230,8 +230,15 @@ void POP3wrapper::statusFolder(folderStat&target_stat,const QString&)
-void POP3wrapper::fetchRawBody(const RecMail&mail,char**target,size_t*length)
+encodedString* POP3wrapper::fetchRawBody(const RecMail&mail)
{
+ char*target=0;
+ size_t length=0;
+ encodedString*res = 0;
mailmessage * mailmsg = 0;
int err = mailsession_get_message(m_folder->fld_session, mail.getNumber(), &mailmsg);
- err = mailmessage_fetch(mailmsg,target,length);
+ err = mailmessage_fetch(mailmsg,&target,&length);
if (mailmsg) mailmessage_free(mailmsg);
+ if (target) {
+ res = new encodedString(target,length);
+ }
+ return res;
}
diff --git a/noncore/net/mail/libmailwrapper/pop3wrapper.h b/noncore/net/mail/libmailwrapper/pop3wrapper.h
index b7e8f27..f0307b6 100644
--- a/noncore/net/mail/libmailwrapper/pop3wrapper.h
+++ b/noncore/net/mail/libmailwrapper/pop3wrapper.h
@@ -7,2 +7,3 @@
+class encodedString;
struct mailstorage;
@@ -28,3 +29,3 @@ public:
virtual RecBody fetchBody( const RecMail &mail );
- virtual void fetchRawBody(const RecMail&mail,char**target,size_t*length);
+ virtual encodedString* fetchRawBody(const RecMail&mail);
virtual void logout();
diff --git a/noncore/net/mail/libmailwrapper/smtpwrapper.cpp b/noncore/net/mail/libmailwrapper/smtpwrapper.cpp
index e054365..00181ff 100644
--- a/noncore/net/mail/libmailwrapper/smtpwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/smtpwrapper.cpp
@@ -487,3 +487,3 @@ void SMTPwrapper::progress( size_t current, size_t maximum )
-void SMTPwrapper::storeMail(char*mail, size_t length, const QString&box)
+void SMTPwrapper::storeMail(const char*mail, size_t length, const QString&box)
{
@@ -538,3 +538,3 @@ void SMTPwrapper::smtpSend( mailmime *mail,bool later, SMTPaccount *smtp )
-int SMTPwrapper::smtpSend(char*from,clist*rcpts,char*data,size_t size, SMTPaccount *smtp )
+int SMTPwrapper::smtpSend(char*from,clist*rcpts,const char*data,size_t size, SMTPaccount *smtp )
{
@@ -642,4 +642,2 @@ int SMTPwrapper::sendQueuedMail(MBOXwrapper*wrap,SMTPaccount*smtp,RecMail*which)
{
- char*data = 0;
- size_t length = 0;
size_t curTok = 0;
@@ -651,7 +649,7 @@ int SMTPwrapper::sendQueuedMail(MBOXwrapper*wrap,SMTPaccount*smtp,RecMail*which)
- wrap->fetchRawBody(*which,&data,&length);
+ encodedString * data = wrap->fetchRawBody(*which);
if (!data) return 0;
- int err = mailimf_fields_parse( data, length, &curTok, &fields );
+ int err = mailimf_fields_parse( data->Content(), data->Length(), &curTok, &fields );
if (err != MAILIMF_NO_ERROR) {
- free(data);
+ delete data;
delete wrap;
@@ -664,5 +662,4 @@ int SMTPwrapper::sendQueuedMail(MBOXwrapper*wrap,SMTPaccount*smtp,RecMail*which)
- qDebug("Size: %i vs. %i",length,strlen(data));
if (rcpts && from) {
- res = smtpSend(from,rcpts,data,length,smtp );
+ res = smtpSend(from,rcpts,data->Content(),data->Length(),smtp );
}
@@ -673,3 +670,3 @@ int SMTPwrapper::sendQueuedMail(MBOXwrapper*wrap,SMTPaccount*smtp,RecMail*which)
if (data) {
- free(data);
+ delete data;
}
diff --git a/noncore/net/mail/libmailwrapper/smtpwrapper.h b/noncore/net/mail/libmailwrapper/smtpwrapper.h
index 4a4352f..04fc4b0 100644
--- a/noncore/net/mail/libmailwrapper/smtpwrapper.h
+++ b/noncore/net/mail/libmailwrapper/smtpwrapper.h
@@ -49,3 +49,3 @@ protected:
- static void storeMail(char*mail, size_t length, const QString&box);
+ static void storeMail(const char*mail, size_t length, const QString&box);
static QString mailsmtpError( int err );
@@ -56,3 +56,3 @@ protected:
static mailimf_field *getField( mailimf_fields *fields, int type );
- int smtpSend(char*from,clist*rcpts,char*data,size_t size, SMTPaccount *smtp );
+ int smtpSend(char*from,clist*rcpts,const char*data,size_t size, SMTPaccount *smtp );
diff --git a/noncore/net/mail/mail.pro b/noncore/net/mail/mail.pro
index 96ffaa8..1abd2e8 100644
--- a/noncore/net/mail/mail.pro
+++ b/noncore/net/mail/mail.pro
@@ -13,3 +13,4 @@ HEADERS = defines.h \
statuswidget.h \
- newmaildir.h
+ newmaildir.h \
+ selectstore.h
@@ -26,3 +27,4 @@ SOURCES = main.cpp \
statuswidget.cpp \
- newmaildir.cpp
+ newmaildir.cpp \
+ selectstore.cpp
@@ -38,3 +40,4 @@ INTERFACES = editaccountsui.ui \
statuswidgetui.ui \
- newmaildirui.ui
+ newmaildirui.ui \
+ selectstoreui.ui
diff --git a/noncore/net/mail/selectstore.cpp b/noncore/net/mail/selectstore.cpp
new file mode 100644
index 0000000..28ab5a8
--- a/dev/null
+++ b/noncore/net/mail/selectstore.cpp
@@ -0,0 +1,19 @@
+#include "selectstore.h"
+
+Selectstore::Selectstore(QWidget* parent, const char* name)
+ :selectstoreui(parent,name,true)
+{
+
+}
+
+Selectstore::~Selectstore()
+{
+}
+
+void Selectstore::slotCreateNewFolder()
+{
+}
+
+void Selectstore::slotMoveMail()
+{
+}
diff --git a/noncore/net/mail/selectstore.h b/noncore/net/mail/selectstore.h
new file mode 100644
index 0000000..8b8e8ee
--- a/dev/null
+++ b/noncore/net/mail/selectstore.h
@@ -0,0 +1,19 @@
+#ifndef _SELECTSTORE_H
+#define _SELECTSTORE_H
+
+#include "selectstoreui.h"
+
+class Selectstore:public selectstoreui
+{
+ Q_OBJECT
+public:
+ Selectstore(QWidget* parent = 0, const char* name = 0);
+ virtual ~Selectstore();
+
+protected:
+ virtual void slotCreateNewFolder();
+ virtual void slotMoveMail();
+protected slots:
+
+};
+#endif
diff --git a/noncore/net/mail/selectstoreui.ui b/noncore/net/mail/selectstoreui.ui
new file mode 100644
index 0000000..3741b71
--- a/dev/null
+++ b/noncore/net/mail/selectstoreui.ui
@@ -0,0 +1,244 @@
+<!DOCTYPE UI><UI>
+<class>selectstoreui</class>
+<widget>
+ <class>QDialog</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>selectstoreui</cstring>
+ </property>
+ <property stdset="1">
+ <name>geometry</name>
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>190</width>
+ <height>273</height>
+ </rect>
+ </property>
+ <property stdset="1">
+ <name>caption</name>
+ <string>Select target box</string>
+ </property>
+ <property>
+ <name>layoutMargin</name>
+ </property>
+ <property>
+ <name>layoutSpacing</name>
+ </property>
+ <vbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>2</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>2</number>
+ </property>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>headlabel</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>&lt;b&gt;Store mail(s) to&lt;/b&gt;</string>
+ </property>
+ <property stdset="1">
+ <name>alignment</name>
+ <set>AlignCenter</set>
+ </property>
+ <property>
+ <name>hAlign</name>
+ </property>
+ </widget>
+ <widget>
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout2</cstring>
+ </property>
+ <grid>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget row="1" column="1" >
+ <class>QComboBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>folderSelection</cstring>
+ </property>
+ <property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>0</vsizetype>
+ </sizepolicy>
+ </property>
+ </widget>
+ <widget row="1" column="0" >
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>folderLabel</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Folder:</string>
+ </property>
+ <property stdset="1">
+ <name>alignment</name>
+ <set>AlignVCenter|AlignRight</set>
+ </property>
+ <property>
+ <name>hAlign</name>
+ </property>
+ </widget>
+ <widget row="0" column="1" >
+ <class>QComboBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>accountSelection</cstring>
+ </property>
+ <property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>0</vsizetype>
+ </sizepolicy>
+ </property>
+ </widget>
+ <widget row="0" column="0" >
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>accountlabel</cstring>
+ </property>
+ <property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>1</vsizetype>
+ </sizepolicy>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Account:</string>
+ </property>
+ <property stdset="1">
+ <name>alignment</name>
+ <set>AlignVCenter|AlignRight</set>
+ </property>
+ <property>
+ <name>hAlign</name>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget>
+ <class>Line</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Line1</cstring>
+ </property>
+ <property stdset="1">
+ <name>orientation</name>
+ <enum>Horizontal</enum>
+ </property>
+ </widget>
+ <widget>
+ <class>QCheckBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>newFoldersel</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Create new folder</string>
+ </property>
+ </widget>
+ <widget>
+ <class>QLineEdit</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>newFolderedit</cstring>
+ </property>
+ <property stdset="1">
+ <name>enabled</name>
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget>
+ <class>Line</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Line2</cstring>
+ </property>
+ <property stdset="1">
+ <name>orientation</name>
+ <enum>Horizontal</enum>
+ </property>
+ </widget>
+ <widget>
+ <class>QCheckBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>selMove</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Move mail(s)</string>
+ </property>
+ </widget>
+ <spacer>
+ <property>
+ <name>name</name>
+ <cstring>Spacer2</cstring>
+ </property>
+ <property stdset="1">
+ <name>orientation</name>
+ <enum>Vertical</enum>
+ </property>
+ <property stdset="1">
+ <name>sizeType</name>
+ <enum>Expanding</enum>
+ </property>
+ <property>
+ <name>sizeHint</name>
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+</widget>
+<connections>
+ <connection>
+ <sender>selMove</sender>
+ <signal>clicked()</signal>
+ <receiver>selectstoreui</receiver>
+ <slot>slotMoveMail()</slot>
+ </connection>
+ <connection>
+ <sender>newFoldersel</sender>
+ <signal>clicked()</signal>
+ <receiver>selectstoreui</receiver>
+ <slot>slotCreateNewFolder()</slot>
+ </connection>
+ <slot access="protected">slotMoveMail()</slot>
+ <slot access="protected">slotCreateNewFolder()</slot>
+</connections>
+<tabstops>
+ <tabstop>accountSelection</tabstop>
+ <tabstop>folderSelection</tabstop>
+ <tabstop>newFoldersel</tabstop>
+ <tabstop>newFolderedit</tabstop>
+ <tabstop>selMove</tabstop>
+</tabstops>
+</UI>