From 3f5c51234c8068f3d4826a2a0066648ace21a19f Mon Sep 17 00:00:00 2001 From: zautrix Date: Tue, 31 Aug 2004 21:01:18 +0000 Subject: Enhancements of kopiemail --- diff --git a/kmicromail/accountview.cpp b/kmicromail/accountview.cpp index 0893733..4ead545 100644 --- a/kmicromail/accountview.cpp +++ b/kmicromail/accountview.cpp @@ -14,6 +14,8 @@ /* QT */ #include #include +#include +#include using namespace Opie::Core; AccountView::AccountView( QWidget *parent, const char *name, WFlags flags ) @@ -158,7 +160,11 @@ void AccountView::downloadMails(const FolderP&fromFolder,AbstractMail*fromWrappe tr("
Error while creating
new folder - breaking.
")); return; } - fromWrapper->mvcpAllMails(fromFolder,targetFolder,targetMail,sels.moveMails()); + int maxsize = 0; + if ( sels.useSize->isChecked()) + maxsize = sels.sizeSpinBox->value(); + + fromWrapper->mvcpAllMails(fromFolder,targetFolder,targetMail,sels.moveMails(), maxsize); refreshCurrent(); } diff --git a/kmicromail/libmailwrapper/abstractmail.cpp b/kmicromail/libmailwrapper/abstractmail.cpp index 128a7c0..3998abd 100644 --- a/kmicromail/libmailwrapper/abstractmail.cpp +++ b/kmicromail/libmailwrapper/abstractmail.cpp @@ -1,3 +1,4 @@ +// CHANGED 2004-09-31 Lutz Rogowski #include "abstractmail.h" #include "imapwrapper.h" #include "pop3wrapper.h" @@ -137,24 +138,38 @@ QString AbstractMail::draftFolder() void AbstractMail::deleteMails(const QString &,const QValueList > &) { } +void AbstractMail::deleteMailList(const QValueList&target) +{ + qDebug("AbstractMail::deleteMailList:: Please reimplement! "); +} void AbstractMail::mvcpAllMails(const FolderP&fromFolder, - const QString&targetFolder,AbstractMail*targetWrapper,bool moveit) + const QString&targetFolder,AbstractMail*targetWrapper,bool moveit, int maxSizeInKb) +{ + QValueList t; + listMessages(fromFolder->getName(),t, maxSizeInKb); + mvcpMailList( t,targetFolder,targetWrapper,moveit); + +} +void AbstractMail::mvcpMailList(const QValueList& t, + const QString&targetFolder,AbstractMail*targetWrapper,bool moveit) { - QValueList t; - listMessages(fromFolder->getName(),t); + encodedString*st = 0; - while (t.count()>0) { - RecMailP r = (*t.begin()); + int iii = 0; + int count = t.count(); + while (iii < count ) { + RecMailP r = (*t.at( iii )); st = fetchRawBody(r); if (st) { targetWrapper->storeMessage(st->Content(),st->Length(),targetFolder); delete st; } - t.remove(t.begin()); + ++iii; } if (moveit) { - deleteAllMail(fromFolder); + deleteMailList( t ); + //deleteAllMail(fromFolder); } } diff --git a/kmicromail/libmailwrapper/abstractmail.h b/kmicromail/libmailwrapper/abstractmail.h index e5d64a6..cae83f4 100644 --- a/kmicromail/libmailwrapper/abstractmail.h +++ b/kmicromail/libmailwrapper/abstractmail.h @@ -1,3 +1,4 @@ +// CHANGED 2004-09-31 Lutz Rogowski #ifndef __abstract_mail_ #define __abstract_mail_ @@ -22,7 +23,7 @@ public: AbstractMail(){}; virtual ~AbstractMail(){} virtual QValueList >* listFolders()=0; - virtual void listMessages(const QString & mailbox,QValueList&target )=0; + virtual void listMessages(const QString & mailbox,QValueList&target, int sizeInKb = 0 )=0; virtual void statusFolder(folderStat&target_stat,const QString & mailbox="INBOX")=0; virtual RecBodyP fetchBody(const RecMailP&mail)=0; virtual QString fetchTextPart(const RecMailP&mail,const RecPartP&part)=0; @@ -31,6 +32,7 @@ public: virtual encodedString* fetchRawBody(const RecMailP&mail)=0; virtual void deleteMail(const RecMailP&mail)=0; + virtual void deleteMailList(const QValueList&target); virtual void answeredMail(const RecMailP&mail)=0; virtual int deleteAllMail(const Opie::Core::OSmartPointer&)=0; virtual void deleteMails(const QString & FolderName,const QValueList >&target); @@ -38,7 +40,9 @@ public: virtual void storeMessage(const char*msg,size_t length, const QString&folder)=0; virtual void mvcpAllMails(const Opie::Core::OSmartPointer&fromFolder, - const QString&targetFolder,AbstractMail*targetWrapper,bool moveit); + const QString&targetFolder,AbstractMail*targetWrapper,bool moveit, int sizeInKb = 0); + virtual void mvcpMailList(const QValueList& t, + const QString&targetFolder,AbstractMail*targetWrapper,bool moveit); virtual void mvcpMail(const RecMailP&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit); virtual void cleanMimeCache(){}; diff --git a/kmicromail/libmailwrapper/genericwrapper.cpp b/kmicromail/libmailwrapper/genericwrapper.cpp index f804e44..1fd4bb1 100644 --- a/kmicromail/libmailwrapper/genericwrapper.cpp +++ b/kmicromail/libmailwrapper/genericwrapper.cpp @@ -1,3 +1,4 @@ +// CHANGED 2004-09-31 Lutz Rogowski #include "genericwrapper.h" #include #include "mailtypes.h" @@ -392,7 +393,7 @@ QStringList Genericwrapper::parseInreplies(mailimf_in_reply_to * in_replies) return res; } -void Genericwrapper::parseList(QValueList > &target,mailsession*session,const QString&mailbox,bool mbox_as_to) +void Genericwrapper::parseList(QValueList > &target,mailsession*session,const QString&mailbox,bool mbox_as_to, int maxSizeInKb) { int r; mailmessage_list * env_list = 0; @@ -472,7 +473,8 @@ void Genericwrapper::parseList(QValueList > & clist_count(single_fields.fld_in_reply_to->mid_list)) { mail->setInreply(parseInreplies(single_fields.fld_in_reply_to)); } - target.append(mail); + if ( maxSizeInKb == 0 || mail->Msgsize()<=maxSizeInKb*1024 ) + target.append(mail); } if (env_list) { mailmessage_list_free(env_list); diff --git a/kmicromail/libmailwrapper/genericwrapper.h b/kmicromail/libmailwrapper/genericwrapper.h index 8be9212..235e116 100644 --- a/kmicromail/libmailwrapper/genericwrapper.h +++ b/kmicromail/libmailwrapper/genericwrapper.h @@ -1,3 +1,4 @@ +// CHANGED 2004-09-31 Lutz Rogowski #ifndef __GENERIC_WRAPPER_H #define __GENERIC_WRAPPER_H @@ -54,7 +55,7 @@ protected: static void fillSingleBody(RecPartP&target,mailmessage*message,mailmime*mime); static void fillParameters(RecPartP&target,clist*parameters); static QString getencoding(mailmime_mechanism*aEnc); - virtual void parseList(QValueList > &target,mailsession*session,const QString&mailbox,bool mbox_as_to=false); + virtual void parseList(QValueList > &target,mailsession*session,const QString&mailbox,bool mbox_as_to=false, int maxSizeInKb = 0); QStringList parseInreplies(mailimf_in_reply_to * in_replies); QString msgTempName; diff --git a/kmicromail/libmailwrapper/imapwrapper.cpp b/kmicromail/libmailwrapper/imapwrapper.cpp index e0fb6f9..bb8bbfc 100644 --- a/kmicromail/libmailwrapper/imapwrapper.cpp +++ b/kmicromail/libmailwrapper/imapwrapper.cpp @@ -1,3 +1,4 @@ +// CHANGED 2004-09-31 Lutz Rogowski #include #include #include @@ -202,7 +203,7 @@ void IMAPwrapper::logout() m_Lastmbox = ""; } -void IMAPwrapper::listMessages(const QString&mailbox,QValueList > &target ) +void IMAPwrapper::listMessages(const QString&mailbox,QValueList > &target , int maxSizeInKb) { int err = MAILIMAP_NO_ERROR; clist *result = 0; @@ -250,10 +251,12 @@ void IMAPwrapper::listMessages(const QString&mailbox,QValueListdata; RecMail*m = parse_list_result(msg_att); if (m) { - m->setNumber(i); - m->setMbox(mailbox); - m->setWrapper(this); - target.append(m); + if ( maxSizeInKb == 0 || m->Msgsize()<=maxSizeInKb*1024 ) { + m->setNumber(i); + m->setMbox(mailbox); + m->setWrapper(this); + target.append(m); + } } } Global::statusMessage(tr("Mailbox has %1 mails").arg(target.count())); @@ -866,7 +869,49 @@ void IMAPwrapper::fillBodyFields(RecPartP&target_part,mailimap_body_fields*which target_part->setEncoding(encoding); target_part->setSize(which->bd_size); } +void IMAPwrapper::deleteMailList(const QValueList&target) +{ + mailimap_flag_list*flist; + mailimap_set *set; + mailimap_store_att_flags * store_flags; + int err; + login(); + if (!m_imap) { + return; + } + int iii = 0; + int count = target.count(); + qDebug("imap remove count %d ", count); + while (iii < count ) { + qDebug("IMAP remove %d ", iii); + RecMailP mail = (*target.at( iii )); + err = selectMbox(mail->getMbox()); + if ( err != MAILIMAP_NO_ERROR ) { + return; + } + flist = mailimap_flag_list_new_empty(); + mailimap_flag_list_add(flist,mailimap_flag_new_deleted()); + store_flags = mailimap_store_att_flags_new_set_flags(flist); + set = mailimap_set_new_single(mail->getNumber()); + err = mailimap_store(m_imap,set,store_flags); + mailimap_set_free( set ); + mailimap_store_att_flags_free(store_flags); + + if (err != MAILIMAP_NO_ERROR) { + // odebug << "error deleting mail: " << m_imap->imap_response << "" << oendl; + return; + } + // odebug << "deleting mail: " << m_imap->imap_response << "" << oendl; + /* should we realy do that at this moment? */ + + err = mailimap_expunge(m_imap); + if (err != MAILIMAP_NO_ERROR) { + Global::statusMessage(tr("error deleting mail: %s").arg(m_imap->imap_response)); + } + ++iii; + } +} void IMAPwrapper::deleteMail(const RecMailP&mail) { mailimap_flag_list*flist; @@ -895,11 +940,13 @@ void IMAPwrapper::deleteMail(const RecMailP&mail) } // odebug << "deleting mail: " << m_imap->imap_response << "" << oendl; /* should we realy do that at this moment? */ + err = mailimap_expunge(m_imap); if (err != MAILIMAP_NO_ERROR) { - // odebug << "error deleting mail: " << m_imap->imap_response << "" << oendl; + Global::statusMessage(tr("error deleting mail: %s").arg(m_imap->imap_response)); } - // odebug << "Delete successfull " << m_imap->imap_response << "" << oendl; + qDebug("IMAPwrapper::deleteMail "); + } void IMAPwrapper::answeredMail(const RecMailP&mail) @@ -1120,10 +1167,11 @@ encodedString* IMAPwrapper::fetchRawBody(const RecMailP&mail) } void IMAPwrapper::mvcpAllMails(const FolderP&fromFolder, - const QString&targetFolder,AbstractMail*targetWrapper,bool moveit) + const QString&targetFolder,AbstractMail*targetWrapper,bool moveit, int maxSizeInKb) { - if (targetWrapper != this) { - AbstractMail::mvcpAllMails(fromFolder,targetFolder,targetWrapper,moveit); + if (targetWrapper != this || maxSizeInKb > 0 ) { + AbstractMail::mvcpAllMails(fromFolder,targetFolder,targetWrapper,moveit, maxSizeInKb); + qDebug("IMAPwrapper::mvcpAllMails::Using generic"); // odebug << "Using generic" << oendl; return; } diff --git a/kmicromail/libmailwrapper/imapwrapper.h b/kmicromail/libmailwrapper/imapwrapper.h index e56605a..222fe95 100644 --- a/kmicromail/libmailwrapper/imapwrapper.h +++ b/kmicromail/libmailwrapper/imapwrapper.h @@ -1,3 +1,4 @@ +// CHANGED 2004-09-31 Lutz Rogowski #ifndef __IMAPWRAPPER #define __IMAPWRAPPER @@ -24,15 +25,16 @@ public: IMAPwrapper( IMAPaccount *a ); virtual ~IMAPwrapper(); virtual QValueList >* listFolders(); - virtual void listMessages(const QString & mailbox,QValueList >&target ); + virtual void listMessages(const QString & mailbox,QValueList >&target , int sizeInKb = 0); virtual void statusFolder(folderStat&target_stat,const QString & mailbox="INBOX"); virtual void deleteMail(const RecMailP&mail); + void deleteMailList(const QValueList&target); virtual void answeredMail(const RecMailP&mail); virtual int deleteAllMail(const Opie::Core::OSmartPointer&folder); virtual void storeMessage(const char*msg,size_t length, const QString&folder); virtual void mvcpAllMails(const Opie::Core::OSmartPointer&fromFolder, - const QString&targetFolder,AbstractMail*targetWrapper,bool moveit); + const QString&targetFolder,AbstractMail*targetWrapper,bool moveit,int sizeInKb = 0); virtual void mvcpMail(const RecMailP&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit); virtual RecBodyP fetchBody(const RecMailP&mail); diff --git a/kmicromail/libmailwrapper/mhwrapper.cpp b/kmicromail/libmailwrapper/mhwrapper.cpp index 7ef9b32..cbc52d9 100644 --- a/kmicromail/libmailwrapper/mhwrapper.cpp +++ b/kmicromail/libmailwrapper/mhwrapper.cpp @@ -1,3 +1,4 @@ +// CHANGED 2004-09-31 Lutz Rogowski #include "mhwrapper.h" #include "mailtypes.h" #include "mailwrapper.h" @@ -62,7 +63,7 @@ MHwrapper::~MHwrapper() clean_storage(); } -void MHwrapper::listMessages(const QString & mailbox, QValueList > &target ) +void MHwrapper::listMessages(const QString & mailbox, QValueList > &target, int maxSizeInKb ) { init_storage(); if (!m_storage) { @@ -74,7 +75,7 @@ void MHwrapper::listMessages(const QString & mailbox, QValueListsto_session,f); + parseList(target,m_storage->sto_session,f, false, maxSizeInKb ); Global::statusMessage(tr("Mailbox has %1 mail(s)").arg(target.count())); } diff --git a/kmicromail/libmailwrapper/mhwrapper.h b/kmicromail/libmailwrapper/mhwrapper.h index 4310c84..550824d 100644 --- a/kmicromail/libmailwrapper/mhwrapper.h +++ b/kmicromail/libmailwrapper/mhwrapper.h @@ -1,3 +1,4 @@ +// CHANGED 2004-09-31 Lutz Rogowski #ifndef __MH_WRAPPER_H #define __MH_WRAPPER_H @@ -17,7 +18,7 @@ public: MHwrapper(const QString & dir,const QString&name); virtual ~MHwrapper(); - virtual void listMessages(const QString & mailbox, QValueList > &target ); + virtual void listMessages(const QString & mailbox, QValueList > &target, int maxSizeInKb = 0 ); virtual QValueList >* listFolders(); virtual void statusFolder(folderStat&target_stat,const QString & mailbox="INBOX"); diff --git a/kmicromail/libmailwrapper/nntpwrapper.cpp b/kmicromail/libmailwrapper/nntpwrapper.cpp index daa128e..f5d7f16 100644 --- a/kmicromail/libmailwrapper/nntpwrapper.cpp +++ b/kmicromail/libmailwrapper/nntpwrapper.cpp @@ -1,3 +1,4 @@ +// CHANGED 2004-09-31 Lutz Rogowski #include "nntpwrapper.h" #include "logindialog.h" #include "mailtypes.h" @@ -98,14 +99,14 @@ RecBodyP NNTPwrapper::fetchBody( const RecMailP &mail ) { } -void NNTPwrapper::listMessages(const QString & which, QValueList > &target ) +void NNTPwrapper::listMessages(const QString & which, QValueList > &target, int maxSizeInKb) { login(); if (!m_nntp) return; uint32_t res_messages,res_recent,res_unseen; mailsession_status_folder(m_nntp->sto_session,(char*)which.latin1(),&res_messages,&res_recent,&res_unseen); - parseList(target,m_nntp->sto_session,which,true); + parseList(target,m_nntp->sto_session,which,true, maxSizeInKb); } void NNTPwrapper::login() diff --git a/kmicromail/libmailwrapper/nntpwrapper.h b/kmicromail/libmailwrapper/nntpwrapper.h index 2fb82f2..5d4e5ce 100644 --- a/kmicromail/libmailwrapper/nntpwrapper.h +++ b/kmicromail/libmailwrapper/nntpwrapper.h @@ -1,3 +1,4 @@ +// CHANGED 2004-09-31 Lutz Rogowski #ifndef __NNTPWRAPPER #define __NNTPWRAPPER @@ -20,7 +21,7 @@ public: virtual ~NNTPwrapper(); /* mailbox will be ignored */ - virtual void listMessages(const QString & mailbox, QValueList > &target ); + virtual void listMessages(const QString & mailbox, QValueList > &target, int maxSizeInKb = 0 ); /* should only get the subscribed one */ virtual QValueList >* listFolders(); /* mailbox will be ignored */ diff --git a/kmicromail/libmailwrapper/pop3wrapper.cpp b/kmicromail/libmailwrapper/pop3wrapper.cpp index e5d083a..7a84b30 100644 --- a/kmicromail/libmailwrapper/pop3wrapper.cpp +++ b/kmicromail/libmailwrapper/pop3wrapper.cpp @@ -1,3 +1,4 @@ +// CHANGED 2004-09-31 Lutz Rogowski #include #include "pop3wrapper.h" #include "mailtypes.h" @@ -96,14 +97,14 @@ RecBodyP POP3wrapper::fetchBody( const RecMailP &mail ) { return body; } -void POP3wrapper::listMessages(const QString &, QValueList > &target ) +void POP3wrapper::listMessages(const QString &, QValueList > &target, int maxSizeInKb ) { login(); if (!m_pop3) return; uint32_t res_messages,res_recent,res_unseen; mailsession_status_folder(m_pop3->sto_session,"INBOX",&res_messages,&res_recent,&res_unseen); - parseList(target,m_pop3->sto_session,"INBOX"); + parseList(target,m_pop3->sto_session,"INBOX", false, maxSizeInKb); Global::statusMessage( tr("Mailbox contains %1 mail(s)").arg(res_messages)); } @@ -192,6 +193,22 @@ QValueList >* POP3wrapper::listFolders() { return folders; } +void POP3wrapper::deleteMailList(QValueList&target) +{ + login(); + if (!m_pop3) + return; + int iii = 0; + int count = target.count(); + while (iii < count ) { + RecMailP mail = (*target.at( iii )); + int err = mailsession_remove_message(m_pop3->sto_session,mail->getNumber()); + if (err != MAIL_NO_ERROR) { + Global::statusMessage(tr("error deleting mail")); + } + ++iii; + } +} void POP3wrapper::deleteMail(const RecMailP&mail) { login(); if (!m_pop3) diff --git a/kmicromail/libmailwrapper/pop3wrapper.h b/kmicromail/libmailwrapper/pop3wrapper.h index 5101fa5..ee754a4 100644 --- a/kmicromail/libmailwrapper/pop3wrapper.h +++ b/kmicromail/libmailwrapper/pop3wrapper.h @@ -1,3 +1,4 @@ +// CHANGED 2004-09-31 Lutz Rogowski #ifndef __POP3WRAPPER #define __POP3WRAPPER @@ -17,13 +18,14 @@ public: POP3wrapper( POP3account *a ); virtual ~POP3wrapper(); /* mailbox will be ignored */ - virtual void listMessages(const QString & mailbox, QValueList > &target ); + virtual void listMessages(const QString & mailbox, QValueList > &target, int maxSizeInKb = 0 ); virtual QValueList >* listFolders(); /* mailbox will be ignored */ virtual void statusFolder(folderStat&target_stat,const QString & mailbox="INBOX"); virtual void deleteMail(const RecMailP&mail); virtual void answeredMail(const RecMailP&mail); + virtual void deleteMailList(QValueList&target); virtual int deleteAllMail(const Opie::Core::OSmartPointer&); virtual RecBodyP fetchBody( const RecMailP &mail ); diff --git a/kmicromail/opiemail.cpp b/kmicromail/opiemail.cpp index d522ad0..3fbdcec 100644 --- a/kmicromail/opiemail.cpp +++ b/kmicromail/opiemail.cpp @@ -1,3 +1,4 @@ +// CHANGED 2004-09-31 Lutz Rogowski // CHANGED 2004-08-06 Lutz Rogowski #include "settingsdialog.h" @@ -278,6 +279,7 @@ void OpieMail::mailHold(int button, QListViewItem *item,const QPoint&,int ) m->insertItem(tr("Copy/Move this mail"),this,SLOT(slotMoveCopyMail())); m->insertItem(tr("Delete this mail"),this,SLOT(slotDeleteMail())); m->insertSeparator(); + m->insertItem(tr("Copy/Move all selected mail"),this,SLOT(slotMoveCopyAllMail())); m->insertItem(tr("Delete all selected mails"),this,SLOT(slotDeleteAllMail())); m->insertItem(tr("Clear selection"),this,SLOT(clearSelection())); } @@ -352,6 +354,48 @@ void OpieMail::slotMoveCopyMail() folderView->refreshCurrent(); } +void OpieMail::slotMoveCopyAllMail() +{ + + if (!mailView->currentItem()) return; + QValueList t; + if ( QMessageBox::warning(this, tr("Copy/Move all selected mails"), tr("Do you really want to copy/move\nall selected mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) + { + MailListViewItem* item = (MailListViewItem*)mailView->firstChild (); + while ( item ) { + if ( item->isSelected() ) { + t.append( item->data() ); + } + item = (MailListViewItem*)item->nextSibling(); + } + } + else + return; + if ( t.count() == 0 ) + return; + RecMailP mail = t.first(); + AbstractMail*targetMail = 0; + QString targetFolder = ""; + Selectstore sels; + folderView->setupFolderselect(&sels); + if (!sels.exec()) return; + targetMail = sels.currentMail(); + targetFolder = sels.currentFolder(); + if ( (mail->Wrapper()==targetMail && mail->getMbox()==targetFolder) || + targetFolder.isEmpty()) + { + return; + } + if (sels.newFolder() && !targetMail->createMbox(targetFolder)) + { + QMessageBox::critical(0,tr("Error creating new Folder"), + tr("
Error while creating
new folder - breaking.
")); + return; + } + mail->Wrapper()->mvcpMailList(t,targetFolder,targetMail,sels.moveMails()); + folderView->refreshCurrent(); +} + void OpieMail::reEditMail() { if (!mailView->currentItem()) return; diff --git a/kmicromail/opiemail.h b/kmicromail/opiemail.h index 143b0c4..934f232 100644 --- a/kmicromail/opiemail.h +++ b/kmicromail/opiemail.h @@ -1,3 +1,4 @@ +// CHANGED 2004-09-31 Lutz Rogowski #ifndef OPIEMAIL_H #define OPIEMAIL_H @@ -35,6 +36,7 @@ protected slots: virtual void refreshMailView(const QValueList&); virtual void mailLeftClicked( QListViewItem * ); virtual void slotMoveCopyMail(); + virtual void slotMoveCopyAllMail(); virtual void reEditMail(); void clearSelection(); diff --git a/kmicromail/selectstoreui.ui b/kmicromail/selectstoreui.ui index 5f0e507..dd3fc92 100644 --- a/kmicromail/selectstoreui.ui +++ b/kmicromail/selectstoreui.ui @@ -11,8 +11,8 @@ 0 0 - 182 - 273 + 275 + 304 @@ -25,16 +25,16 @@ layoutSpacing - + margin - 1 + 11 spacing - 1 + 6 - + QLabel name @@ -52,7 +52,7 @@ hAlign - + QLayoutWidget name @@ -140,7 +140,7 @@ - + Line name @@ -151,7 +151,7 @@ Horizontal - + QCheckBox name @@ -162,7 +162,7 @@ Create new folder - + QLineEdit name @@ -173,7 +173,7 @@ false - + QLabel name @@ -194,7 +194,7 @@ wordwrap - + Line name @@ -205,18 +205,7 @@ Horizontal - - QCheckBox - - name - selMove - - - text - Move mail(s) - - - + name Spacer2 @@ -237,7 +226,56 @@ - + + QCheckBox + + name + selMove + + + text + Move mail(s) + + + + QCheckBox + + name + useSize + + + text + apply only to mails smaller + + + + QSpinBox + + name + sizeSpinBox + + + suffix + kB + + + maxValue + 8192 + + + minValue + 1 + + + lineStep + 1 + + + value + 5 + + + -- cgit v0.9.0.2