[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-pim
Subject: [Kde-pim] korganizer patch
From: Jesse Barnes <jbarnes () sgi ! com>
Date: 2001-10-30 20:34:20
[Download RAW message or body]
Here's an ugly and somewhat incorrect patch to add email reminders to
korganizer. It works on my machine however, so I thought it might be
useful to others too. It's a feature I've been wanting for awhile and I
finally had a few minutes to implement it. The patch is against
kdepim-2.2.1.
Jesse
diff -Naur ../../tmp/kdepim-2.2.1/korganizer/alarmdialog.cpp korganizer/alarmdialog.cpp
--- ../../tmp/kdepim-2.2.1/korganizer/alarmdialog.cpp Tue Apr 10 18:05:44 2001
+++ korganizer/alarmdialog.cpp Tue Oct 30 12:07:14 2001
@@ -12,6 +12,8 @@
#include "event.h"
#include "koeventviewer.h"
+#include "komailclient.h"
+#include "koprefs.h"
#include "alarmdialog.h"
#include "alarmdialog.moc"
@@ -69,6 +71,7 @@
void AlarmDialog::eventNotification()
{
Event *anEvent;
+ KOMailClient mua;
for (anEvent = mEvents.first(); anEvent;
anEvent = mEvents.next()) {
@@ -80,6 +83,11 @@
if (!anEvent->alarm()->audioFile().isEmpty()) {
KAudioPlayer::play(anEvent->alarm()->audioFile().latin1());
+ }
+
+ if (!anEvent->alarm()->mailAddress().isEmpty()) {
+ mua.send(KOPrefs::instance()->email(), anEvent->alarm()->mailAddress(),
+ anEvent->summary(), anEvent->description(), 0);
}
}
}
diff -Naur ../../tmp/kdepim-2.2.1/korganizer/calprinter.cpp korganizer/calprinter.cpp
--- ../../tmp/kdepim-2.2.1/korganizer/calprinter.cpp Sat Jul 28 22:01:34 2001
+++ korganizer/calprinter.cpp Mon Sep 24 13:13:22 2001
@@ -412,7 +412,7 @@
p.end();
}
-void CalPrinter::drawTodo(int count, Todo * item, QPainter &p,int level=0,QRect *r=0)
+void CalPrinter::drawTodo(int count, Todo * item, QPainter &p,int level,QRect *r)
{
QString outStr;
KLocale *local = KGlobal::locale();
diff -Naur ../../tmp/kdepim-2.2.1/korganizer/koeditorgeneralevent.cpp korganizer/koeditorgeneralevent.cpp
--- ../../tmp/kdepim-2.2.1/korganizer/koeditorgeneralevent.cpp Sat Jul 28 22:01:34 2001
+++ korganizer/koeditorgeneralevent.cpp Tue Oct 30 11:24:58 2001
@@ -204,6 +204,11 @@
alarmProgramButton->setToggleButton(true);
QToolTip::add(alarmProgramButton, i18n("No program set"));
+ alarmEmailButton = new QCheckBox( this, "CheckBox_3" );
+ alarmEmailButton->setText( i18n("Email:") );
+ alarmEmailEdit = new QLineEdit( this, "alarmEmailEdit" );
+ alarmEmailEdit->setText("");
+
connect(alarmButton, SIGNAL(toggled(bool)),
this, SLOT(alarmStuffEnable(bool)));
@@ -211,6 +216,8 @@
this, SLOT(pickAlarmSound()));
connect(alarmProgramButton, SIGNAL(clicked()),
this, SLOT(pickAlarmProgram()));
+ connect(alarmEmailButton, SIGNAL(toggled(bool)),
+ this, SLOT(alarmEmailEnable(bool)));
}
void KOEditorGeneralEvent::initLayout()
@@ -238,6 +245,8 @@
layoutAlarmBox->addWidget(alarmIncrCombo);
layoutAlarmBox->addWidget(alarmSoundButton);
layoutAlarmBox->addWidget(alarmProgramButton);
+ layoutAlarmBox->addWidget(alarmEmailButton);
+ layoutAlarmBox->addWidget(alarmEmailEdit);
layoutAlarmLine->addStretch(1);
@@ -320,6 +329,11 @@
alarmSoundButton->setEnabled(enable);
alarmProgramButton->setEnabled(enable);
alarmIncrCombo->setEnabled(enable);
+ alarmEmailButton->setEnabled(enable);
+ if(alarmEmailButton->isEnabled() && alarmEmailButton->isChecked())
+ alarmEmailEdit->setEnabled(enable);
+ if(!enable)
+ alarmEmailEdit->setEnabled(enable);
}
void KOEditorGeneralEvent::alarmStuffDisable(bool disable)
@@ -327,6 +341,16 @@
alarmStuffEnable(!disable);
}
+void KOEditorGeneralEvent::alarmEmailEnable(bool enable)
+{
+ alarmEmailEdit->setEnabled(enable);
+}
+
+void KOEditorGeneralEvent::alarmEmailDisable(bool disable)
+{
+ alarmEmailEnable(!disable);
+}
+
void KOEditorGeneralEvent::dontAssociateTime(bool noTime)
{
timeStuffDisable(noTime);
@@ -499,6 +523,10 @@
QString dispStr = i18n("Playing '%1'").arg(alarmSound);
QToolTip::add(alarmSoundButton, dispStr);
}
+ if (!event->alarm()->mailAddress().isEmpty()) {
+ alarmEmailEdit->setText(event->alarm()->mailAddress());
+ alarmEmailButton->setChecked(true);
+ }
} else {
alarmStuffEnable(false);
}
@@ -580,10 +608,15 @@
event->alarm()->setAudioFile(alarmSound);
else
event->alarm()->setAudioFile("");
+ if (alarmEmailButton->isChecked())
+ event->alarm()->setMailAddress(alarmEmailEdit->text());
+ else
+ event->alarm()->setMailAddress("");
} else {
event->alarm()->setEnabled(false);
event->alarm()->setProgramFile("");
event->alarm()->setAudioFile("");
+ event->alarm()->setMailAddress("");
}
// note, that if on the details tab the "Transparency" option is implemented,
diff -Naur ../../tmp/kdepim-2.2.1/korganizer/koeditorgeneralevent.h korganizer/koeditorgeneralevent.h
--- ../../tmp/kdepim-2.2.1/korganizer/koeditorgeneralevent.h Sun Jun 10 16:46:43 2001
+++ korganizer/koeditorgeneralevent.h Mon Oct 29 18:01:34 2001
@@ -51,6 +51,8 @@
void timeStuffDisable(bool disable);
void alarmStuffEnable(bool enable);
void alarmStuffDisable(bool disable);
+ void alarmEmailEnable(bool enable);
+ void alarmEmailDisable(bool disable);
void dontAssociateTime(bool noTime);
void pickAlarmSound();
void pickAlarmProgram();
@@ -93,6 +95,8 @@
QCheckBox *recursButton;
QLabel *alarmBell;
QCheckBox *alarmButton;
+ QCheckBox *alarmEmailButton;
+ QLineEdit *alarmEmailEdit;
KRestrictedLine *alarmTimeEdit;
QPushButton *alarmSoundButton;
QPushButton *alarmProgramButton;
diff -Naur ../../tmp/kdepim-2.2.1/korganizer/komailclient.h korganizer/komailclient.h
--- ../../tmp/kdepim-2.2.1/korganizer/komailclient.h Wed May 9 07:53:47 2001
+++ korganizer/komailclient.h Tue Oct 30 12:06:48 2001
@@ -18,13 +18,13 @@
virtual ~KOMailClient();
bool mailAttendees(Incidence *);
-
- protected:
/** Send mail with specified from, to and subject field and body as text. If
* bcc is set, send a blind carbon copy to the sender from */
bool send(const QString &from,const QString &to,const QString &subject,
const QString &body,bool bcc=false);
+
+ protected:
QString createBody(Incidence *incidence);
int kMailOpenComposer(const QString& arg0,const QString& arg1,
_______________________________________________
kde-pim mailing list
kde-pim@mail.kde.org
http://mail.kde.org/mailman/listinfo/kde-pim
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic