author | zautrix <zautrix> | 2004-09-08 15:08:13 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-09-08 15:08:13 (UTC) |
commit | 83570b43ee0d53737007031161c2694824351089 (patch) (unidiff) | |
tree | 986fca69a9daf0632fbbfd3f144960858e0ebd84 | |
parent | a1bf91640d9719694b3cfb027b0b53988480f041 (diff) | |
download | kdepimpi-83570b43ee0d53737007031161c2694824351089.zip kdepimpi-83570b43ee0d53737007031161c2694824351089.tar.gz kdepimpi-83570b43ee0d53737007031161c2694824351089.tar.bz2 |
Fix for the Z
-rw-r--r-- | bin/kdepim/korganizer/kopiWhatsNew.txt | 74 | ||||
-rw-r--r-- | kaddressbook/kabcore.cpp | 30 |
2 files changed, 93 insertions, 11 deletions
diff --git a/bin/kdepim/korganizer/kopiWhatsNew.txt b/bin/kdepim/korganizer/kopiWhatsNew.txt index 8982a9c..20de933 100644 --- a/bin/kdepim/korganizer/kopiWhatsNew.txt +++ b/bin/kdepim/korganizer/kopiWhatsNew.txt | |||
@@ -1,67 +1,141 @@ | |||
1 | Info about the changes in new versions of KO/Pi | 1 | Info about the changes in new versions of KO/Pi |
2 | and KDE-Pim/Pi | 2 | and KDE-Pim/Pi |
3 | 3 | ||
4 | ********** VERSION 1.9.4 ************ | ||
5 | |||
6 | This is the version 1.9.4 of KDE-Pim/Pi for the Zaurus. | ||
7 | |||
8 | WARNING: | ||
9 | PLEASE BACKUP ALL YOUR DATA! | ||
10 | We have changed a lot and maybe there are some unknown problems. | ||
11 | |||
12 | SYNC HANDLING HAS CHANGED! | ||
13 | Such that, if you sync now with an already synded device, you will duplicated entries after the first sync. | ||
14 | (This change was introduced to make it possible to sync with mobile phones, which will be available later (maybe in 4 weeks). | ||
15 | |||
16 | You need the kmicrokdelibs_1.9.4_arm.ipk as a base for the other programs. | ||
17 | If 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. | ||
18 | |||
19 | As programs are available: | ||
20 | KO/Pi (korganizer ipk) - a calendar program. | ||
21 | KA/Pi (kaddressbook ipk ) - an addressbook | ||
22 | OM/Pi (kopiemail ipk ) an email program with pop/smtp and IMAP support. | ||
23 | |||
24 | An alarm notification program ( korganizer-alarm ipk ) for KO/Pi that notifies you about alarms, even if the Zaurus is in suspend mode. | ||
25 | (If you do not see an icon in the taskbar after installing korganizer-alarm, please restart Qtopia) | ||
26 | |||
27 | All the applications are installed in a "Pim" TAB. | ||
28 | If 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 | ||
29 | |||
30 | All the application are integrated. | ||
31 | Such 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. | ||
32 | |||
33 | HINT: | ||
34 | If you install KPhone/Pi 0.9.7, it will be called, if you click in KA/Pi on a phone number. | ||
35 | |||
36 | What's new? | ||
37 | |||
38 | SYNC HANDLING HAS CHANGED! | ||
39 | Such that, if you sync now with an already synded device, you will duplicated entries after the first sync. | ||
40 | (This change was introduced to make it possible to sync with mobile phones, which will be available later (maybe in 4 weeks). | ||
41 | |||
42 | New in OM/Pi: | ||
43 | When copying(i.e. downloading mails) , you can specify, that only mails of a given size should be downloaded. Added mail copy possibility for selected mails. | ||
44 | |||
45 | New in KO/Pi: | ||
46 | French is now available for KO/Pi. | ||
47 | Choose menu:Actions - Configure:TAB locale | ||
48 | Syncing has changed. | ||
49 | Phone sync available soon. | ||
50 | Not much changes, I cannot remember them ... | ||
51 | |||
52 | New in KA/Pi: | ||
53 | Beaming possible. | ||
54 | Sharp DTM readonly access possible( create a new DTM resource ); | ||
55 | Better searching possible. | ||
56 | Search is performed only after pressing the return key. | ||
57 | Use wildcard * to specify parts of a name. | ||
58 | |||
59 | Better name/email selection dialog (called from KO/Pi or OM/Pi). In this dialog, now searching is possible. Like in KA/Pi, use return key and wildcard * . | ||
60 | |||
61 | A big improvement is the new management of the contact access. | ||
62 | In version 1.9.3, every application was using their own addressbook access data. | ||
63 | That means, the addressbook was loaded up to three times in the memory, when accessed by KA/Pi, KO/Pi and OM/Pi. | ||
64 | That was wasting of memory, if you had several hundreds of contacts. | ||
65 | |||
66 | Now only KA/Pi accesses the addressbook. | ||
67 | If KO/Pi or OM/Pi want to get some name/email data, they request KA/Pi to open the name/email selection dialog and send it back to them. | ||
68 | If you click on an attendee in a meeting, its contact data is displayed in KA/Pi directly. | ||
69 | That means, if KO/Pi or OM/Pi want to access contact data, KA/Pi is started first. | ||
70 | |||
71 | New in the KO/Pi alarm applet: | ||
72 | Configure your own timer popup menu! | ||
73 | (Text and minutes for timer countdown) | ||
74 | Just edit the file | ||
75 | (yourhomedir)/.kopialarmtimerrc | ||
76 | and start/stop a timer to get a new menu with the data of this file. | ||
77 | |||
4 | ********** VERSION 1.9.3 ************ | 78 | ********** VERSION 1.9.3 ************ |
5 | 1) | 79 | 1) |
6 | Now KO/Pi on Windows imports directly the calendar data of | 80 | Now KO/Pi on Windows imports directly the calendar data of |
7 | an installed Outlook. Should work with OL version >= 2000. | 81 | an installed Outlook. Should work with OL version >= 2000. |
8 | 82 | ||
9 | ********** VERSION 1.9.2 ************ | 83 | ********** VERSION 1.9.2 ************ |
10 | 1) | 84 | 1) |
11 | KDE-Pim/Pi has got a new member: | 85 | KDE-Pim/Pi has got a new member: |
12 | KmicroMail (KM/Pi) is a mail program, | 86 | KmicroMail (KM/Pi) is a mail program, |
13 | which can handle IMAP and POP mail access. | 87 | which can handle IMAP and POP mail access. |
14 | It is based on Opie-Mail v3. | 88 | It is based on Opie-Mail v3. |
15 | All dependencies to the Opie libraries ar removed, | 89 | All dependencies to the Opie libraries ar removed, |
16 | such that no additional Opie lib is needed. | 90 | such that no additional Opie lib is needed. |
17 | It is already integrated in KO/Pi and KA/Pi. | 91 | It is already integrated in KO/Pi and KA/Pi. |
18 | It it now available for the Zaurus,probably it | 92 | It it now available for the Zaurus,probably it |
19 | will be available for other platforms later. | 93 | will be available for other platforms later. |
20 | Hint: | 94 | Hint: |
21 | Create your own contact (name + email) | 95 | Create your own contact (name + email) |
22 | in KA/Pi, select this contact and choose menu: | 96 | in KA/Pi, select this contact and choose menu: |
23 | Settings - Set Who Am I. | 97 | Settings - Set Who Am I. |
24 | Now the settings of this contact are used as | 98 | Now the settings of this contact are used as |
25 | the sender data in KM/Pi. | 99 | the sender data in KM/Pi. |
26 | 2) | 100 | 2) |
27 | KDE-Pim/Pi is split up in five different | 101 | KDE-Pim/Pi is split up in five different |
28 | packages now precompiled for Sharp Zaurus: | 102 | packages now precompiled for Sharp Zaurus: |
29 | --kmicrokdelibs_1.9.2_arm.ipk | 103 | --kmicrokdelibs_1.9.2_arm.ipk |
30 | The libs are needed for any | 104 | The libs are needed for any |
31 | of the following programs: | 105 | of the following programs: |
32 | --kaddressbook_1.9.2_arm.ipk | 106 | --kaddressbook_1.9.2_arm.ipk |
33 | --kmicromail_1.9.2_arm.ipk | 107 | --kmicromail_1.9.2_arm.ipk |
34 | --korganizer_1.9.2_arm.ipk | 108 | --korganizer_1.9.2_arm.ipk |
35 | Independ from that, there is the alarm applet | 109 | Independ from that, there is the alarm applet |
36 | available for KO/Pi, which also offers | 110 | available for KO/Pi, which also offers |
37 | quick access for a new mail or | 111 | quick access for a new mail or |
38 | showing the addressbook.: | 112 | showing the addressbook.: |
39 | --korganizer-alarm_1.9.2_arm.ipk | 113 | --korganizer-alarm_1.9.2_arm.ipk |
40 | Independend means, that the alarm applet | 114 | Independend means, that the alarm applet |
41 | does not need any of the libs or programs above to run. | 115 | does not need any of the libs or programs above to run. |
42 | But it would be quite useless without these programs. | 116 | But it would be quite useless without these programs. |
43 | NOTE: | 117 | NOTE: |
44 | If you get a | 118 | If you get a |
45 | "This application depends on other programs" | 119 | "This application depends on other programs" |
46 | during installation of | 120 | during installation of |
47 | --kmicrokdelibs_1.9.2_arm.ipk | 121 | --kmicrokdelibs_1.9.2_arm.ipk |
48 | you probably do not have to care about that. | 122 | you probably do not have to care about that. |
49 | kmicrokdelibs_1.9.2 will come with some | 123 | kmicrokdelibs_1.9.2 will come with some |
50 | resource plugins, which needs additional libraries. | 124 | resource plugins, which needs additional libraries. |
51 | (E.g. libopie1, if you want to use the | 125 | (E.g. libopie1, if you want to use the |
52 | opie resource connector in KA/Pi). | 126 | opie resource connector in KA/Pi). |
53 | If you do not have this libraries installed, | 127 | If you do not have this libraries installed, |
54 | you simply cannot use the resource. | 128 | you simply cannot use the resource. |
55 | To make it clear: | 129 | To make it clear: |
56 | If the libraries are missing, the applications | 130 | If the libraries are missing, the applications |
57 | using kmicrokdelibs will start, | 131 | using kmicrokdelibs will start, |
58 | because the resources are plugins. | 132 | because the resources are plugins. |
59 | 3) | 133 | 3) |
60 | KO/Pi and friends are now installable on SD-Card! | 134 | KO/Pi and friends are now installable on SD-Card! |
61 | It is recommended to install all libs and apps | 135 | It is recommended to install all libs and apps |
62 | on the SD card or all in the internal storage. | 136 | on the SD card or all in the internal storage. |
63 | There may be problems, if this is mixed. | 137 | There may be problems, if this is mixed. |
64 | 4) | 138 | 4) |
65 | Fixed two bugs in the alarm notification on Windows. | 139 | Fixed two bugs in the alarm notification on Windows. |
66 | 5) | 140 | 5) |
67 | Great improvement! | 141 | Great improvement! |
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index 74e5cf7..1a1bcff 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp | |||
@@ -233,142 +233,150 @@ KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const | |||
233 | #ifndef KAB_EMBEDDED | 233 | #ifndef KAB_EMBEDDED |
234 | connect( mViewManager, SIGNAL( urlDropped( const KURL& ) ), | 234 | connect( mViewManager, SIGNAL( urlDropped( const KURL& ) ), |
235 | mXXPortManager, SLOT( importVCard( const KURL& ) ) ); | 235 | mXXPortManager, SLOT( importVCard( const KURL& ) ) ); |
236 | 236 | ||
237 | connect( mDetails, SIGNAL( browse( const QString& ) ), | 237 | connect( mDetails, SIGNAL( browse( const QString& ) ), |
238 | SLOT( browse( const QString& ) ) ); | 238 | SLOT( browse( const QString& ) ) ); |
239 | 239 | ||
240 | 240 | ||
241 | mAddressBookService = new KAddressBookService( this ); | 241 | mAddressBookService = new KAddressBookService( this ); |
242 | 242 | ||
243 | #endif //KAB_EMBEDDED | 243 | #endif //KAB_EMBEDDED |
244 | mEditorDialog = 0; | 244 | mEditorDialog = 0; |
245 | createAddresseeEditorDialog( this ); | 245 | createAddresseeEditorDialog( this ); |
246 | setModified( false ); | 246 | setModified( false ); |
247 | } | 247 | } |
248 | 248 | ||
249 | KABCore::~KABCore() | 249 | KABCore::~KABCore() |
250 | { | 250 | { |
251 | // save(); | 251 | // save(); |
252 | //saveSettings(); | 252 | //saveSettings(); |
253 | //KABPrefs::instance()->writeConfig(); | 253 | //KABPrefs::instance()->writeConfig(); |
254 | delete AddresseeConfig::instance(); | 254 | delete AddresseeConfig::instance(); |
255 | mAddressBook = 0; | 255 | mAddressBook = 0; |
256 | KABC::StdAddressBook::close(); | 256 | KABC::StdAddressBook::close(); |
257 | } | 257 | } |
258 | 258 | ||
259 | void KABCore::restoreSettings() | 259 | void KABCore::restoreSettings() |
260 | { | 260 | { |
261 | mMultipleViewsAtOnce = KABPrefs::instance()->mMultipleViewsAtOnce; | 261 | mMultipleViewsAtOnce = KABPrefs::instance()->mMultipleViewsAtOnce; |
262 | 262 | ||
263 | bool state; | 263 | bool state; |
264 | 264 | ||
265 | if (mMultipleViewsAtOnce) | 265 | if (mMultipleViewsAtOnce) |
266 | state = KABPrefs::instance()->mDetailsPageVisible; | 266 | state = KABPrefs::instance()->mDetailsPageVisible; |
267 | else | 267 | else |
268 | state = false; | 268 | state = false; |
269 | 269 | ||
270 | mActionDetails->setChecked( state ); | 270 | mActionDetails->setChecked( state ); |
271 | setDetailsVisible( state ); | 271 | setDetailsVisible( state ); |
272 | 272 | ||
273 | state = KABPrefs::instance()->mJumpButtonBarVisible; | 273 | state = KABPrefs::instance()->mJumpButtonBarVisible; |
274 | 274 | ||
275 | mActionJumpBar->setChecked( state ); | 275 | mActionJumpBar->setChecked( state ); |
276 | setJumpButtonBarVisible( state ); | 276 | setJumpButtonBarVisible( state ); |
277 | /*US | 277 | /*US |
278 | QValueList<int> splitterSize = KABPrefs::instance()->mDetailsSplitter; | 278 | QValueList<int> splitterSize = KABPrefs::instance()->mDetailsSplitter; |
279 | if ( splitterSize.count() == 0 ) { | 279 | if ( splitterSize.count() == 0 ) { |
280 | splitterSize.append( width() / 2 ); | 280 | splitterSize.append( width() / 2 ); |
281 | splitterSize.append( width() / 2 ); | 281 | splitterSize.append( width() / 2 ); |
282 | } | 282 | } |
283 | mMiniSplitter->setSizes( splitterSize ); | 283 | mMiniSplitter->setSizes( splitterSize ); |
284 | if ( mExtensionBarSplitter ) { | 284 | if ( mExtensionBarSplitter ) { |
285 | splitterSize = KABPrefs::instance()->mExtensionsSplitter; | 285 | splitterSize = KABPrefs::instance()->mExtensionsSplitter; |
286 | if ( splitterSize.count() == 0 ) { | 286 | if ( splitterSize.count() == 0 ) { |
287 | splitterSize.append( width() / 2 ); | 287 | splitterSize.append( width() / 2 ); |
288 | splitterSize.append( width() / 2 ); | 288 | splitterSize.append( width() / 2 ); |
289 | } | 289 | } |
290 | mExtensionBarSplitter->setSizes( splitterSize ); | 290 | mExtensionBarSplitter->setSizes( splitterSize ); |
291 | 291 | ||
292 | } | 292 | } |
293 | */ | 293 | */ |
294 | mViewManager->restoreSettings(); | 294 | mViewManager->restoreSettings(); |
295 | mIncSearchWidget->setCurrentItem( KABPrefs::instance()->mCurrentIncSearchField ); | 295 | mIncSearchWidget->setCurrentItem( KABPrefs::instance()->mCurrentIncSearchField ); |
296 | mExtensionManager->restoreSettings(); | 296 | mExtensionManager->restoreSettings(); |
297 | 297 | #ifdef DESKTOP_VERSION | |
298 | QValueList<int> splitterSize = KABPrefs::instance()->mDetailsSplitter; | 298 | int wid = width(); |
299 | if ( splitterSize.count() == 0 ) { | 299 | if ( wid < 10 ) |
300 | splitterSize.append( width() / 2 ); | 300 | wid = 400; |
301 | splitterSize.append( width() / 2 ); | 301 | #else |
302 | int wid = QApplication::desktop()->width(); | ||
303 | if ( wid < 640 ) | ||
304 | wid = QApplication::desktop()->height(); | ||
305 | #endif | ||
306 | QValueList<int> splitterSize;// = KABPrefs::instance()->mDetailsSplitter; | ||
307 | if ( true /*splitterSize.count() == 0*/ ) { | ||
308 | splitterSize.append( wid / 2 ); | ||
309 | splitterSize.append( wid / 2 ); | ||
302 | } | 310 | } |
303 | mMiniSplitter->setSizes( splitterSize ); | 311 | mMiniSplitter->setSizes( splitterSize ); |
304 | if ( mExtensionBarSplitter ) { | 312 | if ( mExtensionBarSplitter ) { |
305 | splitterSize = KABPrefs::instance()->mExtensionsSplitter; | 313 | //splitterSize = KABPrefs::instance()->mExtensionsSplitter; |
306 | if ( splitterSize.count() == 0 ) { | 314 | if ( true /*splitterSize.count() == 0*/ ) { |
307 | splitterSize.append( width() / 2 ); | 315 | splitterSize.append( wid / 2 ); |
308 | splitterSize.append( width() / 2 ); | 316 | splitterSize.append( wid / 2 ); |
309 | } | 317 | } |
310 | mExtensionBarSplitter->setSizes( splitterSize ); | 318 | mExtensionBarSplitter->setSizes( splitterSize ); |
311 | 319 | ||
312 | } | 320 | } |
313 | 321 | ||
314 | 322 | ||
315 | } | 323 | } |
316 | 324 | ||
317 | void KABCore::saveSettings() | 325 | void KABCore::saveSettings() |
318 | { | 326 | { |
319 | KABPrefs::instance()->mJumpButtonBarVisible = mActionJumpBar->isChecked(); | 327 | KABPrefs::instance()->mJumpButtonBarVisible = mActionJumpBar->isChecked(); |
320 | if ( mExtensionBarSplitter ) | 328 | if ( mExtensionBarSplitter ) |
321 | KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes(); | 329 | KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes(); |
322 | KABPrefs::instance()->mDetailsPageVisible = mActionDetails->isChecked(); | 330 | KABPrefs::instance()->mDetailsPageVisible = mActionDetails->isChecked(); |
323 | KABPrefs::instance()->mDetailsSplitter = mMiniSplitter->sizes(); | 331 | KABPrefs::instance()->mDetailsSplitter = mMiniSplitter->sizes(); |
324 | #ifndef KAB_EMBEDDED | 332 | #ifndef KAB_EMBEDDED |
325 | 333 | ||
326 | KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes(); | 334 | KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes(); |
327 | KABPrefs::instance()->mDetailsSplitter = mDetailsSplitter->sizes(); | 335 | KABPrefs::instance()->mDetailsSplitter = mDetailsSplitter->sizes(); |
328 | #endif //KAB_EMBEDDED | 336 | #endif //KAB_EMBEDDED |
329 | mExtensionManager->saveSettings(); | 337 | mExtensionManager->saveSettings(); |
330 | mViewManager->saveSettings(); | 338 | mViewManager->saveSettings(); |
331 | 339 | ||
332 | KABPrefs::instance()->mCurrentIncSearchField = mIncSearchWidget->currentItem(); | 340 | KABPrefs::instance()->mCurrentIncSearchField = mIncSearchWidget->currentItem(); |
333 | } | 341 | } |
334 | 342 | ||
335 | KABC::AddressBook *KABCore::addressBook() const | 343 | KABC::AddressBook *KABCore::addressBook() const |
336 | { | 344 | { |
337 | return mAddressBook; | 345 | return mAddressBook; |
338 | } | 346 | } |
339 | 347 | ||
340 | KConfig *KABCore::config() | 348 | KConfig *KABCore::config() |
341 | { | 349 | { |
342 | #ifndef KAB_EMBEDDED | 350 | #ifndef KAB_EMBEDDED |
343 | return KABPrefs::instance()->config(); | 351 | return KABPrefs::instance()->config(); |
344 | #else //KAB_EMBEDDED | 352 | #else //KAB_EMBEDDED |
345 | return KABPrefs::instance()->getConfig(); | 353 | return KABPrefs::instance()->getConfig(); |
346 | #endif //KAB_EMBEDDED | 354 | #endif //KAB_EMBEDDED |
347 | } | 355 | } |
348 | 356 | ||
349 | KActionCollection *KABCore::actionCollection() const | 357 | KActionCollection *KABCore::actionCollection() const |
350 | { | 358 | { |
351 | return mGUIClient->actionCollection(); | 359 | return mGUIClient->actionCollection(); |
352 | } | 360 | } |
353 | 361 | ||
354 | KABC::Field *KABCore::currentSearchField() const | 362 | KABC::Field *KABCore::currentSearchField() const |
355 | { | 363 | { |
356 | if (mIncSearchWidget) | 364 | if (mIncSearchWidget) |
357 | return mIncSearchWidget->currentField(); | 365 | return mIncSearchWidget->currentField(); |
358 | else | 366 | else |
359 | return 0; | 367 | return 0; |
360 | } | 368 | } |
361 | 369 | ||
362 | QStringList KABCore::selectedUIDs() const | 370 | QStringList KABCore::selectedUIDs() const |
363 | { | 371 | { |
364 | return mViewManager->selectedUids(); | 372 | return mViewManager->selectedUids(); |
365 | } | 373 | } |
366 | 374 | ||
367 | KABC::Resource *KABCore::requestResource( QWidget *parent ) | 375 | KABC::Resource *KABCore::requestResource( QWidget *parent ) |
368 | { | 376 | { |
369 | QPtrList<KABC::Resource> kabcResources = addressBook()->resources(); | 377 | QPtrList<KABC::Resource> kabcResources = addressBook()->resources(); |
370 | 378 | ||
371 | QPtrList<KRES::Resource> kresResources; | 379 | QPtrList<KRES::Resource> kresResources; |
372 | QPtrListIterator<KABC::Resource> resIt( kabcResources ); | 380 | QPtrListIterator<KABC::Resource> resIt( kabcResources ); |
373 | KABC::Resource *resource; | 381 | KABC::Resource *resource; |
374 | while ( ( resource = resIt.current() ) != 0 ) { | 382 | while ( ( resource = resIt.current() ) != 0 ) { |