-rw-r--r-- | bin/kdepim/WhatsNew.txt | 4 | ||||
-rw-r--r-- | kaddressbook/kabcore.cpp | 7 | ||||
-rw-r--r-- | kaddressbook/kabcore.h | 1 |
3 files changed, 10 insertions, 2 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt index 5037443..29688de 100644 --- a/bin/kdepim/WhatsNew.txt +++ b/bin/kdepim/WhatsNew.txt | |||
@@ -1,108 +1,108 @@ | |||
1 | Info about the changes in new versions of KDE-Pim/Pi | 1 | Info about the changes in new versions of KDE-Pim/Pi |
2 | 2 | ||
3 | ********** VERSION 1.9.12 ************ | 3 | ********** VERSION 1.9.12 ************ |
4 | 4 | ||
5 | Fix for the bug in KO/Pi What's Next view of version 1.9.11. | 5 | Fix for the bug in KO/Pi What's Next view of version 1.9.11. |
6 | 6 | ||
7 | Bugfix: Licence file is now shown again. | 7 | Bugfix: Licence file is now shown again. |
8 | 8 | ||
9 | OM/Pi now supports Unicode (utf8 charset). | 9 | OM/Pi now supports Unicode (utf8 charset). |
10 | Fixed some bugs in OM/Pi. | ||
10 | 11 | ||
11 | Why a new release? | 12 | KA/Pi has more German translation. |
12 | Because of the two bugs. | ||
13 | 13 | ||
14 | 14 | ||
15 | ********** VERSION 1.9.11 ************ | 15 | ********** VERSION 1.9.11 ************ |
16 | 16 | ||
17 | Fixed several problems in PWM/Pi, like | 17 | Fixed several problems in PWM/Pi, like |
18 | asking the user, if unsaved changed are pending | 18 | asking the user, if unsaved changed are pending |
19 | when closing the app. | 19 | when closing the app. |
20 | And PwM/Pi handles now different texts for the | 20 | And PwM/Pi handles now different texts for the |
21 | fields Description, Username, Password, configurable per category. | 21 | fields Description, Username, Password, configurable per category. |
22 | 22 | ||
23 | Fixed a crash in KO/Pi , when importing/loading vcs files | 23 | Fixed a crash in KO/Pi , when importing/loading vcs files |
24 | which have an entry with an attendee with state: | 24 | which have an entry with an attendee with state: |
25 | NEEDS ACTION | 25 | NEEDS ACTION |
26 | 26 | ||
27 | Fixed some problems in the German translation of OM/Pi, | 27 | Fixed some problems in the German translation of OM/Pi, |
28 | which makes some dialogs not fitting on the screen | 28 | which makes some dialogs not fitting on the screen |
29 | of the Z 5500. | 29 | of the Z 5500. |
30 | 30 | ||
31 | Fixed Qtopia crash, when disabling/deinstalling | 31 | Fixed Qtopia crash, when disabling/deinstalling |
32 | KO/Pi alarm applet. | 32 | KO/Pi alarm applet. |
33 | 33 | ||
34 | Implemented direct KDE<->KA/Pi sync for KA/Pi running | 34 | Implemented direct KDE<->KA/Pi sync for KA/Pi running |
35 | on Linux desktop. | 35 | on Linux desktop. |
36 | 36 | ||
37 | Added feature "remove sync info" to sync menu. | 37 | Added feature "remove sync info" to sync menu. |
38 | 38 | ||
39 | Tweaked the KO/Pi What's next view a bit, added | 39 | Tweaked the KO/Pi What's next view a bit, added |
40 | setting to hide events that are done. | 40 | setting to hide events that are done. |
41 | 41 | ||
42 | Disabled "beam receive enabled" on startup to | 42 | Disabled "beam receive enabled" on startup to |
43 | avoid problems if Fastload is enabled. | 43 | avoid problems if Fastload is enabled. |
44 | Please set "beam receive enabled", | 44 | Please set "beam receive enabled", |
45 | if you want to receive data via IR. | 45 | if you want to receive data via IR. |
46 | 46 | ||
47 | Fixed bug in direct KDE<->KO/Pi sync for KO/Pi running | 47 | Fixed bug in direct KDE<->KO/Pi sync for KO/Pi running |
48 | on Linux desktop. | 48 | on Linux desktop. |
49 | 49 | ||
50 | Made in KA/Pi scrolling possible, if details view is selected. | 50 | Made in KA/Pi scrolling possible, if details view is selected. |
51 | (The keyboard focus is set automatically to the search line) | 51 | (The keyboard focus is set automatically to the search line) |
52 | 52 | ||
53 | Fixed a bug in DMT sync, that a new entry in DTM was added | 53 | Fixed a bug in DMT sync, that a new entry in DTM was added |
54 | on every sync to Kx/Pi. | 54 | on every sync to Kx/Pi. |
55 | 55 | ||
56 | Fixed missing writing of KA/Pi categories to DMT entries when syncing. | 56 | Fixed missing writing of KA/Pi categories to DMT entries when syncing. |
57 | 57 | ||
58 | Fixed a bug in DMT sync with todos created in KO/Pi containing | 58 | Fixed a bug in DMT sync with todos created in KO/Pi containing |
59 | non-latin1 characters. | 59 | non-latin1 characters. |
60 | 60 | ||
61 | Rearranged package contents of Sharp-ipks and made all | 61 | Rearranged package contents of Sharp-ipks and made all |
62 | packages installable on SD again. | 62 | packages installable on SD again. |
63 | 63 | ||
64 | Fixed the writing of addressbook data in DTM sync. | 64 | Fixed the writing of addressbook data in DTM sync. |
65 | Empty fields in KA/Pi were not removed. | 65 | Empty fields in KA/Pi were not removed. |
66 | 66 | ||
67 | Added better category handling in KA/Pi: | 67 | Added better category handling in KA/Pi: |
68 | Added item | 68 | Added item |
69 | Edit Categories and | 69 | Edit Categories and |
70 | Manage new categories | 70 | Manage new categories |
71 | to the settings menu. | 71 | to the settings menu. |
72 | Possible to configure a view to display categories. | 72 | Possible to configure a view to display categories. |
73 | 73 | ||
74 | Added detailed "KDE Sync Howto" and "Multi Sync Howto" to Help menu. | 74 | Added detailed "KDE Sync Howto" and "Multi Sync Howto" to Help menu. |
75 | 75 | ||
76 | Fixed displaying of "free" days and time in KO Monthview and Agendaview. | 76 | Fixed displaying of "free" days and time in KO Monthview and Agendaview. |
77 | 77 | ||
78 | ... and many other bugfixes. | 78 | ... and many other bugfixes. |
79 | 79 | ||
80 | ********** VERSION 1.9.10 ************ | 80 | ********** VERSION 1.9.10 ************ |
81 | 81 | ||
82 | Many internal small bugfixes. | 82 | Many internal small bugfixes. |
83 | And fix of the "big" bug in KO/Pi, | 83 | And fix of the "big" bug in KO/Pi, |
84 | that after Syncing the appointments had an offset by several hours. | 84 | that after Syncing the appointments had an offset by several hours. |
85 | That was a problem with the internal timezone setting, | 85 | That was a problem with the internal timezone setting, |
86 | introduced by the changed timezone configuration settings. | 86 | introduced by the changed timezone configuration settings. |
87 | 87 | ||
88 | German translation for OM/Pi is now available. | 88 | German translation for OM/Pi is now available. |
89 | 89 | ||
90 | 90 | ||
91 | ********** VERSION 1.9.9 ************ | 91 | ********** VERSION 1.9.9 ************ |
92 | 92 | ||
93 | KDE-Pim/Pi has a new Member! | 93 | KDE-Pim/Pi has a new Member! |
94 | It is called PWM/Pi (Passwordmanager/platform-independent) | 94 | It is called PWM/Pi (Passwordmanager/platform-independent) |
95 | and it is available for the Zaurus. | 95 | and it is available for the Zaurus. |
96 | It is planned, that it will be available later for Windows. | 96 | It is planned, that it will be available later for Windows. |
97 | (And for Linux, of course). | 97 | (And for Linux, of course). |
98 | It is a port of the Passwordmanager of KDE. | 98 | It is a port of the Passwordmanager of KDE. |
99 | It will need the MicroKDElibs to run. | 99 | It will need the MicroKDElibs to run. |
100 | 100 | ||
101 | Made loading of addressbooks in KA/Pi up to 7 times faster! | 101 | Made loading of addressbooks in KA/Pi up to 7 times faster! |
102 | The bigger your addressbook file, the more starting speed | 102 | The bigger your addressbook file, the more starting speed |
103 | will you gain. (relatively) | 103 | will you gain. (relatively) |
104 | 104 | ||
105 | The Qtopia addressbook connector is now platform independend | 105 | The Qtopia addressbook connector is now platform independend |
106 | as well and should work on any platform for importing/exporting | 106 | as well and should work on any platform for importing/exporting |
107 | Qtopia and Opie XML files. | 107 | Qtopia and Opie XML files. |
108 | 108 | ||
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index 4445310..d651224 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp | |||
@@ -264,194 +264,201 @@ KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const | |||
264 | mAddressBook = KABC::StdAddressBook::self(); | 264 | mAddressBook = KABC::StdAddressBook::self(); |
265 | KABC::StdAddressBook::setAutomaticSave( false ); | 265 | KABC::StdAddressBook::setAutomaticSave( false ); |
266 | 266 | ||
267 | #ifndef KAB_EMBEDDED | 267 | #ifndef KAB_EMBEDDED |
268 | mAddressBook->setErrorHandler( new KABC::GUIErrorHandler ); | 268 | mAddressBook->setErrorHandler( new KABC::GUIErrorHandler ); |
269 | #endif //KAB_EMBEDDED | 269 | #endif //KAB_EMBEDDED |
270 | 270 | ||
271 | connect( mAddressBook, SIGNAL( addressBookChanged( AddressBook * ) ), | 271 | connect( mAddressBook, SIGNAL( addressBookChanged( AddressBook * ) ), |
272 | SLOT( addressBookChanged() ) ); | 272 | SLOT( addressBookChanged() ) ); |
273 | 273 | ||
274 | #if 0 | 274 | #if 0 |
275 | // LP moved to addressbook init method | 275 | // LP moved to addressbook init method |
276 | mAddressBook->addCustomField( i18n( "Department" ), KABC::Field::Organization, | 276 | mAddressBook->addCustomField( i18n( "Department" ), KABC::Field::Organization, |
277 | "X-Department", "KADDRESSBOOK" ); | 277 | "X-Department", "KADDRESSBOOK" ); |
278 | mAddressBook->addCustomField( i18n( "Profession" ), KABC::Field::Organization, | 278 | mAddressBook->addCustomField( i18n( "Profession" ), KABC::Field::Organization, |
279 | "X-Profession", "KADDRESSBOOK" ); | 279 | "X-Profession", "KADDRESSBOOK" ); |
280 | mAddressBook->addCustomField( i18n( "Assistant's Name" ), KABC::Field::Organization, | 280 | mAddressBook->addCustomField( i18n( "Assistant's Name" ), KABC::Field::Organization, |
281 | "X-AssistantsName", "KADDRESSBOOK" ); | 281 | "X-AssistantsName", "KADDRESSBOOK" ); |
282 | mAddressBook->addCustomField( i18n( "Manager's Name" ), KABC::Field::Organization, | 282 | mAddressBook->addCustomField( i18n( "Manager's Name" ), KABC::Field::Organization, |
283 | "X-ManagersName", "KADDRESSBOOK" ); | 283 | "X-ManagersName", "KADDRESSBOOK" ); |
284 | mAddressBook->addCustomField( i18n( "Spouse's Name" ), KABC::Field::Personal, | 284 | mAddressBook->addCustomField( i18n( "Spouse's Name" ), KABC::Field::Personal, |
285 | "X-SpousesName", "KADDRESSBOOK" ); | 285 | "X-SpousesName", "KADDRESSBOOK" ); |
286 | mAddressBook->addCustomField( i18n( "Office" ), KABC::Field::Personal, | 286 | mAddressBook->addCustomField( i18n( "Office" ), KABC::Field::Personal, |
287 | "X-Office", "KADDRESSBOOK" ); | 287 | "X-Office", "KADDRESSBOOK" ); |
288 | mAddressBook->addCustomField( i18n( "IM Address" ), KABC::Field::Personal, | 288 | mAddressBook->addCustomField( i18n( "IM Address" ), KABC::Field::Personal, |
289 | "X-IMAddress", "KADDRESSBOOK" ); | 289 | "X-IMAddress", "KADDRESSBOOK" ); |
290 | mAddressBook->addCustomField( i18n( "Anniversary" ), KABC::Field::Personal, | 290 | mAddressBook->addCustomField( i18n( "Anniversary" ), KABC::Field::Personal, |
291 | "X-Anniversary", "KADDRESSBOOK" ); | 291 | "X-Anniversary", "KADDRESSBOOK" ); |
292 | 292 | ||
293 | //US added this field to become compatible with Opie/qtopia addressbook | 293 | //US added this field to become compatible with Opie/qtopia addressbook |
294 | // values can be "female" or "male" or "". An empty field represents undefined. | 294 | // values can be "female" or "male" or "". An empty field represents undefined. |
295 | mAddressBook->addCustomField( i18n( "Gender" ), KABC::Field::Personal, | 295 | mAddressBook->addCustomField( i18n( "Gender" ), KABC::Field::Personal, |
296 | "X-Gender", "KADDRESSBOOK" ); | 296 | "X-Gender", "KADDRESSBOOK" ); |
297 | mAddressBook->addCustomField( i18n( "Children" ), KABC::Field::Personal, | 297 | mAddressBook->addCustomField( i18n( "Children" ), KABC::Field::Personal, |
298 | "X-Children", "KADDRESSBOOK" ); | 298 | "X-Children", "KADDRESSBOOK" ); |
299 | mAddressBook->addCustomField( i18n( "FreeBusyUrl" ), KABC::Field::Personal, | 299 | mAddressBook->addCustomField( i18n( "FreeBusyUrl" ), KABC::Field::Personal, |
300 | "X-FreeBusyUrl", "KADDRESSBOOK" ); | 300 | "X-FreeBusyUrl", "KADDRESSBOOK" ); |
301 | #endif | 301 | #endif |
302 | initGUI(); | 302 | initGUI(); |
303 | 303 | ||
304 | mIncSearchWidget->setFocus(); | 304 | mIncSearchWidget->setFocus(); |
305 | 305 | ||
306 | 306 | ||
307 | connect( mViewManager, SIGNAL( selected( const QString& ) ), | 307 | connect( mViewManager, SIGNAL( selected( const QString& ) ), |
308 | SLOT( setContactSelected( const QString& ) ) ); | 308 | SLOT( setContactSelected( const QString& ) ) ); |
309 | connect( mViewManager, SIGNAL( executed( const QString& ) ), | 309 | connect( mViewManager, SIGNAL( executed( const QString& ) ), |
310 | SLOT( executeContact( const QString& ) ) ); | 310 | SLOT( executeContact( const QString& ) ) ); |
311 | 311 | ||
312 | connect( mViewManager, SIGNAL( deleteRequest( ) ), | 312 | connect( mViewManager, SIGNAL( deleteRequest( ) ), |
313 | SLOT( deleteContacts( ) ) ); | 313 | SLOT( deleteContacts( ) ) ); |
314 | connect( mViewManager, SIGNAL( modified() ), | 314 | connect( mViewManager, SIGNAL( modified() ), |
315 | SLOT( setModified() ) ); | 315 | SLOT( setModified() ) ); |
316 | 316 | ||
317 | connect( mExtensionManager, SIGNAL( modified( const KABC::Addressee::List& ) ), this, SLOT( extensionModified( const KABC::Addressee::List& ) ) ); | 317 | connect( mExtensionManager, SIGNAL( modified( const KABC::Addressee::List& ) ), this, SLOT( extensionModified( const KABC::Addressee::List& ) ) ); |
318 | connect( mExtensionManager, SIGNAL( changedActiveExtension( int ) ), this, SLOT( extensionChanged( int ) ) ); | 318 | connect( mExtensionManager, SIGNAL( changedActiveExtension( int ) ), this, SLOT( extensionChanged( int ) ) ); |
319 | 319 | ||
320 | connect( mXXPortManager, SIGNAL( modified() ), | 320 | connect( mXXPortManager, SIGNAL( modified() ), |
321 | SLOT( setModified() ) ); | 321 | SLOT( setModified() ) ); |
322 | 322 | ||
323 | connect( mJumpButtonBar, SIGNAL( jumpToLetter( const QString& ) ), | 323 | connect( mJumpButtonBar, SIGNAL( jumpToLetter( const QString& ) ), |
324 | SLOT( incrementalSearch( const QString& ) ) ); | 324 | SLOT( incrementalSearch( const QString& ) ) ); |
325 | connect( mIncSearchWidget, SIGNAL( fieldChanged() ), | 325 | connect( mIncSearchWidget, SIGNAL( fieldChanged() ), |
326 | mJumpButtonBar, SLOT( recreateButtons() ) ); | 326 | mJumpButtonBar, SLOT( recreateButtons() ) ); |
327 | 327 | ||
328 | connect( mDetails, SIGNAL( sendEmail( const QString& ) ), | 328 | connect( mDetails, SIGNAL( sendEmail( const QString& ) ), |
329 | SLOT( sendMail( const QString& ) ) ); | 329 | SLOT( sendMail( const QString& ) ) ); |
330 | 330 | ||
331 | 331 | ||
332 | connect( ExternalAppHandler::instance(), SIGNAL (requestForNameEmailUidList(const QString&, const QString&)),this, SLOT(requestForNameEmailUidList(const QString&, const QString&))); | 332 | connect( ExternalAppHandler::instance(), SIGNAL (requestForNameEmailUidList(const QString&, const QString&)),this, SLOT(requestForNameEmailUidList(const QString&, const QString&))); |
333 | connect( ExternalAppHandler::instance(), SIGNAL (requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&)),this, SLOT(requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&))); | 333 | connect( ExternalAppHandler::instance(), SIGNAL (requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&)),this, SLOT(requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&))); |
334 | connect( ExternalAppHandler::instance(), SIGNAL (requestForBirthdayList(const QString&, const QString&)),this, SLOT(requestForBirthdayList(const QString&, const QString&))); | 334 | connect( ExternalAppHandler::instance(), SIGNAL (requestForBirthdayList(const QString&, const QString&)),this, SLOT(requestForBirthdayList(const QString&, const QString&))); |
335 | connect( ExternalAppHandler::instance(), SIGNAL (nextView()),this, SLOT(setDetailsToggle())); | 335 | connect( ExternalAppHandler::instance(), SIGNAL (nextView()),this, SLOT(setDetailsToggle())); |
336 | 336 | ||
337 | 337 | ||
338 | #ifndef KAB_EMBEDDED | 338 | #ifndef KAB_EMBEDDED |
339 | connect( mViewManager, SIGNAL( urlDropped( const KURL& ) ), | 339 | connect( mViewManager, SIGNAL( urlDropped( const KURL& ) ), |
340 | mXXPortManager, SLOT( importVCard( const KURL& ) ) ); | 340 | mXXPortManager, SLOT( importVCard( const KURL& ) ) ); |
341 | 341 | ||
342 | connect( mDetails, SIGNAL( browse( const QString& ) ), | 342 | connect( mDetails, SIGNAL( browse( const QString& ) ), |
343 | SLOT( browse( const QString& ) ) ); | 343 | SLOT( browse( const QString& ) ) ); |
344 | 344 | ||
345 | 345 | ||
346 | mAddressBookService = new KAddressBookService( this ); | 346 | mAddressBookService = new KAddressBookService( this ); |
347 | 347 | ||
348 | #endif //KAB_EMBEDDED | 348 | #endif //KAB_EMBEDDED |
349 | 349 | ||
350 | mMessageTimer = new QTimer( this ); | 350 | mMessageTimer = new QTimer( this ); |
351 | connect( mMessageTimer, SIGNAL( timeout() ), this, SLOT( setCaptionBack() ) ); | 351 | connect( mMessageTimer, SIGNAL( timeout() ), this, SLOT( setCaptionBack() ) ); |
352 | mEditorDialog = 0; | 352 | mEditorDialog = 0; |
353 | createAddresseeEditorDialog( this ); | 353 | createAddresseeEditorDialog( this ); |
354 | setModified( false ); | 354 | setModified( false ); |
355 | mBRdisabled = false; | 355 | mBRdisabled = false; |
356 | #ifndef DESKTOP_VERSION | 356 | #ifndef DESKTOP_VERSION |
357 | infrared = 0; | 357 | infrared = 0; |
358 | #endif | 358 | #endif |
359 | //toggleBeamReceive( ); | 359 | //toggleBeamReceive( ); |
360 | |||
361 | // we have a toolbar repainting error on the Zaurus when starting KA/Pi | ||
362 | QTimer::singleShot( 1, this , SLOT ( updateToolBar())); | ||
360 | } | 363 | } |
361 | 364 | ||
365 | void KABCore::updateToolBar() | ||
366 | { | ||
367 | mMainWindow->toolBar()->repaint(); | ||
368 | } | ||
362 | KABCore::~KABCore() | 369 | KABCore::~KABCore() |
363 | { | 370 | { |
364 | // save(); | 371 | // save(); |
365 | //saveSettings(); | 372 | //saveSettings(); |
366 | //KABPrefs::instance()->writeConfig(); | 373 | //KABPrefs::instance()->writeConfig(); |
367 | delete AddresseeConfig::instance(); | 374 | delete AddresseeConfig::instance(); |
368 | mAddressBook = 0; | 375 | mAddressBook = 0; |
369 | KABC::StdAddressBook::close(); | 376 | KABC::StdAddressBook::close(); |
370 | 377 | ||
371 | delete syncManager; | 378 | delete syncManager; |
372 | #ifndef DESKTOP_VERSION | 379 | #ifndef DESKTOP_VERSION |
373 | if ( infrared ) | 380 | if ( infrared ) |
374 | delete infrared; | 381 | delete infrared; |
375 | #endif | 382 | #endif |
376 | } | 383 | } |
377 | void KABCore::receive( const QCString& cmsg, const QByteArray& data ) | 384 | void KABCore::receive( const QCString& cmsg, const QByteArray& data ) |
378 | { | 385 | { |
379 | qDebug("KA: QCOP message received: %s ", cmsg.data() ); | 386 | qDebug("KA: QCOP message received: %s ", cmsg.data() ); |
380 | if ( cmsg == "setDocument(QString)" ) { | 387 | if ( cmsg == "setDocument(QString)" ) { |
381 | QDataStream stream( data, IO_ReadOnly ); | 388 | QDataStream stream( data, IO_ReadOnly ); |
382 | QString fileName; | 389 | QString fileName; |
383 | stream >> fileName; | 390 | stream >> fileName; |
384 | recieve( fileName ); | 391 | recieve( fileName ); |
385 | return; | 392 | return; |
386 | } | 393 | } |
387 | } | 394 | } |
388 | void KABCore::toggleBeamReceive( ) | 395 | void KABCore::toggleBeamReceive( ) |
389 | { | 396 | { |
390 | if ( mBRdisabled ) | 397 | if ( mBRdisabled ) |
391 | return; | 398 | return; |
392 | #ifndef DESKTOP_VERSION | 399 | #ifndef DESKTOP_VERSION |
393 | if ( infrared ) { | 400 | if ( infrared ) { |
394 | qDebug("AB disable BeamReceive "); | 401 | qDebug("AB disable BeamReceive "); |
395 | delete infrared; | 402 | delete infrared; |
396 | infrared = 0; | 403 | infrared = 0; |
397 | mActionBR->setChecked(false); | 404 | mActionBR->setChecked(false); |
398 | return; | 405 | return; |
399 | } | 406 | } |
400 | qDebug("AB enable BeamReceive "); | 407 | qDebug("AB enable BeamReceive "); |
401 | mActionBR->setChecked(true); | 408 | mActionBR->setChecked(true); |
402 | 409 | ||
403 | infrared = new QCopChannel("QPE/Application/addressbook",this, "channelAB" ) ; | 410 | infrared = new QCopChannel("QPE/Application/addressbook",this, "channelAB" ) ; |
404 | QObject::connect( infrared, SIGNAL (received ( const QCString &, const QByteArray & )),this, SLOT(receive( const QCString&, const QByteArray& ))); | 411 | QObject::connect( infrared, SIGNAL (received ( const QCString &, const QByteArray & )),this, SLOT(receive( const QCString&, const QByteArray& ))); |
405 | #endif | 412 | #endif |
406 | } | 413 | } |
407 | 414 | ||
408 | 415 | ||
409 | void KABCore::disableBR(bool b) | 416 | void KABCore::disableBR(bool b) |
410 | { | 417 | { |
411 | #ifndef DESKTOP_VERSION | 418 | #ifndef DESKTOP_VERSION |
412 | if ( b ) { | 419 | if ( b ) { |
413 | if ( infrared ) { | 420 | if ( infrared ) { |
414 | toggleBeamReceive( ); | 421 | toggleBeamReceive( ); |
415 | } | 422 | } |
416 | mBRdisabled = true; | 423 | mBRdisabled = true; |
417 | } else { | 424 | } else { |
418 | if ( mBRdisabled ) { | 425 | if ( mBRdisabled ) { |
419 | mBRdisabled = false; | 426 | mBRdisabled = false; |
420 | //toggleBeamReceive( ); | 427 | //toggleBeamReceive( ); |
421 | } | 428 | } |
422 | } | 429 | } |
423 | #endif | 430 | #endif |
424 | 431 | ||
425 | } | 432 | } |
426 | void KABCore::recieve( QString fn ) | 433 | void KABCore::recieve( QString fn ) |
427 | { | 434 | { |
428 | //qDebug("KABCore::recieve "); | 435 | //qDebug("KABCore::recieve "); |
429 | int count = mAddressBook->importFromFile( fn, true ); | 436 | int count = mAddressBook->importFromFile( fn, true ); |
430 | if ( count ) | 437 | if ( count ) |
431 | setModified( true ); | 438 | setModified( true ); |
432 | mViewManager->refreshView(); | 439 | mViewManager->refreshView(); |
433 | message(i18n("%1 contact(s) received!").arg( count )); | 440 | message(i18n("%1 contact(s) received!").arg( count )); |
434 | topLevelWidget()->showMaximized(); | 441 | topLevelWidget()->showMaximized(); |
435 | topLevelWidget()->raise(); | 442 | topLevelWidget()->raise(); |
436 | } | 443 | } |
437 | void KABCore::restoreSettings() | 444 | void KABCore::restoreSettings() |
438 | { | 445 | { |
439 | mMultipleViewsAtOnce = KABPrefs::instance()->mMultipleViewsAtOnce; | 446 | mMultipleViewsAtOnce = KABPrefs::instance()->mMultipleViewsAtOnce; |
440 | 447 | ||
441 | bool state; | 448 | bool state; |
442 | 449 | ||
443 | if (mMultipleViewsAtOnce) | 450 | if (mMultipleViewsAtOnce) |
444 | state = KABPrefs::instance()->mDetailsPageVisible; | 451 | state = KABPrefs::instance()->mDetailsPageVisible; |
445 | else | 452 | else |
446 | state = false; | 453 | state = false; |
447 | 454 | ||
448 | mActionDetails->setChecked( state ); | 455 | mActionDetails->setChecked( state ); |
449 | setDetailsVisible( state ); | 456 | setDetailsVisible( state ); |
450 | 457 | ||
451 | state = KABPrefs::instance()->mJumpButtonBarVisible; | 458 | state = KABPrefs::instance()->mJumpButtonBarVisible; |
452 | 459 | ||
453 | mActionJumpBar->setChecked( state ); | 460 | mActionJumpBar->setChecked( state ); |
454 | setJumpButtonBarVisible( state ); | 461 | setJumpButtonBarVisible( state ); |
455 | /*US | 462 | /*US |
456 | QValueList<int> splitterSize = KABPrefs::instance()->mDetailsSplitter; | 463 | QValueList<int> splitterSize = KABPrefs::instance()->mDetailsSplitter; |
457 | if ( splitterSize.count() == 0 ) { | 464 | if ( splitterSize.count() == 0 ) { |
diff --git a/kaddressbook/kabcore.h b/kaddressbook/kabcore.h index d2ee45d..0a52838 100644 --- a/kaddressbook/kabcore.h +++ b/kaddressbook/kabcore.h | |||
@@ -267,192 +267,193 @@ class KABCore : public QWidget, public KSyncInterface | |||
267 | void setModifiedWOrefresh(); | 267 | void setModifiedWOrefresh(); |
268 | 268 | ||
269 | /** | 269 | /** |
270 | Marks the address book as modified concerning the argument. | 270 | Marks the address book as modified concerning the argument. |
271 | */ | 271 | */ |
272 | void setModified( bool modified ); | 272 | void setModified( bool modified ); |
273 | 273 | ||
274 | /** | 274 | /** |
275 | Returns whether the address book is modified. | 275 | Returns whether the address book is modified. |
276 | */ | 276 | */ |
277 | bool modified() const; | 277 | bool modified() const; |
278 | 278 | ||
279 | /** | 279 | /** |
280 | Called whenever an contact is modified in the contact editor | 280 | Called whenever an contact is modified in the contact editor |
281 | dialog or the quick edit. | 281 | dialog or the quick edit. |
282 | */ | 282 | */ |
283 | void contactModified( const KABC::Addressee &addr ); | 283 | void contactModified( const KABC::Addressee &addr ); |
284 | 284 | ||
285 | /** | 285 | /** |
286 | DCOP METHODS. | 286 | DCOP METHODS. |
287 | */ | 287 | */ |
288 | void addEmail( QString addr ); | 288 | void addEmail( QString addr ); |
289 | void importVCard( const KURL& url, bool showPreview ); | 289 | void importVCard( const KURL& url, bool showPreview ); |
290 | void importVCard( const QString& vCard, bool showPreview ); | 290 | void importVCard( const QString& vCard, bool showPreview ); |
291 | void newContact(); | 291 | void newContact(); |
292 | QString getNameByPhone( const QString& phone ); | 292 | QString getNameByPhone( const QString& phone ); |
293 | /** | 293 | /** |
294 | END DCOP METHODS | 294 | END DCOP METHODS |
295 | */ | 295 | */ |
296 | 296 | ||
297 | /** | 297 | /** |
298 | Saves the contents of the AddressBook back to disk. | 298 | Saves the contents of the AddressBook back to disk. |
299 | */ | 299 | */ |
300 | void save(); | 300 | void save(); |
301 | 301 | ||
302 | /** | 302 | /** |
303 | Undos the last command using the undo stack. | 303 | Undos the last command using the undo stack. |
304 | */ | 304 | */ |
305 | void undo(); | 305 | void undo(); |
306 | 306 | ||
307 | /** | 307 | /** |
308 | Redos the last command that was undone, using the redo stack. | 308 | Redos the last command that was undone, using the redo stack. |
309 | */ | 309 | */ |
310 | void redo(); | 310 | void redo(); |
311 | 311 | ||
312 | /** | 312 | /** |
313 | Shows the edit dialog for the given uid. If the uid is QString::null, | 313 | Shows the edit dialog for the given uid. If the uid is QString::null, |
314 | the method will try to find a selected addressee in the view. | 314 | the method will try to find a selected addressee in the view. |
315 | */ | 315 | */ |
316 | void editContact( const QString &uid /*US = QString::null*/ ); | 316 | void editContact( const QString &uid /*US = QString::null*/ ); |
317 | //US added a second method without defaultparameter | 317 | //US added a second method without defaultparameter |
318 | void editContact2(); | 318 | void editContact2(); |
319 | 319 | ||
320 | /** | 320 | /** |
321 | Shows or edits the detail view for the given uid. If the uid is QString::null, | 321 | Shows or edits the detail view for the given uid. If the uid is QString::null, |
322 | the method will try to find a selected addressee in the view. | 322 | the method will try to find a selected addressee in the view. |
323 | */ | 323 | */ |
324 | void executeContact( const QString &uid /*US = QString::null*/ ); | 324 | void executeContact( const QString &uid /*US = QString::null*/ ); |
325 | 325 | ||
326 | /** | 326 | /** |
327 | Launches the configuration dialog. | 327 | Launches the configuration dialog. |
328 | */ | 328 | */ |
329 | void openConfigDialog(); | 329 | void openConfigDialog(); |
330 | 330 | ||
331 | /** | 331 | /** |
332 | Launches the ldap search dialog. | 332 | Launches the ldap search dialog. |
333 | */ | 333 | */ |
334 | void openLDAPDialog(); | 334 | void openLDAPDialog(); |
335 | 335 | ||
336 | /** | 336 | /** |
337 | Creates a KAddressBookPrinter, which will display the print | 337 | Creates a KAddressBookPrinter, which will display the print |
338 | dialog and do the printing. | 338 | dialog and do the printing. |
339 | */ | 339 | */ |
340 | void print(); | 340 | void print(); |
341 | 341 | ||
342 | /** | 342 | /** |
343 | Registers a new GUI client, so plugins can register its actions. | 343 | Registers a new GUI client, so plugins can register its actions. |
344 | */ | 344 | */ |
345 | void addGUIClient( KXMLGUIClient *client ); | 345 | void addGUIClient( KXMLGUIClient *client ); |
346 | 346 | ||
347 | void requestForNameEmailUidList(const QString& sourceChannel, const QString& sessionuid); | 347 | void requestForNameEmailUidList(const QString& sourceChannel, const QString& sessionuid); |
348 | void requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid); | 348 | void requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid); |
349 | void requestForBirthdayList(const QString& sourceChannel, const QString& sessionuid); | 349 | void requestForBirthdayList(const QString& sourceChannel, const QString& sessionuid); |
350 | 350 | ||
351 | 351 | ||
352 | signals: | 352 | signals: |
353 | void contactSelected( const QString &name ); | 353 | void contactSelected( const QString &name ); |
354 | void contactSelected( const QPixmap &pixmap ); | 354 | void contactSelected( const QPixmap &pixmap ); |
355 | public slots: | 355 | public slots: |
356 | void recieve(QString cmsg ); | 356 | void recieve(QString cmsg ); |
357 | void getFile( bool success ); | 357 | void getFile( bool success ); |
358 | void syncFileRequest(); | 358 | void syncFileRequest(); |
359 | void setDetailsVisible( bool visible ); | 359 | void setDetailsVisible( bool visible ); |
360 | void setDetailsToState(); | 360 | void setDetailsToState(); |
361 | // void slotSyncMenu( int ); | 361 | // void slotSyncMenu( int ); |
362 | private slots: | 362 | private slots: |
363 | void updateToolBar(); | ||
363 | void receive( const QCString& cmsg, const QByteArray& data ); | 364 | void receive( const QCString& cmsg, const QByteArray& data ); |
364 | void toggleBeamReceive( ); | 365 | void toggleBeamReceive( ); |
365 | void disableBR(bool); | 366 | void disableBR(bool); |
366 | void setJumpButtonBarVisible( bool visible ); | 367 | void setJumpButtonBarVisible( bool visible ); |
367 | void setCaptionBack(); | 368 | void setCaptionBack(); |
368 | void importFromOL(); | 369 | void importFromOL(); |
369 | void extensionModified( const KABC::Addressee::List &list ); | 370 | void extensionModified( const KABC::Addressee::List &list ); |
370 | void extensionChanged( int id ); | 371 | void extensionChanged( int id ); |
371 | void clipboardDataChanged(); | 372 | void clipboardDataChanged(); |
372 | void updateActionMenu(); | 373 | void updateActionMenu(); |
373 | void configureKeyBindings(); | 374 | void configureKeyBindings(); |
374 | void removeVoice(); | 375 | void removeVoice(); |
375 | #ifdef KAB_EMBEDDED | 376 | #ifdef KAB_EMBEDDED |
376 | void configureResources(); | 377 | void configureResources(); |
377 | #endif //KAB_EMBEDDED | 378 | #endif //KAB_EMBEDDED |
378 | 379 | ||
379 | void slotEditorDestroyed( const QString &uid ); | 380 | void slotEditorDestroyed( const QString &uid ); |
380 | void configurationChanged(); | 381 | void configurationChanged(); |
381 | void addressBookChanged(); | 382 | void addressBookChanged(); |
382 | 383 | ||
383 | private: | 384 | private: |
384 | bool mBRdisabled; | 385 | bool mBRdisabled; |
385 | #ifndef DESKTOP_VERSION | 386 | #ifndef DESKTOP_VERSION |
386 | QCopChannel* infrared; | 387 | QCopChannel* infrared; |
387 | #endif | 388 | #endif |
388 | QTimer *mMessageTimer; | 389 | QTimer *mMessageTimer; |
389 | void initGUI(); | 390 | void initGUI(); |
390 | void initActions(); | 391 | void initActions(); |
391 | QString getPhoneFile(); | 392 | QString getPhoneFile(); |
392 | 393 | ||
393 | AddresseeEditorDialog *createAddresseeEditorDialog( QWidget *parent, | 394 | AddresseeEditorDialog *createAddresseeEditorDialog( QWidget *parent, |
394 | const char *name = 0 ); | 395 | const char *name = 0 ); |
395 | 396 | ||
396 | KXMLGUIClient *mGUIClient; | 397 | KXMLGUIClient *mGUIClient; |
397 | 398 | ||
398 | KABC::AddressBook *mAddressBook; | 399 | KABC::AddressBook *mAddressBook; |
399 | 400 | ||
400 | ViewManager *mViewManager; | 401 | ViewManager *mViewManager; |
401 | // QSplitter *mDetailsSplitter; | 402 | // QSplitter *mDetailsSplitter; |
402 | KDGanttMinimizeSplitter *mExtensionBarSplitter; | 403 | KDGanttMinimizeSplitter *mExtensionBarSplitter; |
403 | ViewContainer *mDetails; | 404 | ViewContainer *mDetails; |
404 | KDGanttMinimizeSplitter* mMiniSplitter; | 405 | KDGanttMinimizeSplitter* mMiniSplitter; |
405 | XXPortManager *mXXPortManager; | 406 | XXPortManager *mXXPortManager; |
406 | JumpButtonBar *mJumpButtonBar; | 407 | JumpButtonBar *mJumpButtonBar; |
407 | IncSearchWidget *mIncSearchWidget; | 408 | IncSearchWidget *mIncSearchWidget; |
408 | ExtensionManager *mExtensionManager; | 409 | ExtensionManager *mExtensionManager; |
409 | 410 | ||
410 | KCMultiDialog *mConfigureDialog; | 411 | KCMultiDialog *mConfigureDialog; |
411 | 412 | ||
412 | #ifndef KAB_EMBEDDED | 413 | #ifndef KAB_EMBEDDED |
413 | LDAPSearchDialog *mLdapSearchDialog; | 414 | LDAPSearchDialog *mLdapSearchDialog; |
414 | #endif //KAB_EMBEDDED | 415 | #endif //KAB_EMBEDDED |
415 | // QDict<AddresseeEditorDialog> mEditorDict; | 416 | // QDict<AddresseeEditorDialog> mEditorDict; |
416 | AddresseeEditorDialog *mEditorDialog; | 417 | AddresseeEditorDialog *mEditorDialog; |
417 | bool mReadWrite; | 418 | bool mReadWrite; |
418 | bool mModified; | 419 | bool mModified; |
419 | bool mIsPart; | 420 | bool mIsPart; |
420 | bool mMultipleViewsAtOnce; | 421 | bool mMultipleViewsAtOnce; |
421 | 422 | ||
422 | 423 | ||
423 | //US file menu | 424 | //US file menu |
424 | KAction *mActionMail; | 425 | KAction *mActionMail; |
425 | KAction *mActionBeam; | 426 | KAction *mActionBeam; |
426 | KToggleAction *mActionBR; | 427 | KToggleAction *mActionBR; |
427 | KAction *mActionExport2phone; | 428 | KAction *mActionExport2phone; |
428 | KAction* mActionPrint; | 429 | KAction* mActionPrint; |
429 | KAction* mActionNewContact; | 430 | KAction* mActionNewContact; |
430 | KAction *mActionSave; | 431 | KAction *mActionSave; |
431 | KAction *mActionEditAddressee; | 432 | KAction *mActionEditAddressee; |
432 | KAction *mActionMailVCard; | 433 | KAction *mActionMailVCard; |
433 | KAction *mActionBeamVCard; | 434 | KAction *mActionBeamVCard; |
434 | 435 | ||
435 | KAction *mActionQuit; | 436 | KAction *mActionQuit; |
436 | 437 | ||
437 | //US edit menu | 438 | //US edit menu |
438 | KAction *mActionCopy; | 439 | KAction *mActionCopy; |
439 | KAction *mActionCut; | 440 | KAction *mActionCut; |
440 | KAction *mActionPaste; | 441 | KAction *mActionPaste; |
441 | KAction *mActionSelectAll; | 442 | KAction *mActionSelectAll; |
442 | KAction *mActionUndo; | 443 | KAction *mActionUndo; |
443 | KAction *mActionRedo; | 444 | KAction *mActionRedo; |
444 | KAction *mActionDelete; | 445 | KAction *mActionDelete; |
445 | 446 | ||
446 | //US settings menu | 447 | //US settings menu |
447 | KAction *mActionConfigResources; | 448 | KAction *mActionConfigResources; |
448 | KAction *mActionConfigKAddressbook; | 449 | KAction *mActionConfigKAddressbook; |
449 | KAction *mActionConfigShortcuts; | 450 | KAction *mActionConfigShortcuts; |
450 | KAction *mActionConfigureToolbars; | 451 | KAction *mActionConfigureToolbars; |
451 | KAction *mActionKeyBindings; | 452 | KAction *mActionKeyBindings; |
452 | KToggleAction *mActionJumpBar; | 453 | KToggleAction *mActionJumpBar; |
453 | KToggleAction *mActionDetails; | 454 | KToggleAction *mActionDetails; |
454 | KAction *mActionWhoAmI; | 455 | KAction *mActionWhoAmI; |
455 | KAction *mActionCategories; | 456 | KAction *mActionCategories; |
456 | KAction *mActionEditCategories; | 457 | KAction *mActionEditCategories; |
457 | KAction *mActionManageCategories; | 458 | KAction *mActionManageCategories; |
458 | KAction *mActionAboutKAddressbook; | 459 | KAction *mActionAboutKAddressbook; |