summaryrefslogtreecommitdiffabout
path: root/kmicromail
Side-by-side diff
Diffstat (limited to 'kmicromail') (more/less context) (show whitespace changes)
-rw-r--r--kmicromail/accountitem.cpp14
-rw-r--r--kmicromail/libmailwrapper/imapwrapper.cpp4
-rw-r--r--kmicromail/libmailwrapper/mhwrapper.cpp2
-rw-r--r--kmicromail/libmailwrapper/settings.cpp4
-rw-r--r--kmicromail/mainwindow.cpp7
-rw-r--r--kmicromail/mainwindow.h1
-rw-r--r--kmicromail/opiemail.cpp10
-rw-r--r--kmicromail/opiemail.h1
8 files changed, 28 insertions, 15 deletions
diff --git a/kmicromail/accountitem.cpp b/kmicromail/accountitem.cpp
index 7b9b881..59c8abb 100644
--- a/kmicromail/accountitem.cpp
+++ b/kmicromail/accountitem.cpp
@@ -7,24 +7,26 @@
#include <libmailwrapper/mailtypes.h>
#include <libmailwrapper/abstractmail.h>
#include <libmailwrapper/mailwrapper.h>
/* OPIE */
//#include <qpe/qpeapplication.h>
/* QT */
#include <qpopupmenu.h>
#include <qmessagebox.h>
#include <kiconloader.h>
+#define GET_NEW_MAILS 101
+
using namespace Opie::Core;
#define SETPIX(x) if (!account->getOffline()) {setPixmap( 0,x);} else {setPixmap( 0, PIXMAP_OFFLINE );}
/**
* POP3 Account stuff
*/
POP3viewItem::POP3viewItem( POP3account *a, AccountView *parent )
: AccountViewItem( parent )
{
account = a;
wrapper = AbstractMail::getWrapper( account );
SETPIX(PIXMAP_POP3FOLDER);
#if 0
@@ -83,30 +85,30 @@ RECBODYP POP3viewItem::fetchBody( const RecMailP &mail )
return wrapper->fetchBody( mail );
}
QPopupMenu * POP3viewItem::getContextMenu()
{
QPopupMenu *m = new QPopupMenu(0);
if (m)
{
if (!account->getOffline())
{
m->insertItem(QObject::tr("Disconnect",contextName),0);
m->insertItem(QObject::tr("Set offline",contextName),1);
- m->insertItem(QObject::tr("Download new INBOX messages",contextName),2);
+ m->insertItem(QObject::tr("Get new messages",contextName),GET_NEW_MAILS);
}
else
{
m->insertItem(QObject::tr("Set online",contextName),1);
- m->insertItem(QObject::tr("Download new INBOX messages",contextName),2);
+ m->insertItem(QObject::tr("Get new messages",contextName),GET_NEW_MAILS);
}
}
return m;
}
void POP3viewItem::disconnect()
{
QListViewItem *child = firstChild();
while ( child )
{
QListViewItem *tmp = child;
child = child->nextSibling();
@@ -128,25 +130,25 @@ void POP3viewItem::setOnOffline()
}
void POP3viewItem::contextMenuSelected(int which)
{
switch (which)
{
case 0:
disconnect();
break;
case 1:
setOnOffline();
break;
- case 2: // daunlood
+ case GET_NEW_MAILS: // daunlood
if (account->getOffline())
setOnOffline();
AccountView*bl = accountView();
if (!bl) return;
AccountViewItem* in = findSubItem( "inbox" , 0);
if ( ! in )
return;
bl->downloadMailsInbox(in->getFolder() ,getWrapper());
setOnOffline();
break;
}
}
@@ -508,31 +510,31 @@ QPopupMenu * IMAPviewItem::getContextMenu()
{
QPopupMenu *m = new QPopupMenu(0);
if (m)
{
if (!account->getOffline())
{
m->insertItem(QObject::tr("Refresh folder list",contextName),0);
m->insertItem(QObject::tr("Create new folder",contextName),1);
m->insertSeparator();
m->insertItem(QObject::tr("Disconnect",contextName),2);
m->insertItem(QObject::tr("Set offline",contextName),3);
m->insertSeparator();
- m->insertItem(QObject::tr("Download new INBOX messages",contextName),4);
+ m->insertItem(QObject::tr("Get new messages",contextName),GET_NEW_MAILS);
}
else
{
m->insertItem(QObject::tr("Set online",contextName),3);
m->insertSeparator();
- m->insertItem(QObject::tr("Download new INBOX messages",contextName),4);
+ m->insertItem(QObject::tr("Get new messages",contextName),GET_NEW_MAILS);
}
}
return m;
}
void IMAPviewItem::createNewFolder()
{
Newmdirdlg ndirdlg;
ndirdlg.showMaximized();
if ( ndirdlg.exec() )
{
@@ -568,25 +570,25 @@ void IMAPviewItem::contextMenuSelected(int id)
break;
case 3:
if (account->getOffline()==false)
{
removeChilds();
wrapper->logout();
}
account->setOffline(!account->getOffline());
account->save();
SETPIX(PIXMAP_IMAPFOLDER);
refreshFolders(false);
break;
- case 4: // daunlood
+ case GET_NEW_MAILS: // daunlood
{
if (account->getOffline()) {
contextMenuSelected( 3 );
}
AccountView*bl = accountView();
if (!bl) return;
AccountViewItem* in = findSubItem( "inbox" , 0);
if ( ! in )
return;
bl->downloadMailsInbox(in->getFolder(),getWrapper());
}
break;
diff --git a/kmicromail/libmailwrapper/imapwrapper.cpp b/kmicromail/libmailwrapper/imapwrapper.cpp
index 5441a9b..91332c3 100644
--- a/kmicromail/libmailwrapper/imapwrapper.cpp
+++ b/kmicromail/libmailwrapper/imapwrapper.cpp
@@ -162,25 +162,25 @@ void IMAPwrapper::login()
bool ssl = false;
bool try_tls = false;
bool force_tls = false;
if ( account->ConnectionType() == 2 ) {
ssl = true;
}
if (account->ConnectionType()==1) {
force_tls = true;
}
if ( ssl ) {
- qDebug("using ssl ");
+ //qDebug("using ssl ");
err = mailimap_ssl_connect( m_imap, (char*)server.latin1(), port );
} else {
err = mailimap_socket_connect( m_imap, (char*)server.latin1(), port );
}
if ( err != MAILIMAP_NO_ERROR &&
err != MAILIMAP_NO_ERROR_AUTHENTICATED &&
err != MAILIMAP_NO_ERROR_NON_AUTHENTICATED ) {
QString failure = "";
if (err == MAILIMAP_ERROR_CONNECTION_REFUSED) {
failure="Connection refused";
} else {
@@ -1238,25 +1238,25 @@ encodedString* IMAPwrapper::fetchRawBody(const RecMailP&mail)
// dummy
QValueList<int> path;
return fetchRawPart(mail,path,false);
}
void IMAPwrapper::mvcpAllMails(const FolderP&fromFolder,
const QString&targetFolder,AbstractMail*targetWrapper,bool moveit, int maxSizeInKb)
{
if (targetWrapper != this || maxSizeInKb > 0 ) {
mMax = 0;
progress( tr("Copy"));
AbstractMail::mvcpAllMails(fromFolder,targetFolder,targetWrapper,moveit, maxSizeInKb);
- qDebug("IMAPwrapper::mvcpAllMails::Using generic");
+ //qDebug("IMAPwrapper::mvcpAllMails::Using generic");
// odebug << "Using generic" << oendl;
return;
}
mailimap_set *set = 0;
login();
if (!m_imap) {
return;
}
int err = selectMbox(fromFolder->getName());
if ( err != MAILIMAP_NO_ERROR ) {
return;
}
diff --git a/kmicromail/libmailwrapper/mhwrapper.cpp b/kmicromail/libmailwrapper/mhwrapper.cpp
index 962dac0..641d4d9 100644
--- a/kmicromail/libmailwrapper/mhwrapper.cpp
+++ b/kmicromail/libmailwrapper/mhwrapper.cpp
@@ -56,25 +56,24 @@ void MHwrapper::clean_storage()
mailstorage_free(m_storage);
m_storage = 0;
}
}
MHwrapper::~MHwrapper()
{
clean_storage();
}
void MHwrapper::listMessages(const QString & mailbox, QValueList<Opie::Core::OSmartPointer<RecMail> > &target, int maxSizeInKb )
{
- qDebug("MHwrapper::listMessages ");
init_storage();
if (!m_storage) {
return;
}
QString f = buildPath(mailbox);
int r = mailsession_select_folder(m_storage->sto_session,(char*)f.latin1());
if (r!=MAIL_NO_ERROR) {
qDebug("listMessages: error selecting folder! ");
return;
}
parseList(target,m_storage->sto_session,f, false, maxSizeInKb );
Global::statusMessage(tr("Mailbox has %1 mail(s)").arg(target.count()));
@@ -185,25 +184,24 @@ int MHwrapper::createMbox(const QString&folder,const FolderP&pfolder,const QStri
f = buildPath(folder);
} else {
f = pfolder->getName();
f+="/";
f+=folder;
}
int r = mailsession_create_folder(m_storage->sto_session,(char*)f.latin1());
if (r != MAIL_NO_ERROR) {
qDebug("error creating folder ");
return 0;
}
- qDebug("Folder created ");
return 1;
}
void MHwrapper::storeMessage(const char*msg,size_t length, const QString&Folder)
{
init_storage();
if (!m_storage) {
return;
}
QString f = buildPath(Folder);
int r = mailsession_select_folder(m_storage->sto_session,(char*)f.latin1());
if (r!=MAIL_NO_ERROR) {
diff --git a/kmicromail/libmailwrapper/settings.cpp b/kmicromail/libmailwrapper/settings.cpp
index 766eba0..40b5591 100644
--- a/kmicromail/libmailwrapper/settings.cpp
+++ b/kmicromail/libmailwrapper/settings.cpp
@@ -17,25 +17,24 @@
#define NNTP_PORT "119"
#define NNTP_SSL_PORT "563"
Settings::Settings()
: QObject()
{
updateAccounts();
}
void Settings::checkDirectory()
{
- qDebug("Settings::checkDirectory() ");
return;
locateLocal("data", "kopiemail" );
/*
if ( !QDir( (QString) getenv( "HOME" ) + "/Applications/opiemail/" ).exists() ) {
system( "mkdir -p $HOME/Applications/opiemail" );
qDebug("$HOME/Applications/opiemail created ");
}
*/
}
QList<Account> Settings::getAccounts()
{
@@ -201,33 +200,32 @@ void IMAPaccount::read()
if (user.isNull()) user = "";
//password = conf->readEntryCrypt( "Password","" );
setPasswordList( conf->readListEntry( "FolderHistory"));
if (password.isNull()) password = "";
prefix = conf->readEntry("MailPrefix","");
if (prefix.isNull()) prefix = "";
offline = conf->readBoolEntry("Offline",false);
localFolder = conf->readEntry( "LocalFolder" );
maxMailSize = conf->readNumEntry( "MaxSize",0 );
int lf = conf->readNumEntry( "LastFetch",0 );
QDateTime dt ( QDate ( 2004, 1, 1 ), QTime( 0,0,0) );
leaveOnServer = conf->readBoolEntry("LeaveOnServer",false);
- qDebug("reading last fetch: %d ", lf);
if ( lf < 0 ) lf = 0;
lastFetch = dt.addSecs( lf );
delete conf;
}
void IMAPaccount::save()
{
- qDebug("saving %s ",getFileName().latin1() );
+
Settings::checkDirectory();
KConfig *conf = new KConfig( getFileName() );
conf->setGroup( "IMAP Account" );
conf->writeEntry( "Account", accountName );
conf->writeEntry( "Server", server );
conf->writeEntry( "Port", port );
conf->writeEntry( "SSL", ssl );
conf->writeEntry( "ConnectionType", connectionType );
conf->writeEntry( "User", user );
//conf->writeEntryCrypt( "Password", password );
conf->writeEntry( "FolderHistory",getPasswordList() );
diff --git a/kmicromail/mainwindow.cpp b/kmicromail/mainwindow.cpp
index 21edfd2..5f777a3 100644
--- a/kmicromail/mainwindow.cpp
+++ b/kmicromail/mainwindow.cpp
@@ -26,25 +26,30 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags )
setToolBarsMovable( false );
//KABC::StdAddressBook::self();
toolBar = new QToolBar( this );
menuBar = new QPEMenuBar( toolBar );
mailMenu = new QPopupMenu( menuBar );
menuBar->insertItem( tr( "Mail" ), mailMenu );
settingsMenu = new QPopupMenu( menuBar );
menuBar->insertItem( tr( "Settings" ), settingsMenu );
addToolBar( toolBar );
toolBar->setHorizontalStretchable( true );
-
+ QAction* getMail = new QAction( tr( "Get new mail" ), SmallIcon("add"),
+ 0, 0, this );
+ getMail->addTo( toolBar );
+ getMail->addTo( mailMenu );
+ connect(getMail, SIGNAL( activated() ),
+ SLOT( slotGetMail() ) );
composeMail = new QAction( tr( "Compose new mail" ), SmallIcon("composemail"),
0, 0, this );
composeMail->addTo( toolBar );
composeMail->addTo( mailMenu );
sendQueued = new QAction( tr( "Send queued mails" ), SmallIcon("sendqueued") ,
0, 0, this );
sendQueued->addTo( toolBar );
sendQueued->addTo( mailMenu );
/*
diff --git a/kmicromail/mainwindow.h b/kmicromail/mainwindow.h
index 680f0a9..ff0ff20 100644
--- a/kmicromail/mainwindow.h
+++ b/kmicromail/mainwindow.h
@@ -32,24 +32,25 @@ public:
public slots:
virtual void slotAdjustColumns();
virtual void appMessage(const QCString &msg, const QByteArray &data);
virtual void slotComposeMail();
protected slots:
virtual void slotSendQueued();
virtual void slotEditAccounts();
virtual void slotShowFolders( bool show );
virtual void refreshMailView(const QValueList<RecMailP>&);
virtual void displayMail();
+ virtual void slotGetMail() = 0;
virtual void slotDeleteMail();
virtual void mailHold(int, QListViewItem *,const QPoint&,int);
virtual void slotAdjustLayout();
virtual void slotEditSettings();
virtual void mailLeftClicked( QListViewItem * );
void showLicence();
void showAbout();
void showEtpanLicence();
protected:
QToolBar *toolBar;
StatusWidget *statusWidget;
diff --git a/kmicromail/opiemail.cpp b/kmicromail/opiemail.cpp
index b2119e6..19ffdb3 100644
--- a/kmicromail/opiemail.cpp
+++ b/kmicromail/opiemail.cpp
@@ -1,23 +1,24 @@
// CHANGED 2004-09-31 Lutz Rogowski
// CHANGED 2004-08-06 Lutz Rogowski
#include "settingsdialog.h"
#include "opiemail.h"
#include "editaccounts.h"
#include "composemail.h"
#include "mailistviewitem.h"
#include "viewmail.h"
#include "selectstore.h"
#include "selectsmtp.h"
+#include "accountitem.h"
#include <qmessagebox.h>
#include <qtimer.h>
#include <libkdepim/externalapphandler.h>
#include <qpe/qpeapplication.h>
#include <libmailwrapper/smtpwrapper.h>
#include <libmailwrapper/mailtypes.h>
#include <libmailwrapper/abstractmail.h>
/* OPIE */
//#include <qpe/resource.h>
//#include <qpe/qpeapplication.h>
@@ -235,25 +236,32 @@ void OpieMail::displayMail()
readMail.showMaximized();
readMail.exec();
if ( readMail.deleted )
{
folderView->refreshCurrent();
}
else
{
( (MailListViewItem*)item )->setPixmap( 0, QPixmap() );
}
}
-
+void OpieMail::slotGetMail()
+{
+ QListViewItem * item = folderView->currentItem();
+ if ( ! item ) return;
+ while ( item->parent () )
+ item = item->parent ();
+ ((AccountViewItem *)item)->contextMenuSelected( 101 );
+}
void OpieMail::slotDeleteMail()
{
if (!mailView->currentItem()) return;
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 );
folderView->refreshCurrent();
}
}
void OpieMail::slotDeleteAllMail()
{
diff --git a/kmicromail/opiemail.h b/kmicromail/opiemail.h
index 1de5f6b..e054b9e 100644
--- a/kmicromail/opiemail.h
+++ b/kmicromail/opiemail.h
@@ -21,24 +21,25 @@ public slots:
virtual void slotwriteMail(const QString&name,const QString&email);
virtual void slotwriteMail2(const QString&nameemail);
virtual void slotComposeMail();
virtual void appMessage(const QCString &msg, const QByteArray &data);
virtual void message(const QCString &msg, const QByteArray &data);
protected slots:
virtual void slotSendQueued();
virtual void slotSearchMails();
virtual void slotEditSettings();
virtual void slotEditAccounts();
virtual void displayMail();
virtual void slotDeleteMail();
+ virtual void slotGetMail();
virtual void slotDeleteAllMail();
virtual void mailHold(int, QListViewItem *,const QPoint&,int);
virtual void slotShowFolders( bool show );
virtual void refreshMailView(const QValueList<RecMailP>&);
virtual void mailLeftClicked( QListViewItem * );
virtual void slotMoveCopyMail();
virtual void slotMoveCopyAllMail();
virtual void reEditMail();
void clearSelection();
private:
QString mPendingEmail;