-rw-r--r-- | noncore/net/mail/accountview.cpp | 11 | ||||
-rw-r--r-- | noncore/net/mail/accountview.h | 2 | ||||
-rw-r--r-- | noncore/net/mail/defines.h | 2 | ||||
-rw-r--r-- | noncore/net/mail/mainwindow.cpp | 7 | ||||
-rw-r--r-- | noncore/net/mail/mainwindow.h | 4 | ||||
-rw-r--r-- | noncore/net/mail/opiemail.cpp | 13 | ||||
-rw-r--r-- | noncore/net/mail/opiemail.h | 3 | ||||
-rw-r--r-- | noncore/net/mail/settingsdialog.cpp | 4 | ||||
-rw-r--r-- | noncore/net/mail/settingsdialogui.ui | 30 |
9 files changed, 69 insertions, 7 deletions
diff --git a/noncore/net/mail/accountview.cpp b/noncore/net/mail/accountview.cpp index 1183704..0e739e2 100644 --- a/noncore/net/mail/accountview.cpp +++ b/noncore/net/mail/accountview.cpp @@ -6,16 +6,17 @@ #include <libmailwrapper/settings.h> #include <libmailwrapper/mailwrapper.h> #include <libmailwrapper/mailtypes.h> #include <libmailwrapper/abstractmail.h> /* OPIE */ #include <opie2/odebug.h> #include <qpe/qpeapplication.h> +#include <qpe/config.h> /* QT */ #include <qmessagebox.h> #include <qpopupmenu.h> using namespace Opie::Core; AccountView::AccountView( QWidget *parent, const char *name, WFlags flags ) : QListView( parent, name, flags ) @@ -26,24 +27,32 @@ AccountView::AccountView( QWidget *parent, const char *name, WFlags flags ) connect( this, SIGNAL( selectionChanged(QListViewItem*) ), SLOT( slotSelectionChanged(QListViewItem*) ) ); connect( this, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int) ),this, SLOT( slotMouseButton(int,QListViewItem*,const QPoint&,int) ) ); connect( this, SIGNAL(clicked(QListViewItem*) ),this, SLOT( slotMouseClicked(QListViewItem*) ) ); m_currentItem = 0; + readSettings(); } AccountView::~AccountView() { imapAccounts.clear(); mhAccounts.clear(); } +void AccountView::readSettings() +{ + Config cfg("mail"); + cfg.setGroup( "Settings" ); + m_clickopens = cfg.readBoolEntry("clickOpensFolder",true); +} + void AccountView::slotSelectionChanged(QListViewItem*item) { if (!item) { emit serverSelected(0); return; } AccountViewItem *view = static_cast<AccountViewItem *>(item); emit serverSelected(view->isServer()); @@ -93,17 +102,17 @@ void AccountView::slotRightButton(int, QListViewItem * item,const QPoint&,int) void AccountView::slotLeftButton(int, QListViewItem *,const QPoint&,int) { m_rightPressed = false; } void AccountView::slotMouseClicked(QListViewItem*item) { if (m_rightPressed) return; - if (!item || m_currentItem == item) return; + if (!item || m_currentItem == item||!m_clickopens) return; /* ### ToDo check settings if on single tab it should open */ m_currentItem = item; refresh(m_currentItem); } void AccountView::slotMouseButton(int button, QListViewItem * item,const QPoint&pos,int column) { if (button==1) { diff --git a/noncore/net/mail/accountview.h b/noncore/net/mail/accountview.h index 5c4b559..418f4f3 100644 --- a/noncore/net/mail/accountview.h +++ b/noncore/net/mail/accountview.h @@ -28,29 +28,31 @@ public: QMap<int,QString> currentServerMenu()const; QMap<int,QString> currentFolderMenu()const; public slots: virtual void refreshAll(); virtual void refresh(QListViewItem *item); virtual void refreshCurrent(); virtual void slotContextMenu(int id); + virtual void readSettings(); void setupFolderselect(Selectstore*sels); signals: void refreshMailview(const QValueList<RecMailP>& ); void serverSelected(int); void refreshMenues(int); protected: QListViewItem* m_currentItem; QValueList<IMAPviewItem*> imapAccounts; QValueList<MHviewItem*> mhAccounts; bool m_rightPressed:1; + bool m_clickopens:1; protected slots: virtual void slotRightButton(int, QListViewItem *,const QPoint&,int); virtual void slotLeftButton(int, QListViewItem *,const QPoint&,int); virtual void slotMouseButton(int, QListViewItem *,const QPoint&,int); virtual void slotMouseClicked(QListViewItem*); virtual void slotSelectionChanged(QListViewItem*); }; diff --git a/noncore/net/mail/defines.h b/noncore/net/mail/defines.h index 5fcbf0f..50d63dd 100644 --- a/noncore/net/mail/defines.h +++ b/noncore/net/mail/defines.h @@ -12,24 +12,26 @@ #define PIC_IMAPFOLDER "mail/imapfolder" #define PIC_MBOXFOLDER "mail/mboxfolder" #define PIC_POP3FOLDER "mail/pop3folder" #define PIC_INBOXFOLDER "mail/inbox" #define PIC_OUTBOXFOLDER "mail/outbox" #define PIC_LOCALFOLDER "mail/localfolder" #define PIC_OFFLINE "mail/notconnected" +#define PIC_DOCUMENT "DocsIcon" #define ICON_COMPOSEMAIL QIconSet( Resource::loadPixmap( PIC_COMPOSEMAIL ) ) #define ICON_SENDQUEUED QIconSet( Resource::loadPixmap( PIC_SENDQUEUED ) ) #define ICON_SHOWFOLDERS QIconSet( Resource::loadPixmap( PIC_SHOWFOLDERS ) ) #define ICON_SEARCHMAILS QIconSet( Resource::loadPixmap( PIC_SEARCHMAILS ) ) #define ICON_EDITSETTINGS QIconSet( Resource::loadPixmap( PIC_EDITSETTINGS ) ) #define ICON_EDITACCOUNTS QIconSet( Resource::loadPixmap( PIC_EDITACCOUNTS ) ) #define ICON_SYNC QIconSet( Resource::loadPixmap( PIC_SYNC ) ) +#define ICON_READMAIL QIconSet( Resource::loadPixmap( PIC_DOCUMENT)) #define PIXMAP_IMAPFOLDER QPixmap( Resource::loadPixmap( PIC_IMAPFOLDER ) ) #define PIXMAP_POP3FOLDER QPixmap( Resource::loadPixmap( PIC_POP3FOLDER ) ) #define PIXMAP_INBOXFOLDER QPixmap( Resource::loadPixmap( PIC_INBOXFOLDER) ) #define PIXMAP_MBOXFOLDER QPixmap( Resource::loadPixmap( PIC_MBOXFOLDER ) ) #define PIXMAP_OUTBOXFOLDER QPixmap( Resource::loadPixmap( PIC_OUTBOXFOLDER) ) #define PIXMAP_LOCALFOLDER QPixmap( Resource::loadPixmap( PIC_LOCALFOLDER) ) #define PIXMAP_OFFLINE QPixmap( Resource::loadPixmap( PIC_OFFLINE) ) diff --git a/noncore/net/mail/mainwindow.cpp b/noncore/net/mail/mainwindow.cpp index 3689352..b587424 100644 --- a/noncore/net/mail/mainwindow.cpp +++ b/noncore/net/mail/mainwindow.cpp @@ -58,21 +58,27 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) addToolBar( toolBar ); toolBar->setHorizontalStretchable( true ); QLabel *spacer = new QLabel( toolBar ); spacer->setBackgroundMode( QWidget::PaletteButton ); toolBar->setStretchableWidget( spacer ); + readMail = new QAction(tr("Read current mail"),ICON_READMAIL,0,0,this); + readMail->addTo(toolBar); + readMail->addTo(mailMenu); + connect(readMail,SIGNAL(activated()),this,SLOT(displayMail())); + composeMail = new QAction( tr( "Compose new mail" ), ICON_COMPOSEMAIL, 0, 0, this ); composeMail->addTo( toolBar ); composeMail->addTo( mailMenu ); + sendQueued = new QAction( tr( "Send queued mails" ), ICON_SENDQUEUED, 0, 0, this ); sendQueued->addTo( toolBar ); sendQueued->addTo( mailMenu ); /* syncFolders = new QAction( tr( "Sync mailfolders" ), ICON_SYNC, 0, 0, this ); @@ -117,16 +123,17 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) folderView = new AccountView( view ); folderView->header()->hide(); folderView->setRootIsDecorated( true ); folderView->addColumn( tr( "Mailbox" ) ); connect(folderView,SIGNAL(serverSelected(int)),this,SLOT(serverSelected(int))); connect(serverMenu,SIGNAL(activated(int)),folderView,SLOT(slotContextMenu(int))); connect(folderMenu,SIGNAL(activated(int)),folderView,SLOT(slotContextMenu(int))); + connect(this,SIGNAL(settingsChanged()),folderView,SLOT(readSettings())); layout->addWidget( folderView ); mailView = new QListView( view ); mailView->addColumn( "" ); mailView->addColumn( tr( "Subject" ),QListView::Manual ); mailView->addColumn( tr( "Sender" ),QListView::Manual ); diff --git a/noncore/net/mail/mainwindow.h b/noncore/net/mail/mainwindow.h index b781d62..6449ce8 100644 --- a/noncore/net/mail/mainwindow.h +++ b/noncore/net/mail/mainwindow.h @@ -44,18 +44,20 @@ protected slots: virtual void serverSelected(int); protected: QToolBar *toolBar; QMenuBar *menuBar; QPopupMenu *mailMenu, *settingsMenu,*serverMenu,*folderMenu; QAction *composeMail, *sendQueued, *showFolders, *searchMails, *deleteMails, - *editSettings, *editAccounts, *syncFolders; + *editSettings, *editAccounts, *syncFolders,*readMail; AccountView *folderView; QListView *mailView; QBoxLayout *layout; int m_Rotate; QCopChannel* m_sysChannel; int m_ServerMenuId,m_FolderMenuId; +signals: + void settingsChanged(); }; #endif diff --git a/noncore/net/mail/opiemail.cpp b/noncore/net/mail/opiemail.cpp index 1bc81e4..fb8877a 100644 --- a/noncore/net/mail/opiemail.cpp +++ b/noncore/net/mail/opiemail.cpp @@ -10,16 +10,17 @@ #include <libmailwrapper/smtpwrapper.h> #include <libmailwrapper/mailtypes.h> #include <libmailwrapper/abstractmail.h> /* OPIE */ #include <opie2/odebug.h> #include <qpe/resource.h> #include <qpe/qpeapplication.h> +#include <qpe/config.h> /* QT */ #include <qmap.h> #include <qvaluelist.h> /* UNIX */ #include <signal.h> @@ -101,16 +102,20 @@ void ValueExplode::splitit() } } } OpieMail::OpieMail( QWidget *parent, const char *name, WFlags ) : MainWindow( parent, name, WStyle_ContextHelp ) { setup_signalblocking(); + Config cfg("mail"); + cfg.setGroup( "Settings" ); + m_clickopens = cfg.readBoolEntry("clickOpensMail",true); + settings = new Settings(); folderView->populate( settings->getAccounts() ); connect(folderView,SIGNAL(refreshMenues(int)),this,SLOT(refreshMenu(int))); } OpieMail::~OpieMail() { if (settings) delete settings; @@ -229,17 +234,22 @@ void OpieMail::slotSendQueued() void OpieMail::slotSearchMails() { odebug << "Search Mails" << oendl; } void OpieMail::slotEditSettings() { SettingsDialog settingsDialog( this, 0, true, WStyle_ContextHelp ); - QPEApplication::execDialog( &settingsDialog ); + if (QPEApplication::execDialog( &settingsDialog )) { + Config cfg("mail"); + cfg.setGroup( "Settings" ); + m_clickopens = cfg.readBoolEntry("clickOpensMail",true); + emit settingsChanged(); + } } void OpieMail::slotEditAccounts() { odebug << "Edit Accounts" << oendl; EditAccounts eaDialog( settings, this, 0, true, WStyle_ContextHelp ); eaDialog.slotAdjustColumns(); if (QPEApplication::execDialog( &eaDialog )==QDialog::Rejected);// return; @@ -337,16 +347,17 @@ void OpieMail::refreshMailView(const QValueList<RecMailP>&list) item = new MailListViewItem(mailView,item); item->storeData((*it)); item->showEntry(); } } void OpieMail::mailLeftClicked(int button, QListViewItem *item,const QPoint&,int ) { + if (!m_clickopens) return; /* just LEFT button - or tap with stylus on pda */ if (button!=1) return; if (!item) return; if (folderView->currentisDraft()) { reEditMail(); } else { displayMail(); } diff --git a/noncore/net/mail/opiemail.h b/noncore/net/mail/opiemail.h index 75a0b2d..327bef7 100644 --- a/noncore/net/mail/opiemail.h +++ b/noncore/net/mail/opiemail.h @@ -38,14 +38,17 @@ protected slots: virtual void slotMoveCopyMail(); virtual void reEditMail(); virtual void serverSelected(int); virtual void refreshMenu(int); protected: void setup_signalblocking(); + bool m_clickopens:1; + private: Settings *settings; +signals: }; #endif diff --git a/noncore/net/mail/settingsdialog.cpp b/noncore/net/mail/settingsdialog.cpp index 6441948..74b8b12 100644 --- a/noncore/net/mail/settingsdialog.cpp +++ b/noncore/net/mail/settingsdialog.cpp @@ -15,29 +15,33 @@ SettingsDialog::SettingsDialog( QWidget* parent, const char* name, bool modal, W SettingsDialog::~SettingsDialog() { } void SettingsDialog::readConfig() { Config cfg("mail"); cfg.setGroup( "Settings" ); showHtmlButton->setChecked( cfg.readBoolEntry( "showHtml", false ) ); + clickOpenMailButton->setChecked(cfg.readBoolEntry("clickOpensMail",true)); + clickOpenFolderButton->setChecked(cfg.readBoolEntry("clickOpensFolder",true)); cfg.setGroup( "Compose" ); checkBoxLater->setChecked( cfg.readBoolEntry( "sendLater", false ) ); cfg.setGroup( "Applet" ); cbEnableTaskbarApplet->setChecked( cfg.readBoolEntry( "Disabled", false ) ); spCheckOften->setValue( cfg.readNumEntry( "CheckEvery", 5 ) ); cbBlinkLed->setChecked( cfg.readBoolEntry( "BlinkLed", true ) ); cbPlaySound->setChecked( cfg.readBoolEntry( "PlaySound", false ) ); } void SettingsDialog::writeConfig() { Config cfg( "mail" ); cfg.setGroup( "Settings" ); + cfg.writeEntry("clickOpensMail",clickOpenMailButton->isChecked()); + cfg.writeEntry("clickOpensFolder",clickOpenFolderButton->isChecked()); cfg.writeEntry( "showHtml", showHtmlButton->isChecked() ); cfg.setGroup( "Compose" ); cfg.writeEntry( "sendLater", checkBoxLater->isChecked() ); cfg.setGroup( "Applet" ); cfg.writeEntry( "Disabled", cbEnableTaskbarApplet->isChecked() ); int check = spCheckOften->value(); if (check<1)check=1;if (check>99)check=99; cfg.writeEntry( "CheckEvery", check); diff --git a/noncore/net/mail/settingsdialogui.ui b/noncore/net/mail/settingsdialogui.ui index 4acd84a..0a97da0 100644 --- a/noncore/net/mail/settingsdialogui.ui +++ b/noncore/net/mail/settingsdialogui.ui @@ -6,18 +6,18 @@ <name>name</name> <cstring>SettingsDialogUI</cstring> </property> <property stdset="1"> <name>geometry</name> <rect> <x>0</x> <y>0</y> - <width>312</width> - <height>379</height> + <width>304</width> + <height>378</height> </rect> </property> <property stdset="1"> <name>caption</name> <string>Settings Dialog</string> </property> <property> <name>layoutMargin</name> @@ -54,33 +54,55 @@ </property> <attribute> <name>title</name> <string>View Mail</string> </attribute> <vbox> <property stdset="1"> <name>margin</name> - <number>3</number> + <number>11</number> </property> <property stdset="1"> <name>spacing</name> - <number>3</number> + <number>6</number> </property> <widget> <class>QCheckBox</class> <property stdset="1"> <name>name</name> <cstring>showHtmlButton</cstring> </property> <property stdset="1"> <name>text</name> <string>View mail as Html</string> </property> </widget> + <widget> + <class>QCheckBox</class> + <property stdset="1"> + <name>name</name> + <cstring>clickOpenMailButton</cstring> + </property> + <property stdset="1"> + <name>text</name> + <string>Click opens mail</string> + </property> + </widget> + <widget> + <class>QCheckBox</class> + <property stdset="1"> + <name>name</name> + <cstring>clickOpenFolderButton</cstring> + </property> + <property stdset="1"> + <name>text</name> + <string>Click activate server/folder</string> + </property> + </widget> <spacer> <property> <name>name</name> <cstring>Spacer1</cstring> </property> <property stdset="1"> <name>orientation</name> <enum>Vertical</enum> |