summaryrefslogtreecommitdiffabout
path: root/kmicromail
authorzautrix <zautrix>2005-01-24 18:05:48 (UTC)
committer zautrix <zautrix>2005-01-24 18:05:48 (UTC)
commit77f93c632b66b5c8d92e4c63330362272ca1fc40 (patch) (side-by-side diff)
tree31f28656062c899b5368f13ab594ff6fa5c657fa /kmicromail
parent6c89efd80c1e94a0c070025d07c7a4c656f2a81e (diff)
downloadkdepimpi-77f93c632b66b5c8d92e4c63330362272ca1fc40.zip
kdepimpi-77f93c632b66b5c8d92e4c63330362272ca1fc40.tar.gz
kdepimpi-77f93c632b66b5c8d92e4c63330362272ca1fc40.tar.bz2
mail fixes
Diffstat (limited to 'kmicromail') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/accountview.h2
-rw-r--r--kmicromail/libmailwrapper/mailtypes.cpp17
-rw-r--r--kmicromail/libmailwrapper/mailtypes.h1
-rw-r--r--kmicromail/mailistviewitem.cpp24
-rw-r--r--kmicromail/opiemail.cpp38
-rw-r--r--kmicromail/viewmail.cpp7
6 files changed, 69 insertions, 20 deletions
diff --git a/kmicromail/accountview.h b/kmicromail/accountview.h
index fcf33d1..79ed2e7 100644
--- a/kmicromail/accountview.h
+++ b/kmicromail/accountview.h
@@ -25,7 +25,7 @@ public:
virtual void downloadMails(const Opie::Core::OSmartPointer<Folder>&fromFolder,AbstractMail*fromWrapper);
virtual void downloadMailsInbox(const Opie::Core::OSmartPointer<Folder>&fromFolder,AbstractMail*fromWrapper);
virtual bool currentisDraft();
-
+ QValueList<MHviewItem*> allAccounts() { return mhAccounts;}
public slots:
virtual void refreshAll();
virtual void refresh(QListViewItem *item);
diff --git a/kmicromail/libmailwrapper/mailtypes.cpp b/kmicromail/libmailwrapper/mailtypes.cpp
index 89150ad..96d55e6 100644
--- a/kmicromail/libmailwrapper/mailtypes.cpp
+++ b/kmicromail/libmailwrapper/mailtypes.cpp
@@ -30,6 +30,23 @@ static bool stringCompareRec( const QString& s1, const QString& s2 )
return s1 == s2;
}
+const QString RecMail::MsgsizeString() const
+{
+
+ double s = msg_size;
+ int w = 0;
+ s/=1024;
+ if (s>999.0) {
+ s/=1024.0;
+ ++w;
+ }
+ QString fsize = QString::number( s, 'f', 2 );
+ if ( w == 0 ) {
+ fsize += "kB" ;
+ } else
+ fsize += "MB" ;
+ return fsize;
+}
bool RecMail::isEqual( RecMail* r1 )
{
if ( !stringCompareRec( isodate, r1->isodate ) ) {
diff --git a/kmicromail/libmailwrapper/mailtypes.h b/kmicromail/libmailwrapper/mailtypes.h
index 32d92c0..39c0bac 100644
--- a/kmicromail/libmailwrapper/mailtypes.h
+++ b/kmicromail/libmailwrapper/mailtypes.h
@@ -55,6 +55,7 @@ public:
const QString&Replyto()const{return replyto;}
void setMsgsize(unsigned int size){msg_size = size;}
const unsigned int Msgsize()const{return msg_size;}
+ const QString MsgsizeString()const;
void setTo(const QStringList&list);
diff --git a/kmicromail/mailistviewitem.cpp b/kmicromail/mailistviewitem.cpp
index ffb835c..137c482 100644
--- a/kmicromail/mailistviewitem.cpp
+++ b/kmicromail/mailistviewitem.cpp
@@ -22,25 +22,17 @@ void MailListViewItem::showEntry()
} else {
setPixmap( 0,SmallIcon ( "kmmsgnew") );
}
- double s = mail_data->Msgsize();
- int w = 0;
- s/=1024;
- if (s>999.0) {
- s/=1024.0;
- ++w;
- }
- QString fsort;
- fsort.sprintf( "%.2f", s );
- QString fsize = QString::number( s, 'f', 2 );
+ QString fsize = mail_data->MsgsizeString();
// 1.23
// 11.23
// 111.23
// 999.23 maxlen
+ QString fsort;
switch(fsize.length() ) {
- case 4:
+ case 6:
fsort = "00" + fsize ;
break;
- case 5:
+ case 7:
fsort = "0" + fsize ;
break;
default:
@@ -48,12 +40,12 @@ void MailListViewItem::showEntry()
break;
}
- if ( w == 0 ) {
- setText(3, fsize + "kB" );
+ setText(3, fsize );
+ //qDebug("fsize *%s* ",fsize.latin1() );
+ //qDebug("fsort *%s* ",fsort.latin1() );
+ if ( fsize.right(2) == "kB" ) {
mKeyMap.insert(3, "k" + fsort);
- //setText(3, "kB" + fsort ); // test only
} else {
- //setText(3, fsize + "MB");
mKeyMap.insert(3, "M" +fsort );
}
setText(1,mail_data->getSubject());
diff --git a/kmicromail/opiemail.cpp b/kmicromail/opiemail.cpp
index 6e54bf4..760e3b0 100644
--- a/kmicromail/opiemail.cpp
+++ b/kmicromail/opiemail.cpp
@@ -21,6 +21,7 @@
#include "selectstore.h"
#include "selectsmtp.h"
#include "accountitem.h"
+#include "accountview.h"
#include "klocale.h"
#include <qmessagebox.h>
@@ -313,7 +314,42 @@ void OpieMail::closeViewMail(ViewMail * vm)
void OpieMail::slotDownloadMail( )
{
- qDebug("slotDownloadMail( ) ");
+ QListViewItem*item = mailView->currentItem();
+ if (!item ) {
+ Global::statusMessage("Error: No item slected!");
+ return;
+ }
+ RecMailP mail = ((MailListViewItem*)item)->data();
+ Account * acc = mail->Wrapper()->getAccount();
+ if ( !acc ) {
+ Global::statusMessage("Mail is already stored locally!");
+ return;
+ }
+ QString lfName = acc->getLocalFolder();
+ //qDebug("local folder " + lfName );
+ if ( lfName.isEmpty() )
+ lfName = acc->getAccountName();
+ AbstractMail* targetMail = folderView->allAccounts()[0]->getWrapper();
+ //qDebug("target %d %d ",targetMail,mail->Wrapper() );
+ if ( targetMail == mail->Wrapper() ) {
+ Global::statusMessage("Mail is already locally stored!");
+ return;
+ }
+ if ( !targetMail->createMbox(lfName)) {
+ Global::statusMessage("Error creating folder!");
+ return;
+ }
+ Global::statusMessage("Fetching mail...please wait!");
+ qApp->processEvents();
+ encodedString*st = 0;
+ st = mail->Wrapper()->fetchRawBody(mail);
+ if ( st ) {
+ targetMail->storeMessage(st->Content(),st->Length(),lfName);
+ Global::statusMessage("Mail stored in "+ lfName);
+ delete st;
+ } else {
+ Global::statusMessage("Error: Cannot fetch mail!");
+ }
}
diff --git a/kmicromail/viewmail.cpp b/kmicromail/viewmail.cpp
index 767a369..726f540 100644
--- a/kmicromail/viewmail.cpp
+++ b/kmicromail/viewmail.cpp
@@ -377,8 +377,11 @@ void ViewMail::setText()
ccString = m_mail2[1].join(",");
bccString = m_mail2[2].join(",");
-
- setCaption( i18n("E-Mail by %1").arg( m_mail[0] ) );
+#ifdef DESKTOP_VERSION
+ setCaption( i18n("Size: ")+m_recMail->MsgsizeString()+" - "+i18n("E-Mail by %1").arg( m_mail[0] ) );
+#else
+ setCaption( m_recMail->MsgsizeString()+" - "+m_mail[0] );
+#endif
m_mailHtml = "<html><body>"
"<table width=\"100%\" border=\"0\"><tr bgcolor=\"#FFDD76\"><td>"