[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