summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/addressbook/contacteditor.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/core/pim/addressbook/contacteditor.cpp b/core/pim/addressbook/contacteditor.cpp
index cbcd11f..adea1a1 100644
--- a/core/pim/addressbook/contacteditor.cpp
+++ b/core/pim/addressbook/contacteditor.cpp
@@ -760,874 +760,875 @@ void ContactEditor::slotChooser3Change( const QString &textChanged ) {
760} 760}
761 761
762void ContactEditor::slotChooser4Change( const QString &textChanged ) { 762void ContactEditor::slotChooser4Change( const QString &textChanged ) {
763 763
764 int index = cmbChooserField4->currentItem(); 764 int index = cmbChooserField4->currentItem();
765 765
766 (*slChooserValues)[index] = textChanged; 766 (*slChooserValues)[index] = textChanged;
767 767
768} 768}
769 769
770void ContactEditor::slotAddressChange( const QString &textChanged ) { 770void ContactEditor::slotAddressChange( const QString &textChanged ) {
771 771
772 if ( cmbAddress->currentItem() == 0 ) { 772 if ( cmbAddress->currentItem() == 0 ) {
773 (*slBusinessAddress)[0] = textChanged; 773 (*slBusinessAddress)[0] = textChanged;
774 } else { 774 } else {
775 (*slHomeAddress)[0] = textChanged; 775 (*slHomeAddress)[0] = textChanged;
776 } 776 }
777} 777}
778 778
779void ContactEditor::slotAddress2Change( const QString &textChanged ) { 779void ContactEditor::slotAddress2Change( const QString &textChanged ) {
780 780
781 if ( cmbAddress->currentItem() == 0 ) { 781 if ( cmbAddress->currentItem() == 0 ) {
782 (*slBusinessAddress)[1] = textChanged; 782 (*slBusinessAddress)[1] = textChanged;
783 } else { 783 } else {
784 (*slHomeAddress)[1] = textChanged; 784 (*slHomeAddress)[1] = textChanged;
785 } 785 }
786} 786}
787 787
788void ContactEditor::slotPOBoxChange( const QString &textChanged ) { 788void ContactEditor::slotPOBoxChange( const QString &textChanged ) {
789 789
790 if ( cmbAddress->currentItem() == 0 ) { 790 if ( cmbAddress->currentItem() == 0 ) {
791 (*slBusinessAddress)[2] = textChanged; 791 (*slBusinessAddress)[2] = textChanged;
792 } else { 792 } else {
793 (*slHomeAddress)[2] = textChanged; 793 (*slHomeAddress)[2] = textChanged;
794 } 794 }
795} 795}
796 796
797void ContactEditor::slotCityChange( const QString &textChanged ) { 797void ContactEditor::slotCityChange( const QString &textChanged ) {
798 798
799 if ( cmbAddress->currentItem() == 0 ) { 799 if ( cmbAddress->currentItem() == 0 ) {
800 (*slBusinessAddress)[3] = textChanged; 800 (*slBusinessAddress)[3] = textChanged;
801 } else { 801 } else {
802 (*slHomeAddress)[3] = textChanged; 802 (*slHomeAddress)[3] = textChanged;
803 } 803 }
804} 804}
805 805
806void ContactEditor::slotStateChange( const QString &textChanged ) { 806void ContactEditor::slotStateChange( const QString &textChanged ) {
807 807
808 808
809 if ( cmbAddress->currentItem() == 0 ) { 809 if ( cmbAddress->currentItem() == 0 ) {
810 (*slBusinessAddress)[4] = textChanged; 810 (*slBusinessAddress)[4] = textChanged;
811 } else { 811 } else {
812 (*slHomeAddress)[4] = textChanged; 812 (*slHomeAddress)[4] = textChanged;
813 } 813 }
814} 814}
815 815
816void ContactEditor::slotZipChange( const QString &textChanged ) { 816void ContactEditor::slotZipChange( const QString &textChanged ) {
817 817
818 if ( cmbAddress->currentItem() == 0 ) { 818 if ( cmbAddress->currentItem() == 0 ) {
819 (*slBusinessAddress)[5] = textChanged; 819 (*slBusinessAddress)[5] = textChanged;
820 } else { 820 } else {
821 (*slHomeAddress)[5] = textChanged; 821 (*slHomeAddress)[5] = textChanged;
822 } 822 }
823} 823}
824 824
825void ContactEditor::slotCountryChange( const QString &textChanged ) { 825void ContactEditor::slotCountryChange( const QString &textChanged ) {
826 826
827 if ( cmbAddress->currentItem() == 0 ) { 827 if ( cmbAddress->currentItem() == 0 ) {
828 (*slBusinessAddress)[6] = textChanged; 828 (*slBusinessAddress)[6] = textChanged;
829 } else { 829 } else {
830 (*slHomeAddress)[6] = textChanged; 830 (*slHomeAddress)[6] = textChanged;
831 } 831 }
832} 832}
833 833
834void ContactEditor::slotCmbChooser1Change( int index ) { 834void ContactEditor::slotCmbChooser1Change( int index ) {
835 835
836 txtChooserField1->setText( (*slChooserValues)[index] ); 836 txtChooserField1->setText( (*slChooserValues)[index] );
837 837
838} 838}
839 839
840void ContactEditor::slotCmbChooser2Change( int index ) { 840void ContactEditor::slotCmbChooser2Change( int index ) {
841 841
842 txtChooserField2->setText( (*slChooserValues)[index] ); 842 txtChooserField2->setText( (*slChooserValues)[index] );
843 843
844} 844}
845 845
846void ContactEditor::slotCmbChooser3Change( int index ) { 846void ContactEditor::slotCmbChooser3Change( int index ) {
847 847
848 txtChooserField3->setText( (*slChooserValues)[index] ); 848 txtChooserField3->setText( (*slChooserValues)[index] );
849 849
850} 850}
851 851
852void ContactEditor::slotCmbChooser4Change( int index ) { 852void ContactEditor::slotCmbChooser4Change( int index ) {
853 853
854 txtChooserField4->setText( (*slChooserValues)[index] ); 854 txtChooserField4->setText( (*slChooserValues)[index] );
855 855
856} 856}
857 857
858void ContactEditor::slotAddressTypeChange( int index ) { 858void ContactEditor::slotAddressTypeChange( int index ) {
859 859
860 if ( index == 0 ) { 860 if ( index == 0 ) {
861 861
862 txtAddress->setText( (*slBusinessAddress)[0] ); 862 txtAddress->setText( (*slBusinessAddress)[0] );
863 //txtAddress2->setText( (*slBusinessAddress)[1] ); 863 //txtAddress2->setText( (*slBusinessAddress)[1] );
864 //txtPOBox->setText( (*slBusinessAddress)[2] ); 864 //txtPOBox->setText( (*slBusinessAddress)[2] );
865 txtCity->setText( (*slBusinessAddress)[3] ); 865 txtCity->setText( (*slBusinessAddress)[3] );
866 txtState->setText( (*slBusinessAddress)[4] ); 866 txtState->setText( (*slBusinessAddress)[4] );
867 txtZip->setText( (*slBusinessAddress)[5] ); 867 txtZip->setText( (*slBusinessAddress)[5] );
868 QLineEdit *txtTmp = cmbCountry->lineEdit(); 868 QLineEdit *txtTmp = cmbCountry->lineEdit();
869 txtTmp->setText( (*slBusinessAddress)[6] ); 869 txtTmp->setText( (*slBusinessAddress)[6] );
870 870
871 } else { 871 } else {
872 872
873 txtAddress->setText( (*slHomeAddress)[0] ); 873 txtAddress->setText( (*slHomeAddress)[0] );
874 //txtAddress2->setText( (*slHomeAddress)[1] ); 874 //txtAddress2->setText( (*slHomeAddress)[1] );
875 //txtPOBox->setText( (*slHomeAddress)[2] ); 875 //txtPOBox->setText( (*slHomeAddress)[2] );
876 txtCity->setText( (*slHomeAddress)[3] ); 876 txtCity->setText( (*slHomeAddress)[3] );
877 txtState->setText( (*slHomeAddress)[4] ); 877 txtState->setText( (*slHomeAddress)[4] );
878 txtZip->setText( (*slHomeAddress)[5] ); 878 txtZip->setText( (*slHomeAddress)[5] );
879 QLineEdit *txtTmp = cmbCountry->lineEdit(); 879 QLineEdit *txtTmp = cmbCountry->lineEdit();
880 txtTmp->setText( (*slHomeAddress)[6] ); 880 txtTmp->setText( (*slHomeAddress)[6] );
881 881
882 } 882 }
883 883
884} 884}
885 885
886void ContactEditor::slotFullNameChange( const QString &textChanged ) { 886void ContactEditor::slotFullNameChange( const QString &textChanged ) {
887 887
888 int index = cmbFileAs->currentItem(); 888 int index = cmbFileAs->currentItem();
889 889
890 cmbFileAs->clear(); 890 cmbFileAs->clear();
891 891
892 cmbFileAs->insertItem( parseName( textChanged, 0 ) ); 892 cmbFileAs->insertItem( parseName( textChanged, 0 ) );
893 cmbFileAs->insertItem( parseName( textChanged, 1 ) ); 893 cmbFileAs->insertItem( parseName( textChanged, 1 ) );
894 cmbFileAs->insertItem( parseName( textChanged, 2 ) ); 894 cmbFileAs->insertItem( parseName( textChanged, 2 ) );
895 cmbFileAs->insertItem( parseName( textChanged, 3 ) ); 895 cmbFileAs->insertItem( parseName( textChanged, 3 ) );
896 896
897 cmbFileAs->setCurrentItem( index ); 897 cmbFileAs->setCurrentItem( index );
898 898
899 useFullName = TRUE; 899 useFullName = TRUE;
900 900
901 } 901 }
902 902
903void ContactEditor::loadFields() { 903void ContactEditor::loadFields() {
904 904
905 QStringList::ConstIterator it; 905 QStringList::ConstIterator it;
906 QListIterator<QLabel> lit( listName ); 906 QListIterator<QLabel> lit( listName );
907 for ( it = slDynamicEntries->begin(); *lit; ++lit, ++it) { 907 for ( it = slDynamicEntries->begin(); *lit; ++lit, ++it) {
908 (*lit)->setText( *it ); 908 (*lit)->setText( *it );
909 } 909 }
910} 910}
911 911
912void ContactEditor::accept() { 912void ContactEditor::accept() {
913 913
914 if ( isEmpty() ) { 914 if ( isEmpty() ) {
915 cleanupFields(); 915 cleanupFields();
916 reject(); 916 reject();
917 } else { 917 } else {
918 saveEntry(); 918 saveEntry();
919 cleanupFields(); 919 cleanupFields();
920 QDialog::accept(); 920 QDialog::accept();
921 } 921 }
922 922
923} 923}
924 924
925void ContactEditor::slotNote() { 925void ContactEditor::slotNote() {
926 926
927 dlgNote->showMaximized(); 927 dlgNote->showMaximized();
928 if ( !dlgNote->exec() ) { 928 if ( !dlgNote->exec() ) {
929 txtNote->setText( ent.notes() ); 929 txtNote->setText( ent.notes() );
930 } 930 }
931} 931}
932 932
933void ContactEditor::slotName() { 933void ContactEditor::slotName() {
934 934
935 if (useFullName = TRUE) { 935 if (useFullName = TRUE) {
936 txtFirstName->setText( parseName(txtFullName->text(), NAME_F) ); 936 txtFirstName->setText( parseName(txtFullName->text(), NAME_F) );
937 txtMiddleName->setText( parseName(txtFullName->text(), NAME_M) ); 937 txtMiddleName->setText( parseName(txtFullName->text(), NAME_M) );
938 txtLastName->setText( parseName(txtFullName->text(), NAME_L) ); 938 txtLastName->setText( parseName(txtFullName->text(), NAME_L) );
939 txtSuffix->setText( parseName(txtFullName->text(), NAME_S) ); 939 txtSuffix->setText( parseName(txtFullName->text(), NAME_S) );
940 } 940 }
941 941
942 dlgName->showMaximized(); 942 dlgName->showMaximized();
943 if ( dlgName->exec() ) { 943 if ( dlgName->exec() ) {
944 txtFullName->setText( txtFirstName->text() + " " + txtMiddleName->text() + " " + txtLastName->text() + " " + txtSuffix->text() ); 944 txtFullName->setText( txtFirstName->text() + " " + txtMiddleName->text() + " " + txtLastName->text() + " " + txtSuffix->text() );
945 slotFullNameChange( txtFullName->text() ); 945 slotFullNameChange( txtFullName->text() );
946 useFullName = FALSE; 946 useFullName = FALSE;
947 } 947 }
948 948
949} 949}
950 950
951void ContactEditor::setNameFocus() { 951void ContactEditor::setNameFocus() {
952 952
953 txtFullName->setFocus(); 953 txtFullName->setFocus();
954 954
955} 955}
956 956
957bool ContactEditor::isEmpty() { 957bool ContactEditor::isEmpty() {
958 // Test and see if the record should be saved. 958 // Test and see if the record should be saved.
959 // More strict than the original qtopia, needs name or fileas to save 959 // More strict than the original qtopia, needs name or fileas to save
960 960
961 QString t = txtFullName->text(); 961 QString t = txtFullName->text();
962 if ( !t.isEmpty() && containsAlphaNum( t ) ) 962 if ( !t.isEmpty() && containsAlphaNum( t ) )
963 return false; 963 return false;
964 964
965 t = cmbFileAs->currentText(); 965 t = cmbFileAs->currentText();
966 if ( !t.isEmpty() && containsAlphaNum( t ) ) 966 if ( !t.isEmpty() && containsAlphaNum( t ) )
967 return false; 967 return false;
968 968
969 return true; 969 return true;
970 970
971} 971}
972 972
973QString ContactEditor::parseName( const QString fullName, int type ) { 973QString ContactEditor::parseName( const QString fullName, int type ) {
974 974
975 QString simplifiedName( fullName.simplifyWhiteSpace() ); 975 QString simplifiedName( fullName.simplifyWhiteSpace() );
976 QString strFirstName; 976 QString strFirstName;
977 QString strMiddleName; 977 QString strMiddleName;
978 QString strLastName; 978 QString strLastName;
979 QString strSuffix; 979 QString strSuffix;
980 QString strTitle; 980 QString strTitle;
981 int commapos; 981 int commapos;
982 int spCount; 982 int spCount;
983 int spPos; 983 int spPos;
984 int spPos2; 984 int spPos2;
985 985
986 986
987 commapos = simplifiedName.find( ',', 0, TRUE); 987 commapos = simplifiedName.find( ',', 0, TRUE);
988 spCount = simplifiedName.contains( ' ', TRUE ); 988 spCount = simplifiedName.contains( ' ', TRUE );
989 989
990 if ( commapos == -1 ) { 990 if ( commapos == -1 ) {
991 991
992 switch (spCount) { 992 switch (spCount) {
993 case 0: 993 case 0:
994 return simplifiedName; 994 return simplifiedName;
995 995
996 case 1: 996 case 1:
997 spPos = simplifiedName.find( ' ', 0, TRUE ); 997 spPos = simplifiedName.find( ' ', 0, TRUE );
998 strFirstName = simplifiedName.left( spPos ); 998 strFirstName = simplifiedName.left( spPos );
999 strLastName = simplifiedName.mid( spPos + 1 ); 999 strLastName = simplifiedName.mid( spPos + 1 );
1000 break; 1000 break;
1001 1001
1002 case 2: 1002 case 2:
1003 spPos = simplifiedName.find( ' ', 0, TRUE ); 1003 spPos = simplifiedName.find( ' ', 0, TRUE );
1004 strFirstName = simplifiedName.left( spPos ); 1004 strFirstName = simplifiedName.left( spPos );
1005 spPos2 = simplifiedName.find( ' ', spPos + 1, TRUE ); 1005 spPos2 = simplifiedName.find( ' ', spPos + 1, TRUE );
1006 strMiddleName = simplifiedName.mid( spPos + 1, (spPos2 - 1) - spPos ); 1006 strMiddleName = simplifiedName.mid( spPos + 1, (spPos2 - 1) - spPos );
1007 strLastName = simplifiedName.mid( spPos2 + 1 ); 1007 strLastName = simplifiedName.mid( spPos2 + 1 );
1008 break; 1008 break;
1009 1009
1010 case 3: 1010 case 3:
1011 spPos = simplifiedName.find( ' ', 0, TRUE ); 1011 spPos = simplifiedName.find( ' ', 0, TRUE );
1012 strFirstName = simplifiedName.left( spPos ); 1012 strFirstName = simplifiedName.left( spPos );
1013 spPos2 = simplifiedName.find( ' ', spPos + 1, TRUE ); 1013 spPos2 = simplifiedName.find( ' ', spPos + 1, TRUE );
1014 strMiddleName = simplifiedName.mid( spPos + 1, (spPos2 - 1) - spPos ); 1014 strMiddleName = simplifiedName.mid( spPos + 1, (spPos2 - 1) - spPos );
1015 spPos = simplifiedName.find( ' ', spPos2 + 1, TRUE ); 1015 spPos = simplifiedName.find( ' ', spPos2 + 1, TRUE );
1016 strLastName = simplifiedName.mid( spPos2 + 1, (spPos - 1) - spPos ); 1016 strLastName = simplifiedName.mid( spPos2 + 1, (spPos - 1) - spPos2 );
1017 strSuffix = simplifiedName.mid( spPos + 1 ); 1017 strSuffix = simplifiedName.mid( spPos + 1 );
1018 break; 1018 break;
1019 1019
1020 case 4: 1020 case 4:
1021 spPos = simplifiedName.find( ' ', 0, TRUE ); 1021 spPos = simplifiedName.find( ' ', 0, TRUE );
1022 strTitle = simplifiedName.left( spPos ); 1022 strTitle = simplifiedName.left( spPos );
1023 spPos2 = simplifiedName.find( ' ', spPos + 1, TRUE ); 1023 spPos2 = simplifiedName.find( ' ', spPos + 1, TRUE );
1024 strFirstName = simplifiedName.mid( spPos + 1, (spPos2 - 1) - spPos ); 1024 strFirstName = simplifiedName.mid( spPos + 1, (spPos2 - 1) - spPos );
1025 spPos = simplifiedName.find( ' ', spPos2 + 1, TRUE ); 1025 spPos = simplifiedName.find( ' ', spPos2 + 1, TRUE );
1026 strMiddleName = simplifiedName.mid( spPos2 + 1, (spPos - 1) - spPos ); 1026 strMiddleName = simplifiedName.mid( spPos2 + 1, (spPos - 1) - spPos2 );
1027 spPos2 = simplifiedName.find( ' ', spPos + 1, TRUE ); 1027 spPos2 = simplifiedName.find( ' ', spPos + 1, TRUE );
1028 strLastName = simplifiedName.mid( spPos + 1, (spPos2 - 1) - spPos ); 1028 strLastName = simplifiedName.mid( spPos + 1, (spPos2 - 1) - spPos );
1029 strSuffix = simplifiedName.mid( spPos2 + 1 ); 1029 strSuffix = simplifiedName.mid( spPos2 + 1 );
1030 break; 1030 break;
1031 1031
1032 default: 1032 default:
1033 spPos = simplifiedName.find( ' ', 0, TRUE ); 1033 spPos = simplifiedName.find( ' ', 0, TRUE );
1034 strTitle = simplifiedName.left( spPos ); 1034 strTitle = simplifiedName.left( spPos );
1035 spPos2 = simplifiedName.find( ' ', spPos + 1, TRUE ); 1035 spPos2 = simplifiedName.find( ' ', spPos + 1, TRUE );
1036 strFirstName = simplifiedName.mid( spPos + 1, (spPos2 - 1) - spPos ); 1036 strFirstName = simplifiedName.mid( spPos + 1, (spPos2 - 1) - spPos );
1037 spPos = simplifiedName.find( ' ', spPos2 + 1, TRUE ); 1037 spPos = simplifiedName.find( ' ', spPos2 + 1, TRUE );
1038 strMiddleName = simplifiedName.mid( spPos2 + 1, (spPos - 1) - spPos ); 1038 strMiddleName = simplifiedName.mid( spPos2 + 1, (spPos - 1) - spPos2 );
1039 spPos2 = simplifiedName.find( ' ', spPos + 1, TRUE ); 1039 spPos2 = simplifiedName.find( ' ', spPos + 1, TRUE );
1040 strLastName = simplifiedName.mid( spPos + 1, (spPos2 - 1) - spPos ); 1040 strLastName = simplifiedName.mid( spPos + 1, (spPos2 - 1) - spPos );
1041 strSuffix = simplifiedName.mid( spPos2 + 1 ); 1041 strSuffix = simplifiedName.mid( spPos2 + 1 );
1042 break; 1042 break;
1043 } 1043 }
1044 } else { 1044 } else {
1045 simplifiedName.replace( commapos, 1, " " ); 1045 simplifiedName.replace( commapos, 1, " " );
1046 simplifiedName = simplifiedName.simplifyWhiteSpace(); 1046 simplifiedName = simplifiedName.simplifyWhiteSpace();
1047 1047
1048 switch (spCount) { 1048 switch (spCount) {
1049 case 0: 1049 case 0:
1050 return simplifiedName; 1050 return simplifiedName;
1051 1051
1052 case 1: 1052 case 1:
1053 spPos = simplifiedName.find( ' ', 0, TRUE ); 1053 spPos = simplifiedName.find( ' ', 0, TRUE );
1054 strLastName = simplifiedName.left( spPos ); 1054 strLastName = simplifiedName.left( spPos );
1055 strFirstName = simplifiedName.mid( spPos + 1 ); 1055 strFirstName = simplifiedName.mid( spPos + 1 );
1056 break; 1056 break;
1057 1057
1058 case 2: 1058 case 2:
1059 spPos = simplifiedName.find( ' ', 0, TRUE ); 1059 spPos = simplifiedName.find( ' ', 0, TRUE );
1060 strLastName = simplifiedName.left( spPos ); 1060 strLastName = simplifiedName.left( spPos );
1061 spPos2 = simplifiedName.find( ' ', spPos + 1, TRUE ); 1061 spPos2 = simplifiedName.find( ' ', spPos + 1, TRUE );
1062 strFirstName = simplifiedName.mid( spPos + 1, (spPos2 - 1) - spPos ); 1062 strFirstName = simplifiedName.mid( spPos + 1, (spPos2 - 1) - spPos );
1063 strMiddleName = simplifiedName.mid( spPos2 + 1 ); 1063 strMiddleName = simplifiedName.mid( spPos2 + 1 );
1064 break; 1064 break;
1065 1065
1066 case 3: 1066 case 3:
1067 spPos = simplifiedName.find( ' ', 0, TRUE ); 1067 spPos = simplifiedName.find( ' ', 0, TRUE );
1068 strLastName = simplifiedName.left( spPos ); 1068 strLastName = simplifiedName.left( spPos );
1069 spPos2 = simplifiedName.find( ' ', spPos + 1, TRUE ); 1069 spPos2 = simplifiedName.find( ' ', spPos + 1, TRUE );
1070 strFirstName = simplifiedName.mid( spPos + 1, (spPos2 - 1) - spPos ); 1070 strFirstName = simplifiedName.mid( spPos + 1, (spPos2 - 1) - spPos );
1071 spPos = simplifiedName.find( ' ', spPos2 + 1, TRUE ); 1071 spPos = simplifiedName.find( ' ', spPos2 + 1, TRUE );
1072 strMiddleName = simplifiedName.mid( spPos2 + 1, (spPos - 1) - spPos ); 1072 strMiddleName = simplifiedName.mid( spPos2 + 1, (spPos - 1) - spPos2 );
1073 strSuffix = simplifiedName.mid( spPos + 1 ); 1073 strSuffix = simplifiedName.mid( spPos + 1 );
1074 break; 1074 break;
1075 1075
1076 case 4: 1076 case 4:
1077 spPos = simplifiedName.find( ' ', 0, TRUE ); 1077 spPos = simplifiedName.find( ' ', 0, TRUE );
1078 strLastName = simplifiedName.left( spPos ); 1078 strLastName = simplifiedName.left( spPos );
1079 spPos2 = simplifiedName.find( ' ', spPos + 1, TRUE ); 1079 spPos2 = simplifiedName.find( ' ', spPos + 1, TRUE );
1080 strTitle = simplifiedName.mid( spPos + 1, (spPos2 - 1) - spPos ); 1080 strTitle = simplifiedName.mid( spPos + 1, (spPos2 - 1) - spPos );
1081 spPos = simplifiedName.find( ' ', spPos2 + 1, TRUE ); 1081 spPos = simplifiedName.find( ' ', spPos2 + 1, TRUE );
1082 strFirstName = simplifiedName.mid( spPos2 + 1, (spPos - 1) - spPos ); 1082 strFirstName = simplifiedName.mid( spPos2 + 1, (spPos - 1) - spPos2 );
1083 spPos2 = simplifiedName.find( ' ', spPos + 1, TRUE ); 1083 spPos2 = simplifiedName.find( ' ', spPos + 1, TRUE );
1084 strMiddleName = simplifiedName.mid( spPos + 1, (spPos2 - 1) - spPos ); 1084 strMiddleName = simplifiedName.mid( spPos + 1, (spPos2 - 1) - spPos );
1085 strSuffix = simplifiedName.mid( spPos2 + 1 ); 1085 strSuffix = simplifiedName.mid( spPos2 + 1 );
1086 break; 1086 break;
1087 1087
1088 default: 1088 default:
1089 spPos = simplifiedName.find( ' ', 0, TRUE ); 1089 spPos = simplifiedName.find( ' ', 0, TRUE );
1090 strLastName = simplifiedName.left( spPos ); 1090 strLastName = simplifiedName.left( spPos );
1091 spPos2 = simplifiedName.find( ' ', spPos + 1, TRUE ); 1091 spPos2 = simplifiedName.find( ' ', spPos + 1, TRUE );
1092 strTitle = simplifiedName.mid( spPos + 1, (spPos2 - 1) - spPos ); 1092 strTitle = simplifiedName.mid( spPos + 1, (spPos2 - 1) - spPos );
1093 spPos = simplifiedName.find( ' ', spPos2 + 1, TRUE ); 1093 spPos = simplifiedName.find( ' ', spPos2 + 1, TRUE );
1094 strFirstName = simplifiedName.mid( spPos2 + 1, (spPos - 1) - spPos ); 1094 strFirstName = simplifiedName.mid( spPos2 + 1, (spPos - 1) - spPos );
1095 spPos2 = simplifiedName.find( ' ', spPos + 1, TRUE ); 1095 spPos2 = simplifiedName.find( ' ', spPos + 1, TRUE );
1096 strMiddleName = simplifiedName.mid( spPos + 1, (spPos2 - 1) - spPos ); 1096 strMiddleName = simplifiedName.mid( spPos + 1, (spPos2 - 1) - spPos );
1097 strSuffix = simplifiedName.mid( spPos2 + 1 ); 1097 strSuffix = simplifiedName.mid( spPos2 + 1 );
1098 break; 1098 break;
1099 } 1099 }
1100 } 1100 }
1101 1101
1102 switch (type) { 1102 switch (type) {
1103 case NAME_FL: 1103 case NAME_FL:
1104 return strFirstName + " " + strLastName; 1104 return strFirstName + " " + strLastName;
1105 1105
1106 case NAME_LF: 1106 case NAME_LF:
1107 return strLastName + ", " + strFirstName; 1107 return strLastName + ", " + strFirstName;
1108 1108
1109 case NAME_LFM: 1109 case NAME_LFM:
1110 return strLastName + ", " + strFirstName + " " + strMiddleName; 1110 return strLastName + ", " + strFirstName + " " + strMiddleName;
1111 1111
1112 case NAME_FMLS: 1112 case NAME_FMLS:
1113 return strFirstName + " " + strMiddleName + " " + strLastName + " " + strSuffix; 1113 return strFirstName + " " + strMiddleName + " " + strLastName + " " + strSuffix;
1114 1114
1115 case NAME_F: 1115 case NAME_F:
1116 return strFirstName; 1116 return strFirstName;
1117 1117
1118 case NAME_M: 1118 case NAME_M:
1119 return strMiddleName; 1119 return strMiddleName;
1120 1120
1121 case NAME_L: 1121 case NAME_L:
1122 return strLastName; 1122 return strLastName;
1123 1123
1124 case NAME_S: 1124 case NAME_S:
1125 return strSuffix; 1125 return strSuffix;
1126 1126
1127 } 1127 }
1128} 1128}
1129 1129
1130void ContactEditor::cleanupFields() { 1130void ContactEditor::cleanupFields() {
1131 1131
1132 QStringList::Iterator it = slChooserValues->begin(); 1132 QStringList::Iterator it = slChooserValues->begin();
1133 for ( int i = 0; it != slChooserValues->end(); i++, ++it ) { 1133 for ( int i = 0; it != slChooserValues->end(); i++, ++it ) {
1134 (*it) = ""; 1134 (*it) = "";
1135 } 1135 }
1136 1136
1137 for ( int i = 0; i < 7; i++ ) { 1137 for ( int i = 0; i < 7; i++ ) {
1138 (*slHomeAddress)[i] = ""; 1138 (*slHomeAddress)[i] = "";
1139 (*slBusinessAddress)[i] = ""; 1139 (*slBusinessAddress)[i] = "";
1140 } 1140 }
1141 1141
1142 QStringList::ConstIterator cit; 1142 QStringList::ConstIterator cit;
1143 QListIterator<QLineEdit> itLE( listValue ); 1143 QListIterator<QLineEdit> itLE( listValue );
1144 for ( cit = slDynamicEntries->begin(); cit != slDynamicEntries->end(); ++cit, ++itLE) { 1144 for ( cit = slDynamicEntries->begin(); cit != slDynamicEntries->end(); ++cit, ++itLE) {
1145 (*itLE)->setText( "" ); 1145 (*itLE)->setText( "" );
1146 } 1146 }
1147 1147
1148 txtFirstName->setText(""); 1148 txtFirstName->setText("");
1149 txtMiddleName->setText(""); 1149 txtMiddleName->setText("");
1150 txtLastName->setText(""); 1150 txtLastName->setText("");
1151 txtSuffix->setText(""); 1151 txtSuffix->setText("");
1152 txtNote->setText(""); 1152 txtNote->setText("");
1153 txtFullName->setText(""); 1153 txtFullName->setText("");
1154 txtJobTitle->setText(""); 1154 txtJobTitle->setText("");
1155 txtOrganization->setText(""); 1155 txtOrganization->setText("");
1156 txtChooserField1->setText(""); 1156 txtChooserField1->setText("");
1157 txtChooserField2->setText(""); 1157 txtChooserField2->setText("");
1158 txtChooserField3->setText(""); 1158 txtChooserField3->setText("");
1159 txtAddress->setText(""); 1159 txtAddress->setText("");
1160 //txtAddress2->setText(""); 1160 //txtAddress2->setText("");
1161 txtCity->setText(""); 1161 txtCity->setText("");
1162 //txtPOBox->setText(""); 1162 //txtPOBox->setText("");
1163 txtState->setText(""); 1163 txtState->setText("");
1164 txtZip->setText(""); 1164 txtZip->setText("");
1165 QLineEdit *txtTmp = cmbCountry->lineEdit(); 1165 QLineEdit *txtTmp = cmbCountry->lineEdit();
1166 txtTmp->setText(""); 1166 txtTmp->setText("");
1167 txtTmp = cmbFileAs->lineEdit(); 1167 txtTmp = cmbFileAs->lineEdit();
1168 txtTmp->setText(""); 1168 txtTmp->setText("");
1169 1169
1170} 1170}
1171 1171
1172void ContactEditor::setEntry( const Contact &entry ) { 1172void ContactEditor::setEntry( const Contact &entry ) {
1173 1173
1174 cleanupFields(); 1174 cleanupFields();
1175 1175
1176 1176
1177 ent = entry; 1177 ent = entry;
1178 1178
1179 useFullName = FALSE; 1179 useFullName = FALSE;
1180 txtFirstName->setText( ent.firstName() ); 1180 txtFirstName->setText( ent.firstName() );
1181 txtMiddleName->setText( ent.middleName() ); 1181 txtMiddleName->setText( ent.middleName() );
1182 txtLastName->setText( ent.lastName() ); 1182 txtLastName->setText( ent.lastName() );
1183 txtSuffix->setText( ent.suffix() ); 1183 txtSuffix->setText( ent.suffix() );
1184 1184
1185 QString *tmpString = new QString; 1185 QString *tmpString = new QString;
1186 *tmpString = ent.firstName() + " " + ent.middleName() + 1186 *tmpString = ent.firstName() + " " + ent.middleName() +
1187 + " " + ent.lastName() + " " + ent.suffix(); 1187 + " " + ent.lastName() + " " + ent.suffix();
1188 1188
1189 txtFullName->setText( tmpString->simplifyWhiteSpace() ); 1189 txtFullName->setText( tmpString->simplifyWhiteSpace() );
1190 1190
1191 cmbFileAs->setEditText( ent.fileAs() ); 1191 cmbFileAs->setEditText( ent.fileAs() );
1192 1192
1193 if (hasTitle) 1193 if (hasTitle)
1194 txtJobTitle->setText( ent.jobTitle() ); 1194 txtJobTitle->setText( ent.jobTitle() );
1195 1195
1196 if (hasCompany) 1196 if (hasCompany)
1197 txtOrganization->setText( ent.company() ); 1197 txtOrganization->setText( ent.company() );
1198 1198
1199 if (hasNotes) 1199 if (hasNotes)
1200 txtNote->setText( ent.notes() ); 1200 txtNote->setText( ent.notes() );
1201 1201
1202 if (hasStreet) { 1202 if (hasStreet) {
1203 (*slHomeAddress)[0] = ent.homeStreet(); 1203 (*slHomeAddress)[0] = ent.homeStreet();
1204 (*slBusinessAddress)[0] = ent.businessStreet(); 1204 (*slBusinessAddress)[0] = ent.businessStreet();
1205 } 1205 }
1206/* 1206/*
1207 if (hasStreet2) { 1207 if (hasStreet2) {
1208 (*slHomeAddress)[1] = ent.homeStreet2(); 1208 (*slHomeAddress)[1] = ent.homeStreet2();
1209 (*slBusinessAddress)[1] = ent.businessStreet2(); 1209 (*slBusinessAddress)[1] = ent.businessStreet2();
1210 } 1210 }
1211 1211
1212 if (hasPOBox) { 1212 if (hasPOBox) {
1213 (*slHomeAddress)[2] = ent.homePOBox(); 1213 (*slHomeAddress)[2] = ent.homePOBox();
1214 (*slBusinessAddress)[2] = ent.businessPOBox(); 1214 (*slBusinessAddress)[2] = ent.businessPOBox();
1215 } 1215 }
1216*/ 1216*/
1217 if (hasCity) { 1217 if (hasCity) {
1218 (*slHomeAddress)[3] = ent.homeCity(); 1218 (*slHomeAddress)[3] = ent.homeCity();
1219 (*slBusinessAddress)[3] = ent.businessCity(); 1219 (*slBusinessAddress)[3] = ent.businessCity();
1220 } 1220 }
1221 1221
1222 if (hasState) { 1222 if (hasState) {
1223 (*slHomeAddress)[4] = ent.homeState(); 1223 (*slHomeAddress)[4] = ent.homeState();
1224 (*slBusinessAddress)[4] = ent.businessState(); 1224 (*slBusinessAddress)[4] = ent.businessState();
1225 } 1225 }
1226 1226
1227 if (hasZip) { 1227 if (hasZip) {
1228 (*slHomeAddress)[5] = ent.homeZip(); 1228 (*slHomeAddress)[5] = ent.homeZip();
1229 (*slBusinessAddress)[5] = ent.businessZip(); 1229 (*slBusinessAddress)[5] = ent.businessZip();
1230 } 1230 }
1231 1231
1232 if (hasCountry) { 1232 if (hasCountry) {
1233 (*slHomeAddress)[6] = ent.homeCountry(); 1233 (*slHomeAddress)[6] = ent.homeCountry();
1234 (*slBusinessAddress)[6] = ent.businessCountry(); 1234 (*slBusinessAddress)[6] = ent.businessCountry();
1235 } 1235 }
1236 1236
1237 QStringList::ConstIterator it; 1237 QStringList::ConstIterator it;
1238 QListIterator<QLineEdit> itLE( listValue ); 1238 QListIterator<QLineEdit> itLE( listValue );
1239 for ( it = slDynamicEntries->begin(); it != slDynamicEntries->end(); ++it, ++itLE) { 1239 for ( it = slDynamicEntries->begin(); it != slDynamicEntries->end(); ++it, ++itLE) {
1240 if ( *it == "Department" ) 1240 if ( *it == "Department" )
1241 (*itLE)->setText( ent.department() ); 1241 (*itLE)->setText( ent.department() );
1242 1242
1243 if ( *it == "Company" ) 1243 if ( *it == "Company" )
1244 (*itLE)->setText( ent.company() ); 1244 (*itLE)->setText( ent.company() );
1245 1245
1246 if ( *it == "Office" ) 1246 if ( *it == "Office" )
1247 (*itLE)->setText( ent.office() ); 1247 (*itLE)->setText( ent.office() );
1248 1248
1249 if ( *it == "Profession" ) 1249 if ( *it == "Profession" )
1250 (*itLE)->setText( ent.profession() ); 1250 (*itLE)->setText( ent.profession() );
1251 1251
1252 if ( *it == "Assistant" ) 1252 if ( *it == "Assistant" )
1253 (*itLE)->setText( ent.assistant() ); 1253 (*itLE)->setText( ent.assistant() );
1254 1254
1255 if ( *it == "Manager" ) 1255 if ( *it == "Manager" )
1256 (*itLE)->setText( ent.manager() ); 1256 (*itLE)->setText( ent.manager() );
1257 1257
1258 if ( *it == "Spouse" ) 1258 if ( *it == "Spouse" )
1259 (*itLE)->setText( ent.spouse() ); 1259 (*itLE)->setText( ent.spouse() );
1260 1260
1261 if ( *it == "Birthday" ) 1261 if ( *it == "Birthday" )
1262 (*itLE)->setText( ent.birthday() ); 1262 (*itLE)->setText( ent.birthday() );
1263 1263
1264 if ( *it == "Anniversary" ) 1264 if ( *it == "Anniversary" )
1265 (*itLE)->setText( ent.anniversary() ); 1265 (*itLE)->setText( ent.anniversary() );
1266 1266
1267 if ( *it == "Nickname" ) 1267 if ( *it == "Nickname" )
1268 (*itLE)->setText( ent.nickname() ); 1268 (*itLE)->setText( ent.nickname() );
1269 1269
1270 if ( *it == "Children" ) 1270 if ( *it == "Children" )
1271 (*itLE)->setText( ent.children() ); 1271 (*itLE)->setText( ent.children() );
1272 1272
1273 } 1273 }
1274 1274
1275 QStringList::Iterator itV; 1275 QStringList::Iterator itV;
1276 for ( it = slChooserNames->begin(), itV = slChooserValues->begin(); it != slChooserNames->end(); ++it, ++itV ) { 1276 for ( it = slChooserNames->begin(), itV = slChooserValues->begin(); it != slChooserNames->end(); ++it, ++itV ) {
1277 1277
1278 if ( *it == "Business Phone" || *it == "Work Phone" ) 1278 if ( *it == "Business Phone" || *it == "Work Phone" )
1279 *itV = ent.businessPhone(); 1279 *itV = ent.businessPhone();
1280/* 1280/*
1281 if ( *it == "Business 2 Phone" ) 1281 if ( *it == "Business 2 Phone" )
1282 *itV = ent.business2Phone(); 1282 *itV = ent.business2Phone();
1283*/ 1283*/
1284 if ( *it == "Business Fax" || *it == "Work Fax" ) 1284 if ( *it == "Business Fax" || *it == "Work Fax" )
1285 *itV = ent.businessFax(); 1285 *itV = ent.businessFax();
1286 1286
1287 if ( *it == "Business Mobile" || *it == "work Mobile" ) 1287 if ( *it == "Business Mobile" || *it == "work Mobile" )
1288 *itV = ent.businessMobile(); 1288 *itV = ent.businessMobile();
1289/* 1289/*
1290 if ( *it == "Company Phone" ) 1290 if ( *it == "Company Phone" )
1291 *itV = ent.companyPhone(); 1291 *itV = ent.companyPhone();
1292*/ 1292*/
1293 if ( *it == "Default Email" ) 1293 if ( *it == "Default Email" )
1294 *itV = ent.defaultEmail(); 1294 *itV = ent.defaultEmail();
1295 1295
1296 if ( *it == "Emails" ) 1296 if ( *it == "Emails" )
1297 *itV = ent.emails(); 1297 *itV = ent.emails();
1298 1298
1299 if ( *it == "Home Phone" ) 1299 if ( *it == "Home Phone" )
1300 *itV = ent.homePhone(); 1300 *itV = ent.homePhone();
1301/* 1301/*
1302 if ( *it == "Home 2 Phone" ) 1302 if ( *it == "Home 2 Phone" )
1303 *itV = ent.home2Phone(); 1303 *itV = ent.home2Phone();
1304*/ 1304*/
1305 if ( *it == "Home Fax" ) 1305 if ( *it == "Home Fax" )
1306 *itV = ent.homeFax(); 1306 *itV = ent.homeFax();
1307 1307
1308 if ( *it == "Home Mobile" ) 1308 if ( *it == "Home Mobile" )
1309 *itV = ent.homeMobile(); 1309 *itV = ent.homeMobile();
1310/* 1310/*
1311 if ( *it == "Car Phone" ) 1311 if ( *it == "Car Phone" )
1312 *itV = ent.carPhone(); 1312 *itV = ent.carPhone();
1313 1313
1314 if ( *it == "ISDN Phone" ) 1314 if ( *it == "ISDN Phone" )
1315 *itV = ent.ISDNPhone(); 1315 *itV = ent.ISDNPhone();
1316 1316
1317 if ( *it == "Other Phone" ) 1317 if ( *it == "Other Phone" )
1318 *itV = ent.otherPhone(); 1318 *itV = ent.otherPhone();
1319*/ 1319*/
1320 if ( *it == "Business Pager" || *it == "Work Pager" ) 1320 if ( *it == "Business Pager" || *it == "Work Pager" )
1321 *itV = ent.businessPager(); 1321 *itV = ent.businessPager();
1322/* 1322/*
1323 if ( *it == "Home Pager") 1323 if ( *it == "Home Pager")
1324 *itV = ent.homePager(); 1324 *itV = ent.homePager();
1325 1325
1326 if ( *it == "AIM IM" ) 1326 if ( *it == "AIM IM" )
1327 *itV = ent.AIMIM(); 1327 *itV = ent.AIMIM();
1328 1328
1329 if ( *it == "ICQ IM" ) 1329 if ( *it == "ICQ IM" )
1330 *itV = ent.ICQIM(); 1330 *itV = ent.ICQIM();
1331 1331
1332 if ( *it == "Jabber IM" ) 1332 if ( *it == "Jabber IM" )
1333 *itV = ent.jabberIM(); 1333 *itV = ent.jabberIM();
1334 1334
1335 if ( *it == "MSN IM" ) 1335 if ( *it == "MSN IM" )
1336 *itV = ent.MSNIM(); 1336 *itV = ent.MSNIM();
1337 1337
1338 if ( *it == "Yahoo IM" ) 1338 if ( *it == "Yahoo IM" )
1339 *itV = ent.yahooIM(); 1339 *itV = ent.yahooIM();
1340*/ 1340*/
1341 if ( *it == "Home Web Page" ) 1341 if ( *it == "Home Web Page" )
1342 *itV = ent.homeWebpage(); 1342 *itV = ent.homeWebpage();
1343 if ( *it == "Business Web Page" || *it == "Work Web Page" ) 1343 if ( *it == "Business Web Page" || *it == "Work Web Page" )
1344 *itV = ent.businessWebpage(); 1344 *itV = ent.businessWebpage();
1345 1345
1346 1346
1347 } 1347 }
1348 1348
1349 cmbCat->setCategories( ent.categories(), "Contacts", tr("Contacts") ); 1349 cmbCat->setCategories( ent.categories(), "Contacts", tr("Contacts") );
1350 1350
1351 QString gender = ent.gender(); 1351 QString gender = ent.gender();
1352 cmbGender->setCurrentItem( gender.toInt() ); 1352 cmbGender->setCurrentItem( gender.toInt() );
1353 1353
1354 txtNote->setText( ent.notes() ); 1354 txtNote->setText( ent.notes() );
1355 1355
1356 slotCmbChooser1Change( cmbChooserField1->currentItem() ); 1356 slotCmbChooser1Change( cmbChooserField1->currentItem() );
1357 slotCmbChooser2Change( cmbChooserField2->currentItem() ); 1357 slotCmbChooser2Change( cmbChooserField2->currentItem() );
1358 slotCmbChooser3Change( cmbChooserField3->currentItem() ); 1358 slotCmbChooser3Change( cmbChooserField3->currentItem() );
1359 1359
1360 slotAddressTypeChange( cmbAddress->currentItem() ); 1360 slotAddressTypeChange( cmbAddress->currentItem() );
1361 1361
1362} 1362}
1363 1363
1364void ContactEditor::saveEntry() { 1364void ContactEditor::saveEntry() {
1365 1365
1366 if ( useFullName == TRUE ) { 1366 if ( useFullName == TRUE ) {
1367 txtFirstName->setText( parseName( txtFullName->text(), NAME_F ) ); 1367 txtFirstName->setText( parseName( txtFullName->text(), NAME_F ) );
1368 txtMiddleName->setText( parseName( txtFullName->text(), NAME_M ) ); 1368 txtMiddleName->setText( parseName( txtFullName->text(), NAME_M ) );
1369 txtLastName->setText( parseName( txtFullName->text(), NAME_L ) ); 1369 txtLastName->setText( parseName( txtFullName->text(), NAME_L ) );
1370 txtSuffix->setText( parseName( txtFullName->text(), NAME_S ) ); 1370 txtSuffix->setText( parseName( txtFullName->text(), NAME_S ) );
1371 1371
1372 useFullName = FALSE; 1372 useFullName = FALSE;
1373 } 1373 }
1374 1374
1375 /*if ( ent.firstName() != txtFirstName->text() || 1375 /*if ( ent.firstName() != txtFirstName->text() ||
1376 ent.lastName != txtLastName->text() || 1376 ent.lastName != txtLastName->text() ||
1377 ent.middleName != txtMiddleName->text() ) { 1377 ent.middleName != txtMiddleName->text() ) {
1378 */ 1378 */
1379 ent.setFirstName( txtFirstName->text() ); 1379 ent.setFirstName( txtFirstName->text() );
1380 ent.setLastName( txtLastName->text() ); 1380 ent.setLastName( txtLastName->text() );
1381 ent.setMiddleName( txtMiddleName->text() ); 1381 ent.setMiddleName( txtMiddleName->text() );
1382 ent.setSuffix( txtSuffix->text() );
1382 1383
1383 //} 1384 //}
1384 1385
1385 ent.setFileAs( cmbFileAs->currentText() ); 1386 ent.setFileAs( cmbFileAs->currentText() );
1386 1387
1387 ent.setCategories( cmbCat->currentCategories() ); 1388 ent.setCategories( cmbCat->currentCategories() );
1388 1389
1389 if (hasTitle) 1390 if (hasTitle)
1390 ent.setJobTitle( txtJobTitle->text() ); 1391 ent.setJobTitle( txtJobTitle->text() );
1391 1392
1392 if (hasCompany) 1393 if (hasCompany)
1393 ent.setCompany( txtOrganization->text() ); 1394 ent.setCompany( txtOrganization->text() );
1394 1395
1395 if (hasNotes) 1396 if (hasNotes)
1396 ent.setNotes( txtNote->text() ); 1397 ent.setNotes( txtNote->text() );
1397 1398
1398 if (hasStreet) { 1399 if (hasStreet) {
1399 ent.setHomeStreet( (*slHomeAddress)[0] ); 1400 ent.setHomeStreet( (*slHomeAddress)[0] );
1400 ent.setBusinessStreet( (*slBusinessAddress)[0] ); 1401 ent.setBusinessStreet( (*slBusinessAddress)[0] );
1401 } 1402 }
1402/* 1403/*
1403 if (hasStreet2) { 1404 if (hasStreet2) {
1404 ent.setHomeStreet2( (*slHomeAddress)[1] ); 1405 ent.setHomeStreet2( (*slHomeAddress)[1] );
1405 ent.setBusinessStreet2( (*slBusinessAddress)[1] ); 1406 ent.setBusinessStreet2( (*slBusinessAddress)[1] );
1406 } 1407 }
1407 1408
1408 if (hasPOBox) { 1409 if (hasPOBox) {
1409 ent.setHomePOBox( (*slHomeAddress)[2] ); 1410 ent.setHomePOBox( (*slHomeAddress)[2] );
1410 ent.setBusinessPOBox( (*slBusinessAddress)[2] ); 1411 ent.setBusinessPOBox( (*slBusinessAddress)[2] );
1411 } 1412 }
1412*/ 1413*/
1413 if (hasCity) { 1414 if (hasCity) {
1414 ent.setHomeCity( (*slHomeAddress)[3] ); 1415 ent.setHomeCity( (*slHomeAddress)[3] );
1415 ent.setBusinessCity( (*slBusinessAddress)[3] ); 1416 ent.setBusinessCity( (*slBusinessAddress)[3] );
1416 } 1417 }
1417 1418
1418 if (hasState) { 1419 if (hasState) {
1419 ent.setHomeState( (*slHomeAddress)[4] ); 1420 ent.setHomeState( (*slHomeAddress)[4] );
1420 ent.setBusinessState( (*slBusinessAddress)[4] ); 1421 ent.setBusinessState( (*slBusinessAddress)[4] );
1421 } 1422 }
1422 1423
1423 if (hasZip) { 1424 if (hasZip) {
1424 ent.setHomeZip( (*slHomeAddress)[5] ); 1425 ent.setHomeZip( (*slHomeAddress)[5] );
1425 ent.setBusinessZip( (*slBusinessAddress)[5] ); 1426 ent.setBusinessZip( (*slBusinessAddress)[5] );
1426 } 1427 }
1427 1428
1428 if (hasCountry) { 1429 if (hasCountry) {
1429 ent.setHomeCountry( (*slHomeAddress)[6] ); 1430 ent.setHomeCountry( (*slHomeAddress)[6] );
1430 ent.setBusinessCountry( (*slBusinessAddress)[6] ); 1431 ent.setBusinessCountry( (*slBusinessAddress)[6] );
1431 } 1432 }
1432 1433
1433 QStringList::ConstIterator it; 1434 QStringList::ConstIterator it;
1434 QListIterator<QLineEdit> itLE( listValue ); 1435 QListIterator<QLineEdit> itLE( listValue );
1435 for ( it = slDynamicEntries->begin(); it != slDynamicEntries->end(); ++it, ++itLE) { 1436 for ( it = slDynamicEntries->begin(); it != slDynamicEntries->end(); ++it, ++itLE) {
1436 if ( *it == "Department" ) 1437 if ( *it == "Department" )
1437 ent.setDepartment( (*itLE)->text() ); 1438 ent.setDepartment( (*itLE)->text() );
1438 1439
1439 if ( *it == "Company" ) 1440 if ( *it == "Company" )
1440 ent.setCompany( (*itLE)->text() ); 1441 ent.setCompany( (*itLE)->text() );
1441 1442
1442 if ( *it == "Office" ) 1443 if ( *it == "Office" )
1443 ent.setOffice( (*itLE)->text() ); 1444 ent.setOffice( (*itLE)->text() );
1444 1445
1445 if ( *it == "Profession" ) 1446 if ( *it == "Profession" )
1446 ent.setProfession( (*itLE)->text() ); 1447 ent.setProfession( (*itLE)->text() );
1447 1448
1448 if ( *it == "Assistant" ) 1449 if ( *it == "Assistant" )
1449 ent.setAssistant( (*itLE)->text() ); 1450 ent.setAssistant( (*itLE)->text() );
1450 1451
1451 if ( *it == "Manager" ) 1452 if ( *it == "Manager" )
1452 ent.setManager( (*itLE)->text() ); 1453 ent.setManager( (*itLE)->text() );
1453 1454
1454 if ( *it == "Spouse" ) 1455 if ( *it == "Spouse" )
1455 ent.setSpouse( (*itLE)->text() ); 1456 ent.setSpouse( (*itLE)->text() );
1456 1457
1457 if ( *it == "Birthday" ) 1458 if ( *it == "Birthday" )
1458 ent.setBirthday( (*itLE)->text() ); 1459 ent.setBirthday( (*itLE)->text() );
1459 1460
1460 if ( *it == "Anniversary" ) 1461 if ( *it == "Anniversary" )
1461 ent.setAnniversary( (*itLE)->text() ); 1462 ent.setAnniversary( (*itLE)->text() );
1462 1463
1463 if ( *it == "Nickname" ) 1464 if ( *it == "Nickname" )
1464 ent.setNickname( (*itLE)->text() ); 1465 ent.setNickname( (*itLE)->text() );
1465 1466
1466 if ( *it == "Children" ) 1467 if ( *it == "Children" )
1467 ent.setChildren( (*itLE)->text() ); 1468 ent.setChildren( (*itLE)->text() );
1468 1469
1469 } 1470 }
1470 1471
1471 QStringList::ConstIterator itV; 1472 QStringList::ConstIterator itV;
1472 for ( it = slChooserNames->begin(), itV = slChooserValues->begin(); it != slChooserNames->end(); ++it, ++itV ) { 1473 for ( it = slChooserNames->begin(), itV = slChooserValues->begin(); it != slChooserNames->end(); ++it, ++itV ) {
1473 1474
1474 if ( *it == "Business Phone" || *it == "Work Phone" ) 1475 if ( *it == "Business Phone" || *it == "Work Phone" )
1475 ent.setBusinessPhone( *itV ); 1476 ent.setBusinessPhone( *itV );
1476/* 1477/*
1477 if ( *it == "Business 2 Phone" ) 1478 if ( *it == "Business 2 Phone" )
1478 ent.setBusiness2Phone( *itV ); 1479 ent.setBusiness2Phone( *itV );
1479*/ 1480*/
1480 if ( *it == "Business Fax" || *it == "Work Fax" ) 1481 if ( *it == "Business Fax" || *it == "Work Fax" )
1481 ent.setBusinessFax( *itV ); 1482 ent.setBusinessFax( *itV );
1482 1483
1483 if ( *it == "Business Mobile" || *it == "Work Mobile" ) 1484 if ( *it == "Business Mobile" || *it == "Work Mobile" )
1484 ent.setBusinessMobile( *itV ); 1485 ent.setBusinessMobile( *itV );
1485/* 1486/*
1486 if ( *it == "Company Phone" ) 1487 if ( *it == "Company Phone" )
1487 ent.setCompanyPhone( *itV ); 1488 ent.setCompanyPhone( *itV );
1488*/ 1489*/
1489 //if ( *it == "Default Email" ) 1490 //if ( *it == "Default Email" )
1490 //ent.setDefaultEmail( *itV ); 1491 //ent.setDefaultEmail( *itV );
1491 1492
1492 if ( *it == "Emails" ) { 1493 if ( *it == "Emails" ) {
1493 QString allemail; 1494 QString allemail;
1494 QString defaultmail; 1495 QString defaultmail;
1495 parseEmailFrom( *itV, defaultmail, allemail ); 1496 parseEmailFrom( *itV, defaultmail, allemail );
1496 ent.setDefaultEmail( defaultmail ); 1497 ent.setDefaultEmail( defaultmail );
1497 ent.setEmails( *itV ); 1498 ent.setEmails( *itV );
1498 } 1499 }
1499 1500
1500 if ( *it == "Home Phone" ) 1501 if ( *it == "Home Phone" )
1501 ent.setHomePhone( *itV ); 1502 ent.setHomePhone( *itV );
1502/* 1503/*
1503 if ( *it == "Home 2 Phone" ) 1504 if ( *it == "Home 2 Phone" )
1504 ent.setHome2Phone( *itV ); 1505 ent.setHome2Phone( *itV );
1505*/ 1506*/
1506 if ( *it == "Home Fax" ) 1507 if ( *it == "Home Fax" )
1507 ent.setHomeFax( *itV ); 1508 ent.setHomeFax( *itV );
1508 1509
1509 if ( *it == "Home Mobile" ) 1510 if ( *it == "Home Mobile" )
1510 ent.setHomeMobile( *itV ); 1511 ent.setHomeMobile( *itV );
1511/* 1512/*
1512 if ( *it == "Car Phone" ) 1513 if ( *it == "Car Phone" )
1513 ent.setCarPhone( *itV ); 1514 ent.setCarPhone( *itV );
1514 1515
1515 if ( *it == "ISDN Phone" ) 1516 if ( *it == "ISDN Phone" )
1516 ent.setISDNPhone( *itV ); 1517 ent.setISDNPhone( *itV );
1517 1518
1518 if ( *it == "Other Phone" ) 1519 if ( *it == "Other Phone" )
1519 ent.setOtherPhone( *itV ); 1520 ent.setOtherPhone( *itV );
1520*/ 1521*/
1521 if ( *it == "Business Pager" || *it == "Work Pager" ) 1522 if ( *it == "Business Pager" || *it == "Work Pager" )
1522 ent.setBusinessPager( *itV ); 1523 ent.setBusinessPager( *itV );
1523/* 1524/*
1524 if ( *it == "Home Pager" ) 1525 if ( *it == "Home Pager" )
1525 ent.setHomePager( *itV ); 1526 ent.setHomePager( *itV );
1526 1527
1527 if ( *it == "AIM IM" ) 1528 if ( *it == "AIM IM" )
1528 ent.setAIMIM( *itV ); 1529 ent.setAIMIM( *itV );
1529 1530
1530 if ( *it == "ICQ IM" ) 1531 if ( *it == "ICQ IM" )
1531 ent.setICQIM( *itV ); 1532 ent.setICQIM( *itV );
1532 1533
1533 if ( *it == "Jabber IM" ) 1534 if ( *it == "Jabber IM" )
1534 ent.setJabberIM( *itV ); 1535 ent.setJabberIM( *itV );
1535 1536
1536 if ( *it == "MSN IM" ) 1537 if ( *it == "MSN IM" )
1537 ent.setMSNIM( *itV ); 1538 ent.setMSNIM( *itV );
1538 1539
1539 if ( *it == "Yahoo IM" ) 1540 if ( *it == "Yahoo IM" )
1540 ent.setYahooIM( *itV ); 1541 ent.setYahooIM( *itV );
1541*/ 1542*/
1542 if ( *it == "Home Web Page" ) 1543 if ( *it == "Home Web Page" )
1543 ent.setHomeWebpage( *itV ); 1544 ent.setHomeWebpage( *itV );
1544 if ( *it == "Business Web Page" || *it == "Work Web Page" ) 1545 if ( *it == "Business Web Page" || *it == "Work Web Page" )
1545 ent.setBusinessWebpage( *itV ); 1546 ent.setBusinessWebpage( *itV );
1546 1547
1547 1548
1548 } 1549 }
1549 1550
1550 int gender = cmbGender->currentItem(); 1551 int gender = cmbGender->currentItem();
1551 ent.setGender( QString::number( gender ) ); 1552 ent.setGender( QString::number( gender ) );
1552 1553
1553 QString str = txtNote->text(); 1554 QString str = txtNote->text();
1554 if ( !str.isNull() ) 1555 if ( !str.isNull() )
1555 ent.setNotes( str ); 1556 ent.setNotes( str );
1556 1557
1557} 1558}
1558 1559
1559void parseEmailFrom( const QString &txt, QString &strDefaultEmail, 1560void parseEmailFrom( const QString &txt, QString &strDefaultEmail,
1560 QString &strAll ) 1561 QString &strAll )
1561{ 1562{
1562 int where, 1563 int where,
1563 start; 1564 start;
1564 if ( txt.isEmpty() ) 1565 if ( txt.isEmpty() )
1565 return; 1566 return;
1566 // find the first 1567 // find the first
1567 where = txt.find( ',' ); 1568 where = txt.find( ',' );
1568 if ( where < 0 ) { 1569 if ( where < 0 ) {
1569 strDefaultEmail = txt; 1570 strDefaultEmail = txt;
1570 strAll = txt; 1571 strAll = txt;
1571 } else { 1572 } else {
1572 strDefaultEmail = txt.left( where ).stripWhiteSpace(); 1573 strDefaultEmail = txt.left( where ).stripWhiteSpace();
1573 strAll = strDefaultEmail; 1574 strAll = strDefaultEmail;
1574 while ( where > -1 ) { 1575 while ( where > -1 ) {
1575 strAll.append(" "); 1576 strAll.append(" ");
1576 start = where; 1577 start = where;
1577 where = txt.find( ',', where + 1 ); 1578 where = txt.find( ',', where + 1 );
1578 if ( where > - 1 ) 1579 if ( where > - 1 )
1579 strAll.append( txt.mid(start + 1, where - start - 1).stripWhiteSpace() ); 1580 strAll.append( txt.mid(start + 1, where - start - 1).stripWhiteSpace() );
1580 else // grab until the end... 1581 else // grab until the end...
1581 strAll.append( txt.right(txt.length() - start - 1).stripWhiteSpace() ); 1582 strAll.append( txt.right(txt.length() - start - 1).stripWhiteSpace() );
1582 } 1583 }
1583 } 1584 }
1584} 1585}
1585 1586
1586void parseEmailTo( const QString &strDefaultEmail, 1587void parseEmailTo( const QString &strDefaultEmail,
1587 const QString &strOtherEmail, QString &strBack ) 1588 const QString &strOtherEmail, QString &strBack )
1588{ 1589{
1589 // create a comma dilimeted set of emails... 1590 // create a comma dilimeted set of emails...
1590 // use the power of short circuiting... 1591 // use the power of short circuiting...
1591 bool foundDefault = false; 1592 bool foundDefault = false;
1592 QString strTmp; 1593 QString strTmp;
1593 int start = 0; 1594 int start = 0;
1594 int where; 1595 int where;
1595 // start at the beginng. 1596 // start at the beginng.
1596 strBack = strDefaultEmail; 1597 strBack = strDefaultEmail;
1597 where = 0; 1598 where = 0;
1598 while ( where > -1 ) { 1599 while ( where > -1 ) {
1599 start = where; 1600 start = where;
1600 where = strOtherEmail.find( ' ', where + 1 ); 1601 where = strOtherEmail.find( ' ', where + 1 );
1601 if ( where > 0 ) { 1602 if ( where > 0 ) {
1602 strTmp = strOtherEmail.mid( start, where - start ).stripWhiteSpace(); 1603 strTmp = strOtherEmail.mid( start, where - start ).stripWhiteSpace();
1603 } else 1604 } else
1604 strTmp = strOtherEmail.right( strOtherEmail.length() - start ).stripWhiteSpace(); 1605 strTmp = strOtherEmail.right( strOtherEmail.length() - start ).stripWhiteSpace();
1605 if ( foundDefault || strTmp != strDefaultEmail ) { 1606 if ( foundDefault || strTmp != strDefaultEmail ) {
1606 strBack.append( ", " ); 1607 strBack.append( ", " );
1607 strBack.append( strTmp ); 1608 strBack.append( strTmp );
1608 } else 1609 } else
1609 foundDefault = true; 1610 foundDefault = true;
1610 } 1611 }
1611} 1612}
1612 1613
1613 1614
1614static inline bool containsAlphaNum( const QString &str ) 1615static inline bool containsAlphaNum( const QString &str )
1615{ 1616{
1616 int i, 1617 int i,
1617 count = str.length(); 1618 count = str.length();
1618 for ( i = 0; i < count; i++ ) 1619 for ( i = 0; i < count; i++ )
1619 if ( !str[i].isSpace() ) 1620 if ( !str[i].isSpace() )
1620 return TRUE; 1621 return TRUE;
1621 return FALSE; 1622 return FALSE;
1622} 1623}
1623 1624
1624static inline bool constainsWhiteSpace( const QString &str ) 1625static inline bool constainsWhiteSpace( const QString &str )
1625{ 1626{
1626 int i, 1627 int i,
1627 count = str.length(); 1628 count = str.length();
1628 for (i = 0; i < count; i++ ) 1629 for (i = 0; i < count; i++ )
1629 if ( str[i].isSpace() ) 1630 if ( str[i].isSpace() )
1630 return TRUE; 1631 return TRUE;
1631 return FALSE; 1632 return FALSE;
1632} 1633}
1633 1634