summaryrefslogtreecommitdiffabout
path: root/kaddressbook
authorzautrix <zautrix>2004-07-04 12:40:46 (UTC)
committer zautrix <zautrix>2004-07-04 12:40:46 (UTC)
commitdeb87bff56cd9cbb41e352c2ccfa97be142d6e48 (patch) (unidiff)
treed711d6085e4143e1731da440732e823e69c092a3 /kaddressbook
parent4a947dbc08cc7640dda4f8a89ddb3c80ecc5f9ea (diff)
downloadkdepimpi-deb87bff56cd9cbb41e352c2ccfa97be142d6e48.zip
kdepimpi-deb87bff56cd9cbb41e352c2ccfa97be142d6e48.tar.gz
kdepimpi-deb87bff56cd9cbb41e352c2ccfa97be142d6e48.tar.bz2
Make sorting in KM working
Diffstat (limited to 'kaddressbook') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/kabcore.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index a6d722d..68d3d2d 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -628,979 +628,982 @@ void KABCore::setCategories()
628 628
629 QStringList uids = mViewManager->selectedUids(); 629 QStringList uids = mViewManager->selectedUids();
630 QStringList::Iterator it; 630 QStringList::Iterator it;
631 for ( it = uids.begin(); it != uids.end(); ++it ) { 631 for ( it = uids.begin(); it != uids.end(); ++it ) {
632 KABC::Addressee addr = mAddressBook->findByUid( *it ); 632 KABC::Addressee addr = mAddressBook->findByUid( *it );
633 if ( !addr.isEmpty() ) { 633 if ( !addr.isEmpty() ) {
634 if ( !merge ) 634 if ( !merge )
635 addr.setCategories( categories ); 635 addr.setCategories( categories );
636 else { 636 else {
637 QStringList addrCategories = addr.categories(); 637 QStringList addrCategories = addr.categories();
638 QStringList::Iterator catIt; 638 QStringList::Iterator catIt;
639 for ( catIt = categories.begin(); catIt != categories.end(); ++catIt ) { 639 for ( catIt = categories.begin(); catIt != categories.end(); ++catIt ) {
640 if ( !addrCategories.contains( *catIt ) ) 640 if ( !addrCategories.contains( *catIt ) )
641 addrCategories.append( *catIt ); 641 addrCategories.append( *catIt );
642 } 642 }
643 addr.setCategories( addrCategories ); 643 addr.setCategories( addrCategories );
644 } 644 }
645 645
646 mAddressBook->insertAddressee( addr ); 646 mAddressBook->insertAddressee( addr );
647 } 647 }
648 } 648 }
649 649
650 if ( uids.count() > 0 ) 650 if ( uids.count() > 0 )
651 setModified( true ); 651 setModified( true );
652} 652}
653 653
654void KABCore::setSearchFields( const KABC::Field::List &fields ) 654void KABCore::setSearchFields( const KABC::Field::List &fields )
655{ 655{
656 mIncSearchWidget->setFields( fields ); 656 mIncSearchWidget->setFields( fields );
657} 657}
658 658
659void KABCore::incrementalSearch( const QString& text ) 659void KABCore::incrementalSearch( const QString& text )
660{ 660{
661 mViewManager->setSelected( QString::null, false ); 661 mViewManager->setSelected( QString::null, false );
662 662
663 if ( !text.isEmpty() ) { 663 if ( !text.isEmpty() ) {
664 KABC::Field *field = mIncSearchWidget->currentField(); 664 KABC::Field *field = mIncSearchWidget->currentField();
665 665
666 QString pattern = text.lower(); 666 QString pattern = text.lower();
667 667
668#if KDE_VERSION >= 319 668#if KDE_VERSION >= 319
669 KABC::AddresseeList list( mAddressBook->allAddressees() ); 669 KABC::AddresseeList list( mAddressBook->allAddressees() );
670 if ( field ) { 670 if ( field ) {
671 list.sortByField( field ); 671 list.sortByField( field );
672 KABC::AddresseeList::Iterator it; 672 KABC::AddresseeList::Iterator it;
673 for ( it = list.begin(); it != list.end(); ++it ) { 673 for ( it = list.begin(); it != list.end(); ++it ) {
674 if ( field->value( *it ).lower().startsWith( pattern ) ) { 674 if ( field->value( *it ).lower().startsWith( pattern ) ) {
675 mViewManager->setSelected( (*it).uid(), true ); 675 mViewManager->setSelected( (*it).uid(), true );
676 return; 676 return;
677 } 677 }
678 } 678 }
679 } else { 679 } else {
680 KABC::AddresseeList::Iterator it; 680 KABC::AddresseeList::Iterator it;
681 for ( it = list.begin(); it != list.end(); ++it ) { 681 for ( it = list.begin(); it != list.end(); ++it ) {
682 KABC::Field::List fieldList = mIncSearchWidget->fields(); 682 KABC::Field::List fieldList = mIncSearchWidget->fields();
683 KABC::Field::List::ConstIterator fieldIt; 683 KABC::Field::List::ConstIterator fieldIt;
684 for ( fieldIt = fieldList.begin(); fieldIt != fieldList.end(); ++fieldIt ) { 684 for ( fieldIt = fieldList.begin(); fieldIt != fieldList.end(); ++fieldIt ) {
685 if ( (*fieldIt)->value( *it ).lower().startsWith( pattern ) ) { 685 if ( (*fieldIt)->value( *it ).lower().startsWith( pattern ) ) {
686 mViewManager->setSelected( (*it).uid(), true ); 686 mViewManager->setSelected( (*it).uid(), true );
687 return; 687 return;
688 } 688 }
689 } 689 }
690 } 690 }
691 } 691 }
692#else 692#else
693 KABC::AddressBook::Iterator it; 693 KABC::AddressBook::Iterator it;
694 for ( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { 694 for ( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
695 if ( field ) { 695 if ( field ) {
696 if ( field->value( *it ).lower().startsWith( pattern ) ) { 696 if ( field->value( *it ).lower().startsWith( pattern ) ) {
697 mViewManager->setSelected( (*it).uid(), true ); 697 mViewManager->setSelected( (*it).uid(), true );
698 return; 698 return;
699 } 699 }
700 } else { 700 } else {
701 KABC::Field::List fieldList = mIncSearchWidget->fields(); 701 KABC::Field::List fieldList = mIncSearchWidget->fields();
702 KABC::Field::List::ConstIterator fieldIt; 702 KABC::Field::List::ConstIterator fieldIt;
703 for ( fieldIt = fieldList.begin(); fieldIt != fieldList.end(); ++fieldIt ) { 703 for ( fieldIt = fieldList.begin(); fieldIt != fieldList.end(); ++fieldIt ) {
704 if ( (*fieldIt)->value( *it ).lower().startsWith( pattern ) ) { 704 if ( (*fieldIt)->value( *it ).lower().startsWith( pattern ) ) {
705 mViewManager->setSelected( (*it).uid(), true ); 705 mViewManager->setSelected( (*it).uid(), true );
706 return; 706 return;
707 } 707 }
708 } 708 }
709 } 709 }
710 } 710 }
711#endif 711#endif
712 } 712 }
713} 713}
714 714
715void KABCore::setModified() 715void KABCore::setModified()
716{ 716{
717 setModified( true ); 717 setModified( true );
718} 718}
719 719
720void KABCore::setModifiedWOrefresh() 720void KABCore::setModifiedWOrefresh()
721{ 721{
722 // qDebug("KABCore::setModifiedWOrefresh() "); 722 // qDebug("KABCore::setModifiedWOrefresh() ");
723 mModified = true; 723 mModified = true;
724 mActionSave->setEnabled( mModified ); 724 mActionSave->setEnabled( mModified );
725#ifdef DESKTOP_VERSION 725#ifdef DESKTOP_VERSION
726 mDetails->refreshView(); 726 mDetails->refreshView();
727#endif 727#endif
728 728
729} 729}
730void KABCore::setModified( bool modified ) 730void KABCore::setModified( bool modified )
731{ 731{
732 mModified = modified; 732 mModified = modified;
733 mActionSave->setEnabled( mModified ); 733 mActionSave->setEnabled( mModified );
734 734
735 if ( modified ) 735 if ( modified )
736 mJumpButtonBar->recreateButtons(); 736 mJumpButtonBar->recreateButtons();
737 737
738 mViewManager->refreshView(); 738 mViewManager->refreshView();
739 mDetails->refreshView(); 739 mDetails->refreshView();
740 740
741} 741}
742 742
743bool KABCore::modified() const 743bool KABCore::modified() const
744{ 744{
745 return mModified; 745 return mModified;
746} 746}
747 747
748void KABCore::contactModified( const KABC::Addressee &addr ) 748void KABCore::contactModified( const KABC::Addressee &addr )
749{ 749{
750 750
751 Command *command = 0; 751 Command *command = 0;
752 QString uid; 752 QString uid;
753 753
754 // check if it exists already 754 // check if it exists already
755 KABC::Addressee origAddr = mAddressBook->findByUid( addr.uid() ); 755 KABC::Addressee origAddr = mAddressBook->findByUid( addr.uid() );
756 if ( origAddr.isEmpty() ) 756 if ( origAddr.isEmpty() )
757 command = new PwNewCommand( mAddressBook, addr ); 757 command = new PwNewCommand( mAddressBook, addr );
758 else { 758 else {
759 command = new PwEditCommand( mAddressBook, origAddr, addr ); 759 command = new PwEditCommand( mAddressBook, origAddr, addr );
760 uid = addr.uid(); 760 uid = addr.uid();
761 } 761 }
762 762
763 UndoStack::instance()->push( command ); 763 UndoStack::instance()->push( command );
764 RedoStack::instance()->clear(); 764 RedoStack::instance()->clear();
765 765
766 setModified( true ); 766 setModified( true );
767} 767}
768 768
769void KABCore::newContact() 769void KABCore::newContact()
770{ 770{
771 AddresseeEditorDialog *dialog = 0; 771 AddresseeEditorDialog *dialog = 0;
772 772
773 QPtrList<KABC::Resource> kabcResources = mAddressBook->resources(); 773 QPtrList<KABC::Resource> kabcResources = mAddressBook->resources();
774 774
775 QPtrList<KRES::Resource> kresResources; 775 QPtrList<KRES::Resource> kresResources;
776 QPtrListIterator<KABC::Resource> it( kabcResources ); 776 QPtrListIterator<KABC::Resource> it( kabcResources );
777 KABC::Resource *resource; 777 KABC::Resource *resource;
778 while ( ( resource = it.current() ) != 0 ) { 778 while ( ( resource = it.current() ) != 0 ) {
779 ++it; 779 ++it;
780 if ( !resource->readOnly() ) { 780 if ( !resource->readOnly() ) {
781 KRES::Resource *res = static_cast<KRES::Resource*>( resource ); 781 KRES::Resource *res = static_cast<KRES::Resource*>( resource );
782 if ( res ) 782 if ( res )
783 kresResources.append( res ); 783 kresResources.append( res );
784 } 784 }
785 } 785 }
786 786
787 KRES::Resource *res = KRES::SelectDialog::getResource( kresResources, this ); 787 KRES::Resource *res = KRES::SelectDialog::getResource( kresResources, this );
788 resource = static_cast<KABC::Resource*>( res ); 788 resource = static_cast<KABC::Resource*>( res );
789 789
790 if ( resource ) { 790 if ( resource ) {
791 KABC::Addressee addr; 791 KABC::Addressee addr;
792 addr.setResource( resource ); 792 addr.setResource( resource );
793 dialog = createAddresseeEditorDialog( this ); 793 dialog = createAddresseeEditorDialog( this );
794 dialog->setAddressee( addr ); 794 dialog->setAddressee( addr );
795 795
796 } else 796 } else
797 return; 797 return;
798 798
799 mEditorDict.insert( dialog->addressee().uid(), dialog ); 799 mEditorDict.insert( dialog->addressee().uid(), dialog );
800 800
801 dialog->show(); 801 dialog->show();
802 802
803} 803}
804 804
805void KABCore::addEmail( QString aStr ) 805void KABCore::addEmail( QString aStr )
806{ 806{
807#ifndef KAB_EMBEDDED 807#ifndef KAB_EMBEDDED
808 QString fullName, email; 808 QString fullName, email;
809 809
810 KABC::Addressee::parseEmailAddress( aStr, fullName, email ); 810 KABC::Addressee::parseEmailAddress( aStr, fullName, email );
811 811
812 // Try to lookup the addressee matching the email address 812 // Try to lookup the addressee matching the email address
813 bool found = false; 813 bool found = false;
814 QStringList emailList; 814 QStringList emailList;
815 KABC::AddressBook::Iterator it; 815 KABC::AddressBook::Iterator it;
816 for ( it = mAddressBook->begin(); !found && (it != mAddressBook->end()); ++it ) { 816 for ( it = mAddressBook->begin(); !found && (it != mAddressBook->end()); ++it ) {
817 emailList = (*it).emails(); 817 emailList = (*it).emails();
818 if ( emailList.contains( email ) > 0 ) { 818 if ( emailList.contains( email ) > 0 ) {
819 found = true; 819 found = true;
820 (*it).setNameFromString( fullName ); 820 (*it).setNameFromString( fullName );
821 editContact( (*it).uid() ); 821 editContact( (*it).uid() );
822 } 822 }
823 } 823 }
824 824
825 if ( !found ) { 825 if ( !found ) {
826 KABC::Addressee addr; 826 KABC::Addressee addr;
827 addr.setNameFromString( fullName ); 827 addr.setNameFromString( fullName );
828 addr.insertEmail( email, true ); 828 addr.insertEmail( email, true );
829 829
830 mAddressBook->insertAddressee( addr ); 830 mAddressBook->insertAddressee( addr );
831 mViewManager->refreshView( addr.uid() ); 831 mViewManager->refreshView( addr.uid() );
832 editContact( addr.uid() ); 832 editContact( addr.uid() );
833 } 833 }
834#else //KAB_EMBEDDED 834#else //KAB_EMBEDDED
835 qDebug("KABCore::addEmail finsih method"); 835 qDebug("KABCore::addEmail finsih method");
836#endif //KAB_EMBEDDED 836#endif //KAB_EMBEDDED
837} 837}
838 838
839void KABCore::importVCard( const KURL &url, bool showPreview ) 839void KABCore::importVCard( const KURL &url, bool showPreview )
840{ 840{
841 mXXPortManager->importVCard( url, showPreview ); 841 mXXPortManager->importVCard( url, showPreview );
842} 842}
843 843
844void KABCore::importVCard( const QString &vCard, bool showPreview ) 844void KABCore::importVCard( const QString &vCard, bool showPreview )
845{ 845{
846 mXXPortManager->importVCard( vCard, showPreview ); 846 mXXPortManager->importVCard( vCard, showPreview );
847} 847}
848 848
849//US added a second method without defaultparameter 849//US added a second method without defaultparameter
850void KABCore::editContact2() { 850void KABCore::editContact2() {
851 editContact( QString::null ); 851 editContact( QString::null );
852} 852}
853 853
854void KABCore::editContact( const QString &uid ) 854void KABCore::editContact( const QString &uid )
855{ 855{
856 856
857 if ( mExtensionManager->isQuickEditVisible() ) 857 if ( mExtensionManager->isQuickEditVisible() )
858 return; 858 return;
859 859
860 // First, locate the contact entry 860 // First, locate the contact entry
861 QString localUID = uid; 861 QString localUID = uid;
862 if ( localUID.isNull() ) { 862 if ( localUID.isNull() ) {
863 QStringList uidList = mViewManager->selectedUids(); 863 QStringList uidList = mViewManager->selectedUids();
864 if ( uidList.count() > 0 ) 864 if ( uidList.count() > 0 )
865 localUID = *( uidList.at( 0 ) ); 865 localUID = *( uidList.at( 0 ) );
866 } 866 }
867 867
868 KABC::Addressee addr = mAddressBook->findByUid( localUID ); 868 KABC::Addressee addr = mAddressBook->findByUid( localUID );
869 if ( !addr.isEmpty() ) { 869 if ( !addr.isEmpty() ) {
870 AddresseeEditorDialog *dialog = mEditorDict.find( addr.uid() ); 870 AddresseeEditorDialog *dialog = mEditorDict.find( addr.uid() );
871 if ( !dialog ) { 871 if ( !dialog ) {
872 dialog = createAddresseeEditorDialog( this ); 872 dialog = createAddresseeEditorDialog( this );
873 873
874 mEditorDict.insert( addr.uid(), dialog ); 874 mEditorDict.insert( addr.uid(), dialog );
875 875
876 dialog->setAddressee( addr ); 876 dialog->setAddressee( addr );
877 } 877 }
878 878
879 dialog->raise(); 879 dialog->raise();
880 dialog->show(); 880 dialog->show();
881 } 881 }
882} 882}
883 883
884void KABCore::save() 884void KABCore::save()
885{ 885{
886 if ( !mModified ) 886 if ( !mModified )
887 return; 887 return;
888 QString text = i18n( "There was an error while attempting to save\n the " 888 QString text = i18n( "There was an error while attempting to save\n the "
889 "address book. Please check that some \nother application is " 889 "address book. Please check that some \nother application is "
890 "not using it. " ); 890 "not using it. " );
891 statusMessage(i18n("Saving addressbook ... ")); 891 statusMessage(i18n("Saving addressbook ... "));
892#ifndef KAB_EMBEDDED 892#ifndef KAB_EMBEDDED
893 KABC::StdAddressBook *b = dynamic_cast<KABC::StdAddressBook*>( mAddressBook ); 893 KABC::StdAddressBook *b = dynamic_cast<KABC::StdAddressBook*>( mAddressBook );
894 if ( !b || !b->save() ) { 894 if ( !b || !b->save() ) {
895 KMessageBox::error( this, text, i18n( "Unable to Save" ) ); 895 KMessageBox::error( this, text, i18n( "Unable to Save" ) );
896 } 896 }
897#else //KAB_EMBEDDED 897#else //KAB_EMBEDDED
898 KABC::StdAddressBook *b = (KABC::StdAddressBook*)( mAddressBook ); 898 KABC::StdAddressBook *b = (KABC::StdAddressBook*)( mAddressBook );
899 if ( !b || !b->save() ) { 899 if ( !b || !b->save() ) {
900 QMessageBox::critical( this, i18n( "Unable to Save" ), text, i18n("Ok")); 900 QMessageBox::critical( this, i18n( "Unable to Save" ), text, i18n("Ok"));
901 } 901 }
902#endif //KAB_EMBEDDED 902#endif //KAB_EMBEDDED
903 903
904 statusMessage(i18n("Addressbook saved!")); 904 statusMessage(i18n("Addressbook saved!"));
905 setModified( false ); 905 setModified( false );
906} 906}
907 907
908void KABCore::statusMessage(QString mess , int time ) 908void KABCore::statusMessage(QString mess , int time )
909{ 909{
910 //topLevelWidget()->setCaption( mess ); 910 //topLevelWidget()->setCaption( mess );
911 // pending setting timer to revome message 911 // pending setting timer to revome message
912} 912}
913void KABCore::undo() 913void KABCore::undo()
914{ 914{
915 UndoStack::instance()->undo(); 915 UndoStack::instance()->undo();
916 916
917 // Refresh the view 917 // Refresh the view
918 mViewManager->refreshView(); 918 mViewManager->refreshView();
919} 919}
920 920
921void KABCore::redo() 921void KABCore::redo()
922{ 922{
923 RedoStack::instance()->redo(); 923 RedoStack::instance()->redo();
924 924
925 // Refresh the view 925 // Refresh the view
926 mViewManager->refreshView(); 926 mViewManager->refreshView();
927} 927}
928 928
929void KABCore::setJumpButtonBarVisible( bool visible ) 929void KABCore::setJumpButtonBarVisible( bool visible )
930{ 930{
931 if ( visible ) 931 if ( visible )
932 mJumpButtonBar->show(); 932 mJumpButtonBar->show();
933 else 933 else
934 mJumpButtonBar->hide(); 934 mJumpButtonBar->hide();
935} 935}
936void KABCore::setDetailsToState() 936void KABCore::setDetailsToState()
937{ 937{
938 setDetailsVisible( mActionDetails->isChecked() ); 938 setDetailsVisible( mActionDetails->isChecked() );
939} 939}
940 940
941void KABCore::setDetailsVisible( bool visible ) 941void KABCore::setDetailsVisible( bool visible )
942{ 942{
943 if ( visible ) 943 if ( visible )
944 mDetails->show(); 944 mDetails->show();
945 else 945 else
946 mDetails->hide(); 946 mDetails->hide();
947} 947}
948 948
949void KABCore::extensionModified( const KABC::Addressee::List &list ) 949void KABCore::extensionModified( const KABC::Addressee::List &list )
950{ 950{
951 951
952 if ( list.count() != 0 ) { 952 if ( list.count() != 0 ) {
953 KABC::Addressee::List::ConstIterator it; 953 KABC::Addressee::List::ConstIterator it;
954 for ( it = list.begin(); it != list.end(); ++it ) 954 for ( it = list.begin(); it != list.end(); ++it )
955 mAddressBook->insertAddressee( *it ); 955 mAddressBook->insertAddressee( *it );
956 if ( list.count() > 1 ) 956 if ( list.count() > 1 )
957 setModified(); 957 setModified();
958 else 958 else
959 setModifiedWOrefresh(); 959 setModifiedWOrefresh();
960 } 960 }
961 if ( list.count() == 0 ) 961 if ( list.count() == 0 )
962 mViewManager->refreshView(); 962 mViewManager->refreshView();
963 else 963 else
964 mViewManager->refreshView( list[ 0 ].uid() ); 964 mViewManager->refreshView( list[ 0 ].uid() );
965 965
966 966
967 967
968} 968}
969 969
970QString KABCore::getNameByPhone( const QString &phone ) 970QString KABCore::getNameByPhone( const QString &phone )
971{ 971{
972#ifndef KAB_EMBEDDED 972#ifndef KAB_EMBEDDED
973 QRegExp r( "[/*/-/ ]" ); 973 QRegExp r( "[/*/-/ ]" );
974 QString localPhone( phone ); 974 QString localPhone( phone );
975 975
976 bool found = false; 976 bool found = false;
977 QString ownerName = ""; 977 QString ownerName = "";
978 KABC::AddressBook::Iterator iter; 978 KABC::AddressBook::Iterator iter;
979 KABC::PhoneNumber::List::Iterator phoneIter; 979 KABC::PhoneNumber::List::Iterator phoneIter;
980 KABC::PhoneNumber::List phoneList; 980 KABC::PhoneNumber::List phoneList;
981 for ( iter = mAddressBook->begin(); !found && ( iter != mAddressBook->end() ); ++iter ) { 981 for ( iter = mAddressBook->begin(); !found && ( iter != mAddressBook->end() ); ++iter ) {
982 phoneList = (*iter).phoneNumbers(); 982 phoneList = (*iter).phoneNumbers();
983 for ( phoneIter = phoneList.begin(); !found && ( phoneIter != phoneList.end() ); 983 for ( phoneIter = phoneList.begin(); !found && ( phoneIter != phoneList.end() );
984 ++phoneIter) { 984 ++phoneIter) {
985 // Get rid of separator chars so just the numbers are compared. 985 // Get rid of separator chars so just the numbers are compared.
986 if ( (*phoneIter).number().replace( r, "" ) == localPhone.replace( r, "" ) ) { 986 if ( (*phoneIter).number().replace( r, "" ) == localPhone.replace( r, "" ) ) {
987 ownerName = (*iter).formattedName(); 987 ownerName = (*iter).formattedName();
988 found = true; 988 found = true;
989 } 989 }
990 } 990 }
991 } 991 }
992 992
993 return ownerName; 993 return ownerName;
994#else //KAB_EMBEDDED 994#else //KAB_EMBEDDED
995 qDebug("KABCore::getNameByPhone finsih method"); 995 qDebug("KABCore::getNameByPhone finsih method");
996 return ""; 996 return "";
997#endif //KAB_EMBEDDED 997#endif //KAB_EMBEDDED
998 998
999} 999}
1000 1000
1001void KABCore::openConfigDialog() 1001void KABCore::openConfigDialog()
1002{ 1002{
1003 KCMultiDialog* ConfigureDialog = new KCMultiDialog( "PIM", this ,"kabconfigdialog", true ); 1003 KCMultiDialog* ConfigureDialog = new KCMultiDialog( "PIM", this ,"kabconfigdialog", true );
1004 KCMKabConfig* kabcfg = new KCMKabConfig( ConfigureDialog->getNewVBoxPage(i18n( "Addressbook")) , "KCMKabConfig" ); 1004 KCMKabConfig* kabcfg = new KCMKabConfig( ConfigureDialog->getNewVBoxPage(i18n( "Addressbook")) , "KCMKabConfig" );
1005 ConfigureDialog->addModule(kabcfg ); 1005 ConfigureDialog->addModule(kabcfg );
1006 connect( ConfigureDialog, SIGNAL( applyClicked() ), 1006 connect( ConfigureDialog, SIGNAL( applyClicked() ),
1007 this, SLOT( configurationChanged() ) ); 1007 this, SLOT( configurationChanged() ) );
1008 connect( ConfigureDialog, SIGNAL( okClicked() ), 1008 connect( ConfigureDialog, SIGNAL( okClicked() ),
1009 this, SLOT( configurationChanged() ) ); 1009 this, SLOT( configurationChanged() ) );
1010 saveSettings(); 1010 saveSettings();
1011 ConfigureDialog->showMaximized(); 1011 ConfigureDialog->showMaximized();
1012 ConfigureDialog->exec(); 1012 if ( ConfigureDialog->exec() )
1013 KMessageBox::information( this, i18n("If you configured \nExtensions,\nplease restart!\n") );
1013 delete ConfigureDialog; 1014 delete ConfigureDialog;
1014} 1015}
1015 1016
1016void KABCore::openLDAPDialog() 1017void KABCore::openLDAPDialog()
1017{ 1018{
1018#ifndef KAB_EMBEDDED 1019#ifndef KAB_EMBEDDED
1019 if ( !mLdapSearchDialog ) { 1020 if ( !mLdapSearchDialog ) {
1020 mLdapSearchDialog = new LDAPSearchDialog( mAddressBook, this ); 1021 mLdapSearchDialog = new LDAPSearchDialog( mAddressBook, this );
1021 connect( mLdapSearchDialog, SIGNAL( addresseesAdded() ), mViewManager, 1022 connect( mLdapSearchDialog, SIGNAL( addresseesAdded() ), mViewManager,
1022 SLOT( refreshView() ) ); 1023 SLOT( refreshView() ) );
1023 connect( mLdapSearchDialog, SIGNAL( addresseesAdded() ), this, 1024 connect( mLdapSearchDialog, SIGNAL( addresseesAdded() ), this,
1024 SLOT( setModified() ) ); 1025 SLOT( setModified() ) );
1025 } else 1026 } else
1026 mLdapSearchDialog->restoreSettings(); 1027 mLdapSearchDialog->restoreSettings();
1027 1028
1028 if ( mLdapSearchDialog->isOK() ) 1029 if ( mLdapSearchDialog->isOK() )
1029 mLdapSearchDialog->exec(); 1030 mLdapSearchDialog->exec();
1030#else //KAB_EMBEDDED 1031#else //KAB_EMBEDDED
1031 qDebug("KABCore::openLDAPDialog() finsih method"); 1032 qDebug("KABCore::openLDAPDialog() finsih method");
1032#endif //KAB_EMBEDDED 1033#endif //KAB_EMBEDDED
1033} 1034}
1034 1035
1035void KABCore::print() 1036void KABCore::print()
1036{ 1037{
1037#ifndef KAB_EMBEDDED 1038#ifndef KAB_EMBEDDED
1038 KPrinter printer; 1039 KPrinter printer;
1039 if ( !printer.setup( this ) ) 1040 if ( !printer.setup( this ) )
1040 return; 1041 return;
1041 1042
1042 KABPrinting::PrintingWizard wizard( &printer, mAddressBook, 1043 KABPrinting::PrintingWizard wizard( &printer, mAddressBook,
1043 mViewManager->selectedUids(), this ); 1044 mViewManager->selectedUids(), this );
1044 1045
1045 wizard.exec(); 1046 wizard.exec();
1046#else //KAB_EMBEDDED 1047#else //KAB_EMBEDDED
1047 qDebug("KABCore::print() finsih method"); 1048 qDebug("KABCore::print() finsih method");
1048#endif //KAB_EMBEDDED 1049#endif //KAB_EMBEDDED
1049 1050
1050} 1051}
1051 1052
1052 1053
1053void KABCore::addGUIClient( KXMLGUIClient *client ) 1054void KABCore::addGUIClient( KXMLGUIClient *client )
1054{ 1055{
1055 if ( mGUIClient ) 1056 if ( mGUIClient )
1056 mGUIClient->insertChildClient( client ); 1057 mGUIClient->insertChildClient( client );
1057 else 1058 else
1058 KMessageBox::error( this, "no KXMLGUICLient"); 1059 KMessageBox::error( this, "no KXMLGUICLient");
1059} 1060}
1060 1061
1061 1062
1062void KABCore::configurationChanged() 1063void KABCore::configurationChanged()
1063{ 1064{
1064 mExtensionManager->reconfigure(); 1065 mExtensionManager->reconfigure();
1065} 1066}
1066 1067
1067void KABCore::addressBookChanged() 1068void KABCore::addressBookChanged()
1068{ 1069{
1069#ifndef KAB_EMBEDDED 1070#ifndef KAB_EMBEDDED
1070 QDictIterator<AddresseeEditorDialog> it( mEditorDict ); 1071 QDictIterator<AddresseeEditorDialog> it( mEditorDict );
1071 while ( it.current() ) { 1072 while ( it.current() ) {
1072 if ( it.current()->dirty() ) { 1073 if ( it.current()->dirty() ) {
1073 QString text = i18n( "Data has been changed externally. Unsaved " 1074 QString text = i18n( "Data has been changed externally. Unsaved "
1074 "changes will be lost." ); 1075 "changes will be lost." );
1075 KMessageBox::information( this, text ); 1076 KMessageBox::information( this, text );
1076 } 1077 }
1077 it.current()->setAddressee( mAddressBook->findByUid( it.currentKey() ) ); 1078 it.current()->setAddressee( mAddressBook->findByUid( it.currentKey() ) );
1078 ++it; 1079 ++it;
1079 } 1080 }
1080 1081
1081 mViewManager->refreshView(); 1082 mViewManager->refreshView();
1082#else //KAB_EMBEDDED 1083#else //KAB_EMBEDDED
1083 qDebug("KABCore::addressBookChanged() finsih method"); 1084 qDebug("KABCore::addressBookChanged() finsih method");
1084#endif //KAB_EMBEDDED 1085#endif //KAB_EMBEDDED
1085} 1086}
1086 1087
1087AddresseeEditorDialog *KABCore::createAddresseeEditorDialog( QWidget *parent, 1088AddresseeEditorDialog *KABCore::createAddresseeEditorDialog( QWidget *parent,
1088 const char *name ) 1089 const char *name )
1089{ 1090{
1090 AddresseeEditorDialog *dialog = new AddresseeEditorDialog( this, parent, 1091 AddresseeEditorDialog *dialog = new AddresseeEditorDialog( this, parent,
1091 name ? name : "editorDialog" ); 1092 name ? name : "editorDialog" );
1092 1093
1093//US 1094//US
1094 dialog->setMaximumSize( 640, 480 ); 1095 dialog->setMaximumSize( 640, 480 );
1095 dialog->showMaximized(); 1096 dialog->showMaximized();
1096 1097
1097 connect( dialog, SIGNAL( contactModified( const KABC::Addressee& ) ), 1098 connect( dialog, SIGNAL( contactModified( const KABC::Addressee& ) ),
1098 SLOT( contactModified( const KABC::Addressee& ) ) ); 1099 SLOT( contactModified( const KABC::Addressee& ) ) );
1099 connect( dialog, SIGNAL( editorDestroyed( const QString& ) ), 1100 connect( dialog, SIGNAL( editorDestroyed( const QString& ) ),
1100 SLOT( slotEditorDestroyed( const QString& ) ) ); 1101 SLOT( slotEditorDestroyed( const QString& ) ) );
1101 1102
1102 return dialog; 1103 return dialog;
1103} 1104}
1104 1105
1105void KABCore::slotEditorDestroyed( const QString &uid ) 1106void KABCore::slotEditorDestroyed( const QString &uid )
1106{ 1107{
1107 mEditorDict.remove( uid ); 1108 mEditorDict.remove( uid );
1108} 1109}
1109 1110
1110void KABCore::initGUI() 1111void KABCore::initGUI()
1111{ 1112{
1112#ifndef KAB_EMBEDDED 1113#ifndef KAB_EMBEDDED
1113 QHBoxLayout *topLayout = new QHBoxLayout( this ); 1114 QHBoxLayout *topLayout = new QHBoxLayout( this );
1114 topLayout->setSpacing( KDialogBase::spacingHint() ); 1115 topLayout->setSpacing( KDialogBase::spacingHint() );
1115 1116
1116 mExtensionBarSplitter = new QSplitter( this ); 1117 mExtensionBarSplitter = new QSplitter( this );
1117 mExtensionBarSplitter->setOrientation( Qt::Vertical ); 1118 mExtensionBarSplitter->setOrientation( Qt::Vertical );
1118 1119
1119 mDetailsSplitter = new QSplitter( mExtensionBarSplitter ); 1120 mDetailsSplitter = new QSplitter( mExtensionBarSplitter );
1120 1121
1121 QVBox *viewSpace = new QVBox( mDetailsSplitter ); 1122 QVBox *viewSpace = new QVBox( mDetailsSplitter );
1122 mIncSearchWidget = new IncSearchWidget( viewSpace ); 1123 mIncSearchWidget = new IncSearchWidget( viewSpace );
1123 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), 1124 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ),
1124 SLOT( incrementalSearch( const QString& ) ) ); 1125 SLOT( incrementalSearch( const QString& ) ) );
1125 1126
1126 mViewManager = new ViewManager( this, viewSpace ); 1127 mViewManager = new ViewManager( this, viewSpace );
1127 viewSpace->setStretchFactor( mViewManager, 1 ); 1128 viewSpace->setStretchFactor( mViewManager, 1 );
1128 1129
1129 mDetails = new ViewContainer( mDetailsSplitter ); 1130 mDetails = new ViewContainer( mDetailsSplitter );
1130 1131
1131 mJumpButtonBar = new JumpButtonBar( this, this ); 1132 mJumpButtonBar = new JumpButtonBar( this, this );
1132 1133
1133 mExtensionManager = new ExtensionManager( this, mExtensionBarSplitter ); 1134 mExtensionManager = new ExtensionManager( this, mExtensionBarSplitter );
1134 1135
1135 topLayout->addWidget( mExtensionBarSplitter ); 1136 topLayout->addWidget( mExtensionBarSplitter );
1136 topLayout->setStretchFactor( mExtensionBarSplitter, 100 ); 1137 topLayout->setStretchFactor( mExtensionBarSplitter, 100 );
1137 topLayout->addWidget( mJumpButtonBar ); 1138 topLayout->addWidget( mJumpButtonBar );
1138 topLayout->setStretchFactor( mJumpButtonBar, 1 ); 1139 topLayout->setStretchFactor( mJumpButtonBar, 1 );
1139 1140
1140 mXXPortManager = new XXPortManager( this, this ); 1141 mXXPortManager = new XXPortManager( this, this );
1141 1142
1142#else //KAB_EMBEDDED 1143#else //KAB_EMBEDDED
1143 //US initialize viewMenu before settingup viewmanager. 1144 //US initialize viewMenu before settingup viewmanager.
1144 // Viewmanager needs this menu to plugin submenues. 1145 // Viewmanager needs this menu to plugin submenues.
1145 viewMenu = new QPopupMenu( this ); 1146 viewMenu = new QPopupMenu( this );
1146 settingsMenu = new QPopupMenu( this ); 1147 settingsMenu = new QPopupMenu( this );
1147 //filterMenu = new QPopupMenu( this ); 1148 //filterMenu = new QPopupMenu( this );
1148 ImportMenu = new QPopupMenu( this ); 1149 ImportMenu = new QPopupMenu( this );
1149 ExportMenu = new QPopupMenu( this ); 1150 ExportMenu = new QPopupMenu( this );
1150 1151
1151 1152
1152//US since we have no splitter for the embedded system, setup 1153//US since we have no splitter for the embedded system, setup
1153// a layout with two frames. One left and one right. 1154// a layout with two frames. One left and one right.
1154 1155
1155 QBoxLayout *topLayout; 1156 QBoxLayout *topLayout;
1156 1157
1157 // = new QHBoxLayout( this ); 1158 // = new QHBoxLayout( this );
1158// QBoxLayout *topLayout = (QBoxLayout*)layout(); 1159// QBoxLayout *topLayout = (QBoxLayout*)layout();
1159 1160
1160// QWidget *mainBox = new QWidget( this ); 1161// QWidget *mainBox = new QWidget( this );
1161// QBoxLayout * mainBoxLayout = new QHBoxLayout(mainBox); 1162// QBoxLayout * mainBoxLayout = new QHBoxLayout(mainBox);
1162 1163
1163#ifdef DESKTOP_VERSION 1164#ifdef DESKTOP_VERSION
1164 topLayout = new QHBoxLayout( this ); 1165 topLayout = new QHBoxLayout( this );
1165 1166
1166 1167
1167 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this); 1168 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this);
1168 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); 1169 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right );
1169 1170
1170 topLayout->addWidget(mMiniSplitter ); 1171 topLayout->addWidget(mMiniSplitter );
1171 1172
1172 mExtensionBarSplitter = new KDGanttMinimizeSplitter( Qt::Vertical,mMiniSplitter ); 1173 mExtensionBarSplitter = new KDGanttMinimizeSplitter( Qt::Vertical,mMiniSplitter );
1173 mExtensionBarSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down ); 1174 mExtensionBarSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down );
1174 mViewManager = new ViewManager( this, mExtensionBarSplitter ); 1175 mViewManager = new ViewManager( this, mExtensionBarSplitter );
1175 mDetails = new ViewContainer( mMiniSplitter ); 1176 mDetails = new ViewContainer( mMiniSplitter );
1176 mExtensionManager = new ExtensionManager( this, mExtensionBarSplitter ); 1177 mExtensionManager = new ExtensionManager( this, mExtensionBarSplitter );
1177#else 1178#else
1178 if ( QApplication::desktop()->width() > 480 ) { 1179 if ( QApplication::desktop()->width() > 480 ) {
1179 topLayout = new QHBoxLayout( this ); 1180 topLayout = new QHBoxLayout( this );
1180 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this); 1181 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this);
1181 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); 1182 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right );
1182 } else { 1183 } else {
1183 1184
1184 topLayout = new QVBoxLayout( this ); 1185 topLayout = new QVBoxLayout( this );
1185 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Vertical, this); 1186 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Vertical, this);
1186 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down ); 1187 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down );
1187 } 1188 }
1188 1189
1189 topLayout->addWidget(mMiniSplitter ); 1190 topLayout->addWidget(mMiniSplitter );
1190 mViewManager = new ViewManager( this, mMiniSplitter ); 1191 mViewManager = new ViewManager( this, mMiniSplitter );
1191 mDetails = new ViewContainer( mMiniSplitter ); 1192 mDetails = new ViewContainer( mMiniSplitter );
1192 1193
1193 1194
1194 mExtensionManager = new ExtensionManager( this, mMiniSplitter ); 1195 mExtensionManager = new ExtensionManager( this, mMiniSplitter );
1195#endif 1196#endif
1196 //eh->hide(); 1197 //eh->hide();
1197 // topLayout->addWidget(mExtensionManager ); 1198 // topLayout->addWidget(mExtensionManager );
1198 1199
1199 1200
1200/*US 1201/*US
1201#ifndef KAB_NOSPLITTER 1202#ifndef KAB_NOSPLITTER
1202 QHBoxLayout *topLayout = new QHBoxLayout( this ); 1203 QHBoxLayout *topLayout = new QHBoxLayout( this );
1203//US topLayout->setSpacing( KDialogBase::spacingHint() ); 1204//US topLayout->setSpacing( KDialogBase::spacingHint() );
1204 topLayout->setSpacing( 10 ); 1205 topLayout->setSpacing( 10 );
1205 1206
1206 mDetailsSplitter = new QSplitter( this ); 1207 mDetailsSplitter = new QSplitter( this );
1207 1208
1208 QVBox *viewSpace = new QVBox( mDetailsSplitter ); 1209 QVBox *viewSpace = new QVBox( mDetailsSplitter );
1209 1210
1210 mViewManager = new ViewManager( this, viewSpace ); 1211 mViewManager = new ViewManager( this, viewSpace );
1211 viewSpace->setStretchFactor( mViewManager, 1 ); 1212 viewSpace->setStretchFactor( mViewManager, 1 );
1212 1213
1213 mDetails = new ViewContainer( mDetailsSplitter ); 1214 mDetails = new ViewContainer( mDetailsSplitter );
1214 1215
1215 topLayout->addWidget( mDetailsSplitter ); 1216 topLayout->addWidget( mDetailsSplitter );
1216 topLayout->setStretchFactor( mDetailsSplitter, 100 ); 1217 topLayout->setStretchFactor( mDetailsSplitter, 100 );
1217#else //KAB_NOSPLITTER 1218#else //KAB_NOSPLITTER
1218 QHBoxLayout *topLayout = new QHBoxLayout( this ); 1219 QHBoxLayout *topLayout = new QHBoxLayout( this );
1219//US topLayout->setSpacing( KDialogBase::spacingHint() ); 1220//US topLayout->setSpacing( KDialogBase::spacingHint() );
1220 topLayout->setSpacing( 10 ); 1221 topLayout->setSpacing( 10 );
1221 1222
1222// mDetailsSplitter = new QSplitter( this ); 1223// mDetailsSplitter = new QSplitter( this );
1223 1224
1224 QVBox *viewSpace = new QVBox( this ); 1225 QVBox *viewSpace = new QVBox( this );
1225 1226
1226 mViewManager = new ViewManager( this, viewSpace ); 1227 mViewManager = new ViewManager( this, viewSpace );
1227 viewSpace->setStretchFactor( mViewManager, 1 ); 1228 viewSpace->setStretchFactor( mViewManager, 1 );
1228 1229
1229 mDetails = new ViewContainer( this ); 1230 mDetails = new ViewContainer( this );
1230 1231
1231 topLayout->addWidget( viewSpace ); 1232 topLayout->addWidget( viewSpace );
1232// topLayout->setStretchFactor( mDetailsSplitter, 100 ); 1233// topLayout->setStretchFactor( mDetailsSplitter, 100 );
1233 topLayout->addWidget( mDetails ); 1234 topLayout->addWidget( mDetails );
1234#endif //KAB_NOSPLITTER 1235#endif //KAB_NOSPLITTER
1235*/ 1236*/
1236 1237
1237 1238
1238#endif //KAB_EMBEDDED 1239#endif //KAB_EMBEDDED
1239 initActions(); 1240 initActions();
1240 1241
1241#ifdef KAB_EMBEDDED 1242#ifdef KAB_EMBEDDED
1242 addActionsManually(); 1243 addActionsManually();
1243 //US make sure the export and import menues are initialized before creating the xxPortManager. 1244 //US make sure the export and import menues are initialized before creating the xxPortManager.
1244 mXXPortManager = new XXPortManager( this, this ); 1245 mXXPortManager = new XXPortManager( this, this );
1245 1246
1246 // LR mIncSearchWidget = new IncSearchWidget( mMainWindow->getIconToolBar() ); 1247 // LR mIncSearchWidget = new IncSearchWidget( mMainWindow->getIconToolBar() );
1247 //mMainWindow->toolBar()->insertWidget(-1, 4, mIncSearchWidget); 1248 //mMainWindow->toolBar()->insertWidget(-1, 4, mIncSearchWidget);
1248 // mActionQuit->plug ( mMainWindow->toolBar()); 1249 // mActionQuit->plug ( mMainWindow->toolBar());
1249 //mIncSearchWidget = new IncSearchWidget( mMainWindow->toolBar() ); 1250 //mIncSearchWidget = new IncSearchWidget( mMainWindow->toolBar() );
1250 //mMainWindow->toolBar()->insertWidget(-1, 0, mIncSearchWidget); 1251 //mMainWindow->toolBar()->insertWidget(-1, 0, mIncSearchWidget);
1251 // mIncSearchWidget->hide(); 1252 // mIncSearchWidget->hide();
1252 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), 1253 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ),
1253 SLOT( incrementalSearch( const QString& ) ) ); 1254 SLOT( incrementalSearch( const QString& ) ) );
1254 1255
1255 1256
1256 mJumpButtonBar = new JumpButtonBar( this, this ); 1257 mJumpButtonBar = new JumpButtonBar( this, this );
1257 1258
1258 topLayout->addWidget( mJumpButtonBar ); 1259 topLayout->addWidget( mJumpButtonBar );
1259//US topLayout->setStretchFactor( mJumpButtonBar, 10 ); 1260//US topLayout->setStretchFactor( mJumpButtonBar, 10 );
1260 1261
1261// mMainWindow->getIconToolBar()->raise(); 1262// mMainWindow->getIconToolBar()->raise();
1262 1263
1263#endif //KAB_EMBEDDED 1264#endif //KAB_EMBEDDED
1264 1265
1265} 1266}
1266void KABCore::initActions() 1267void KABCore::initActions()
1267{ 1268{
1268//US qDebug("KABCore::initActions(): mIsPart %i", mIsPart); 1269//US qDebug("KABCore::initActions(): mIsPart %i", mIsPart);
1269 1270
1270#ifndef KAB_EMBEDDED 1271#ifndef KAB_EMBEDDED
1271 connect( QApplication::clipboard(), SIGNAL( dataChanged() ), 1272 connect( QApplication::clipboard(), SIGNAL( dataChanged() ),
1272 SLOT( clipboardDataChanged() ) ); 1273 SLOT( clipboardDataChanged() ) );
1273#endif //KAB_EMBEDDED 1274#endif //KAB_EMBEDDED
1274 1275
1275 // file menu 1276 // file menu
1276 if ( mIsPart ) { 1277 if ( mIsPart ) {
1277 mActionMail = new KAction( i18n( "&Mail" ), "mail_generic", 0, this, 1278 mActionMail = new KAction( i18n( "&Mail" ), "mail_generic", 0, this,
1278 SLOT( sendMail() ), actionCollection(), 1279 SLOT( sendMail() ), actionCollection(),
1279 "kaddressbook_mail" ); 1280 "kaddressbook_mail" );
1280 mActionPrint = new KAction( i18n( "&Print" ), "fileprint", CTRL + Key_P, this, 1281 mActionPrint = new KAction( i18n( "&Print" ), "fileprint", CTRL + Key_P, this,
1281 SLOT( print() ), actionCollection(), "kaddressbook_print" ); 1282 SLOT( print() ), actionCollection(), "kaddressbook_print" );
1282 1283
1283 } else { 1284 } else {
1284 mActionMail = KStdAction::mail( this, SLOT( sendMail() ), actionCollection() ); 1285 mActionMail = KStdAction::mail( this, SLOT( sendMail() ), actionCollection() );
1285 mActionPrint = KStdAction::print( this, SLOT( print() ), actionCollection() ); 1286 mActionPrint = KStdAction::print( this, SLOT( print() ), actionCollection() );
1286 } 1287 }
1287 1288
1288 mActionSave = new KAction( i18n( "&Save" ), "filesave", CTRL+Key_S, this, 1289 mActionSave = new KAction( i18n( "&Save" ), "filesave", CTRL+Key_S, this,
1289 SLOT( save() ), actionCollection(), "file_sync" ); 1290 SLOT( save() ), actionCollection(), "file_sync" );
1290 1291
1291 mActionNewContact = new KAction( i18n( "&New Contact..." ), "filenew", CTRL+Key_N, this, 1292 mActionNewContact = new KAction( i18n( "&New Contact..." ), "filenew", CTRL+Key_N, this,
1292 SLOT( newContact() ), actionCollection(), "file_new_contact" ); 1293 SLOT( newContact() ), actionCollection(), "file_new_contact" );
1293 1294
1294 mActionMailVCard = new KAction(i18n("Mail &vCard..."), "mail_post_to", 0, 1295 mActionMailVCard = new KAction(i18n("Mail &vCard..."), "mail_post_to", 0,
1295 this, SLOT( mailVCard() ), 1296 this, SLOT( mailVCard() ),
1296 actionCollection(), "file_mail_vcard"); 1297 actionCollection(), "file_mail_vcard");
1297 1298
1298 mActionEditAddressee = new KAction( i18n( "&Edit Contact..." ), "edit", 0, 1299 mActionEditAddressee = new KAction( i18n( "&Edit Contact..." ), "edit", 0,
1299 this, SLOT( editContact2() ), 1300 this, SLOT( editContact2() ),
1300 actionCollection(), "file_properties" ); 1301 actionCollection(), "file_properties" );
1301 1302
1302#ifdef KAB_EMBEDDED 1303#ifdef KAB_EMBEDDED
1303 // mActionQuit = KStdAction::quit( mMainWindow, SLOT( exit() ), actionCollection() ); 1304 // mActionQuit = KStdAction::quit( mMainWindow, SLOT( exit() ), actionCollection() );
1304 mActionQuit = new KAction( i18n( "&Exit" ), "exit", 0, 1305 mActionQuit = new KAction( i18n( "&Exit" ), "exit", 0,
1305 mMainWindow, SLOT( exit() ), 1306 mMainWindow, SLOT( exit() ),
1306 actionCollection(), "quit" ); 1307 actionCollection(), "quit" );
1307#endif //KAB_EMBEDDED 1308#endif //KAB_EMBEDDED
1308 1309
1309 // edit menu 1310 // edit menu
1310 if ( mIsPart ) { 1311 if ( mIsPart ) {
1311 mActionCopy = new KAction( i18n( "&Copy" ), "editcopy", CTRL + Key_C, this, 1312 mActionCopy = new KAction( i18n( "&Copy" ), "editcopy", CTRL + Key_C, this,
1312 SLOT( copyContacts() ), actionCollection(), 1313 SLOT( copyContacts() ), actionCollection(),
1313 "kaddressbook_copy" ); 1314 "kaddressbook_copy" );
1314 mActionCut = new KAction( i18n( "Cu&t" ), "editcut", CTRL + Key_X, this, 1315 mActionCut = new KAction( i18n( "Cu&t" ), "editcut", CTRL + Key_X, this,
1315 SLOT( cutContacts() ), actionCollection(), 1316 SLOT( cutContacts() ), actionCollection(),
1316 "kaddressbook_cut" ); 1317 "kaddressbook_cut" );
1317 mActionPaste = new KAction( i18n( "&Paste" ), "editpaste", CTRL + Key_V, this, 1318 mActionPaste = new KAction( i18n( "&Paste" ), "editpaste", CTRL + Key_V, this,
1318 SLOT( pasteContacts() ), actionCollection(), 1319 SLOT( pasteContacts() ), actionCollection(),
1319 "kaddressbook_paste" ); 1320 "kaddressbook_paste" );
1320 mActionSelectAll = new KAction( i18n( "Select &All" ), CTRL + Key_A, this, 1321 mActionSelectAll = new KAction( i18n( "Select &All" ), CTRL + Key_A, this,
1321 SLOT( selectAllContacts() ), actionCollection(), 1322 SLOT( selectAllContacts() ), actionCollection(),
1322 "kaddressbook_select_all" ); 1323 "kaddressbook_select_all" );
1323 mActionUndo = new KAction( i18n( "&Undo" ), "undo", CTRL + Key_Z, this, 1324 mActionUndo = new KAction( i18n( "&Undo" ), "undo", CTRL + Key_Z, this,
1324 SLOT( undo() ), actionCollection(), 1325 SLOT( undo() ), actionCollection(),
1325 "kaddressbook_undo" ); 1326 "kaddressbook_undo" );
1326 mActionRedo = new KAction( i18n( "Re&do" ), "redo", CTRL + SHIFT + Key_Z, 1327 mActionRedo = new KAction( i18n( "Re&do" ), "redo", CTRL + SHIFT + Key_Z,
1327 this, SLOT( redo() ), actionCollection(), 1328 this, SLOT( redo() ), actionCollection(),
1328 "kaddressbook_redo" ); 1329 "kaddressbook_redo" );
1329 } else { 1330 } else {
1330 mActionCopy = KStdAction::copy( this, SLOT( copyContacts() ), actionCollection() ); 1331 mActionCopy = KStdAction::copy( this, SLOT( copyContacts() ), actionCollection() );
1331 mActionCut = KStdAction::cut( this, SLOT( cutContacts() ), actionCollection() ); 1332 mActionCut = KStdAction::cut( this, SLOT( cutContacts() ), actionCollection() );
1332 mActionPaste = KStdAction::paste( this, SLOT( pasteContacts() ), actionCollection() ); 1333 mActionPaste = KStdAction::paste( this, SLOT( pasteContacts() ), actionCollection() );
1333 mActionSelectAll = KStdAction::selectAll( this, SLOT( selectAllContacts() ), actionCollection() ); 1334 mActionSelectAll = KStdAction::selectAll( this, SLOT( selectAllContacts() ), actionCollection() );
1334 mActionUndo = KStdAction::undo( this, SLOT( undo() ), actionCollection() ); 1335 mActionUndo = KStdAction::undo( this, SLOT( undo() ), actionCollection() );
1335 mActionRedo = KStdAction::redo( this, SLOT( redo() ), actionCollection() ); 1336 mActionRedo = KStdAction::redo( this, SLOT( redo() ), actionCollection() );
1336 } 1337 }
1337 1338
1338 mActionDelete = new KAction( i18n( "&Delete Contact" ), "editdelete", 1339 mActionDelete = new KAction( i18n( "&Delete Contact" ), "editdelete",
1339 Key_Delete, this, SLOT( deleteContacts() ), 1340 Key_Delete, this, SLOT( deleteContacts() ),
1340 actionCollection(), "edit_delete" ); 1341 actionCollection(), "edit_delete" );
1341 1342
1342 mActionUndo->setEnabled( false ); 1343 mActionUndo->setEnabled( false );
1343 mActionRedo->setEnabled( false ); 1344 mActionRedo->setEnabled( false );
1344 1345
1345 // settings menu 1346 // settings menu
1346#ifdef KAB_EMBEDDED 1347#ifdef KAB_EMBEDDED
1347//US special menuentry to configure the addressbook resources. On KDE 1348//US special menuentry to configure the addressbook resources. On KDE
1348// you do that through the control center !!! 1349// you do that through the control center !!!
1349 mActionConfigResources = new KAction( i18n( "Configure &Resources..." ), "configure_resources", 0, this, 1350 mActionConfigResources = new KAction( i18n( "Configure &Resources..." ), "configure_resources", 0, this,
1350 SLOT( configureResources() ), actionCollection(), 1351 SLOT( configureResources() ), actionCollection(),
1351 "kaddressbook_configure_resources" ); 1352 "kaddressbook_configure_resources" );
1352#endif //KAB_EMBEDDED 1353#endif //KAB_EMBEDDED
1353 1354
1354 if ( mIsPart ) { 1355 if ( mIsPart ) {
1355 mActionConfigKAddressbook = new KAction( i18n( "&Configure KAddressBook..." ), "configure", 0, this, 1356 mActionConfigKAddressbook = new KAction( i18n( "&Configure KAddressBook..." ), "configure", 0, this,
1356 SLOT( openConfigDialog() ), actionCollection(), 1357 SLOT( openConfigDialog() ), actionCollection(),
1357 "kaddressbook_configure" ); 1358 "kaddressbook_configure" );
1358 1359
1359 mActionConfigShortcuts = new KAction( i18n( "Configure S&hortcuts..." ), "configure_shortcuts", 0, 1360 mActionConfigShortcuts = new KAction( i18n( "Configure S&hortcuts..." ), "configure_shortcuts", 0,
1360 this, SLOT( configureKeyBindings() ), actionCollection(), 1361 this, SLOT( configureKeyBindings() ), actionCollection(),
1361 "kaddressbook_configure_shortcuts" ); 1362 "kaddressbook_configure_shortcuts" );
1362#ifdef KAB_EMBEDDED 1363#ifdef KAB_EMBEDDED
1363 mActionConfigureToolbars = KStdAction::configureToolbars( this, SLOT( mMainWindow->configureToolbars() ), actionCollection() ); 1364 mActionConfigureToolbars = KStdAction::configureToolbars( this, SLOT( mMainWindow->configureToolbars() ), actionCollection() );
1365 mActionConfigureToolbars->setEnabled( false );
1364#endif //KAB_EMBEDDED 1366#endif //KAB_EMBEDDED
1365 1367
1366 } else { 1368 } else {
1367 mActionConfigKAddressbook = KStdAction::preferences( this, SLOT( openConfigDialog() ), actionCollection() ); 1369 mActionConfigKAddressbook = KStdAction::preferences( this, SLOT( openConfigDialog() ), actionCollection() );
1368 1370
1369 mActionKeyBindings = KStdAction::keyBindings( this, SLOT( configureKeyBindings() ), actionCollection() ); 1371 mActionKeyBindings = KStdAction::keyBindings( this, SLOT( configureKeyBindings() ), actionCollection() );
1370 } 1372 }
1371 1373
1372 mActionJumpBar = new KToggleAction( i18n( "Show Jump Bar" ), 0, 0, 1374 mActionJumpBar = new KToggleAction( i18n( "Show Jump Bar" ), 0, 0,
1373 actionCollection(), "options_show_jump_bar" ); 1375 actionCollection(), "options_show_jump_bar" );
1374 connect( mActionJumpBar, SIGNAL( toggled( bool ) ), SLOT( setJumpButtonBarVisible( bool ) ) ); 1376 connect( mActionJumpBar, SIGNAL( toggled( bool ) ), SLOT( setJumpButtonBarVisible( bool ) ) );
1375 1377
1376 mActionDetails = new KToggleAction( i18n( "Show Details" ), 0, 0, 1378 mActionDetails = new KToggleAction( i18n( "Show Details" ), 0, 0,
1377 actionCollection(), "options_show_details" ); 1379 actionCollection(), "options_show_details" );
1378 connect( mActionDetails, SIGNAL( toggled( bool ) ), SLOT( setDetailsVisible( bool ) ) ); 1380 connect( mActionDetails, SIGNAL( toggled( bool ) ), SLOT( setDetailsVisible( bool ) ) );
1379 1381
1380 // misc 1382 // misc
1381 // only enable LDAP lookup if we can handle the protocol 1383 // only enable LDAP lookup if we can handle the protocol
1382#ifndef KAB_EMBEDDED 1384#ifndef KAB_EMBEDDED
1383 if ( KProtocolInfo::isKnownProtocol( KURL( "ldap://localhost" ) ) ) { 1385 if ( KProtocolInfo::isKnownProtocol( KURL( "ldap://localhost" ) ) ) {
1384 new KAction( i18n( "&Lookup Addresses in Directory" ), "find", 0, 1386 new KAction( i18n( "&Lookup Addresses in Directory" ), "find", 0,
1385 this, SLOT( openLDAPDialog() ), actionCollection(), 1387 this, SLOT( openLDAPDialog() ), actionCollection(),
1386 "ldap_lookup" ); 1388 "ldap_lookup" );
1387 } 1389 }
1388#else //KAB_EMBEDDED 1390#else //KAB_EMBEDDED
1389 //qDebug("KABCore::initActions() LDAP has to be implemented"); 1391 //qDebug("KABCore::initActions() LDAP has to be implemented");
1390#endif //KAB_EMBEDDED 1392#endif //KAB_EMBEDDED
1391 1393
1392 1394
1393 mActionWhoAmI = new KAction( i18n( "Set Who Am I" ), "personal", 0, this, 1395 mActionWhoAmI = new KAction( i18n( "Set Who Am I" ), "personal", 0, this,
1394 SLOT( setWhoAmI() ), actionCollection(), 1396 SLOT( setWhoAmI() ), actionCollection(),
1395 "set_personal" ); 1397 "set_personal" );
1396 1398
1397 mActionCategories = new KAction( i18n( "Set Categories" ), 0, this, 1399 mActionCategories = new KAction( i18n( "Set Categories" ), 0, this,
1398 SLOT( setCategories() ), actionCollection(), 1400 SLOT( setCategories() ), actionCollection(),
1399 "edit_set_categories" ); 1401 "edit_set_categories" );
1400 1402
1401#ifdef KAB_EMBEDDED 1403#ifdef KAB_EMBEDDED
1402 1404
1403 mActionAboutKAddressbook = new KAction( i18n( "&About KAddressBook" ), "kaddressbook2", 0, 1405 mActionAboutKAddressbook = new KAction( i18n( "&About KAddressBook" ), "kaddressbook2", 0,
1404 this, SLOT( createAboutData() ), actionCollection(), 1406 this, SLOT( createAboutData() ), actionCollection(),
1405 "kaddressbook_about_data" ); 1407 "kaddressbook_about_data" );
1406#endif //KAB_EMBEDDED 1408#endif //KAB_EMBEDDED
1407 1409
1408 clipboardDataChanged(); 1410 clipboardDataChanged();
1409 connect( UndoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) ); 1411 connect( UndoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) );
1410 connect( RedoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) ); 1412 connect( RedoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) );
1411} 1413}
1412 1414
1413//US we need this function, to plug all actions into the correct menues. 1415//US we need this function, to plug all actions into the correct menues.
1414// KDE uses a XML format to plug the actions, but we work her without this overhead. 1416// KDE uses a XML format to plug the actions, but we work her without this overhead.
1415void KABCore::addActionsManually() 1417void KABCore::addActionsManually()
1416{ 1418{
1417//US qDebug("KABCore::initActions(): mIsPart %i", mIsPart); 1419//US qDebug("KABCore::initActions(): mIsPart %i", mIsPart);
1418 1420
1419#ifdef KAB_EMBEDDED 1421#ifdef KAB_EMBEDDED
1420 QPopupMenu *fileMenu = new QPopupMenu( this ); 1422 QPopupMenu *fileMenu = new QPopupMenu( this );
1421 QPopupMenu *editMenu = new QPopupMenu( this ); 1423 QPopupMenu *editMenu = new QPopupMenu( this );
1422 QPopupMenu *helpMenu = new QPopupMenu( this ); 1424 QPopupMenu *helpMenu = new QPopupMenu( this );
1423 1425
1424 KToolBar* tb = mMainWindow->toolBar(); 1426 KToolBar* tb = mMainWindow->toolBar();
1425 1427
1426#ifdef DESKTOP_VERSION 1428#ifdef DESKTOP_VERSION
1427 QMenuBar* mb = mMainWindow->menuBar(); 1429 QMenuBar* mb = mMainWindow->menuBar();
1428 1430
1429 //US setup menubar. 1431 //US setup menubar.
1430 //Disable the following block if you do not want to have a menubar. 1432 //Disable the following block if you do not want to have a menubar.
1431 mb->insertItem( "&File", fileMenu ); 1433 mb->insertItem( "&File", fileMenu );
1432 mb->insertItem( "&Edit", editMenu ); 1434 mb->insertItem( "&Edit", editMenu );
1433 mb->insertItem( "&View", viewMenu ); 1435 mb->insertItem( "&View", viewMenu );
1434 mb->insertItem( "&Settings", settingsMenu ); 1436 mb->insertItem( "&Settings", settingsMenu );
1435 mb->insertItem( "&Help", helpMenu ); 1437 mb->insertItem( "&Help", helpMenu );
1436 mIncSearchWidget = new IncSearchWidget( tb ); 1438 mIncSearchWidget = new IncSearchWidget( tb );
1437 // tb->insertWidget(-1, 0, mIncSearchWidget); 1439 // tb->insertWidget(-1, 0, mIncSearchWidget);
1438 1440
1439#else 1441#else
1440 //US setup toolbar 1442 //US setup toolbar
1441 QMenuBar *menuBarTB = new QMenuBar( tb ); 1443 QMenuBar *menuBarTB = new QMenuBar( tb );
1442 QPopupMenu *popupBarTB = new QPopupMenu( this ); 1444 QPopupMenu *popupBarTB = new QPopupMenu( this );
1443 menuBarTB->insertItem( "ME", popupBarTB); 1445 menuBarTB->insertItem( "ME", popupBarTB);
1444 tb->insertWidget(-1, 0, menuBarTB); 1446 tb->insertWidget(-1, 0, menuBarTB);
1445 mIncSearchWidget = new IncSearchWidget( tb ); 1447 mIncSearchWidget = new IncSearchWidget( tb );
1446 1448
1447 tb->enableMoving(false); 1449 tb->enableMoving(false);
1448 popupBarTB->insertItem( "&File", fileMenu ); 1450 popupBarTB->insertItem( "&File", fileMenu );
1449 popupBarTB->insertItem( "&Edit", editMenu ); 1451 popupBarTB->insertItem( "&Edit", editMenu );
1450 popupBarTB->insertItem( "&View", viewMenu ); 1452 popupBarTB->insertItem( "&View", viewMenu );
1451 popupBarTB->insertItem( "&Settings", settingsMenu ); 1453 popupBarTB->insertItem( "&Settings", settingsMenu );
1452 mViewManager->getFilterAction()->plug ( popupBarTB); 1454 mViewManager->getFilterAction()->plug ( popupBarTB);
1453 popupBarTB->insertItem( "&Help", helpMenu ); 1455 popupBarTB->insertItem( "&Help", helpMenu );
1454 if (QApplication::desktop()->width() > 320 ) { 1456 if (QApplication::desktop()->width() > 320 ) {
1455 // mViewManager->getFilterAction()->plug ( tb); 1457 // mViewManager->getFilterAction()->plug ( tb);
1456 } 1458 }
1457#endif 1459#endif
1458 // mActionQuit->plug ( mMainWindow->toolBar()); 1460 // mActionQuit->plug ( mMainWindow->toolBar());
1459 1461
1460 1462
1461 1463
1462 //US Now connect the actions with the menue entries. 1464 //US Now connect the actions with the menue entries.
1463 mActionPrint->plug( fileMenu ); 1465 mActionPrint->plug( fileMenu );
1464 mActionMail->plug( fileMenu ); 1466 mActionMail->plug( fileMenu );
1465 fileMenu->insertSeparator(); 1467 fileMenu->insertSeparator();
1466 1468
1467 mActionNewContact->plug( fileMenu ); 1469 mActionNewContact->plug( fileMenu );
1468 mActionNewContact->plug( tb ); 1470 mActionNewContact->plug( tb );
1469 1471
1470 mActionEditAddressee->plug( fileMenu ); 1472 mActionEditAddressee->plug( fileMenu );
1471 fileMenu->insertSeparator(); 1473 fileMenu->insertSeparator();
1472 mActionSave->plug( fileMenu ); 1474 mActionSave->plug( fileMenu );
1473 fileMenu->insertItem( "&Import", ImportMenu ); 1475 fileMenu->insertItem( "&Import", ImportMenu );
1474 fileMenu->insertItem( "&Emport", ExportMenu ); 1476 fileMenu->insertItem( "&Emport", ExportMenu );
1475 fileMenu->insertSeparator(); 1477 fileMenu->insertSeparator();
1476 mActionMailVCard->plug( fileMenu ); 1478 mActionMailVCard->plug( fileMenu );
1477 fileMenu->insertSeparator(); 1479 fileMenu->insertSeparator();
1478 mActionQuit->plug( fileMenu ); 1480 mActionQuit->plug( fileMenu );
1479 1481
1480 1482
1481 // edit menu 1483 // edit menu
1482 mActionUndo->plug( editMenu ); 1484 mActionUndo->plug( editMenu );
1483 mActionRedo->plug( editMenu ); 1485 mActionRedo->plug( editMenu );
1484 editMenu->insertSeparator(); 1486 editMenu->insertSeparator();
1485 mActionCut->plug( editMenu ); 1487 mActionCut->plug( editMenu );
1486 mActionCopy->plug( editMenu ); 1488 mActionCopy->plug( editMenu );
1487 mActionPaste->plug( editMenu ); 1489 mActionPaste->plug( editMenu );
1488 mActionDelete->plug( editMenu ); 1490 mActionDelete->plug( editMenu );
1489 editMenu->insertSeparator(); 1491 editMenu->insertSeparator();
1490 mActionSelectAll->plug( editMenu ); 1492 mActionSelectAll->plug( editMenu );
1491 1493
1492 1494
1493 // settings menu 1495 // settings menu
1494//US special menuentry to configure the addressbook resources. On KDE 1496//US special menuentry to configure the addressbook resources. On KDE
1495// you do that through the control center !!! 1497// you do that through the control center !!!
1496 mActionConfigResources->plug( settingsMenu ); 1498 mActionConfigResources->plug( settingsMenu );
1497 settingsMenu->insertSeparator(); 1499 settingsMenu->insertSeparator();
1498 1500
1499 mActionConfigKAddressbook->plug( settingsMenu ); 1501 mActionConfigKAddressbook->plug( settingsMenu );
1500 1502
1501 if ( mIsPart ) { 1503 if ( mIsPart ) {
1502 mActionConfigShortcuts->plug( settingsMenu ); 1504 mActionConfigShortcuts->plug( settingsMenu );
1503 mActionConfigureToolbars->plug( settingsMenu ); 1505 mActionConfigureToolbars->plug( settingsMenu );
1504 1506
1505 } else { 1507 } else {
1506 mActionKeyBindings->plug( settingsMenu ); 1508 mActionKeyBindings->plug( settingsMenu );
1507 } 1509 }
1508 1510
1509 settingsMenu->insertSeparator(); 1511 settingsMenu->insertSeparator();
1510 1512
1511 mActionJumpBar->plug( settingsMenu ); 1513 mActionJumpBar->plug( settingsMenu );
1512 mActionDetails->plug( settingsMenu ); 1514 mActionDetails->plug( settingsMenu );
1513 settingsMenu->insertSeparator(); 1515 settingsMenu->insertSeparator();
1514 1516
1515 mActionWhoAmI->plug( settingsMenu ); 1517 mActionWhoAmI->plug( settingsMenu );
1516 mActionCategories->plug( settingsMenu ); 1518 mActionCategories->plug( settingsMenu );
1517 1519
1518 mActionAboutKAddressbook->plug( helpMenu ); 1520 mActionAboutKAddressbook->plug( helpMenu );
1519 1521
1520 1522
1521 if (QApplication::desktop()->width() > 320 ) { 1523 if (QApplication::desktop()->width() > 320 ) {
1522 1524
1523 mActionEditAddressee->plug( tb ); 1525 mActionEditAddressee->plug( tb );
1524 mActionSave->plug( tb ); 1526 mActionSave->plug( tb );
1525 mViewManager->getFilterAction()->plug ( tb); 1527 mViewManager->getFilterAction()->plug ( tb);
1526 if (QApplication::desktop()->width() > 480 ) { 1528 if (QApplication::desktop()->width() > 480 ) {
1527 mActionUndo->plug( tb ); 1529 mActionUndo->plug( tb );
1528 mActionDelete->plug( tb ); 1530 mActionDelete->plug( tb );
1529 mActionRedo->plug( tb ); 1531 mActionRedo->plug( tb );
1530 } 1532 }
1531 } 1533 }
1532 //mActionQuit->plug ( tb ); 1534 //mActionQuit->plug ( tb );
1533 // tb->insertWidget(-1, 0, mIncSearchWidget, 6); 1535 // tb->insertWidget(-1, 0, mIncSearchWidget, 6);
1534 1536
1535 //US link the searchwidget first to this. 1537 //US link the searchwidget first to this.
1536 // The real linkage to the toolbar happens later. 1538 // The real linkage to the toolbar happens later.
1537//US mIncSearchWidget->reparent(tb, 0, QPoint(50,0), TRUE); 1539//US mIncSearchWidget->reparent(tb, 0, QPoint(50,0), TRUE);
1538//US tb->insertItem( mIncSearchWidget ); 1540//US tb->insertItem( mIncSearchWidget );
1539/*US 1541/*US
1540 mIncSearchWidget = new IncSearchWidget( tb ); 1542 mIncSearchWidget = new IncSearchWidget( tb );
1541 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), 1543 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ),
1542 SLOT( incrementalSearch( const QString& ) ) ); 1544 SLOT( incrementalSearch( const QString& ) ) );
1543 1545
1544 mJumpButtonBar = new JumpButtonBar( this, this ); 1546 mJumpButtonBar = new JumpButtonBar( this, this );
1545 1547
1546//US topLayout->addWidget( mJumpButtonBar ); 1548//US topLayout->addWidget( mJumpButtonBar );
1547 this->layout()->add( mJumpButtonBar ); 1549 this->layout()->add( mJumpButtonBar );
1548*/ 1550*/
1549 1551
1550#endif //KAB_EMBEDDED 1552#endif //KAB_EMBEDDED
1551} 1553}
1552 1554
1553 1555
1554 1556
1555void KABCore::clipboardDataChanged() 1557void KABCore::clipboardDataChanged()
1556{ 1558{
1557 1559
1558 if ( mReadWrite ) 1560 if ( mReadWrite )
1559 mActionPaste->setEnabled( !QApplication::clipboard()->text().isEmpty() ); 1561 mActionPaste->setEnabled( !QApplication::clipboard()->text().isEmpty() );
1560 1562
1561} 1563}
1562 1564
1563void KABCore::updateActionMenu() 1565void KABCore::updateActionMenu()
1564{ 1566{
1565 UndoStack *undo = UndoStack::instance(); 1567 UndoStack *undo = UndoStack::instance();
1566 RedoStack *redo = RedoStack::instance(); 1568 RedoStack *redo = RedoStack::instance();
1567 1569
1568 if ( undo->isEmpty() ) 1570 if ( undo->isEmpty() )
1569 mActionUndo->setText( i18n( "Undo" ) ); 1571 mActionUndo->setText( i18n( "Undo" ) );
1570 else 1572 else
1571 mActionUndo->setText( i18n( "Undo %1" ).arg( undo->top()->name() ) ); 1573 mActionUndo->setText( i18n( "Undo %1" ).arg( undo->top()->name() ) );
1572 1574
1573 mActionUndo->setEnabled( !undo->isEmpty() ); 1575 mActionUndo->setEnabled( !undo->isEmpty() );
1574 1576
1575 if ( !redo->top() ) 1577 if ( !redo->top() )
1576 mActionRedo->setText( i18n( "Redo" ) ); 1578 mActionRedo->setText( i18n( "Redo" ) );
1577 else 1579 else
1578 mActionRedo->setText( i18n( "Redo %1" ).arg( redo->top()->name() ) ); 1580 mActionRedo->setText( i18n( "Redo %1" ).arg( redo->top()->name() ) );
1579 1581
1580 mActionRedo->setEnabled( !redo->isEmpty() ); 1582 mActionRedo->setEnabled( !redo->isEmpty() );
1581} 1583}
1582 1584
1583void KABCore::configureKeyBindings() 1585void KABCore::configureKeyBindings()
1584{ 1586{
1585#ifndef KAB_EMBEDDED 1587#ifndef KAB_EMBEDDED
1586 KKeyDialog::configure( actionCollection(), true ); 1588 KKeyDialog::configure( actionCollection(), true );
1587#else //KAB_EMBEDDED 1589#else //KAB_EMBEDDED
1588 qDebug("KABCore::configureKeyBindings() not implemented"); 1590 qDebug("KABCore::configureKeyBindings() not implemented");
1589#endif //KAB_EMBEDDED 1591#endif //KAB_EMBEDDED
1590} 1592}
1591 1593
1592#ifdef KAB_EMBEDDED 1594#ifdef KAB_EMBEDDED
1593void KABCore::configureResources() 1595void KABCore::configureResources()
1594{ 1596{
1595 KRES::KCMKResources dlg( this, "" , 0 ); 1597 KRES::KCMKResources dlg( this, "" , 0 );
1596 1598
1597 if ( !dlg.exec() ) 1599 if ( !dlg.exec() )
1598 return; 1600 return;
1601 KMessageBox::information( this, i18n("Please restart to get the \nchanged resources (re)loaded!\n") );
1599} 1602}
1600#endif //KAB_EMBEDDED 1603#endif //KAB_EMBEDDED
1601 1604
1602 1605
1603 1606
1604#ifndef KAB_EMBEDDED 1607#ifndef KAB_EMBEDDED
1605#include "kabcore.moc" 1608#include "kabcore.moc"
1606#endif //KAB_EMBEDDED 1609#endif //KAB_EMBEDDED