summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/WhatsNew.txt3
-rw-r--r--kaddressbook/kabcore.cpp1
-rw-r--r--libkdepim/externalapphandler.cpp5
3 files changed, 8 insertions, 1 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt
index b5285bf..03aec7b 100644
--- a/bin/kdepim/WhatsNew.txt
+++ b/bin/kdepim/WhatsNew.txt
@@ -1,109 +1,112 @@
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.0.22 ************ 3********** VERSION 2.0.22 ************
4 4
5KO/Pi: 5KO/Pi:
6Fix for creating events/todos via the abgenda context menu. 6Fix for creating events/todos via the abgenda context menu.
7Added option to split toolbar to 3 toolbars. 7Added option to split toolbar to 3 toolbars.
8Added option to show one small filter-view-toolbar. 8Added option to show one small filter-view-toolbar.
9Added a print option to the desktop version: 9Added a print option to the desktop version:
10Now you can print out the view of the "Event Viewer". 10Now you can print out the view of the "Event Viewer".
11That means you can print all data of one particular event/todo. 11That means you can print all data of one particular event/todo.
12Added scaling options to printout of Event Viewer and What'sNext View. 12Added scaling options to printout of Event Viewer and What'sNext View.
13Fixed some problems in the month view in "week start sunday" mode. 13Fixed some problems in the month view in "week start sunday" mode.
14KA/Pi:
15Added two more config options.
16Fixed resizing problem of address request dialog when orientation was switched.
14 17
15********** VERSION 2.0.21 ************ 18********** VERSION 2.0.21 ************
16 19
17Fixed another SMTP problem in OM/Pi. 20Fixed another SMTP problem in OM/Pi.
18Some small changed in the new datenavigator in KO/Pi. 21Some small changed in the new datenavigator in KO/Pi.
19Changed default setting for new filter in KA/Pi to "exclude categories". 22Changed default setting for new filter in KA/Pi to "exclude categories".
20Changed the default font size for 640x480 display . 23Changed the default font size for 640x480 display .
21Changed popup menu behaviour in agenda and list view. 24Changed popup menu behaviour in agenda and list view.
22Fixed some layout problems of the date label size in the month view. 25Fixed some layout problems of the date label size in the month view.
23Made month view update faster. 26Made month view update faster.
24Made first datenavigator repainting faster. 27Made first datenavigator repainting faster.
25Changed the title of the event/todo edit dialogs. 28Changed the title of the event/todo edit dialogs.
26Timelabels in agenga changed from 22:00 to 22 oo. ( the oo higher, of course). 29Timelabels in agenga changed from 22:00 to 22 oo. ( the oo higher, of course).
27Many small usebility fixes in KO/Pi. 30Many small usebility fixes in KO/Pi.
28Pressing the "Calendar" button on the Z switches now to the next view in KO/Pi. 31Pressing the "Calendar" button on the Z switches now to the next view in KO/Pi.
29The set of possible "next views" are the views you have toolbar buttons for. 32The set of possible "next views" are the views you have toolbar buttons for.
30 33
31Made alarm sound working on Linux. 34Made alarm sound working on Linux.
32 35
33KO/Pi alarm applet changed: 36KO/Pi alarm applet changed:
34Made buttons in alarm dialog much bigger. 37Made buttons in alarm dialog much bigger.
35Made setting of timer more user friendly by showing the actual timer fire time and making the buttons in the timer settings much bigger. 38Made setting of timer more user friendly by showing the actual timer fire time and making the buttons in the timer settings much bigger.
36The goal was it to make it possible to use a finger tip ( and not the stylus ) on the touchscreen to adjust the settings. 39The goal was it to make it possible to use a finger tip ( and not the stylus ) on the touchscreen to adjust the settings.
37 40
38And because this version is realeased at Easter, I added an Easter-egg: 41And because this version is realeased at Easter, I added an Easter-egg:
39With a new undocumented command you can get a message box about the next alarm. 42With a new undocumented command you can get a message box about the next alarm.
40Good luck to find it! 43Good luck to find it!
41 44
42 45
43 46
44********** VERSION 2.0.20 ************ 47********** VERSION 2.0.20 ************
45 48
46Two small fixes in OM/Pi. 49Two small fixes in OM/Pi.
47 50
48Better resizing of the new datenavigator in KO/Pi. 51Better resizing of the new datenavigator in KO/Pi.
49 52
50********** VERSION 2.0.19 ************ 53********** VERSION 2.0.19 ************
51KO/Pi: 54KO/Pi:
52Enhancements and bugfixes in the new datenavigator. 55Enhancements and bugfixes in the new datenavigator.
53Bugfix in this changelog: 56Bugfix in this changelog:
54The datenavigator was changed in version 2.0.18, not the datepicker. 57The datenavigator was changed in version 2.0.18, not the datepicker.
55 58
56********** VERSION 2.0.18 ************ 59********** VERSION 2.0.18 ************
57KO/Pi: 60KO/Pi:
58Fixed some minor problems. 61Fixed some minor problems.
59Cleaned up the KO/Pi config dialog. 62Cleaned up the KO/Pi config dialog.
60Fixed problem moving events in aganda view. 63Fixed problem moving events in aganda view.
61Made datepicker scaleable, i.e. if the datenavigator shows now a 64Made datepicker scaleable, i.e. if the datenavigator shows now a
62datenavigator matrix depending on its size. 65datenavigator matrix depending on its size.
63Birthdays are now displayed green in the datenavigator. 66Birthdays are now displayed green in the datenavigator.
64What'sThis Help in datenavigator shows all events of the day. 67What'sThis Help in datenavigator shows all events of the day.
65 68
66OM/Pi: 69OM/Pi:
67Updated the backend mail library to the latest version. 70Updated the backend mail library to the latest version.
68Please backup your mail before using this version. 71Please backup your mail before using this version.
69 72
70********** VERSION 2.0.17 ************ 73********** VERSION 2.0.17 ************
71 74
72KO/Pi: 75KO/Pi:
73Tooltips in month view were not sorted. Fixed. 76Tooltips in month view were not sorted. Fixed.
74Daylabel in agenda view ( for display of one day ) was too short. Fixed. 77Daylabel in agenda view ( for display of one day ) was too short. Fixed.
75Conflict display dialog for syncing was not on top of other windows. Fixed. 78Conflict display dialog for syncing was not on top of other windows. Fixed.
76Fixed some minor problems. 79Fixed some minor problems.
77 80
78Fixed an endless loop when importing vcs file with RESOURCES entry. 81Fixed an endless loop when importing vcs file with RESOURCES entry.
79 82
80********** VERSION 2.0.16 ************ 83********** VERSION 2.0.16 ************
81OM/Pi: 84OM/Pi:
82Fixed the SMTP account setting the option. 85Fixed the SMTP account setting the option.
83Fixed something in mail sending. 86Fixed something in mail sending.
84 87
85KO/Pi: 88KO/Pi:
86Added possibility to export selected events/todos as vcal file. 89Added possibility to export selected events/todos as vcal file.
87 90
88********** VERSION 2.0.15 ************ 91********** VERSION 2.0.15 ************
89 92
90PwM/Pi: 93PwM/Pi:
91Added keyboard shorcuts for 94Added keyboard shorcuts for
92- toggling summary view (space bar) 95- toggling summary view (space bar)
93- delete item (delete + backspace key) 96- delete item (delete + backspace key)
94- add new item ( i + n key) 97- add new item ( i + n key)
95Fixed length of info in the title. 98Fixed length of info in the title.
96 99
97KO/Pi-KA/Pi: 100KO/Pi-KA/Pi:
98Changed "ME" menu bar entry to an icon. 101Changed "ME" menu bar entry to an icon.
99 102
100KO/Pi: 103KO/Pi:
101Fixed two minor bugs in displaying todos. 104Fixed two minor bugs in displaying todos.
102If in month view a cell is selected, the key shortcut "d" shows now that date. 105If in month view a cell is selected, the key shortcut "d" shows now that date.
103Added complete info for a todo in month view as an icon left of the text. 106Added complete info for a todo in month view as an icon left of the text.
104Fixed problems of displaying data when "<" or ">" are used in summary/location/description. 107Fixed problems of displaying data when "<" or ">" are used in summary/location/description.
105Fixed problem of search dialog size when switching displays. 108Fixed problem of search dialog size when switching displays.
106Cancel key now closes date picker. 109Cancel key now closes date picker.
107Rearranged KO/Pi file menu structure. 110Rearranged KO/Pi file menu structure.
108 111
109OM/Pi: 112OM/Pi:
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index db19dd5..27aca2d 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -2420,192 +2420,193 @@ void KABCore::setFormattedName()
2420 return; 2420 return;
2421 mAddressBook->setUntagged(); 2421 mAddressBook->setUntagged();
2422 dlg.tagSelected(); 2422 dlg.tagSelected();
2423 int count = 0; 2423 int count = 0;
2424 KABC::AddressBook::Iterator it; 2424 KABC::AddressBook::Iterator it;
2425 for ( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { 2425 for ( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
2426 if ( (*it).tagged() ) { 2426 if ( (*it).tagged() ) {
2427 ++count; 2427 ++count;
2428 if ( count %10 == 0 ) 2428 if ( count %10 == 0 )
2429 message(i18n("Changing contact #%1").arg( count ) ); 2429 message(i18n("Changing contact #%1").arg( count ) );
2430 qApp->processEvents(); 2430 qApp->processEvents();
2431 QString fName; 2431 QString fName;
2432 if ( setpref.simple->isChecked() ) 2432 if ( setpref.simple->isChecked() )
2433 fName = NameEditDialog::formattedName( (*it), NameEditDialog::SimpleName ); 2433 fName = NameEditDialog::formattedName( (*it), NameEditDialog::SimpleName );
2434 else if ( setpref.full->isChecked() ) 2434 else if ( setpref.full->isChecked() )
2435 fName = NameEditDialog::formattedName( (*it), NameEditDialog::FullName ); 2435 fName = NameEditDialog::formattedName( (*it), NameEditDialog::FullName );
2436 else if ( setpref.reverse->isChecked() ) 2436 else if ( setpref.reverse->isChecked() )
2437 fName = NameEditDialog::formattedName( (*it), NameEditDialog::ReverseName ); 2437 fName = NameEditDialog::formattedName( (*it), NameEditDialog::ReverseName );
2438 else 2438 else
2439 fName = (*it).organization(); 2439 fName = (*it).organization();
2440 if ( setpref.setCompany->isChecked() ) 2440 if ( setpref.setCompany->isChecked() )
2441 if ( fName.isEmpty() || fName =="," ) 2441 if ( fName.isEmpty() || fName =="," )
2442 fName = (*it).organization(); 2442 fName = (*it).organization();
2443 (*it).setFormattedName( fName ); 2443 (*it).setFormattedName( fName );
2444 } 2444 }
2445 } 2445 }
2446 message(i18n("Refreshing view...") ); 2446 message(i18n("Refreshing view...") );
2447 qApp->processEvents(); 2447 qApp->processEvents();
2448 mViewManager->refreshView( "" ); 2448 mViewManager->refreshView( "" );
2449 Addressee add; 2449 Addressee add;
2450 mDetails->setAddressee( add ); 2450 mDetails->setAddressee( add );
2451 message(i18n("Setting formatted name completed!") ); 2451 message(i18n("Setting formatted name completed!") );
2452} 2452}
2453 2453
2454void KABCore::clipboardDataChanged() 2454void KABCore::clipboardDataChanged()
2455{ 2455{
2456 2456
2457 if ( mReadWrite ) 2457 if ( mReadWrite )
2458 mActionPaste->setEnabled( !QApplication::clipboard()->text().isEmpty() ); 2458 mActionPaste->setEnabled( !QApplication::clipboard()->text().isEmpty() );
2459 2459
2460} 2460}
2461 2461
2462void KABCore::updateActionMenu() 2462void KABCore::updateActionMenu()
2463{ 2463{
2464 UndoStack *undo = UndoStack::instance(); 2464 UndoStack *undo = UndoStack::instance();
2465 RedoStack *redo = RedoStack::instance(); 2465 RedoStack *redo = RedoStack::instance();
2466 2466
2467 if ( undo->isEmpty() ) 2467 if ( undo->isEmpty() )
2468 mActionUndo->setText( i18n( "Undo" ) ); 2468 mActionUndo->setText( i18n( "Undo" ) );
2469 else 2469 else
2470 mActionUndo->setText( i18n( "Undo %1" ).arg( undo->top()->name() ) ); 2470 mActionUndo->setText( i18n( "Undo %1" ).arg( undo->top()->name() ) );
2471 2471
2472 mActionUndo->setEnabled( !undo->isEmpty() ); 2472 mActionUndo->setEnabled( !undo->isEmpty() );
2473 2473
2474 if ( !redo->top() ) 2474 if ( !redo->top() )
2475 mActionRedo->setText( i18n( "Redo" ) ); 2475 mActionRedo->setText( i18n( "Redo" ) );
2476 else 2476 else
2477 mActionRedo->setText( i18n( "Redo %1" ).arg( redo->top()->name() ) ); 2477 mActionRedo->setText( i18n( "Redo %1" ).arg( redo->top()->name() ) );
2478 2478
2479 mActionRedo->setEnabled( !redo->isEmpty() ); 2479 mActionRedo->setEnabled( !redo->isEmpty() );
2480} 2480}
2481 2481
2482void KABCore::configureKeyBindings() 2482void KABCore::configureKeyBindings()
2483{ 2483{
2484#ifndef KAB_EMBEDDED 2484#ifndef KAB_EMBEDDED
2485 KKeyDialog::configure( actionCollection(), true ); 2485 KKeyDialog::configure( actionCollection(), true );
2486#else //KAB_EMBEDDED 2486#else //KAB_EMBEDDED
2487 qDebug("KABCore::configureKeyBindings() not implemented"); 2487 qDebug("KABCore::configureKeyBindings() not implemented");
2488#endif //KAB_EMBEDDED 2488#endif //KAB_EMBEDDED
2489} 2489}
2490 2490
2491#ifdef KAB_EMBEDDED 2491#ifdef KAB_EMBEDDED
2492void KABCore::configureResources() 2492void KABCore::configureResources()
2493{ 2493{
2494 KRES::KCMKResources dlg( this, "" , 0 ); 2494 KRES::KCMKResources dlg( this, "" , 0 );
2495 2495
2496 if ( !dlg.exec() ) 2496 if ( !dlg.exec() )
2497 return; 2497 return;
2498 KMessageBox::information( this, i18n("Please restart to get the \nchanged resources (re)loaded!\n") ); 2498 KMessageBox::information( this, i18n("Please restart to get the \nchanged resources (re)loaded!\n") );
2499} 2499}
2500#endif //KAB_EMBEDDED 2500#endif //KAB_EMBEDDED
2501 2501
2502 2502
2503/* this method will be called through the QCop interface from Ko/Pi to select addresses 2503/* this method will be called through the QCop interface from Ko/Pi to select addresses
2504 * for the attendees list of an event. 2504 * for the attendees list of an event.
2505 */ 2505 */
2506void KABCore::requestForNameEmailUidList(const QString& sourceChannel, const QString& uid) 2506void KABCore::requestForNameEmailUidList(const QString& sourceChannel, const QString& uid)
2507{ 2507{
2508 QStringList nameList; 2508 QStringList nameList;
2509 QStringList emailList; 2509 QStringList emailList;
2510 QStringList uidList; 2510 QStringList uidList;
2511 bool ok = false; 2511 bool ok = false;
2512 int wid = uid.toInt( &ok ); 2512 int wid = uid.toInt( &ok );
2513 if ( ok ) { 2513 if ( ok ) {
2514 if ( wid != QApplication::desktop()->width() ) { 2514 if ( wid != QApplication::desktop()->width() ) {
2515 qDebug("KA/Pi: Request from different desktop geometry. Resizing ..."); 2515 qDebug("KA/Pi: Request from different desktop geometry. Resizing ...");
2516 message( i18n("Resizing, please wait...") );
2516 raise(); 2517 raise();
2517 qApp->processEvents(); 2518 qApp->processEvents();
2518 } 2519 }
2519 2520
2520 } else { 2521 } else {
2521 qDebug("KABCore::requestForNameEmailUidList:: Got invalid uid "); 2522 qDebug("KABCore::requestForNameEmailUidList:: Got invalid uid ");
2522 } 2523 }
2523 2524
2524 KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this); 2525 KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this);
2525 uint i=0; 2526 uint i=0;
2526 for (i=0; i < list.count(); i++) 2527 for (i=0; i < list.count(); i++)
2527 { 2528 {
2528 nameList.append(list[i].realName()); 2529 nameList.append(list[i].realName());
2529 emailList.append(list[i].preferredEmail()); 2530 emailList.append(list[i].preferredEmail());
2530 uidList.append(list[i].uid()); 2531 uidList.append(list[i].uid());
2531 } 2532 }
2532 //qDebug("%s %s ", sourceChannel.latin1(), uid.latin1()); 2533 //qDebug("%s %s ", sourceChannel.latin1(), uid.latin1());
2533 bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI(sourceChannel, uid, nameList, emailList, uidList); 2534 bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI(sourceChannel, uid, nameList, emailList, uidList);
2534 2535
2535} 2536}
2536 2537
2537/* this method will be called through the QCop interface from Ko/Pi to select birthdays 2538/* this method will be called through the QCop interface from Ko/Pi to select birthdays
2538 * to put them into the calendar. 2539 * to put them into the calendar.
2539 */ 2540 */
2540void KABCore::requestForBirthdayList(const QString& sourceChannel, const QString& uid) 2541void KABCore::requestForBirthdayList(const QString& sourceChannel, const QString& uid)
2541{ 2542{
2542 // qDebug("KABCore::requestForBirthdayList"); 2543 // qDebug("KABCore::requestForBirthdayList");
2543 QStringList birthdayList; 2544 QStringList birthdayList;
2544 QStringList anniversaryList; 2545 QStringList anniversaryList;
2545 QStringList realNameList; 2546 QStringList realNameList;
2546 QStringList preferredEmailList; 2547 QStringList preferredEmailList;
2547 QStringList assembledNameList; 2548 QStringList assembledNameList;
2548 QStringList uidList; 2549 QStringList uidList;
2549 2550
2550 KABC::AddressBook::Iterator it; 2551 KABC::AddressBook::Iterator it;
2551 2552
2552 int count = 0; 2553 int count = 0;
2553 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { 2554 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
2554 ++count; 2555 ++count;
2555 } 2556 }
2556 QProgressBar bar(count,0 ); 2557 QProgressBar bar(count,0 );
2557 int w = 300; 2558 int w = 300;
2558 if ( QApplication::desktop()->width() < 320 ) 2559 if ( QApplication::desktop()->width() < 320 )
2559 w = 220; 2560 w = 220;
2560 int h = bar.sizeHint().height() ; 2561 int h = bar.sizeHint().height() ;
2561 int dw = QApplication::desktop()->width(); 2562 int dw = QApplication::desktop()->width();
2562 int dh = QApplication::desktop()->height(); 2563 int dh = QApplication::desktop()->height();
2563 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 2564 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
2564 bar.show(); 2565 bar.show();
2565 bar.setCaption (i18n("Collecting birthdays - close to abort!") ); 2566 bar.setCaption (i18n("Collecting birthdays - close to abort!") );
2566 qApp->processEvents(); 2567 qApp->processEvents();
2567 2568
2568 QDate bday; 2569 QDate bday;
2569 QString anni; 2570 QString anni;
2570 QString formattedbday; 2571 QString formattedbday;
2571 2572
2572 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) 2573 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it )
2573 { 2574 {
2574 if ( ! bar.isVisible() ) 2575 if ( ! bar.isVisible() )
2575 return; 2576 return;
2576 bar.setProgress( count++ ); 2577 bar.setProgress( count++ );
2577 qApp->processEvents(); 2578 qApp->processEvents();
2578 bday = (*it).birthday().date(); 2579 bday = (*it).birthday().date();
2579 anni = (*it).custom("KADDRESSBOOK", "X-Anniversary" ); 2580 anni = (*it).custom("KADDRESSBOOK", "X-Anniversary" );
2580 2581
2581 if ( bday.isValid() || !anni.isEmpty()) 2582 if ( bday.isValid() || !anni.isEmpty())
2582 { 2583 {
2583 if (bday.isValid()) 2584 if (bday.isValid())
2584 formattedbday = KGlobal::locale()->formatDate(bday, true, KLocale::ISODate); 2585 formattedbday = KGlobal::locale()->formatDate(bday, true, KLocale::ISODate);
2585 else 2586 else
2586 formattedbday = "NOTVALID"; 2587 formattedbday = "NOTVALID";
2587 if (anni.isEmpty()) 2588 if (anni.isEmpty())
2588 anni = "INVALID"; 2589 anni = "INVALID";
2589 2590
2590 birthdayList.append(formattedbday); 2591 birthdayList.append(formattedbday);
2591 anniversaryList.append(anni); //should be ISODate 2592 anniversaryList.append(anni); //should be ISODate
2592 realNameList.append((*it).realName()); 2593 realNameList.append((*it).realName());
2593 preferredEmailList.append((*it).preferredEmail()); 2594 preferredEmailList.append((*it).preferredEmail());
2594 assembledNameList.append((*it).assembledName()); 2595 assembledNameList.append((*it).assembledName());
2595 uidList.append((*it).uid()); 2596 uidList.append((*it).uid());
2596 2597
2597 //qDebug("found birthday in KA/Pi: %s,%s,%s,%s: %s, %s", (*it).realName().latin1(), (*it).preferredEmail().latin1(), (*it).assembledName().latin1(), (*it).uid().latin1(), formattedbday.latin1(), anni.latin1() ); 2598 //qDebug("found birthday in KA/Pi: %s,%s,%s,%s: %s, %s", (*it).realName().latin1(), (*it).preferredEmail().latin1(), (*it).assembledName().latin1(), (*it).uid().latin1(), formattedbday.latin1(), anni.latin1() );
2598 } 2599 }
2599 } 2600 }
2600 2601
2601 bool res = ExternalAppHandler::instance()->returnBirthdayListFromKAPI(sourceChannel, uid, birthdayList, anniversaryList, realNameList, preferredEmailList, assembledNameList, uidList); 2602 bool res = ExternalAppHandler::instance()->returnBirthdayListFromKAPI(sourceChannel, uid, birthdayList, anniversaryList, realNameList, preferredEmailList, assembledNameList, uidList);
2602 2603
2603} 2604}
2604 2605
2605/* this method will be called through the QCop interface from other apps to show details of a contact. 2606/* this method will be called through the QCop interface from other apps to show details of a contact.
2606 */ 2607 */
2607void KABCore::requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid) 2608void KABCore::requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid)
2608{ 2609{
2609 //qDebug("KABCore::requestForDetails %s %s %s %s %s", sourceChannel.latin1(), sessionuid.latin1(), name.latin1(), email.latin1(), uid.latin1()); 2610 //qDebug("KABCore::requestForDetails %s %s %s %s %s", sourceChannel.latin1(), sessionuid.latin1(), name.latin1(), email.latin1(), uid.latin1());
2610 2611
2611 QString foundUid = QString::null; 2612 QString foundUid = QString::null;
diff --git a/libkdepim/externalapphandler.cpp b/libkdepim/externalapphandler.cpp
index 7200da9..f8f4c8a 100644
--- a/libkdepim/externalapphandler.cpp
+++ b/libkdepim/externalapphandler.cpp
@@ -1059,143 +1059,146 @@ bool ExternalAppHandler::callBySIP( const QString& sipnumber )
1059} 1059}
1060 1060
1061 1061
1062/************************************************************************** 1062/**************************************************************************
1063 * 1063 *
1064 **************************************************************************/ 1064 **************************************************************************/
1065 1065
1066 1066
1067QString& ExternalAppHandler::translateMessage(QString& message, const QString& param1, const QString& param2 ) const 1067QString& ExternalAppHandler::translateMessage(QString& message, const QString& param1, const QString& param2 ) const
1068{ 1068{
1069 message = message.replace( QRegExp("%1"), param1 ); 1069 message = message.replace( QRegExp("%1"), param1 );
1070 return message.replace( QRegExp("%2"), param2 ); 1070 return message.replace( QRegExp("%2"), param2 );
1071} 1071}
1072 1072
1073/************************************************************************** 1073/**************************************************************************
1074 * 1074 *
1075 **************************************************************************/ 1075 **************************************************************************/
1076 1076
1077void ExternalAppHandler::passParameters(QCopEnvelope* e, const QString& parameters, const QString& param1 , const QString& param2) const 1077void ExternalAppHandler::passParameters(QCopEnvelope* e, const QString& parameters, const QString& param1 , const QString& param2) const
1078{ 1078{
1079#ifndef DESKTOP_VERSION 1079#ifndef DESKTOP_VERSION
1080 QMap<QString, QString> valmap; 1080 QMap<QString, QString> valmap;
1081 bool useValMap = false; 1081 bool useValMap = false;
1082 1082
1083 // first extract all parts of the parameters. 1083 // first extract all parts of the parameters.
1084 QStringList paramlist = QStringList::split(";", parameters); 1084 QStringList paramlist = QStringList::split(";", parameters);
1085 1085
1086 //Now check how many parts we have. 1086 //Now check how many parts we have.
1087 //=0 :no params to pass 1087 //=0 :no params to pass
1088 //>0 :parameters to pass 1088 //>0 :parameters to pass
1089 for ( QStringList::Iterator it = paramlist.begin(); it != paramlist.end(); ++it ) 1089 for ( QStringList::Iterator it = paramlist.begin(); it != paramlist.end(); ++it )
1090 { 1090 {
1091 QString param = (*it); 1091 QString param = (*it);
1092 QStringList keyvallist = QStringList::split("=", param); 1092 QStringList keyvallist = QStringList::split("=", param);
1093 1093
1094 //if we have keyvalue pairs, we assume that we pass a map to the envelope 1094 //if we have keyvalue pairs, we assume that we pass a map to the envelope
1095 QStringList::Iterator it2 = keyvallist.begin(); 1095 QStringList::Iterator it2 = keyvallist.begin();
1096 QString key = (*it2); 1096 QString key = (*it2);
1097 key = key.replace( QRegExp("%1"), param1 ); 1097 key = key.replace( QRegExp("%1"), param1 );
1098 key = key.replace( QRegExp("%2"), param2 ); 1098 key = key.replace( QRegExp("%2"), param2 );
1099 ++it2; 1099 ++it2;
1100 1100
1101 if(it2 != keyvallist.end()) 1101 if(it2 != keyvallist.end())
1102 { 1102 {
1103 QString value = (*it2); 1103 QString value = (*it2);
1104 value = value.replace( QRegExp("%1"), param1 ); 1104 value = value.replace( QRegExp("%1"), param1 );
1105 value = value.replace( QRegExp("%2"), param2 ); 1105 value = value.replace( QRegExp("%2"), param2 );
1106 1106
1107 valmap.insert(key, value); 1107 valmap.insert(key, value);
1108 useValMap = true; 1108 useValMap = true;
1109 } 1109 }
1110 else 1110 else
1111 { 1111 {
1112 // qDebug("pass parameter << %s", key.latin1()); 1112 // qDebug("pass parameter << %s", key.latin1());
1113 (*e) << key; 1113 (*e) << key;
1114 } 1114 }
1115 } 1115 }
1116 1116
1117 if (useValMap == true) 1117 if (useValMap == true)
1118 (*e) << valmap; 1118 (*e) << valmap;
1119 1119
1120#endif 1120#endif
1121 1121
1122} 1122}
1123 1123
1124 1124
1125 1125
1126/************************************************************************** 1126/**************************************************************************
1127 * 1127 *
1128 **************************************************************************/ 1128 **************************************************************************/
1129 1129
1130void ExternalAppHandler::appMessage( const QCString& cmsg, const QByteArray& data ) 1130void ExternalAppHandler::appMessage( const QCString& cmsg, const QByteArray& data )
1131{ 1131{
1132 1132
1133 if ( cmsg == "nextView()" ) { 1133 if ( cmsg == "nextView()" ) {
1134 qDebug("nextView()"); 1134 qDebug("nextView()");
1135 emit nextView(); 1135 emit nextView();
1136 return; 1136 return;
1137 } 1137 }
1138 1138
1139 bool res = mNameEmailUidListFromKAPITransfer->appMessage( cmsg, data ); 1139 bool res = mNameEmailUidListFromKAPITransfer->appMessage( cmsg, data );
1140 if (!res) 1140 if (!res)
1141 res = mBirthdayListFromKAPITransfer->appMessage( cmsg, data ); 1141 res = mBirthdayListFromKAPITransfer->appMessage( cmsg, data );
1142 1142
1143 if (!res) 1143 if (!res)
1144 res = mDisplayDetails->appMessage( cmsg, data ); 1144 res = mDisplayDetails->appMessage( cmsg, data );
1145 1145
1146// if (!res) 1146// if (!res)
1147// res = mNameEmailUidListFromKAPITransfer->appMessage( cmsg, data ); 1147// res = mNameEmailUidListFromKAPITransfer->appMessage( cmsg, data );
1148} 1148}
1149 1149
1150 1150
1151 1151
1152bool ExternalAppHandler::requestNameEmailUidListFromKAPI(const QString& sourceChannel, const QString& sessionuid) 1152bool ExternalAppHandler::requestNameEmailUidListFromKAPI(const QString& sourceChannel, const QString& sessionuid)
1153{ 1153{
1154 mNameEmailUidListFromKAPITransfer->setSourceChannel(sourceChannel); 1154 mNameEmailUidListFromKAPITransfer->setSourceChannel(sourceChannel);
1155 return mNameEmailUidListFromKAPITransfer->sendMessageToTarget(sessionuid); 1155 // maybe we are sending to KA/Pi fom a different worldd...
1156 // it may be that the QAplication::desktop()->width() values in KA/Pi are not the same as in our application
1157 // for that reason we send the current QApplication::desktop()->width() to KA/Pi
1158 return mNameEmailUidListFromKAPITransfer->sendMessageToTarget(QString::number ( QApplication::desktop()->width() ));
1156} 1159}
1157 1160
1158bool ExternalAppHandler::returnNameEmailUidListFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& list1, const QStringList& list2, const QStringList& list3) 1161bool ExternalAppHandler::returnNameEmailUidListFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& list1, const QStringList& list2, const QStringList& list3)
1159{ 1162{
1160 QStringList list4, list5, list6; 1163 QStringList list4, list5, list6;
1161 1164
1162 mNameEmailUidListFromKAPITransfer->setSourceChannel(sourceChannel); 1165 mNameEmailUidListFromKAPITransfer->setSourceChannel(sourceChannel);
1163 return mNameEmailUidListFromKAPITransfer->sendMessageToSource(sessionuid, list1, list2, list3, list4, list5, list6); 1166 return mNameEmailUidListFromKAPITransfer->sendMessageToSource(sessionuid, list1, list2, list3, list4, list5, list6);
1164} 1167}
1165 1168
1166bool ExternalAppHandler::requestFindByEmailFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QString& email) 1169bool ExternalAppHandler::requestFindByEmailFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QString& email)
1167{ 1170{
1168 mFindByEmailFromKAPITransfer->setSourceChannel(sourceChannel); 1171 mFindByEmailFromKAPITransfer->setSourceChannel(sourceChannel);
1169 return mFindByEmailFromKAPITransfer->sendMessageToTarget(sessionuid, email); 1172 return mFindByEmailFromKAPITransfer->sendMessageToTarget(sessionuid, email);
1170} 1173}
1171 1174
1172bool ExternalAppHandler::returnFindByEmailFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& list1, const QStringList& list2, const QStringList& list3) 1175bool ExternalAppHandler::returnFindByEmailFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& list1, const QStringList& list2, const QStringList& list3)
1173{ 1176{
1174 QStringList list4, list5, list6; 1177 QStringList list4, list5, list6;
1175 1178
1176 mFindByEmailFromKAPITransfer->setSourceChannel(sourceChannel); 1179 mFindByEmailFromKAPITransfer->setSourceChannel(sourceChannel);
1177 return mFindByEmailFromKAPITransfer->sendMessageToSource(sessionuid, list1, list2, list3, list4, list5, list6); 1180 return mFindByEmailFromKAPITransfer->sendMessageToSource(sessionuid, list1, list2, list3, list4, list5, list6);
1178} 1181}
1179 1182
1180bool ExternalAppHandler::requestDetailsFromKAPI(const QString& name, const QString& email, const QString& uid) 1183bool ExternalAppHandler::requestDetailsFromKAPI(const QString& name, const QString& email, const QString& uid)
1181{ 1184{
1182 mDisplayDetails->setSourceChannel(""); 1185 mDisplayDetails->setSourceChannel("");
1183 return mDisplayDetails->sendMessageToTarget("", name, email, uid); 1186 return mDisplayDetails->sendMessageToTarget("", name, email, uid);
1184} 1187}
1185 1188
1186bool ExternalAppHandler::requestBirthdayListFromKAPI(const QString& sourceChannel, const QString& sessionuid) 1189bool ExternalAppHandler::requestBirthdayListFromKAPI(const QString& sourceChannel, const QString& sessionuid)
1187{ 1190{
1188 mBirthdayListFromKAPITransfer->setSourceChannel(sourceChannel); 1191 mBirthdayListFromKAPITransfer->setSourceChannel(sourceChannel);
1189 return mBirthdayListFromKAPITransfer->sendMessageToTarget(sessionuid); 1192 return mBirthdayListFromKAPITransfer->sendMessageToTarget(sessionuid);
1190} 1193}
1191 1194
1192bool ExternalAppHandler::returnBirthdayListFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& list1, const QStringList& list2, const QStringList& list3, const QStringList& list4, const QStringList& list5, const QStringList& list6) 1195bool ExternalAppHandler::returnBirthdayListFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& list1, const QStringList& list2, const QStringList& list3, const QStringList& list4, const QStringList& list5, const QStringList& list6)
1193{ 1196{
1194 mBirthdayListFromKAPITransfer->setSourceChannel(sourceChannel); 1197 mBirthdayListFromKAPITransfer->setSourceChannel(sourceChannel);
1195 return mBirthdayListFromKAPITransfer->sendMessageToSource(sessionuid, list1, list2, list3, list4, list5, list6); 1198 return mBirthdayListFromKAPITransfer->sendMessageToSource(sessionuid, list1, list2, list3, list4, list5, list6);
1196} 1199}
1197 1200
1198 1201
1199 1202
1200 1203
1201 1204