summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/mail.pro12
-rw-r--r--noncore/net/mail/mainwindow.cpp24
-rw-r--r--noncore/net/mail/mainwindow.h3
-rw-r--r--noncore/net/mail/opiemail.cpp2
-rw-r--r--noncore/net/mail/viewmail.cpp91
-rw-r--r--noncore/net/mail/viewmail.h5
-rw-r--r--noncore/net/mail/viewmailbase.cpp5
-rw-r--r--noncore/net/mail/viewmailbase.h3
8 files changed, 101 insertions, 44 deletions
diff --git a/noncore/net/mail/mail.pro b/noncore/net/mail/mail.pro
index d058db7..49be889 100644
--- a/noncore/net/mail/mail.pro
+++ b/noncore/net/mail/mail.pro
@@ -15,7 +15,9 @@ HEADERS = defines.h \
mailtypes.h \
mailistviewitem.h \
pop3wrapper.h \
- abstractmail.h
+ abstractmail.h \
+ settingsdialog.h \
+ statuswidget.h
SOURCES = main.cpp \
opiemail.cpp \
@@ -32,7 +34,9 @@ SOURCES = main.cpp \
settings.cpp \
mailtypes.cpp \
pop3wrapper.cpp \
- abstractmail.cpp
+ abstractmail.cpp \
+ settingsdialog.cpp \
+ statuswidget.cpp
INTERFACES = editaccountsui.ui \
selectmailtypeui.ui \
@@ -42,7 +46,9 @@ INTERFACES = editaccountsui.ui \
smtpconfigui.ui \
addresspickerui.ui \
logindialogui.ui \
- composemailui.ui
+ composemailui.ui \
+ settingsdialogui.ui \
+ statuswidgetui.ui
INCLUDEPATH += $(OPIEDIR)/include
diff --git a/noncore/net/mail/mainwindow.cpp b/noncore/net/mail/mainwindow.cpp
index 9a37510..d3b9c34 100644
--- a/noncore/net/mail/mainwindow.cpp
+++ b/noncore/net/mail/mainwindow.cpp
@@ -11,10 +11,12 @@
#include "defines.h"
#include "mainwindow.h"
+#include "settingsdialog.h"
#include "viewmail.h"
#include "mailtypes.h"
#include "mailistviewitem.h"
+
MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags )
: QMainWindow( parent, name, flags )
{
@@ -45,10 +47,12 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags )
sendQueued->addTo( toolBar );
sendQueued->addTo( mailMenu );
+ /*
syncFolders = new QAction( tr( "Sync mailfolders" ), ICON_SYNC,
0, 0, this );
syncFolders->addTo( toolBar );
syncFolders->addTo( mailMenu );
+ */
showFolders = new QAction( tr( "Show/Hide folders" ), ICON_SHOWFOLDERS,
0, 0, this, 0, true );
@@ -58,10 +62,12 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags )
connect(showFolders, SIGNAL( toggled( bool ) ),
SLOT( slotShowFolders( bool ) ) );
- searchMails = new QAction( tr( "Search mails" ), ICON_SEARCHMAILS,
+ /*
+ searchMails = new QAction( tr( "Search mails" ), ICON_SEARCHMAILS,
0, 0, this );
searchMails->addTo( toolBar );
searchMails->addTo( mailMenu );
+ */
deleteMails = new QAction(tr("Delete Mail"), QIconSet(Resource::loadPixmap("mail/delete")), 0, 0, this);
deleteMails->addTo( toolBar );
@@ -72,12 +78,14 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags )
editSettings = new QAction( tr( "Edit settings" ), ICON_EDITSETTINGS,
0, 0, this );
editSettings->addTo( settingsMenu );
+ connect( editSettings, SIGNAL( activated() ),
+ SLOT( slotEditSettings() ) );
editAccounts = new QAction( tr( "Configure accounts" ), ICON_EDITACCOUNTS,
0, 0, this );
editAccounts->addTo( settingsMenu );
- QWidget *view = new QWidget( this );
+ QWidget *view = new QWidget( this );
setCentralWidget( view );
layout = new QBoxLayout ( view, QBoxLayout::LeftToRight );
@@ -99,10 +107,14 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags )
mailView->setAllColumnsShowFocus(true);
mailView->setSorting(-1);
+ statusWidget = new StatusWidget( view );
+
layout->addWidget( mailView );
+ layout->addWidget( statusWidget );
layout->setStretchFactor( folderView, 1 );
layout->setStretchFactor( mailView, 2 );
+
slotAdjustLayout();
connect( mailView, SIGNAL( clicked( QListViewItem * ) ),this,
@@ -141,6 +153,12 @@ void MainWindow::slotAdjustColumns()
mailView->setColumnWidth( 4, 50 );
}
+void MainWindow::slotEditSettings() {
+ SettingsDialog settingsDialog( this, 0, true );
+ settingsDialog.showMaximized();
+ settingsDialog.exec();
+}
+
void MainWindow::slotShowFolders( bool show )
{
qDebug( "Show Folders" );
@@ -179,7 +197,7 @@ void MainWindow::displayMail(QListViewItem*item)
if ( readMail.deleted ) {
folderView->refreshCurrent();
} else {
- ( (MailListViewItem*)item )->setPixmap( 0, Resource::loadPixmap( "mail/kmmsgunseen") );
+ ( (MailListViewItem*)item )->setPixmap( 0, Resource::loadPixmap( "") );
}
}
diff --git a/noncore/net/mail/mainwindow.h b/noncore/net/mail/mainwindow.h
index 21af190..4e4f4bb 100644
--- a/noncore/net/mail/mainwindow.h
+++ b/noncore/net/mail/mainwindow.h
@@ -9,6 +9,7 @@
#include <qmenubar.h>
#include "accountview.h"
+#include "statuswidget.h"
class RecMail;
@@ -28,9 +29,11 @@ protected slots:
virtual void displayMail(QListViewItem*);
virtual void slotDeleteMail();
void slotAdjustLayout();
+ void slotEditSettings();
protected:
QToolBar *toolBar;
+ StatusWidget *statusWidget;
QMenuBar *menuBar;
QPopupMenu *mailMenu, *settingsMenu;
QAction *composeMail, *sendQueued, *showFolders, *searchMails, *deleteMails,
diff --git a/noncore/net/mail/opiemail.cpp b/noncore/net/mail/opiemail.cpp
index 740e4cf..7ab4e0d 100644
--- a/noncore/net/mail/opiemail.cpp
+++ b/noncore/net/mail/opiemail.cpp
@@ -11,7 +11,7 @@ OpieMail::OpieMail( QWidget *parent, const char *name, WFlags flags )
connect( composeMail, SIGNAL( activated() ), SLOT( slotComposeMail() ) );
connect( sendQueued, SIGNAL( activated() ), SLOT( slotSendQueued() ) );
- connect( searchMails, SIGNAL( activated() ), SLOT( slotSearchMails() ) );
+// connect( searchMails, SIGNAL( activated() ), SLOT( slotSearchMails() ) );
connect( editSettings, SIGNAL( activated() ), SLOT( slotEditSettings() ) );
connect( editAccounts, SIGNAL( activated() ), SLOT( slotEditAccounts() ) );
}
diff --git a/noncore/net/mail/viewmail.cpp b/noncore/net/mail/viewmail.cpp
index d86454c..e11fe1f 100644
--- a/noncore/net/mail/viewmail.cpp
+++ b/noncore/net/mail/viewmail.cpp
@@ -6,6 +6,8 @@
#include <qfile.h>
#include <qapplication.h>
+#include <qpe/config.h>
+
#include <opie/ofiledialog.h>
#include "settings.h"
@@ -109,6 +111,12 @@ for (unsigned int i = 0; i < body.Parts().count();++i) {
}
}
+
+void ViewMail::slotShowHtml( bool state ) {
+ m_showHtml = state;
+ setText();
+}
+
void ViewMail::slotItemClicked( QListViewItem * item , const QPoint & point, int ) {
if (!item )
return;
@@ -164,18 +172,18 @@ void ViewMail::slotItemClicked( QListViewItem * item , const QPoint & point, int
void ViewMail::setMail( RecMail mail ) {
-m_recMail = 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();
+ setText();
}
@@ -186,48 +194,61 @@ ViewMail::ViewMail( QWidget *parent, const char *name, WFlags fl)
m_gotBody = false;
deleted = false;
- connect(reply, SIGNAL(activated()), SLOT(slotReply()));
- connect(forward, SIGNAL(activated()), SLOT(slotForward()));
+ connect( reply, SIGNAL(activated()), SLOT(slotReply()));
+ connect( forward, SIGNAL(activated()), SLOT(slotForward()));
connect( deleteMail, SIGNAL( activated() ), SLOT( slotDeleteMail( ) ) );
+ connect( showHtml, SIGNAL( toggled( bool ) ), SLOT( slotShowHtml( bool ) ) );
attachments->setEnabled(m_gotBody);
connect( attachments, SIGNAL( clicked ( QListViewItem *, const QPoint & , int ) ), SLOT( slotItemClicked( QListViewItem *, const QPoint & , int ) ) );
+ readConfig();
}
+void ViewMail::readConfig() {
+ Config cfg( "mail" );
+ cfg.setGroup( "Settings" );
+ m_showHtml = cfg.readBoolEntry( "showHtml", false );
+ showHtml->setOn( m_showHtml );
+}
+
void ViewMail::setText()
{
- QString toString;
- QString ccString;
- QString bccString;
+ QString toString;
+ QString ccString;
+ QString bccString;
- for ( QStringList::Iterator it = ( m_mail2[0] ).begin(); it != ( m_mail2[0] ).end(); ++it ) {
- toString += (*it);
- }
- for ( QStringList::Iterator it = ( m_mail2[1] ).begin(); it != ( m_mail2[1] ).end(); ++it ) {
- ccString += (*it);
- }
- for ( QStringList::Iterator it = ( m_mail2[2] ).begin(); it != ( m_mail2[2] ).end(); ++it ) {
- bccString += (*it);
- }
+ for ( QStringList::Iterator it = ( m_mail2[0] ).begin(); it != ( m_mail2[0] ).end(); ++it ) {
+ toString += (*it);
+ }
+ for ( QStringList::Iterator it = ( m_mail2[1] ).begin(); it != ( m_mail2[1] ).end(); ++it ) {
+ ccString += (*it);
+ }
+ for ( QStringList::Iterator it = ( m_mail2[2] ).begin(); it != ( m_mail2[2] ).end(); ++it ) {
+ bccString += (*it);
+ }
- setCaption( caption().arg( m_mail[0] ) );
+ setCaption( caption().arg( m_mail[0] ) );
- m_mailHtml = "<html><body>"
- "<table width=\"100%\" border=\"0\"><tr bgcolor=\"#FFDD76\"><td>"
- "<div align=left><b>" + deHtml( m_mail[1] ) + "</b></div>"
- "</td></tr><tr bgcolor=\"#EEEEE6\"><td>"
- "<b>" + tr( "From" ) + ": </b><font color=#6C86C0>" + deHtml( m_mail[0] ) + "</font><br>"
- "<b>" + tr( "To" ) + ": </b><font color=#6C86C0>" + deHtml( toString ) + "</font><br><b>" +
- tr( "Cc" ) + ": </b>" + deHtml( ccString ) + "<br>"
- "<b>" + tr( "Date" ) + ": </b> " + m_mail[3] +
- "</td></tr></table><font face=fixed>";
+ m_mailHtml = "<html><body>"
+ "<table width=\"100%\" border=\"0\"><tr bgcolor=\"#FFDD76\"><td>"
+ "<div align=left><b>" + deHtml( m_mail[1] ) + "</b></div>"
+ "</td></tr><tr bgcolor=\"#EEEEE6\"><td>"
+ "<b>" + tr( "From" ) + ": </b><font color=#6C86C0>" + deHtml( m_mail[0] ) + "</font><br>"
+ "<b>" + tr( "To" ) + ": </b><font color=#6C86C0>" + deHtml( toString ) + "</font><br><b>" +
+ tr( "Cc" ) + ": </b>" + deHtml( ccString ) + "<br>"
+ "<b>" + tr( "Date" ) + ": </b> " + m_mail[3] +
+ "</td></tr></table><font face=fixed>";
+ if ( !m_showHtml ) {
browser->setText( QString( m_mailHtml) + deHtml( m_mail[2] ) + "</font></html>" );
- // remove later in favor of a real handling
- m_gotBody = true;
+ } else {
+ browser->setText( QString( m_mailHtml) + m_mail[2] + "</font></html>" );
+ }
+ // remove later in favor of a real handling
+ m_gotBody = true;
}
diff --git a/noncore/net/mail/viewmail.h b/noncore/net/mail/viewmail.h
index dd7f854..bf7a4dd 100644
--- a/noncore/net/mail/viewmail.h
+++ b/noncore/net/mail/viewmail.h
@@ -42,14 +42,17 @@ protected slots:
void setText();
void slotItemClicked( QListViewItem * item , const QPoint & point, int c );
void slotDeleteMail( );
-
+ void slotShowHtml( bool );
private:
+ void readConfig();
+
bool _inLoop;
QString m_mailHtml;
bool m_gotBody;
RecBody m_body;
RecMail m_recMail;
+ bool m_showHtml;
// 0 from 1 subject 2 bodytext 3 date
QMap <int,QString> m_mail;
diff --git a/noncore/net/mail/viewmailbase.cpp b/noncore/net/mail/viewmailbase.cpp
index 0c7f671..e69617d 100644
--- a/noncore/net/mail/viewmailbase.cpp
+++ b/noncore/net/mail/viewmailbase.cpp
@@ -43,6 +43,11 @@ ViewMailBase::ViewMailBase(QWidget *parent, const char *name, WFlags fl)
attachbutton->addTo(mailmenu);
connect(attachbutton, SIGNAL(toggled(bool)), SLOT(slotChangeAttachview(bool)));
+
+ showHtml = new QAction( tr( "Show Html" ), QIconSet( Resource::loadPixmap( "mail/attach" ) ), 0, 0, this, 0, true );
+ showHtml->addTo( toolbar );
+ showHtml->addTo( mailmenu );
+
deleteMail = new QAction(tr("Delete Mail"), QIconSet(Resource::loadPixmap("mail/delete")), 0, 0, this);
deleteMail->addTo(toolbar);
deleteMail->addTo(mailmenu);
diff --git a/noncore/net/mail/viewmailbase.h b/noncore/net/mail/viewmailbase.h
index 898522e..6d2a5b2 100644
--- a/noncore/net/mail/viewmailbase.h
+++ b/noncore/net/mail/viewmailbase.h
@@ -19,7 +19,7 @@ public:
ViewMailBase(QWidget *parent = 0, const char *name = 0, WFlags fl = 0);
protected:
- QAction *reply, *forward, *attachbutton, *deleteMail;
+ QAction *reply, *forward, *attachbutton, *deleteMail, *showHtml;
QListView *attachments;
QToolBar *toolbar;
QTextBrowser *browser;
@@ -30,6 +30,7 @@ protected:
protected slots:
void slotChangeAttachview(bool state);
+
};
#endif