-rw-r--r-- | kaddressbook/kabcore.cpp | 22 | ||||
-rw-r--r-- | kaddressbook/views/kaddressbooktableview.cpp | 4 |
2 files changed, 19 insertions, 7 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index af12f2b..4e2523e 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp | |||
@@ -567,97 +567,97 @@ void KABCore::restoreSettings() | |||
567 | mMiniSplitter->setSizes( splitterSize ); | 567 | mMiniSplitter->setSizes( splitterSize ); |
568 | if ( mExtensionBarSplitter ) { | 568 | if ( mExtensionBarSplitter ) { |
569 | //splitterSize = KABPrefs::instance()->mExtensionsSplitter; | 569 | //splitterSize = KABPrefs::instance()->mExtensionsSplitter; |
570 | if ( true /*splitterSize.count() == 0*/ ) { | 570 | if ( true /*splitterSize.count() == 0*/ ) { |
571 | splitterSize.append( wid / 2 ); | 571 | splitterSize.append( wid / 2 ); |
572 | splitterSize.append( wid / 2 ); | 572 | splitterSize.append( wid / 2 ); |
573 | } | 573 | } |
574 | mExtensionBarSplitter->setSizes( splitterSize ); | 574 | mExtensionBarSplitter->setSizes( splitterSize ); |
575 | 575 | ||
576 | } | 576 | } |
577 | #ifdef DESKTOP_VERSION | 577 | #ifdef DESKTOP_VERSION |
578 | KConfig *config = KABPrefs::instance()->getConfig(); | 578 | KConfig *config = KABPrefs::instance()->getConfig(); |
579 | config->setGroup("WidgetLayout"); | 579 | config->setGroup("WidgetLayout"); |
580 | QStringList list; | 580 | QStringList list; |
581 | list = config->readListEntry("MainLayout"); | 581 | list = config->readListEntry("MainLayout"); |
582 | int x,y,w,h; | 582 | int x,y,w,h; |
583 | if ( ! list.isEmpty() ) { | 583 | if ( ! list.isEmpty() ) { |
584 | x = list[0].toInt(); | 584 | x = list[0].toInt(); |
585 | y = list[1].toInt(); | 585 | y = list[1].toInt(); |
586 | w = list[2].toInt(); | 586 | w = list[2].toInt(); |
587 | h = list[3].toInt(); | 587 | h = list[3].toInt(); |
588 | KApplication::testCoords( &x,&y,&w,&h ); | 588 | KApplication::testCoords( &x,&y,&w,&h ); |
589 | topLevelWidget()->setGeometry(x,y,w,h); | 589 | topLevelWidget()->setGeometry(x,y,w,h); |
590 | 590 | ||
591 | } else { | 591 | } else { |
592 | topLevelWidget()->setGeometry( 40 ,40 , 640, 440); | 592 | topLevelWidget()->setGeometry( 40 ,40 , 640, 440); |
593 | } | 593 | } |
594 | #endif | 594 | #endif |
595 | } | 595 | } |
596 | 596 | ||
597 | void KABCore::saveSettings() | 597 | void KABCore::saveSettings() |
598 | { | 598 | { |
599 | KABPrefs::instance()->mJumpButtonBarVisible = mActionJumpBar->isChecked(); | 599 | KABPrefs::instance()->mJumpButtonBarVisible = mActionJumpBar->isChecked(); |
600 | if ( mExtensionBarSplitter ) | 600 | if ( mExtensionBarSplitter ) |
601 | KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes(); | 601 | KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes(); |
602 | KABPrefs::instance()->mDetailsPageVisible = mActionDetails->isChecked(); | 602 | KABPrefs::instance()->mDetailsPageVisible = mActionDetails->isChecked(); |
603 | KABPrefs::instance()->mDetailsSplitter = mMiniSplitter->sizes(); | 603 | KABPrefs::instance()->mDetailsSplitter = mMiniSplitter->sizes(); |
604 | #ifndef KAB_EMBEDDED | 604 | #ifndef KAB_EMBEDDED |
605 | 605 | ||
606 | KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes(); | 606 | KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes(); |
607 | KABPrefs::instance()->mDetailsSplitter = mDetailsSplitter->sizes(); | 607 | KABPrefs::instance()->mDetailsSplitter = mDetailsSplitter->sizes(); |
608 | #endif //KAB_EMBEDDED | 608 | #endif //KAB_EMBEDDED |
609 | mExtensionManager->saveSettings(); | 609 | mExtensionManager->saveSettings(); |
610 | mViewManager->saveSettings(); | 610 | mViewManager->saveSettings(); |
611 | 611 | ||
612 | KABPrefs::instance()->mCurrentIncSearchField = mIncSearchWidget->currentItem(); | 612 | KABPrefs::instance()->mCurrentIncSearchField = mIncSearchWidget->currentItem(); |
613 | 613 | ||
614 | KABPrefs::instance()->writeConfig(); | 614 | KABPrefs::instance()->writeConfig(); |
615 | qDebug("KA: KABCore::saveSettings() "); | 615 | //qDebug("KA: KABCore::saveSettings() "); |
616 | } | 616 | } |
617 | 617 | ||
618 | KABC::AddressBook *KABCore::addressBook() const | 618 | KABC::AddressBook *KABCore::addressBook() const |
619 | { | 619 | { |
620 | return mAddressBook; | 620 | return mAddressBook; |
621 | } | 621 | } |
622 | 622 | ||
623 | KConfig *KABCore::config() | 623 | KConfig *KABCore::config() |
624 | { | 624 | { |
625 | #ifndef KAB_EMBEDDED | 625 | #ifndef KAB_EMBEDDED |
626 | return KABPrefs::instance()->config(); | 626 | return KABPrefs::instance()->config(); |
627 | #else //KAB_EMBEDDED | 627 | #else //KAB_EMBEDDED |
628 | return KABPrefs::instance()->getConfig(); | 628 | return KABPrefs::instance()->getConfig(); |
629 | #endif //KAB_EMBEDDED | 629 | #endif //KAB_EMBEDDED |
630 | } | 630 | } |
631 | 631 | ||
632 | KActionCollection *KABCore::actionCollection() const | 632 | KActionCollection *KABCore::actionCollection() const |
633 | { | 633 | { |
634 | return mGUIClient->actionCollection(); | 634 | return mGUIClient->actionCollection(); |
635 | } | 635 | } |
636 | 636 | ||
637 | KABC::Field *KABCore::currentSearchField() const | 637 | KABC::Field *KABCore::currentSearchField() const |
638 | { | 638 | { |
639 | if (mIncSearchWidget) | 639 | if (mIncSearchWidget) |
640 | return mIncSearchWidget->currentField(); | 640 | return mIncSearchWidget->currentField(); |
641 | else | 641 | else |
642 | return 0; | 642 | return 0; |
643 | } | 643 | } |
644 | 644 | ||
645 | QStringList KABCore::selectedUIDs() const | 645 | QStringList KABCore::selectedUIDs() const |
646 | { | 646 | { |
647 | return mViewManager->selectedUids(); | 647 | return mViewManager->selectedUids(); |
648 | } | 648 | } |
649 | 649 | ||
650 | KABC::Resource *KABCore::requestResource( QWidget *parent ) | 650 | KABC::Resource *KABCore::requestResource( QWidget *parent ) |
651 | { | 651 | { |
652 | QPtrList<KABC::Resource> kabcResources = addressBook()->resources(); | 652 | QPtrList<KABC::Resource> kabcResources = addressBook()->resources(); |
653 | 653 | ||
654 | QPtrList<KRES::Resource> kresResources; | 654 | QPtrList<KRES::Resource> kresResources; |
655 | QPtrListIterator<KABC::Resource> resIt( kabcResources ); | 655 | QPtrListIterator<KABC::Resource> resIt( kabcResources ); |
656 | KABC::Resource *resource; | 656 | KABC::Resource *resource; |
657 | while ( ( resource = resIt.current() ) != 0 ) { | 657 | while ( ( resource = resIt.current() ) != 0 ) { |
658 | ++resIt; | 658 | ++resIt; |
659 | if ( !resource->readOnly() ) { | 659 | if ( !resource->readOnly() ) { |
660 | KRES::Resource *res = static_cast<KRES::Resource*>( resource ); | 660 | KRES::Resource *res = static_cast<KRES::Resource*>( resource ); |
661 | if ( res ) | 661 | if ( res ) |
662 | kresResources.append( res ); | 662 | kresResources.append( res ); |
663 | } | 663 | } |
@@ -799,138 +799,148 @@ void KABCore::mailVCard( const QStringList& uids ) | |||
799 | QString vcard; | 799 | QString vcard; |
800 | 800 | ||
801 | converter.addresseeToVCard( a, vcard ); | 801 | converter.addresseeToVCard( a, vcard ); |
802 | 802 | ||
803 | QTextStream t( &outFile ); // use a text stream | 803 | QTextStream t( &outFile ); // use a text stream |
804 | t.setEncoding( QTextStream::UnicodeUTF8 ); | 804 | t.setEncoding( QTextStream::UnicodeUTF8 ); |
805 | t << vcard; | 805 | t << vcard; |
806 | 806 | ||
807 | outFile.close(); | 807 | outFile.close(); |
808 | 808 | ||
809 | urls.append( fileName ); | 809 | urls.append( fileName ); |
810 | } | 810 | } |
811 | } | 811 | } |
812 | 812 | ||
813 | bool result = ExternalAppHandler::instance()->mailToMultipleContacts( QString::null, urls.join(", ") ); | 813 | bool result = ExternalAppHandler::instance()->mailToMultipleContacts( QString::null, urls.join(", ") ); |
814 | 814 | ||
815 | 815 | ||
816 | /*US | 816 | /*US |
817 | kapp->invokeMailer( QString::null, QString::null, QString::null, | 817 | kapp->invokeMailer( QString::null, QString::null, QString::null, |
818 | QString::null, // subject | 818 | QString::null, // subject |
819 | QString::null, // body | 819 | QString::null, // body |
820 | QString::null, | 820 | QString::null, |
821 | urls ); // attachments | 821 | urls ); // attachments |
822 | */ | 822 | */ |
823 | 823 | ||
824 | } | 824 | } |
825 | 825 | ||
826 | /** | 826 | /** |
827 | Beams the "WhoAmI contact. | 827 | Beams the "WhoAmI contact. |
828 | */ | 828 | */ |
829 | void KABCore::beamMySelf() | 829 | void KABCore::beamMySelf() |
830 | { | 830 | { |
831 | KABC::Addressee a = KABC::StdAddressBook::self()->whoAmI(); | 831 | KABC::Addressee a = KABC::StdAddressBook::self()->whoAmI(); |
832 | if (!a.isEmpty()) | 832 | if (!a.isEmpty()) |
833 | { | 833 | { |
834 | QStringList uids; | 834 | QStringList uids; |
835 | uids << a.uid(); | 835 | uids << a.uid(); |
836 | 836 | ||
837 | beamVCard(uids); | 837 | beamVCard(uids); |
838 | } else { | 838 | } else { |
839 | KMessageBox::information( this, i18n( "Your personal contact is\nnot set! Please select it\nand set it with menu:\nSettings - Set Who Am I\n" ) ); | 839 | KMessageBox::information( this, i18n( "Your personal contact is\nnot set! Please select it\nand set it with menu:\nSettings - Set Who Am I\n" ) ); |
840 | 840 | ||
841 | 841 | ||
842 | } | 842 | } |
843 | } | 843 | } |
844 | void KABCore::updateMainWindow() | 844 | void KABCore::updateMainWindow() |
845 | { | 845 | { |
846 | mMainWindow->showMaximized(); | 846 | mMainWindow->showMaximized(); |
847 | mMainWindow->update(); | 847 | //mMainWindow->repaint(); |
848 | } | 848 | } |
849 | void KABCore::resizeEvent(QResizeEvent* e ) | 849 | void KABCore::resizeEvent(QResizeEvent* e ) |
850 | { | 850 | { |
851 | if ( !mMiniSplitter ) | 851 | if ( !mMiniSplitter ) |
852 | return; | 852 | return; |
853 | //qDebug("KABCore::resizeEvent(QResizeEvent* e ) "); | 853 | static int desktop_width = 0; |
854 | if ( e->oldSize().width() != e->size().width() ) | 854 | //qDebug("KABCore::resizeEvent %d %d ",desktop_width,QApplication::desktop()->width() ); |
855 | if ( desktop_width != QApplication::desktop()->width() ) | ||
855 | if ( QApplication::desktop()->width() >= 480 ) { | 856 | if ( QApplication::desktop()->width() >= 480 ) { |
856 | if (QApplication::desktop()->width() == 640 ) { // e.g. 640x480 | 857 | if (QApplication::desktop()->width() == 640 ) { // e.g. 640x480 |
858 | //qDebug("640 "); | ||
857 | if ( mMiniSplitter->orientation() == Qt::Vertical ) { | 859 | if ( mMiniSplitter->orientation() == Qt::Vertical ) { |
860 | //qDebug("switch V->H "); | ||
858 | mMiniSplitter->setOrientation( Qt::Horizontal); | 861 | mMiniSplitter->setOrientation( Qt::Horizontal); |
859 | mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); | 862 | mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); |
860 | } | 863 | } |
861 | if ( QApplication::desktop()->width() <= 640 ) { | 864 | if ( QApplication::desktop()->width() <= 640 ) { |
865 | bool shot = mMainWindow->isVisible(); | ||
862 | mMainWindow->showMinimized(); | 866 | mMainWindow->showMinimized(); |
863 | //mMainWindow->setMaximumSize( QApplication::desktop()->size() ); | 867 | //mMainWindow->setMaximumSize( QApplication::desktop()->size() ); |
864 | mViewManager->getFilterAction()->setComboWidth( 150 ); | 868 | mViewManager->getFilterAction()->setComboWidth( 150 ); |
865 | if ( mIncSearchWidget ) | 869 | if ( mIncSearchWidget ) |
866 | mIncSearchWidget->setSize(); | 870 | mIncSearchWidget->setSize(); |
867 | QTimer::singleShot( 1, this , SLOT ( updateMainWindow())); | 871 | if ( shot ) |
872 | QTimer::singleShot( 1, this , SLOT ( updateMainWindow())); | ||
868 | } | 873 | } |
869 | 874 | ||
870 | } else if (QApplication::desktop()->width() == 480 ){// e.g. 480x640 | 875 | } else if (QApplication::desktop()->width() == 480 ){// e.g. 480x640 |
876 | //qDebug("480 "); | ||
871 | if ( mMiniSplitter->orientation() == Qt::Horizontal ) { | 877 | if ( mMiniSplitter->orientation() == Qt::Horizontal ) { |
878 | //qDebug("switch H->V "); | ||
872 | mMiniSplitter->setOrientation( Qt::Vertical ); | 879 | mMiniSplitter->setOrientation( Qt::Vertical ); |
873 | mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down ); | 880 | mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down ); |
874 | } | 881 | } |
875 | if ( QApplication::desktop()->width() <= 640 ) { | 882 | if ( QApplication::desktop()->width() <= 640 ) { |
876 | //mMainWindow->setMaximumSize( QApplication::desktop()->size() ); | 883 | //mMainWindow->setMaximumSize( QApplication::desktop()->size() ); |
884 | bool shot = mMainWindow->isVisible(); | ||
877 | mMainWindow->showMinimized(); | 885 | mMainWindow->showMinimized(); |
878 | if ( KABPrefs::instance()->mHideSearchOnSwitch ) { | 886 | if ( KABPrefs::instance()->mHideSearchOnSwitch ) { |
879 | if ( mIncSearchWidget ) { | 887 | if ( mIncSearchWidget ) { |
880 | mIncSearchWidget->setSize(); | 888 | mIncSearchWidget->setSize(); |
881 | } | 889 | } |
882 | } else { | 890 | } else { |
883 | mViewManager->getFilterAction()->setComboWidth( 0 ); | 891 | mViewManager->getFilterAction()->setComboWidth( 0 ); |
884 | } | 892 | } |
885 | QTimer::singleShot( 1, this , SLOT ( updateMainWindow())); | 893 | if ( shot ) |
894 | QTimer::singleShot( 1, this , SLOT ( updateMainWindow())); | ||
886 | } | 895 | } |
887 | } | 896 | } |
888 | } | 897 | } |
898 | desktop_width = QApplication::desktop()->width(); | ||
889 | QWidget::resizeEvent( e ); | 899 | QWidget::resizeEvent( e ); |
890 | 900 | ||
891 | } | 901 | } |
892 | void KABCore::export2phone() | 902 | void KABCore::export2phone() |
893 | { | 903 | { |
894 | 904 | ||
895 | QStringList uids; | 905 | QStringList uids; |
896 | XXPortSelectDialog dlg( this, false, this ); | 906 | XXPortSelectDialog dlg( this, false, this ); |
897 | if ( dlg.exec() ) | 907 | if ( dlg.exec() ) |
898 | uids = dlg.uids(); | 908 | uids = dlg.uids(); |
899 | else | 909 | else |
900 | return; | 910 | return; |
901 | if ( uids.isEmpty() ) | 911 | if ( uids.isEmpty() ) |
902 | return; | 912 | return; |
903 | // qDebug("count %d ", uids.count()); | 913 | // qDebug("count %d ", uids.count()); |
904 | 914 | ||
905 | KAex2phonePrefs ex2phone; | 915 | KAex2phonePrefs ex2phone; |
906 | ex2phone.mPhoneConnection->setText( KPimGlobalPrefs::instance()->mEx2PhoneConnection ); | 916 | ex2phone.mPhoneConnection->setText( KPimGlobalPrefs::instance()->mEx2PhoneConnection ); |
907 | ex2phone.mPhoneDevice->setText( KPimGlobalPrefs::instance()->mEx2PhoneDevice ); | 917 | ex2phone.mPhoneDevice->setText( KPimGlobalPrefs::instance()->mEx2PhoneDevice ); |
908 | ex2phone.mPhoneModel->setText( KPimGlobalPrefs::instance()->mEx2PhoneModel ); | 918 | ex2phone.mPhoneModel->setText( KPimGlobalPrefs::instance()->mEx2PhoneModel ); |
909 | 919 | ||
910 | if ( !ex2phone.exec() ) { | 920 | if ( !ex2phone.exec() ) { |
911 | return; | 921 | return; |
912 | } | 922 | } |
913 | KPimGlobalPrefs::instance()->mEx2PhoneConnection = ex2phone.mPhoneConnection->text(); | 923 | KPimGlobalPrefs::instance()->mEx2PhoneConnection = ex2phone.mPhoneConnection->text(); |
914 | KPimGlobalPrefs::instance()->mEx2PhoneDevice = ex2phone.mPhoneDevice->text(); | 924 | KPimGlobalPrefs::instance()->mEx2PhoneDevice = ex2phone.mPhoneDevice->text(); |
915 | KPimGlobalPrefs::instance()->mEx2PhoneModel = ex2phone.mPhoneModel->text(); | 925 | KPimGlobalPrefs::instance()->mEx2PhoneModel = ex2phone.mPhoneModel->text(); |
916 | 926 | ||
917 | 927 | ||
918 | PhoneAccess::writeConfig( KPimGlobalPrefs::instance()->mEx2PhoneDevice, | 928 | PhoneAccess::writeConfig( KPimGlobalPrefs::instance()->mEx2PhoneDevice, |
919 | KPimGlobalPrefs::instance()->mEx2PhoneConnection, | 929 | KPimGlobalPrefs::instance()->mEx2PhoneConnection, |
920 | KPimGlobalPrefs::instance()->mEx2PhoneModel ); | 930 | KPimGlobalPrefs::instance()->mEx2PhoneModel ); |
921 | 931 | ||
922 | QString fileName = getPhoneFile(); | 932 | QString fileName = getPhoneFile(); |
923 | if ( ! mAddressBook->export2PhoneFormat( uids ,fileName ) ) | 933 | if ( ! mAddressBook->export2PhoneFormat( uids ,fileName ) ) |
924 | return; | 934 | return; |
925 | 935 | ||
926 | message(i18n("Exporting to phone...")); | 936 | message(i18n("Exporting to phone...")); |
927 | QTimer::singleShot( 1, this , SLOT ( writeToPhone())); | 937 | QTimer::singleShot( 1, this , SLOT ( writeToPhone())); |
928 | 938 | ||
929 | } | 939 | } |
930 | QString KABCore::getPhoneFile() | 940 | QString KABCore::getPhoneFile() |
931 | { | 941 | { |
932 | #ifdef DESKTOP_VERSION | 942 | #ifdef DESKTOP_VERSION |
933 | return locateLocal("tmp", "phonefile.vcf"); | 943 | return locateLocal("tmp", "phonefile.vcf"); |
934 | #else | 944 | #else |
935 | return "/tmp/phonefile.vcf"; | 945 | return "/tmp/phonefile.vcf"; |
936 | #endif | 946 | #endif |
diff --git a/kaddressbook/views/kaddressbooktableview.cpp b/kaddressbook/views/kaddressbooktableview.cpp index 02fc40a..272f2eb 100644 --- a/kaddressbook/views/kaddressbooktableview.cpp +++ b/kaddressbook/views/kaddressbooktableview.cpp | |||
@@ -289,100 +289,102 @@ void KAddressBookTableView::readConfig(KConfig *config) | |||
289 | // Restore the layout of the listview | 289 | // Restore the layout of the listview |
290 | mListView->restoreLayout(config, config->group()); | 290 | mListView->restoreLayout(config, config->group()); |
291 | } | 291 | } |
292 | 292 | ||
293 | void KAddressBookTableView::refresh(QString uid) | 293 | void KAddressBookTableView::refresh(QString uid) |
294 | { | 294 | { |
295 | // For now just repopulate. In reality this method should | 295 | // For now just repopulate. In reality this method should |
296 | // check the value of uid, and if valid iterate through | 296 | // check the value of uid, and if valid iterate through |
297 | // the listview to find the entry, then tell it to refresh. | 297 | // the listview to find the entry, then tell it to refresh. |
298 | 298 | ||
299 | if (uid.isNull()) { | 299 | if (uid.isNull()) { |
300 | // Clear the list view | 300 | // Clear the list view |
301 | QString currentUID, nextUID; | 301 | QString currentUID, nextUID; |
302 | #ifndef KAB_EMBEDDED | 302 | #ifndef KAB_EMBEDDED |
303 | ContactListViewItem *currentItem = dynamic_cast<ContactListViewItem*>( mListView->currentItem() ); | 303 | ContactListViewItem *currentItem = dynamic_cast<ContactListViewItem*>( mListView->currentItem() ); |
304 | #else //KAB_EMBEDDED | 304 | #else //KAB_EMBEDDED |
305 | ContactListViewItem *currentItem = (ContactListViewItem*)( mListView->currentItem() ); | 305 | ContactListViewItem *currentItem = (ContactListViewItem*)( mListView->currentItem() ); |
306 | #endif //KAB_EMBEDDED | 306 | #endif //KAB_EMBEDDED |
307 | 307 | ||
308 | if ( currentItem ) { | 308 | if ( currentItem ) { |
309 | #ifndef KAB_EMBEDDED | 309 | #ifndef KAB_EMBEDDED |
310 | ContactListViewItem *nextItem = dynamic_cast<ContactListViewItem*>( currentItem->itemBelow() ); | 310 | ContactListViewItem *nextItem = dynamic_cast<ContactListViewItem*>( currentItem->itemBelow() ); |
311 | #else //KAB_EMBEDDED | 311 | #else //KAB_EMBEDDED |
312 | ContactListViewItem *nextItem = (ContactListViewItem*)( currentItem->itemBelow() ); | 312 | ContactListViewItem *nextItem = (ContactListViewItem*)( currentItem->itemBelow() ); |
313 | #endif //KAB_EMBEDDED | 313 | #endif //KAB_EMBEDDED |
314 | if ( nextItem ) | 314 | if ( nextItem ) |
315 | nextUID = nextItem->addressee().uid(); | 315 | nextUID = nextItem->addressee().uid(); |
316 | currentUID = currentItem->addressee().uid(); | 316 | currentUID = currentItem->addressee().uid(); |
317 | } | 317 | } |
318 | 318 | ||
319 | mListView->clear(); | 319 | mListView->clear(); |
320 | 320 | ||
321 | currentItem = 0; | 321 | currentItem = 0; |
322 | KABC::Addressee::List addresseeList = addressees(); | 322 | KABC::Addressee::List addresseeList = addressees(); |
323 | KABC::Addressee::List::Iterator it; | 323 | KABC::Addressee::List::Iterator it; |
324 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { | 324 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { |
325 | if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") ) | 325 | if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") ) |
326 | continue; | 326 | continue; |
327 | ContactListViewItem *item = new ContactListViewItem(*it, mListView, addressBook(), fields()); | 327 | ContactListViewItem *item = new ContactListViewItem(*it, mListView, addressBook(), fields()); |
328 | if ( (*it).uid() == currentUID ) | 328 | if ( (*it).uid() == currentUID ) |
329 | currentItem = item; | 329 | currentItem = item; |
330 | else if ( (*it).uid() == nextUID && !currentItem ) | 330 | else if ( (*it).uid() == nextUID && !currentItem ) |
331 | currentItem = item; | 331 | currentItem = item; |
332 | } | 332 | } |
333 | 333 | ||
334 | // Sometimes the background pixmap gets messed up when we add lots | 334 | // Sometimes the background pixmap gets messed up when we add lots |
335 | // of items. | 335 | // of items. |
336 | mListView->repaint(); | 336 | mListView->repaint(); |
337 | 337 | if ( !currentItem ) | |
338 | currentItem = (ContactListViewItem *)mListView->firstChild(); | ||
338 | if ( currentItem ) { | 339 | if ( currentItem ) { |
339 | mListView->setCurrentItem( currentItem ); | 340 | mListView->setCurrentItem( currentItem ); |
340 | mListView->ensureItemVisible( currentItem ); | 341 | mListView->ensureItemVisible( currentItem ); |
342 | mListView->setSelected( currentItem, true ); | ||
341 | } | 343 | } |
342 | } else { | 344 | } else { |
343 | // Only need to update on entry. Iterate through and try to find it | 345 | // Only need to update on entry. Iterate through and try to find it |
344 | ContactListViewItem *ceItem; | 346 | ContactListViewItem *ceItem; |
345 | QListViewItemIterator it( mListView ); | 347 | QListViewItemIterator it( mListView ); |
346 | while ( it.current() ) { | 348 | while ( it.current() ) { |
347 | #ifndef KAB_EMBEDDED | 349 | #ifndef KAB_EMBEDDED |
348 | ceItem = dynamic_cast<ContactListViewItem*>( it.current() ); | 350 | ceItem = dynamic_cast<ContactListViewItem*>( it.current() ); |
349 | #else //KAB_EMBEDDED | 351 | #else //KAB_EMBEDDED |
350 | ceItem = (ContactListViewItem*)( it.current() ); | 352 | ceItem = (ContactListViewItem*)( it.current() ); |
351 | #endif //KAB_EMBEDDED | 353 | #endif //KAB_EMBEDDED |
352 | 354 | ||
353 | if ( ceItem && ceItem->addressee().uid() == uid ) { | 355 | if ( ceItem && ceItem->addressee().uid() == uid ) { |
354 | ceItem->refresh(); | 356 | ceItem->refresh(); |
355 | return; | 357 | return; |
356 | } | 358 | } |
357 | ++it; | 359 | ++it; |
358 | } | 360 | } |
359 | 361 | ||
360 | refresh( QString::null ); | 362 | refresh( QString::null ); |
361 | } | 363 | } |
362 | } | 364 | } |
363 | 365 | ||
364 | QStringList KAddressBookTableView::selectedUids() | 366 | QStringList KAddressBookTableView::selectedUids() |
365 | { | 367 | { |
366 | QStringList uidList; | 368 | QStringList uidList; |
367 | QListViewItem *item; | 369 | QListViewItem *item; |
368 | ContactListViewItem *ceItem; | 370 | ContactListViewItem *ceItem; |
369 | 371 | ||
370 | for(item = mListView->firstChild(); item; item = item->itemBelow()) | 372 | for(item = mListView->firstChild(); item; item = item->itemBelow()) |
371 | { | 373 | { |
372 | if (mListView->isSelected( item )) | 374 | if (mListView->isSelected( item )) |
373 | { | 375 | { |
374 | #ifndef KAB_EMBEDDED | 376 | #ifndef KAB_EMBEDDED |
375 | ceItem = dynamic_cast<ContactListViewItem*>(item); | 377 | ceItem = dynamic_cast<ContactListViewItem*>(item); |
376 | #else //KAB_EMBEDDED | 378 | #else //KAB_EMBEDDED |
377 | ceItem = (ContactListViewItem*)(item); | 379 | ceItem = (ContactListViewItem*)(item); |
378 | #endif //KAB_EMBEDDED | 380 | #endif //KAB_EMBEDDED |
379 | 381 | ||
380 | if (ceItem != 0L) | 382 | if (ceItem != 0L) |
381 | uidList << ceItem->addressee().uid(); | 383 | uidList << ceItem->addressee().uid(); |
382 | } | 384 | } |
383 | } | 385 | } |
384 | if ( uidList.count() == 0 ) | 386 | if ( uidList.count() == 0 ) |
385 | if ( mListView->currentItem() ) { | 387 | if ( mListView->currentItem() ) { |
386 | ceItem = (ContactListViewItem*)(mListView->currentItem()) ; | 388 | ceItem = (ContactListViewItem*)(mListView->currentItem()) ; |
387 | uidList << ceItem->addressee().uid(); | 389 | uidList << ceItem->addressee().uid(); |
388 | } | 390 | } |