summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-06-04 10:29:18 (UTC)
committer zautrix <zautrix>2005-06-04 10:29:18 (UTC)
commita7939017000e165e711e3f0cffeab46852a9fb2e (patch) (unidiff)
tree6b1c0d44051039e47f7b7f6cf55e25af9a6e7024
parentd40cf5135c640506011334364274b8ee5df9998b (diff)
downloadkdepimpi-a7939017000e165e711e3f0cffeab46852a9fb2e.zip
kdepimpi-a7939017000e165e711e3f0cffeab46852a9fb2e.tar.gz
kdepimpi-a7939017000e165e711e3f0cffeab46852a9fb2e.tar.bz2
fixes
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/korganizer/ic_family.pngbin0 -> 7865 bytes
-rw-r--r--bin/kdepim/korganizer/ic_female.pngbin0 -> 6234 bytes
-rw-r--r--bin/kdepim/korganizer/ic_kids.pngbin0 -> 9039 bytes
-rw-r--r--bin/kdepim/korganizer/ic_male.pngbin0 -> 6440 bytes
-rw-r--r--bin/kdepim/korganizer/ic_penguin.pngbin0 -> 5343 bytes
-rw-r--r--korganizer/calendarview.cpp40
6 files changed, 27 insertions, 13 deletions
diff --git a/bin/kdepim/korganizer/ic_family.png b/bin/kdepim/korganizer/ic_family.png
new file mode 100644
index 0000000..6b0dec6
--- a/dev/null
+++ b/bin/kdepim/korganizer/ic_family.png
Binary files differ
diff --git a/bin/kdepim/korganizer/ic_female.png b/bin/kdepim/korganizer/ic_female.png
new file mode 100644
index 0000000..74deae4
--- a/dev/null
+++ b/bin/kdepim/korganizer/ic_female.png
Binary files differ
diff --git a/bin/kdepim/korganizer/ic_kids.png b/bin/kdepim/korganizer/ic_kids.png
new file mode 100644
index 0000000..fdbdabc
--- a/dev/null
+++ b/bin/kdepim/korganizer/ic_kids.png
Binary files differ
diff --git a/bin/kdepim/korganizer/ic_male.png b/bin/kdepim/korganizer/ic_male.png
new file mode 100644
index 0000000..f22eaab
--- a/dev/null
+++ b/bin/kdepim/korganizer/ic_male.png
Binary files differ
diff --git a/bin/kdepim/korganizer/ic_penguin.png b/bin/kdepim/korganizer/ic_penguin.png
new file mode 100644
index 0000000..a78da37
--- a/dev/null
+++ b/bin/kdepim/korganizer/ic_penguin.png
Binary files differ
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index 42166ab..608b73b 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -49,249 +49,256 @@
49#ifndef KORG_NOSPLITTER 49#ifndef KORG_NOSPLITTER
50#include <qsplitter.h> 50#include <qsplitter.h>
51#endif 51#endif
52 52
53#include <kglobal.h> 53#include <kglobal.h>
54#include <kdebug.h> 54#include <kdebug.h>
55#include <kstandarddirs.h> 55#include <kstandarddirs.h>
56#include <kfiledialog.h> 56#include <kfiledialog.h>
57#include <kmessagebox.h> 57#include <kmessagebox.h>
58#include <knotifyclient.h> 58#include <knotifyclient.h>
59#include <kconfig.h> 59#include <kconfig.h>
60 60
61#include <libkdepim/ksyncprefsdialog.h> 61#include <libkdepim/ksyncprefsdialog.h>
62#include <krun.h> 62#include <krun.h>
63#include <kdirwatch.h> 63#include <kdirwatch.h>
64#include <libkdepim/kdatepicker.h> 64#include <libkdepim/kdatepicker.h>
65#include <libkdepim/ksyncprofile.h> 65#include <libkdepim/ksyncprofile.h>
66#include <libkdepim/kpimglobalprefs.h> 66#include <libkdepim/kpimglobalprefs.h>
67 67
68#include <libkcal/vcaldrag.h> 68#include <libkcal/vcaldrag.h>
69#include <libkcal/icaldrag.h> 69#include <libkcal/icaldrag.h>
70#include <libkcal/icalformat.h> 70#include <libkcal/icalformat.h>
71#include <libkcal/vcalformat.h> 71#include <libkcal/vcalformat.h>
72#include <libkcal/scheduler.h> 72#include <libkcal/scheduler.h>
73#include <libkcal/calendarlocal.h> 73#include <libkcal/calendarlocal.h>
74#include <libkcal/journal.h> 74#include <libkcal/journal.h>
75#include <libkcal/calfilter.h> 75#include <libkcal/calfilter.h>
76#include <libkcal/attendee.h> 76#include <libkcal/attendee.h>
77#include <libkcal/dndfactory.h> 77#include <libkcal/dndfactory.h>
78#include <libkcal/freebusy.h> 78#include <libkcal/freebusy.h>
79#include <libkcal/filestorage.h> 79#include <libkcal/filestorage.h>
80#include <libkcal/calendarresources.h> 80#include <libkcal/calendarresources.h>
81#include <libkcal/qtopiaformat.h> 81#include <libkcal/qtopiaformat.h>
82#include "../kalarmd/alarmdialog.h" 82#include "../kalarmd/alarmdialog.h"
83 83
84#ifndef DESKTOP_VERSION 84#ifndef DESKTOP_VERSION
85#include <libkcal/sharpformat.h> 85#include <libkcal/sharpformat.h>
86#include <externalapphandler.h> 86#include <externalapphandler.h>
87#endif 87#endif
88#include <libkcal/phoneformat.h> 88#include <libkcal/phoneformat.h>
89#ifndef KORG_NOMAIL 89#ifndef KORG_NOMAIL
90#include "komailclient.h" 90#include "komailclient.h"
91#endif 91#endif
92#ifndef KORG_NOPRINTER 92#ifndef KORG_NOPRINTER
93#include "calprinter.h" 93#include "calprinter.h"
94#endif 94#endif
95#ifndef KORG_NOPLUGINS 95#ifndef KORG_NOPLUGINS
96#include "kocore.h" 96#include "kocore.h"
97#endif 97#endif
98#include "koeventeditor.h" 98#include "koeventeditor.h"
99#include "kotodoeditor.h" 99#include "kotodoeditor.h"
100#include "koprefs.h" 100#include "koprefs.h"
101#include "koeventviewerdialog.h" 101#include "koeventviewerdialog.h"
102#include "publishdialog.h" 102#include "publishdialog.h"
103#include "kofilterview.h" 103#include "kofilterview.h"
104#include "koglobals.h" 104#include "koglobals.h"
105#include "koviewmanager.h" 105#include "koviewmanager.h"
106#include "koagendaview.h" 106#include "koagendaview.h"
107#include "kodialogmanager.h" 107#include "kodialogmanager.h"
108#include "outgoingdialog.h" 108#include "outgoingdialog.h"
109#include "incomingdialog.h" 109#include "incomingdialog.h"
110#include "datenavigatorcontainer.h" 110#include "datenavigatorcontainer.h"
111#include "statusdialog.h" 111#include "statusdialog.h"
112#include "kdatenavigator.h" 112#include "kdatenavigator.h"
113#include "kotodoview.h" 113#include "kotodoview.h"
114#include "datenavigator.h" 114#include "datenavigator.h"
115#include "resourceview.h" 115#include "resourceview.h"
116#include "navigatorbar.h" 116#include "navigatorbar.h"
117#include "searchdialog.h" 117#include "searchdialog.h"
118#include "mainwindow.h" 118#include "mainwindow.h"
119 119
120#include "calendarview.h" 120#include "calendarview.h"
121#ifndef DESKTOP_VERSION 121#ifndef DESKTOP_VERSION
122#include <qtopia/alarmserver.h> 122#include <qtopia/alarmserver.h>
123#endif 123#endif
124#ifndef _WIN32_ 124#ifndef _WIN32_
125#include <stdlib.h> 125#include <stdlib.h>
126#include <stdio.h> 126#include <stdio.h>
127#include <unistd.h> 127#include <unistd.h>
128#else 128#else
129#include <qprocess.h> 129#include <qprocess.h>
130#endif 130#endif
131 131
132#ifdef DESKTOP_VERSION 132#ifdef DESKTOP_VERSION
133#include <kabc/stdaddressbook.h> 133#include <kabc/stdaddressbook.h>
134#endif 134#endif
135using namespace KOrg; 135using namespace KOrg;
136using namespace KCal; 136using namespace KCal;
137extern int globalFlagBlockAgenda; 137extern int globalFlagBlockAgenda;
138extern int globalFlagBlockStartup; 138extern int globalFlagBlockStartup;
139 139
140 140
141MissedAlarmTextBrowser::MissedAlarmTextBrowser(QWidget *parent, QPtrList<Incidence> alarms,QDateTime start ) : QTextBrowser(parent) 141MissedAlarmTextBrowser::MissedAlarmTextBrowser(QWidget *parent, QPtrList<Incidence> alarms,QDateTime start ) : QTextBrowser(parent)
142 142
143{ 143{
144 mAlarms = alarms; 144 mAlarms = alarms;
145 setBackgroundColor( QColor( 86, 153, 205 ) ); 145 viewport()->setBackgroundColor( QColor( 255, 255, 255 ) );
146 QString mText = "<table width=\"100%\">\n"; 146 QString mText = "<table width=\"100%\">\n";
147 //mText += "<tr bgcolor=\"#3679AD\"><td><h2>"; 147 //mText += "<tr bgcolor=\"#3679AD\"><td><h2>";
148#ifdef DESKTOP_VERSION 148#ifdef DESKTOP_VERSION
149 mText += "<tr bgcolor=\"#5699CD\"><td align=\"center\"><h2>"; 149 mText += "<tr bgcolor=\"#5699CD\"><td align=\"center\"><h2>";
150#else 150#else
151 mText += "<tr bgcolor=\"#5699CD\"><td align=\"center\"><h3>"; 151 mText += "<tr bgcolor=\"#5699CD\"><td align=\"center\"><h3>";
152#endif 152#endif
153 // mText += "<img src=\""; 153 // mText += "<img src=\"";
154 // mText += ipath; 154 // mText += ipath;
155 // mText += "\">"; 155 // mText += "\">";
156 //mEventDate = QDate::currentDate(); 156 //mEventDate = QDate::currentDate();
157#ifdef DESKTOP_VERSION 157#ifdef DESKTOP_VERSION
158 mText += "<font color=\"#FFFFFF\"> <em>" + i18n("You missed the alarms for the following events or todos:")+"</em></font></h2>"; 158 mText += "<font color=\"#FFFFFF\"> <em>" + i18n("You missed the alarms for the following events or todos:")+"</em></font></h2>";
159#else 159#else
160 mText += "<font color=\"#FFFFFF\"> <em>" + i18n("You missed the alarms for the following events or todos:")+"</em></font></h3>"; 160 mText += "<font color=\"#FFFFFF\"> <em>" + i18n("You missed the alarms for the following events or todos:")+"</em></font></h3>";
161#endif 161#endif
162 mText += "</td></tr>\n<tr bgcolor=\"#FF997D\"><td>"; 162 //mText += "</td></tr>\n<tr bgcolor=\"#FF997D\"><td>";
163 163
164 Incidence * inc = getNextInc( start ); 164 Incidence * inc = getNextInc( start );
165 int time = 0; 165 int time = 0;
166 mText += "<table>"; 166 //mText += "<table>";
167 while ( inc ) { 167 while ( inc ) {
168 QDateTime dt ; 168 QDateTime dt ;
169 QString tempText = "<a "; 169 QString tempText = "<a ";
170 bool ok; 170 bool ok;
171 dt = inc->getNextOccurence( start, &ok ); 171 dt = inc->getNextOccurence( start, &ok );
172 if ( !ok ) continue; 172 if ( !ok ) continue;
173 if ( inc->type() == "Event" ) { 173 if ( inc->type() == "Event" ) {
174 tempText += "href=\"event:"; 174 tempText += "href=\"event:";
175 } else if ( inc->type() == "Todo" ) { 175 } else if ( inc->type() == "Todo" ) {
176 tempText += "href=\"todo:"; 176 tempText += "href=\"todo:";
177 } 177 }
178 tempText += inc->uid() + "\">"; 178 tempText += inc->uid() + "\">";
179 if ( inc->type() == "Todo" ) 179 if ( inc->type() == "Todo" )
180 tempText += i18n("Todo: "); 180 tempText += i18n("Todo: ");
181 if ( inc->summary().length() > 0 ) 181 if ( inc->summary().length() > 0 )
182 tempText += inc->summary(); 182 tempText += inc->summary();
183 else 183 else
184 tempText += i18n("-no summary-"); 184 tempText += i18n("-no summary-");
185 QString timestr; 185 QString timestr;
186 if (!inc->doesFloat()) 186 if (!inc->doesFloat())
187 timestr = KGlobal::locale()->formatDateTime( dt, KOPrefs::instance()->mShortDateInViewer) +": "; 187 timestr = KGlobal::locale()->formatDateTime( dt, KOPrefs::instance()->mShortDateInViewer) +": ";
188 else 188 else
189 timestr = KGlobal::locale()->formatDate( dt.date() , KOPrefs::instance()->mShortDateInViewer) +": "; 189 timestr = KGlobal::locale()->formatDate( dt.date() , KOPrefs::instance()->mShortDateInViewer) +": ";
190 if ( dt.date() == QDate::currentDate() && time == 0 ) { 190 if ( dt.date() < QDate::currentDate() && time == 0 ) {
191 mText += "</td></tr>\n<tr bgcolor=\"#FF997D\"><td>";
192 mText += "<table>";
191 time = 1; 193 time = 1;
192 mText +="</table>"; 194 }
195 if ( dt.date() == QDate::currentDate() && time <= 1 ) {
196 if ( time > 0 )
197 mText +="</table>";
193 mText += "</td></tr>\n<tr bgcolor=\"#FFDC64\"><td>"; 198 mText += "</td></tr>\n<tr bgcolor=\"#FFDC64\"><td>";
194 mText += "<table>"; 199 mText += "<table>";
200 time = 2;
195 201
196 } 202 }
197 if ( dt.date() > QDate::currentDate() && time != 2 ) { 203 if ( dt.date() > QDate::currentDate() && time <= 2 ) {
198 time = 2; 204 if ( time > 0 )
199 mText +="</table>"; 205 mText +="</table>";
200 mText += "</td></tr>\n<tr bgcolor=\"#6AFF6A\"><td>"; 206 mText += "</td></tr>\n<tr bgcolor=\"#6AFF6A\"><td>";
201 mText += "<table>"; 207 mText += "<table>";
208 time = 3;
202 } 209 }
203 mText +="<tr><td><b>"; 210 mText +="<tr><td><b>";
204 mText += timestr; 211 mText += timestr;
205 mText += "</b></td><td>"; 212 mText += "</b></td><td>";
206 mText += tempText; 213 mText += tempText;
207 mText += "</td></tr>\n"; 214 mText += "</td></tr>\n";
208 inc = getNextInc( start ); 215 inc = getNextInc( start );
209 } 216 }
210 mText +="</table>"; 217 mText +="</table>";
211 setText( mText ); 218 setText( mText );
212} 219}
213 220
214MissedAlarmTextBrowser::~MissedAlarmTextBrowser() 221MissedAlarmTextBrowser::~MissedAlarmTextBrowser()
215{ 222{
216 //qDebug("delete MissedAlarmTextBrowser::~MissedAlarmTextBrowser() "); 223 //qDebug("delete MissedAlarmTextBrowser::~MissedAlarmTextBrowser() ");
217} 224}
218Incidence * MissedAlarmTextBrowser::getNextInc( QDateTime start ) 225Incidence * MissedAlarmTextBrowser::getNextInc( QDateTime start )
219{ 226{
220 QDateTime dt ; 227 QDateTime dt ;
221 Incidence * retInc; 228 Incidence * retInc;
222 Incidence * inc = mAlarms.first(); 229 Incidence * inc = mAlarms.first();
223 if ( inc == 0 ) 230 if ( inc == 0 )
224 return 0; 231 return 0;
225 bool ok; 232 bool ok;
226 dt = inc->getNextOccurence( start, &ok ); 233 dt = inc->getNextOccurence( start, &ok );
227 if ( ! ok ) return 0; 234 if ( ! ok ) return 0;
228 QDateTime dtn ; 235 QDateTime dtn ;
229 retInc = inc; 236 retInc = inc;
230 inc = mAlarms.next(); 237 inc = mAlarms.next();
231 while ( inc ) { 238 while ( inc ) {
232 dtn = inc->getNextOccurence( start, &ok ); 239 dtn = inc->getNextOccurence( start, &ok );
233 if ( ! ok ) return 0; 240 if ( ! ok ) return 0;
234 if ( dtn < dt ) { 241 if ( dtn < dt ) {
235 dt = dtn; 242 dt = dtn;
236 retInc = inc; 243 retInc = inc;
237 } 244 }
238 inc = mAlarms.next(); 245 inc = mAlarms.next();
239 } 246 }
240 mAlarms.remove( retInc ); 247 mAlarms.remove( retInc );
241 return retInc; 248 return retInc;
242 249
243} 250}
244void MissedAlarmTextBrowser::setSource(const QString & n) 251void MissedAlarmTextBrowser::setSource(const QString & n)
245{ 252{
246 if (n.startsWith("event:")) { 253 if (n.startsWith("event:")) {
247#ifdef DESKTOP_VERSION 254#ifdef DESKTOP_VERSION
248 emit showIncidence(n.mid(8)); 255 emit showIncidence(n.mid(8));
249#else 256#else
250 emit showIncidence(n.mid(6)); 257 emit showIncidence(n.mid(6));
251#endif 258#endif
252 return; 259 return;
253 } else if (n.startsWith("todo:")) { 260 } else if (n.startsWith("todo:")) {
254#ifdef DESKTOP_VERSION 261#ifdef DESKTOP_VERSION
255 emit showIncidence(n.mid(7)); 262 emit showIncidence(n.mid(7));
256#else 263#else
257 emit showIncidence(n.mid(5)); 264 emit showIncidence(n.mid(5));
258#endif 265#endif
259 return; 266 return;
260 } 267 }
261} 268}
262 269
263 270
264class KOBeamPrefs : public QDialog 271class KOBeamPrefs : public QDialog
265{ 272{
266 public: 273 public:
267 KOBeamPrefs( QWidget *parent=0, const char *name=0 ) : 274 KOBeamPrefs( QWidget *parent=0, const char *name=0 ) :
268 QDialog( parent, name, true ) 275 QDialog( parent, name, true )
269 { 276 {
270 setCaption( i18n("Beam Options") ); 277 setCaption( i18n("Beam Options") );
271 QVBoxLayout* lay = new QVBoxLayout( this ); 278 QVBoxLayout* lay = new QVBoxLayout( this );
272 lay->setSpacing( 3 ); 279 lay->setSpacing( 3 );
273 lay->setMargin( 3 ); 280 lay->setMargin( 3 );
274 QButtonGroup* format = new QButtonGroup( 1, Horizontal, i18n("File format"), this ); 281 QButtonGroup* format = new QButtonGroup( 1, Horizontal, i18n("File format"), this );
275 lay->addWidget( format ); 282 lay->addWidget( format );
276 format->setExclusive ( true ) ; 283 format->setExclusive ( true ) ;
277 QButtonGroup* time = new QButtonGroup(1, Horizontal, i18n("Time format"), this ); 284 QButtonGroup* time = new QButtonGroup(1, Horizontal, i18n("Time format"), this );
278 lay->addWidget( time ); time->setExclusive ( true ) ; 285 lay->addWidget( time ); time->setExclusive ( true ) ;
279 vcal = new QRadioButton(" vCalendar ", format ); 286 vcal = new QRadioButton(" vCalendar ", format );
280 ical = new QRadioButton(" iCalendar ", format ); 287 ical = new QRadioButton(" iCalendar ", format );
281 vcal->setChecked( true ); 288 vcal->setChecked( true );
282 tz = new QRadioButton(i18n(" With timezone "), time ); 289 tz = new QRadioButton(i18n(" With timezone "), time );
283 local = new QRadioButton(i18n(" Local time "), time ); 290 local = new QRadioButton(i18n(" Local time "), time );
284 tz->setChecked( true ); 291 tz->setChecked( true );
285 QPushButton * ok = new QPushButton( i18n("Beam via IR!"), this ); 292 QPushButton * ok = new QPushButton( i18n("Beam via IR!"), this );
286 lay->addWidget( ok ); 293 lay->addWidget( ok );
287 QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); 294 QPushButton * cancel = new QPushButton( i18n("Cancel"), this );
288 lay->addWidget( cancel ); 295 lay->addWidget( cancel );
289 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); 296 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) );
290 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); 297 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) );
291 resize( 200, 200 ); 298 resize( 200, 200 );
292 } 299 }
293 300
294 bool beamVcal() { return vcal->isChecked(); } 301 bool beamVcal() { return vcal->isChecked(); }
295 bool beamLocal() { return local->isChecked(); } 302 bool beamLocal() { return local->isChecked(); }
296private: 303private:
297 QRadioButton* vcal, *ical, *local, *tz; 304 QRadioButton* vcal, *ical, *local, *tz;
@@ -541,224 +548,231 @@ void CalendarView::init()
541 SLOT( purgeCompleted() ) ); 548 SLOT( purgeCompleted() ) );
542 connect( mTodoList, SIGNAL( todoModifiedSignal( Todo *, int ) ), 549 connect( mTodoList, SIGNAL( todoModifiedSignal( Todo *, int ) ),
543 SIGNAL( todoModified( Todo *, int ) ) ); 550 SIGNAL( todoModified( Todo *, int ) ) );
544 551
545 connect( mTodoList, SIGNAL( cloneTodoSignal( Incidence * ) ), 552 connect( mTodoList, SIGNAL( cloneTodoSignal( Incidence * ) ),
546 this, SLOT ( cloneIncidence( Incidence * ) ) ); 553 this, SLOT ( cloneIncidence( Incidence * ) ) );
547 connect( mTodoList, SIGNAL( cancelTodoSignal( Incidence * ) ), 554 connect( mTodoList, SIGNAL( cancelTodoSignal( Incidence * ) ),
548 this, SLOT (cancelIncidence( Incidence * ) ) ); 555 this, SLOT (cancelIncidence( Incidence * ) ) );
549 556
550 connect( mTodoList, SIGNAL( moveTodoSignal( Incidence * ) ), 557 connect( mTodoList, SIGNAL( moveTodoSignal( Incidence * ) ),
551 this, SLOT ( moveIncidence( Incidence * ) ) ); 558 this, SLOT ( moveIncidence( Incidence * ) ) );
552 connect( mTodoList, SIGNAL( beamTodoSignal( Incidence * ) ), 559 connect( mTodoList, SIGNAL( beamTodoSignal( Incidence * ) ),
553 this, SLOT ( beamIncidence( Incidence * ) ) ); 560 this, SLOT ( beamIncidence( Incidence * ) ) );
554 561
555 connect( mTodoList, SIGNAL( unparentTodoSignal( Todo * ) ), 562 connect( mTodoList, SIGNAL( unparentTodoSignal( Todo * ) ),
556 this, SLOT ( todo_unsub( Todo * ) ) ); 563 this, SLOT ( todo_unsub( Todo * ) ) );
557 564
558 connect( mTodoList, SIGNAL( reparentTodoSignal( Todo *,Todo * ) ), 565 connect( mTodoList, SIGNAL( reparentTodoSignal( Todo *,Todo * ) ),
559 this, SLOT ( todo_resub( Todo *,Todo * ) ) ); 566 this, SLOT ( todo_resub( Todo *,Todo * ) ) );
560 connect( this, SIGNAL( todoModified( Todo *, int )), mTodoList, 567 connect( this, SIGNAL( todoModified( Todo *, int )), mTodoList,
561 SLOT( updateTodo( Todo *, int ) ) ); 568 SLOT( updateTodo( Todo *, int ) ) );
562 connect( this, SIGNAL( todoModified( Todo *, int )), this, 569 connect( this, SIGNAL( todoModified( Todo *, int )), this,
563 SLOT( changeTodoDisplay( Todo *, int ) ) ); 570 SLOT( changeTodoDisplay( Todo *, int ) ) );
564 571
565 572
566 connect( mFilterView, SIGNAL( filterChanged() ), SLOT( updateFilter() ) ); 573 connect( mFilterView, SIGNAL( filterChanged() ), SLOT( updateFilter() ) );
567 connect( mFilterView, SIGNAL( editFilters() ), SLOT( editFilters() ) ); 574 connect( mFilterView, SIGNAL( editFilters() ), SLOT( editFilters() ) );
568 connect( mCalendar, SIGNAL( addAlarm(const QDateTime &, const QString & ) ), SLOT( addAlarm(const QDateTime &, const QString & ) ) ); 575 connect( mCalendar, SIGNAL( addAlarm(const QDateTime &, const QString & ) ), SLOT( addAlarm(const QDateTime &, const QString & ) ) );
569 connect( mCalendar, SIGNAL( removeAlarm(const QDateTime &, const QString & ) ), SLOT( removeAlarm(const QDateTime &, const QString & ) ) ); 576 connect( mCalendar, SIGNAL( removeAlarm(const QDateTime &, const QString & ) ), SLOT( removeAlarm(const QDateTime &, const QString & ) ) );
570 577
571 578
572 579
573 580
574 581
575 connect(QApplication::clipboard(),SIGNAL(dataChanged()), 582 connect(QApplication::clipboard(),SIGNAL(dataChanged()),
576 SLOT(checkClipboard())); 583 SLOT(checkClipboard()));
577 connect( mTodoList,SIGNAL( incidenceSelected( Incidence * ) ), 584 connect( mTodoList,SIGNAL( incidenceSelected( Incidence * ) ),
578 SLOT( processTodoListSelection( Incidence * ) ) ); 585 SLOT( processTodoListSelection( Incidence * ) ) );
579 connect(mTodoList,SIGNAL(isModified(bool)),SLOT(setModified(bool))); 586 connect(mTodoList,SIGNAL(isModified(bool)),SLOT(setModified(bool)));
580 587
581 // kdDebug() << "CalendarView::CalendarView() done" << endl; 588 // kdDebug() << "CalendarView::CalendarView() done" << endl;
582 589
583 mDateFrame = new QVBox(0,0,WType_Popup); 590 mDateFrame = new QVBox(0,0,WType_Popup);
584 //mDateFrame->setFrameStyle(QFrame::PopupPanel | QFrame::Raised); 591 //mDateFrame->setFrameStyle(QFrame::PopupPanel | QFrame::Raised);
585 mDateFrame->setFrameStyle( QFrame::WinPanel |QFrame::Raised ); 592 mDateFrame->setFrameStyle( QFrame::WinPanel |QFrame::Raised );
586 mDateFrame->setLineWidth(3); 593 mDateFrame->setLineWidth(3);
587 mDateFrame->hide(); 594 mDateFrame->hide();
588 mDateFrame->setCaption( i18n( "Pick a date to display")); 595 mDateFrame->setCaption( i18n( "Pick a date to display"));
589 mDatePicker = new KDatePicker ( mDateFrame , QDate::currentDate() ); 596 mDatePicker = new KDatePicker ( mDateFrame , QDate::currentDate() );
590 597
591 connect(mDatePicker,SIGNAL(dateSelected(QDate)),SLOT(slotSelectPickerDate(QDate))); 598 connect(mDatePicker,SIGNAL(dateSelected(QDate)),SLOT(slotSelectPickerDate(QDate)));
592 599
593 mEventEditor = mDialogManager->getEventEditor(); 600 mEventEditor = mDialogManager->getEventEditor();
594 mTodoEditor = mDialogManager->getTodoEditor(); 601 mTodoEditor = mDialogManager->getTodoEditor();
595 602
596 mFlagEditDescription = false; 603 mFlagEditDescription = false;
597 604
598 mSuspendTimer = new QTimer( this ); 605 mSuspendTimer = new QTimer( this );
599 mAlarmTimer = new QTimer( this ); 606 mAlarmTimer = new QTimer( this );
600 mRecheckAlarmTimer = new QTimer( this ); 607 mRecheckAlarmTimer = new QTimer( this );
601 connect( mRecheckAlarmTimer, SIGNAL( timeout () ), SLOT( recheckTimerAlarm() ) ); 608 connect( mRecheckAlarmTimer, SIGNAL( timeout () ), SLOT( recheckTimerAlarm() ) );
602 connect( mSuspendTimer, SIGNAL( timeout () ), SLOT( suspendAlarm() ) ); 609 connect( mSuspendTimer, SIGNAL( timeout () ), SLOT( suspendAlarm() ) );
603 connect( mAlarmTimer, SIGNAL( timeout () ), SLOT( timerAlarm() ) ); 610 connect( mAlarmTimer, SIGNAL( timeout () ), SLOT( timerAlarm() ) );
604 mAlarmDialog = new AlarmDialog( this ); 611 mAlarmDialog = new AlarmDialog( this );
605 connect( mAlarmDialog, SIGNAL( addAlarm(const QDateTime &, const QString & ) ), SLOT( addSuspendAlarm(const QDateTime &, const QString & ) ) ); 612 connect( mAlarmDialog, SIGNAL( addAlarm(const QDateTime &, const QString & ) ), SLOT( addSuspendAlarm(const QDateTime &, const QString & ) ) );
606 mAlarmDialog->setServerNotification( false ); 613 mAlarmDialog->setServerNotification( false );
607 mAlarmDialog->setSuspendTime( KOPrefs::instance()->mAlarmSuspendTime ); 614 mAlarmDialog->setSuspendTime( KOPrefs::instance()->mAlarmSuspendTime );
608 615
609 616
610#ifndef DESKTOP_VERSION 617#ifndef DESKTOP_VERSION
611//US listen for arriving address resultsets 618//US listen for arriving address resultsets
612 connect(ExternalAppHandler::instance(), SIGNAL(receivedBirthdayListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&)), 619 connect(ExternalAppHandler::instance(), SIGNAL(receivedBirthdayListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&)),
613 this, SLOT(insertBirthdays(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&))); 620 this, SLOT(insertBirthdays(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&)));
614#endif 621#endif
615 mDateNavigator->setCalendar( mCalendar ); 622 mDateNavigator->setCalendar( mCalendar );
616} 623}
617 624
618 625
619CalendarView::~CalendarView() 626CalendarView::~CalendarView()
620{ 627{
621 // kdDebug() << "~CalendarView()" << endl; 628 // kdDebug() << "~CalendarView()" << endl;
622 //qDebug("CalendarView::~CalendarView() "); 629 //qDebug("CalendarView::~CalendarView() ");
623 delete mDialogManager; 630 delete mDialogManager;
624 delete mViewManager; 631 delete mViewManager;
625 delete mStorage; 632 delete mStorage;
626 delete mDateFrame ; 633 delete mDateFrame ;
627 delete beamDialog; 634 delete beamDialog;
628 delete mEventViewerDialog; 635 delete mEventViewerDialog;
629 //kdDebug() << "~CalendarView() done" << endl; 636 //kdDebug() << "~CalendarView() done" << endl;
630} 637}
631void CalendarView::checkAlarms() 638void CalendarView::checkAlarms()
632{ 639{
633 KConfig *config = KOGlobals::config(); 640 KConfig *config = KOGlobals::config();
634 config->setGroup( "AppRun" ); 641 config->setGroup( "AppRun" );
635 QDateTime dt ( QDate (2005,1,1), QTime( 0,0,0 ) ); 642 QDateTime dt ( QDate (2005,1,1), QTime( 0,0,0 ) );
636 int secs = config->readNumEntry( "LatestProgramStop" ) - 30; 643 int secs = config->readNumEntry( "LatestProgramStop" ) - 30;
637 secs -= ( 3600 * 24*3 ); // debug only 644 //secs -= ( 3600 * 24*3 ); // debug only
638 QDateTime latest = dt.addSecs ( secs ); 645 QDateTime latest = dt.addSecs ( secs );
639 qDebug("KO: Last termination on %s ", latest.toString().latin1()); 646 qDebug("KO: Last termination on %s ", latest.toString().latin1());
640 QPtrList<Incidence> el = mCalendar->rawIncidences(); 647 QPtrList<Incidence> el = mCalendar->rawIncidences();
641 QPtrList<Incidence> al; 648 QPtrList<Incidence> al;
642 Incidence* inL = el.first(); 649 Incidence* inL = el.first();
643 while ( inL ) { 650 while ( inL ) {
644 bool ok = false; 651 bool ok = false;
645 int offset = 0; 652 int offset = 0;
646 QDateTime next = inL->getNextAlarmDateTime(& ok, &offset, latest ) ; 653 QDateTime next = inL->getNextAlarmDateTime(& ok, &offset, latest ) ;
647 if ( ok ) { 654 if ( ok ) {
648 //qDebug("OK %s",next.toString().latin1()); 655 //qDebug("OK %s",next.toString().latin1());
649 if ( next < QDateTime::currentDateTime() ) { 656 if ( next < QDateTime::currentDateTime() ) {
650 al.append( inL ); 657 al.append( inL );
651 //qDebug("found missed alarm: %s ", inL->summary().latin1() ); 658 //qDebug("found missed alarm: %s ", inL->summary().latin1() );
652 } 659 }
653 } 660 }
654 inL = el.next(); 661 inL = el.next();
655 } 662 }
656 if ( al.count() ) { 663 if ( al.count() ) {
657 QDialog* dia = new QDialog( this, "huhu", false, WDestructiveClose | WStyle_StaysOnTop ); 664 QDialog* dia = new QDialog( this, "huhu", false, WDestructiveClose | WStyle_StaysOnTop );
658 dia->setCaption( i18n("KO/Pi: Missing alarms!") ); 665 dia->setCaption( i18n("KO/Pi: Missing alarms!") );
659 QVBoxLayout* lay = new QVBoxLayout( dia ); 666 QVBoxLayout* lay = new QVBoxLayout( dia );
660 lay->setSpacing( 0 ); 667 lay->setSpacing( 0 );
661 lay->setMargin( 0 ); 668 lay->setMargin( 0 );
662 MissedAlarmTextBrowser* matb = new MissedAlarmTextBrowser ( dia, al, latest ); 669 MissedAlarmTextBrowser* matb = new MissedAlarmTextBrowser ( dia, al, latest );
663 connect( matb, SIGNAL( showIncidence( QString ) ),SLOT( showIncidence( QString ) )); 670 connect( matb, SIGNAL( showIncidence( QString ) ),SLOT( showIncidence( QString ) ));
664 lay->addWidget( matb ); 671 lay->addWidget( matb );
665 int si = 220; 672 if ( QApplication::desktop()->width() == 480 || QApplication::desktop()->width() == 640 ) {
666 if ( QApplication::desktop()->width() > 470 ) 673 int wid = 210;
667 si = 400; 674 int x = QApplication::desktop()->width() - wid - 7;
668 dia->resize(si,si/2); 675 int y = QApplication::desktop()->height() - wid - 70;
676 dia->setGeometry ( x,y,wid,wid);
677 } else {
678 int si = 220;
679 if ( QApplication::desktop()->width() > 470 )
680 si = 400;
681 dia->resize(si,si/2);
682 }
669 dia->setBackgroundColor( QColor( 255, 255, 255 ) ); 683 dia->setBackgroundColor( QColor( 255, 255, 255 ) );
670 dia->show(); 684 dia->show();
671 685
672 } 686 }
673} 687}
674void CalendarView::showDay( QDate d ) 688void CalendarView::showDay( QDate d )
675{ 689{
676 dateNavigator()->blockSignals( true ); 690 dateNavigator()->blockSignals( true );
677 dateNavigator()->selectDate( d ); 691 dateNavigator()->selectDate( d );
678 dateNavigator()->blockSignals( false ); 692 dateNavigator()->blockSignals( false );
679 mViewManager->showDayView(); 693 mViewManager->showDayView();
680 //dateNavigator()->selectDate( d ); 694 //dateNavigator()->selectDate( d );
681} 695}
682void CalendarView::timerAlarm() 696void CalendarView::timerAlarm()
683{ 697{
684 //qDebug("CalendarView::timerAlarm() "); 698 //qDebug("CalendarView::timerAlarm() ");
685 computeAlarm(mAlarmNotification ); 699 computeAlarm(mAlarmNotification );
686} 700}
687 701
688void CalendarView::suspendAlarm() 702void CalendarView::suspendAlarm()
689{ 703{
690 //qDebug(" CalendarView::suspendAlarm() "); 704 //qDebug(" CalendarView::suspendAlarm() ");
691 computeAlarm(mSuspendAlarmNotification ); 705 computeAlarm(mSuspendAlarmNotification );
692 706
693} 707}
694 708
695void CalendarView::startAlarm( QString mess , QString filename) 709void CalendarView::startAlarm( QString mess , QString filename)
696{ 710{
697 711
698 topLevelWidget()->showNormal(); 712 topLevelWidget()->showNormal();
699 topLevelWidget()->setActiveWindow(); 713 topLevelWidget()->setActiveWindow();
700 topLevelWidget()->raise(); 714 topLevelWidget()->raise();
701 715
702 mAlarmDialog->eventNotification( mess, KOPrefs::instance()->mAlarmPlayBeeps, filename, true,KOPrefs::instance()->mAlarmBeepInterval ,KOPrefs::instance()->mAlarmSuspendCount ); 716 mAlarmDialog->eventNotification( mess, KOPrefs::instance()->mAlarmPlayBeeps, filename, true,KOPrefs::instance()->mAlarmBeepInterval ,KOPrefs::instance()->mAlarmSuspendCount );
703 QTimer::singleShot( 3000, this, SLOT( checkNextTimerAlarm() ) ); 717 QTimer::singleShot( 3000, this, SLOT( checkNextTimerAlarm() ) );
704 718
705} 719}
706 720
707void CalendarView::checkNextTimerAlarm() 721void CalendarView::checkNextTimerAlarm()
708{ 722{
709 mCalendar->checkAlarmForIncidence( 0, true ); 723 mCalendar->checkAlarmForIncidence( 0, true );
710} 724}
711 725
712void CalendarView::computeAlarm( QString msg ) 726void CalendarView::computeAlarm( QString msg )
713{ 727{
714 728
715 QString mess = msg; 729 QString mess = msg;
716 QString mAlarmMessage = mess.mid( 9 ); 730 QString mAlarmMessage = mess.mid( 9 );
717 QString filename = MainWindow::resourcePath(); 731 QString filename = MainWindow::resourcePath();
718 filename += "koalarm.wav"; 732 filename += "koalarm.wav";
719 QString tempfilename; 733 QString tempfilename;
720 if ( mess.left( 13 ) == "suspend_alarm") { 734 if ( mess.left( 13 ) == "suspend_alarm") {
721 bool error = false; 735 bool error = false;
722 int len = mess.mid( 13 ).find("+++"); 736 int len = mess.mid( 13 ).find("+++");
723 if ( len < 2 ) 737 if ( len < 2 )
724 error = true; 738 error = true;
725 else { 739 else {
726 tempfilename = mess.mid( 13, len ); 740 tempfilename = mess.mid( 13, len );
727 if ( !QFile::exists( tempfilename ) ) 741 if ( !QFile::exists( tempfilename ) )
728 error = true; 742 error = true;
729 } 743 }
730 if ( ! error ) { 744 if ( ! error ) {
731 filename = tempfilename; 745 filename = tempfilename;
732 } 746 }
733 mAlarmMessage = mess.mid( 13+len+3 ); 747 mAlarmMessage = mess.mid( 13+len+3 );
734 //qDebug("suspend file %s ",tempfilename.latin1() ); 748 //qDebug("suspend file %s ",tempfilename.latin1() );
735 startAlarm( mAlarmMessage, filename); 749 startAlarm( mAlarmMessage, filename);
736 return; 750 return;
737 } 751 }
738 if ( mess.left( 11 ) == "timer_alarm") { 752 if ( mess.left( 11 ) == "timer_alarm") {
739 //mTimerTime = 0; 753 //mTimerTime = 0;
740 startAlarm( mess.mid( 11 ), filename ); 754 startAlarm( mess.mid( 11 ), filename );
741 return; 755 return;
742 } 756 }
743 if ( mess.left( 10 ) == "proc_alarm") { 757 if ( mess.left( 10 ) == "proc_alarm") {
744 bool error = false; 758 bool error = false;
745 int len = mess.mid( 10 ).find("+++"); 759 int len = mess.mid( 10 ).find("+++");
746 if ( len < 2 ) 760 if ( len < 2 )
747 error = true; 761 error = true;
748 else { 762 else {
749 tempfilename = mess.mid( 10, len ); 763 tempfilename = mess.mid( 10, len );
750 if ( !QFile::exists( tempfilename ) ) 764 if ( !QFile::exists( tempfilename ) )
751 error = true; 765 error = true;
752 } 766 }
753 if ( error ) { 767 if ( error ) {
754 mAlarmMessage = "Procedure Alarm\nError - File not found\n"; 768 mAlarmMessage = "Procedure Alarm\nError - File not found\n";
755 mAlarmMessage += mess.mid( 10+len+3+9 ); 769 mAlarmMessage += mess.mid( 10+len+3+9 );
756 } else { 770 } else {
757 //QCopEnvelope e("QPE/Application/kopi", "-writeFileSilent"); 771 //QCopEnvelope e("QPE/Application/kopi", "-writeFileSilent");
758 //qDebug("-----system command %s ",tempfilename.latin1() ); 772 //qDebug("-----system command %s ",tempfilename.latin1() );
759#ifndef _WIN32_ 773#ifndef _WIN32_
760 if ( vfork () == 0 ) { 774 if ( vfork () == 0 ) {
761 execl ( tempfilename.latin1(), 0 ); 775 execl ( tempfilename.latin1(), 0 );
762 return; 776 return;
763 } 777 }
764#else 778#else