summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/WhatsNew.txt42
-rw-r--r--kabc/vcard/VCardEntity.cpp2
2 files changed, 43 insertions, 1 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt
index 2f88091..b9933ca 100644
--- a/bin/kdepim/WhatsNew.txt
+++ b/bin/kdepim/WhatsNew.txt
@@ -1,130 +1,172 @@
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.9 ************
4
5KDE-Pim/Pi has a new Member!
6It is called PWM/Pi (Passwordmanager/platform-independent)
7and it is available for the Zaurus.
8It is planned, that it will be available later for Windows.
9(And for Linux, of course).
10It is a port of the Passwordmanager of KDE.
11It will need the MicroKDElibs to run.
12
13Made loading of addressbooks in KA/Pi up to 7 times faster!
14The bigger your addressbook file, the more starting speed
15will you gain. (relatively)
16
17The Qtopia addressbook connector is now platform independend
18as well and should work on any platform for importing/exporting
19Qtopia and Opie XML files.
20
21Added a +30min feature to the timezone settings to make
22KDE-Pim/Pi useable in Australia and other parts on the
23world with strange timezones ;-)
24
25German "Umlaute" should now be sorted correctly on the Z in KA/Pi.
26
27It is now possible to disable the
28"receive data via infrared" feature, such that syncing with
29Outlook is now possible again with Kx/Pi runing.
30Please disable it, before syncing Sharp DTM with Outlook.
31For your convenience, the "receive data via infrared" feature
32is disabled automatically, if you sync Kx/Pi with DTM.
33You have to enable it again manually after syncing.
34Enabling this feature makes it impossible to start the
35Sharp DTM apps. If this feature is enabled, you will only get the
36alarm notification from KO/Pi and not from the Sharp calendar.
37This is very useful if you sync KO/Pi with Sharp DTM,
38because after syncing you usually would get notified about
39an alarm by KO/Pi and the Sharp Calendar.
40
41
42Fixed the vcard export bug, wich had the version 1.9.8.
43
44
3********** VERSION 1.9.8 ************ 45********** VERSION 1.9.8 ************
4 46
5Fixed character decoding in OM/Pi. 47Fixed character decoding in OM/Pi.
6(e.g. German "Umlaute" were not displayed properly.) 48(e.g. German "Umlaute" were not displayed properly.)
7 49
8Made is possible to reparent todos in KO/Pi. 50Made is possible to reparent todos in KO/Pi.
9Use contextmenu or keys (look at Help-Keys + Colors) for that. 51Use contextmenu or keys (look at Help-Keys + Colors) for that.
10 52
11Added the missing Sync-Howto and WhatsNew to the packages. 53Added the missing Sync-Howto and WhatsNew to the packages.
12 54
13KO/Pi on Linux desktop can now sync with KDE desktop. 55KO/Pi on Linux desktop can now sync with KDE desktop.
14That means: When using KO/Pi on Linux desktop for syncing with 56That means: When using KO/Pi on Linux desktop for syncing with
15KDE desktop and the Zaurus, the Zaurus can be synced now 57KDE desktop and the Zaurus, the Zaurus can be synced now
16with all KDE-Calendar resources, not only with one local file. 58with all KDE-Calendar resources, not only with one local file.
17(That makes it possible to sync the Zaurus with the 59(That makes it possible to sync the Zaurus with the
18calendar data on a Kolab server) 60calendar data on a Kolab server)
19 61
20KA/Pi syncing with KDE desktop will be available in the next version. 62KA/Pi syncing with KDE desktop will be available in the next version.
21 63
22 64
23********** VERSION 1.9.7 ************ 65********** VERSION 1.9.7 ************
24 66
25KO/Pi - KA/Pi on Windows: 67KO/Pi - KA/Pi on Windows:
26Now a directory can be defined by the user, where the 68Now a directory can be defined by the user, where the
27application/config data should be saved. 69application/config data should be saved.
28 Define your desired path in the evironment variable 70 Define your desired path in the evironment variable
29 MICROKDEHOME 71 MICROKDEHOME
30 before starting KO/Pi or KA/Pi. 72 before starting KO/Pi or KA/Pi.
31 73
32An easy Kx/Pi to Kx/Pi syncing is now possible 74An easy Kx/Pi to Kx/Pi syncing is now possible
33(it is called Pi-Sync) via network. 75(it is called Pi-Sync) via network.
34Please look at the Sync Howto. 76Please look at the Sync Howto.
35 77
36Exporting of calendar data and contacts to mobile phones is now possible. 78Exporting of calendar data and contacts to mobile phones is now possible.
37The SyncHowto is updated with information howto 79The SyncHowto is updated with information howto
38access/sync mobile phones. 80access/sync mobile phones.
39Please look at the Sync Howto. 81Please look at the Sync Howto.
40 82
41Now KO/Pi and KA/Pi on the Zaurus can receive data via infrared directly. 83Now KO/Pi and KA/Pi on the Zaurus can receive data via infrared directly.
42Please disable Fastload for the original contact/calendar applications 84Please disable Fastload for the original contact/calendar applications
43and close them. 85and close them.
44KO/Pi and KA/Pi must be running in order to receive the data. 86KO/Pi and KA/Pi must be running in order to receive the data.
45(KO/Pi and KA/Pi are always running if Fastload for them is enabled!) 87(KO/Pi and KA/Pi are always running if Fastload for them is enabled!)
46 88
47In the KA/Pi details view are now the preferred tel. numbers displayed on top 89In the KA/Pi details view are now the preferred tel. numbers displayed on top
48of the other data ( emails/tel.numbers/addresses) 90of the other data ( emails/tel.numbers/addresses)
49 91
50Fixed some syncing problems in KA/Pi. 92Fixed some syncing problems in KA/Pi.
51 93
52Added font settings for the KA/Pi details view. 94Added font settings for the KA/Pi details view.
53Added fields "children's name" and "gender" to KA/Pi. 95Added fields "children's name" and "gender" to KA/Pi.
54 96
55Made searching in KA/Pi better: 97Made searching in KA/Pi better:
56Now the first item in a view is selected after a search automatically and 98Now the first item in a view is selected after a search automatically and
57the views can be scrolled up/down when the search input field has the keyboard focus. 99the views can be scrolled up/down when the search input field has the keyboard focus.
58 100
59And, of course, fixed a bunch of reported bugs in KO/Pi and KA/Pi. 101And, of course, fixed a bunch of reported bugs in KO/Pi and KA/Pi.
60 102
61 103
62********** VERSION 1.9.6 ************ 104********** VERSION 1.9.6 ************
63 105
64Changes in the external application communication on the Zaurus 106Changes in the external application communication on the Zaurus
65in order to use less RAM when the apps are running. 107in order to use less RAM when the apps are running.
66First syncing of addressbooks (KA/Pi) is possible. 108First syncing of addressbooks (KA/Pi) is possible.
67 109
68 110
69********** VERSION 1.9.5a ************ 111********** VERSION 1.9.5a ************
70 112
71Fixed a bug in KO/Pi in the SharpDTM sync of version 1.9.5. 113Fixed a bug in KO/Pi in the SharpDTM sync of version 1.9.5.
72Fixed some small bugs. 114Fixed some small bugs.
73KA/Pi shows now the birthday in summary view. 115KA/Pi shows now the birthday in summary view.
74Now OM/Pi and KA/Pi are using the date format defined in KO/Pi 116Now OM/Pi and KA/Pi are using the date format defined in KO/Pi
75for displaying dates. 117for displaying dates.
76 118
77 119
78********** VERSION 1.9.5 ************ 120********** VERSION 1.9.5 ************
79 121
80There is still no Addressbook syncing! 122There is still no Addressbook syncing!
81 123
82New in 1.9.5: 124New in 1.9.5:
83 125
84Many bugfixes. 126Many bugfixes.
85Better searching in KA/Pi. 127Better searching in KA/Pi.
86You can configure in KA/Pi if you want to search only after 128You can configure in KA/Pi if you want to search only after
87<return> key pressed. 129<return> key pressed.
88 130
89Better mail downloading in OM/Pi. 131Better mail downloading in OM/Pi.
90 132
91First experimental alpha version of sync of KO/Pi with mobile phones. 133First experimental alpha version of sync of KO/Pi with mobile phones.
92See gammu documentation for supported phones. 134See gammu documentation for supported phones.
93You need to install the package kammu_1.9.5_arm.ipk for sync of KO/Pi with mobile phones. kammu_1.9.5_arm.ipk needs libbluetooth and libsdp. 135You need to install the package kammu_1.9.5_arm.ipk for sync of KO/Pi with mobile phones. kammu_1.9.5_arm.ipk needs libbluetooth and libsdp.
94Quick hint how to use: 136Quick hint how to use:
95NOTE: MOBILE PHONE SYNC IS EXPERIMENTAL! 137NOTE: MOBILE PHONE SYNC IS EXPERIMENTAL!
96Install kammu_1.9.5_arm.ipk , libbluetooth and libsdp. 138Install kammu_1.9.5_arm.ipk , libbluetooth and libsdp.
97Create syncprofile - mobile device 139Create syncprofile - mobile device
98Remove entry for model. (Leave empty ). 140Remove entry for model. (Leave empty ).
99Enable infrared on Zaurus and your Phone. 141Enable infrared on Zaurus and your Phone.
100Sync. 142Sync.
101To get a more detailed log, start kopi from konsole. 143To get a more detailed log, start kopi from konsole.
102 144
103********** VERSION 1.9.4 ************ 145********** VERSION 1.9.4 ************
104 146
105This is the version 1.9.4 of KDE-Pim/Pi for the Zaurus. 147This is the version 1.9.4 of KDE-Pim/Pi for the Zaurus.
106 148
107WARNING: 149WARNING:
108PLEASE BACKUP ALL YOUR DATA! 150PLEASE BACKUP ALL YOUR DATA!
109We have changed a lot and maybe there are some unknown problems. 151We have changed a lot and maybe there are some unknown problems.
110 152
111SYNC HANDLING HAS CHANGED! 153SYNC HANDLING HAS CHANGED!
112Such that, if you sync now with an already synded device, you will duplicated entries after the first sync. 154Such that, if you sync now with an already synded device, you will duplicated entries after the first sync.
113(This change was introduced to make it possible to sync with mobile phones, which will be available later (maybe in 4 weeks). 155(This change was introduced to make it possible to sync with mobile phones, which will be available later (maybe in 4 weeks).
114 156
115You need the kmicrokdelibs_1.9.4_arm.ipk as a base for the other programs. 157You need the kmicrokdelibs_1.9.4_arm.ipk as a base for the other programs.
116If you get the error: "Install only possible in main memory", just try it again to install it on SD card. That worked for me. And it was reported that rebooting Qtopia did help in this case as well. 158If you get the error: "Install only possible in main memory", just try it again to install it on SD card. That worked for me. And it was reported that rebooting Qtopia did help in this case as well.
117 159
118As programs are available: 160As programs are available:
119KO/Pi (korganizer ipk) - a calendar program. 161KO/Pi (korganizer ipk) - a calendar program.
120KA/Pi (kaddressbook ipk ) - an addressbook 162KA/Pi (kaddressbook ipk ) - an addressbook
121OM/Pi (kopiemail ipk ) an email program with pop/smtp and IMAP support. 163OM/Pi (kopiemail ipk ) an email program with pop/smtp and IMAP support.
122 164
123An alarm notification program ( korganizer-alarm ipk ) for KO/Pi that notifies you about alarms, even if the Zaurus is in suspend mode. 165An alarm notification program ( korganizer-alarm ipk ) for KO/Pi that notifies you about alarms, even if the Zaurus is in suspend mode.
124(If you do not see an icon in the taskbar after installing korganizer-alarm, please restart Qtopia) 166(If you do not see an icon in the taskbar after installing korganizer-alarm, please restart Qtopia)
125 167
126All the applications are installed in a "Pim" TAB. 168All the applications are installed in a "Pim" TAB.
127If this TAB is new on your system, you can get an icon in this TAB by installing pim_TAB_icon_1.9.4_arm.ipk 169If this TAB is new on your system, you can get an icon in this TAB by installing pim_TAB_icon_1.9.4_arm.ipk
128 170
129All the application are integrated. 171All the application are integrated.
130Such that you can choose in KO/Pi the attendees of a meeting from the addresses in KA/Pi. When you click in KA/Pi on the email address, OM/Pi is started to write the mail. 172Such that you can choose in KO/Pi the attendees of a meeting from the addresses in KA/Pi. When you click in KA/Pi on the email address, OM/Pi is started to write the mail.
diff --git a/kabc/vcard/VCardEntity.cpp b/kabc/vcard/VCardEntity.cpp
index 81debf4..a2ff327 100644
--- a/kabc/vcard/VCardEntity.cpp
+++ b/kabc/vcard/VCardEntity.cpp
@@ -1,153 +1,153 @@
1/* 1/*
2 libvcard - vCard parsing library for vCard version 3.0 2 libvcard - vCard parsing library for vCard version 3.0
3 3
4 Copyright (C) 1998 Rik Hemsley rik@kde.org 4 Copyright (C) 1998 Rik Hemsley rik@kde.org
5 5
6 Permission is hereby granted, free of charge, to any person obtaining a copy 6 Permission is hereby granted, free of charge, to any person obtaining a copy
7 of this software and associated documentation files (the "Software"), to 7 of this software and associated documentation files (the "Software"), to
8 deal in the Software without restriction, including without limitation the 8 deal in the Software without restriction, including without limitation the
9 rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9 rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10 sell copies of the Software, and to permit persons to whom the Software is 10 sell copies of the Software, and to permit persons to whom the Software is
11 furnished to do so, subject to the following conditions: 11 furnished to do so, subject to the following conditions:
12 12
13 The above copyright notice and this permission notice shall be included in 13 The above copyright notice and this permission notice shall be included in
14 all copies or substantial portions of the Software. 14 all copies or substantial portions of the Software.
15 15
16 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 19 AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20 ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22*/ 22*/
23 23
24#include <qregexp.h> 24#include <qregexp.h>
25#include <qdatetime.h>; 25#include <qdatetime.h>
26 26
27#include <VCardDefines.h> 27#include <VCardDefines.h>
28#include <VCardVCardEntity.h> 28#include <VCardVCardEntity.h>
29 29
30using namespace VCARD; 30using namespace VCARD;
31 31
32VCardEntity::VCardEntity() 32VCardEntity::VCardEntity()
33 :Entity() 33 :Entity()
34{ 34{
35 cardList_.setAutoDelete( TRUE ); 35 cardList_.setAutoDelete( TRUE );
36} 36}
37 37
38VCardEntity::VCardEntity(const VCardEntity & x) 38VCardEntity::VCardEntity(const VCardEntity & x)
39 :Entity(x) 39 :Entity(x)
40{ 40{
41 cardList_.setAutoDelete( TRUE ); 41 cardList_.setAutoDelete( TRUE );
42} 42}
43 43
44VCardEntity::VCardEntity(const QCString & s) 44VCardEntity::VCardEntity(const QCString & s)
45 :Entity(s) 45 :Entity(s)
46{ 46{
47 cardList_.setAutoDelete( TRUE ); 47 cardList_.setAutoDelete( TRUE );
48} 48}
49 49
50 VCardEntity & 50 VCardEntity &
51VCardEntity::operator = (VCardEntity & x) 51VCardEntity::operator = (VCardEntity & x)
52{ 52{
53 if (*this == x) return *this; 53 if (*this == x) return *this;
54 54
55 Entity::operator = (x); 55 Entity::operator = (x);
56 return *this; 56 return *this;
57} 57}
58 58
59 VCardEntity & 59 VCardEntity &
60VCardEntity::operator = (const QCString & s) 60VCardEntity::operator = (const QCString & s)
61{ 61{
62 Entity::operator = (s); 62 Entity::operator = (s);
63 return *this; 63 return *this;
64} 64}
65 65
66 bool 66 bool
67VCardEntity::operator == (VCardEntity & x) 67VCardEntity::operator == (VCardEntity & x)
68{ 68{
69 x.parse(); 69 x.parse();
70 return false; 70 return false;
71} 71}
72 72
73VCardEntity::~VCardEntity() 73VCardEntity::~VCardEntity()
74{ 74{
75} 75}
76 76
77 void 77 void
78VCardEntity::_parse() 78VCardEntity::_parse()
79{ 79{
80#if 0 80#if 0
81 QTime tim; 81 QTime tim;
82 tim.start(); 82 tim.start();
83 int num = 0; 83 int num = 0;
84 // old code 84 // old code
85 vDebug("parse"); 85 vDebug("parse");
86 QCString s(strRep_); 86 QCString s(strRep_);
87 87
88 int i = s.find(QRegExp("BEGIN:VCARD", false)); 88 int i = s.find(QRegExp("BEGIN:VCARD", false));
89 89
90 while (i != -1) { 90 while (i != -1) {
91 91
92 i = s.find(QRegExp("BEGIN:VCARD", false), 11); 92 i = s.find(QRegExp("BEGIN:VCARD", false), 11);
93 93
94 QCString cardStr(s.left(i)); 94 QCString cardStr(s.left(i));
95 95
96 VCard * v = new VCard(cardStr); 96 VCard * v = new VCard(cardStr);
97 97
98 cardList_.append(v); 98 cardList_.append(v);
99 99
100 v->parse(); 100 v->parse();
101 101
102 s.remove(0, i); 102 s.remove(0, i);
103 } 103 }
104 104
105#else 105#else
106 // this code is up to 17 (!) times faster 106 // this code is up to 17 (!) times faster
107 int start = 0; 107 int start = 0;
108 QTime tim; 108 QTime tim;
109 tim.start(); 109 tim.start();
110 int i = 11; 110 int i = 11;
111 int len = strRep_.length(); 111 int len = strRep_.length();
112 int num = 0; 112 int num = 0;
113 while (i < len ) { 113 while (i < len ) {
114 while( i < len ) { 114 while( i < len ) {
115 int add = 1; 115 int add = 1;
116 if ( strRep_.at(i) == 'B' ) { 116 if ( strRep_.at(i) == 'B' ) {
117 if ( i+add < len && strRep_.at(i+add++) == 'E') 117 if ( i+add < len && strRep_.at(i+add++) == 'E')
118 if ( i+add < len && strRep_.at(i+add++) == 'G') 118 if ( i+add < len && strRep_.at(i+add++) == 'G')
119 if ( i+add < len && strRep_.at(i+add++) == 'I') 119 if ( i+add < len && strRep_.at(i+add++) == 'I')
120 if ( i+add < len && strRep_.at(i+add++) == 'N') 120 if ( i+add < len && strRep_.at(i+add++) == 'N')
121 if ( i+add < len && strRep_.at(i+add++) == ':') 121 if ( i+add < len && strRep_.at(i+add++) == ':')
122 if ( i+add < len && strRep_.at(i+add++) == 'V') 122 if ( i+add < len && strRep_.at(i+add++) == 'V')
123 if ( i+add < len && strRep_.at(i+add++) == 'C') 123 if ( i+add < len && strRep_.at(i+add++) == 'C')
124 if ( i+add < len && strRep_.at(i+add++) == 'A') 124 if ( i+add < len && strRep_.at(i+add++) == 'A')
125 if ( i+add < len && strRep_.at(i+add++) == 'R') 125 if ( i+add < len && strRep_.at(i+add++) == 'R')
126 if ( i+add < len && strRep_.at(i+add++) == 'D') 126 if ( i+add < len && strRep_.at(i+add++) == 'D')
127 if ( i+add < len && (strRep_.at(i+add) == '\r' || strRep_.at(i+add) == '\n' )) 127 if ( i+add < len && (strRep_.at(i+add) == '\r' || strRep_.at(i+add) == '\n' ))
128 break; 128 break;
129 } 129 }
130 ++i; 130 ++i;
131 } 131 }
132 if ( i <= len ) { 132 if ( i <= len ) {
133 ++num; 133 ++num;
134 char* dat = strRep_.data()+start; 134 char* dat = strRep_.data()+start;
135 VCard * v = new VCard( QCString ( dat,i-start ) ); 135 VCard * v = new VCard( QCString ( dat,i-start ) );
136 start = i; 136 start = i;
137 cardList_.append(v); 137 cardList_.append(v);
138 v->parse(); 138 v->parse();
139 } 139 }
140 i+= 11; 140 i+= 11;
141 } 141 }
142#endif 142#endif
143 //qDebug("***time %d found %d", tim.elapsed(), num); 143 //qDebug("***time %d found %d", tim.elapsed(), num);
144} 144}
145 145
146 void 146 void
147VCardEntity::_assemble() 147VCardEntity::_assemble()
148{ 148{
149 VCardListIterator it(cardList_); 149 VCardListIterator it(cardList_);
150 150
151 for (; it.current(); ++it) 151 for (; it.current(); ++it)
152 strRep_ += it.current()->asString() + "\r\n"; // One CRLF for luck. 152 strRep_ += it.current()->asString() + "\r\n"; // One CRLF for luck.
153} 153}