summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/WhatsNew.txt1
-rw-r--r--korganizer/koeventviewer.cpp2
2 files changed, 2 insertions, 1 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt
index 2032420..06d630a 100644
--- a/bin/kdepim/WhatsNew.txt
+++ b/bin/kdepim/WhatsNew.txt
@@ -1,70 +1,71 @@
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 2.1.17 ************ 3********** VERSION 2.1.17 ************
4 4
5KO/Pi: 5KO/Pi:
6Added option to display times in What's Next View on two lines. 6Added option to display times in What's Next View on two lines.
7(Useful for display on the Zaurus with 240x320 screen)
7Removed "Allday" for allday events of one day duration in What's Next View. 8Removed "Allday" for allday events of one day duration in What's Next View.
8Added date range for allday events of more than one day duration in What's Next View. 9Added date range for allday events of more than one day duration in What's Next View.
9 10
10********** VERSION 2.1.16 ************ 11********** VERSION 2.1.16 ************
11 12
12Fixed a problem with the menu bar in KO/Pi and using the "Menu" hardware key on the Zaurus. 13Fixed a problem with the menu bar in KO/Pi and using the "Menu" hardware key on the Zaurus.
13Added columns for datetime in todo view: Last modified, created and last modified subtodo 14Added columns for datetime in todo view: Last modified, created and last modified subtodo
14Fixed a bug in agenda view displaying recurring multiday events which are longer than two days. 15Fixed a bug in agenda view displaying recurring multiday events which are longer than two days.
15Made conflict detection up to 4 times faster. 16Made conflict detection up to 4 times faster.
16 17
17********** VERSION 2.1.15 ************ 18********** VERSION 2.1.15 ************
18 19
19Fixed two layout problems on the Z: 20Fixed two layout problems on the Z:
20Made the with of the newly added buttons on the Quick-Todo smaller. 21Made the with of the newly added buttons on the Quick-Todo smaller.
21Made listweek layout in 2 columns on the Z760 in portait screen and full menubar visible. 22Made listweek layout in 2 columns on the Z760 in portait screen and full menubar visible.
22 23
23 24
24********** VERSION 2.1.14 ************ 25********** VERSION 2.1.14 ************
25 26
26Added some buttons to the KO/Pi Quick-todo line to make it possible to quickly access some todo view layout settings like display all flat/open/close and hide/show running/done. 27Added some buttons to the KO/Pi Quick-todo line to make it possible to quickly access some todo view layout settings like display all flat/open/close and hide/show running/done.
27Added a button to add a subtodo quickly. 28Added a button to add a subtodo quickly.
28 29
29Added a possibility to search for conflicting events. (In the Action menu. Keyboard shortcut "q", shift+q or ctrl +q ). 30Added a possibility to search for conflicting events. (In the Action menu. Keyboard shortcut "q", shift+q or ctrl +q ).
30Added an option to change the layout of the list week to column mode. 31Added an option to change the layout of the list week to column mode.
31 32
32Fixed some usability problems in pi-sync mode by adding some progress information about file transfer. 33Fixed some usability problems in pi-sync mode by adding some progress information about file transfer.
33 34
34Fixed pi-sync problems with the new multi calendar feature. 35Fixed pi-sync problems with the new multi calendar feature.
35Now pi-sync behaviour should be: 36Now pi-sync behaviour should be:
361) Local sends file request ( as usual ) 371) Local sends file request ( as usual )
372) Remote sends file which contains data of all enabled ( the calendar where the "eye" column is checked ) calendars. 382) Remote sends file which contains data of all enabled ( the calendar where the "eye" column is checked ) calendars.
383) Local syncs with data, adds new entries to default calendar and sends file back ( as usual ). 393) Local syncs with data, adds new entries to default calendar and sends file back ( as usual ).
39 If the data which local receives contains entries which are on disabled calendars on local this entries are updated and not added as duplicates to the default calendar. 40 If the data which local receives contains entries which are on disabled calendars on local this entries are updated and not added as duplicates to the default calendar.
404) Remote updates the data and adds new entries to default calendar. Readonly entries are not changed on remote. 414) Remote updates the data and adds new entries to default calendar. Readonly entries are not changed on remote.
41 If the data which remote receives contains entries which are on disabled calendars on remote this entries are updated and not added as duplicates to the default calendar. 42 If the data which remote receives contains entries which are on disabled calendars on remote this entries are updated and not added as duplicates to the default calendar.
42 43
43Summary: 44Summary:
44No new item ( new created after the last sync ) in a disabled calendar is propagated to the sync partner. Readonly items are synced and added/changed on the sync partner if it is not readonly on the sync partner. 45No new item ( new created after the last sync ) in a disabled calendar is propagated to the sync partner. Readonly items are synced and added/changed on the sync partner if it is not readonly on the sync partner.
45If you have different calendars on remote and local and some of them disabled you may get some "strange" bahaviour. 46If you have different calendars on remote and local and some of them disabled you may get some "strange" bahaviour.
46Well, the syncing has become quite complicated ... you should have no problems if you enable all calendars. 47Well, the syncing has become quite complicated ... you should have no problems if you enable all calendars.
47 48
48********** VERSION 2.1.13 ************ 49********** VERSION 2.1.13 ************
49 50
50Fixed a problem in KA/Pi search. 51Fixed a problem in KA/Pi search.
51Fixed some minor problems in KO/Pi. 52Fixed some minor problems in KO/Pi.
52Added calendar selection possibility to the todo view popup and to the event/todo/journal editor. 53Added calendar selection possibility to the todo view popup and to the event/todo/journal editor.
53 54
54Fixed memory usage problems in KA/Pi: 55Fixed memory usage problems in KA/Pi:
55When loading data KA/Pi did load the file data twice. 56When loading data KA/Pi did load the file data twice.
56Example: 57Example:
57 A 600k file did consume 1200k memory during loading process. 58 A 600k file did consume 1200k memory during loading process.
58 This is fixed, it does now consume only 600k during loading process. 59 This is fixed, it does now consume only 600k during loading process.
59When saving data KA/Pi did consume a lot of memory for the data parsing during the save process. 60When saving data KA/Pi did consume a lot of memory for the data parsing during the save process.
60This is fixed. 61This is fixed.
61Example: 62Example:
62 Before saving a 600k file KA/Pi did consume 21.7 Meg of Ram. 63 Before saving a 600k file KA/Pi did consume 21.7 Meg of Ram.
63 When saving KA/Pi did consume 28.6 Meg of Ram. That causes a crash on the Zaurus because there was no memeory left in the system. 64 When saving KA/Pi did consume 28.6 Meg of Ram. That causes a crash on the Zaurus because there was no memeory left in the system.
64 Now KA/Pi is consuming on saving the same data 22.0 Meg of Ram during the save process. 65 Now KA/Pi is consuming on saving the same data 22.0 Meg of Ram during the save process.
65Note: The memory usage of KA/Pi after the data is loaded/saved has not changed. 66Note: The memory usage of KA/Pi after the data is loaded/saved has not changed.
66The saving of data may be a bit slower now. 67The saving of data may be a bit slower now.
67 68
68Fixed memory usage problems in KO/Pi: 69Fixed memory usage problems in KO/Pi:
69When KO/Pi did save the data to file, it did not release the used buffers after saving. 70When KO/Pi did save the data to file, it did not release the used buffers after saving.
70The used buffer was released after saving the next time, but there was new buffer space allocated again on that save operation. 71The used buffer was released after saving the next time, but there was new buffer space allocated again on that save operation.
diff --git a/korganizer/koeventviewer.cpp b/korganizer/koeventviewer.cpp
index 2d0bfff..a690ab1 100644
--- a/korganizer/koeventviewer.cpp
+++ b/korganizer/koeventviewer.cpp
@@ -54,129 +54,129 @@
54#include <kabc/addresseedialog.h> 54#include <kabc/addresseedialog.h>
55#include <kabc/addresseeview.h> 55#include <kabc/addresseeview.h>
56#include <qprinter.h> 56#include <qprinter.h>
57#include <qpainter.h> 57#include <qpainter.h>
58#include <qpaintdevicemetrics.h> 58#include <qpaintdevicemetrics.h>
59#else //DESKTOP_VERSION 59#else //DESKTOP_VERSION
60#include <externalapphandler.h> 60#include <externalapphandler.h>
61#include <qtopia/qcopenvelope_qws.h> 61#include <qtopia/qcopenvelope_qws.h>
62#endif //DESKTOP_VERSION 62#endif //DESKTOP_VERSION
63 63
64KOEventViewer::KOEventViewer(QWidget *parent,const char *name) 64KOEventViewer::KOEventViewer(QWidget *parent,const char *name)
65 : QTextBrowser(parent,name) 65 : QTextBrowser(parent,name)
66{ 66{
67 mSyncMode = false; 67 mSyncMode = false;
68 mColorMode = 0; 68 mColorMode = 0;
69} 69}
70 70
71KOEventViewer::~KOEventViewer() 71KOEventViewer::~KOEventViewer()
72{ 72{
73} 73}
74 74
75void KOEventViewer::printMe() 75void KOEventViewer::printMe()
76{ 76{
77#ifdef DESKTOP_VERSION 77#ifdef DESKTOP_VERSION
78 78
79 KOPrintPrefs pp ( this ); 79 KOPrintPrefs pp ( this );
80 if (!pp.exec() ) 80 if (!pp.exec() )
81 return; 81 return;
82 int scaleval = pp.printMode() ; 82 int scaleval = pp.printMode() ;
83 83
84 QPrinter printer; 84 QPrinter printer;
85 if (!printer.setup() ) 85 if (!printer.setup() )
86 return; 86 return;
87 QPainter p; 87 QPainter p;
88 p.begin ( &printer ); 88 p.begin ( &printer );
89 QPaintDeviceMetrics m = QPaintDeviceMetrics ( &printer ); 89 QPaintDeviceMetrics m = QPaintDeviceMetrics ( &printer );
90 float dx, dy; 90 float dx, dy;
91 int wid = (m.width() * 9)/10; 91 int wid = (m.width() * 9)/10;
92 dx = (float) wid/(float)contentsWidth (); 92 dx = (float) wid/(float)contentsWidth ();
93 dy = (float)(m.height()) / (float)contentsHeight (); 93 dy = (float)(m.height()) / (float)contentsHeight ();
94 float scale; 94 float scale;
95 // scale to fit the width or height of the paper 95 // scale to fit the width or height of the paper
96 if ( dx < dy ) 96 if ( dx < dy )
97 scale = dx; 97 scale = dx;
98 else 98 else
99 scale = dy; 99 scale = dy;
100 100
101 p.translate( m.width()/10,0 ); 101 p.translate( m.width()/10,0 );
102 if ( scaleval == 2 || scaleval == 1 && scale < 1.0 ) { 102 if ( scaleval == 2 || scaleval == 1 && scale < 1.0 ) {
103 p.scale( scale, scale ); 103 p.scale( scale, scale );
104 } 104 }
105 drawContents ( &p, 0,0, contentsWidth (), contentsHeight () ); 105 drawContents ( &p, 0,0, contentsWidth (), contentsHeight () );
106 p.end(); 106 p.end();
107#endif 107#endif
108 108
109} 109}
110void KOEventViewer::setSource(const QString& n) 110void KOEventViewer::setSource(const QString& n)
111{ 111{
112 112
113 if ( n.left(8) == "todo_uid" ) { 113 if ( n.left(8) == "todo_uid" ) {
114 int midstr = 9; 114 int midstr = 9;
115#ifdef DESKTOP_VERSION 115#ifdef DESKTOP_VERSION
116 midstr = 11; 116 midstr = 11;
117#endif 117#endif
118 qDebug("-%s- ", n.mid(midstr).latin1()); 118 //qDebug("-%s- ", n.mid(midstr).latin1());
119 emit showIncidence( n.mid(midstr) ); 119 emit showIncidence( n.mid(midstr) );
120 return; 120 return;
121 } 121 }
122 122
123 if ( n.left(3) == "uid" ) 123 if ( n.left(3) == "uid" )
124#ifdef DESKTOP_VERSION 124#ifdef DESKTOP_VERSION
125 { 125 {
126 KABC::StdAddressBook* AddressBook = KABC::StdAddressBook::self( true ); 126 KABC::StdAddressBook* AddressBook = KABC::StdAddressBook::self( true );
127 KABC::AddressBook::Iterator it; 127 KABC::AddressBook::Iterator it;
128 for( it = AddressBook->begin(); it != AddressBook->end(); ++it ) { 128 for( it = AddressBook->begin(); it != AddressBook->end(); ++it ) {
129 // LR I do not understand, why the uid string is different on zaurus and desktop 129 // LR I do not understand, why the uid string is different on zaurus and desktop
130 QString uid = "uid://"+(*it).uid(); 130 QString uid = "uid://"+(*it).uid();
131 131
132 //qDebug("for *%s* +%s+ ", n.latin1(), uid.latin1()); 132 //qDebug("for *%s* +%s+ ", n.latin1(), uid.latin1());
133 if (n == uid ) { 133 if (n == uid ) {
134 //qDebug("found %s ",(*it).mobileHomePhone().latin1() ); 134 //qDebug("found %s ",(*it).mobileHomePhone().latin1() );
135 QDialog dia( this,"dia123", true ); 135 QDialog dia( this,"dia123", true );
136 dia.setCaption( i18n("Details of attendee") ); 136 dia.setCaption( i18n("Details of attendee") );
137 QVBoxLayout lay ( &dia ); 137 QVBoxLayout lay ( &dia );
138 KABC::AddresseeView av ( &dia ); 138 KABC::AddresseeView av ( &dia );
139 av.setAddressee( (*it) ); 139 av.setAddressee( (*it) );
140 lay.addWidget( &av ); 140 lay.addWidget( &av );
141 if ( QApplication::desktop()->width() < 480 ) 141 if ( QApplication::desktop()->width() < 480 )
142 dia.resize( 220, 240); 142 dia.resize( 220, 240);
143 else { 143 else {
144 dia.resize( 400,400); 144 dia.resize( 400,400);
145 } 145 }
146 dia.exec(); 146 dia.exec();
147 break; 147 break;
148 } 148 }
149 } 149 }
150 return; 150 return;
151 } 151 }
152#else 152#else
153 { 153 {
154 if ( "uid:organizer" == n ) { 154 if ( "uid:organizer" == n ) {
155 ExternalAppHandler::instance()->requestDetailsFromKAPI("", mCurrentIncidence->organizer(),""); 155 ExternalAppHandler::instance()->requestDetailsFromKAPI("", mCurrentIncidence->organizer(),"");
156 return; 156 return;
157 } 157 }
158 QPtrList<Attendee> attendees = mCurrentIncidence->attendees(); 158 QPtrList<Attendee> attendees = mCurrentIncidence->attendees();
159 if (attendees.count()) { 159 if (attendees.count()) {
160 Attendee *a; 160 Attendee *a;
161 for(a=attendees.first();a;a=attendees.next()) { 161 for(a=attendees.first();a;a=attendees.next()) {
162 if ( "uid:"+a->uid() == n ) { 162 if ( "uid:"+a->uid() == n ) {
163 bool res = ExternalAppHandler::instance()->requestDetailsFromKAPI(a->name(), a->email(), a->uid()); 163 bool res = ExternalAppHandler::instance()->requestDetailsFromKAPI(a->name(), a->email(), a->uid());
164 return; 164 return;
165 } 165 }
166 } 166 }
167 } 167 }
168 return; 168 return;
169 } 169 }
170 //requestNameEmailUidListFromKAPI("QPE/Application/kopi", this->name() /* name is here the unique uid*/); 170 //requestNameEmailUidListFromKAPI("QPE/Application/kopi", this->name() /* name is here the unique uid*/);
171 // the result should now arrive through method insertAttendees 171 // the result should now arrive through method insertAttendees
172 //QString uid = "uid:"+(*it).uid(); 172 //QString uid = "uid:"+(*it).uid();
173#endif 173#endif
174 if ( n.left(6) == "mailto" ) { 174 if ( n.left(6) == "mailto" ) {
175 // qDebug("KOEventViewer::setSource %s ", n.mid(7).latin1()); 175 // qDebug("KOEventViewer::setSource %s ", n.mid(7).latin1());
176#ifndef DESKTOP_VERSION 176#ifndef DESKTOP_VERSION
177 if ( n.mid(7,3) == "ALL" ) { 177 if ( n.mid(7,3) == "ALL" ) {
178 mailToAttendees( true ); 178 mailToAttendees( true );
179 } else if ( n.mid(7,4) == "RSVP" ) { 179 } else if ( n.mid(7,4) == "RSVP" ) {
180 mailToAttendees( false ); 180 mailToAttendees( false );
181 } else { 181 } else {
182 QCopEnvelope e("QPE/Application/ompi", "newMail(QString)" ); 182 QCopEnvelope e("QPE/Application/ompi", "newMail(QString)" );