summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/WhatsNew.txt2
-rw-r--r--kabc/addresseedialog.cpp7
-rw-r--r--kaddressbook/kabcore.cpp14
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,33 +1,35 @@
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.1.10 ************ 3********** VERSION 2.1.10 ************
4 4
5KO/Pi: 5KO/Pi:
6Importing Birthdays will now create another file resource "Birthdays" and import the birthday data from KA/Pi into that file. 6Importing Birthdays will now create another file resource "Birthdays" and import the birthday data from KA/Pi into that file.
7When a multidayevent is selected in monthview all occurences of this event in the monthview are now hightlighted.
7 8
8KA/Pi: 9KA/Pi:
9Fixed two problems in csv export. 10Fixed two problems in csv export.
11Fixed 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
13KO/Pi: 15KO/Pi:
14Fixed some problems of the new search options in the search dialog. 16Fixed some problems of the new search options in the search dialog.
15Fixed some problems in the new resource config options. 17Fixed some problems in the new resource config options.
16Changed 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. 18Changed 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.
17Fixed a problem creating new events in the agenda view if at the day/time is already an agenda item shown: 19Fixed a problem creating new events in the agenda view if at the day/time is already an agenda item shown:
18Now 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. 20Now 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
20Fixed a problem in recurrence range in syncing with DTM. 22Fixed a problem in recurrence range in syncing with DTM.
21 23
22KA/Pi: 24KA/Pi:
23Made it posiible to show in the contact overview the details of all data available for that contact( e.g. office, spouse, children, nickname ...) 25Made 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
25PwM/Pi: 27PwM/Pi:
26Added "sec" to the timeout config settings to make it clear the timeout values are seconds. 28Added "sec" to the timeout config settings to make it clear the timeout values are seconds.
27 29
28********** VERSION 2.1.8 ************ 30********** VERSION 2.1.8 ************
29 31
30KO/Pi: 32KO/Pi:
31Added info about the completion state of a todo in the ListView/Searchdialog. 33Added info about the completion state of a todo in the ListView/Searchdialog.
32If in TodoView is selected "do not show compledted todos" then completed todos are not shown in the ListView as well. 34If in TodoView is selected "do not show compledted todos" then completed todos are not shown in the ListView as well.
33Fixed some updating problems when changing the filter. 35Fixed some updating problems when changing the filter.
diff --git a/kabc/addresseedialog.cpp b/kabc/addresseedialog.cpp
index 9197850..0cf75a0 100644
--- a/kabc/addresseedialog.cpp
+++ b/kabc/addresseedialog.cpp
@@ -42,48 +42,49 @@ AddresseeItem::AddresseeItem( QListView *parent, const Addressee &addressee ) :
42 QListViewItem( parent ), 42 QListViewItem( parent ),
43 mAddressee( addressee ) 43 mAddressee( addressee )
44{ 44{
45 setText( Name,addressee.realName()); 45 setText( Name,addressee.realName());
46 setText( Email, addressee.preferredEmail() ); 46 setText( Email, addressee.preferredEmail() );
47 setText( Category, addressee.categories().join(";") ); 47 setText( Category, addressee.categories().join(";") );
48} 48}
49 49
50QString AddresseeItem::key( int column, bool ) const 50QString 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
61AddresseeDialog::AddresseeDialog( QWidget *parent, bool multiple ) : 61AddresseeDialog::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 );
82 mAddresseeList->addColumn( i18n("Name") ); 83 mAddresseeList->addColumn( i18n("Name") );
83 mAddresseeList->addColumn( i18n("Email") ); 84 mAddresseeList->addColumn( i18n("Email") );
84 mAddresseeList->addColumn( i18n("Category") ); 85 mAddresseeList->addColumn( i18n("Category") );
85 mAddresseeList->setAllColumnsShowFocus( true ); 86 mAddresseeList->setAllColumnsShowFocus( true );
86 mAddresseeList->setFullWidth( true ); 87 mAddresseeList->setFullWidth( true );
87 listLayout->addWidget( mAddresseeList ); 88 listLayout->addWidget( mAddresseeList );
88 connect( mAddresseeList, SIGNAL( doubleClicked( QListViewItem * ) ), 89 connect( mAddresseeList, SIGNAL( doubleClicked( QListViewItem * ) ),
89 SLOT( slotOk() ) ); 90 SLOT( slotOk() ) );
@@ -303,61 +304,65 @@ Addressee AddresseeDialog::getAddressee( QWidget *parent )
303 geoH = dlg->height(); 304 geoH = dlg->height();
304 } else { 305 } else {
305 dlg->show(); 306 dlg->show();
306 dlg->setGeometry(geoX , geoY,geoW , geoH ); 307 dlg->setGeometry(geoX , geoY,geoW , geoH );
307 308
308 } 309 }
309#endif 310#endif
310 int result = dlg->exec(); 311 int result = dlg->exec();
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
325Addressee::List AddresseeDialog::getAddressees( QWidget *parent ) 326Addressee::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
360void AddresseeDialog::addressBookChanged() 365void 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
@@ -2523,101 +2523,105 @@ void KABCore::configureKeyBindings()
2523#ifndef KAB_EMBEDDED 2523#ifndef KAB_EMBEDDED
2524 KKeyDialog::configure( actionCollection(), true ); 2524 KKeyDialog::configure( actionCollection(), true );
2525#else //KAB_EMBEDDED 2525#else //KAB_EMBEDDED
2526 qDebug("KABCore::configureKeyBindings() not implemented"); 2526 qDebug("KABCore::configureKeyBindings() not implemented");
2527#endif //KAB_EMBEDDED 2527#endif //KAB_EMBEDDED
2528} 2528}
2529 2529
2530#ifdef KAB_EMBEDDED 2530#ifdef KAB_EMBEDDED
2531void KABCore::configureResources() 2531void 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 */
2545void KABCore::requestForNameEmailUidList(const QString& sourceChannel, const QString& uid) 2545void 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}
2576void KABCore::resizeAndCallContactdialog() 2577void 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
2582void KABCore::callContactdialog() 2583void 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 */
2604void KABCore::requestForBirthdayList(const QString& sourceChannel, const QString& uid) 2608void 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
2616 int count = 0; 2620 int count = 0;
2617 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { 2621 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
2618 ++count; 2622 ++count;
2619 } 2623 }
2620 QProgressBar bar(count,0 ); 2624 QProgressBar bar(count,0 );
2621 int w = 300; 2625 int w = 300;
2622 if ( QApplication::desktop()->width() < 320 ) 2626 if ( QApplication::desktop()->width() < 320 )
2623 w = 220; 2627 w = 220;