summaryrefslogtreecommitdiff
authoralwin <alwin>2005-03-20 00:12:11 (UTC)
committer alwin <alwin>2005-03-20 00:12:11 (UTC)
commitbde8cf28573964aeb78fa9785cf1514cb8aa35a7 (patch) (side-by-side diff)
treee91895f42ea3f9f5ac3d77128b8715b359ab54bf
parent9b608c7c967b2a22d4c6a8d8b98a4635d3b21204 (diff)
downloadopie-bde8cf28573964aeb78fa9785cf1514cb8aa35a7.zip
opie-bde8cf28573964aeb78fa9785cf1514cb8aa35a7.tar.gz
opie-bde8cf28573964aeb78fa9785cf1514cb8aa35a7.tar.bz2
user may switch open folders/mails on single-click
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/mail/accountview.cpp11
-rw-r--r--noncore/net/mail/accountview.h2
-rw-r--r--noncore/net/mail/defines.h2
-rw-r--r--noncore/net/mail/mainwindow.cpp7
-rw-r--r--noncore/net/mail/mainwindow.h4
-rw-r--r--noncore/net/mail/opiemail.cpp13
-rw-r--r--noncore/net/mail/opiemail.h3
-rw-r--r--noncore/net/mail/settingsdialog.cpp4
-rw-r--r--noncore/net/mail/settingsdialogui.ui30
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
@@ -8,12 +8,13 @@
#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;
@@ -28,20 +29,28 @@ AccountView::AccountView( QWidget *parent, const char *name, WFlags flags )
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;
}
@@ -95,13 +104,13 @@ 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)
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
@@ -30,12 +30,13 @@ public:
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);
@@ -43,12 +44,13 @@ signals:
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*);
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
@@ -14,20 +14,22 @@
#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) )
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
@@ -60,17 +60,23 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags )
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 );
/*
@@ -119,12 +125,13 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags )
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( "" );
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
@@ -46,16 +46,18 @@ protected slots:
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
@@ -12,12 +12,13 @@
#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 */
@@ -103,12 +104,16 @@ 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()
@@ -231,13 +236,18 @@ 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 );
@@ -339,12 +349,13 @@ void OpieMail::refreshMailView(const QValueList<RecMailP>&list)
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 {
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
@@ -40,12 +40,15 @@ protected slots:
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
@@ -17,12 +17,14 @@ 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 ) );
@@ -30,12 +32,14 @@ void SettingsDialog::readConfig() {
}
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();
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
@@ -8,14 +8,14 @@
</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>
@@ -56,29 +56,51 @@
<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">