summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-01-15 01:19:32 (UTC)
committer zautrix <zautrix>2005-01-15 01:19:32 (UTC)
commita423c235d0cbc39292102042ed8f4a953e0e37f9 (patch) (unidiff)
treee6212045a5c20b77692bcc4671c03ac683bf8367
parent80da9080c1c33c4704806c442179522edce06bd2 (diff)
downloadkdepimpi-a423c235d0cbc39292102042ed8f4a953e0e37f9.zip
kdepimpi-a423c235d0cbc39292102042ed8f4a953e0e37f9.tar.gz
kdepimpi-a423c235d0cbc39292102042ed8f4a953e0e37f9.tar.bz2
better todo info
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/WhatsNew.txt1
-rw-r--r--korganizer/koeventviewer.cpp16
-rw-r--r--korganizer/koeventviewerdialog.cpp3
3 files changed, 19 insertions, 1 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt
index da33d12..ccebf58 100644
--- a/bin/kdepim/WhatsNew.txt
+++ b/bin/kdepim/WhatsNew.txt
@@ -1,57 +1,58 @@
1Info about the changes in new versions of KDE-Pim/Pi 1Info about the changes in new versions of KDE-Pim/Pi
2 2
3********** VERSION 1.9.17 ************ 3********** VERSION 1.9.17 ************
4 4
5KO/Pi: 5KO/Pi:
6Fixed that tooltips were not updated after moving an item in agenda view. 6Fixed that tooltips were not updated after moving an item in agenda view.
7Fixed a bug in sorting start date for recurring events in list view. 7Fixed a bug in sorting start date for recurring events in list view.
8Changed the left button in todo viewer from "Agenda" to "Set completed". 8Changed the left button in todo viewer from "Agenda" to "Set completed".
9This makes it possible to change a todo in the What's Next View quickly to the completed state without leaving the What's Next View. 9This makes it possible to change a todo in the What's Next View quickly to the completed state without leaving the What's Next View.
10Added more info in the todo viewer: Startdate, parent/sub todos.
10 11
11 12
12KA/Pi: 13KA/Pi:
13All fields search does now actually search all the (possible) fields, 14All fields search does now actually search all the (possible) fields,
14not only those listed in the contact list. 15not only those listed in the contact list.
15Made is possible to inline a picture in a vcard on the Z. 16Made is possible to inline a picture in a vcard on the Z.
16This was only possible on the desktop, now is it possible on the Z as well. 17This was only possible on the desktop, now is it possible on the Z as well.
17Fixed of missing save settings after filter configuration. 18Fixed of missing save settings after filter configuration.
18Made saving of addressbook much faster. 19Made saving of addressbook much faster.
19Fixed extension widget layout problem. 20Fixed extension widget layout problem.
20Fixed saving of default formatted name settings. 21Fixed saving of default formatted name settings.
21Fixed formatted name handling in edit dialog. 22Fixed formatted name handling in edit dialog.
22Added an option for changing formatted names of many contacts 23Added an option for changing formatted names of many contacts
23(menu: File - Change - Set formatted name). 24(menu: File - Change - Set formatted name).
24 25
25QWhatsThis was not working on the Z ( only black rectangle was shown). 26QWhatsThis was not working on the Z ( only black rectangle was shown).
26This is Fixed. 27This is Fixed.
27 28
28KDE-Sync: 29KDE-Sync:
29Now readonly KDE resources are synced as well. 30Now readonly KDE resources are synced as well.
30(They are not changed in KDE itself, of course). 31(They are not changed in KDE itself, of course).
31 32
32 33
33 34
34********** VERSION 1.9.16 ************ 35********** VERSION 1.9.16 ************
35 36
36KO/Pi: 37KO/Pi:
37Fixed search dialog size on Z 6000 (480x640 display). 38Fixed search dialog size on Z 6000 (480x640 display).
38Added setting to hide/show time in agenda items. 39Added setting to hide/show time in agenda items.
39Added setting to hide not running todos in todo view. 40Added setting to hide not running todos in todo view.
40Added columns for start date/time in todo view. 41Added columns for start date/time in todo view.
41Replaced the solid half-hour lines in agenda view by dot lines. 42Replaced the solid half-hour lines in agenda view by dot lines.
42Added possibility of printing the What's Next View on the desktop 43Added possibility of printing the What's Next View on the desktop
43(i.e. Windows and Linux). 44(i.e. Windows and Linux).
44Fixed a crash in KO/Pi when starting KO/Pi with What's Next view. 45Fixed a crash in KO/Pi when starting KO/Pi with What's Next view.
45Added tooltips in month view.(Tooltips only available on desktop) 46Added tooltips in month view.(Tooltips only available on desktop)
46 47
47Fixed a strange problem in KO/Pi alarm applet. 48Fixed a strange problem in KO/Pi alarm applet.
48Did not find the actual problem, 49Did not find the actual problem,
49such that now Qtopia reboots again if deinstalling the alarm applet. 50such that now Qtopia reboots again if deinstalling the alarm applet.
50But the alarm applet should work again. 51But the alarm applet should work again.
51 52
52KA/Pi: 53KA/Pi:
53Fixed the problem, that internal pictures were not saved. 54Fixed the problem, that internal pictures were not saved.
54 55
55Fixed a problem in the pi-sync mode by increasing the timeout for data transfer from 20 seconds to 5 minutes. 56Fixed a problem in the pi-sync mode by increasing the timeout for data transfer from 20 seconds to 5 minutes.
56 57
57Fixed some minor problems. (Like word wrap in help text windows). 58Fixed some minor problems. (Like word wrap in help text windows).
diff --git a/korganizer/koeventviewer.cpp b/korganizer/koeventviewer.cpp
index 1fcc977..cee0466 100644
--- a/korganizer/koeventviewer.cpp
+++ b/korganizer/koeventviewer.cpp
@@ -315,118 +315,132 @@ void KOEventViewer::appendEvent(Event *event, int mode )
315 formatCategories(event); 315 formatCategories(event);
316 316
317 formatReadOnly(event); 317 formatReadOnly(event);
318 formatAttendees(event); 318 formatAttendees(event);
319 319
320 setText(mText); 320 setText(mText);
321 //QWhatsThis::add(this,mText); 321 //QWhatsThis::add(this,mText);
322 322
323} 323}
324 324
325void KOEventViewer::appendTodo(Todo *event, int mode ) 325void KOEventViewer::appendTodo(Todo *event, int mode )
326{ 326{
327 mMailSubject = ""; 327 mMailSubject = "";
328 mCurrentIncidence = event; 328 mCurrentIncidence = event;
329 topLevelWidget()->setCaption(i18n("Todo Viewer")); 329 topLevelWidget()->setCaption(i18n("Todo Viewer"));
330 bool shortDate = KOPrefs::instance()->mShortDateInViewer; 330 bool shortDate = KOPrefs::instance()->mShortDateInViewer;
331 if (mode == 0 ) 331 if (mode == 0 )
332 addTag("h2",event->summary()); 332 addTag("h2",event->summary());
333 else { 333 else {
334 if ( mColorMode == 1 ) { 334 if ( mColorMode == 1 ) {
335 mText +="<font color=\"#00A000\">"; 335 mText +="<font color=\"#00A000\">";
336 } 336 }
337 if ( mColorMode == 2 ) { 337 if ( mColorMode == 2 ) {
338 mText +="<font color=\"#B00000\">"; 338 mText +="<font color=\"#B00000\">";
339 } 339 }
340 if ( mode == 1 ) { 340 if ( mode == 1 ) {
341 addTag("h2",i18n( "Local: " ) +event->summary()); 341 addTag("h2",i18n( "Local: " ) +event->summary());
342 } else { 342 } else {
343 addTag("h2",i18n( "Remote: " ) +event->summary()); 343 addTag("h2",i18n( "Remote: " ) +event->summary());
344 } 344 }
345 addTag("h3",i18n( "Last modified: " ) + KGlobal::locale()->formatDateTime(event->lastModified(),shortDate, true ) ); 345 addTag("h3",i18n( "Last modified: " ) + KGlobal::locale()->formatDateTime(event->lastModified(),shortDate, true ) );
346 if ( mColorMode ) 346 if ( mColorMode )
347 mText += "</font>"; 347 mText += "</font>";
348 } 348 }
349 mMailSubject += i18n( "Todo " )+ event->summary(); 349 mMailSubject += i18n( "Todo " )+ event->summary();
350 if (event->cancelled ()) { 350 if (event->cancelled ()) {
351 mText +="<font color=\"#B00000\">"; 351 mText +="<font color=\"#B00000\">";
352 addTag("i",i18n("This todo has been cancelled!")); 352 addTag("i",i18n("This todo has been cancelled!"));
353 mText.append("<br>"); 353 mText.append("<br>");
354 mText += "</font>"; 354 mText += "</font>";
355 mMailSubject += i18n("(cancelled)"); 355 mMailSubject += i18n("(cancelled)");
356 } 356 }
357 357
358 if (!event->location().isEmpty()) { 358 if (!event->location().isEmpty()) {
359 addTag("b",i18n("Location: ")); 359 addTag("b",i18n("Location: "));
360 mText.append(event->location()+"<br>"); 360 mText.append(event->location()+"<br>");
361 mMailSubject += i18n(" at ") + event->location(); 361 mMailSubject += i18n(" at ") + event->location();
362 } 362 }
363 if (event->hasStartDate()) {
364 mText.append(i18n("<p><b>Start on:</b> %1</p>").arg(event->dtStartStr(KOPrefs::instance()->mShortDateInViewer)));
365 }
363 if (event->hasDueDate()) { 366 if (event->hasDueDate()) {
364 mText.append(i18n("<p><b>Due on:</b> %1</p>").arg(event->dtDueStr(KOPrefs::instance()->mShortDateInViewer))); 367 mText.append(i18n("<p><b>Due on:</b> %1</p>").arg(event->dtDueStr(KOPrefs::instance()->mShortDateInViewer)));
365 mMailSubject += i18n(" - " )+event->dtDueStr( true ); 368 mMailSubject += i18n(" - " )+event->dtDueStr( true );
366 } 369 }
367 addTag("b",i18n("Access: ")); 370 addTag("b",i18n("Access: "));
368 mText.append(event->secrecyStr()+"<br>"); 371 mText.append(event->secrecyStr()+"<br>");
369 if (!event->description().isEmpty()) { 372 if (!event->description().isEmpty()) {
370 addTag("p",i18n("<b>Details: </b>")); 373 addTag("p",i18n("<b>Details: </b>"));
371 addTag("p",event->description()); 374 addTag("p",event->description());
372 } 375 }
373 376
374 formatCategories(event); 377 formatCategories(event);
375 378
376 mText.append(i18n("<p><b>Priority:</b> %2</p>") 379 mText.append(i18n("<p><b>Priority:</b> %2</p>")
377 .arg(QString::number(event->priority()))); 380 .arg(QString::number(event->priority())));
378 381
379 mText.append(i18n("<p><i>%1 % completed</i></p>") 382 mText.append(i18n("<p><i>%1 % completed</i></p>")
380 .arg(event->percentComplete())); 383 .arg(event->percentComplete()));
381 384
382 formatReadOnly(event); 385 formatReadOnly(event);
383 formatAttendees(event); 386 formatAttendees(event);
384 387 if ( event->relatedTo() ) {
388 addTag("b",i18n("Parent todo: "));
389 mText.append(event->relatedTo()->summary()+" [" +QString::number(event->relatedTo()->priority()) + "/" + QString::number(((Todo*)event->relatedTo())->percentComplete())+"%] <br>");
390 }
391 QPtrList<Incidence> Relations = event->relations();
392 Incidence *to;
393 if ( Relations.first() )
394 addTag("b",i18n("Sub todos:<br>"));
395 for (to=Relations.first();to;to=Relations.next()) {
396 mText.append( to->summary()+" [" +QString::number(to->priority()) + "/" + QString::number(((Todo*)to)->percentComplete())+"%]<br>");
397
398 }
385 setText(mText); 399 setText(mText);
386} 400}
387 401
388void KOEventViewer::formatCategories(Incidence *event) 402void KOEventViewer::formatCategories(Incidence *event)
389{ 403{
390 if (!event->categoriesStr().isEmpty()) { 404 if (!event->categoriesStr().isEmpty()) {
391 if (event->categories().count() == 1) { 405 if (event->categories().count() == 1) {
392 addTag("h3",i18n("Category")); 406 addTag("h3",i18n("Category"));
393 } else { 407 } else {
394 addTag("h3",i18n("Categories")); 408 addTag("h3",i18n("Categories"));
395 } 409 }
396 addTag("p",event->categoriesStr()); 410 addTag("p",event->categoriesStr());
397 } 411 }
398} 412}
399void KOEventViewer::formatAttendees(Incidence *event) 413void KOEventViewer::formatAttendees(Incidence *event)
400{ 414{
401 QPtrList<Attendee> attendees = event->attendees(); 415 QPtrList<Attendee> attendees = event->attendees();
402 if (attendees.count()) { 416 if (attendees.count()) {
403 417
404 418
405 QString iconPath = KGlobal::iconLoader()->iconPath("mailappt",KIcon::Small); 419 QString iconPath = KGlobal::iconLoader()->iconPath("mailappt",KIcon::Small);
406 addTag("h3",i18n("Organizer")); 420 addTag("h3",i18n("Organizer"));
407 mText.append("<ul><li>"); 421 mText.append("<ul><li>");
408#ifndef KORG_NOKABC 422#ifndef KORG_NOKABC
409 423
410#ifdef DESKTOP_VERSION 424#ifdef DESKTOP_VERSION
411 KABC::AddressBook *add_book = KABC::StdAddressBook::self(); 425 KABC::AddressBook *add_book = KABC::StdAddressBook::self();
412 KABC::Addressee::List addressList; 426 KABC::Addressee::List addressList;
413 addressList = add_book->findByEmail(event->organizer()); 427 addressList = add_book->findByEmail(event->organizer());
414 KABC::Addressee o = addressList.first(); 428 KABC::Addressee o = addressList.first();
415 if (!o.isEmpty() && addressList.size()<2) { 429 if (!o.isEmpty() && addressList.size()<2) {
416 mText += "<a href=\"uid:" + o.uid() + "\">"; 430 mText += "<a href=\"uid:" + o.uid() + "\">";
417 mText += o.formattedName(); 431 mText += o.formattedName();
418 mText += "</a>\n"; 432 mText += "</a>\n";
419 } else { 433 } else {
420 mText.append(event->organizer()); 434 mText.append(event->organizer());
421 } 435 }
422#else //DESKTOP_VERSION 436#else //DESKTOP_VERSION
423 mText += "<a href=\"uid:organizer\">"; 437 mText += "<a href=\"uid:organizer\">";
424 mText += event->organizer(); 438 mText += event->organizer();
425 mText += "</a>\n"; 439 mText += "</a>\n";
426#endif //DESKTOP_VERSION 440#endif //DESKTOP_VERSION
427 441
428 442
429#else 443#else
430 mText.append(event->organizer()); 444 mText.append(event->organizer());
431#endif 445#endif
432 446
diff --git a/korganizer/koeventviewerdialog.cpp b/korganizer/koeventviewerdialog.cpp
index 772fd95..3979ed2 100644
--- a/korganizer/koeventviewerdialog.cpp
+++ b/korganizer/koeventviewerdialog.cpp
@@ -76,96 +76,99 @@ void KOEventViewerDialog::showMe()
76 show(); 76 show();
77#else 77#else
78 showMaximized(); 78 showMaximized();
79#endif 79#endif
80 setFocus(); 80 setFocus();
81 setActiveWindow(); 81 setActiveWindow();
82 82
83} 83}
84void KOEventViewerDialog::setSyncMode( bool b ) 84void KOEventViewerDialog::setSyncMode( bool b )
85{ 85{
86 mSyncMode = b; 86 mSyncMode = b;
87 //qDebug("KOEventViewerDialog::setSyncMode %d ",mSyncMode ); 87 //qDebug("KOEventViewerDialog::setSyncMode %d ",mSyncMode );
88 if ( mSyncMode ) { 88 if ( mSyncMode ) {
89 findButton( Close )->setText( i18n("Cancel Sync")); 89 findButton( Close )->setText( i18n("Cancel Sync"));
90 findButton( Ok )->setText( i18n("Remote")); 90 findButton( Ok )->setText( i18n("Remote"));
91 findButton( User1 )->setText( i18n("Local")); 91 findButton( User1 )->setText( i18n("Local"));
92 } else { 92 } else {
93 findButton( Close )->setText( i18n("Close")); 93 findButton( Close )->setText( i18n("Close"));
94 findButton( Ok )->setText( i18n("Edit")); 94 findButton( Ok )->setText( i18n("Edit"));
95 findButton( User1 )->setText( i18n("Agenda")); 95 findButton( User1 )->setText( i18n("Agenda"));
96 } 96 }
97 mEventViewer->setSyncMode( b ); 97 mEventViewer->setSyncMode( b );
98} 98}
99void KOEventViewerDialog::setColorMode( int m ) 99void KOEventViewerDialog::setColorMode( int m )
100{ 100{
101 mEventViewer->setColorMode( m ); 101 mEventViewer->setColorMode( m );
102} 102}
103int KOEventViewerDialog::executeS( bool local ) 103int KOEventViewerDialog::executeS( bool local )
104{ 104{
105 mSyncResult = 3; 105 mSyncResult = 3;
106 if ( local ) 106 if ( local )
107 findButton( User1 )->setFocus(); 107 findButton( User1 )->setFocus();
108 else 108 else
109 findButton( Ok )->setFocus(); 109 findButton( Ok )->setFocus();
110 exec(); 110 exec();
111 return mSyncResult; 111 return mSyncResult;
112} 112}
113 113
114void KOEventViewerDialog::updateConfig() 114void KOEventViewerDialog::updateConfig()
115{ 115{
116 mEventViewer->setFont( KOPrefs::instance()->mEventViewFont ); 116 mEventViewer->setFont( KOPrefs::instance()->mEventViewFont );
117 117
118} 118}
119void KOEventViewerDialog::setEvent(Event *event) 119void KOEventViewerDialog::setEvent(Event *event)
120{ 120{
121 mEventViewer->setEvent(event); 121 mEventViewer->setEvent(event);
122 mIncidence = event; 122 mIncidence = event;
123 findButton( Close )->setFocus(); 123 findButton( Close )->setFocus();
124 if ( !mSyncMode ) {
125 findButton( User1 )->setText( i18n("Agenda"));
126 }
124} 127}
125void KOEventViewerDialog::setIncidence(Incidence *in ) 128void KOEventViewerDialog::setIncidence(Incidence *in )
126{ 129{
127 if ( in->type() == "Event" ) 130 if ( in->type() == "Event" )
128 setEvent( (Event*) in ); 131 setEvent( (Event*) in );
129 else if ( in->type() =="Todo" ) 132 else if ( in->type() =="Todo" )
130 setTodo( (Todo*) in ); 133 setTodo( (Todo*) in );
131 else if ( in->type() =="Journal" ) 134 else if ( in->type() =="Journal" )
132 setJournal( (Journal*) in ); 135 setJournal( (Journal*) in );
133} 136}
134void KOEventViewerDialog::addIncidence(Incidence *in) 137void KOEventViewerDialog::addIncidence(Incidence *in)
135{ 138{
136 if ( in->type() == "Event" ) 139 if ( in->type() == "Event" )
137 addEvent( (Event*) in ); 140 addEvent( (Event*) in );
138 else if ( in->type() =="Todo" ) 141 else if ( in->type() =="Todo" )
139 mEventViewer->setTodo( (Todo*) in, false ); 142 mEventViewer->setTodo( (Todo*) in, false );
140 else if ( in->type() =="Journal" ) 143 else if ( in->type() =="Journal" )
141 mEventViewer->setJournal( (Journal*) in, false ); 144 mEventViewer->setJournal( (Journal*) in, false );
142 if ( mSyncMode ) { 145 if ( mSyncMode ) {
143 findButton( User1 )->setFocus(); 146 findButton( User1 )->setFocus();
144 setCaption(i18n("Conflict! Please choose entry")); 147 setCaption(i18n("Conflict! Please choose entry"));
145 } 148 }
146} 149}
147 150
148void KOEventViewerDialog::addEvent(Event *event) 151void KOEventViewerDialog::addEvent(Event *event)
149{ 152{
150 mEventViewer->addEvent(event); 153 mEventViewer->addEvent(event);
151 mIncidence = event; 154 mIncidence = event;
152 findButton( Close )->setFocus(); 155 findButton( Close )->setFocus();
153 if ( !mSyncMode ) { 156 if ( !mSyncMode ) {
154 findButton( User1 )->setText( i18n("Agenda")); 157 findButton( User1 )->setText( i18n("Agenda"));
155 } 158 }
156} 159}
157 160
158void KOEventViewerDialog::setTodo(Todo *event) 161void KOEventViewerDialog::setTodo(Todo *event)
159{ 162{
160 mEventViewer->setTodo(event); 163 mEventViewer->setTodo(event);
161 mIncidence = (Incidence*)event; 164 mIncidence = (Incidence*)event;
162 findButton( Close )->setFocus(); 165 findButton( Close )->setFocus();
163 if ( !mSyncMode ) { 166 if ( !mSyncMode ) {
164 findButton( User1 )->setText( i18n("Set complete")); 167 findButton( User1 )->setText( i18n("Set complete"));
165 } 168 }
166} 169}
167void KOEventViewerDialog::setJournal(Journal *j) 170void KOEventViewerDialog::setJournal(Journal *j)
168{ 171{
169 mEventViewer->setJournal(j); 172 mEventViewer->setJournal(j);
170 mIncidence = (Incidence*)j; 173 mIncidence = (Incidence*)j;
171 findButton( Close )->setFocus(); 174 findButton( Close )->setFocus();