-rw-r--r-- | bin/kdepim/WhatsNew.txt | 2 | ||||
-rw-r--r-- | kabc/addresseedialog.cpp | 7 | ||||
-rw-r--r-- | kaddressbook/kabcore.cpp | 14 |
3 files changed, 17 insertions, 6 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt index 21664de..b6472d7 100644 --- a/bin/kdepim/WhatsNew.txt +++ b/bin/kdepim/WhatsNew.txt | |||
@@ -1,25 +1,27 @@ | |||
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 2.1.10 ************ | 3 | ********** VERSION 2.1.10 ************ |
4 | 4 | ||
5 | KO/Pi: | 5 | KO/Pi: |
6 | Importing Birthdays will now create another file resource "Birthdays" and import the birthday data from KA/Pi into that file. | 6 | Importing Birthdays will now create another file resource "Birthdays" and import the birthday data from KA/Pi into that file. |
7 | When a multidayevent is selected in monthview all occurences of this event in the monthview are now hightlighted. | ||
7 | 8 | ||
8 | KA/Pi: | 9 | KA/Pi: |
9 | Fixed two problems in csv export. | 10 | Fixed two problems in csv export. |
11 | Fixed problems when calling the contact selection dialog from KO/Pi or OM/Pi. | ||
10 | 12 | ||
11 | ********** VERSION 2.1.9 ************ | 13 | ********** VERSION 2.1.9 ************ |
12 | 14 | ||
13 | KO/Pi: | 15 | KO/Pi: |
14 | Fixed some problems of the new search options in the search dialog. | 16 | Fixed some problems of the new search options in the search dialog. |
15 | Fixed some problems in the new resource config options. | 17 | Fixed some problems in the new resource config options. |
16 | Changed the recurrence edit of events and todos such that the recurrence edit page now is notified about a change of the start date on the first page. | 18 | Changed the recurrence edit of events and todos such that the recurrence edit page now is notified about a change of the start date on the first page. |
17 | Fixed a problem creating new events in the agenda view if at the day/time is already an agenda item shown: | 19 | Fixed a problem creating new events in the agenda view if at the day/time is already an agenda item shown: |
18 | Now you can click on the bottom/top of an allday agenda item or on the left/right side of an agenda item to get the "new todo/new event" popup. | 20 | Now you can click on the bottom/top of an allday agenda item or on the left/right side of an agenda item to get the "new todo/new event" popup. |
19 | 21 | ||
20 | Fixed a problem in recurrence range in syncing with DTM. | 22 | Fixed a problem in recurrence range in syncing with DTM. |
21 | 23 | ||
22 | KA/Pi: | 24 | KA/Pi: |
23 | Made it posiible to show in the contact overview the details of all data available for that contact( e.g. office, spouse, children, nickname ...) | 25 | Made it posiible to show in the contact overview the details of all data available for that contact( e.g. office, spouse, children, nickname ...) |
24 | 26 | ||
25 | PwM/Pi: | 27 | PwM/Pi: |
diff --git a/kabc/addresseedialog.cpp b/kabc/addresseedialog.cpp index 9197850..0cf75a0 100644 --- a/kabc/addresseedialog.cpp +++ b/kabc/addresseedialog.cpp | |||
@@ -50,32 +50,33 @@ AddresseeItem::AddresseeItem( QListView *parent, const Addressee &addressee ) : | |||
50 | QString AddresseeItem::key( int column, bool ) const | 50 | QString AddresseeItem::key( int column, bool ) const |
51 | { | 51 | { |
52 | 52 | ||
53 | if (column == Email) { | 53 | if (column == Email) { |
54 | QString value = text(Email); | 54 | QString value = text(Email); |
55 | int val = value.findRev("@"); | 55 | int val = value.findRev("@"); |
56 | return value.mid( val) + value.left( val ); | 56 | return value.mid( val) + value.left( val ); |
57 | } | 57 | } |
58 | return text(column).lower(); | 58 | return text(column).lower(); |
59 | } | 59 | } |
60 | 60 | ||
61 | AddresseeDialog::AddresseeDialog( QWidget *parent, bool multiple ) : | 61 | AddresseeDialog::AddresseeDialog( QWidget *parent, bool multiple ) : |
62 | KDialogBase( KDialogBase::Plain, i18n("Select Addressee"), | 62 | KDialogBase( KDialogBase::Plain, i18n("Select Addressee"), |
63 | Ok|Cancel, No, parent ), mMultiple( multiple ) | 63 | Ok|Cancel, No, parent ), mMultiple( multiple ) |
64 | { | 64 | { |
65 | qDebug("NEW AddresseeDialog "); | 65 | qDebug("NEW AddresseeDialog "); |
66 | |||
66 | QWidget *topWidget = plainPage(); | 67 | QWidget *topWidget = plainPage(); |
67 | 68 | ||
68 | QBoxLayout *topLayout = new QHBoxLayout( topWidget ); | 69 | QBoxLayout *topLayout = new QHBoxLayout( topWidget ); |
69 | 70 | ||
70 | 71 | ||
71 | KDGanttMinimizeSplitter* mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, topWidget); | 72 | KDGanttMinimizeSplitter* mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, topWidget); |
72 | mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); | 73 | mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); |
73 | 74 | ||
74 | topLayout->addWidget(mMiniSplitter ); | 75 | topLayout->addWidget(mMiniSplitter ); |
75 | 76 | ||
76 | QWidget *listWidget = new QWidget( mMiniSplitter ); | 77 | QWidget *listWidget = new QWidget( mMiniSplitter ); |
77 | 78 | ||
78 | QVBoxLayout *listLayout = new QVBoxLayout (listWidget) ; | 79 | QVBoxLayout *listLayout = new QVBoxLayout (listWidget) ; |
79 | //topLayout->addLayout( listLayout ); | 80 | //topLayout->addLayout( listLayout ); |
80 | 81 | ||
81 | mAddresseeList = new KListView( listWidget ); | 82 | mAddresseeList = new KListView( listWidget ); |
@@ -311,53 +312,57 @@ Addressee AddresseeDialog::getAddressee( QWidget *parent ) | |||
311 | #ifdef DESKTOP_VERSION | 312 | #ifdef DESKTOP_VERSION |
312 | geoX = dlg->geometry().x(); | 313 | geoX = dlg->geometry().x(); |
313 | geoY = dlg->geometry().y(); | 314 | geoY = dlg->geometry().y(); |
314 | geoW = dlg->width(); | 315 | geoW = dlg->width(); |
315 | geoH = dlg->height(); | 316 | geoH = dlg->height(); |
316 | #endif | 317 | #endif |
317 | if ( result == QDialog::Accepted ) { | 318 | if ( result == QDialog::Accepted ) { |
318 | addressee = dlg->addressee(); | 319 | addressee = dlg->addressee(); |
319 | } | 320 | } |
320 | 321 | ||
321 | delete dlg; | 322 | delete dlg; |
322 | return addressee; | 323 | return addressee; |
323 | } | 324 | } |
324 | 325 | ||
325 | Addressee::List AddresseeDialog::getAddressees( QWidget *parent ) | 326 | Addressee::List AddresseeDialog::getAddressees( QWidget *parent ) |
326 | { | 327 | { |
327 | AddresseeDialog *dlg = new AddresseeDialog( parent, true ); | ||
328 | Addressee::List addressees; | 328 | Addressee::List addressees; |
329 | static bool running = false; | ||
330 | if ( running ) return addressees; | ||
331 | running = true; | ||
332 | AddresseeDialog *dlg = new AddresseeDialog( parent, true ); | ||
329 | static int geoX = 0; | 333 | static int geoX = 0; |
330 | static int geoY = 0; | 334 | static int geoY = 0; |
331 | static int geoW = 0; | 335 | static int geoW = 0; |
332 | static int geoH = 0; | 336 | static int geoH = 0; |
333 | if ( QApplication::desktop()->width() <= 640 ) | 337 | if ( QApplication::desktop()->width() <= 640 ) |
334 | dlg->showMaximized(); | 338 | dlg->showMaximized(); |
335 | else { | 339 | else { |
336 | if ( !geoX && ! geoY && !geoW &&!geoH ) { | 340 | if ( !geoX && ! geoY && !geoW &&!geoH ) { |
337 | geoX = dlg->geometry().x(); | 341 | geoX = dlg->geometry().x(); |
338 | geoY = dlg->geometry().y(); | 342 | geoY = dlg->geometry().y(); |
339 | geoW = dlg->width(); | 343 | geoW = dlg->width(); |
340 | geoH = dlg->height(); | 344 | geoH = dlg->height(); |
341 | } else { | 345 | } else { |
342 | dlg->show(); | 346 | dlg->show(); |
343 | dlg->setGeometry(geoX , geoY,geoW , geoH ); | 347 | dlg->setGeometry(geoX , geoY,geoW , geoH ); |
344 | 348 | ||
345 | } | 349 | } |
346 | } | 350 | } |
347 | int result = dlg->exec(); | 351 | int result = dlg->exec(); |
348 | geoX = dlg->geometry().x(); | 352 | geoX = dlg->geometry().x(); |
349 | geoY = dlg->geometry().y(); | 353 | geoY = dlg->geometry().y(); |
350 | geoW = dlg->width(); | 354 | geoW = dlg->width(); |
351 | geoH = dlg->height(); | 355 | geoH = dlg->height(); |
352 | if ( result == QDialog::Accepted ) { | 356 | if ( result == QDialog::Accepted ) { |
353 | addressees = dlg->addressees(); | 357 | addressees = dlg->addressees(); |
354 | } | 358 | } |
355 | 359 | ||
356 | delete dlg; | 360 | delete dlg; |
361 | running = false; | ||
357 | return addressees; | 362 | return addressees; |
358 | } | 363 | } |
359 | 364 | ||
360 | void AddresseeDialog::addressBookChanged() | 365 | void AddresseeDialog::addressBookChanged() |
361 | { | 366 | { |
362 | loadAddressBook(); | 367 | loadAddressBook(); |
363 | } | 368 | } |
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index b107e2d..3715786 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp | |||
@@ -2531,85 +2531,89 @@ void KABCore::configureKeyBindings() | |||
2531 | void KABCore::configureResources() | 2531 | void KABCore::configureResources() |
2532 | { | 2532 | { |
2533 | KRES::KCMKResources dlg( this, "" , 0 ); | 2533 | KRES::KCMKResources dlg( this, "" , 0 ); |
2534 | 2534 | ||
2535 | if ( !dlg.exec() ) | 2535 | if ( !dlg.exec() ) |
2536 | return; | 2536 | return; |
2537 | KMessageBox::information( this, i18n("Please restart to get the \nchanged resources (re)loaded!\n") ); | 2537 | KMessageBox::information( this, i18n("Please restart to get the \nchanged resources (re)loaded!\n") ); |
2538 | } | 2538 | } |
2539 | #endif //KAB_EMBEDDED | 2539 | #endif //KAB_EMBEDDED |
2540 | 2540 | ||
2541 | 2541 | ||
2542 | /* this method will be called through the QCop interface from Ko/Pi to select addresses | 2542 | /* this method will be called through the QCop interface from Ko/Pi to select addresses |
2543 | * for the attendees list of an event. | 2543 | * for the attendees list of an event. |
2544 | */ | 2544 | */ |
2545 | void KABCore::requestForNameEmailUidList(const QString& sourceChannel, const QString& uid) | 2545 | void KABCore::requestForNameEmailUidList(const QString& sourceChannel, const QString& uid) |
2546 | { | 2546 | { |
2547 | 2547 | qDebug("KABCore::requestForNameEmailUidList "); | |
2548 | bool ok = false; | 2548 | bool ok = false; |
2549 | mEmailSourceChannel = sourceChannel; | 2549 | mEmailSourceChannel = sourceChannel; |
2550 | mEmailSourceUID = uid; | 2550 | mEmailSourceUID = uid; |
2551 | callContactdialog(); | 2551 | QTimer::singleShot( 10,this, SLOT ( callContactdialog() ) ); |
2552 | //callContactdialog(); | ||
2552 | #if 0 | 2553 | #if 0 |
2553 | int wid = uid.toInt( &ok ); | 2554 | int wid = uid.toInt( &ok ); |
2554 | qDebug("UID %s ", uid.latin1()); | 2555 | qDebug("UID %s ", uid.latin1()); |
2555 | if ( ok ) { | 2556 | if ( ok ) { |
2556 | if ( wid != QApplication::desktop()->width() ) { | 2557 | if ( wid != QApplication::desktop()->width() ) { |
2557 | qDebug("KA/Pi: Request from different desktop geometry. Resizing ..."); | 2558 | qDebug("KA/Pi: Request from different desktop geometry. Resizing ..."); |
2558 | message( i18n("Resizing, please wait...") ); | 2559 | message( i18n("Resizing, please wait...") ); |
2559 | mMainWindow->showMinimized(); | 2560 | mMainWindow->showMinimized(); |
2560 | /* | 2561 | /* |
2561 | { | 2562 | { |
2562 | QCopEnvelope e("QPE/Application/kapi", "callContactdialog()"); | 2563 | QCopEnvelope e("QPE/Application/kapi", "callContactdialog()"); |
2563 | } | 2564 | } |
2564 | */ | 2565 | */ |
2565 | QTimer::singleShot( 1,this, SLOT ( resizeAndCallContactdialog() ) ); | 2566 | QTimer::singleShot( 1,this, SLOT ( resizeAndCallContactdialog() ) ); |
2566 | return; | 2567 | return; |
2567 | } | 2568 | } |
2568 | 2569 | ||
2569 | } else { | 2570 | } else { |
2570 | qDebug("KABCore::requestForNameEmailUidList:: Got invalid uid "); | 2571 | qDebug("KABCore::requestForNameEmailUidList:: Got invalid uid "); |
2571 | } | 2572 | } |
2572 | callContactdialog(); | 2573 | callContactdialog(); |
2573 | //QCopEnvelope e("QPE/Application/kapi", "callContactdialog()"); | 2574 | //QCopEnvelope e("QPE/Application/kapi", "callContactdialog()"); |
2574 | #endif | 2575 | #endif |
2575 | } | 2576 | } |
2576 | void KABCore::resizeAndCallContactdialog() | 2577 | void KABCore::resizeAndCallContactdialog() |
2577 | { | 2578 | { |
2578 | updateMainWindow(); | 2579 | updateMainWindow(); |
2579 | QTimer::singleShot( 100,this, SLOT ( callContactdialog() ) ); | 2580 | QTimer::singleShot( 10,this, SLOT ( callContactdialog() ) ); |
2580 | } | 2581 | } |
2581 | 2582 | ||
2582 | void KABCore::callContactdialog() | 2583 | void KABCore::callContactdialog() |
2583 | { | 2584 | { |
2584 | QStringList nameList; | 2585 | static bool running = false; |
2586 | if (running) return; | ||
2587 | running = true; | ||
2588 | QStringList nameList; | ||
2585 | QStringList emailList; | 2589 | QStringList emailList; |
2586 | QStringList uidList; | 2590 | QStringList uidList; |
2587 | qDebug(" KABCore::callContactdialog:DESKTOP WIDTH %d ", QApplication::desktop()->width() ); | 2591 | qDebug(" KABCore::callContactdialog:DESKTOP WIDTH %d ", QApplication::desktop()->width() ); |
2588 | KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this); | 2592 | KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this); |
2589 | uint i=0; | 2593 | uint i=0; |
2590 | for (i=0; i < list.count(); i++) | 2594 | for (i=0; i < list.count(); i++) |
2591 | { | 2595 | { |
2592 | nameList.append(list[i].realName()); | 2596 | nameList.append(list[i].realName()); |
2593 | emailList.append(list[i].preferredEmail()); | 2597 | emailList.append(list[i].preferredEmail()); |
2594 | uidList.append(list[i].uid()); | 2598 | uidList.append(list[i].uid()); |
2595 | } | 2599 | } |
2596 | QString uid = mEmailSourceUID; | 2600 | QString uid = mEmailSourceUID; |
2597 | //qDebug("%s %s ", sourceChannel.latin1(), uid.latin1()); | 2601 | //qDebug("%s %s ", sourceChannel.latin1(), uid.latin1()); |
2598 | bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI(mEmailSourceChannel, uid, nameList, emailList, uidList); | 2602 | bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI(mEmailSourceChannel, uid, nameList, emailList, uidList); |
2599 | 2603 | running = false; | |
2600 | } | 2604 | } |
2601 | /* this method will be called through the QCop interface from Ko/Pi to select birthdays | 2605 | /* this method will be called through the QCop interface from Ko/Pi to select birthdays |
2602 | * to put them into the calendar. | 2606 | * to put them into the calendar. |
2603 | */ | 2607 | */ |
2604 | void KABCore::requestForBirthdayList(const QString& sourceChannel, const QString& uid) | 2608 | void KABCore::requestForBirthdayList(const QString& sourceChannel, const QString& uid) |
2605 | { | 2609 | { |
2606 | // qDebug("KABCore::requestForBirthdayList"); | 2610 | // qDebug("KABCore::requestForBirthdayList"); |
2607 | QStringList birthdayList; | 2611 | QStringList birthdayList; |
2608 | QStringList anniversaryList; | 2612 | QStringList anniversaryList; |
2609 | QStringList realNameList; | 2613 | QStringList realNameList; |
2610 | QStringList preferredEmailList; | 2614 | QStringList preferredEmailList; |
2611 | QStringList assembledNameList; | 2615 | QStringList assembledNameList; |
2612 | QStringList uidList; | 2616 | QStringList uidList; |
2613 | 2617 | ||
2614 | KABC::AddressBook::Iterator it; | 2618 | KABC::AddressBook::Iterator it; |
2615 | 2619 | ||