summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/mail.pro3
-rw-r--r--noncore/net/mail/settingsdialog.cpp15
-rw-r--r--noncore/net/mail/settingsdialogui.ui120
-rw-r--r--noncore/net/mail/taskbarapplet/mailapplet.cpp32
-rw-r--r--noncore/net/mail/taskbarapplet/mailapplet.h2
5 files changed, 165 insertions, 7 deletions
diff --git a/noncore/net/mail/mail.pro b/noncore/net/mail/mail.pro
index a96c88e..96ffaa8 100644
--- a/noncore/net/mail/mail.pro
+++ b/noncore/net/mail/mail.pro
@@ -1,52 +1,53 @@
CONFIG += qt warn_on debug quick-app
HEADERS = defines.h \
editaccounts.h \
composemail.h \
accountview.h \
mainwindow.h \
viewmail.h \
viewmailbase.h \
opiemail.h \
mailistviewitem.h \
settingsdialog.h \
statuswidget.h \
newmaildir.h
SOURCES = main.cpp \
opiemail.cpp \
mainwindow.cpp \
accountview.cpp \
composemail.cpp \
addresspicker.cpp \
editaccounts.cpp \
viewmail.cpp \
viewmailbase.cpp \
settingsdialog.cpp \
statuswidget.cpp \
newmaildir.cpp
INTERFACES = editaccountsui.ui \
selectmailtypeui.ui \
imapconfigui.ui \
pop3configui.ui \
nntpconfigui.ui \
smtpconfigui.ui \
addresspickerui.ui \
composemailui.ui \
settingsdialogui.ui \
statuswidgetui.ui \
- newmaildirui.ui
+ newmaildirui.ui
+
INCLUDEPATH += $(OPIEDIR)/include
CONFTEST = $$system( echo $CONFIG_TARGET_MACOSX )
contains( CONFTEST, y ){
LIBS += -lqpe -lopie -lmailwrapper -liconv
}else{
LIBS += -lqpe -lopie -lmailwrapper
}
TARGET = opiemail
include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/net/mail/settingsdialog.cpp b/noncore/net/mail/settingsdialog.cpp
index f9de405..061ea72 100644
--- a/noncore/net/mail/settingsdialog.cpp
+++ b/noncore/net/mail/settingsdialog.cpp
@@ -1,38 +1,49 @@
#include <qcheckbox.h>
+#include <qspinbox.h>
#include <qpe/config.h>
#include "settingsdialog.h"
SettingsDialog::SettingsDialog( QWidget* parent, const char* name, bool modal, WFlags fl )
: SettingsDialogUI( parent, name, modal, fl ) {
readConfig();
}
SettingsDialog::~SettingsDialog() {
}
void SettingsDialog::readConfig() {
Config cfg("mail");
cfg.setGroup( "Settings" );
showHtmlButton->setChecked( cfg.readBoolEntry( "showHtml", false ) );
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( "showHtml", showHtmlButton->isChecked() );
cfg.setGroup( "Compose" );
- cfg.writeEntry( "sendLater", checkBoxLater->isChecked() );;
-
+ cfg.writeEntry( "sendLater", checkBoxLater->isChecked() );
+ cfg.setGroup( "Applet" );
+ cfg.writeEntry( "Disabled", cbEnableTaskbarApplet->isChecked() );
+ cfg.writeEntry( "CheckEvery", spCheckOften->value() );
+ cfg.writeEntry( "BlinkLed", cbBlinkLed->isChecked() );
+ cfg.writeEntry( "PlaySound", cbPlaySound->isChecked() );
}
void SettingsDialog::accept() {
writeConfig();
QDialog::accept();
}
diff --git a/noncore/net/mail/settingsdialogui.ui b/noncore/net/mail/settingsdialogui.ui
index c5589dc..a078168 100644
--- a/noncore/net/mail/settingsdialogui.ui
+++ b/noncore/net/mail/settingsdialogui.ui
@@ -1,158 +1,276 @@
<!DOCTYPE UI><UI>
<class>SettingsDialogUI</class>
<widget>
<class>QDialog</class>
<property stdset="1">
<name>name</name>
<cstring>SettingsDialogUI</cstring>
</property>
<property stdset="1">
<name>geometry</name>
<rect>
<x>0</x>
<y>0</y>
- <width>324</width>
+ <width>320</width>
<height>379</height>
</rect>
</property>
<property stdset="1">
<name>caption</name>
<string>Settings Dialog</string>
</property>
<property>
<name>layoutMargin</name>
</property>
<property>
<name>layoutSpacing</name>
</property>
<vbox>
<property stdset="1">
<name>margin</name>
<number>3</number>
</property>
<property stdset="1">
<name>spacing</name>
<number>3</number>
</property>
<widget>
<class>QTabWidget</class>
<property stdset="1">
<name>name</name>
<cstring>TabWidget2</cstring>
</property>
<property>
<name>layoutMargin</name>
</property>
<property>
<name>layoutSpacing</name>
</property>
<widget>
<class>QWidget</class>
<property stdset="1">
<name>name</name>
<cstring>tab</cstring>
</property>
<attribute>
<name>title</name>
<string>View Mail</string>
</attribute>
<vbox>
<property stdset="1">
<name>margin</name>
<number>3</number>
</property>
<property stdset="1">
<name>spacing</name>
<number>3</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>
<spacer>
<property>
<name>name</name>
<cstring>Spacer1</cstring>
</property>
<property stdset="1">
<name>orientation</name>
<enum>Vertical</enum>
</property>
<property stdset="1">
<name>sizeType</name>
<enum>Expanding</enum>
</property>
<property>
<name>sizeHint</name>
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</vbox>
</widget>
<widget>
<class>QWidget</class>
<property stdset="1">
<name>name</name>
<cstring>tab</cstring>
</property>
<attribute>
<name>title</name>
<string>Compose Mail</string>
</attribute>
<vbox>
<property stdset="1">
<name>margin</name>
<number>3</number>
</property>
<property stdset="1">
<name>spacing</name>
<number>3</number>
</property>
<widget>
<class>QCheckBox</class>
<property stdset="1">
<name>name</name>
<cstring>checkBoxLater</cstring>
</property>
<property stdset="1">
<name>text</name>
<string>Send mails later ( enqueue in outbox )</string>
</property>
</widget>
<spacer>
<property>
<name>name</name>
<cstring>Spacer2</cstring>
</property>
<property stdset="1">
<name>orientation</name>
<enum>Vertical</enum>
</property>
<property stdset="1">
<name>sizeType</name>
<enum>Expanding</enum>
</property>
<property>
<name>sizeHint</name>
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</vbox>
</widget>
+ <widget>
+ <class>QWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>tab</cstring>
+ </property>
+ <attribute>
+ <name>title</name>
+ <string>Taskbar Applet</string>
+ </attribute>
+ <vbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>3</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>3</number>
+ </property>
+ <widget>
+ <class>QCheckBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>cbEnableTaskbarApplet</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Enable Taskbar Applet</string>
+ </property>
+ </widget>
+ <widget>
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout2</cstring>
+ </property>
+ <hbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget>
+ <class>QSpinBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>spCheckOften</cstring>
+ </property>
+ <property stdset="1">
+ <name>suffix</name>
+ <string> min</string>
+ </property>
+ <property stdset="1">
+ <name>value</name>
+ <number>5</number>
+ </property>
+ </widget>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel1</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Check how often</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget>
+ <class>QCheckBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>cbBlinkLed</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Blink Led when new mails arrive</string>
+ </property>
+ </widget>
+ <widget>
+ <class>QCheckBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>cbPlaySound</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Play Sound when new mails arrive</string>
+ </property>
+ </widget>
+ <spacer>
+ <property>
+ <name>name</name>
+ <cstring>Spacer3</cstring>
+ </property>
+ <property stdset="1">
+ <name>orientation</name>
+ <enum>Vertical</enum>
+ </property>
+ <property stdset="1">
+ <name>sizeType</name>
+ <enum>Expanding</enum>
+ </property>
+ <property>
+ <name>sizeHint</name>
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+ </widget>
</widget>
</vbox>
</widget>
</UI>
diff --git a/noncore/net/mail/taskbarapplet/mailapplet.cpp b/noncore/net/mail/taskbarapplet/mailapplet.cpp
index f3550c7..8bf4b89 100644
--- a/noncore/net/mail/taskbarapplet/mailapplet.cpp
+++ b/noncore/net/mail/taskbarapplet/mailapplet.cpp
@@ -1,75 +1,103 @@
#include <qlayout.h>
#include <qpixmap.h>
#include <qlabel.h>
#include <qsound.h>
#include <qtimer.h>
#include <qdir.h>
#include <qpe/qcopenvelope_qws.h>
#include <qpe/resource.h>
#include <qpe/config.h>
#include <opie/odevice.h>
#include "mailapplet.h"
using namespace Opie;
MailApplet::MailApplet( QWidget *parent, const char *name, WFlags fl )
: QButton( parent, name, fl ) {
m_config = new Config( "mail" );
m_config->setGroup( "Applet" );
QVBoxLayout *layout = new QVBoxLayout( this );
layout->addItem( new QSpacerItem( 0,0 ) );
QLabel *pixmap = new QLabel( this );
pixmap->setPixmap( Resource::loadPixmap( "opiemail/mailchecker" ) );
layout->addWidget( pixmap );
layout->addItem( new QSpacerItem( 0,0 ) );
hide();
connect( this, SIGNAL( clicked() ), SLOT( slotClicked() ) );
if ( !m_config->readBoolEntry( "Disabled", false ) ) {
m_intervalMs = m_config->readNumEntry( "CheckEvery", 5 ) * 60000;
m_intervalTimer = new QTimer();
m_intervalTimer->start( m_intervalMs );
connect( m_intervalTimer, SIGNAL(timeout() ), SLOT( slotCheck() ) );
QTimer::singleShot( 0, this, SLOT( slotCheck() ) );
}
}
void MailApplet::drawButton(QPainter *) { }
void MailApplet::drawButtonText(QPainter *) { }
void MailApplet::slotClicked() {
qDebug( " CLICKED" );
QCopEnvelope e( "QPE/System", "execute(QString)" );
e << QString( "opiemail" );
ODevice *device = ODevice::inst();
if ( !device-> ledList ( ). isEmpty ( ) ) {
OLed led = ( device-> ledList ( ). contains ( Led_Mail )) ? Led_Mail : device-> ledList ( ) [0];
device->setLedState( led, Led_Off );
}
}
void MailApplet::slotCheck() {
// Check wether the check interval has been changed.
int newIntervalMs = m_config->readNumEntry( "CheckEvery", 5 ) * 60000;
if ( newIntervalMs != m_intervalMs ) {
m_intervalTimer->changeInterval( newIntervalMs );
m_intervalMs = newIntervalMs;
}
+ int newMails = 0;
+
+ if ( true ) {
+ ODevice *device = ODevice::inst();
+ if ( isHidden() ) show();
+ if ( m_config->readBoolEntry( "BlinkLed", true ) ) {
+ if ( !device-> ledList ( ).isEmpty( ) ) {
+ OLed led = ( device->ledList( ).contains( Led_Mail ) ) ? Led_Mail : device->ledList( ) [0];
+ device->setLedState( led, device->ledStateList( led ).contains( Led_BlinkSlow ) ? Led_BlinkSlow : Led_On );
+ }
+ }
+ if ( m_config->readBoolEntry( "PlaySound", false ) )
+ device->alarmSound();
+
+ Config cfg( "mail" );
+ cfg.setGroup( "Status" );
+ cfg.writeEntry( "NewMails", newMails ); // todo
+
+ QCopEnvelope env( "QPE/Pim", "newMails(int)" );
+ env << newMails;
+
+ } else {
+ ODevice *device = ODevice::inst();
+ if ( !isHidden() ) hide();
+ if ( !device-> ledList( ).isEmpty( ) ) {
+ OLed led = ( device->ledList( ).contains( Led_Mail ) ) ? Led_Mail : device->ledList( ) [0];
+ device->setLedState( led, Led_Off );
+ }
+ }
+
// go trough accounts and check here
- // depending on result show or hide
// also trigger qcop call and save status to config
- // get led to blink
}
diff --git a/noncore/net/mail/taskbarapplet/mailapplet.h b/noncore/net/mail/taskbarapplet/mailapplet.h
index 1c48b29..34bdc22 100644
--- a/noncore/net/mail/taskbarapplet/mailapplet.h
+++ b/noncore/net/mail/taskbarapplet/mailapplet.h
@@ -1,32 +1,32 @@
#ifndef MAILAPPLET_H
#define MAILAPPLET_H
#include <qbutton.h>
class Config;
class QTimer;
class MailApplet : public QButton {
Q_OBJECT
public:
- MailApplet(QWidget *parent = 0, const char *name = 0, WFlags fl = 0);
+ MailApplet( QWidget *parent = 0, const char *name = 0, WFlags fl = 0 );
protected:
void drawButton(QPainter *);
void drawButtonText(QPainter *);
void gotNewMail();
protected slots:
void slotCheck();
void slotClicked();
private:
Config *m_config;
QTimer *m_intervalTimer;
int m_intervalMs;
};
#endif