summaryrefslogtreecommitdiffabout
authorulf69 <ulf69>2004-09-21 19:54:39 (UTC)
committer ulf69 <ulf69>2004-09-21 19:54:39 (UTC)
commit618dec7bf4371c2085048cc1f95a93220bc8a233 (patch) (unidiff)
treedf5e3e47a417400fa9f6871912eda6558294d9b4
parent186ee062d9169860fbab1613ca21b956c69296a6 (diff)
downloadkdepimpi-618dec7bf4371c2085048cc1f95a93220bc8a233.zip
kdepimpi-618dec7bf4371c2085048cc1f95a93220bc8a233.tar.gz
kdepimpi-618dec7bf4371c2085048cc1f95a93220bc8a233.tar.bz2
modified configdialog to work properly with global configwidget from (libkdepim)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/kabcore.cpp9
-rw-r--r--kaddressbook/kcmconfigs/kabconfigwidget.cpp32
-rw-r--r--kaddressbook/kcmconfigs/kabconfigwidget.h20
-rw-r--r--kaddressbook/kcmconfigs/kcmkabconfig.cpp16
-rw-r--r--kaddressbook/kcmconfigs/kcmkabconfig.h2
5 files changed, 26 insertions, 53 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index 4ebd6a8..1b40d71 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -902,779 +902,774 @@ bool KABCore::modified() const
902void KABCore::contactModified( const KABC::Addressee &addr ) 902void KABCore::contactModified( const KABC::Addressee &addr )
903{ 903{
904 904
905 Command *command = 0; 905 Command *command = 0;
906 QString uid; 906 QString uid;
907 907
908 // check if it exists already 908 // check if it exists already
909 KABC::Addressee origAddr = mAddressBook->findByUid( addr.uid() ); 909 KABC::Addressee origAddr = mAddressBook->findByUid( addr.uid() );
910 if ( origAddr.isEmpty() ) 910 if ( origAddr.isEmpty() )
911 command = new PwNewCommand( mAddressBook, addr ); 911 command = new PwNewCommand( mAddressBook, addr );
912 else { 912 else {
913 command = new PwEditCommand( mAddressBook, origAddr, addr ); 913 command = new PwEditCommand( mAddressBook, origAddr, addr );
914 uid = addr.uid(); 914 uid = addr.uid();
915 } 915 }
916 916
917 UndoStack::instance()->push( command ); 917 UndoStack::instance()->push( command );
918 RedoStack::instance()->clear(); 918 RedoStack::instance()->clear();
919 919
920 setModified( true ); 920 setModified( true );
921} 921}
922 922
923void KABCore::newContact() 923void KABCore::newContact()
924{ 924{
925 925
926 926
927 QPtrList<KABC::Resource> kabcResources = mAddressBook->resources(); 927 QPtrList<KABC::Resource> kabcResources = mAddressBook->resources();
928 928
929 QPtrList<KRES::Resource> kresResources; 929 QPtrList<KRES::Resource> kresResources;
930 QPtrListIterator<KABC::Resource> it( kabcResources ); 930 QPtrListIterator<KABC::Resource> it( kabcResources );
931 KABC::Resource *resource; 931 KABC::Resource *resource;
932 while ( ( resource = it.current() ) != 0 ) { 932 while ( ( resource = it.current() ) != 0 ) {
933 ++it; 933 ++it;
934 if ( !resource->readOnly() ) { 934 if ( !resource->readOnly() ) {
935 KRES::Resource *res = static_cast<KRES::Resource*>( resource ); 935 KRES::Resource *res = static_cast<KRES::Resource*>( resource );
936 if ( res ) 936 if ( res )
937 kresResources.append( res ); 937 kresResources.append( res );
938 } 938 }
939 } 939 }
940 940
941 KRES::Resource *res = KRES::SelectDialog::getResource( kresResources, this ); 941 KRES::Resource *res = KRES::SelectDialog::getResource( kresResources, this );
942 resource = static_cast<KABC::Resource*>( res ); 942 resource = static_cast<KABC::Resource*>( res );
943 943
944 if ( resource ) { 944 if ( resource ) {
945 KABC::Addressee addr; 945 KABC::Addressee addr;
946 addr.setResource( resource ); 946 addr.setResource( resource );
947 mEditorDialog->setAddressee( addr ); 947 mEditorDialog->setAddressee( addr );
948 KApplication::execDialog ( mEditorDialog ); 948 KApplication::execDialog ( mEditorDialog );
949 949
950 } else 950 } else
951 return; 951 return;
952 952
953 // mEditorDict.insert( dialog->addressee().uid(), dialog ); 953 // mEditorDict.insert( dialog->addressee().uid(), dialog );
954 954
955 955
956} 956}
957 957
958void KABCore::addEmail( QString aStr ) 958void KABCore::addEmail( QString aStr )
959{ 959{
960#ifndef KAB_EMBEDDED 960#ifndef KAB_EMBEDDED
961 QString fullName, email; 961 QString fullName, email;
962 962
963 KABC::Addressee::parseEmailAddress( aStr, fullName, email ); 963 KABC::Addressee::parseEmailAddress( aStr, fullName, email );
964 964
965 // Try to lookup the addressee matching the email address 965 // Try to lookup the addressee matching the email address
966 bool found = false; 966 bool found = false;
967 QStringList emailList; 967 QStringList emailList;
968 KABC::AddressBook::Iterator it; 968 KABC::AddressBook::Iterator it;
969 for ( it = mAddressBook->begin(); !found && (it != mAddressBook->end()); ++it ) { 969 for ( it = mAddressBook->begin(); !found && (it != mAddressBook->end()); ++it ) {
970 emailList = (*it).emails(); 970 emailList = (*it).emails();
971 if ( emailList.contains( email ) > 0 ) { 971 if ( emailList.contains( email ) > 0 ) {
972 found = true; 972 found = true;
973 (*it).setNameFromString( fullName ); 973 (*it).setNameFromString( fullName );
974 editContact( (*it).uid() ); 974 editContact( (*it).uid() );
975 } 975 }
976 } 976 }
977 977
978 if ( !found ) { 978 if ( !found ) {
979 KABC::Addressee addr; 979 KABC::Addressee addr;
980 addr.setNameFromString( fullName ); 980 addr.setNameFromString( fullName );
981 addr.insertEmail( email, true ); 981 addr.insertEmail( email, true );
982 982
983 mAddressBook->insertAddressee( addr ); 983 mAddressBook->insertAddressee( addr );
984 mViewManager->refreshView( addr.uid() ); 984 mViewManager->refreshView( addr.uid() );
985 editContact( addr.uid() ); 985 editContact( addr.uid() );
986 } 986 }
987#else //KAB_EMBEDDED 987#else //KAB_EMBEDDED
988 qDebug("KABCore::addEmail finsih method"); 988 qDebug("KABCore::addEmail finsih method");
989#endif //KAB_EMBEDDED 989#endif //KAB_EMBEDDED
990} 990}
991 991
992void KABCore::importVCard( const KURL &url, bool showPreview ) 992void KABCore::importVCard( const KURL &url, bool showPreview )
993{ 993{
994 mXXPortManager->importVCard( url, showPreview ); 994 mXXPortManager->importVCard( url, showPreview );
995} 995}
996void KABCore::importFromOL() 996void KABCore::importFromOL()
997{ 997{
998#ifdef _WIN32_ 998#ifdef _WIN32_
999 KAImportOLdialog* idgl = new KAImportOLdialog( i18n("Import Contacts from OL"), mAddressBook, this ); 999 KAImportOLdialog* idgl = new KAImportOLdialog( i18n("Import Contacts from OL"), mAddressBook, this );
1000 idgl->exec(); 1000 idgl->exec();
1001 KABC::Addressee::List list = idgl->getAddressList(); 1001 KABC::Addressee::List list = idgl->getAddressList();
1002 if ( list.count() > 0 ) { 1002 if ( list.count() > 0 ) {
1003 KABC::Addressee::List listNew; 1003 KABC::Addressee::List listNew;
1004 KABC::Addressee::List listExisting; 1004 KABC::Addressee::List listExisting;
1005 KABC::Addressee::List::Iterator it; 1005 KABC::Addressee::List::Iterator it;
1006 KABC::AddressBook::Iterator iter; 1006 KABC::AddressBook::Iterator iter;
1007 for ( it = list.begin(); it != list.end(); ++it ) { 1007 for ( it = list.begin(); it != list.end(); ++it ) {
1008 if ( mAddressBook->findByUid((*it).uid() ).isEmpty()) 1008 if ( mAddressBook->findByUid((*it).uid() ).isEmpty())
1009 listNew.append( (*it) ); 1009 listNew.append( (*it) );
1010 else 1010 else
1011 listExisting.append( (*it) ); 1011 listExisting.append( (*it) );
1012 } 1012 }
1013 if ( listExisting.count() > 0 ) 1013 if ( listExisting.count() > 0 )
1014 KMessageBox::information( this, i18n("%1 contacts not added to addressbook\nbecause they were already in the addressbook!").arg( listExisting.count() )); 1014 KMessageBox::information( this, i18n("%1 contacts not added to addressbook\nbecause they were already in the addressbook!").arg( listExisting.count() ));
1015 if ( listNew.count() > 0 ) { 1015 if ( listNew.count() > 0 ) {
1016 pasteWithNewUid = false; 1016 pasteWithNewUid = false;
1017 pasteContacts( listNew ); 1017 pasteContacts( listNew );
1018 pasteWithNewUid = true; 1018 pasteWithNewUid = true;
1019 } 1019 }
1020 } 1020 }
1021 delete idgl; 1021 delete idgl;
1022#endif 1022#endif
1023} 1023}
1024 1024
1025void KABCore::importVCard( const QString &vCard, bool showPreview ) 1025void KABCore::importVCard( const QString &vCard, bool showPreview )
1026{ 1026{
1027 mXXPortManager->importVCard( vCard, showPreview ); 1027 mXXPortManager->importVCard( vCard, showPreview );
1028} 1028}
1029 1029
1030//US added a second method without defaultparameter 1030//US added a second method without defaultparameter
1031void KABCore::editContact2() { 1031void KABCore::editContact2() {
1032 editContact( QString::null ); 1032 editContact( QString::null );
1033} 1033}
1034 1034
1035void KABCore::editContact( const QString &uid ) 1035void KABCore::editContact( const QString &uid )
1036{ 1036{
1037 1037
1038 if ( mExtensionManager->isQuickEditVisible() ) 1038 if ( mExtensionManager->isQuickEditVisible() )
1039 return; 1039 return;
1040 1040
1041 // First, locate the contact entry 1041 // First, locate the contact entry
1042 QString localUID = uid; 1042 QString localUID = uid;
1043 if ( localUID.isNull() ) { 1043 if ( localUID.isNull() ) {
1044 QStringList uidList = mViewManager->selectedUids(); 1044 QStringList uidList = mViewManager->selectedUids();
1045 if ( uidList.count() > 0 ) 1045 if ( uidList.count() > 0 )
1046 localUID = *( uidList.at( 0 ) ); 1046 localUID = *( uidList.at( 0 ) );
1047 } 1047 }
1048 1048
1049 KABC::Addressee addr = mAddressBook->findByUid( localUID ); 1049 KABC::Addressee addr = mAddressBook->findByUid( localUID );
1050 if ( !addr.isEmpty() ) { 1050 if ( !addr.isEmpty() ) {
1051 mEditorDialog->setAddressee( addr ); 1051 mEditorDialog->setAddressee( addr );
1052 KApplication::execDialog ( mEditorDialog ); 1052 KApplication::execDialog ( mEditorDialog );
1053 } 1053 }
1054} 1054}
1055 1055
1056/** 1056/**
1057 Shows or edits the detail view for the given uid. If the uid is QString::null, 1057 Shows or edits the detail view for the given uid. If the uid is QString::null,
1058 the method will try to find a selected addressee in the view. 1058 the method will try to find a selected addressee in the view.
1059 */ 1059 */
1060void KABCore::executeContact( const QString &uid /*US = QString::null*/ ) 1060void KABCore::executeContact( const QString &uid /*US = QString::null*/ )
1061{ 1061{
1062 if ( mMultipleViewsAtOnce ) 1062 if ( mMultipleViewsAtOnce )
1063 { 1063 {
1064 editContact( uid ); 1064 editContact( uid );
1065 } 1065 }
1066 else 1066 else
1067 { 1067 {
1068 setDetailsVisible( true ); 1068 setDetailsVisible( true );
1069 mActionDetails->setChecked(true); 1069 mActionDetails->setChecked(true);
1070 } 1070 }
1071 1071
1072} 1072}
1073 1073
1074void KABCore::save() 1074void KABCore::save()
1075{ 1075{
1076 if (mBlockSaveFlag) 1076 if (mBlockSaveFlag)
1077 return; 1077 return;
1078 mBlockSaveFlag = true; 1078 mBlockSaveFlag = true;
1079 if ( !mModified ) 1079 if ( !mModified )
1080 return; 1080 return;
1081 QString text = i18n( "There was an error while attempting to save\n the " 1081 QString text = i18n( "There was an error while attempting to save\n the "
1082 "address book. Please check that some \nother application is " 1082 "address book. Please check that some \nother application is "
1083 "not using it. " ); 1083 "not using it. " );
1084 statusMessage(i18n("Saving addressbook ... ")); 1084 statusMessage(i18n("Saving addressbook ... "));
1085#ifndef KAB_EMBEDDED 1085#ifndef KAB_EMBEDDED
1086 KABC::StdAddressBook *b = dynamic_cast<KABC::StdAddressBook*>( mAddressBook ); 1086 KABC::StdAddressBook *b = dynamic_cast<KABC::StdAddressBook*>( mAddressBook );
1087 if ( !b || !b->save() ) { 1087 if ( !b || !b->save() ) {
1088 KMessageBox::error( this, text, i18n( "Unable to Save" ) ); 1088 KMessageBox::error( this, text, i18n( "Unable to Save" ) );
1089 } 1089 }
1090#else //KAB_EMBEDDED 1090#else //KAB_EMBEDDED
1091 KABC::StdAddressBook *b = (KABC::StdAddressBook*)( mAddressBook ); 1091 KABC::StdAddressBook *b = (KABC::StdAddressBook*)( mAddressBook );
1092 if ( !b || !b->save() ) { 1092 if ( !b || !b->save() ) {
1093 QMessageBox::critical( this, i18n( "Unable to Save" ), text, i18n("Ok")); 1093 QMessageBox::critical( this, i18n( "Unable to Save" ), text, i18n("Ok"));
1094 } 1094 }
1095#endif //KAB_EMBEDDED 1095#endif //KAB_EMBEDDED
1096 1096
1097 statusMessage(i18n("Addressbook saved!")); 1097 statusMessage(i18n("Addressbook saved!"));
1098 setModified( false ); 1098 setModified( false );
1099 mBlockSaveFlag = false; 1099 mBlockSaveFlag = false;
1100} 1100}
1101 1101
1102void KABCore::statusMessage(QString mess , int time ) 1102void KABCore::statusMessage(QString mess , int time )
1103{ 1103{
1104 //topLevelWidget()->setCaption( mess ); 1104 //topLevelWidget()->setCaption( mess );
1105 // pending setting timer to revome message 1105 // pending setting timer to revome message
1106} 1106}
1107void KABCore::undo() 1107void KABCore::undo()
1108{ 1108{
1109 UndoStack::instance()->undo(); 1109 UndoStack::instance()->undo();
1110 1110
1111 // Refresh the view 1111 // Refresh the view
1112 mViewManager->refreshView(); 1112 mViewManager->refreshView();
1113} 1113}
1114 1114
1115void KABCore::redo() 1115void KABCore::redo()
1116{ 1116{
1117 RedoStack::instance()->redo(); 1117 RedoStack::instance()->redo();
1118 1118
1119 // Refresh the view 1119 // Refresh the view
1120 mViewManager->refreshView(); 1120 mViewManager->refreshView();
1121} 1121}
1122 1122
1123void KABCore::setJumpButtonBarVisible( bool visible ) 1123void KABCore::setJumpButtonBarVisible( bool visible )
1124{ 1124{
1125 if (mMultipleViewsAtOnce) 1125 if (mMultipleViewsAtOnce)
1126 { 1126 {
1127 if ( visible ) 1127 if ( visible )
1128 mJumpButtonBar->show(); 1128 mJumpButtonBar->show();
1129 else 1129 else
1130 mJumpButtonBar->hide(); 1130 mJumpButtonBar->hide();
1131 } 1131 }
1132 else 1132 else
1133 { 1133 {
1134 // show the jumpbar only if "the details are hidden" == "viewmanager are shown" 1134 // show the jumpbar only if "the details are hidden" == "viewmanager are shown"
1135 if (mViewManager->isVisible()) 1135 if (mViewManager->isVisible())
1136 { 1136 {
1137 if ( visible ) 1137 if ( visible )
1138 mJumpButtonBar->show(); 1138 mJumpButtonBar->show();
1139 else 1139 else
1140 mJumpButtonBar->hide(); 1140 mJumpButtonBar->hide();
1141 } 1141 }
1142 else 1142 else
1143 { 1143 {
1144 mJumpButtonBar->hide(); 1144 mJumpButtonBar->hide();
1145 } 1145 }
1146 } 1146 }
1147} 1147}
1148 1148
1149 1149
1150void KABCore::setDetailsToState() 1150void KABCore::setDetailsToState()
1151{ 1151{
1152 setDetailsVisible( mActionDetails->isChecked() ); 1152 setDetailsVisible( mActionDetails->isChecked() );
1153} 1153}
1154 1154
1155 1155
1156 1156
1157void KABCore::setDetailsVisible( bool visible ) 1157void KABCore::setDetailsVisible( bool visible )
1158{ 1158{
1159 if (visible && mDetails->isHidden()) 1159 if (visible && mDetails->isHidden())
1160 { 1160 {
1161 KABC::Addressee::List addrList = mViewManager->selectedAddressees(); 1161 KABC::Addressee::List addrList = mViewManager->selectedAddressees();
1162 if ( addrList.count() > 0 ) 1162 if ( addrList.count() > 0 )
1163 mDetails->setAddressee( addrList[ 0 ] ); 1163 mDetails->setAddressee( addrList[ 0 ] );
1164 } 1164 }
1165 1165
1166 // mMultipleViewsAtOnce=false: mDetails is always visible. But we switch between 1166 // mMultipleViewsAtOnce=false: mDetails is always visible. But we switch between
1167 // the listview and the detailview. We do that by changing the splitbar size. 1167 // the listview and the detailview. We do that by changing the splitbar size.
1168 if (mMultipleViewsAtOnce) 1168 if (mMultipleViewsAtOnce)
1169 { 1169 {
1170 if ( visible ) 1170 if ( visible )
1171 mDetails->show(); 1171 mDetails->show();
1172 else 1172 else
1173 mDetails->hide(); 1173 mDetails->hide();
1174 } 1174 }
1175 else 1175 else
1176 { 1176 {
1177 if ( visible ) { 1177 if ( visible ) {
1178 mViewManager->hide(); 1178 mViewManager->hide();
1179 mDetails->show(); 1179 mDetails->show();
1180 } 1180 }
1181 else { 1181 else {
1182 mViewManager->show(); 1182 mViewManager->show();
1183 mDetails->hide(); 1183 mDetails->hide();
1184 } 1184 }
1185 setJumpButtonBarVisible( !visible ); 1185 setJumpButtonBarVisible( !visible );
1186 } 1186 }
1187 1187
1188} 1188}
1189 1189
1190void KABCore::extensionChanged( int id ) 1190void KABCore::extensionChanged( int id )
1191{ 1191{
1192 //change the details view only for non desktop systems 1192 //change the details view only for non desktop systems
1193#ifndef DESKTOP_VERSION 1193#ifndef DESKTOP_VERSION
1194 1194
1195 if (id == 0) 1195 if (id == 0)
1196 { 1196 {
1197 //the user disabled the extension. 1197 //the user disabled the extension.
1198 1198
1199 if (mMultipleViewsAtOnce) 1199 if (mMultipleViewsAtOnce)
1200 { // enable detailsview again 1200 { // enable detailsview again
1201 setDetailsVisible( true ); 1201 setDetailsVisible( true );
1202 mActionDetails->setChecked( true ); 1202 mActionDetails->setChecked( true );
1203 } 1203 }
1204 else 1204 else
1205 { //go back to the listview 1205 { //go back to the listview
1206 setDetailsVisible( false ); 1206 setDetailsVisible( false );
1207 mActionDetails->setChecked( false ); 1207 mActionDetails->setChecked( false );
1208 mActionDetails->setEnabled(true); 1208 mActionDetails->setEnabled(true);
1209 } 1209 }
1210 1210
1211 } 1211 }
1212 else 1212 else
1213 { 1213 {
1214 //the user enabled the extension. 1214 //the user enabled the extension.
1215 setDetailsVisible( false ); 1215 setDetailsVisible( false );
1216 mActionDetails->setChecked( false ); 1216 mActionDetails->setChecked( false );
1217 1217
1218 if (!mMultipleViewsAtOnce) 1218 if (!mMultipleViewsAtOnce)
1219 { 1219 {
1220 mActionDetails->setEnabled(false); 1220 mActionDetails->setEnabled(false);
1221 } 1221 }
1222 1222
1223 mExtensionManager->setSelectionChanged(); 1223 mExtensionManager->setSelectionChanged();
1224 1224
1225 } 1225 }
1226 1226
1227#endif// DESKTOP_VERSION 1227#endif// DESKTOP_VERSION
1228 1228
1229} 1229}
1230 1230
1231 1231
1232void KABCore::extensionModified( const KABC::Addressee::List &list ) 1232void KABCore::extensionModified( const KABC::Addressee::List &list )
1233{ 1233{
1234 1234
1235 if ( list.count() != 0 ) { 1235 if ( list.count() != 0 ) {
1236 KABC::Addressee::List::ConstIterator it; 1236 KABC::Addressee::List::ConstIterator it;
1237 for ( it = list.begin(); it != list.end(); ++it ) 1237 for ( it = list.begin(); it != list.end(); ++it )
1238 mAddressBook->insertAddressee( *it ); 1238 mAddressBook->insertAddressee( *it );
1239 if ( list.count() > 1 ) 1239 if ( list.count() > 1 )
1240 setModified(); 1240 setModified();
1241 else 1241 else
1242 setModifiedWOrefresh(); 1242 setModifiedWOrefresh();
1243 } 1243 }
1244 if ( list.count() == 0 ) 1244 if ( list.count() == 0 )
1245 mViewManager->refreshView(); 1245 mViewManager->refreshView();
1246 else 1246 else
1247 mViewManager->refreshView( list[ 0 ].uid() ); 1247 mViewManager->refreshView( list[ 0 ].uid() );
1248 1248
1249 1249
1250 1250
1251} 1251}
1252 1252
1253QString KABCore::getNameByPhone( const QString &phone ) 1253QString KABCore::getNameByPhone( const QString &phone )
1254{ 1254{
1255#ifndef KAB_EMBEDDED 1255#ifndef KAB_EMBEDDED
1256 QRegExp r( "[/*/-/ ]" ); 1256 QRegExp r( "[/*/-/ ]" );
1257 QString localPhone( phone ); 1257 QString localPhone( phone );
1258 1258
1259 bool found = false; 1259 bool found = false;
1260 QString ownerName = ""; 1260 QString ownerName = "";
1261 KABC::AddressBook::Iterator iter; 1261 KABC::AddressBook::Iterator iter;
1262 KABC::PhoneNumber::List::Iterator phoneIter; 1262 KABC::PhoneNumber::List::Iterator phoneIter;
1263 KABC::PhoneNumber::List phoneList; 1263 KABC::PhoneNumber::List phoneList;
1264 for ( iter = mAddressBook->begin(); !found && ( iter != mAddressBook->end() ); ++iter ) { 1264 for ( iter = mAddressBook->begin(); !found && ( iter != mAddressBook->end() ); ++iter ) {
1265 phoneList = (*iter).phoneNumbers(); 1265 phoneList = (*iter).phoneNumbers();
1266 for ( phoneIter = phoneList.begin(); !found && ( phoneIter != phoneList.end() ); 1266 for ( phoneIter = phoneList.begin(); !found && ( phoneIter != phoneList.end() );
1267 ++phoneIter) { 1267 ++phoneIter) {
1268 // Get rid of separator chars so just the numbers are compared. 1268 // Get rid of separator chars so just the numbers are compared.
1269 if ( (*phoneIter).number().replace( r, "" ) == localPhone.replace( r, "" ) ) { 1269 if ( (*phoneIter).number().replace( r, "" ) == localPhone.replace( r, "" ) ) {
1270 ownerName = (*iter).formattedName(); 1270 ownerName = (*iter).formattedName();
1271 found = true; 1271 found = true;
1272 } 1272 }
1273 } 1273 }
1274 } 1274 }
1275 1275
1276 return ownerName; 1276 return ownerName;
1277#else //KAB_EMBEDDED 1277#else //KAB_EMBEDDED
1278 qDebug("KABCore::getNameByPhone finsih method"); 1278 qDebug("KABCore::getNameByPhone finsih method");
1279 return ""; 1279 return "";
1280#endif //KAB_EMBEDDED 1280#endif //KAB_EMBEDDED
1281 1281
1282} 1282}
1283 1283
1284void KABCore::openConfigDialog() 1284void KABCore::openConfigDialog()
1285{ 1285{
1286 KABPrefs* kab_prefs = KABPrefs::instance();
1287 KPimGlobalPrefs* kpim_prefs = KPimGlobalPrefs::instance();
1288
1289 KCMultiDialog* ConfigureDialog = new KCMultiDialog( "PIM", this ,"kabconfigdialog", true ); 1286 KCMultiDialog* ConfigureDialog = new KCMultiDialog( "PIM", this ,"kabconfigdialog", true );
1290 KCMKabConfig* kabcfg = new KCMKabConfig( kab_prefs, ConfigureDialog->getNewVBoxPage(i18n( "Addressbook")) , "KCMKabConfig" ); 1287 KCMKabConfig* kabcfg = new KCMKabConfig( ConfigureDialog->getNewVBoxPage(i18n( "Addressbook")) , "KCMKabConfig" );
1291 ConfigureDialog->addModule(kabcfg ); 1288 ConfigureDialog->addModule(kabcfg );
1292 KCMKdePimConfig* kdelibcfg = new KCMKdePimConfig( kpim_prefs, ConfigureDialog->getNewVBoxPage(i18n( "Global")) , "KCMKdeLibConfig" ); 1289 KCMKdePimConfig* kdelibcfg = new KCMKdePimConfig( ConfigureDialog->getNewVBoxPage(i18n( "Global")) , "KCMKdeLibConfig" );
1293 ConfigureDialog->addModule(kdelibcfg ); 1290 ConfigureDialog->addModule(kdelibcfg );
1294 1291
1295
1296
1297 connect( ConfigureDialog, SIGNAL( applyClicked() ), 1292 connect( ConfigureDialog, SIGNAL( applyClicked() ),
1298 this, SLOT( configurationChanged() ) ); 1293 this, SLOT( configurationChanged() ) );
1299 connect( ConfigureDialog, SIGNAL( okClicked() ), 1294 connect( ConfigureDialog, SIGNAL( okClicked() ),
1300 this, SLOT( configurationChanged() ) ); 1295 this, SLOT( configurationChanged() ) );
1301 saveSettings(); 1296 saveSettings();
1302#ifndef DESKTOP_VERSION 1297#ifndef DESKTOP_VERSION
1303 ConfigureDialog->showMaximized(); 1298 ConfigureDialog->showMaximized();
1304#endif 1299#endif
1305 if ( ConfigureDialog->exec() ) 1300 if ( ConfigureDialog->exec() )
1306 KMessageBox::information( this, i18n("Some changes are only\neffective after a restart!\n") ); 1301 KMessageBox::information( this, i18n("Some changes are only\neffective after a restart!\n") );
1307 delete ConfigureDialog; 1302 delete ConfigureDialog;
1308} 1303}
1309 1304
1310void KABCore::openLDAPDialog() 1305void KABCore::openLDAPDialog()
1311{ 1306{
1312#ifndef KAB_EMBEDDED 1307#ifndef KAB_EMBEDDED
1313 if ( !mLdapSearchDialog ) { 1308 if ( !mLdapSearchDialog ) {
1314 mLdapSearchDialog = new LDAPSearchDialog( mAddressBook, this ); 1309 mLdapSearchDialog = new LDAPSearchDialog( mAddressBook, this );
1315 connect( mLdapSearchDialog, SIGNAL( addresseesAdded() ), mViewManager, 1310 connect( mLdapSearchDialog, SIGNAL( addresseesAdded() ), mViewManager,
1316 SLOT( refreshView() ) ); 1311 SLOT( refreshView() ) );
1317 connect( mLdapSearchDialog, SIGNAL( addresseesAdded() ), this, 1312 connect( mLdapSearchDialog, SIGNAL( addresseesAdded() ), this,
1318 SLOT( setModified() ) ); 1313 SLOT( setModified() ) );
1319 } else 1314 } else
1320 mLdapSearchDialog->restoreSettings(); 1315 mLdapSearchDialog->restoreSettings();
1321 1316
1322 if ( mLdapSearchDialog->isOK() ) 1317 if ( mLdapSearchDialog->isOK() )
1323 mLdapSearchDialog->exec(); 1318 mLdapSearchDialog->exec();
1324#else //KAB_EMBEDDED 1319#else //KAB_EMBEDDED
1325 qDebug("KABCore::openLDAPDialog() finsih method"); 1320 qDebug("KABCore::openLDAPDialog() finsih method");
1326#endif //KAB_EMBEDDED 1321#endif //KAB_EMBEDDED
1327} 1322}
1328 1323
1329void KABCore::print() 1324void KABCore::print()
1330{ 1325{
1331#ifndef KAB_EMBEDDED 1326#ifndef KAB_EMBEDDED
1332 KPrinter printer; 1327 KPrinter printer;
1333 if ( !printer.setup( this ) ) 1328 if ( !printer.setup( this ) )
1334 return; 1329 return;
1335 1330
1336 KABPrinting::PrintingWizard wizard( &printer, mAddressBook, 1331 KABPrinting::PrintingWizard wizard( &printer, mAddressBook,
1337 mViewManager->selectedUids(), this ); 1332 mViewManager->selectedUids(), this );
1338 1333
1339 wizard.exec(); 1334 wizard.exec();
1340#else //KAB_EMBEDDED 1335#else //KAB_EMBEDDED
1341 qDebug("KABCore::print() finsih method"); 1336 qDebug("KABCore::print() finsih method");
1342#endif //KAB_EMBEDDED 1337#endif //KAB_EMBEDDED
1343 1338
1344} 1339}
1345 1340
1346 1341
1347void KABCore::addGUIClient( KXMLGUIClient *client ) 1342void KABCore::addGUIClient( KXMLGUIClient *client )
1348{ 1343{
1349 if ( mGUIClient ) 1344 if ( mGUIClient )
1350 mGUIClient->insertChildClient( client ); 1345 mGUIClient->insertChildClient( client );
1351 else 1346 else
1352 KMessageBox::error( this, "no KXMLGUICLient"); 1347 KMessageBox::error( this, "no KXMLGUICLient");
1353} 1348}
1354 1349
1355 1350
1356void KABCore::configurationChanged() 1351void KABCore::configurationChanged()
1357{ 1352{
1358 mExtensionManager->reconfigure(); 1353 mExtensionManager->reconfigure();
1359} 1354}
1360 1355
1361void KABCore::addressBookChanged() 1356void KABCore::addressBookChanged()
1362{ 1357{
1363/*US 1358/*US
1364 QDictIterator<AddresseeEditorDialog> it( mEditorDict ); 1359 QDictIterator<AddresseeEditorDialog> it( mEditorDict );
1365 while ( it.current() ) { 1360 while ( it.current() ) {
1366 if ( it.current()->dirty() ) { 1361 if ( it.current()->dirty() ) {
1367 QString text = i18n( "Data has been changed externally. Unsaved " 1362 QString text = i18n( "Data has been changed externally. Unsaved "
1368 "changes will be lost." ); 1363 "changes will be lost." );
1369 KMessageBox::information( this, text ); 1364 KMessageBox::information( this, text );
1370 } 1365 }
1371 it.current()->setAddressee( mAddressBook->findByUid( it.currentKey() ) ); 1366 it.current()->setAddressee( mAddressBook->findByUid( it.currentKey() ) );
1372 ++it; 1367 ++it;
1373 } 1368 }
1374*/ 1369*/
1375 if (mEditorDialog) 1370 if (mEditorDialog)
1376 { 1371 {
1377 if (mEditorDialog->dirty()) 1372 if (mEditorDialog->dirty())
1378 { 1373 {
1379 QString text = i18n( "Data has been changed externally. Unsaved " 1374 QString text = i18n( "Data has been changed externally. Unsaved "
1380 "changes will be lost." ); 1375 "changes will be lost." );
1381 KMessageBox::information( this, text ); 1376 KMessageBox::information( this, text );
1382 } 1377 }
1383 QString currentuid = mEditorDialog->addressee().uid(); 1378 QString currentuid = mEditorDialog->addressee().uid();
1384 mEditorDialog->setAddressee( mAddressBook->findByUid( currentuid ) ); 1379 mEditorDialog->setAddressee( mAddressBook->findByUid( currentuid ) );
1385 } 1380 }
1386 mViewManager->refreshView(); 1381 mViewManager->refreshView();
1387// mDetails->refreshView(); 1382// mDetails->refreshView();
1388 1383
1389 1384
1390} 1385}
1391 1386
1392AddresseeEditorDialog *KABCore::createAddresseeEditorDialog( QWidget *parent, 1387AddresseeEditorDialog *KABCore::createAddresseeEditorDialog( QWidget *parent,
1393 const char *name ) 1388 const char *name )
1394{ 1389{
1395 1390
1396 if ( mEditorDialog == 0 ) { 1391 if ( mEditorDialog == 0 ) {
1397 mEditorDialog = new AddresseeEditorDialog( this, parent, 1392 mEditorDialog = new AddresseeEditorDialog( this, parent,
1398 name ? name : "editorDialog" ); 1393 name ? name : "editorDialog" );
1399 1394
1400 1395
1401 connect( mEditorDialog, SIGNAL( contactModified( const KABC::Addressee& ) ), 1396 connect( mEditorDialog, SIGNAL( contactModified( const KABC::Addressee& ) ),
1402 SLOT( contactModified( const KABC::Addressee& ) ) ); 1397 SLOT( contactModified( const KABC::Addressee& ) ) );
1403 //connect( mEditorDialog, SIGNAL( editorDestroyed( const QString& ) ), 1398 //connect( mEditorDialog, SIGNAL( editorDestroyed( const QString& ) ),
1404 // SLOT( slotEditorDestroyed( const QString& ) ) ; 1399 // SLOT( slotEditorDestroyed( const QString& ) ) ;
1405 } 1400 }
1406 1401
1407 return mEditorDialog; 1402 return mEditorDialog;
1408} 1403}
1409 1404
1410void KABCore::slotEditorDestroyed( const QString &uid ) 1405void KABCore::slotEditorDestroyed( const QString &uid )
1411{ 1406{
1412 //mEditorDict.remove( uid ); 1407 //mEditorDict.remove( uid );
1413} 1408}
1414 1409
1415void KABCore::initGUI() 1410void KABCore::initGUI()
1416{ 1411{
1417#ifndef KAB_EMBEDDED 1412#ifndef KAB_EMBEDDED
1418 QHBoxLayout *topLayout = new QHBoxLayout( this ); 1413 QHBoxLayout *topLayout = new QHBoxLayout( this );
1419 topLayout->setSpacing( KDialogBase::spacingHint() ); 1414 topLayout->setSpacing( KDialogBase::spacingHint() );
1420 1415
1421 mExtensionBarSplitter = new QSplitter( this ); 1416 mExtensionBarSplitter = new QSplitter( this );
1422 mExtensionBarSplitter->setOrientation( Qt::Vertical ); 1417 mExtensionBarSplitter->setOrientation( Qt::Vertical );
1423 1418
1424 mDetailsSplitter = new QSplitter( mExtensionBarSplitter ); 1419 mDetailsSplitter = new QSplitter( mExtensionBarSplitter );
1425 1420
1426 QVBox *viewSpace = new QVBox( mDetailsSplitter ); 1421 QVBox *viewSpace = new QVBox( mDetailsSplitter );
1427 mIncSearchWidget = new IncSearchWidget( viewSpace ); 1422 mIncSearchWidget = new IncSearchWidget( viewSpace );
1428 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), 1423 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ),
1429 SLOT( incrementalSearch( const QString& ) ) ); 1424 SLOT( incrementalSearch( const QString& ) ) );
1430 1425
1431 mViewManager = new ViewManager( this, viewSpace ); 1426 mViewManager = new ViewManager( this, viewSpace );
1432 viewSpace->setStretchFactor( mViewManager, 1 ); 1427 viewSpace->setStretchFactor( mViewManager, 1 );
1433 1428
1434 mDetails = new ViewContainer( mDetailsSplitter ); 1429 mDetails = new ViewContainer( mDetailsSplitter );
1435 1430
1436 mJumpButtonBar = new JumpButtonBar( this, this ); 1431 mJumpButtonBar = new JumpButtonBar( this, this );
1437 1432
1438 mExtensionManager = new ExtensionManager( this, mExtensionBarSplitter ); 1433 mExtensionManager = new ExtensionManager( this, mExtensionBarSplitter );
1439 1434
1440 topLayout->addWidget( mExtensionBarSplitter ); 1435 topLayout->addWidget( mExtensionBarSplitter );
1441 topLayout->setStretchFactor( mExtensionBarSplitter, 100 ); 1436 topLayout->setStretchFactor( mExtensionBarSplitter, 100 );
1442 topLayout->addWidget( mJumpButtonBar ); 1437 topLayout->addWidget( mJumpButtonBar );
1443 topLayout->setStretchFactor( mJumpButtonBar, 1 ); 1438 topLayout->setStretchFactor( mJumpButtonBar, 1 );
1444 1439
1445 mXXPortManager = new XXPortManager( this, this ); 1440 mXXPortManager = new XXPortManager( this, this );
1446 1441
1447#else //KAB_EMBEDDED 1442#else //KAB_EMBEDDED
1448 //US initialize viewMenu before settingup viewmanager. 1443 //US initialize viewMenu before settingup viewmanager.
1449 // Viewmanager needs this menu to plugin submenues. 1444 // Viewmanager needs this menu to plugin submenues.
1450 viewMenu = new QPopupMenu( this ); 1445 viewMenu = new QPopupMenu( this );
1451 settingsMenu = new QPopupMenu( this ); 1446 settingsMenu = new QPopupMenu( this );
1452 //filterMenu = new QPopupMenu( this ); 1447 //filterMenu = new QPopupMenu( this );
1453 ImportMenu = new QPopupMenu( this ); 1448 ImportMenu = new QPopupMenu( this );
1454 ExportMenu = new QPopupMenu( this ); 1449 ExportMenu = new QPopupMenu( this );
1455 syncMenu = new QPopupMenu( this ); 1450 syncMenu = new QPopupMenu( this );
1456 changeMenu= new QPopupMenu( this ); 1451 changeMenu= new QPopupMenu( this );
1457 1452
1458//US since we have no splitter for the embedded system, setup 1453//US since we have no splitter for the embedded system, setup
1459// a layout with two frames. One left and one right. 1454// a layout with two frames. One left and one right.
1460 1455
1461 QBoxLayout *topLayout; 1456 QBoxLayout *topLayout;
1462 1457
1463 // = new QHBoxLayout( this ); 1458 // = new QHBoxLayout( this );
1464// QBoxLayout *topLayout = (QBoxLayout*)layout(); 1459// QBoxLayout *topLayout = (QBoxLayout*)layout();
1465 1460
1466// QWidget *mainBox = new QWidget( this ); 1461// QWidget *mainBox = new QWidget( this );
1467// QBoxLayout * mainBoxLayout = new QHBoxLayout(mainBox); 1462// QBoxLayout * mainBoxLayout = new QHBoxLayout(mainBox);
1468 1463
1469#ifdef DESKTOP_VERSION 1464#ifdef DESKTOP_VERSION
1470 topLayout = new QHBoxLayout( this ); 1465 topLayout = new QHBoxLayout( this );
1471 1466
1472 1467
1473 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this); 1468 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this);
1474 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); 1469 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right );
1475 1470
1476 topLayout->addWidget(mMiniSplitter ); 1471 topLayout->addWidget(mMiniSplitter );
1477 1472
1478 mExtensionBarSplitter = new KDGanttMinimizeSplitter( Qt::Vertical,mMiniSplitter ); 1473 mExtensionBarSplitter = new KDGanttMinimizeSplitter( Qt::Vertical,mMiniSplitter );
1479 mExtensionBarSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down ); 1474 mExtensionBarSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down );
1480 mViewManager = new ViewManager( this, mExtensionBarSplitter ); 1475 mViewManager = new ViewManager( this, mExtensionBarSplitter );
1481 mDetails = new ViewContainer( mMiniSplitter ); 1476 mDetails = new ViewContainer( mMiniSplitter );
1482 mExtensionManager = new ExtensionManager( this, mExtensionBarSplitter ); 1477 mExtensionManager = new ExtensionManager( this, mExtensionBarSplitter );
1483#else 1478#else
1484 if ( QApplication::desktop()->width() > 480 ) { 1479 if ( QApplication::desktop()->width() > 480 ) {
1485 topLayout = new QHBoxLayout( this ); 1480 topLayout = new QHBoxLayout( this );
1486 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this); 1481 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this);
1487 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); 1482 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right );
1488 } else { 1483 } else {
1489 1484
1490 topLayout = new QHBoxLayout( this ); 1485 topLayout = new QHBoxLayout( this );
1491 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Vertical, this); 1486 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Vertical, this);
1492 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down ); 1487 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down );
1493 } 1488 }
1494 1489
1495 topLayout->addWidget(mMiniSplitter ); 1490 topLayout->addWidget(mMiniSplitter );
1496 mViewManager = new ViewManager( this, mMiniSplitter ); 1491 mViewManager = new ViewManager( this, mMiniSplitter );
1497 mDetails = new ViewContainer( mMiniSplitter ); 1492 mDetails = new ViewContainer( mMiniSplitter );
1498 1493
1499 1494
1500 mExtensionManager = new ExtensionManager( this, mMiniSplitter ); 1495 mExtensionManager = new ExtensionManager( this, mMiniSplitter );
1501#endif 1496#endif
1502 //eh->hide(); 1497 //eh->hide();
1503 // topLayout->addWidget(mExtensionManager ); 1498 // topLayout->addWidget(mExtensionManager );
1504 1499
1505 1500
1506/*US 1501/*US
1507#ifndef KAB_NOSPLITTER 1502#ifndef KAB_NOSPLITTER
1508 QHBoxLayout *topLayout = new QHBoxLayout( this ); 1503 QHBoxLayout *topLayout = new QHBoxLayout( this );
1509//US topLayout->setSpacing( KDialogBase::spacingHint() ); 1504//US topLayout->setSpacing( KDialogBase::spacingHint() );
1510 topLayout->setSpacing( 10 ); 1505 topLayout->setSpacing( 10 );
1511 1506
1512 mDetailsSplitter = new QSplitter( this ); 1507 mDetailsSplitter = new QSplitter( this );
1513 1508
1514 QVBox *viewSpace = new QVBox( mDetailsSplitter ); 1509 QVBox *viewSpace = new QVBox( mDetailsSplitter );
1515 1510
1516 mViewManager = new ViewManager( this, viewSpace ); 1511 mViewManager = new ViewManager( this, viewSpace );
1517 viewSpace->setStretchFactor( mViewManager, 1 ); 1512 viewSpace->setStretchFactor( mViewManager, 1 );
1518 1513
1519 mDetails = new ViewContainer( mDetailsSplitter ); 1514 mDetails = new ViewContainer( mDetailsSplitter );
1520 1515
1521 topLayout->addWidget( mDetailsSplitter ); 1516 topLayout->addWidget( mDetailsSplitter );
1522 topLayout->setStretchFactor( mDetailsSplitter, 100 ); 1517 topLayout->setStretchFactor( mDetailsSplitter, 100 );
1523#else //KAB_NOSPLITTER 1518#else //KAB_NOSPLITTER
1524 QHBoxLayout *topLayout = new QHBoxLayout( this ); 1519 QHBoxLayout *topLayout = new QHBoxLayout( this );
1525//US topLayout->setSpacing( KDialogBase::spacingHint() ); 1520//US topLayout->setSpacing( KDialogBase::spacingHint() );
1526 topLayout->setSpacing( 10 ); 1521 topLayout->setSpacing( 10 );
1527 1522
1528// mDetailsSplitter = new QSplitter( this ); 1523// mDetailsSplitter = new QSplitter( this );
1529 1524
1530 QVBox *viewSpace = new QVBox( this ); 1525 QVBox *viewSpace = new QVBox( this );
1531 1526
1532 mViewManager = new ViewManager( this, viewSpace ); 1527 mViewManager = new ViewManager( this, viewSpace );
1533 viewSpace->setStretchFactor( mViewManager, 1 ); 1528 viewSpace->setStretchFactor( mViewManager, 1 );
1534 1529
1535 mDetails = new ViewContainer( this ); 1530 mDetails = new ViewContainer( this );
1536 1531
1537 topLayout->addWidget( viewSpace ); 1532 topLayout->addWidget( viewSpace );
1538// topLayout->setStretchFactor( mDetailsSplitter, 100 ); 1533// topLayout->setStretchFactor( mDetailsSplitter, 100 );
1539 topLayout->addWidget( mDetails ); 1534 topLayout->addWidget( mDetails );
1540#endif //KAB_NOSPLITTER 1535#endif //KAB_NOSPLITTER
1541*/ 1536*/
1542 1537
1543 1538
1544#endif //KAB_EMBEDDED 1539#endif //KAB_EMBEDDED
1545 initActions(); 1540 initActions();
1546 1541
1547#ifdef KAB_EMBEDDED 1542#ifdef KAB_EMBEDDED
1548 addActionsManually(); 1543 addActionsManually();
1549 //US make sure the export and import menues are initialized before creating the xxPortManager. 1544 //US make sure the export and import menues are initialized before creating the xxPortManager.
1550 mXXPortManager = new XXPortManager( this, this ); 1545 mXXPortManager = new XXPortManager( this, this );
1551 1546
1552 // LR mIncSearchWidget = new IncSearchWidget( mMainWindow->getIconToolBar() ); 1547 // LR mIncSearchWidget = new IncSearchWidget( mMainWindow->getIconToolBar() );
1553 //mMainWindow->toolBar()->insertWidget(-1, 4, mIncSearchWidget); 1548 //mMainWindow->toolBar()->insertWidget(-1, 4, mIncSearchWidget);
1554 // mActionQuit->plug ( mMainWindow->toolBar()); 1549 // mActionQuit->plug ( mMainWindow->toolBar());
1555 //mIncSearchWidget = new IncSearchWidget( mMainWindow->toolBar() ); 1550 //mIncSearchWidget = new IncSearchWidget( mMainWindow->toolBar() );
1556 //mMainWindow->toolBar()->insertWidget(-1, 0, mIncSearchWidget); 1551 //mMainWindow->toolBar()->insertWidget(-1, 0, mIncSearchWidget);
1557 // mIncSearchWidget->hide(); 1552 // mIncSearchWidget->hide();
1558 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), 1553 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ),
1559 SLOT( incrementalSearch( const QString& ) ) ); 1554 SLOT( incrementalSearch( const QString& ) ) );
1560 1555
1561 1556
1562 mJumpButtonBar = new JumpButtonBar( this, this ); 1557 mJumpButtonBar = new JumpButtonBar( this, this );
1563 1558
1564 topLayout->addWidget( mJumpButtonBar ); 1559 topLayout->addWidget( mJumpButtonBar );
1565//US topLayout->setStretchFactor( mJumpButtonBar, 10 ); 1560//US topLayout->setStretchFactor( mJumpButtonBar, 10 );
1566 1561
1567// mMainWindow->getIconToolBar()->raise(); 1562// mMainWindow->getIconToolBar()->raise();
1568 1563
1569#endif //KAB_EMBEDDED 1564#endif //KAB_EMBEDDED
1570 1565
1571} 1566}
1572void KABCore::initActions() 1567void KABCore::initActions()
1573{ 1568{
1574//US qDebug("KABCore::initActions(): mIsPart %i", mIsPart); 1569//US qDebug("KABCore::initActions(): mIsPart %i", mIsPart);
1575 1570
1576#ifndef KAB_EMBEDDED 1571#ifndef KAB_EMBEDDED
1577 connect( QApplication::clipboard(), SIGNAL( dataChanged() ), 1572 connect( QApplication::clipboard(), SIGNAL( dataChanged() ),
1578 SLOT( clipboardDataChanged() ) ); 1573 SLOT( clipboardDataChanged() ) );
1579#endif //KAB_EMBEDDED 1574#endif //KAB_EMBEDDED
1580 1575
1581 // file menu 1576 // file menu
1582 if ( mIsPart ) { 1577 if ( mIsPart ) {
1583 mActionMail = new KAction( i18n( "&Mail" ), "mail_generic", 0, this, 1578 mActionMail = new KAction( i18n( "&Mail" ), "mail_generic", 0, this,
1584 SLOT( sendMail() ), actionCollection(), 1579 SLOT( sendMail() ), actionCollection(),
1585 "kaddressbook_mail" ); 1580 "kaddressbook_mail" );
1586 mActionPrint = new KAction( i18n( "&Print" ), "fileprint", CTRL + Key_P, this, 1581 mActionPrint = new KAction( i18n( "&Print" ), "fileprint", CTRL + Key_P, this,
1587 SLOT( print() ), actionCollection(), "kaddressbook_print" ); 1582 SLOT( print() ), actionCollection(), "kaddressbook_print" );
1588 1583
1589 } else { 1584 } else {
1590 mActionMail = KStdAction::mail( this, SLOT( sendMail() ), actionCollection() ); 1585 mActionMail = KStdAction::mail( this, SLOT( sendMail() ), actionCollection() );
1591 mActionPrint = KStdAction::print( this, SLOT( print() ), actionCollection() ); 1586 mActionPrint = KStdAction::print( this, SLOT( print() ), actionCollection() );
1592 } 1587 }
1593 1588
1594 1589
1595 mActionSave = new KAction( i18n( "&Save" ), "filesave", CTRL+Key_S, this, 1590 mActionSave = new KAction( i18n( "&Save" ), "filesave", CTRL+Key_S, this,
1596 SLOT( save() ), actionCollection(), "file_sync" ); 1591 SLOT( save() ), actionCollection(), "file_sync" );
1597 1592
1598 mActionNewContact = new KAction( i18n( "&New Contact..." ), "filenew", CTRL+Key_N, this, 1593 mActionNewContact = new KAction( i18n( "&New Contact..." ), "filenew", CTRL+Key_N, this,
1599 SLOT( newContact() ), actionCollection(), "file_new_contact" ); 1594 SLOT( newContact() ), actionCollection(), "file_new_contact" );
1600 1595
1601 mActionMailVCard = new KAction(i18n("Mail &vCard..."), "mail_post_to", 0, 1596 mActionMailVCard = new KAction(i18n("Mail &vCard..."), "mail_post_to", 0,
1602 this, SLOT( mailVCard() ), 1597 this, SLOT( mailVCard() ),
1603 actionCollection(), "file_mail_vcard"); 1598 actionCollection(), "file_mail_vcard");
1604 1599
1605 mActionBeamVCard = 0; 1600 mActionBeamVCard = 0;
1606 mActionBeam = 0; 1601 mActionBeam = 0;
1607 1602
1608#ifndef DESKTOP_VERSION 1603#ifndef DESKTOP_VERSION
1609 if ( Ir::supported() ) { 1604 if ( Ir::supported() ) {
1610 mActionBeamVCard = new KAction( i18n( "Beam selected v&Card(s)" ), "beam", 0, this, 1605 mActionBeamVCard = new KAction( i18n( "Beam selected v&Card(s)" ), "beam", 0, this,
1611 SLOT( beamVCard() ), actionCollection(), 1606 SLOT( beamVCard() ), actionCollection(),
1612 "kaddressbook_beam_vcard" ); 1607 "kaddressbook_beam_vcard" );
1613 1608
1614 mActionBeam = new KAction( i18n( "&Beam personal vCard" ), "beam", 0, this, 1609 mActionBeam = new KAction( i18n( "&Beam personal vCard" ), "beam", 0, this,
1615 SLOT( beamMySelf() ), actionCollection(), 1610 SLOT( beamMySelf() ), actionCollection(),
1616 "kaddressbook_beam_myself" ); 1611 "kaddressbook_beam_myself" );
1617 } 1612 }
1618#endif 1613#endif
1619 1614
1620 mActionEditAddressee = new KAction( i18n( "&Edit Contact..." ), "edit", 0, 1615 mActionEditAddressee = new KAction( i18n( "&Edit Contact..." ), "edit", 0,
1621 this, SLOT( editContact2() ), 1616 this, SLOT( editContact2() ),
1622 actionCollection(), "file_properties" ); 1617 actionCollection(), "file_properties" );
1623 1618
1624#ifdef KAB_EMBEDDED 1619#ifdef KAB_EMBEDDED
1625 // mActionQuit = KStdAction::quit( mMainWindow, SLOT( exit() ), actionCollection() ); 1620 // mActionQuit = KStdAction::quit( mMainWindow, SLOT( exit() ), actionCollection() );
1626 mActionQuit = new KAction( i18n( "&Exit" ), "exit", 0, 1621 mActionQuit = new KAction( i18n( "&Exit" ), "exit", 0,
1627 mMainWindow, SLOT( exit() ), 1622 mMainWindow, SLOT( exit() ),
1628 actionCollection(), "quit" ); 1623 actionCollection(), "quit" );
1629#endif //KAB_EMBEDDED 1624#endif //KAB_EMBEDDED
1630 1625
1631 // edit menu 1626 // edit menu
1632 if ( mIsPart ) { 1627 if ( mIsPart ) {
1633 mActionCopy = new KAction( i18n( "&Copy" ), "editcopy", CTRL + Key_C, this, 1628 mActionCopy = new KAction( i18n( "&Copy" ), "editcopy", CTRL + Key_C, this,
1634 SLOT( copyContacts() ), actionCollection(), 1629 SLOT( copyContacts() ), actionCollection(),
1635 "kaddressbook_copy" ); 1630 "kaddressbook_copy" );
1636 mActionCut = new KAction( i18n( "Cu&t" ), "editcut", CTRL + Key_X, this, 1631 mActionCut = new KAction( i18n( "Cu&t" ), "editcut", CTRL + Key_X, this,
1637 SLOT( cutContacts() ), actionCollection(), 1632 SLOT( cutContacts() ), actionCollection(),
1638 "kaddressbook_cut" ); 1633 "kaddressbook_cut" );
1639 mActionPaste = new KAction( i18n( "&Paste" ), "editpaste", CTRL + Key_V, this, 1634 mActionPaste = new KAction( i18n( "&Paste" ), "editpaste", CTRL + Key_V, this,
1640 SLOT( pasteContacts() ), actionCollection(), 1635 SLOT( pasteContacts() ), actionCollection(),
1641 "kaddressbook_paste" ); 1636 "kaddressbook_paste" );
1642 mActionSelectAll = new KAction( i18n( "Select &All" ), CTRL + Key_A, this, 1637 mActionSelectAll = new KAction( i18n( "Select &All" ), CTRL + Key_A, this,
1643 SLOT( selectAllContacts() ), actionCollection(), 1638 SLOT( selectAllContacts() ), actionCollection(),
1644 "kaddressbook_select_all" ); 1639 "kaddressbook_select_all" );
1645 mActionUndo = new KAction( i18n( "&Undo" ), "undo", CTRL + Key_Z, this, 1640 mActionUndo = new KAction( i18n( "&Undo" ), "undo", CTRL + Key_Z, this,
1646 SLOT( undo() ), actionCollection(), 1641 SLOT( undo() ), actionCollection(),
1647 "kaddressbook_undo" ); 1642 "kaddressbook_undo" );
1648 mActionRedo = new KAction( i18n( "Re&do" ), "redo", CTRL + SHIFT + Key_Z, 1643 mActionRedo = new KAction( i18n( "Re&do" ), "redo", CTRL + SHIFT + Key_Z,
1649 this, SLOT( redo() ), actionCollection(), 1644 this, SLOT( redo() ), actionCollection(),
1650 "kaddressbook_redo" ); 1645 "kaddressbook_redo" );
1651 } else { 1646 } else {
1652 mActionCopy = KStdAction::copy( this, SLOT( copyContacts() ), actionCollection() ); 1647 mActionCopy = KStdAction::copy( this, SLOT( copyContacts() ), actionCollection() );
1653 mActionCut = KStdAction::cut( this, SLOT( cutContacts() ), actionCollection() ); 1648 mActionCut = KStdAction::cut( this, SLOT( cutContacts() ), actionCollection() );
1654 mActionPaste = KStdAction::paste( this, SLOT( pasteContacts() ), actionCollection() ); 1649 mActionPaste = KStdAction::paste( this, SLOT( pasteContacts() ), actionCollection() );
1655 mActionSelectAll = KStdAction::selectAll( this, SLOT( selectAllContacts() ), actionCollection() ); 1650 mActionSelectAll = KStdAction::selectAll( this, SLOT( selectAllContacts() ), actionCollection() );
1656 mActionUndo = KStdAction::undo( this, SLOT( undo() ), actionCollection() ); 1651 mActionUndo = KStdAction::undo( this, SLOT( undo() ), actionCollection() );
1657 mActionRedo = KStdAction::redo( this, SLOT( redo() ), actionCollection() ); 1652 mActionRedo = KStdAction::redo( this, SLOT( redo() ), actionCollection() );
1658 } 1653 }
1659 1654
1660 mActionDelete = new KAction( i18n( "&Delete Contact" ), "editdelete", 1655 mActionDelete = new KAction( i18n( "&Delete Contact" ), "editdelete",
1661 Key_Delete, this, SLOT( deleteContacts() ), 1656 Key_Delete, this, SLOT( deleteContacts() ),
1662 actionCollection(), "edit_delete" ); 1657 actionCollection(), "edit_delete" );
1663 1658
1664 mActionUndo->setEnabled( false ); 1659 mActionUndo->setEnabled( false );
1665 mActionRedo->setEnabled( false ); 1660 mActionRedo->setEnabled( false );
1666 1661
1667 // settings menu 1662 // settings menu
1668#ifdef KAB_EMBEDDED 1663#ifdef KAB_EMBEDDED
1669//US special menuentry to configure the addressbook resources. On KDE 1664//US special menuentry to configure the addressbook resources. On KDE
1670// you do that through the control center !!! 1665// you do that through the control center !!!
1671 mActionConfigResources = new KAction( i18n( "Configure &Resources..." ), "configure_resources", 0, this, 1666 mActionConfigResources = new KAction( i18n( "Configure &Resources..." ), "configure_resources", 0, this,
1672 SLOT( configureResources() ), actionCollection(), 1667 SLOT( configureResources() ), actionCollection(),
1673 "kaddressbook_configure_resources" ); 1668 "kaddressbook_configure_resources" );
1674#endif //KAB_EMBEDDED 1669#endif //KAB_EMBEDDED
1675 1670
1676 if ( mIsPart ) { 1671 if ( mIsPart ) {
1677 mActionConfigKAddressbook = new KAction( i18n( "&Configure KAddressBook..." ), "configure", 0, this, 1672 mActionConfigKAddressbook = new KAction( i18n( "&Configure KAddressBook..." ), "configure", 0, this,
1678 SLOT( openConfigDialog() ), actionCollection(), 1673 SLOT( openConfigDialog() ), actionCollection(),
1679 "kaddressbook_configure" ); 1674 "kaddressbook_configure" );
1680 1675
diff --git a/kaddressbook/kcmconfigs/kabconfigwidget.cpp b/kaddressbook/kcmconfigs/kabconfigwidget.cpp
index 0c3a199..e970c3d 100644
--- a/kaddressbook/kcmconfigs/kabconfigwidget.cpp
+++ b/kaddressbook/kcmconfigs/kabconfigwidget.cpp
@@ -1,403 +1,385 @@
1/* 1/*
2 This file is part of KAddressBook. 2 This file is part of KAddressBook.
3 Copyright (c) 2003 Tobias Koenig <tokoe@kde.org> 3 Copyright (c) 2003 Tobias Koenig <tokoe@kde.org>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23 23
24#include <qcheckbox.h> 24#include <qcheckbox.h>
25#include <qframe.h> 25#include <qframe.h>
26#include <qgroupbox.h> 26#include <qgroupbox.h>
27#include <qlayout.h> 27#include <qlayout.h>
28#include <qpushbutton.h> 28#include <qpushbutton.h>
29#include <qtabwidget.h> 29#include <qtabwidget.h>
30#include <qcombobox.h> 30#include <qcombobox.h>
31#include <qlineedit.h> 31#include <qlineedit.h>
32#include <qlabel.h> 32#include <qlabel.h>
33#include <qfile.h> 33#include <qfile.h>
34#include <qvbox.h> 34#include <qvbox.h>
35 35
36#include <kconfig.h> 36#include <kconfig.h>
37#include <kdebug.h> 37#include <kdebug.h>
38#include <kdialog.h> 38#include <kdialog.h>
39#include <klistview.h> 39#include <klistview.h>
40#include <klocale.h> 40#include <klocale.h>
41#include <kglobal.h> 41#include <kglobal.h>
42#include <kmessagebox.h> 42#include <kmessagebox.h>
43#include <kstandarddirs.h> 43#include <kstandarddirs.h>
44 44
45#ifndef KAB_EMBEDDED 45#ifndef KAB_EMBEDDED
46#include <ktrader.h> 46#include <ktrader.h>
47#else // KAB_EMBEDDED 47#else // KAB_EMBEDDED
48#include <mergewidget.h> 48#include <mergewidget.h>
49#include <distributionlistwidget.h> 49#include <distributionlistwidget.h>
50#endif // KAB_EMBEDDED 50#endif // KAB_EMBEDDED
51 51
52#include "addresseewidget.h" 52#include "addresseewidget.h"
53#include "extensionconfigdialog.h" 53#include "extensionconfigdialog.h"
54#include "extensionwidget.h" 54#include "extensionwidget.h"
55#include "kabprefs.h" 55#include "kabprefs.h"
56 56
57#include "kabconfigwidget.h" 57#include "kabconfigwidget.h"
58 58
59class ExtensionItem : public QCheckListItem 59class ExtensionItem : public QCheckListItem
60{ 60{
61 public: 61 public:
62 62
63#ifndef KAB_EMBEDDED 63#ifndef KAB_EMBEDDED
64 ExtensionItem( QListView *parent, const QString &text ); 64 ExtensionItem( QListView *parent, const QString &text );
65 void setService( const KService::Ptr &ptr ); 65 void setService( const KService::Ptr &ptr );
66#else //KAB_EMBEDDED 66#else //KAB_EMBEDDED
67 ExtensionItem( QListView *parent, const QString &text, const QString &name, const QString &comment ); 67 ExtensionItem( QListView *parent, const QString &text, const QString &name, const QString &comment );
68 void setFactory( ExtensionFactory* fac ); 68 void setFactory( ExtensionFactory* fac );
69#endif //KAB_EMBEDDED 69#endif //KAB_EMBEDDED
70 70
71 bool configWidgetAvailable() const; 71 bool configWidgetAvailable() const;
72 ExtensionFactory *factory() const; 72 ExtensionFactory *factory() const;
73 73
74 virtual QString text( int column ) const; 74 virtual QString text( int column ) const;
75 75
76 private: 76 private:
77#ifndef KAB_EMBEDDED 77#ifndef KAB_EMBEDDED
78 KService::Ptr mPtr; 78 KService::Ptr mPtr;
79#else //KAB_EMBEDDED 79#else //KAB_EMBEDDED
80 ExtensionFactory* mFactory; 80 ExtensionFactory* mFactory;
81 QString mName; 81 QString mName;
82 QString mComment; 82 QString mComment;
83 83
84#endif //KAB_EMBEDDED 84#endif //KAB_EMBEDDED
85 85
86}; 86};
87 87
88KABConfigWidget::KABConfigWidget( QWidget *parent, const char *name ) 88KABConfigWidget::KABConfigWidget( KABPrefs* prefs, QWidget *parent, const char *name )
89 : QWidget( parent, name ) 89 : KPrefsWidget( prefs, parent, name )
90{ 90{
91 QVBoxLayout *topLayout = new QVBoxLayout( this, 0, 91 QVBoxLayout *topLayout = new QVBoxLayout( this, 0,
92 KDialog::spacingHint() ); 92 KDialog::spacingHint() );
93 93
94 QTabWidget *tabWidget = new QTabWidget( this ); 94 QTabWidget *tabWidget = new QTabWidget( this );
95 topLayout->addWidget( tabWidget ); 95 topLayout->addWidget( tabWidget );
96 96
97 // General page 97 // General page
98 QWidget *generalPage = new QWidget( this ); 98 QWidget *generalPage = new QWidget( this );
99 QVBoxLayout *layout = new QVBoxLayout( generalPage, KDialog::marginHintSmall(), 99 QVBoxLayout *layout = new QVBoxLayout( generalPage, KDialog::marginHintSmall(),
100 KDialog::spacingHintSmall() ); 100 KDialog::spacingHintSmall() );
101 //general groupbox 101 //general groupbox
102 QVBox *vBox = new QVBox( generalPage, "qvbox" ); 102 QVBox *vBox = new QVBox( generalPage, "qvbox" );
103 QVBoxLayout *boxLayout = new QVBoxLayout( vBox->layout(), -1, "qvboxlayout" ); 103 QVBoxLayout *boxLayout = new QVBoxLayout( vBox->layout(), -1, "qvboxlayout" );
104 boxLayout->setAlignment( Qt::AlignTop ); 104 boxLayout->setAlignment( Qt::AlignTop );
105 boxLayout->setMargin(KDialog::marginHintSmall() ); 105 boxLayout->setMargin(KDialog::marginHintSmall() );
106 vBox->layout()->setMargin(KDialog::marginHintSmall()) ; 106 vBox->layout()->setMargin(KDialog::marginHintSmall()) ;
107 vBox->layout()->setSpacing(KDialog::spacingHintSmall()); 107 vBox->layout()->setSpacing(KDialog::spacingHintSmall());
108 boxLayout->setSpacing( KDialog::spacingHintSmall() ); 108 boxLayout->setSpacing( KDialog::spacingHintSmall() );
109 mSearchReturnBox = new QCheckBox( i18n( "Search only after <return> key pressed" ), vBox, "mreturn" ); 109 mSearchReturnBox = new QCheckBox( i18n( "Search only after <return> key pressed" ), vBox, "mreturn" );
110 boxLayout->addWidget( mSearchReturnBox ); 110 boxLayout->addWidget( mSearchReturnBox );
111 mViewsSingleClickBox = new QCheckBox( i18n( "Honor KDE single click" ), vBox, "msingle" ); 111 mViewsSingleClickBox = new QCheckBox( i18n( "Honor KDE single click" ), vBox, "msingle" );
112 boxLayout->addWidget( mViewsSingleClickBox ); 112 boxLayout->addWidget( mViewsSingleClickBox );
113 113
114 mNameParsing = new QCheckBox( i18n( "Automatic name parsing for new addressees" ), vBox, "mparse" ); 114 mNameParsing = new QCheckBox( i18n( "Automatic name parsing for new addressees" ), vBox, "mparse" );
115 boxLayout->addWidget( mNameParsing ); 115 boxLayout->addWidget( mNameParsing );
116 116
117 mMultipleViewsAtOnce = new QCheckBox( i18n( "Display List and Details at once (restart)" ), vBox, "mdisplay" ); 117 mMultipleViewsAtOnce = new QCheckBox( i18n( "Display List and Details at once (restart)" ), vBox, "mdisplay" );
118 boxLayout->addWidget( mMultipleViewsAtOnce ); 118 boxLayout->addWidget( mMultipleViewsAtOnce );
119 119
120 mAskForQuit = new QCheckBox( i18n( "Ask for quit when closing Ka/Pi" ), vBox, "mquit" ); 120 mAskForQuit = new QCheckBox( i18n( "Ask for quit when closing Ka/Pi" ), vBox, "mquit" );
121 boxLayout->addWidget( mAskForQuit ); 121 boxLayout->addWidget( mAskForQuit );
122 122
123 layout->addWidget( vBox ); 123 layout->addWidget( vBox );
124 124
125 tabWidget->addTab( generalPage, i18n( "General" ) ); 125 tabWidget->addTab( generalPage, i18n( "General" ) );
126 126
127 // Extension page 127 // Extension page
128 QWidget *extensionPage = new QWidget( this ); 128 QWidget *extensionPage = new QWidget( this );
129 QVBoxLayout *extensionLayout = new QVBoxLayout( extensionPage, KDialog::marginHintSmall(), 129 QVBoxLayout *extensionLayout = new QVBoxLayout( extensionPage, KDialog::marginHintSmall(),
130 KDialog::spacingHintSmall() ); 130 KDialog::spacingHintSmall() );
131 131
132 //extensions groupbox 132 //extensions groupbox
133 133
134 QGroupBox* groupBox = new QGroupBox( 0, Qt::Vertical, i18n( "Extensions (restart)" ), extensionPage ); 134 QGroupBox* groupBox = new QGroupBox( 0, Qt::Vertical, i18n( "Extensions (restart)" ), extensionPage );
135 boxLayout = new QVBoxLayout( groupBox->layout() ); 135 boxLayout = new QVBoxLayout( groupBox->layout() );
136 boxLayout->setAlignment( Qt::AlignTop ); 136 boxLayout->setAlignment( Qt::AlignTop );
137 boxLayout->setMargin(KDialog::marginHintSmall()); 137 boxLayout->setMargin(KDialog::marginHintSmall());
138 boxLayout->setSpacing(KDialog::spacingHintSmall()); 138 boxLayout->setSpacing(KDialog::spacingHintSmall());
139 groupBox->layout()->setMargin(1) ; 139 groupBox->layout()->setMargin(1) ;
140 groupBox->layout()->setSpacing(0); 140 groupBox->layout()->setSpacing(0);
141 mExtensionView = new KListView( groupBox ); 141 mExtensionView = new KListView( groupBox );
142 mExtensionView->setAllColumnsShowFocus( true ); 142 mExtensionView->setAllColumnsShowFocus( true );
143 mExtensionView->addColumn( i18n( "Name" ) ); 143 mExtensionView->addColumn( i18n( "Name" ) );
144 mExtensionView->addColumn( i18n( "Description" ) ); 144 mExtensionView->addColumn( i18n( "Description" ) );
145 mExtensionView->setMaximumHeight(80); 145 mExtensionView->setMaximumHeight(80);
146 146
147 boxLayout->addWidget( mExtensionView ); 147 boxLayout->addWidget( mExtensionView );
148 148
149 mConfigureButton = new QPushButton( i18n( "Configure..." ), groupBox ); 149 mConfigureButton = new QPushButton( i18n( "Configure..." ), groupBox );
150 mConfigureButton->setEnabled( false ); 150 mConfigureButton->setEnabled( false );
151 boxLayout->addWidget( mConfigureButton ); 151 boxLayout->addWidget( mConfigureButton );
152 152
153 extensionLayout->addWidget( groupBox ); 153 extensionLayout->addWidget( groupBox );
154 154
155 connect( mNameParsing, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); 155 connect( mNameParsing, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) );
156 connect( mViewsSingleClickBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); 156 connect( mViewsSingleClickBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) );
157 connect( mSearchReturnBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); 157 connect( mSearchReturnBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) );
158 connect( mMultipleViewsAtOnce, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); 158 connect( mMultipleViewsAtOnce, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) );
159 connect( mAskForQuit, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); 159 connect( mAskForQuit, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) );
160 connect( mExtensionView, SIGNAL( selectionChanged( QListViewItem* ) ), 160 connect( mExtensionView, SIGNAL( selectionChanged( QListViewItem* ) ),
161 SLOT( selectionChanged( QListViewItem* ) ) ); 161 SLOT( selectionChanged( QListViewItem* ) ) );
162 connect( mExtensionView, SIGNAL( clicked( QListViewItem* ) ), 162 connect( mExtensionView, SIGNAL( clicked( QListViewItem* ) ),
163 SLOT( itemClicked( QListViewItem* ) ) ); 163 SLOT( itemClicked( QListViewItem* ) ) );
164 connect( mConfigureButton, SIGNAL( clicked() ), 164 connect( mConfigureButton, SIGNAL( clicked() ),
165 SLOT( configureExtension() ) ); 165 SLOT( configureExtension() ) );
166 166
167 tabWidget->addTab( extensionPage, i18n( "Extensions" ) ); 167 tabWidget->addTab( extensionPage, i18n( "Extensions" ) );
168 168
169 // Addressee page 169 // Addressee page
170 mAddresseeWidget = new AddresseeWidget( this ); 170 mAddresseeWidget = new AddresseeWidget( this );
171 tabWidget->addTab( mAddresseeWidget, i18n( "Contact" ) ); 171 tabWidget->addTab( mAddresseeWidget, i18n( "Contact" ) );
172 connect( mAddresseeWidget, SIGNAL( modified() ), SLOT( modified() ) ); 172 connect( mAddresseeWidget, SIGNAL( modified() ), SLOT( modified() ) );
173 173
174} 174}
175 175
176 176void KABConfigWidget::usrReadConfig()
177void KABConfigWidget::restoreSettings(KABPrefs* prefs)
178{ 177{
179//US prefs was KABPrefs::instance() before 178 KABPrefs* prefs = KABPrefs::instance();
180 179
181 bool blocked = signalsBlocked(); 180 bool blocked = signalsBlocked();
182 blockSignals( true ); 181 blockSignals( true );
183 182
184 mNameParsing->setChecked( prefs->mAutomaticNameParsing ); 183 mNameParsing->setChecked( prefs->mAutomaticNameParsing );
185 mViewsSingleClickBox->setChecked( prefs->mHonorSingleClick ); 184 mViewsSingleClickBox->setChecked( prefs->mHonorSingleClick );
186 mSearchReturnBox->setChecked( prefs->mSearchWithReturn ); 185 mSearchReturnBox->setChecked( prefs->mSearchWithReturn );
187 mMultipleViewsAtOnce->setChecked( prefs->mMultipleViewsAtOnce ); 186 mMultipleViewsAtOnce->setChecked( prefs->mMultipleViewsAtOnce );
188 mAskForQuit->setChecked( prefs->mAskForQuit ); 187 mAskForQuit->setChecked( prefs->mAskForQuit );
189 188
190 mAddresseeWidget->restoreSettings(); 189 mAddresseeWidget->restoreSettings();
191 190
192 restoreExtensionSettings(); 191 restoreExtensionSettings();
193 192
194 blockSignals( blocked ); 193 blockSignals( blocked );
195 194
196 emit changed( false );
197} 195}
198 196
199void KABConfigWidget::saveSettings(KABPrefs* prefs) 197void KABConfigWidget::usrWriteConfig()
200{ 198{
199 KABPrefs* prefs = KABPrefs::instance();
200
201 prefs->mAutomaticNameParsing = mNameParsing->isChecked(); 201 prefs->mAutomaticNameParsing = mNameParsing->isChecked();
202 prefs->mHonorSingleClick = mViewsSingleClickBox->isChecked(); 202 prefs->mHonorSingleClick = mViewsSingleClickBox->isChecked();
203 prefs->mSearchWithReturn = mSearchReturnBox->isChecked(); 203 prefs->mSearchWithReturn = mSearchReturnBox->isChecked();
204 prefs->mMultipleViewsAtOnce = mMultipleViewsAtOnce->isChecked(); 204 prefs->mMultipleViewsAtOnce = mMultipleViewsAtOnce->isChecked();
205 prefs->mAskForQuit = mAskForQuit->isChecked(); 205 prefs->mAskForQuit = mAskForQuit->isChecked();
206 206
207 mAddresseeWidget->saveSettings(); 207 mAddresseeWidget->saveSettings();
208 208
209 saveExtensionSettings(); 209 saveExtensionSettings();
210 KABPrefs::instance()->writeConfig();
211 210
212 emit changed( false );
213}
214
215void KABConfigWidget::defaults(KABPrefs* prefs)
216{
217 mNameParsing->setChecked( true );
218 mViewsSingleClickBox->setChecked( false );
219 mMultipleViewsAtOnce->setChecked( true );
220 mSearchReturnBox->setChecked( true );
221 mAskForQuit->setChecked (true);
222
223 emit changed( true );
224}
225
226void KABConfigWidget::modified()
227{
228 emit changed( true );
229} 211}
230 212
231void KABConfigWidget::restoreExtensionSettings() 213void KABConfigWidget::restoreExtensionSettings()
232{ 214{
233 QStringList activeExtensions = KABPrefs::instance()->mActiveExtensions; 215 QStringList activeExtensions = KABPrefs::instance()->mActiveExtensions;
234 216
235 mExtensionView->clear(); 217 mExtensionView->clear();
236 218
237#ifndef KAB_EMBEDDED 219#ifndef KAB_EMBEDDED
238 KTrader::OfferList plugins = KTrader::self()->query( "KAddressBook/Extension" ); 220 KTrader::OfferList plugins = KTrader::self()->query( "KAddressBook/Extension" );
239 KTrader::OfferList::ConstIterator it; 221 KTrader::OfferList::ConstIterator it;
240 for ( it = plugins.begin(); it != plugins.end(); ++it ) { 222 for ( it = plugins.begin(); it != plugins.end(); ++it ) {
241 if ( !(*it)->hasServiceType( "KAddressBook/Extension" ) ) 223 if ( !(*it)->hasServiceType( "KAddressBook/Extension" ) )
242 continue; 224 continue;
243 225
244 ExtensionItem *item = new ExtensionItem( mExtensionView, (*it)->name() ); 226 ExtensionItem *item = new ExtensionItem( mExtensionView, (*it)->name() );
245 item->setService( *it ); 227 item->setService( *it );
246 if ( activeExtensions.contains( item->factory()->identifier() ) ) 228 if ( activeExtensions.contains( item->factory()->identifier() ) )
247 item->setOn( true ); 229 item->setOn( true );
248 } 230 }
249#else //KAB_EMBEDDED 231#else //KAB_EMBEDDED
250 ExtensionFactory *extensionFactory = new MergeFactory(); 232 ExtensionFactory *extensionFactory = new MergeFactory();
251 233
252 ExtensionItem *item = new ExtensionItem( mExtensionView, "Merge", "Merge", "Merge contacts"); 234 ExtensionItem *item = new ExtensionItem( mExtensionView, "Merge", "Merge", "Merge contacts");
253 235
254 item->setFactory( extensionFactory ); 236 item->setFactory( extensionFactory );
255 if ( activeExtensions.contains( extensionFactory->identifier() ) ) 237 if ( activeExtensions.contains( extensionFactory->identifier() ) )
256 item->setOn( true ); 238 item->setOn( true );
257 239
258 240
259 241
260 extensionFactory = new DistributionListFactory(); 242 extensionFactory = new DistributionListFactory();
261 243
262 item = new ExtensionItem( mExtensionView, "Distribution List", "Distribution List", "Manage Distribution Lists"); 244 item = new ExtensionItem( mExtensionView, "Distribution List", "Distribution List", "Manage Distribution Lists");
263 245
264 item->setFactory( extensionFactory ); 246 item->setFactory( extensionFactory );
265 if ( activeExtensions.contains( extensionFactory->identifier() ) ) 247 if ( activeExtensions.contains( extensionFactory->identifier() ) )
266 item->setOn( true ); 248 item->setOn( true );
267 249
268 250
269#endif //KAB_EMBEDDED 251#endif //KAB_EMBEDDED
270 252
271} 253}
272 254
273void KABConfigWidget::saveExtensionSettings() 255void KABConfigWidget::saveExtensionSettings()
274{ 256{
275 QStringList activeExtensions; 257 QStringList activeExtensions;
276 258
277 QPtrList<QListViewItem> list; 259 QPtrList<QListViewItem> list;
278 QListViewItemIterator it( mExtensionView ); 260 QListViewItemIterator it( mExtensionView );
279 while ( it.current() ) { 261 while ( it.current() ) {
280 ExtensionItem *item = static_cast<ExtensionItem*>( it.current() ); 262 ExtensionItem *item = static_cast<ExtensionItem*>( it.current() );
281 if ( item ) { 263 if ( item ) {
282 if ( item->isOn() ) 264 if ( item->isOn() )
283 activeExtensions.append( item->factory()->identifier() ); 265 activeExtensions.append( item->factory()->identifier() );
284 } 266 }
285 ++it; 267 ++it;
286 } 268 }
287 269
288 KABPrefs::instance()->mActiveExtensions = activeExtensions; 270 KABPrefs::instance()->mActiveExtensions = activeExtensions;
289} 271}
290 272
291void KABConfigWidget::configureExtension() 273void KABConfigWidget::configureExtension()
292{ 274{
293 ExtensionItem *item = static_cast<ExtensionItem*>( mExtensionView->currentItem() ); 275 ExtensionItem *item = static_cast<ExtensionItem*>( mExtensionView->currentItem() );
294 if ( !item ) 276 if ( !item )
295 return; 277 return;
296 278
297#ifndef KAB_EMBEDDED 279#ifndef KAB_EMBEDDED
298 KConfig config( "kaddressbookrc" ); 280 KConfig config( "kaddressbookrc" );
299#else //KAB_EMBEDDED 281#else //KAB_EMBEDDED
300 KConfig config( locateLocal("config", "kaddressbookrc") ); 282 KConfig config( locateLocal("config", "kaddressbookrc") );
301#endif //KAB_EMBEDDED 283#endif //KAB_EMBEDDED
302 config.setGroup( QString( "Extensions_%1" ).arg( item->factory()->identifier() ) ); 284 config.setGroup( QString( "Extensions_%1" ).arg( item->factory()->identifier() ) );
303 285
304 ExtensionConfigDialog dlg( item->factory(), &config, this ); 286 ExtensionConfigDialog dlg( item->factory(), &config, this );
305 dlg.exec(); 287 dlg.exec();
306 288
307 config.sync(); 289 config.sync();
308} 290}
309 291
310void KABConfigWidget::selectionChanged( QListViewItem *i ) 292void KABConfigWidget::selectionChanged( QListViewItem *i )
311{ 293{
312 ExtensionItem *item = static_cast<ExtensionItem*>( i ); 294 ExtensionItem *item = static_cast<ExtensionItem*>( i );
313 if ( !item ) 295 if ( !item )
314 return; 296 return;
315 297
316 mConfigureButton->setEnabled( item->configWidgetAvailable() ); 298 mConfigureButton->setEnabled( item->configWidgetAvailable() );
317} 299}
318 300
319void KABConfigWidget::itemClicked( QListViewItem *item ) 301void KABConfigWidget::itemClicked( QListViewItem *item )
320{ 302{
321 if ( item != 0 ) 303 if ( item != 0 )
322 modified(); 304 modified();
323} 305}
324 306
325#ifndef KAB_EMBEDDED 307#ifndef KAB_EMBEDDED
326ExtensionItem::ExtensionItem( QListView *parent, const QString &text ) 308ExtensionItem::ExtensionItem( QListView *parent, const QString &text )
327 : QCheckListItem( parent, text, CheckBox ) 309 : QCheckListItem( parent, text, CheckBox )
328{ 310{
329} 311}
330 312
331void ExtensionItem::setService( const KService::Ptr &ptr ) 313void ExtensionItem::setService( const KService::Ptr &ptr )
332{ 314{
333 mPtr = ptr; 315 mPtr = ptr;
334} 316}
335#else //KAB_EMBEDDED 317#else //KAB_EMBEDDED
336ExtensionItem::ExtensionItem( QListView *parent, const QString &text, const QString &name, const QString &comment ) 318ExtensionItem::ExtensionItem( QListView *parent, const QString &text, const QString &name, const QString &comment )
337 : QCheckListItem( parent, text, CheckBox ) 319 : QCheckListItem( parent, text, CheckBox )
338{ 320{
339 mName = name; 321 mName = name;
340 mComment = comment; 322 mComment = comment;
341} 323}
342 324
343 325
344void ExtensionItem::setFactory( ExtensionFactory* fac ) 326void ExtensionItem::setFactory( ExtensionFactory* fac )
345{ 327{
346 mFactory = fac; 328 mFactory = fac;
347} 329}
348#endif //KAB_EMBEDDED 330#endif //KAB_EMBEDDED
349 331
350bool ExtensionItem::configWidgetAvailable() const 332bool ExtensionItem::configWidgetAvailable() const
351{ 333{
352#ifndef KAB_EMBEDDED 334#ifndef KAB_EMBEDDED
353 KLibFactory *factory = KLibLoader::self()->factory( mPtr->library().latin1() ); 335 KLibFactory *factory = KLibLoader::self()->factory( mPtr->library().latin1() );
354 if ( !factory ) 336 if ( !factory )
355 return false; 337 return false;
356 338
357 ExtensionFactory *extensionFactory = static_cast<ExtensionFactory*>( factory ); 339 ExtensionFactory *extensionFactory = static_cast<ExtensionFactory*>( factory );
358 if ( !extensionFactory ) 340 if ( !extensionFactory )
359 return false; 341 return false;
360 342
361 return extensionFactory->configureWidgetAvailable(); 343 return extensionFactory->configureWidgetAvailable();
362#else //KAB_EMBEDDED 344#else //KAB_EMBEDDED
363 return mFactory->configureWidgetAvailable(); 345 return mFactory->configureWidgetAvailable();
364#endif //KAB_EMBEDDED 346#endif //KAB_EMBEDDED
365 347
366} 348}
367 349
368ExtensionFactory *ExtensionItem::factory() const 350ExtensionFactory *ExtensionItem::factory() const
369{ 351{
370#ifndef KAB_EMBEDDED 352#ifndef KAB_EMBEDDED
371 KLibFactory *factory = KLibLoader::self()->factory( mPtr->library().latin1() ); 353 KLibFactory *factory = KLibLoader::self()->factory( mPtr->library().latin1() );
372 if ( !factory ) 354 if ( !factory )
373 return 0; 355 return 0;
374 356
375 return static_cast<ExtensionFactory*>( factory ); 357 return static_cast<ExtensionFactory*>( factory );
376#else //KAB_EMBEDDED 358#else //KAB_EMBEDDED
377 return mFactory; 359 return mFactory;
378#endif //KAB_EMBEDDED 360#endif //KAB_EMBEDDED
379} 361}
380 362
381QString ExtensionItem::text( int column ) const 363QString ExtensionItem::text( int column ) const
382{ 364{
383#ifndef KAB_EMBEDDED 365#ifndef KAB_EMBEDDED
384 if ( column == 0 ) 366 if ( column == 0 )
385 return mPtr->name(); 367 return mPtr->name();
386 else if ( column == 1 ) 368 else if ( column == 1 )
387 return mPtr->comment(); 369 return mPtr->comment();
388 else 370 else
389 return QString::null; 371 return QString::null;
390#else //KAB_EMBEDDED 372#else //KAB_EMBEDDED
391 if ( column == 0 ) 373 if ( column == 0 )
392 return mName; 374 return mName;
393 else if ( column == 1 ) 375 else if ( column == 1 )
394 return mComment; 376 return mComment;
395 else 377 else
396 return QString::null; 378 return QString::null;
397#endif //KAB_EMBEDDED 379#endif //KAB_EMBEDDED
398} 380}
399 381
400#ifndef KAB_EMBEDDED 382#ifndef KAB_EMBEDDED
401#include "kabconfigwidget.moc" 383#include "kabconfigwidget.moc"
402#endif //KAB_EMBEDDED 384#endif //KAB_EMBEDDED
403 385
diff --git a/kaddressbook/kcmconfigs/kabconfigwidget.h b/kaddressbook/kcmconfigs/kabconfigwidget.h
index 6cd4223..1e71fd1 100644
--- a/kaddressbook/kcmconfigs/kabconfigwidget.h
+++ b/kaddressbook/kcmconfigs/kabconfigwidget.h
@@ -1,79 +1,75 @@
1/* 1/*
2 This file is part of KAddressBook. 2 This file is part of KAddressBook.
3 Copyright (c) 2003 Tobias Koenig <tokoe@kde.org> 3 Copyright (c) 2003 Tobias Koenig <tokoe@kde.org>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23 23
24#ifndef KABCONFIGWIDGET_H 24#ifndef KABCONFIGWIDGET_H
25#define KABCONFIGWIDGET_H 25#define KABCONFIGWIDGET_H
26 26
27#include <qwidget.h> 27#include <kprefswidget.h>
28 28
29class QCheckBox; 29class QCheckBox;
30class QListViewItem; 30class QListViewItem;
31class QPushButton; 31class QPushButton;
32class QComboBox; 32class QComboBox;
33class QLineEdit; 33class QLineEdit;
34class KListView; 34class KListView;
35class KABPrefs; 35class KABPrefs;
36 36
37class AddresseeWidget; 37class AddresseeWidget;
38 38
39class KABConfigWidget : public QWidget 39class KABConfigWidget : public KPrefsWidget
40{ 40{
41 Q_OBJECT 41 Q_OBJECT
42 42
43 public: 43 public:
44 KABConfigWidget( QWidget *parent, const char *name = 0 ); 44 KABConfigWidget(KABPrefs *prefs, QWidget *parent, const char *name = 0 );
45 45
46 void restoreSettings(KABPrefs* prefs); 46 protected:
47 void saveSettings(KABPrefs* prefs); 47 /** Implement this to read custom configuration widgets. */
48 void defaults(KABPrefs* prefs); 48 virtual void usrReadConfig();
49 49 /** Implement this to write custom configuration widgets. */
50 signals: 50 virtual void usrWriteConfig();
51 void changed( bool );
52
53 public slots:
54 void modified();
55 51
56 52
57 53
58 private slots: 54 private slots:
59 void configureExtension(); 55 void configureExtension();
60 void selectionChanged( QListViewItem* ); 56 void selectionChanged( QListViewItem* );
61 void itemClicked( QListViewItem* ); 57 void itemClicked( QListViewItem* );
62 58
63 private: 59 private:
64 void restoreExtensionSettings(); 60 void restoreExtensionSettings();
65 void saveExtensionSettings(); 61 void saveExtensionSettings();
66 62
67 KListView *mExtensionView; 63 KListView *mExtensionView;
68 QCheckBox *mSearchReturnBox; 64 QCheckBox *mSearchReturnBox;
69 QCheckBox *mNameParsing; 65 QCheckBox *mNameParsing;
70 QCheckBox *mViewsSingleClickBox; 66 QCheckBox *mViewsSingleClickBox;
71 QCheckBox *mMultipleViewsAtOnce; 67 QCheckBox *mMultipleViewsAtOnce;
72 QCheckBox *mAskForQuit; 68 QCheckBox *mAskForQuit;
73 69
74 QPushButton *mConfigureButton; 70 QPushButton *mConfigureButton;
75 71
76 AddresseeWidget *mAddresseeWidget; 72 AddresseeWidget *mAddresseeWidget;
77}; 73};
78 74
79#endif 75#endif
diff --git a/kaddressbook/kcmconfigs/kcmkabconfig.cpp b/kaddressbook/kcmconfigs/kcmkabconfig.cpp
index b460a81..cbfedbd 100644
--- a/kaddressbook/kcmconfigs/kcmkabconfig.cpp
+++ b/kaddressbook/kcmconfigs/kcmkabconfig.cpp
@@ -1,92 +1,92 @@
1/* 1/*
2 This file is part of KAddressBook. 2 This file is part of KAddressBook.
3 Copyright (c) 2003 Tobias Koenig <tokoe@kde.org> 3 Copyright (c) 2003 Tobias Koenig <tokoe@kde.org>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23 23
24#include <qlayout.h> 24#include <qlayout.h>
25 25
26#ifndef KAB_EMBEDDED 26#ifndef KAB_EMBEDDED
27#include <kaboutdata.h> 27#include <kaboutdata.h>
28#endif //KAB_EMBEDDED 28#endif //KAB_EMBEDDED
29#include <kdebug.h> 29#include <kdebug.h>
30//#include <klocale.h> 30//#include <klocale.h>
31//#include <stdlib.h> 31//#include <stdlib.h>
32 32
33#include "kabconfigwidget.h" 33#include "kabconfigwidget.h"
34 34
35#include "kcmkabconfig.h" 35#include "kcmkabconfig.h"
36 36
37#include "kabprefs.h" 37#include "kabprefs.h"
38#include "kprefs.h" 38#include "kprefs.h"
39 39
40extern "C" 40extern "C"
41{ 41{
42 KCModule *create_kabconfig( KABPrefs* prefs, QWidget *parent, const char * ) { 42 KCModule *create_kabconfig( QWidget *parent, const char * ) {
43 return new KCMKabConfig( prefs, parent, "kcmkabconfig" ); 43 return new KCMKabConfig( parent, "kcmkabconfig" );
44 } 44 }
45} 45}
46 46
47KCMKabConfig::KCMKabConfig( KABPrefs* prefs, QWidget *parent, const char *name ) 47KCMKabConfig::KCMKabConfig( QWidget *parent, const char *name )
48 : KCModule( prefs, parent, name ) 48 : KCModule( KABPrefs::instance(), parent, name )
49{ 49{
50 //abort(); 50 //abort();
51 QVBoxLayout *layout = new QVBoxLayout( this ); 51 QVBoxLayout *layout = new QVBoxLayout( this );
52 mConfigWidget = new KABConfigWidget( this, "mConfigWidget" ); 52 mConfigWidget = new KABConfigWidget( (KABPrefs*)getPreferences(), this, "KABConfigWidget" );
53 layout->addWidget( mConfigWidget ); 53 layout->addWidget( mConfigWidget );
54 layout->setSpacing( 0 ); 54 layout->setSpacing( 0 );
55 layout->setMargin( 0 ); 55 layout->setMargin( 0 );
56 56
57 connect( mConfigWidget, SIGNAL( changed( bool ) ), SIGNAL( changed( bool ) ) ); 57 connect( mConfigWidget, SIGNAL( changed( bool ) ), SIGNAL( changed( bool ) ) );
58} 58}
59 59
60void KCMKabConfig::load() 60void KCMKabConfig::load()
61{ 61{
62 mConfigWidget->restoreSettings((KABPrefs*)getPreferences()); 62 mConfigWidget->readConfig();
63} 63}
64 64
65void KCMKabConfig::save() 65void KCMKabConfig::save()
66{ 66{
67 mConfigWidget->saveSettings((KABPrefs*)getPreferences()); 67 mConfigWidget->writeConfig();
68} 68}
69 69
70void KCMKabConfig::defaults() 70void KCMKabConfig::defaults()
71{ 71{
72 mConfigWidget->defaults((KABPrefs*)getPreferences()); 72 mConfigWidget->setDefaults();
73} 73}
74 74
75#ifndef KAB_EMBEDDED 75#ifndef KAB_EMBEDDED
76const KAboutData* KCMKabConfig::aboutData() const 76const KAboutData* KCMKabConfig::aboutData() const
77{ 77{
78 KAboutData *about = new KAboutData( I18N_NOOP( "kcmkabconfig" ), 78 KAboutData *about = new KAboutData( I18N_NOOP( "kcmkabconfig" ),
79 I18N_NOOP( "KAddressBook Configure Dialog" ), 79 I18N_NOOP( "KAddressBook Configure Dialog" ),
80 0, 0, KAboutData::License_GPL, 80 0, 0, KAboutData::License_GPL,
81 I18N_NOOP( "(c), 2003 Tobias Koenig" ) ); 81 I18N_NOOP( "(c), 2003 Tobias Koenig" ) );
82 82
83 about->addAuthor( "Tobias Koenig", 0, "tokoe@kde.org" ); 83 about->addAuthor( "Tobias Koenig", 0, "tokoe@kde.org" );
84 84
85 return about; 85 return about;
86 86
87} 87}
88#endif //KAB_EMBEDDED 88#endif //KAB_EMBEDDED
89 89
90#ifndef KAB_EMBEDDED 90#ifndef KAB_EMBEDDED
91#include "kcmkabconfig.moc" 91#include "kcmkabconfig.moc"
92#endif //KAB_EMBEDDED 92#endif //KAB_EMBEDDED
diff --git a/kaddressbook/kcmconfigs/kcmkabconfig.h b/kaddressbook/kcmconfigs/kcmkabconfig.h
index 1cb6ad3..2ecbfef 100644
--- a/kaddressbook/kcmconfigs/kcmkabconfig.h
+++ b/kaddressbook/kcmconfigs/kcmkabconfig.h
@@ -1,47 +1,47 @@
1/* 1/*
2 This file is part of KAddressBook. 2 This file is part of KAddressBook.
3 Copyright (c) 2003 Tobias Koenig <tokoe@kde.org> 3 Copyright (c) 2003 Tobias Koenig <tokoe@kde.org>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23 23
24#ifndef KCMKABCONFIG_H 24#ifndef KCMKABCONFIG_H
25#define KCMKABCONFIG_H 25#define KCMKABCONFIG_H
26 26
27#include <kcmodule.h> 27#include <kcmodule.h>
28 28
29class KABConfigWidget; 29class KABConfigWidget;
30class KABPrefs; 30class KABPrefs;
31 31
32class KCMKabConfig : public KCModule 32class KCMKabConfig : public KCModule
33{ 33{
34 Q_OBJECT 34 Q_OBJECT
35 35
36 public: 36 public:
37 KCMKabConfig( KABPrefs* prefs, QWidget *parent = 0, const char *name = 0 ); 37 KCMKabConfig( QWidget *parent = 0, const char *name = 0 );
38 38
39 virtual void load(); 39 virtual void load();
40 virtual void save(); 40 virtual void save();
41 virtual void defaults(); 41 virtual void defaults();
42 42
43 private: 43 private:
44 KABConfigWidget *mConfigWidget; 44 KABConfigWidget *mConfigWidget;
45}; 45};
46 46
47#endif 47#endif