summaryrefslogtreecommitdiff
authoralwin <alwin>2004-03-12 19:24:38 (UTC)
committer alwin <alwin>2004-03-12 19:24:38 (UTC)
commitb600871ce93553a116a66fd80acd6dfc1cc46829 (patch) (side-by-side diff)
treeb361346a49e09d9f0220993583bf183cf29bd974
parent874d5a34eca296263dcd1adf857aebe9981825a1 (diff)
downloadopie-b600871ce93553a116a66fd80acd6dfc1cc46829.zip
opie-b600871ce93553a116a66fd80acd6dfc1cc46829.tar.gz
opie-b600871ce93553a116a66fd80acd6dfc1cc46829.tar.bz2
some more smart-pointers
some bugfixes some renaming of internals
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/mail/accountitem.cpp34
-rw-r--r--noncore/net/mail/accountitem.h58
-rw-r--r--noncore/net/mail/accountview.cpp12
-rw-r--r--noncore/net/mail/accountview.h11
-rw-r--r--noncore/net/mail/composemail.cpp20
-rw-r--r--noncore/net/mail/composemail.h4
-rw-r--r--noncore/net/mail/libmailwrapper/abstractmail.cpp16
-rw-r--r--noncore/net/mail/libmailwrapper/abstractmail.h36
-rw-r--r--noncore/net/mail/libmailwrapper/generatemail.cpp4
-rw-r--r--noncore/net/mail/libmailwrapper/generatemail.h6
-rw-r--r--noncore/net/mail/libmailwrapper/genericwrapper.cpp10
-rw-r--r--noncore/net/mail/libmailwrapper/genericwrapper.h10
-rw-r--r--noncore/net/mail/libmailwrapper/imapwrapper.cpp49
-rw-r--r--noncore/net/mail/libmailwrapper/imapwrapper.h34
-rw-r--r--noncore/net/mail/libmailwrapper/mailtypes.cpp4
-rw-r--r--noncore/net/mail/libmailwrapper/mailtypes.h15
-rw-r--r--noncore/net/mail/libmailwrapper/mailwrapper.cpp2
-rw-r--r--noncore/net/mail/libmailwrapper/mailwrapper.h8
-rw-r--r--noncore/net/mail/libmailwrapper/mboxwrapper.cpp43
-rw-r--r--noncore/net/mail/libmailwrapper/mboxwrapper.h24
-rw-r--r--noncore/net/mail/libmailwrapper/mhwrapper.cpp50
-rw-r--r--noncore/net/mail/libmailwrapper/mhwrapper.h26
-rw-r--r--noncore/net/mail/libmailwrapper/nntpwrapper.cpp26
-rw-r--r--noncore/net/mail/libmailwrapper/nntpwrapper.h14
-rw-r--r--noncore/net/mail/libmailwrapper/pop3wrapper.cpp32
-rw-r--r--noncore/net/mail/libmailwrapper/pop3wrapper.h14
-rw-r--r--noncore/net/mail/libmailwrapper/smtpwrapper.cpp18
-rw-r--r--noncore/net/mail/libmailwrapper/smtpwrapper.h6
-rw-r--r--noncore/net/mail/libmailwrapper/storemail.cpp2
-rw-r--r--noncore/net/mail/libmailwrapper/storemail.h2
-rw-r--r--noncore/net/mail/mailistviewitem.cpp20
-rw-r--r--noncore/net/mail/mailistviewitem.h6
-rw-r--r--noncore/net/mail/mainwindow.cpp5
-rw-r--r--noncore/net/mail/mainwindow.h5
-rw-r--r--noncore/net/mail/opiemail.cpp22
-rw-r--r--noncore/net/mail/opiemail.h4
-rw-r--r--noncore/net/mail/viewmail.cpp36
-rw-r--r--noncore/net/mail/viewmail.h4
38 files changed, 347 insertions, 345 deletions
diff --git a/noncore/net/mail/accountitem.cpp b/noncore/net/mail/accountitem.cpp
index 3e12563..9a09c18 100644
--- a/noncore/net/mail/accountitem.cpp
+++ b/noncore/net/mail/accountitem.cpp
@@ -48,9 +48,9 @@ AbstractMail *POP3viewItem::getWrapper()
{
return wrapper;
}
-void POP3viewItem::refresh( QList<RecMail> & )
+void POP3viewItem::refresh(QValueList<Opie::OSmartPointer<RecMail> > & )
{
refresh();
}
@@ -74,9 +74,9 @@ void POP3viewItem::refresh()
}
delete folders;
}
-RecBody POP3viewItem::fetchBody( const RecMail &mail )
+RecBody POP3viewItem::fetchBody( const RecMailP &mail )
{
qDebug( "POP3 fetchBody" );
return wrapper->fetchBody( mail );
}
@@ -153,15 +153,15 @@ POP3folderItem::POP3folderItem( const FolderP&folderInit, POP3viewItem *parent ,
}
setText( 0, folder->getDisplayName() );
}
-void POP3folderItem::refresh(QList<RecMail>&target)
+void POP3folderItem::refresh(QValueList<RecMailP>&target)
{
if (folder->may_select())
pop3->getWrapper()->listMessages( folder->getName(),target );
}
-RecBody POP3folderItem::fetchBody(const RecMail&aMail)
+RecBody POP3folderItem::fetchBody(const RecMailP&aMail)
{
return pop3->getWrapper()->fetchBody(aMail);
}
@@ -238,9 +238,9 @@ AbstractMail *NNTPviewItem::getWrapper()
{
return wrapper;
}
-void NNTPviewItem::refresh( QList<RecMail> & )
+void NNTPviewItem::refresh( QValueList<RecMailP> & )
{
refresh();
}
@@ -265,9 +265,9 @@ void NNTPviewItem::refresh()
}
delete folders;
}
-RecBody NNTPviewItem::fetchBody( const RecMail &mail )
+RecBody NNTPviewItem::fetchBody( const RecMailP &mail )
{
qDebug( "NNTP fetchBody" );
return wrapper->fetchBody( mail );
}
@@ -357,15 +357,15 @@ NNTPfolderItem::NNTPfolderItem( const FolderP &folderInit, NNTPviewItem *parent
}
setText( 0, folder->getDisplayName() );
}
-void NNTPfolderItem::refresh(QList<RecMail>&target)
+void NNTPfolderItem::refresh(QValueList<RecMailP>&target)
{
if (folder->may_select())
nntp->getWrapper()->listMessages( folder->getName(),target );
}
-RecBody NNTPfolderItem::fetchBody(const RecMail&aMail)
+RecBody NNTPfolderItem::fetchBody(const RecMailP&aMail)
{
return nntp->getWrapper()->fetchBody(aMail);
}
@@ -427,9 +427,9 @@ AbstractMail *IMAPviewItem::getWrapper()
{
return wrapper;
}
-void IMAPviewItem::refresh(QList<RecMail>&)
+void IMAPviewItem::refresh(QValueList<RecMailP>&)
{
refreshFolders(false);
}
@@ -560,9 +560,9 @@ void IMAPviewItem::contextMenuSelected(int id)
break;
}
}
-RecBody IMAPviewItem::fetchBody(const RecMail&)
+RecBody IMAPviewItem::fetchBody(const RecMailP&)
{
return RecBody();
}
@@ -608,9 +608,9 @@ const QString& IMAPfolderItem::Delemiter()const
{
return folder->Separator();
}
-void IMAPfolderItem::refresh(QList<RecMail>&target)
+void IMAPfolderItem::refresh(QValueList<RecMailP>&target)
{
if (folder->may_select())
{
imap->getWrapper()->listMessages( folder->getName(),target );
@@ -620,9 +620,9 @@ void IMAPfolderItem::refresh(QList<RecMail>&target)
target.clear();
}
}
-RecBody IMAPfolderItem::fetchBody(const RecMail&aMail)
+RecBody IMAPfolderItem::fetchBody(const RecMailP&aMail)
{
return imap->getWrapper()->fetchBody(aMail);
}
@@ -747,9 +747,9 @@ AbstractMail *MHviewItem::getWrapper()
{
return wrapper;
}
-void MHviewItem::refresh( QList<RecMail> & target)
+void MHviewItem::refresh( QValueList<RecMailP> & target)
{
refresh(false);
getWrapper()->listMessages( "",target );
}
@@ -798,9 +798,9 @@ void MHviewItem::refresh(bool force)
}
delete folders;
}
-RecBody MHviewItem::fetchBody( const RecMail &mail )
+RecBody MHviewItem::fetchBody( const RecMailP &mail )
{
qDebug( "MH fetchBody" );
return wrapper->fetchBody( mail );
}
@@ -913,15 +913,15 @@ const FolderP&MHfolderItem::getFolder()const
{
return folder;
}
-void MHfolderItem::refresh(QList<RecMail>&target)
+void MHfolderItem::refresh(QValueList<RecMailP>&target)
{
if (folder->may_select())
mbox->getWrapper()->listMessages( folder->getName(),target );
}
-RecBody MHfolderItem::fetchBody(const RecMail&aMail)
+RecBody MHfolderItem::fetchBody(const RecMailP&aMail)
{
return mbox->getWrapper()->fetchBody(aMail);
}
@@ -1041,9 +1041,9 @@ AccountViewItem::AccountViewItem( QListViewItem *parent , QListViewItem*after )
{
init();
}
-AccountViewItem::AccountViewItem( const Opie::osmart_pointer<Folder>&folderInit,QListViewItem *parent , QListViewItem*after )
+AccountViewItem::AccountViewItem( const Opie::OSmartPointer<Folder>&folderInit,QListViewItem *parent , QListViewItem*after )
:QListViewItem( parent,after ),folder(folderInit)
{
init();
}
diff --git a/noncore/net/mail/accountitem.h b/noncore/net/mail/accountitem.h
index 8f712f5..276eae0 100644
--- a/noncore/net/mail/accountitem.h
+++ b/noncore/net/mail/accountitem.h
@@ -2,9 +2,9 @@
#define __ACCOUNT_ITEM
#include <qlistview.h>
#include <qlist.h>
-#include <opie2/osmart_pointer.h>
+#include <opie2/osmartpointer.h>
class POP3wrapper;
class RecMail;
class RecBody;
@@ -23,13 +23,13 @@ class AccountViewItem : public QListViewItem
public:
AccountViewItem( AccountView *parent );
AccountViewItem( QListViewItem *parent);
AccountViewItem( QListViewItem *parent , QListViewItem*after );
- AccountViewItem( const Opie::osmart_pointer<Folder>&folderInit,QListViewItem *parent , QListViewItem*after );
+ AccountViewItem( const Opie::OSmartPointer<Folder>&folderInit,QListViewItem *parent , QListViewItem*after );
virtual ~AccountViewItem();
- virtual void refresh(QList<RecMail>&)=0;
- virtual RecBody fetchBody(const RecMail&)=0;
+ virtual void refresh(QValueList<Opie::OSmartPointer<RecMail> >&)=0;
+ virtual RecBody fetchBody(const Opie::OSmartPointer<RecMail>&)=0;
virtual QPopupMenu * getContextMenu(){return 0;};
virtual void contextMenuSelected(int){}
virtual AccountView*accountView();
virtual bool matchName(const QString&name)const;
@@ -38,22 +38,22 @@ public:
protected:
AccountViewItem*findSubItem(const QString&path,AccountViewItem*start=0);
virtual void init();
virtual void removeChilds();
- virtual void deleteAllMail(AbstractMail*wrapper,const Opie::osmart_pointer<Folder>&f);
+ virtual void deleteAllMail(AbstractMail*wrapper,const Opie::OSmartPointer<Folder>&f);
static const QString contextName;
AccountView*m_Backlink;
- Opie::osmart_pointer<Folder> folder;
+ Opie::OSmartPointer<Folder> folder;
};
class POP3viewItem : public AccountViewItem
{
public:
POP3viewItem( POP3account *a, AccountView *parent );
virtual ~POP3viewItem();
- virtual void refresh( QList<RecMail> &target );
- virtual RecBody fetchBody( const RecMail &mail );
+ virtual void refresh(QValueList<Opie::OSmartPointer<RecMail> >&target );
+ virtual RecBody fetchBody( const Opie::OSmartPointer<RecMail> &mail );
AbstractMail *getWrapper();
virtual QPopupMenu * getContextMenu();
virtual void contextMenuSelected(int);
@@ -68,12 +68,12 @@ protected:
class POP3folderItem : public AccountViewItem
{
public:
- POP3folderItem( const Opie::osmart_pointer<Folder>&folder, POP3viewItem *parent , QListViewItem*after );
+ POP3folderItem( const Opie::OSmartPointer<Folder>&folder, POP3viewItem *parent , QListViewItem*after );
virtual ~POP3folderItem();
- virtual void refresh(QList<RecMail>&);
- virtual RecBody fetchBody(const RecMail&);
+ virtual void refresh(QValueList<Opie::OSmartPointer<RecMail> >&);
+ virtual RecBody fetchBody(const Opie::OSmartPointer<RecMail>&);
virtual QPopupMenu * getContextMenu();
virtual void contextMenuSelected(int);
protected:
@@ -87,10 +87,10 @@ class NNTPviewItem : public AccountViewItem
public:
NNTPviewItem( NNTPaccount *a, AccountView *parent );
virtual ~NNTPviewItem();
- virtual void refresh( QList<RecMail> &target );
- virtual RecBody fetchBody( const RecMail &mail );
+ virtual void refresh(QValueList<Opie::OSmartPointer<RecMail> >&target );
+ virtual RecBody fetchBody( const Opie::OSmartPointer<RecMail> &mail );
AbstractMail *getWrapper();
virtual QPopupMenu * getContextMenu();
virtual void contextMenuSelected(int);
@@ -106,12 +106,12 @@ protected:
class NNTPfolderItem : public AccountViewItem
{
public:
- NNTPfolderItem(const Opie::osmart_pointer<Folder>&folder, NNTPviewItem *parent , QListViewItem*after );
+ NNTPfolderItem(const Opie::OSmartPointer<Folder>&folder, NNTPviewItem *parent , QListViewItem*after );
virtual ~NNTPfolderItem();
- virtual void refresh(QList<RecMail>&);
- virtual RecBody fetchBody(const RecMail&);
+ virtual void refresh(QValueList<Opie::OSmartPointer<RecMail> >&);
+ virtual RecBody fetchBody(const Opie::OSmartPointer<RecMail>&);
virtual QPopupMenu * getContextMenu();
virtual void contextMenuSelected(int);
protected:
@@ -126,10 +126,10 @@ class IMAPviewItem : public AccountViewItem
friend class IMAPfolderItem;
public:
IMAPviewItem( IMAPaccount *a, AccountView *parent );
virtual ~IMAPviewItem();
- virtual void refresh(QList<RecMail>&);
- virtual RecBody fetchBody(const RecMail&);
+ virtual void refresh(QValueList<Opie::OSmartPointer<RecMail> >&);
+ virtual RecBody fetchBody(const Opie::OSmartPointer<RecMail>&);
AbstractMail *getWrapper();
virtual QPopupMenu * getContextMenu();
virtual void contextMenuSelected(int);
const QStringList&subFolders();
@@ -146,13 +146,13 @@ protected:
class IMAPfolderItem : public AccountViewItem
{
public:
- IMAPfolderItem( const Opie::osmart_pointer<Folder>&folder, IMAPviewItem *parent , QListViewItem*after );
- IMAPfolderItem( const Opie::osmart_pointer<Folder>&folder, IMAPfolderItem *parent , QListViewItem*after, IMAPviewItem *master );
+ IMAPfolderItem( const Opie::OSmartPointer<Folder>&folder, IMAPviewItem *parent , QListViewItem*after );
+ IMAPfolderItem( const Opie::OSmartPointer<Folder>&folder, IMAPfolderItem *parent , QListViewItem*after, IMAPviewItem *master );
virtual ~IMAPfolderItem();
- virtual void refresh(QList<RecMail>&);
- virtual RecBody fetchBody(const RecMail&);
+ virtual void refresh(QValueList<Opie::OSmartPointer<RecMail> >&);
+ virtual RecBody fetchBody(const Opie::OSmartPointer<RecMail>&);
virtual QPopupMenu * getContextMenu();
virtual void contextMenuSelected(int);
virtual const QString& Delemiter()const;
protected:
@@ -168,10 +168,10 @@ class MHviewItem : public AccountViewItem
public:
MHviewItem( const QString&aMboxPath, AccountView *parent );
virtual ~MHviewItem();
- virtual void refresh( QList<RecMail> &target );
- virtual RecBody fetchBody( const RecMail &mail );
+ virtual void refresh(QValueList<Opie::OSmartPointer<RecMail> >&target );
+ virtual RecBody fetchBody( const Opie::OSmartPointer<RecMail> &mail );
AbstractMail *getWrapper();
virtual QPopupMenu * getContextMenu();
virtual void contextMenuSelected(int);
QStringList subFolders();
@@ -188,16 +188,16 @@ protected:
class MHfolderItem : public AccountViewItem
{
public:
- MHfolderItem( const Opie::osmart_pointer<Folder>&folder, MHviewItem *parent , QListViewItem*after );
- MHfolderItem( const Opie::osmart_pointer<Folder>&folder, MHfolderItem *parent, QListViewItem*after, MHviewItem*master);
+ MHfolderItem( const Opie::OSmartPointer<Folder>&folder, MHviewItem *parent , QListViewItem*after );
+ MHfolderItem( const Opie::OSmartPointer<Folder>&folder, MHfolderItem *parent, QListViewItem*after, MHviewItem*master);
virtual ~MHfolderItem();
- virtual void refresh(QList<RecMail>&);
- virtual RecBody fetchBody(const RecMail&);
+ virtual void refresh(QValueList<Opie::OSmartPointer<RecMail> >&);
+ virtual RecBody fetchBody(const Opie::OSmartPointer<RecMail>&);
virtual QPopupMenu * getContextMenu();
virtual void contextMenuSelected(int);
- virtual const Opie::osmart_pointer<Folder>&getFolder()const;
+ virtual const Opie::OSmartPointer<Folder>&getFolder()const;
virtual bool isDraftfolder();
protected:
void downloadMails();
diff --git a/noncore/net/mail/accountview.cpp b/noncore/net/mail/accountview.cpp
index 297f553..26107ff 100644
--- a/noncore/net/mail/accountview.cpp
+++ b/noncore/net/mail/accountview.cpp
@@ -91,32 +91,30 @@ void AccountView::refresh(QListViewItem *item)
qDebug("AccountView refresh...");
if ( item )
{
m_currentItem = item;
- QList<RecMail> headerlist;
- headerlist.setAutoDelete(true);
+ QValueList<RecMailP> headerlist;
AccountViewItem *view = static_cast<AccountViewItem *>(item);
view->refresh(headerlist);
- emit refreshMailview(&headerlist);
+ emit refreshMailview(headerlist);
}
}
void AccountView::refreshCurrent()
{
m_currentItem = currentItem();
if ( !m_currentItem ) return;
- QList<RecMail> headerlist;
- headerlist.setAutoDelete(true);
+ QValueList<RecMailP> headerlist;
AccountViewItem *view = static_cast<AccountViewItem *>(m_currentItem);
view->refresh(headerlist);
- emit refreshMailview(&headerlist);
+ emit refreshMailview(headerlist);
}
void AccountView::refreshAll()
{
}
-RecBody AccountView::fetchBody(const RecMail&aMail)
+RecBody AccountView::fetchBody(const RecMailP&aMail)
{
QListViewItem*item = selectedItem ();
if (!item) return RecBody();
AccountViewItem *view = static_cast<AccountViewItem *>(item);
diff --git a/noncore/net/mail/accountview.h b/noncore/net/mail/accountview.h
index 3478c0b..d236058 100644
--- a/noncore/net/mail/accountview.h
+++ b/noncore/net/mail/accountview.h
@@ -2,13 +2,12 @@
#define ACCOUNTVIEW_H
#include <qlistview.h>
#include <qlist.h>
-#include <opie2/osmart_pointer.h>
+#include <opie2/osmartpointer.h>
+#include <libmailwrapper/mailtypes.h>
class Selectstore;
-class RecMail;
-class RecBody;
class Folder;
class AbstractMail;
class Account;
class IMAPviewItem;
@@ -21,10 +20,10 @@ class AccountView : public QListView
public:
AccountView( QWidget *parent = 0, const char *name = 0, WFlags flags = 0 );
virtual ~AccountView();
virtual void populate( QList<Account> list );
- virtual RecBody fetchBody(const RecMail&aMail);
- virtual void downloadMails(const Opie::osmart_pointer<Folder>&fromFolder,AbstractMail*fromWrapper);
+ virtual RecBody fetchBody(const Opie::OSmartPointer<RecMail>&aMail);
+ virtual void downloadMails(const Opie::OSmartPointer<Folder>&fromFolder,AbstractMail*fromWrapper);
virtual bool currentisDraft();
public slots:
virtual void refreshAll();
@@ -34,9 +33,9 @@ public slots:
virtual void slotContextMenu(int id);
void setupFolderselect(Selectstore*sels);
signals:
- void refreshMailview(QList<RecMail>*);
+ void refreshMailview(const QValueList<RecMailP>& );
protected:
QListViewItem* m_currentItem;
QValueList<IMAPviewItem*> imapAccounts;
diff --git a/noncore/net/mail/composemail.cpp b/noncore/net/mail/composemail.cpp
index 445cc5e..74ccc7b 100644
--- a/noncore/net/mail/composemail.cpp
+++ b/noncore/net/mail/composemail.cpp
@@ -187,9 +187,9 @@ void ComposeMail::accept()
#if 0
qDebug( "Sending Mail with " +
smtpAccounts.at( smtpAccountBox->currentItem() )->getAccountName() );
#endif
- Opie::osmart_pointer<Mail> mail=new Mail;
+ Opie::OSmartPointer<Mail> mail=new Mail;
SMTPaccount *smtp = smtpAccounts.at( smtpAccountBox->currentItem() );
mail->setMail(fromBox->currentText());
@@ -235,9 +235,9 @@ void ComposeMail::reject()
tr("Yes"),
tr("No"),QString::null,0,1);
if (yesno == 0) {
- Opie::osmart_pointer<Mail> mail=new Mail();
+ Opie::OSmartPointer<Mail> mail=new Mail();
mail->setMail(fromBox->currentText());
mail->setTo( toLine->text() );
mail->setName(senderNameEdit->text());
mail->setCC( ccLine->text() );
@@ -274,17 +274,17 @@ void ComposeMail::reject()
ComposeMail::~ComposeMail()
{
}
-void ComposeMail::reEditMail(const RecMail&current)
+void ComposeMail::reEditMail(const RecMailP&current)
{
- RecMail data = current;
- message->setText(data.Wrapper()->fetchBody(current).Bodytext());
- subjectLine->setText( data.getSubject());
- toLine->setText(data.To().join(","));
- ccLine->setText(data.CC().join(","));
- bccLine->setText(data.Bcc().join(","));
- replyLine->setText(data.Replyto());
+ RecMailP data = current;
+ message->setText(data->Wrapper()->fetchBody(current).Bodytext());
+ subjectLine->setText( data->getSubject());
+ toLine->setText(data->To().join(","));
+ ccLine->setText(data->CC().join(","));
+ bccLine->setText(data->Bcc().join(","));
+ replyLine->setText(data->Replyto());
}
AttachViewItem::AttachViewItem( QListView *parent, Attachment *att )
: QListViewItem( parent )
diff --git a/noncore/net/mail/composemail.h b/noncore/net/mail/composemail.h
index 1b9fc79..c12eb30 100644
--- a/noncore/net/mail/composemail.h
+++ b/noncore/net/mail/composemail.h
@@ -8,9 +8,11 @@
#include "addresspickerui.h"
#include <libmailwrapper/settings.h>
#include <libmailwrapper/mailwrapper.h>
+class RecMail;
+#include <opie2/osmartpointer.h>
class AddressPicker : public AddressPickerUI
{
Q_OBJECT
@@ -34,9 +36,9 @@ class ComposeMail : public ComposeMailUI
public:
ComposeMail( Settings *s, QWidget *parent = 0, const char *name = 0, bool modal = false, WFlags flags = 0 );
virtual ~ComposeMail();
- void reEditMail(const RecMail&current);
+ void reEditMail(const Opie::OSmartPointer<RecMail>&current);
public slots:
void slotAdjustColumns();
diff --git a/noncore/net/mail/libmailwrapper/abstractmail.cpp b/noncore/net/mail/libmailwrapper/abstractmail.cpp
index 7e6d383..68a7a4d 100644
--- a/noncore/net/mail/libmailwrapper/abstractmail.cpp
+++ b/noncore/net/mail/libmailwrapper/abstractmail.cpp
@@ -80,9 +80,9 @@ encodedString* AbstractMail::decode_String(const encodedString*text,const QStrin
}
QString AbstractMail::convert_String(const char*text)
{
- size_t index = 0;
+ //size_t index = 0;
char*res = 0;
int err = MAILIMF_NO_ERROR;
QString result(text);
@@ -110,9 +110,9 @@ QString AbstractMail::gen_attachment_id()
return "{" + stream.read().stripWhiteSpace() + "}";
}
-int AbstractMail::createMbox(const QString&,const FolderP&,const QString& delemiter,bool)
+int AbstractMail::createMbox(const QString&,const FolderP&,const QString& ,bool)
{
return 0;
}
@@ -128,33 +128,33 @@ QString AbstractMail::draftFolder()
return QString("Drafts");
}
/* temporary - will be removed when implemented in all classes */
-void AbstractMail::deleteMails(const QString &,QList<RecMail> &)
+void AbstractMail::deleteMails(const QString &,const QValueList<Opie::OSmartPointer<RecMail> > &)
{
}
void AbstractMail::mvcpAllMails(const FolderP&fromFolder,
const QString&targetFolder,AbstractMail*targetWrapper,bool moveit)
{
- QList<RecMail> t;
+ QValueList<RecMailP> t;
listMessages(fromFolder->getName(),t);
encodedString*st = 0;
while (t.count()>0) {
- RecMail*r = t.at(0);
- st = fetchRawBody(*r);
+ RecMailP r = (*t.begin());
+ st = fetchRawBody(r);
if (st) {
targetWrapper->storeMessage(st->Content(),st->Length(),targetFolder);
delete st;
}
- t.removeFirst();
+ t.remove(t.begin());
}
if (moveit) {
deleteAllMail(fromFolder);
}
}
-void AbstractMail::mvcpMail(const RecMail&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit)
+void AbstractMail::mvcpMail(const RecMailP&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit)
{
encodedString*st = 0;
st = fetchRawBody(mail);
if (st) {
diff --git a/noncore/net/mail/libmailwrapper/abstractmail.h b/noncore/net/mail/libmailwrapper/abstractmail.h
index d911468..b03d757 100644
--- a/noncore/net/mail/libmailwrapper/abstractmail.h
+++ b/noncore/net/mail/libmailwrapper/abstractmail.h
@@ -5,13 +5,11 @@
#include "settings.h"
#include <qobject.h>
-#include <opie2/osmart_pointer.h>
+#include <opie2/osmartpointer.h>
+#include "mailtypes.h"
-class RecMail;
-class RecBody;
-class RecPart;
class IMAPwrapper;
class POP3wrapper;
class Folder;
class encodedString;
@@ -22,35 +20,35 @@ class AbstractMail:public QObject
Q_OBJECT
public:
AbstractMail(){};
virtual ~AbstractMail(){}
- virtual QValueList<Opie::osmart_pointer<Folder> >* listFolders()=0;
- virtual void listMessages(const QString & mailbox,QList<RecMail>&target )=0;
+ virtual QValueList<Opie::OSmartPointer<Folder> >* listFolders()=0;
+ virtual void listMessages(const QString & mailbox,QValueList<RecMailP>&target )=0;
virtual void statusFolder(folderStat&target_stat,const QString & mailbox="INBOX")=0;
- virtual RecBody fetchBody(const RecMail&mail)=0;
- virtual QString fetchTextPart(const RecMail&mail,const RecPart&part)=0;
- virtual encodedString* fetchDecodedPart(const RecMail&mail,const RecPart&part)=0;
- virtual encodedString* fetchRawPart(const RecMail&mail,const RecPart&part)=0;
- virtual encodedString* fetchRawBody(const RecMail&mail)=0;
+ virtual RecBody fetchBody(const RecMailP&mail)=0;
+ virtual QString fetchTextPart(const RecMailP&mail,const RecPart&part)=0;
+ virtual encodedString* fetchDecodedPart(const RecMailP&mail,const RecPart&part)=0;
+ virtual encodedString* fetchRawPart(const RecMailP&mail,const RecPart&part)=0;
+ virtual encodedString* fetchRawBody(const RecMailP&mail)=0;
- virtual void deleteMail(const RecMail&mail)=0;
- virtual void answeredMail(const RecMail&mail)=0;
- virtual int deleteAllMail(const Opie::osmart_pointer<Folder>&)=0;
- virtual void deleteMails(const QString & FolderName,QList<RecMail> &target);
- virtual int deleteMbox(const Opie::osmart_pointer<Folder>&)=0;
+ virtual void deleteMail(const RecMailP&mail)=0;
+ virtual void answeredMail(const RecMailP&mail)=0;
+ virtual int deleteAllMail(const Opie::OSmartPointer<Folder>&)=0;
+ virtual void deleteMails(const QString & FolderName,const QValueList<Opie::OSmartPointer<RecMail> >&target);
+ virtual int deleteMbox(const Opie::OSmartPointer<Folder>&)=0;
virtual void storeMessage(const char*msg,size_t length, const QString&folder)=0;
- virtual void mvcpAllMails(const Opie::osmart_pointer<Folder>&fromFolder,
+ virtual void mvcpAllMails(const Opie::OSmartPointer<Folder>&fromFolder,
const QString&targetFolder,AbstractMail*targetWrapper,bool moveit);
- virtual void mvcpMail(const RecMail&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit);
+ virtual void mvcpMail(const RecMailP&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit);
virtual void cleanMimeCache(){};
/* mail box methods */
/* parameter is the box to create.
* if the implementing subclass has prefixes,
* them has to be appended automatic.
*/
- virtual int createMbox(const QString&,const Opie::osmart_pointer<Folder>&parentfolder=0,
+ virtual int createMbox(const QString&,const Opie::OSmartPointer<Folder>&parentfolder=0,
const QString& delemiter="/",bool getsubfolder=false);
virtual void logout()=0;
static AbstractMail* getWrapper(IMAPaccount *a);
diff --git a/noncore/net/mail/libmailwrapper/generatemail.cpp b/noncore/net/mail/libmailwrapper/generatemail.cpp
index 4f7ec0c..cb7ccc0 100644
--- a/noncore/net/mail/libmailwrapper/generatemail.cpp
+++ b/noncore/net/mail/libmailwrapper/generatemail.cpp
@@ -278,9 +278,9 @@ mailimf_mailbox *Generatemail::newMailbox(const QString&name, const QString&mail
return mailimf_mailbox_new( strdup( name.latin1() ),
strdup( mail.latin1() ) );
}
-mailimf_fields *Generatemail::createImfFields(const Opie::osmart_pointer<Mail>&mail )
+mailimf_fields *Generatemail::createImfFields(const Opie::OSmartPointer<Mail>&mail )
{
mailimf_fields *fields = NULL;
mailimf_field *xmailer = NULL;
mailimf_mailbox *sender=0,*fromBox=0;
@@ -398,9 +398,9 @@ mailimf_fields *Generatemail::createImfFields(const Opie::osmart_pointer<Mail>&m
}
return fields;
}
-mailmime *Generatemail::createMimeMail(const Opie::osmart_pointer<Mail> &mail ) {
+mailmime *Generatemail::createMimeMail(const Opie::OSmartPointer<Mail> &mail ) {
mailmime *message, *txtPart;
mailimf_fields *fields;
int err;
diff --git a/noncore/net/mail/libmailwrapper/generatemail.h b/noncore/net/mail/libmailwrapper/generatemail.h
index 409a55e..c246a2a 100644
--- a/noncore/net/mail/libmailwrapper/generatemail.h
+++ b/noncore/net/mail/libmailwrapper/generatemail.h
@@ -5,9 +5,9 @@
#include <qobject.h>
#include <libetpan/clist.h>
-#include <opie2/osmart_pointer.h>
+#include <opie2/osmartpointer.h>
class Mail;
class RecMail;
class Attachment;
@@ -35,10 +35,10 @@ protected:
void addFileParts( mailmime *message,const QList<Attachment>&files );
mailmime *buildFilePart(const QString&filename,const QString&mimetype,const QString&content);
mailmime *buildTxtPart(const QString&str );
mailimf_mailbox *newMailbox(const QString&name,const QString&mail );
- mailimf_fields *createImfFields(const Opie::osmart_pointer<Mail> &mail );
- mailmime *createMimeMail(const Opie::osmart_pointer<Mail>&mail );
+ mailimf_fields *createImfFields(const Opie::OSmartPointer<Mail> &mail );
+ mailmime *createMimeMail(const Opie::OSmartPointer<Mail>&mail );
clist *createRcptList( mailimf_fields *fields );
static const char* USER_AGENT;
};
diff --git a/noncore/net/mail/libmailwrapper/genericwrapper.cpp b/noncore/net/mail/libmailwrapper/genericwrapper.cpp
index 6c8a5a1..ee2c8cd 100644
--- a/noncore/net/mail/libmailwrapper/genericwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/genericwrapper.cpp
@@ -330,25 +330,25 @@ QString Genericwrapper::parseMailboxList( mailimf_mailbox_list *list )
return result;
}
-encodedString* Genericwrapper::fetchDecodedPart(const RecMail&,const RecPart&part)
+encodedString* Genericwrapper::fetchDecodedPart(const RecMailP&,const RecPart&part)
{
QMap<QString,encodedString*>::ConstIterator it = bodyCache.find(part.Identifier());
if (it==bodyCache.end()) return new encodedString();
encodedString*t = decode_String(it.data(),part.Encoding());
return t;
}
-encodedString* Genericwrapper::fetchRawPart(const RecMail&mail,const RecPart&part)
+encodedString* Genericwrapper::fetchRawPart(const RecMailP&mail,const RecPart&part)
{
QMap<QString,encodedString*>::ConstIterator it = bodyCache.find(part.Identifier());
if (it==bodyCache.end()) return new encodedString();
encodedString*t = it.data();
return t;
}
-QString Genericwrapper::fetchTextPart(const RecMail&mail,const RecPart&part)
+QString Genericwrapper::fetchTextPart(const RecMailP&mail,const RecPart&part)
{
encodedString*t = fetchDecodedPart(mail,part);
QString text=t->Content();
delete t;
@@ -386,9 +386,9 @@ QStringList Genericwrapper::parseInreplies(mailimf_in_reply_to * in_replies)
}
return res;
}
-void Genericwrapper::parseList(QList<RecMail> &target,mailsession*session,const QString&mailbox,bool mbox_as_to)
+void Genericwrapper::parseList(QValueList<Opie::OSmartPointer<RecMail> > &target,mailsession*session,const QString&mailbox,bool mbox_as_to)
{
int r;
mailmessage_list * env_list = 0;
r = mailsession_get_messages_list(session,&env_list);
@@ -414,9 +414,9 @@ void Genericwrapper::parseList(QList<RecMail> &target,mailsession*session,const
if (msg->msg_fields == NULL) {
//qDebug("could not fetch envelope of message %i", i);
continue;
}
- RecMail * mail = new RecMail();
+ RecMailP mail = new RecMail();
mail->setWrapper(this);
mail_flags * flag_result = 0;
r = mailmessage_get_flags(msg,&flag_result);
if (r == MAIL_ERROR_NOT_IMPLEMENTED) {
diff --git a/noncore/net/mail/libmailwrapper/genericwrapper.h b/noncore/net/mail/libmailwrapper/genericwrapper.h
index d0db45a..f9968d1 100644
--- a/noncore/net/mail/libmailwrapper/genericwrapper.h
+++ b/noncore/net/mail/libmailwrapper/genericwrapper.h
@@ -33,13 +33,13 @@ class Genericwrapper : public AbstractMail
public:
Genericwrapper();
virtual ~Genericwrapper();
- virtual encodedString* fetchDecodedPart(const RecMail&mail,const RecPart&part);
- virtual encodedString* fetchRawPart(const RecMail&mail,const RecPart&part);
- virtual QString fetchTextPart(const RecMail&mail,const RecPart&part);
+ virtual encodedString* fetchDecodedPart(const RecMailP&mail,const RecPart&part);
+ virtual encodedString* fetchRawPart(const RecMailP&mail,const RecPart&part);
+ virtual QString fetchTextPart(const RecMailP&mail,const RecPart&part);
virtual void cleanMimeCache();
- virtual int deleteMbox(const Opie::osmart_pointer<Folder>&){return 1;}
+ virtual int deleteMbox(const Opie::OSmartPointer<Folder>&){return 1;}
virtual void logout(){};
virtual void storeMessage(const char*msg,size_t length, const QString&folder){};
protected:
@@ -53,9 +53,9 @@ protected:
void traverseBody(RecBody&target,mailmessage*message,mailmime*mime,QValueList<int>recList,unsigned int current_rek=0,int current_count=1);
static void fillSingleBody(RecPart&target,mailmessage*message,mailmime*mime);
static void fillParameters(RecPart&target,clist*parameters);
static QString getencoding(mailmime_mechanism*aEnc);
- virtual void parseList(QList<RecMail> &target,mailsession*session,const QString&mailbox,bool mbox_as_to=false);
+ virtual void parseList(QValueList<Opie::OSmartPointer<RecMail> > &target,mailsession*session,const QString&mailbox,bool mbox_as_to=false);
QStringList parseInreplies(mailimf_in_reply_to * in_replies);
QString msgTempName;
unsigned int last_msg_id;
diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.cpp b/noncore/net/mail/libmailwrapper/imapwrapper.cpp
index 3b3be0f..071e734 100644
--- a/noncore/net/mail/libmailwrapper/imapwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/imapwrapper.cpp
@@ -204,9 +204,9 @@ void IMAPwrapper::logout()
m_imap = 0;
m_Lastmbox = "";
}
-void IMAPwrapper::listMessages(const QString&mailbox,QList<RecMail> &target )
+void IMAPwrapper::listMessages(const QString&mailbox,QValueList<Opie::OSmartPointer<RecMail> > &target )
{
int err = MAILIMAP_NO_ERROR;
clist *result = 0;
clistcell *current;
@@ -265,9 +265,9 @@ void IMAPwrapper::listMessages(const QString&mailbox,QList<RecMail> &target )
}
if (result) mailimap_fetch_list_free(result);
}
-QValueList<Opie::osmart_pointer<Folder> >* IMAPwrapper::listFolders()
+QValueList<Opie::OSmartPointer<Folder> >* IMAPwrapper::listFolders()
{
const char *path, *mask;
int err = MAILIMAP_NO_ERROR;
clist *result = 0;
@@ -481,9 +481,9 @@ RecMail*IMAPwrapper::parse_list_result(mailimap_msg_att* m_att)
}
return m;
}
-RecBody IMAPwrapper::fetchBody(const RecMail&mail)
+RecBody IMAPwrapper::fetchBody(const RecMailP&mail)
{
RecBody body;
const char *mb;
int err = MAILIMAP_NO_ERROR;
@@ -493,21 +493,21 @@ RecBody IMAPwrapper::fetchBody(const RecMail&mail)
mailimap_fetch_type *fetchType = 0;
mailimap_set *set = 0;
mailimap_body*body_desc = 0;
- mb = mail.getMbox().latin1();
+ mb = mail->getMbox().latin1();
login();
if (!m_imap) {
return body;
}
- err = selectMbox(mail.getMbox());
+ err = selectMbox(mail->getMbox());
if ( err != MAILIMAP_NO_ERROR ) {
return body;
}
/* the range has to start at 1!!! not with 0!!!! */
- set = mailimap_set_new_interval( mail.getNumber(),mail.getNumber() );
+ set = mailimap_set_new_interval( mail->getNumber(),mail->getNumber() );
fetchAtt = mailimap_fetch_att_new_bodystructure();
fetchType = mailimap_fetch_type_new_fetch_att(fetchAtt);
err = mailimap_fetch( m_imap, set, fetchType, &result );
mailimap_set_free( set );
@@ -567,9 +567,9 @@ QStringList IMAPwrapper::address_list_to_stringlist(clist*list)
}
return l;
}
-encodedString*IMAPwrapper::fetchRawPart(const RecMail&mail,const QValueList<int>&path,bool internal_call)
+encodedString*IMAPwrapper::fetchRawPart(const RecMailP&mail,const QValueList<int>&path,bool internal_call)
{
encodedString*res=new encodedString;
int err;
mailimap_fetch_type *fetchType;
@@ -584,14 +584,14 @@ encodedString*IMAPwrapper::fetchRawPart(const RecMail&mail,const QValueList<int>
if (!m_imap) {
return res;
}
if (!internal_call) {
- err = selectMbox(mail.getMbox());
+ err = selectMbox(mail->getMbox());
if ( err != MAILIMAP_NO_ERROR ) {
return res;
}
}
- set = mailimap_set_new_single(mail.getNumber());
+ set = mailimap_set_new_single(mail->getNumber());
clist*id_list = 0;
/* if path == empty then its a request for the whole rfc822 mail and generates
@@ -640,9 +640,9 @@ encodedString*IMAPwrapper::fetchRawPart(const RecMail&mail,const QValueList<int>
}
/* current_recursion is for recursive calls.
current_count means the position inside the internal loop! */
-void IMAPwrapper::traverseBody(const RecMail&mail,mailimap_body*body,RecBody&target_body,
+void IMAPwrapper::traverseBody(const RecMailP&mail,mailimap_body*body,RecBody&target_body,
int current_recursion,QValueList<int>recList,int current_count)
{
if (!body || current_recursion>=10) {
return;
@@ -868,9 +868,9 @@ void IMAPwrapper::fillBodyFields(RecPart&target_part,mailimap_body_fields*which)
target_part.setEncoding(encoding);
target_part.setSize(which->bd_size);
}
-void IMAPwrapper::deleteMail(const RecMail&mail)
+void IMAPwrapper::deleteMail(const RecMailP&mail)
{
mailimap_flag_list*flist;
mailimap_set *set;
mailimap_store_att_flags * store_flags;
@@ -878,16 +878,16 @@ void IMAPwrapper::deleteMail(const RecMail&mail)
login();
if (!m_imap) {
return;
}
- err = selectMbox(mail.getMbox());
+ 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());
+ 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);
@@ -903,9 +903,9 @@ void IMAPwrapper::deleteMail(const RecMail&mail)
}
qDebug("Delete successfull %s",m_imap->imap_response);
}
-void IMAPwrapper::answeredMail(const RecMail&mail)
+void IMAPwrapper::answeredMail(const RecMailP&mail)
{
mailimap_flag_list*flist;
mailimap_set *set;
mailimap_store_att_flags * store_flags;
@@ -913,16 +913,16 @@ void IMAPwrapper::answeredMail(const RecMail&mail)
login();
if (!m_imap) {
return;
}
- err = selectMbox(mail.getMbox());
+ err = selectMbox(mail->getMbox());
if ( err != MAILIMAP_NO_ERROR ) {
return;
}
flist = mailimap_flag_list_new_empty();
mailimap_flag_list_add(flist,mailimap_flag_new_answered());
store_flags = mailimap_store_att_flags_new_add_flags(flist);
- set = mailimap_set_new_single(mail.getNumber());
+ 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);
@@ -931,9 +931,9 @@ void IMAPwrapper::answeredMail(const RecMail&mail)
return;
}
}
-QString IMAPwrapper::fetchTextPart(const RecMail&mail,const QValueList<int>&path,bool internal_call,const QString&enc)
+QString IMAPwrapper::fetchTextPart(const RecMailP&mail,const QValueList<int>&path,bool internal_call,const QString&enc)
{
QString body("");
encodedString*res = fetchRawPart(mail,path,internal_call);
encodedString*r = decode_String(res,enc);
@@ -946,22 +946,22 @@ QString IMAPwrapper::fetchTextPart(const RecMail&mail,const QValueList<int>&path
}
return body;
}
-QString IMAPwrapper::fetchTextPart(const RecMail&mail,const RecPart&part)
+QString IMAPwrapper::fetchTextPart(const RecMailP&mail,const RecPart&part)
{
return fetchTextPart(mail,part.Positionlist(),false,part.Encoding());
}
-encodedString* IMAPwrapper::fetchDecodedPart(const RecMail&mail,const RecPart&part)
+encodedString* IMAPwrapper::fetchDecodedPart(const RecMailP&mail,const RecPart&part)
{
encodedString*res = fetchRawPart(mail,part.Positionlist(),false);
encodedString*r = decode_String(res,part.Encoding());
delete res;
return r;
}
-encodedString* IMAPwrapper::fetchRawPart(const RecMail&mail,const RecPart&part)
+encodedString* IMAPwrapper::fetchRawPart(const RecMailP&mail,const RecPart&part)
{
return fetchRawPart(mail,part.Positionlist(),false);
}
@@ -1054,9 +1054,8 @@ void IMAPwrapper::statusFolder(folderStat&target_stat,const QString & mailbox)
mailimap_status_att_list * att_list =0;
mailimap_mailbox_data_status * status=0;
clistiter * cur = 0;
int r = 0;
- int res = 0;
target_stat.message_count = 0;
target_stat.message_unseen = 0;
target_stat.message_recent = 0;
login();
@@ -1114,9 +1113,9 @@ const QString&IMAPwrapper::getName()const
qDebug("Get name: %s",account->getAccountName().latin1());
return account->getAccountName();
}
-encodedString* IMAPwrapper::fetchRawBody(const RecMail&mail)
+encodedString* IMAPwrapper::fetchRawBody(const RecMailP&mail)
{
// dummy
QValueList<int> path;
return fetchRawPart(mail,path,false);
@@ -1153,9 +1152,9 @@ void IMAPwrapper::mvcpAllMails(const FolderP&fromFolder,
deleteAllMail(fromFolder);
}
}
-void IMAPwrapper::mvcpMail(const RecMail&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit)
+void IMAPwrapper::mvcpMail(const RecMailP&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit)
{
if (targetWrapper != this) {
qDebug("Using generic");
AbstractMail::mvcpMail(mail,targetFolder,targetWrapper,moveit);
@@ -1165,13 +1164,13 @@ void IMAPwrapper::mvcpMail(const RecMail&mail,const QString&targetFolder,Abstrac
login();
if (!m_imap) {
return;
}
- int err = selectMbox(mail.getMbox());
+ int err = selectMbox(mail->getMbox());
if ( err != MAILIMAP_NO_ERROR ) {
return;
}
- set = mailimap_set_new_single(mail.getNumber());
+ set = mailimap_set_new_single(mail->getNumber());
err = mailimap_copy(m_imap,set,targetFolder.latin1());
mailimap_set_free( set );
if ( err != MAILIMAP_NO_ERROR ) {
QString error_msg = tr("error copy mail: %1").arg(m_imap->imap_response);
diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.h b/noncore/net/mail/libmailwrapper/imapwrapper.h
index 15f049f..3bd5967 100644
--- a/noncore/net/mail/libmailwrapper/imapwrapper.h
+++ b/noncore/net/mail/libmailwrapper/imapwrapper.h
@@ -22,29 +22,29 @@ class IMAPwrapper : public AbstractMail
Q_OBJECT
public:
IMAPwrapper( IMAPaccount *a );
virtual ~IMAPwrapper();
- virtual QValueList<Opie::osmart_pointer<Folder> >* listFolders();
- virtual void listMessages(const QString & mailbox,QList<RecMail>&target );
+ virtual QValueList<Opie::OSmartPointer<Folder> >* listFolders();
+ virtual void listMessages(const QString & mailbox,QValueList<Opie::OSmartPointer<RecMail> >&target );
virtual void statusFolder(folderStat&target_stat,const QString & mailbox="INBOX");
- virtual void deleteMail(const RecMail&mail);
- virtual void answeredMail(const RecMail&mail);
- virtual int deleteAllMail(const Opie::osmart_pointer<Folder>&folder);
+ virtual void deleteMail(const RecMailP&mail);
+ virtual void answeredMail(const RecMailP&mail);
+ virtual int deleteAllMail(const Opie::OSmartPointer<Folder>&folder);
virtual void storeMessage(const char*msg,size_t length, const QString&folder);
- virtual void mvcpAllMails(const Opie::osmart_pointer<Folder>&fromFolder,
+ virtual void mvcpAllMails(const Opie::OSmartPointer<Folder>&fromFolder,
const QString&targetFolder,AbstractMail*targetWrapper,bool moveit);
- virtual void mvcpMail(const RecMail&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit);
+ virtual void mvcpMail(const RecMailP&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit);
- virtual RecBody fetchBody(const RecMail&mail);
- virtual QString fetchTextPart(const RecMail&mail,const RecPart&part);
- virtual encodedString* fetchDecodedPart(const RecMail&mail,const RecPart&part);
- virtual encodedString* fetchRawPart(const RecMail&mail,const RecPart&part);
- virtual encodedString* fetchRawBody(const RecMail&mail);
+ virtual RecBody fetchBody(const RecMailP&mail);
+ virtual QString fetchTextPart(const RecMailP&mail,const RecPart&part);
+ virtual encodedString* fetchDecodedPart(const RecMailP&mail,const RecPart&part);
+ virtual encodedString* fetchRawPart(const RecMailP&mail,const RecPart&part);
+ virtual encodedString* fetchRawBody(const RecMailP&mail);
- virtual int createMbox(const QString&,const Opie::osmart_pointer<Folder>&parentfolder=0,
+ virtual int createMbox(const QString&,const Opie::OSmartPointer<Folder>&parentfolder=0,
const QString& delemiter="/",bool getsubfolder=false);
- virtual int deleteMbox(const Opie::osmart_pointer<Folder>&folder);
+ virtual int deleteMbox(const Opie::OSmartPointer<Folder>&folder);
static void imap_progress( size_t current, size_t maximum );
virtual void logout();
@@ -55,18 +55,18 @@ protected:
RecMail*parse_list_result(mailimap_msg_att*);
void login();
bool start_tls(bool force=true);
- virtual QString fetchTextPart(const RecMail&mail,const QValueList<int>&path,bool internal_call=false,const QString&enc="");
- virtual encodedString*fetchRawPart(const RecMail&mail,const QValueList<int>&path,bool internal_call);
+ virtual QString fetchTextPart(const RecMailP&mail,const QValueList<int>&path,bool internal_call=false,const QString&enc="");
+ virtual encodedString*fetchRawPart(const RecMailP&mail,const QValueList<int>&path,bool internal_call);
int selectMbox(const QString&mbox);
void fillSinglePart(RecPart&target_part,mailimap_body_type_1part*Description);
void fillSingleTextPart(RecPart&target_part,mailimap_body_type_text*which);
void fillSingleBasicPart(RecPart&target_part,mailimap_body_type_basic*which);
void fillSingleMsgPart(RecPart&target_part,mailimap_body_type_msg*which);
void fillMultiPart(RecPart&target_part,mailimap_body_type_mpart*which);
- void traverseBody(const RecMail&mail,mailimap_body*body,RecBody&target_body,int current_recursion,QValueList<int>recList,int current_count=1);
+ void traverseBody(const RecMailP&mail,mailimap_body*body,RecBody&target_body,int current_recursion,QValueList<int>recList,int current_count=1);
/* just helpers */
static void fillBodyFields(RecPart&target_part,mailimap_body_fields*which);
static QStringList address_list_to_stringlist(clist*list);
diff --git a/noncore/net/mail/libmailwrapper/mailtypes.cpp b/noncore/net/mail/libmailwrapper/mailtypes.cpp
index 49b3caa..7dd7e58 100644
--- a/noncore/net/mail/libmailwrapper/mailtypes.cpp
+++ b/noncore/net/mail/libmailwrapper/mailtypes.cpp
@@ -1,15 +1,15 @@
#include "mailtypes.h"
#include <stdlib.h>
RecMail::RecMail()
- :subject(""),date(""),from(""),mbox(""),msg_id(""),msg_number(0),msg_size(0),msg_flags(7)
+ :Opie::ORefCount(),subject(""),date(""),from(""),mbox(""),msg_id(""),msg_number(0),msg_size(0),msg_flags(7)
{
init();
}
RecMail::RecMail(const RecMail&old)
- :subject(""),date(""),from(""),mbox(""),msg_id(""),msg_number(0),msg_flags(7)
+ :Opie::ORefCount(),subject(""),date(""),from(""),mbox(""),msg_id(""),msg_number(0),msg_flags(7)
{
init();
copy_old(old);
qDebug("Copy constructor RecMail");
diff --git a/noncore/net/mail/libmailwrapper/mailtypes.h b/noncore/net/mail/libmailwrapper/mailtypes.h
index 10d367f..dc10de6 100644
--- a/noncore/net/mail/libmailwrapper/mailtypes.h
+++ b/noncore/net/mail/libmailwrapper/mailtypes.h
@@ -7,8 +7,10 @@
#define FLAG_SEEN 3
#define FLAG_DRAFT 4
#define FLAG_RECENT 5
+#include <opie2/osmartpointer.h>
+
#include <qbitarray.h>
#include <qstring.h>
#include <qstringlist.h>
#include <qmap.h>
@@ -26,17 +28,17 @@ class AbstractMail;
So there is no interface "const QString&body()" but you should
make a request to the mailwrapper with this class as parameter to
get the body. Same words for the attachments.
*/
-class RecMail
+class RecMail:public Opie::ORefCount
{
public:
RecMail();
RecMail(const RecMail&old);
virtual ~RecMail();
- const int getNumber()const{return msg_number;}
- void setNumber(int number){msg_number=number;}
+ const unsigned int getNumber()const{return msg_number;}
+ void setNumber(unsigned int number){msg_number=number;}
const QString&getDate()const{ return date; }
void setDate( const QString&a ) { date = a; }
const QString&getFrom()const{ return from; }
void setFrom( const QString&a ) { from = a; }
@@ -47,10 +49,10 @@ public:
void setMsgid(const QString&id){msg_id=id;}
const QString&Msgid()const{return msg_id;}
void setReplyto(const QString&reply){replyto=reply;}
const QString&Replyto()const{return replyto;}
- void setMsgsize(int size){msg_size = size;}
- const int Msgsize()const{return msg_size;}
+ void setMsgsize(unsigned int size){msg_size = size;}
+ const unsigned int Msgsize()const{return msg_size;}
void setTo(const QStringList&list);
const QStringList&To()const;
@@ -70,16 +72,17 @@ public:
AbstractMail* Wrapper();
protected:
QString subject,date,from,mbox,msg_id,replyto;
- int msg_number,msg_size;
+ unsigned int msg_number,msg_size;
QBitArray msg_flags;
QStringList to,cc,bcc,in_reply_to,references;
AbstractMail*wrapper;
void init();
void copy_old(const RecMail&old);
};
+typedef Opie::OSmartPointer<RecMail> RecMailP;
typedef QMap<QString,QString> part_plist_t;
class RecPart
{
diff --git a/noncore/net/mail/libmailwrapper/mailwrapper.cpp b/noncore/net/mail/libmailwrapper/mailwrapper.cpp
index c71d69f..9bf2fd3 100644
--- a/noncore/net/mail/libmailwrapper/mailwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/mailwrapper.cpp
@@ -154,9 +154,9 @@ QString IMAPFolder::decodeFolderName( const QString &name )
return QString::fromUtf8( dst.data() );
}
Mail::Mail()
- :Opie::oref_count(),name(""), mail(""), to(""), cc(""), bcc(""), reply(""), subject(""), message("")
+ :Opie::ORefCount(),name(""), mail(""), to(""), cc(""), bcc(""), reply(""), subject(""), message("")
{
}
MHFolder::MHFolder(const QString&disp_name,const QString&mbox)
diff --git a/noncore/net/mail/libmailwrapper/mailwrapper.h b/noncore/net/mail/libmailwrapper/mailwrapper.h
index 3b3bb32..6bf0078 100644
--- a/noncore/net/mail/libmailwrapper/mailwrapper.h
+++ b/noncore/net/mail/libmailwrapper/mailwrapper.h
@@ -7,9 +7,9 @@
#include <qdatetime.h>
#include "settings.h"
-#include <opie2/osmart_pointer.h>
+#include <opie2/osmartpointer.h>
class Attachment
{
public:
@@ -27,9 +27,9 @@ protected:
int size;
};
-class Mail:public Opie::oref_count
+class Mail:public Opie::ORefCount
{
public:
Mail();
/* Possible that this destructor must not be declared virtual
@@ -65,9 +65,9 @@ private:
QString name, mail, to, cc, bcc, reply, subject, message;
QStringList m_in_reply_to;
};
-class Folder:public Opie::oref_count
+class Folder:public Opie::ORefCount
{
public:
Folder( const QString&init_name,const QString&sep );
virtual ~Folder();
@@ -81,9 +81,9 @@ public:
protected:
QString nameDisplay, name, separator,prefix;
};
-typedef Opie::osmart_pointer<Folder> FolderP;
+typedef Opie::OSmartPointer<Folder> FolderP;
class MHFolder : public Folder
{
public:
diff --git a/noncore/net/mail/libmailwrapper/mboxwrapper.cpp b/noncore/net/mail/libmailwrapper/mboxwrapper.cpp
index 9ff3de2..5e6b714 100644
--- a/noncore/net/mail/libmailwrapper/mboxwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/mboxwrapper.cpp
@@ -18,9 +18,9 @@ MBOXwrapper::MBOXwrapper(const QString & mbox_dir,const QString&mbox_name)
MBOXwrapper::~MBOXwrapper()
{
}
-void MBOXwrapper::listMessages(const QString & mailbox, QList<RecMail> &target )
+void MBOXwrapper::listMessages(const QString & mailbox, QValueList<RecMailP> &target )
{
mailstorage*storage = mailstorage_new(NULL);
QString p = MBOXPath+"/";
p+=mailbox;
@@ -43,11 +43,11 @@ void MBOXwrapper::listMessages(const QString & mailbox, QList<RecMail> &target )
mailstorage_free(storage);
Global::statusMessage(tr("Mailbox has %1 mail(s)").arg(target.count()));
}
-QValueList<Opie::osmart_pointer<Folder> >* MBOXwrapper::listFolders()
+QValueList<Opie::OSmartPointer<Folder> >* MBOXwrapper::listFolders()
{
- QValueList<Opie::osmart_pointer<Folder> >* folders = new QValueList<Opie::osmart_pointer<Folder> >();
+ QValueList<Opie::OSmartPointer<Folder> >* folders = new QValueList<Opie::OSmartPointer<Folder> >();
QDir dir(MBOXPath);
if (!dir.exists()) return folders;
dir.setFilter(QDir::Files|QDir::Writable|QDir::Readable);
QStringList entries = dir.entryList();
@@ -58,13 +58,13 @@ QValueList<Opie::osmart_pointer<Folder> >* MBOXwrapper::listFolders()
}
return folders;
}
-void MBOXwrapper::deleteMail(const RecMail&mail)
+void MBOXwrapper::deleteMail(const RecMailP & mail)
{
mailstorage*storage = mailstorage_new(NULL);
QString p = MBOXPath+"/";
- p+=mail.getMbox();
+ p+=mail->getMbox();
int r = mbox_mailstorage_init(storage,(char*)p.latin1(),0,0,0);
mailfolder*folder;
folder = mailfolder_new( storage,(char*)p.latin1(),NULL);
r = mailfolder_connect(folder);
@@ -73,26 +73,26 @@ void MBOXwrapper::deleteMail(const RecMail&mail)
mailfolder_free(folder);
mailstorage_free(storage);
return;
}
- r = mailsession_remove_message(folder->fld_session,mail.getNumber());
+ r = mailsession_remove_message(folder->fld_session,mail->getNumber());
if (r != MAIL_NO_ERROR) {
qDebug("error deleting mail");
}
mailfolder_free(folder);
mailstorage_free(storage);
}
-void MBOXwrapper::answeredMail(const RecMail&)
+void MBOXwrapper::answeredMail(const RecMailP&)
{
}
-RecBody MBOXwrapper::fetchBody( const RecMail &mail )
+RecBody MBOXwrapper::fetchBody( const RecMailP &mail )
{
RecBody body;
mailstorage*storage = mailstorage_new(NULL);
QString p = MBOXPath+"/";
- p+=mail.getMbox();
+ p+=mail->getMbox();
mailmessage * msg;
char*data=0;
size_t size;
@@ -105,18 +105,18 @@ RecBody MBOXwrapper::fetchBody( const RecMail &mail )
mailfolder_free(folder);
mailstorage_free(storage);
return body;
}
- r = mailsession_get_message(folder->fld_session, mail.getNumber(), &msg);
+ r = mailsession_get_message(folder->fld_session, mail->getNumber(), &msg);
if (r != MAIL_NO_ERROR) {
- qDebug("Error fetching mail %i",mail.getNumber());
+ qDebug("Error fetching mail %i",mail->getNumber());
mailfolder_free(folder);
mailstorage_free(storage);
return body;
}
r = mailmessage_fetch(msg,&data,&size);
if (r != MAIL_NO_ERROR) {
- qDebug("Error fetching mail %i",mail.getNumber());
+ qDebug("Error fetching mail %i",mail->getNumber());
mailfolder_free(folder);
mailstorage_free(storage);
mailmessage_free(msg);
return body;
@@ -168,14 +168,14 @@ void MBOXwrapper::storeMessage(const char*msg,size_t length, const QString&folde
}
mailmbox_done(f);
}
-encodedString* MBOXwrapper::fetchRawBody(const RecMail&mail)
+encodedString* MBOXwrapper::fetchRawBody(const RecMailP&mail)
{
RecBody body;
mailstorage*storage = mailstorage_new(NULL);
QString p = MBOXPath+"/";
- p+=mail.getMbox();
+ p+=mail->getMbox();
mailmessage * msg;
char*data=0;
size_t size;
@@ -188,18 +188,18 @@ encodedString* MBOXwrapper::fetchRawBody(const RecMail&mail)
mailfolder_free(folder);
mailstorage_free(storage);
return 0;
}
- r = mailsession_get_message(folder->fld_session, mail.getNumber(), &msg);
+ r = mailsession_get_message(folder->fld_session, mail->getNumber(), &msg);
if (r != MAIL_NO_ERROR) {
- Global::statusMessage(tr("Error fetching mail %i").arg(mail.getNumber()));
+ Global::statusMessage(tr("Error fetching mail %i").arg(mail->getNumber()));
mailfolder_free(folder);
mailstorage_free(storage);
return 0;
}
r = mailmessage_fetch(msg,&data,&size);
if (r != MAIL_NO_ERROR) {
- Global::statusMessage(tr("Error fetching mail %i").arg(mail.getNumber()));
+ Global::statusMessage(tr("Error fetching mail %i").arg(mail->getNumber()));
mailfolder_free(folder);
mailstorage_free(storage);
mailmessage_free(msg);
return 0;
@@ -211,9 +211,9 @@ encodedString* MBOXwrapper::fetchRawBody(const RecMail&mail)
mailmessage_free(msg);
return result;
}
-void MBOXwrapper::deleteMails(const QString & mailbox,QList<RecMail> &target)
+void MBOXwrapper::deleteMails(const QString & mailbox,const QValueList<RecMailP> &target)
{
QString p = MBOXPath+"/";
p+=mailbox;
mailmbox_folder*f = 0;
@@ -225,14 +225,15 @@ void MBOXwrapper::deleteMails(const QString & mailbox,QList<RecMail> &target)
deleteMails(f,target);
mailmbox_done(f);
}
-void MBOXwrapper::deleteMails(mailmbox_folder*f,QList<RecMail> &target)
+void MBOXwrapper::deleteMails(mailmbox_folder*f,const QValueList<RecMailP> &target)
{
if (!f) return;
int r;
- for (unsigned int i=0; i < target.count();++i) {
- r = mailmbox_delete_msg(f,target.at(i)->getNumber());
+ QValueList<RecMailP>::ConstIterator it;
+ for (it=target.begin(); it != target.end();++it) {
+ r = mailmbox_delete_msg(f,(*it)->getNumber());
if (r!=MAILMBOX_NO_ERROR) {
qDebug("error delete mail");
}
}
diff --git a/noncore/net/mail/libmailwrapper/mboxwrapper.h b/noncore/net/mail/libmailwrapper/mboxwrapper.h
index c3d9b50..33eeb1e 100644
--- a/noncore/net/mail/libmailwrapper/mboxwrapper.h
+++ b/noncore/net/mail/libmailwrapper/mboxwrapper.h
@@ -3,10 +3,8 @@
#include "genericwrapper.h"
#include <qstring.h>
-class RecMail;
-class RecBody;
class encodedString;
struct mailmbox_folder;
class MBOXwrapper : public Genericwrapper
@@ -16,32 +14,32 @@ class MBOXwrapper : public Genericwrapper
public:
MBOXwrapper(const QString & dir,const QString&name);
virtual ~MBOXwrapper();
- virtual void listMessages(const QString & mailbox, QList<RecMail> &target );
- virtual QValueList<Opie::osmart_pointer<Folder> >* listFolders();
+ virtual void listMessages(const QString & mailbox, QValueList<RecMailP>&target );
+ virtual QValueList<Opie::OSmartPointer<Folder> >* listFolders();
virtual void statusFolder(folderStat&target_stat,const QString & mailbox="INBOX");
- virtual void deleteMail(const RecMail&mail);
- virtual void answeredMail(const RecMail&mail);
+ virtual void deleteMail(const RecMailP&mail);
+ virtual void answeredMail(const RecMailP&mail);
- virtual int createMbox(const QString&folder,const Opie::osmart_pointer<Folder>&f=0,
+ virtual int createMbox(const QString&folder,const Opie::OSmartPointer<Folder>&f=0,
const QString&d="",bool s=false);
- virtual int deleteMbox(const Opie::osmart_pointer<Folder>&);
+ virtual int deleteMbox(const Opie::OSmartPointer<Folder>&);
virtual void storeMessage(const char*msg,size_t length, const QString&folder);
- virtual RecBody fetchBody( const RecMail &mail );
+ virtual RecBody fetchBody( const RecMailP &mail );
static void mbox_progress( size_t current, size_t maximum );
- virtual encodedString* fetchRawBody(const RecMail&mail);
- virtual void deleteMails(const QString & FolderName,QList<RecMail> &target);
- virtual int deleteAllMail(const Opie::osmart_pointer<Folder>&);
+ virtual encodedString* fetchRawBody(const RecMailP&mail);
+ virtual void deleteMails(const QString & FolderName,const QValueList<RecMailP> &target);
+ virtual int deleteAllMail(const Opie::OSmartPointer<Folder>&);
virtual MAILLIB::ATYPE getType()const;
virtual const QString&getName()const;
protected:
- static void deleteMails(mailmbox_folder*f,QList<RecMail> &target);
+ static void deleteMails(mailmbox_folder*f,const QValueList<RecMailP> &target);
QString MBOXPath;
QString MBOXName;
};
diff --git a/noncore/net/mail/libmailwrapper/mhwrapper.cpp b/noncore/net/mail/libmailwrapper/mhwrapper.cpp
index aaaa20a..0b00a2e 100644
--- a/noncore/net/mail/libmailwrapper/mhwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/mhwrapper.cpp
@@ -59,9 +59,9 @@ MHwrapper::~MHwrapper()
{
clean_storage();
}
-void MHwrapper::listMessages(const QString & mailbox, QList<RecMail> &target )
+void MHwrapper::listMessages(const QString & mailbox, QValueList<Opie::OSmartPointer<RecMail> > &target )
{
init_storage();
if (!m_storage) {
return;
@@ -75,11 +75,11 @@ void MHwrapper::listMessages(const QString & mailbox, QList<RecMail> &target )
parseList(target,m_storage->sto_session,f);
Global::statusMessage(tr("Mailbox has %1 mail(s)").arg(target.count()));
}
-QValueList<Opie::osmart_pointer<Folder> >* MHwrapper::listFolders()
+QValueList<Opie::OSmartPointer<Folder> >* MHwrapper::listFolders()
{
- QValueList<Opie::osmart_pointer<Folder> >* folders = new QValueList<Opie::osmart_pointer<Folder> >();
+ QValueList<Opie::OSmartPointer<Folder> >* folders = new QValueList<Opie::OSmartPointer<Folder> >();
/* this is needed! */
if (m_storage) mailstorage_disconnect(m_storage);
init_storage();
if (!m_storage) {
@@ -100,48 +100,47 @@ QValueList<Opie::osmart_pointer<Folder> >* MHwrapper::listFolders()
mail_list_free(flist);
return folders;
}
-void MHwrapper::deleteMail(const RecMail&mail)
+void MHwrapper::deleteMail(const RecMailP&mail)
{
init_storage();
if (!m_storage) {
return;
}
- int r = mailsession_select_folder(m_storage->sto_session,(char*)mail.getMbox().latin1());
+ int r = mailsession_select_folder(m_storage->sto_session,(char*)mail->getMbox().latin1());
if (r!=MAIL_NO_ERROR) {
qDebug("error selecting folder!");
return;
}
- r = mailsession_remove_message(m_storage->sto_session,mail.getNumber());
+ r = mailsession_remove_message(m_storage->sto_session,mail->getNumber());
if (r != MAIL_NO_ERROR) {
qDebug("error deleting mail");
}
}
-void MHwrapper::answeredMail(const RecMail&)
+void MHwrapper::answeredMail(const RecMailP&)
{
}
-RecBody MHwrapper::fetchBody( const RecMail &mail )
+RecBody MHwrapper::fetchBody( const RecMailP &mail )
{
RecBody body;
init_storage();
if (!m_storage) {
return body;
}
mailmessage * msg;
char*data=0;
- size_t size;
/* mail should hold the complete path! */
- int r = mailsession_select_folder(m_storage->sto_session,(char*)mail.getMbox().latin1());
+ int r = mailsession_select_folder(m_storage->sto_session,(char*)mail->getMbox().latin1());
if (r != MAIL_NO_ERROR) {
return body;
}
- r = mailsession_get_message(m_storage->sto_session, mail.getNumber(), &msg);
+ r = mailsession_get_message(m_storage->sto_session, mail->getNumber(), &msg);
if (r != MAIL_NO_ERROR) {
- qDebug("Error fetching mail %i",mail.getNumber());
+ qDebug("Error fetching mail %i",mail->getNumber());
return body;
}
body = parseMail(msg);
mailmessage_fetch_result_free(msg,data);
@@ -211,9 +210,9 @@ void MHwrapper::storeMessage(const char*msg,size_t length, const QString&Folder)
}
return;
}
-encodedString* MHwrapper::fetchRawBody(const RecMail&mail)
+encodedString* MHwrapper::fetchRawBody(const RecMailP&mail)
{
encodedString*result = 0;
init_storage();
if (!m_storage) {
@@ -221,41 +220,40 @@ encodedString* MHwrapper::fetchRawBody(const RecMail&mail)
}
mailmessage * msg = 0;
char*data=0;
size_t size;
- int r = mailsession_select_folder(m_storage->sto_session,(char*)mail.getMbox().latin1());
+ int r = mailsession_select_folder(m_storage->sto_session,(char*)mail->getMbox().latin1());
if (r!=MAIL_NO_ERROR) {
qDebug("error selecting folder!");
return result;
}
- r = mailsession_get_message(m_storage->sto_session, mail.getNumber(), &msg);
+ r = mailsession_get_message(m_storage->sto_session, mail->getNumber(), &msg);
if (r != MAIL_NO_ERROR) {
- Global::statusMessage(tr("Error fetching mail %i").arg(mail.getNumber()));
+ Global::statusMessage(tr("Error fetching mail %i").arg(mail->getNumber()));
return 0;
}
r = mailmessage_fetch(msg,&data,&size);
if (r != MAIL_NO_ERROR) {
- Global::statusMessage(tr("Error fetching mail %i").arg(mail.getNumber()));
+ Global::statusMessage(tr("Error fetching mail %i").arg(mail->getNumber()));
if (msg) mailmessage_free(msg);
return 0;
}
result = new encodedString(data,size);
if (msg) mailmessage_free(msg);
return result;
}
-void MHwrapper::deleteMails(const QString & mailbox,QList<RecMail> &target)
+void MHwrapper::deleteMails(const QString & mailbox,const QValueList<RecMailP> &target)
{
QString f = buildPath(mailbox);
int r = mailsession_select_folder(m_storage->sto_session,(char*)f.latin1());
if (r!=MAIL_NO_ERROR) {
qDebug("deleteMails: error selecting folder!");
return;
}
- RecMail*c = 0;
- for (unsigned int i=0; i < target.count();++i) {
- c = target.at(i);
- r = mailsession_remove_message(m_storage->sto_session,c->getNumber());
+ QValueList<RecMailP>::ConstIterator it;
+ for (it=target.begin(); it!=target.end();++it) {
+ r = mailsession_remove_message(m_storage->sto_session,(*it)->getNumber());
if (r != MAIL_NO_ERROR) {
qDebug("error deleting mail");
break;
}
@@ -371,9 +369,9 @@ MAILLIB::ATYPE MHwrapper::getType()const
const QString&MHwrapper::getName()const
{
return MHName;
}
-void MHwrapper::mvcpMail(const RecMail&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit)
+void MHwrapper::mvcpMail(const RecMailP&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit)
{
init_storage();
if (!m_storage) {
return;
@@ -384,17 +382,17 @@ void MHwrapper::mvcpMail(const RecMail&mail,const QString&targetFolder,AbstractM
return;
}
qDebug("Using internal routines for move/copy");
QString tf = buildPath(targetFolder);
- int r = mailsession_select_folder(m_storage->sto_session,(char*)mail.getMbox().latin1());
+ int r = mailsession_select_folder(m_storage->sto_session,(char*)mail->getMbox().latin1());
if (r != MAIL_NO_ERROR) {
qDebug("Error selecting source mailbox");
return;
}
if (moveit) {
- r = mailsession_move_message(m_storage->sto_session,mail.getNumber(),(char*)tf.latin1());
+ r = mailsession_move_message(m_storage->sto_session,mail->getNumber(),(char*)tf.latin1());
} else {
- r = mailsession_copy_message(m_storage->sto_session,mail.getNumber(),(char*)tf.latin1());
+ r = mailsession_copy_message(m_storage->sto_session,mail->getNumber(),(char*)tf.latin1());
}
if (r != MAIL_NO_ERROR) {
qDebug("Error copy/moving mail internal (%i)",r);
}
diff --git a/noncore/net/mail/libmailwrapper/mhwrapper.h b/noncore/net/mail/libmailwrapper/mhwrapper.h
index c7c8183..208cf2f 100644
--- a/noncore/net/mail/libmailwrapper/mhwrapper.h
+++ b/noncore/net/mail/libmailwrapper/mhwrapper.h
@@ -5,10 +5,8 @@
#include "genericwrapper.h"
#include <qstring.h>
-class RecMail;
-class RecBody;
class encodedString;
struct mailmbox_folder;
class OProcess;
@@ -18,30 +16,30 @@ class MHwrapper : public Genericwrapper
public:
MHwrapper(const QString & dir,const QString&name);
virtual ~MHwrapper();
- virtual void listMessages(const QString & mailbox, QList<RecMail> &target );
- virtual QValueList<Opie::osmart_pointer<Folder> >* listFolders();
+ virtual void listMessages(const QString & mailbox, QValueList<Opie::OSmartPointer<RecMail> > &target );
+ virtual QValueList<Opie::OSmartPointer<Folder> >* listFolders();
virtual void statusFolder(folderStat&target_stat,const QString & mailbox="INBOX");
- virtual void deleteMail(const RecMail&mail);
- virtual void answeredMail(const RecMail&mail);
- virtual void mvcpMail(const RecMail&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit);
- virtual void mvcpAllMails(const Opie::osmart_pointer<Folder>&fromFolder,
+ virtual void deleteMail(const RecMailP&mail);
+ virtual void answeredMail(const RecMailP&mail);
+ virtual void mvcpMail(const RecMailP&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit);
+ virtual void mvcpAllMails(const Opie::OSmartPointer<Folder>&fromFolder,
const QString&targetFolder,AbstractMail*targetWrapper,bool moveit);
- virtual int createMbox(const QString&folder,const Opie::osmart_pointer<Folder>&f=0,
+ virtual int createMbox(const QString&folder,const Opie::OSmartPointer<Folder>&f=0,
const QString&d="",bool s=false);
- virtual int deleteMbox(const Opie::osmart_pointer<Folder>&);
+ virtual int deleteMbox(const Opie::OSmartPointer<Folder>&);
virtual void storeMessage(const char*msg,size_t length, const QString&folder);
- virtual RecBody fetchBody( const RecMail &mail );
+ virtual RecBody fetchBody( const RecMailP &mail );
static void mbox_progress( size_t current, size_t maximum );
- virtual encodedString* fetchRawBody(const RecMail&mail);
- virtual void deleteMails(const QString & FolderName,QList<RecMail> &target);
- virtual int deleteAllMail(const Opie::osmart_pointer<Folder>&);
+ virtual encodedString* fetchRawBody(const RecMailP&mail);
+ virtual void deleteMails(const QString & FolderName,const QValueList<Opie::OSmartPointer<RecMail> > &target);
+ virtual int deleteAllMail(const Opie::OSmartPointer<Folder>&);
virtual MAILLIB::ATYPE getType()const;
virtual const QString&getName()const;
public slots:
diff --git a/noncore/net/mail/libmailwrapper/nntpwrapper.cpp b/noncore/net/mail/libmailwrapper/nntpwrapper.cpp
index 2ec052c..c0b3eec 100644
--- a/noncore/net/mail/libmailwrapper/nntpwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/nntpwrapper.cpp
@@ -31,9 +31,9 @@ void NNTPwrapper::nntp_progress( size_t current, size_t maximum ) {
qDebug( "NNTP: %i of %i", current, maximum );
}
-RecBody NNTPwrapper::fetchBody( const RecMail &mail ) {
+RecBody NNTPwrapper::fetchBody( const RecMailP &mail ) {
int err = NEWSNNTP_NO_ERROR;
char *message = 0;
size_t length = 0;
@@ -43,24 +43,24 @@ RecBody NNTPwrapper::fetchBody( const RecMail &mail ) {
}
RecBody body;
mailmessage * mailmsg;
- if (mail.Msgsize()>HARD_MSG_SIZE_LIMIT) {
- qDebug("Message to large: %i",mail.Msgsize());
+ if (mail->Msgsize()>HARD_MSG_SIZE_LIMIT) {
+ qDebug("Message to large: %i",mail->Msgsize());
return body;
}
QFile msg_cache(msgTempName);
cleanMimeCache();
- if (mail.getNumber()!=last_msg_id) {
+ if (mail->getNumber()!=last_msg_id) {
if (msg_cache.exists()) {
msg_cache.remove();
}
msg_cache.open(IO_ReadWrite|IO_Truncate);
- last_msg_id = mail.getNumber();
- err = mailsession_get_message(m_nntp->sto_session, mail.getNumber(), &mailmsg);
+ last_msg_id = mail->getNumber();
+ err = mailsession_get_message(m_nntp->sto_session, mail->getNumber(), &mailmsg);
err = mailmessage_fetch(mailmsg,&message,&length);
msg_cache.writeBlock(message,length);
} else {
QString msg="";
@@ -95,9 +95,9 @@ RecBody NNTPwrapper::fetchBody( const RecMail &mail ) {
return body;
}
-void NNTPwrapper::listMessages(const QString & which, QList<RecMail> &target )
+void NNTPwrapper::listMessages(const QString & which, QValueList<Opie::OSmartPointer<RecMail> > &target )
{
login();
if (!m_nntp)
return;
@@ -187,11 +187,11 @@ void NNTPwrapper::logout()
mailstorage_free(m_nntp);
m_nntp = 0;
}
-QValueList<Opie::osmart_pointer<Folder> >* NNTPwrapper::listFolders() {
+QValueList<Opie::OSmartPointer<Folder> >* NNTPwrapper::listFolders() {
- QValueList<Opie::osmart_pointer<Folder> >* folders = new QValueList<Opie::osmart_pointer<Folder> >();
+ QValueList<Opie::OSmartPointer<Folder> >* folders = new QValueList<Opie::OSmartPointer<Folder> >();
QStringList groups;
if (account) {
groups = account->getGroups();
}
@@ -238,9 +238,9 @@ QStringList NNTPwrapper::listAllNewsgroups(const QString&mask) {
}
return res;
}
-void NNTPwrapper::answeredMail(const RecMail&) {}
+void NNTPwrapper::answeredMail(const RecMailP&) {}
void NNTPwrapper::statusFolder(folderStat&target_stat,const QString&) {
login();
target_stat.message_count = 0;
@@ -252,14 +252,14 @@ void NNTPwrapper::statusFolder(folderStat&target_stat,const QString&) {
&target_stat.message_recent,&target_stat.message_unseen);
}
-encodedString* NNTPwrapper::fetchRawBody(const RecMail&mail) {
+encodedString* NNTPwrapper::fetchRawBody(const RecMailP&mail) {
char*target=0;
size_t length=0;
encodedString*res = 0;
mailmessage * mailmsg = 0;
- int err = mailsession_get_message(m_nntp->sto_session, mail.getNumber(), &mailmsg);
+ int err = mailsession_get_message(m_nntp->sto_session, mail->getNumber(), &mailmsg);
err = mailmessage_fetch(mailmsg,&target,&length);
if (mailmsg)
mailmessage_free(mailmsg);
if (target) {
@@ -275,9 +275,9 @@ MAILLIB::ATYPE NNTPwrapper::getType()const {
const QString&NNTPwrapper::getName()const{
return account->getAccountName();
}
-void NNTPwrapper::deleteMail(const RecMail&) {
+void NNTPwrapper::deleteMail(const RecMailP&) {
}
int NNTPwrapper::deleteAllMail(const FolderP&) {
}
diff --git a/noncore/net/mail/libmailwrapper/nntpwrapper.h b/noncore/net/mail/libmailwrapper/nntpwrapper.h
index d3a384a..a7e4b95 100644
--- a/noncore/net/mail/libmailwrapper/nntpwrapper.h
+++ b/noncore/net/mail/libmailwrapper/nntpwrapper.h
@@ -19,20 +19,20 @@ public:
NNTPwrapper( NNTPaccount *a );
virtual ~NNTPwrapper();
/* mailbox will be ignored */
- virtual void listMessages(const QString & mailbox, QList<RecMail> &target );
+ virtual void listMessages(const QString & mailbox, QValueList<Opie::OSmartPointer<RecMail> > &target );
/* should only get the subscribed one */
- virtual QValueList<Opie::osmart_pointer<Folder> >* listFolders();
+ virtual QValueList<Opie::OSmartPointer<Folder> >* listFolders();
/* mailbox will be ignored */
virtual void statusFolder(folderStat&target_stat,const QString & mailbox="INBOX");
QStringList listAllNewsgroups(const QString&mask = QString::null);
- virtual void deleteMail(const RecMail&mail);
- virtual void answeredMail(const RecMail&mail);
- virtual int deleteAllMail(const Opie::osmart_pointer<Folder>&);
+ virtual void deleteMail(const RecMailP&mail);
+ virtual void answeredMail(const RecMailP&mail);
+ virtual int deleteAllMail(const Opie::OSmartPointer<Folder>&);
- virtual RecBody fetchBody( const RecMail &mail );
- virtual encodedString* fetchRawBody(const RecMail&mail);
+ virtual RecBody fetchBody( const RecMailP &mail );
+ virtual encodedString* fetchRawBody(const RecMailP&mail);
virtual void logout();
virtual MAILLIB::ATYPE getType()const;
virtual const QString&getName()const;
static void nntp_progress( size_t current, size_t maximum );
diff --git a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp
index 7bf7ed2..6737d6c 100644
--- a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp
@@ -29,9 +29,9 @@ POP3wrapper::~POP3wrapper() {
void POP3wrapper::pop3_progress( size_t current, size_t maximum ) {
qDebug( "POP3: %i of %i", current, maximum );
}
-RecBody POP3wrapper::fetchBody( const RecMail &mail ) {
+RecBody POP3wrapper::fetchBody( const RecMailP &mail ) {
int err = MAILPOP3_NO_ERROR;
char *message = 0;
size_t length = 0;
@@ -41,24 +41,24 @@ RecBody POP3wrapper::fetchBody( const RecMail &mail ) {
}
RecBody body;
mailmessage * mailmsg;
- if (mail.Msgsize()>HARD_MSG_SIZE_LIMIT) {
- qDebug("Message to large: %i",mail.Msgsize());
+ if (mail->Msgsize()>HARD_MSG_SIZE_LIMIT) {
+ qDebug("Message to large: %i",mail->Msgsize());
return body;
}
QFile msg_cache(msgTempName);
cleanMimeCache();
- if (mail.getNumber()!=last_msg_id) {
+ if (mail->getNumber()!=last_msg_id) {
if (msg_cache.exists()) {
msg_cache.remove();
}
msg_cache.open(IO_ReadWrite|IO_Truncate);
- last_msg_id = mail.getNumber();
- err = mailsession_get_message(m_pop3->sto_session, mail.getNumber(), &mailmsg);
+ last_msg_id = mail->getNumber();
+ err = mailsession_get_message(m_pop3->sto_session, mail->getNumber(), &mailmsg);
err = mailmessage_fetch(mailmsg,&message,&length);
msg_cache.writeBlock(message,length);
} else {
QString msg="";
@@ -92,9 +92,9 @@ RecBody POP3wrapper::fetchBody( const RecMail &mail ) {
return body;
}
-void POP3wrapper::listMessages(const QString &, QList<RecMail> &target )
+void POP3wrapper::listMessages(const QString &, QValueList<Opie::OSmartPointer<RecMail> > &target )
{
login();
if (!m_pop3)
return;
@@ -168,34 +168,33 @@ void POP3wrapper::login()
}
void POP3wrapper::logout()
{
- int err = MAILPOP3_NO_ERROR;
if ( m_pop3 == NULL )
return;
mailstorage_free(m_pop3);
m_pop3 = 0;
}
-QValueList<Opie::osmart_pointer<Folder> >* POP3wrapper::listFolders() {
- QValueList<Opie::osmart_pointer<Folder> >* folders = new QValueList<FolderP>();
+QValueList<Opie::OSmartPointer<Folder> >* POP3wrapper::listFolders() {
+ QValueList<Opie::OSmartPointer<Folder> >* folders = new QValueList<FolderP>();
FolderP inb=new Folder("INBOX","/");
folders->append(inb);
return folders;
}
-void POP3wrapper::deleteMail(const RecMail&mail) {
+void POP3wrapper::deleteMail(const RecMailP&mail) {
login();
if (!m_pop3)
return;
- int err = mailsession_remove_message(m_pop3->sto_session,mail.getNumber());
+ int err = mailsession_remove_message(m_pop3->sto_session,mail->getNumber());
if (err != MAIL_NO_ERROR) {
Global::statusMessage(tr("error deleting mail"));
}
}
-void POP3wrapper::answeredMail(const RecMail&) {}
+void POP3wrapper::answeredMail(const RecMailP&) {}
int POP3wrapper::deleteAllMail(const FolderP&) {
login();
if (!m_pop3)
@@ -227,16 +226,19 @@ void POP3wrapper::statusFolder(folderStat&target_stat,const QString&) {
if (!m_pop3)
return;
int r = mailsession_status_folder(m_pop3->sto_session,0,&target_stat.message_count,
&target_stat.message_recent,&target_stat.message_unseen);
+ if (r != MAIL_NO_ERROR) {
+ qDebug("error getting folter status.");
+ }
}
-encodedString* POP3wrapper::fetchRawBody(const RecMail&mail) {
+encodedString* POP3wrapper::fetchRawBody(const RecMailP&mail) {
char*target=0;
size_t length=0;
encodedString*res = 0;
mailmessage * mailmsg = 0;
- int err = mailsession_get_message(m_pop3->sto_session, mail.getNumber(), &mailmsg);
+ int err = mailsession_get_message(m_pop3->sto_session, mail->getNumber(), &mailmsg);
err = mailmessage_fetch(mailmsg,&target,&length);
if (mailmsg)
mailmessage_free(mailmsg);
if (target) {
diff --git a/noncore/net/mail/libmailwrapper/pop3wrapper.h b/noncore/net/mail/libmailwrapper/pop3wrapper.h
index e4afb94..31eb6f1 100644
--- a/noncore/net/mail/libmailwrapper/pop3wrapper.h
+++ b/noncore/net/mail/libmailwrapper/pop3wrapper.h
@@ -16,19 +16,19 @@ class POP3wrapper : public Genericwrapper
public:
POP3wrapper( POP3account *a );
virtual ~POP3wrapper();
/* mailbox will be ignored */
- virtual void listMessages(const QString & mailbox, QList<RecMail> &target );
- virtual QValueList<Opie::osmart_pointer<Folder> >* listFolders();
+ virtual void listMessages(const QString & mailbox, QValueList<Opie::OSmartPointer<RecMail> > &target );
+ virtual QValueList<Opie::OSmartPointer<Folder> >* listFolders();
/* mailbox will be ignored */
virtual void statusFolder(folderStat&target_stat,const QString & mailbox="INBOX");
- virtual void deleteMail(const RecMail&mail);
- virtual void answeredMail(const RecMail&mail);
- virtual int deleteAllMail(const Opie::osmart_pointer<Folder>&);
+ virtual void deleteMail(const RecMailP&mail);
+ virtual void answeredMail(const RecMailP&mail);
+ virtual int deleteAllMail(const Opie::OSmartPointer<Folder>&);
- virtual RecBody fetchBody( const RecMail &mail );
- virtual encodedString* fetchRawBody(const RecMail&mail);
+ virtual RecBody fetchBody( const RecMailP &mail );
+ virtual encodedString* fetchRawBody(const RecMailP&mail);
virtual void logout();
virtual MAILLIB::ATYPE getType()const;
virtual const QString&getName()const;
static void pop3_progress( size_t current, size_t maximum );
diff --git a/noncore/net/mail/libmailwrapper/smtpwrapper.cpp b/noncore/net/mail/libmailwrapper/smtpwrapper.cpp
index afc5618..86673aa 100644
--- a/noncore/net/mail/libmailwrapper/smtpwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/smtpwrapper.cpp
@@ -311,9 +311,9 @@ int SMTPwrapper::smtpSend(char*from,clist*rcpts,const char*data,size_t size )
}
return result;
}
-void SMTPwrapper::sendMail(const Opie::osmart_pointer<Mail>&mail,bool later )
+void SMTPwrapper::sendMail(const Opie::OSmartPointer<Mail>&mail,bool later )
{
mailmime * mimeMail;
mimeMail = createMimeMail(mail );
@@ -331,17 +331,17 @@ void SMTPwrapper::sendMail(const Opie::osmart_pointer<Mail>&mail,bool later )
mailmime_free( mimeMail );
}
}
-int SMTPwrapper::sendQueuedMail(AbstractMail*wrap,RecMail*which) {
+int SMTPwrapper::sendQueuedMail(AbstractMail*wrap,const RecMailP&which) {
size_t curTok = 0;
mailimf_fields *fields = 0;
mailimf_field*ffrom = 0;
clist *rcpts = 0;
char*from = 0;
int res = 0;
- encodedString * data = wrap->fetchRawBody(*which);
+ encodedString * data = wrap->fetchRawBody(which);
if (!data)
return 0;
int err = mailimf_fields_parse( data->Content(), data->Length(), &curTok, &fields );
if (err != MAILIMF_NO_ERROR) {
@@ -390,10 +390,10 @@ bool SMTPwrapper::flushOutbox() {
qDebug("memory error");
return false;
}
QString oldPw, oldUser;
- QList<RecMail> mailsToSend;
- QList<RecMail> mailsToRemove;
+ QValueList<RecMailP> mailsToSend;
+ QValueList<RecMailP> mailsToRemove;
QString mbox("Outgoing");
wrap->listMessages(mbox,mailsToSend);
if (mailsToSend.count()==0) {
delete wrap;
@@ -420,22 +420,21 @@ bool SMTPwrapper::flushOutbox() {
}
}
- mailsToSend.setAutoDelete(false);
sendProgress = new progressMailSend();
sendProgress->show();
sendProgress->setMaxMails(mailsToSend.count());
while (mailsToSend.count()>0) {
- if (sendQueuedMail(wrap,mailsToSend.at(0))==0) {
+ if (sendQueuedMail(wrap, (*mailsToSend.begin()))==0) {
QMessageBox::critical(0,tr("Error sending mail"),
tr("Error sending queued mail - breaking"));
returnValue = false;
break;
}
- mailsToRemove.append(mailsToSend.at(0));
- mailsToSend.removeFirst();
+ mailsToRemove.append((*mailsToSend.begin()));
+ mailsToSend.remove(mailsToSend.begin());
sendProgress->setCurrentMails(mailsToRemove.count());
}
if (reset_user_value) {
m_SmtpAccount->setUser(oldUser);
@@ -449,8 +448,7 @@ bool SMTPwrapper::flushOutbox() {
sendProgress->hide();
delete sendProgress;
sendProgress = 0;
wrap->deleteMails(mbox,mailsToRemove);
- mailsToSend.setAutoDelete(true);
delete wrap;
return returnValue;
}
diff --git a/noncore/net/mail/libmailwrapper/smtpwrapper.h b/noncore/net/mail/libmailwrapper/smtpwrapper.h
index 08bde74..71ae35c 100644
--- a/noncore/net/mail/libmailwrapper/smtpwrapper.h
+++ b/noncore/net/mail/libmailwrapper/smtpwrapper.h
@@ -10,9 +10,9 @@
#include "settings.h"
#include "generatemail.h"
-#include <opie2/osmart_pointer.h>
+#include <opie2/osmartpointer.h>
class SMTPaccount;
class AbstractMail;
@@ -22,9 +22,9 @@ class SMTPwrapper : public Generatemail
public:
SMTPwrapper(SMTPaccount * aSmtp);
virtual ~SMTPwrapper();
- void sendMail(const Opie::osmart_pointer<Mail>& mail,bool later=false );
+ void sendMail(const Opie::OSmartPointer<Mail>& mail,bool later=false );
bool flushOutbox();
static progressMailSend*sendProgress;
@@ -49,9 +49,9 @@ protected:
int smtpSend(char*from,clist*rcpts,const char*data,size_t size);
void storeMail(mailmime*mail, const QString&box);
- int sendQueuedMail(AbstractMail*wrap,RecMail*which);
+ int sendQueuedMail(AbstractMail*wrap,const Opie::OSmartPointer<RecMail>&which);
void storeFailedMail(const char*data,unsigned int size, const char*failuremessage);
int m_queuedMail;
diff --git a/noncore/net/mail/libmailwrapper/storemail.cpp b/noncore/net/mail/libmailwrapper/storemail.cpp
index 052e0f1..595e7fc 100644
--- a/noncore/net/mail/libmailwrapper/storemail.cpp
+++ b/noncore/net/mail/libmailwrapper/storemail.cpp
@@ -48,9 +48,9 @@ Storemail::Storemail(const QString&aFolder)
Storemail::~Storemail()
{
}
-int Storemail::storeMail(const Opie::osmart_pointer<Mail>&mail)
+int Storemail::storeMail(const Opie::OSmartPointer<Mail>&mail)
{
if (!wrapper) return 0;
int ret = 1;
diff --git a/noncore/net/mail/libmailwrapper/storemail.h b/noncore/net/mail/libmailwrapper/storemail.h
index 7d8ea3d..80c7431 100644
--- a/noncore/net/mail/libmailwrapper/storemail.h
+++ b/noncore/net/mail/libmailwrapper/storemail.h
@@ -17,9 +17,9 @@ public:
Storemail(const QString&dir,const QString&aFolder);
Storemail(const QString&aFolder);
virtual ~Storemail();
- int storeMail(const Opie::osmart_pointer<Mail>&mail);
+ int storeMail(const Opie::OSmartPointer<Mail>&mail);
protected:
Account* m_Account;
QString m_tfolder;
diff --git a/noncore/net/mail/mailistviewitem.cpp b/noncore/net/mail/mailistviewitem.cpp
index 75633ef..0b926da 100644
--- a/noncore/net/mail/mailistviewitem.cpp
+++ b/noncore/net/mail/mailistviewitem.cpp
@@ -9,18 +9,18 @@ MailListViewItem::MailListViewItem(QListView * parent, MailListViewItem * item )
}
void MailListViewItem::showEntry()
{
- if ( mail_data.getFlags().testBit( FLAG_ANSWERED ) == true) {
+ if ( mail_data->getFlags().testBit( FLAG_ANSWERED ) == true) {
setPixmap( 0, Resource::loadPixmap( "mail/kmmsgreplied") );
- } else if ( mail_data.getFlags().testBit( FLAG_SEEN ) == true ) {
+ } else if ( mail_data->getFlags().testBit( FLAG_SEEN ) == true ) {
/* I think it looks nicer if there are not such a log of icons but only on mails
replied or new - Alwin*/
//setPixmap( 0, Resource::loadPixmap( "mail/kmmsgunseen") );
} else {
setPixmap( 0, Resource::loadPixmap( "mail/kmmsgnew") );
}
- double s = mail_data.Msgsize();
+ double s = mail_data->Msgsize();
int w;
w=0;
while (s>1024) {
@@ -48,25 +48,25 @@ void MailListViewItem::showEntry()
o.setf(QTextStream::fixed);
o << s << " " << q << "Byte";
}
- setText(1,mail_data.getSubject());
- setText(2,mail_data.getFrom());
+ setText(1,mail_data->getSubject());
+ setText(2,mail_data->getFrom());
setText(3,fsize);
- setText(4,mail_data.getDate());
+ setText(4,mail_data->getDate());
}
-void MailListViewItem::storeData(const RecMail&data)
+void MailListViewItem::storeData(const RecMailP&data)
{
mail_data = data;
}
-const RecMail& MailListViewItem::data()const
+const RecMailP& MailListViewItem::data()const
{
return mail_data;
}
MAILLIB::ATYPE MailListViewItem::wrapperType()
{
- if (!mail_data.Wrapper()) return MAILLIB::A_UNDEFINED;
- return mail_data.Wrapper()->getType();
+ if (!mail_data->Wrapper()) return MAILLIB::A_UNDEFINED;
+ return mail_data->Wrapper()->getType();
}
diff --git a/noncore/net/mail/mailistviewitem.h b/noncore/net/mail/mailistviewitem.h
index f736de0..d953d83 100644
--- a/noncore/net/mail/mailistviewitem.h
+++ b/noncore/net/mail/mailistviewitem.h
@@ -10,14 +10,14 @@ class MailListViewItem:public QListViewItem
public:
MailListViewItem(QListView * parent, MailListViewItem * after );
virtual ~MailListViewItem(){}
- void storeData(const RecMail&data);
- const RecMail&data()const;
+ void storeData(const RecMailP&data);
+ const RecMailP&data()const;
void showEntry();
MAILLIB::ATYPE wrapperType();
protected:
- RecMail mail_data;
+ RecMailP mail_data;
};
#endif
diff --git a/noncore/net/mail/mainwindow.cpp b/noncore/net/mail/mainwindow.cpp
index bcf0866..c23ad3f 100644
--- a/noncore/net/mail/mainwindow.cpp
+++ b/noncore/net/mail/mainwindow.cpp
@@ -118,9 +118,10 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags )
connect( mailView, SIGNAL( mouseButtonClicked(int,QListViewItem*,const QPoint&,int) ),this,
SLOT( mailLeftClicked(int,QListViewItem*,const QPoint&,int) ) );
connect( mailView, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int) ),this,
SLOT( mailHold(int,QListViewItem*,const QPoint&,int) ) );
- connect(folderView, SIGNAL(refreshMailview(QList<RecMail>*)),this,SLOT(refreshMailView(QList<RecMail>*)));
+ connect(folderView, SIGNAL(refreshMailview(const QValueList<RecMailP>&)),
+ this,SLOT(refreshMailView(const QValueList<RecMailP>&)));
connect( composeMail, SIGNAL( activated() ), SLOT( slotComposeMail() ) );
connect( sendQueued, SIGNAL( activated() ), SLOT( slotSendQueued() ) );
// connect( searchMails, SIGNAL( activated() ), SLOT( slotSearchMails() ) );
connect( editAccounts, SIGNAL( activated() ), SLOT( slotEditAccounts() ) );
@@ -176,9 +177,9 @@ void MainWindow::slotShowFolders( bool )
{
qDebug( "slotShowFolders not reached" );
}
-void MainWindow::refreshMailView(QList<RecMail>*)
+void MainWindow::refreshMailView(const QValueList<RecMailP>&)
{
qDebug( "refreshMailView not reached" );
}
diff --git a/noncore/net/mail/mainwindow.h b/noncore/net/mail/mainwindow.h
index 1ba6299..8d004c6 100644
--- a/noncore/net/mail/mainwindow.h
+++ b/noncore/net/mail/mainwindow.h
@@ -10,8 +10,11 @@
#include "accountview.h"
#include "statuswidget.h"
+#include <libmailwrapper/mailtypes.h>
+#include <opie2/osmartpointer.h>
+
class RecMail;
class MainWindow : public QMainWindow
{
@@ -29,9 +32,9 @@ public slots:
protected slots:
virtual void slotSendQueued();
virtual void slotEditAccounts();
virtual void slotShowFolders( bool show );
- virtual void refreshMailView(QList<RecMail>*);
+ virtual void refreshMailView(const QValueList<RecMailP>&);
virtual void displayMail();
virtual void slotDeleteMail();
virtual void mailHold(int, QListViewItem *,const QPoint&,int);
virtual void slotAdjustLayout();
diff --git a/noncore/net/mail/opiemail.cpp b/noncore/net/mail/opiemail.cpp
index d95b3c9..dd305df 100644
--- a/noncore/net/mail/opiemail.cpp
+++ b/noncore/net/mail/opiemail.cpp
@@ -144,9 +144,9 @@ void OpieMail::slotEditAccounts()
void OpieMail::displayMail()
{
QListViewItem*item = mailView->currentItem();
if (!item) return;
- RecMail mail = ((MailListViewItem*)item)->data();
+ RecMailP mail = ((MailListViewItem*)item)->data();
RecBody body = folderView->fetchBody(mail);
ViewMail readMail( this,"", Qt::WType_Modal | WStyle_ContextHelp );
readMail.setBody( body );
readMail.setMail( mail );
@@ -165,12 +165,12 @@ void OpieMail::displayMail()
void OpieMail::slotDeleteMail()
{
if (!mailView->currentItem()) return;
- RecMail mail = ((MailListViewItem*)mailView->currentItem() )->data();
- if ( QMessageBox::warning(this, tr("Delete Mail"), QString( tr("<p>Do you really want to delete this mail? <br><br>" ) + mail.getFrom() + " - " + mail.getSubject() ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes )
+ RecMailP mail = ((MailListViewItem*)mailView->currentItem() )->data();
+ if ( QMessageBox::warning(this, tr("Delete Mail"), QString( tr("<p>Do you really want to delete this mail? <br><br>" ) + mail->getFrom() + " - " + mail->getSubject() ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes )
{
- mail.Wrapper()->deleteMail( mail );
+ mail->Wrapper()->deleteMail( mail );
folderView->refreshCurrent();
}
}
@@ -216,16 +216,18 @@ void OpieMail::slotShowFolders( bool show )
folderView->hide();
}
}
-void OpieMail::refreshMailView(QList<RecMail>*list)
+void OpieMail::refreshMailView(const QValueList<RecMailP>&list)
{
MailListViewItem*item = 0;
mailView->clear();
- for (unsigned int i = 0; i < list->count();++i)
+
+ QValueList<RecMailP>::ConstIterator it;
+ for (it = list.begin(); it != list.end();++it)
{
item = new MailListViewItem(mailView,item);
- item->storeData(*(list->at(i)));
+ item->storeData((*it));
item->showEntry();
}
}
@@ -243,17 +245,17 @@ void OpieMail::mailLeftClicked(int button, QListViewItem *item,const QPoint&,int
void OpieMail::slotMoveCopyMail()
{
if (!mailView->currentItem()) return;
- RecMail mail = ((MailListViewItem*)mailView->currentItem() )->data();
+ RecMailP mail = ((MailListViewItem*)mailView->currentItem() )->data();
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) ||
+ if ( (mail->Wrapper()==targetMail && mail->getMbox()==targetFolder) ||
targetFolder.isEmpty())
{
return;
}
@@ -262,9 +264,9 @@ void OpieMail::slotMoveCopyMail()
QMessageBox::critical(0,tr("Error creating new Folder"),
tr("<center>Error while creating<br>new folder - breaking.</center>"));
return;
}
- mail.Wrapper()->mvcpMail(mail,targetFolder,targetMail,sels.moveMails());
+ mail->Wrapper()->mvcpMail(mail,targetFolder,targetMail,sels.moveMails());
folderView->refreshCurrent();
}
void OpieMail::reEditMail()
diff --git a/noncore/net/mail/opiemail.h b/noncore/net/mail/opiemail.h
index 88c7ea1..b93bd60 100644
--- a/noncore/net/mail/opiemail.h
+++ b/noncore/net/mail/opiemail.h
@@ -3,8 +3,10 @@
#include "mainwindow.h"
#include <libmailwrapper/settings.h>
+#include <opie2/osmartpointer.h>
+#include <libmailwrapper/mailtypes.h>
class OpieMail : public MainWindow
{
Q_OBJECT
@@ -26,9 +28,9 @@ protected slots:
virtual void displayMail();
virtual void slotDeleteMail();
virtual void mailHold(int, QListViewItem *,const QPoint&,int);
virtual void slotShowFolders( bool show );
- virtual void refreshMailView(QList<RecMail>*);
+ virtual void refreshMailView(const QValueList<RecMailP>&);
virtual void mailLeftClicked( int, QListViewItem *,const QPoint&,int );
virtual void slotMoveCopyMail();
virtual void reEditMail();
diff --git a/noncore/net/mail/viewmail.cpp b/noncore/net/mail/viewmail.cpp
index 78652d7..894a386 100644
--- a/noncore/net/mail/viewmail.cpp
+++ b/noncore/net/mail/viewmail.cpp
@@ -224,9 +224,9 @@ void ViewMail::slotItemClicked( QListViewItem * item , const QPoint & point, int
"/", item->text( 2 ) , types, 0 );
if( !str.isEmpty() )
{
- encodedString*content = m_recMail.Wrapper()->fetchDecodedPart( m_recMail, m_body.Parts()[ ( ( AttachItem* )item )->Partnumber() ] );
+ encodedString*content = m_recMail->Wrapper()->fetchDecodedPart( m_recMail, m_body.Parts()[ ( ( AttachItem* )item )->Partnumber() ] );
if (content)
{
QFile output(str);
output.open(IO_WriteOnly);
@@ -244,32 +244,32 @@ void ViewMail::slotItemClicked( QListViewItem * item , const QPoint & point, int
setText();
}
else
{
- if ( m_recMail.Wrapper() != 0l )
+ if ( m_recMail->Wrapper() != 0l )
{ // make sure that there is a wrapper , even after delete or simular actions
- browser->setText( m_recMail.Wrapper()->fetchTextPart( m_recMail, m_body.Parts()[ ( ( AttachItem* )item )->Partnumber() ] ) );
+ browser->setText( m_recMail->Wrapper()->fetchTextPart( m_recMail, m_body.Parts()[ ( ( AttachItem* )item )->Partnumber() ] ) );
}
}
break;
}
delete menu;
}
-void ViewMail::setMail( RecMail mail )
+void ViewMail::setMail( RecMailP mail )
{
m_recMail = mail;
- m_mail[0] = mail.getFrom();
- m_mail[1] = mail.getSubject();
- m_mail[3] = mail.getDate();
- m_mail[4] = mail.Msgid();
+ m_mail[0] = mail->getFrom();
+ m_mail[1] = mail->getSubject();
+ m_mail[3] = mail->getDate();
+ m_mail[4] = mail->Msgid();
- m_mail2[0] = mail.To();
- m_mail2[1] = mail.CC();
- m_mail2[2] = mail.Bcc();
+ m_mail2[0] = mail->To();
+ m_mail2[1] = mail->CC();
+ m_mail2[2] = mail->Bcc();
setText();
}
@@ -347,9 +347,9 @@ void ViewMail::setText()
ViewMail::~ViewMail()
{
- m_recMail.Wrapper()->cleanMimeCache();
+ m_recMail->Wrapper()->cleanMimeCache();
hide();
}
void ViewMail::hide()
@@ -414,20 +414,20 @@ void ViewMail::slotReply()
else prefix = "Re: "; // no i18n on purpose
Settings *settings = new Settings();
ComposeMail composer( settings ,this, 0, true);
- if (m_recMail.Replyto().isEmpty()) {
- composer.setTo( m_recMail.getFrom());
+ if (m_recMail->Replyto().isEmpty()) {
+ composer.setTo( m_recMail->getFrom());
} else {
- composer.setTo( m_recMail.Replyto());
+ composer.setTo( m_recMail->Replyto());
}
composer.setSubject( prefix + m_mail[1] );
composer.setMessage( rtext );
- composer.setInReplyTo(m_recMail.Msgid());
+ composer.setInReplyTo(m_recMail->Msgid());
if ( QDialog::Accepted == QPEApplication::execDialog( &composer ) )
{
- m_recMail.Wrapper()->answeredMail(m_recMail);
+ m_recMail->Wrapper()->answeredMail(m_recMail);
}
}
void ViewMail::slotForward()
@@ -468,9 +468,9 @@ void ViewMail::slotForward()
void ViewMail::slotDeleteMail( )
{
if ( QMessageBox::warning(this, tr("Delete Mail"), QString( tr("<p>Do you really want to delete this mail? <br><br>" ) + m_mail[0] + " - " + m_mail[1] ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes )
{
- m_recMail.Wrapper()->deleteMail( m_recMail );
+ m_recMail->Wrapper()->deleteMail( m_recMail );
hide();
deleted = true;
}
}
diff --git a/noncore/net/mail/viewmail.h b/noncore/net/mail/viewmail.h
index abbd5b3..6875e3c 100644
--- a/noncore/net/mail/viewmail.h
+++ b/noncore/net/mail/viewmail.h
@@ -35,9 +35,9 @@ public:
~ViewMail();
void hide();
void exec();
- void setMail( RecMail mail );
+ void setMail( RecMailP mail );
void setBody( RecBody body );
bool deleted;
protected:
@@ -59,9 +59,9 @@ private:
bool _inLoop;
QString m_mailHtml;
bool m_gotBody;
RecBody m_body;
- RecMail m_recMail;
+ RecMailP m_recMail;
bool m_showHtml;
// 0 from 1 subject 2 bodytext 3 date
QMap <int,QString> m_mail;