summaryrefslogtreecommitdiffabout
path: root/kaddressbook
authorzautrix <zautrix>2005-01-18 23:10:44 (UTC)
committer zautrix <zautrix>2005-01-18 23:10:44 (UTC)
commitc626089f47244d0c0a9ba73bcd12f42927acb28f (patch) (unidiff)
tree2f0ca8591dab470ed3ddd6c2af860c2a8081db97 /kaddressbook
parentbfb2947510c52f9c6b35c35786490f261adf30e3 (diff)
downloadkdepimpi-c626089f47244d0c0a9ba73bcd12f42927acb28f.zip
kdepimpi-c626089f47244d0c0a9ba73bcd12f42927acb28f.tar.gz
kdepimpi-c626089f47244d0c0a9ba73bcd12f42927acb28f.tar.bz2
fix
Diffstat (limited to 'kaddressbook') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/kabcore.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index e88706e..505cbf4 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -1077,1537 +1077,1537 @@ void KABCore::pasteContacts( KABC::Addressee::List &list )
1077 1077
1078void KABCore::setWhoAmI() 1078void KABCore::setWhoAmI()
1079{ 1079{
1080 KABC::Addressee::List addrList = mViewManager->selectedAddressees(); 1080 KABC::Addressee::List addrList = mViewManager->selectedAddressees();
1081 1081
1082 if ( addrList.count() > 1 ) { 1082 if ( addrList.count() > 1 ) {
1083 KMessageBox::sorry( this, i18n( "Please select only one contact." ) ); 1083 KMessageBox::sorry( this, i18n( "Please select only one contact." ) );
1084 return; 1084 return;
1085 } 1085 }
1086 1086
1087 QString text( i18n( "<qt>Do you really want to use <b>%1</b> as your new personal contact?</qt>" ) ); 1087 QString text( i18n( "<qt>Do you really want to use <b>%1</b> as your new personal contact?</qt>" ) );
1088 if ( KMessageBox::questionYesNo( this, text.arg( addrList[ 0 ].assembledName() ) ) == KMessageBox::Yes ) 1088 if ( KMessageBox::questionYesNo( this, text.arg( addrList[ 0 ].assembledName() ) ) == KMessageBox::Yes )
1089 static_cast<KABC::StdAddressBook*>( KABC::StdAddressBook::self() )->setWhoAmI( addrList[ 0 ] ); 1089 static_cast<KABC::StdAddressBook*>( KABC::StdAddressBook::self() )->setWhoAmI( addrList[ 0 ] );
1090} 1090}
1091void KABCore::editCategories() 1091void KABCore::editCategories()
1092{ 1092{
1093 KPIM::CategoryEditDialog dlg ( KABPrefs::instance(), this, "", true ); 1093 KPIM::CategoryEditDialog dlg ( KABPrefs::instance(), this, "", true );
1094 dlg.exec(); 1094 dlg.exec();
1095} 1095}
1096void KABCore::setCategories() 1096void KABCore::setCategories()
1097{ 1097{
1098 1098
1099 QStringList uids; 1099 QStringList uids;
1100 XXPortSelectDialog dlgx( this, false, this ); 1100 XXPortSelectDialog dlgx( this, false, this );
1101 if ( dlgx.exec() ) 1101 if ( dlgx.exec() )
1102 uids = dlgx.uids(); 1102 uids = dlgx.uids();
1103 else 1103 else
1104 return; 1104 return;
1105 if ( uids.isEmpty() ) 1105 if ( uids.isEmpty() )
1106 return; 1106 return;
1107 // qDebug("count %d ", uids.count()); 1107 // qDebug("count %d ", uids.count());
1108 1108
1109 1109
1110 KPIM::CategorySelectDialog dlg( KABPrefs::instance(), this, "", true ); 1110 KPIM::CategorySelectDialog dlg( KABPrefs::instance(), this, "", true );
1111 if ( !dlg.exec() ) { 1111 if ( !dlg.exec() ) {
1112 message( i18n("Setting categories cancelled") ); 1112 message( i18n("Setting categories cancelled") );
1113 return; 1113 return;
1114 } 1114 }
1115 bool merge = false; 1115 bool merge = false;
1116 QString msg = i18n( "Merge with existing categories?" ); 1116 QString msg = i18n( "Merge with existing categories?" );
1117 if ( KMessageBox::questionYesNo( this, msg ) == KMessageBox::Yes ) 1117 if ( KMessageBox::questionYesNo( this, msg ) == KMessageBox::Yes )
1118 merge = true; 1118 merge = true;
1119 1119
1120 message( i18n("Setting categories ... please wait!") ); 1120 message( i18n("Setting categories ... please wait!") );
1121 QStringList categories = dlg.selectedCategories(); 1121 QStringList categories = dlg.selectedCategories();
1122 1122
1123 //QStringList uids = mViewManager->selectedUids(); 1123 //QStringList uids = mViewManager->selectedUids();
1124 QStringList::Iterator it; 1124 QStringList::Iterator it;
1125 for ( it = uids.begin(); it != uids.end(); ++it ) { 1125 for ( it = uids.begin(); it != uids.end(); ++it ) {
1126 KABC::Addressee addr = mAddressBook->findByUid( *it ); 1126 KABC::Addressee addr = mAddressBook->findByUid( *it );
1127 if ( !addr.isEmpty() ) { 1127 if ( !addr.isEmpty() ) {
1128 if ( !merge ) 1128 if ( !merge )
1129 addr.setCategories( categories ); 1129 addr.setCategories( categories );
1130 else { 1130 else {
1131 QStringList addrCategories = addr.categories(); 1131 QStringList addrCategories = addr.categories();
1132 QStringList::Iterator catIt; 1132 QStringList::Iterator catIt;
1133 for ( catIt = categories.begin(); catIt != categories.end(); ++catIt ) { 1133 for ( catIt = categories.begin(); catIt != categories.end(); ++catIt ) {
1134 if ( !addrCategories.contains( *catIt ) ) 1134 if ( !addrCategories.contains( *catIt ) )
1135 addrCategories.append( *catIt ); 1135 addrCategories.append( *catIt );
1136 } 1136 }
1137 addr.setCategories( addrCategories ); 1137 addr.setCategories( addrCategories );
1138 } 1138 }
1139 mAddressBook->insertAddressee( addr ); 1139 mAddressBook->insertAddressee( addr );
1140 } 1140 }
1141 } 1141 }
1142 1142
1143 if ( uids.count() > 0 ) 1143 if ( uids.count() > 0 )
1144 setModified( true ); 1144 setModified( true );
1145 message( i18n("Setting categories completed!") ); 1145 message( i18n("Setting categories completed!") );
1146} 1146}
1147 1147
1148void KABCore::setSearchFields( const KABC::Field::List &fields ) 1148void KABCore::setSearchFields( const KABC::Field::List &fields )
1149{ 1149{
1150 mIncSearchWidget->setFields( fields ); 1150 mIncSearchWidget->setFields( fields );
1151} 1151}
1152 1152
1153void KABCore::incrementalSearch( const QString& text ) 1153void KABCore::incrementalSearch( const QString& text )
1154{ 1154{
1155 mViewManager->doSearch( text, mIncSearchWidget->currentField() ); 1155 mViewManager->doSearch( text, mIncSearchWidget->currentField() );
1156} 1156}
1157 1157
1158void KABCore::setModified() 1158void KABCore::setModified()
1159{ 1159{
1160 setModified( true ); 1160 setModified( true );
1161} 1161}
1162 1162
1163void KABCore::setModifiedWOrefresh() 1163void KABCore::setModifiedWOrefresh()
1164{ 1164{
1165 // qDebug("KABCore::setModifiedWOrefresh() "); 1165 // qDebug("KABCore::setModifiedWOrefresh() ");
1166 mModified = true; 1166 mModified = true;
1167 mActionSave->setEnabled( mModified ); 1167 mActionSave->setEnabled( mModified );
1168 1168
1169 1169
1170} 1170}
1171void KABCore::setModified( bool modified ) 1171void KABCore::setModified( bool modified )
1172{ 1172{
1173 mModified = modified; 1173 mModified = modified;
1174 mActionSave->setEnabled( mModified ); 1174 mActionSave->setEnabled( mModified );
1175 1175
1176 if ( modified ) 1176 if ( modified )
1177 mJumpButtonBar->recreateButtons(); 1177 mJumpButtonBar->recreateButtons();
1178 1178
1179 mViewManager->refreshView(); 1179 mViewManager->refreshView();
1180 1180
1181} 1181}
1182 1182
1183bool KABCore::modified() const 1183bool KABCore::modified() const
1184{ 1184{
1185 return mModified; 1185 return mModified;
1186} 1186}
1187 1187
1188void KABCore::contactModified( const KABC::Addressee &addr ) 1188void KABCore::contactModified( const KABC::Addressee &addr )
1189{ 1189{
1190 addrModified( addr ); 1190 addrModified( addr );
1191#if 0 // debug only 1191#if 0 // debug only
1192 KABC::Addressee ad = addr; 1192 KABC::Addressee ad = addr;
1193 ad.computeCsum( "123"); 1193 ad.computeCsum( "123");
1194#endif 1194#endif
1195} 1195}
1196 1196
1197void KABCore::addrModified( const KABC::Addressee &addr ,bool updateDetails ) 1197void KABCore::addrModified( const KABC::Addressee &addr ,bool updateDetails )
1198{ 1198{
1199 1199
1200 Command *command = 0; 1200 Command *command = 0;
1201 QString uid; 1201 QString uid;
1202 1202
1203 // check if it exists already 1203 // check if it exists already
1204 KABC::Addressee origAddr = mAddressBook->findByUid( addr.uid() ); 1204 KABC::Addressee origAddr = mAddressBook->findByUid( addr.uid() );
1205 if ( origAddr.isEmpty() ) 1205 if ( origAddr.isEmpty() )
1206 command = new PwNewCommand( mAddressBook, addr ); 1206 command = new PwNewCommand( mAddressBook, addr );
1207 else { 1207 else {
1208 command = new PwEditCommand( mAddressBook, origAddr, addr ); 1208 command = new PwEditCommand( mAddressBook, origAddr, addr );
1209 uid = addr.uid(); 1209 uid = addr.uid();
1210 } 1210 }
1211 1211
1212 UndoStack::instance()->push( command ); 1212 UndoStack::instance()->push( command );
1213 RedoStack::instance()->clear(); 1213 RedoStack::instance()->clear();
1214 if ( updateDetails ) 1214 if ( updateDetails )
1215 mDetails->setAddressee( addr ); 1215 mDetails->setAddressee( addr );
1216 setModified( true ); 1216 setModified( true );
1217} 1217}
1218 1218
1219void KABCore::newContact() 1219void KABCore::newContact()
1220{ 1220{
1221 1221
1222 1222
1223 QPtrList<KABC::Resource> kabcResources = mAddressBook->resources(); 1223 QPtrList<KABC::Resource> kabcResources = mAddressBook->resources();
1224 1224
1225 QPtrList<KRES::Resource> kresResources; 1225 QPtrList<KRES::Resource> kresResources;
1226 QPtrListIterator<KABC::Resource> it( kabcResources ); 1226 QPtrListIterator<KABC::Resource> it( kabcResources );
1227 KABC::Resource *resource; 1227 KABC::Resource *resource;
1228 while ( ( resource = it.current() ) != 0 ) { 1228 while ( ( resource = it.current() ) != 0 ) {
1229 ++it; 1229 ++it;
1230 if ( !resource->readOnly() ) { 1230 if ( !resource->readOnly() ) {
1231 KRES::Resource *res = static_cast<KRES::Resource*>( resource ); 1231 KRES::Resource *res = static_cast<KRES::Resource*>( resource );
1232 if ( res ) 1232 if ( res )
1233 kresResources.append( res ); 1233 kresResources.append( res );
1234 } 1234 }
1235 } 1235 }
1236 1236
1237 KRES::Resource *res = KRES::SelectDialog::getResource( kresResources, this ); 1237 KRES::Resource *res = KRES::SelectDialog::getResource( kresResources, this );
1238 resource = static_cast<KABC::Resource*>( res ); 1238 resource = static_cast<KABC::Resource*>( res );
1239 1239
1240 if ( resource ) { 1240 if ( resource ) {
1241 KABC::Addressee addr; 1241 KABC::Addressee addr;
1242 addr.setResource( resource ); 1242 addr.setResource( resource );
1243 mEditorDialog->setAddressee( addr ); 1243 mEditorDialog->setAddressee( addr );
1244 KApplication::execDialog ( mEditorDialog ); 1244 KApplication::execDialog ( mEditorDialog );
1245 1245
1246 } else 1246 } else
1247 return; 1247 return;
1248 1248
1249 // mEditorDict.insert( dialog->addressee().uid(), dialog ); 1249 // mEditorDict.insert( dialog->addressee().uid(), dialog );
1250 1250
1251 1251
1252} 1252}
1253 1253
1254void KABCore::addEmail( QString aStr ) 1254void KABCore::addEmail( QString aStr )
1255{ 1255{
1256#ifndef KAB_EMBEDDED 1256#ifndef KAB_EMBEDDED
1257 QString fullName, email; 1257 QString fullName, email;
1258 1258
1259 KABC::Addressee::parseEmailAddress( aStr, fullName, email ); 1259 KABC::Addressee::parseEmailAddress( aStr, fullName, email );
1260 1260
1261 // Try to lookup the addressee matching the email address 1261 // Try to lookup the addressee matching the email address
1262 bool found = false; 1262 bool found = false;
1263 QStringList emailList; 1263 QStringList emailList;
1264 KABC::AddressBook::Iterator it; 1264 KABC::AddressBook::Iterator it;
1265 for ( it = mAddressBook->begin(); !found && (it != mAddressBook->end()); ++it ) { 1265 for ( it = mAddressBook->begin(); !found && (it != mAddressBook->end()); ++it ) {
1266 emailList = (*it).emails(); 1266 emailList = (*it).emails();
1267 if ( emailList.contains( email ) > 0 ) { 1267 if ( emailList.contains( email ) > 0 ) {
1268 found = true; 1268 found = true;
1269 (*it).setNameFromString( fullName ); 1269 (*it).setNameFromString( fullName );
1270 editContact( (*it).uid() ); 1270 editContact( (*it).uid() );
1271 } 1271 }
1272 } 1272 }
1273 1273
1274 if ( !found ) { 1274 if ( !found ) {
1275 KABC::Addressee addr; 1275 KABC::Addressee addr;
1276 addr.setNameFromString( fullName ); 1276 addr.setNameFromString( fullName );
1277 addr.insertEmail( email, true ); 1277 addr.insertEmail( email, true );
1278 1278
1279 mAddressBook->insertAddressee( addr ); 1279 mAddressBook->insertAddressee( addr );
1280 mViewManager->refreshView( addr.uid() ); 1280 mViewManager->refreshView( addr.uid() );
1281 editContact( addr.uid() ); 1281 editContact( addr.uid() );
1282 } 1282 }
1283#else //KAB_EMBEDDED 1283#else //KAB_EMBEDDED
1284 qDebug("KABCore::addEmail finsih method"); 1284 qDebug("KABCore::addEmail finsih method");
1285#endif //KAB_EMBEDDED 1285#endif //KAB_EMBEDDED
1286} 1286}
1287 1287
1288void KABCore::importVCard( const KURL &url, bool showPreview ) 1288void KABCore::importVCard( const KURL &url, bool showPreview )
1289{ 1289{
1290 mXXPortManager->importVCard( url, showPreview ); 1290 mXXPortManager->importVCard( url, showPreview );
1291} 1291}
1292void KABCore::importFromOL() 1292void KABCore::importFromOL()
1293{ 1293{
1294#ifdef _WIN32_ 1294#ifdef _WIN32_
1295 KAImportOLdialog* idgl = new KAImportOLdialog( i18n("Import Contacts from OL"), mAddressBook, this ); 1295 KAImportOLdialog* idgl = new KAImportOLdialog( i18n("Import Contacts from OL"), mAddressBook, this );
1296 idgl->exec(); 1296 idgl->exec();
1297 KABC::Addressee::List list = idgl->getAddressList(); 1297 KABC::Addressee::List list = idgl->getAddressList();
1298 if ( list.count() > 0 ) { 1298 if ( list.count() > 0 ) {
1299 KABC::Addressee::List listNew; 1299 KABC::Addressee::List listNew;
1300 KABC::Addressee::List listExisting; 1300 KABC::Addressee::List listExisting;
1301 KABC::Addressee::List::Iterator it; 1301 KABC::Addressee::List::Iterator it;
1302 KABC::AddressBook::Iterator iter; 1302 KABC::AddressBook::Iterator iter;
1303 for ( it = list.begin(); it != list.end(); ++it ) { 1303 for ( it = list.begin(); it != list.end(); ++it ) {
1304 if ( mAddressBook->findByUid((*it).uid() ).isEmpty()) 1304 if ( mAddressBook->findByUid((*it).uid() ).isEmpty())
1305 listNew.append( (*it) ); 1305 listNew.append( (*it) );
1306 else 1306 else
1307 listExisting.append( (*it) ); 1307 listExisting.append( (*it) );
1308 } 1308 }
1309 if ( listExisting.count() > 0 ) 1309 if ( listExisting.count() > 0 )
1310 KMessageBox::information( this, i18n("%1 contacts not added to addressbook\nbecause they were already in the addressbook!").arg( listExisting.count() )); 1310 KMessageBox::information( this, i18n("%1 contacts not added to addressbook\nbecause they were already in the addressbook!").arg( listExisting.count() ));
1311 if ( listNew.count() > 0 ) { 1311 if ( listNew.count() > 0 ) {
1312 pasteWithNewUid = false; 1312 pasteWithNewUid = false;
1313 pasteContacts( listNew ); 1313 pasteContacts( listNew );
1314 pasteWithNewUid = true; 1314 pasteWithNewUid = true;
1315 } 1315 }
1316 } 1316 }
1317 delete idgl; 1317 delete idgl;
1318#endif 1318#endif
1319} 1319}
1320 1320
1321void KABCore::importVCard( const QString &vCard, bool showPreview ) 1321void KABCore::importVCard( const QString &vCard, bool showPreview )
1322{ 1322{
1323 mXXPortManager->importVCard( vCard, showPreview ); 1323 mXXPortManager->importVCard( vCard, showPreview );
1324} 1324}
1325 1325
1326//US added a second method without defaultparameter 1326//US added a second method without defaultparameter
1327void KABCore::editContact2() { 1327void KABCore::editContact2() {
1328 editContact( QString::null ); 1328 editContact( QString::null );
1329} 1329}
1330 1330
1331void KABCore::editContact( const QString &uid ) 1331void KABCore::editContact( const QString &uid )
1332{ 1332{
1333 1333
1334 if ( mExtensionManager->isQuickEditVisible() ) 1334 if ( mExtensionManager->isQuickEditVisible() )
1335 return; 1335 return;
1336 1336
1337 // First, locate the contact entry 1337 // First, locate the contact entry
1338 QString localUID = uid; 1338 QString localUID = uid;
1339 if ( localUID.isNull() ) { 1339 if ( localUID.isNull() ) {
1340 QStringList uidList = mViewManager->selectedUids(); 1340 QStringList uidList = mViewManager->selectedUids();
1341 if ( uidList.count() > 0 ) 1341 if ( uidList.count() > 0 )
1342 localUID = *( uidList.at( 0 ) ); 1342 localUID = *( uidList.at( 0 ) );
1343 } 1343 }
1344 1344
1345 KABC::Addressee addr = mAddressBook->findByUid( localUID ); 1345 KABC::Addressee addr = mAddressBook->findByUid( localUID );
1346 if ( !addr.isEmpty() ) { 1346 if ( !addr.isEmpty() ) {
1347 mEditorDialog->setAddressee( addr ); 1347 mEditorDialog->setAddressee( addr );
1348 KApplication::execDialog ( mEditorDialog ); 1348 KApplication::execDialog ( mEditorDialog );
1349 } 1349 }
1350} 1350}
1351 1351
1352/** 1352/**
1353 Shows or edits the detail view for the given uid. If the uid is QString::null, 1353 Shows or edits the detail view for the given uid. If the uid is QString::null,
1354 the method will try to find a selected addressee in the view. 1354 the method will try to find a selected addressee in the view.
1355 */ 1355 */
1356void KABCore::executeContact( const QString &uid /*US = QString::null*/ ) 1356void KABCore::executeContact( const QString &uid /*US = QString::null*/ )
1357{ 1357{
1358 if ( mMultipleViewsAtOnce ) 1358 if ( mMultipleViewsAtOnce )
1359 { 1359 {
1360 editContact( uid ); 1360 editContact( uid );
1361 } 1361 }
1362 else 1362 else
1363 { 1363 {
1364 setDetailsVisible( true ); 1364 setDetailsVisible( true );
1365 mActionDetails->setChecked(true); 1365 mActionDetails->setChecked(true);
1366 } 1366 }
1367 1367
1368} 1368}
1369 1369
1370void KABCore::save() 1370void KABCore::save()
1371{ 1371{
1372 if (syncManager->blockSave()) 1372 if (syncManager->blockSave())
1373 return; 1373 return;
1374 if ( !mModified ) 1374 if ( !mModified )
1375 return; 1375 return;
1376 1376
1377 syncManager->setBlockSave(true); 1377 syncManager->setBlockSave(true);
1378 QString text = i18n( "There was an error while attempting to save\n the " 1378 QString text = i18n( "There was an error while attempting to save\n the "
1379 "address book. Please check that some \nother application is " 1379 "address book. Please check that some \nother application is "
1380 "not using it. " ); 1380 "not using it. " );
1381 message(i18n("Saving ... please wait! "), false); 1381 message(i18n("Saving ... please wait! "), false);
1382 //qApp->processEvents(); 1382 //qApp->processEvents();
1383#ifndef KAB_EMBEDDED 1383#ifndef KAB_EMBEDDED
1384 KABC::StdAddressBook *b = dynamic_cast<KABC::StdAddressBook*>( mAddressBook ); 1384 KABC::StdAddressBook *b = dynamic_cast<KABC::StdAddressBook*>( mAddressBook );
1385 if ( !b || !b->save() ) { 1385 if ( !b || !b->save() ) {
1386 KMessageBox::error( this, text, i18n( "Unable to Save" ) ); 1386 KMessageBox::error( this, text, i18n( "Unable to Save" ) );
1387 } 1387 }
1388#else //KAB_EMBEDDED 1388#else //KAB_EMBEDDED
1389 KABC::StdAddressBook *b = (KABC::StdAddressBook*)( mAddressBook ); 1389 KABC::StdAddressBook *b = (KABC::StdAddressBook*)( mAddressBook );
1390 if ( !b || !b->save() ) { 1390 if ( !b || !b->save() ) {
1391 QMessageBox::critical( this, i18n( "Unable to Save" ), text, i18n("Ok")); 1391 QMessageBox::critical( this, i18n( "Unable to Save" ), text, i18n("Ok"));
1392 } 1392 }
1393#endif //KAB_EMBEDDED 1393#endif //KAB_EMBEDDED
1394 1394
1395 message(i18n("Addressbook saved!")); 1395 message(i18n("Addressbook saved!"));
1396 setModified( false ); 1396 setModified( false );
1397 syncManager->setBlockSave(false); 1397 syncManager->setBlockSave(false);
1398} 1398}
1399 1399
1400 1400
1401void KABCore::undo() 1401void KABCore::undo()
1402{ 1402{
1403 UndoStack::instance()->undo(); 1403 UndoStack::instance()->undo();
1404 1404
1405 // Refresh the view 1405 // Refresh the view
1406 mViewManager->refreshView(); 1406 mViewManager->refreshView();
1407} 1407}
1408 1408
1409void KABCore::redo() 1409void KABCore::redo()
1410{ 1410{
1411 RedoStack::instance()->redo(); 1411 RedoStack::instance()->redo();
1412 1412
1413 // Refresh the view 1413 // Refresh the view
1414 mViewManager->refreshView(); 1414 mViewManager->refreshView();
1415} 1415}
1416 1416
1417void KABCore::setJumpButtonBarVisible( bool visible ) 1417void KABCore::setJumpButtonBarVisible( bool visible )
1418{ 1418{
1419 if (mMultipleViewsAtOnce) 1419 if (mMultipleViewsAtOnce)
1420 { 1420 {
1421 if ( visible ) 1421 if ( visible )
1422 mJumpButtonBar->show(); 1422 mJumpButtonBar->show();
1423 else 1423 else
1424 mJumpButtonBar->hide(); 1424 mJumpButtonBar->hide();
1425 } 1425 }
1426 else 1426 else
1427 { 1427 {
1428 // show the jumpbar only if "the details are hidden" == "viewmanager are shown" 1428 // show the jumpbar only if "the details are hidden" == "viewmanager are shown"
1429 if (mViewManager->isVisible()) 1429 if (mViewManager->isVisible())
1430 { 1430 {
1431 if ( visible ) 1431 if ( visible )
1432 mJumpButtonBar->show(); 1432 mJumpButtonBar->show();
1433 else 1433 else
1434 mJumpButtonBar->hide(); 1434 mJumpButtonBar->hide();
1435 } 1435 }
1436 else 1436 else
1437 { 1437 {
1438 mJumpButtonBar->hide(); 1438 mJumpButtonBar->hide();
1439 } 1439 }
1440 } 1440 }
1441} 1441}
1442 1442
1443 1443
1444void KABCore::setDetailsToState() 1444void KABCore::setDetailsToState()
1445{ 1445{
1446 setDetailsVisible( mActionDetails->isChecked() ); 1446 setDetailsVisible( mActionDetails->isChecked() );
1447} 1447}
1448void KABCore::setDetailsToggle() 1448void KABCore::setDetailsToggle()
1449{ 1449{
1450 mActionDetails->setChecked( !mActionDetails->isChecked() ); 1450 mActionDetails->setChecked( !mActionDetails->isChecked() );
1451 setDetailsToState(); 1451 setDetailsToState();
1452} 1452}
1453 1453
1454 1454
1455 1455
1456void KABCore::setDetailsVisible( bool visible ) 1456void KABCore::setDetailsVisible( bool visible )
1457{ 1457{
1458 if (visible && mDetails->isHidden()) 1458 if (visible && mDetails->isHidden())
1459 { 1459 {
1460 KABC::Addressee::List addrList = mViewManager->selectedAddressees(); 1460 KABC::Addressee::List addrList = mViewManager->selectedAddressees();
1461 if ( addrList.count() > 0 ) 1461 if ( addrList.count() > 0 )
1462 mDetails->setAddressee( addrList[ 0 ] ); 1462 mDetails->setAddressee( addrList[ 0 ] );
1463 } 1463 }
1464 1464
1465 // mMultipleViewsAtOnce=false: mDetails is always visible. But we switch between 1465 // mMultipleViewsAtOnce=false: mDetails is always visible. But we switch between
1466 // the listview and the detailview. We do that by changing the splitbar size. 1466 // the listview and the detailview. We do that by changing the splitbar size.
1467 if (mMultipleViewsAtOnce) 1467 if (mMultipleViewsAtOnce)
1468 { 1468 {
1469 if ( visible ) 1469 if ( visible )
1470 mDetails->show(); 1470 mDetails->show();
1471 else 1471 else
1472 mDetails->hide(); 1472 mDetails->hide();
1473 } 1473 }
1474 else 1474 else
1475 { 1475 {
1476 if ( visible ) { 1476 if ( visible ) {
1477 mViewManager->hide(); 1477 mViewManager->hide();
1478 mDetails->show(); 1478 mDetails->show();
1479 mIncSearchWidget->setFocus(); 1479 mIncSearchWidget->setFocus();
1480 } 1480 }
1481 else { 1481 else {
1482 mViewManager->show(); 1482 mViewManager->show();
1483 mDetails->hide(); 1483 mDetails->hide();
1484 mViewManager->setFocusAV(); 1484 mViewManager->setFocusAV();
1485 } 1485 }
1486 setJumpButtonBarVisible( !visible ); 1486 setJumpButtonBarVisible( !visible );
1487 } 1487 }
1488 1488
1489} 1489}
1490 1490
1491void KABCore::extensionChanged( int id ) 1491void KABCore::extensionChanged( int id )
1492{ 1492{
1493 //change the details view only for non desktop systems 1493 //change the details view only for non desktop systems
1494#ifndef DESKTOP_VERSION 1494#ifndef DESKTOP_VERSION
1495 1495
1496 if (id == 0) 1496 if (id == 0)
1497 { 1497 {
1498 //the user disabled the extension. 1498 //the user disabled the extension.
1499 1499
1500 if (mMultipleViewsAtOnce) 1500 if (mMultipleViewsAtOnce)
1501 { // enable detailsview again 1501 { // enable detailsview again
1502 setDetailsVisible( true ); 1502 setDetailsVisible( true );
1503 mActionDetails->setChecked( true ); 1503 mActionDetails->setChecked( true );
1504 } 1504 }
1505 else 1505 else
1506 { //go back to the listview 1506 { //go back to the listview
1507 setDetailsVisible( false ); 1507 setDetailsVisible( false );
1508 mActionDetails->setChecked( false ); 1508 mActionDetails->setChecked( false );
1509 mActionDetails->setEnabled(true); 1509 mActionDetails->setEnabled(true);
1510 } 1510 }
1511 1511
1512 } 1512 }
1513 else 1513 else
1514 { 1514 {
1515 //the user enabled the extension. 1515 //the user enabled the extension.
1516 setDetailsVisible( false ); 1516 setDetailsVisible( false );
1517 mActionDetails->setChecked( false ); 1517 mActionDetails->setChecked( false );
1518 1518
1519 if (!mMultipleViewsAtOnce) 1519 if (!mMultipleViewsAtOnce)
1520 { 1520 {
1521 mActionDetails->setEnabled(false); 1521 mActionDetails->setEnabled(false);
1522 } 1522 }
1523 1523
1524 mExtensionManager->setSelectionChanged(); 1524 mExtensionManager->setSelectionChanged();
1525 1525
1526 } 1526 }
1527 1527
1528#endif// DESKTOP_VERSION 1528#endif// DESKTOP_VERSION
1529 1529
1530} 1530}
1531 1531
1532 1532
1533void KABCore::extensionModified( const KABC::Addressee::List &list ) 1533void KABCore::extensionModified( const KABC::Addressee::List &list )
1534{ 1534{
1535 1535
1536 if ( list.count() != 0 ) { 1536 if ( list.count() != 0 ) {
1537 KABC::Addressee::List::ConstIterator it; 1537 KABC::Addressee::List::ConstIterator it;
1538 for ( it = list.begin(); it != list.end(); ++it ) 1538 for ( it = list.begin(); it != list.end(); ++it )
1539 mAddressBook->insertAddressee( *it ); 1539 mAddressBook->insertAddressee( *it );
1540 if ( list.count() > 1 ) 1540 if ( list.count() > 1 )
1541 setModified(); 1541 setModified();
1542 else 1542 else
1543 setModifiedWOrefresh(); 1543 setModifiedWOrefresh();
1544 } 1544 }
1545 if ( list.count() == 0 ) 1545 if ( list.count() == 0 )
1546 mViewManager->refreshView(); 1546 mViewManager->refreshView();
1547 else 1547 else
1548 mViewManager->refreshView( list[ 0 ].uid() ); 1548 mViewManager->refreshView( list[ 0 ].uid() );
1549 1549
1550 1550
1551 1551
1552} 1552}
1553 1553
1554QString KABCore::getNameByPhone( const QString &phone ) 1554QString KABCore::getNameByPhone( const QString &phone )
1555{ 1555{
1556#ifndef KAB_EMBEDDED 1556#ifndef KAB_EMBEDDED
1557 QRegExp r( "[/*/-/ ]" ); 1557 QRegExp r( "[/*/-/ ]" );
1558 QString localPhone( phone ); 1558 QString localPhone( phone );
1559 1559
1560 bool found = false; 1560 bool found = false;
1561 QString ownerName = ""; 1561 QString ownerName = "";
1562 KABC::AddressBook::Iterator iter; 1562 KABC::AddressBook::Iterator iter;
1563 KABC::PhoneNumber::List::Iterator phoneIter; 1563 KABC::PhoneNumber::List::Iterator phoneIter;
1564 KABC::PhoneNumber::List phoneList; 1564 KABC::PhoneNumber::List phoneList;
1565 for ( iter = mAddressBook->begin(); !found && ( iter != mAddressBook->end() ); ++iter ) { 1565 for ( iter = mAddressBook->begin(); !found && ( iter != mAddressBook->end() ); ++iter ) {
1566 phoneList = (*iter).phoneNumbers(); 1566 phoneList = (*iter).phoneNumbers();
1567 for ( phoneIter = phoneList.begin(); !found && ( phoneIter != phoneList.end() ); 1567 for ( phoneIter = phoneList.begin(); !found && ( phoneIter != phoneList.end() );
1568 ++phoneIter) { 1568 ++phoneIter) {
1569 // Get rid of separator chars so just the numbers are compared. 1569 // Get rid of separator chars so just the numbers are compared.
1570 if ( (*phoneIter).number().replace( r, "" ) == localPhone.replace( r, "" ) ) { 1570 if ( (*phoneIter).number().replace( r, "" ) == localPhone.replace( r, "" ) ) {
1571 ownerName = (*iter).formattedName(); 1571 ownerName = (*iter).formattedName();
1572 found = true; 1572 found = true;
1573 } 1573 }
1574 } 1574 }
1575 } 1575 }
1576 1576
1577 return ownerName; 1577 return ownerName;
1578#else //KAB_EMBEDDED 1578#else //KAB_EMBEDDED
1579 qDebug("KABCore::getNameByPhone finsih method"); 1579 qDebug("KABCore::getNameByPhone finsih method");
1580 return ""; 1580 return "";
1581#endif //KAB_EMBEDDED 1581#endif //KAB_EMBEDDED
1582 1582
1583} 1583}
1584 1584
1585void KABCore::openConfigDialog() 1585void KABCore::openConfigDialog()
1586{ 1586{
1587 KCMultiDialog* ConfigureDialog = new KCMultiDialog( "PIM", this ,"kabconfigdialog", true ); 1587 KCMultiDialog* ConfigureDialog = new KCMultiDialog( "PIM", this ,"kabconfigdialog", true );
1588 KCMKabConfig* kabcfg = new KCMKabConfig( ConfigureDialog->getNewVBoxPage(i18n( "Addressbook")) , "KCMKabConfig" ); 1588 KCMKabConfig* kabcfg = new KCMKabConfig( ConfigureDialog->getNewVBoxPage(i18n( "Addressbook")) , "KCMKabConfig" );
1589 ConfigureDialog->addModule(kabcfg ); 1589 ConfigureDialog->addModule(kabcfg );
1590 KCMKdePimConfig* kdelibcfg = new KCMKdePimConfig( ConfigureDialog->getNewVBoxPage(i18n( "Global")) , "KCMKdeLibConfig" ); 1590 KCMKdePimConfig* kdelibcfg = new KCMKdePimConfig( ConfigureDialog->getNewVBoxPage(i18n( "Global")) , "KCMKdeLibConfig" );
1591 ConfigureDialog->addModule(kdelibcfg ); 1591 ConfigureDialog->addModule(kdelibcfg );
1592 1592
1593 connect( ConfigureDialog, SIGNAL( applyClicked() ), 1593 connect( ConfigureDialog, SIGNAL( applyClicked() ),
1594 this, SLOT( configurationChanged() ) ); 1594 this, SLOT( configurationChanged() ) );
1595 connect( ConfigureDialog, SIGNAL( okClicked() ), 1595 connect( ConfigureDialog, SIGNAL( okClicked() ),
1596 this, SLOT( configurationChanged() ) ); 1596 this, SLOT( configurationChanged() ) );
1597 saveSettings(); 1597 saveSettings();
1598#ifndef DESKTOP_VERSION 1598#ifndef DESKTOP_VERSION
1599 ConfigureDialog->showMaximized(); 1599 ConfigureDialog->showMaximized();
1600#endif 1600#endif
1601 if ( ConfigureDialog->exec() ) 1601 if ( ConfigureDialog->exec() )
1602 KMessageBox::information( this, i18n("Some changes are only\neffective after a restart!\n") ); 1602 KMessageBox::information( this, i18n("Some changes are only\neffective after a restart!\n") );
1603 delete ConfigureDialog; 1603 delete ConfigureDialog;
1604} 1604}
1605 1605
1606void KABCore::openLDAPDialog() 1606void KABCore::openLDAPDialog()
1607{ 1607{
1608#ifndef KAB_EMBEDDED 1608#ifndef KAB_EMBEDDED
1609 if ( !mLdapSearchDialog ) { 1609 if ( !mLdapSearchDialog ) {
1610 mLdapSearchDialog = new LDAPSearchDialog( mAddressBook, this ); 1610 mLdapSearchDialog = new LDAPSearchDialog( mAddressBook, this );
1611 connect( mLdapSearchDialog, SIGNAL( addresseesAdded() ), mViewManager, 1611 connect( mLdapSearchDialog, SIGNAL( addresseesAdded() ), mViewManager,
1612 SLOT( refreshView() ) ); 1612 SLOT( refreshView() ) );
1613 connect( mLdapSearchDialog, SIGNAL( addresseesAdded() ), this, 1613 connect( mLdapSearchDialog, SIGNAL( addresseesAdded() ), this,
1614 SLOT( setModified() ) ); 1614 SLOT( setModified() ) );
1615 } else 1615 } else
1616 mLdapSearchDialog->restoreSettings(); 1616 mLdapSearchDialog->restoreSettings();
1617 1617
1618 if ( mLdapSearchDialog->isOK() ) 1618 if ( mLdapSearchDialog->isOK() )
1619 mLdapSearchDialog->exec(); 1619 mLdapSearchDialog->exec();
1620#else //KAB_EMBEDDED 1620#else //KAB_EMBEDDED
1621 qDebug("KABCore::openLDAPDialog() finsih method"); 1621 qDebug("KABCore::openLDAPDialog() finsih method");
1622#endif //KAB_EMBEDDED 1622#endif //KAB_EMBEDDED
1623} 1623}
1624 1624
1625void KABCore::print() 1625void KABCore::print()
1626{ 1626{
1627#ifndef KAB_EMBEDDED 1627#ifndef KAB_EMBEDDED
1628 KPrinter printer; 1628 KPrinter printer;
1629 if ( !printer.setup( this ) ) 1629 if ( !printer.setup( this ) )
1630 return; 1630 return;
1631 1631
1632 KABPrinting::PrintingWizard wizard( &printer, mAddressBook, 1632 KABPrinting::PrintingWizard wizard( &printer, mAddressBook,
1633 mViewManager->selectedUids(), this ); 1633 mViewManager->selectedUids(), this );
1634 1634
1635 wizard.exec(); 1635 wizard.exec();
1636#else //KAB_EMBEDDED 1636#else //KAB_EMBEDDED
1637 qDebug("KABCore::print() finsih method"); 1637 qDebug("KABCore::print() finsih method");
1638#endif //KAB_EMBEDDED 1638#endif //KAB_EMBEDDED
1639 1639
1640} 1640}
1641 1641
1642 1642
1643void KABCore::addGUIClient( KXMLGUIClient *client ) 1643void KABCore::addGUIClient( KXMLGUIClient *client )
1644{ 1644{
1645 if ( mGUIClient ) 1645 if ( mGUIClient )
1646 mGUIClient->insertChildClient( client ); 1646 mGUIClient->insertChildClient( client );
1647 else 1647 else
1648 KMessageBox::error( this, "no KXMLGUICLient"); 1648 KMessageBox::error( this, "no KXMLGUICLient");
1649} 1649}
1650 1650
1651 1651
1652void KABCore::configurationChanged() 1652void KABCore::configurationChanged()
1653{ 1653{
1654 mExtensionManager->reconfigure(); 1654 mExtensionManager->reconfigure();
1655} 1655}
1656 1656
1657void KABCore::addressBookChanged() 1657void KABCore::addressBookChanged()
1658{ 1658{
1659/*US 1659/*US
1660 QDictIterator<AddresseeEditorDialog> it( mEditorDict ); 1660 QDictIterator<AddresseeEditorDialog> it( mEditorDict );
1661 while ( it.current() ) { 1661 while ( it.current() ) {
1662 if ( it.current()->dirty() ) { 1662 if ( it.current()->dirty() ) {
1663 QString text = i18n( "Data has been changed externally. Unsaved " 1663 QString text = i18n( "Data has been changed externally. Unsaved "
1664 "changes will be lost." ); 1664 "changes will be lost." );
1665 KMessageBox::information( this, text ); 1665 KMessageBox::information( this, text );
1666 } 1666 }
1667 it.current()->setAddressee( mAddressBook->findByUid( it.currentKey() ) ); 1667 it.current()->setAddressee( mAddressBook->findByUid( it.currentKey() ) );
1668 ++it; 1668 ++it;
1669 } 1669 }
1670*/ 1670*/
1671 if (mEditorDialog) 1671 if (mEditorDialog)
1672 { 1672 {
1673 if (mEditorDialog->dirty()) 1673 if (mEditorDialog->dirty())
1674 { 1674 {
1675 QString text = i18n( "Data has been changed externally. Unsaved " 1675 QString text = i18n( "Data has been changed externally. Unsaved "
1676 "changes will be lost." ); 1676 "changes will be lost." );
1677 KMessageBox::information( this, text ); 1677 KMessageBox::information( this, text );
1678 } 1678 }
1679 QString currentuid = mEditorDialog->addressee().uid(); 1679 QString currentuid = mEditorDialog->addressee().uid();
1680 mEditorDialog->setAddressee( mAddressBook->findByUid( currentuid ) ); 1680 mEditorDialog->setAddressee( mAddressBook->findByUid( currentuid ) );
1681 } 1681 }
1682 mViewManager->refreshView(); 1682 mViewManager->refreshView();
1683 1683
1684 1684
1685} 1685}
1686 1686
1687AddresseeEditorDialog *KABCore::createAddresseeEditorDialog( QWidget *parent, 1687AddresseeEditorDialog *KABCore::createAddresseeEditorDialog( QWidget *parent,
1688 const char *name ) 1688 const char *name )
1689{ 1689{
1690 1690
1691 if ( mEditorDialog == 0 ) { 1691 if ( mEditorDialog == 0 ) {
1692 mEditorDialog = new AddresseeEditorDialog( this, parent, 1692 mEditorDialog = new AddresseeEditorDialog( this, parent,
1693 name ? name : "editorDialog" ); 1693 name ? name : "editorDialog" );
1694 1694
1695 1695
1696 connect( mEditorDialog, SIGNAL( contactModified( const KABC::Addressee& ) ), 1696 connect( mEditorDialog, SIGNAL( contactModified( const KABC::Addressee& ) ),
1697 SLOT( contactModified( const KABC::Addressee& ) ) ); 1697 SLOT( contactModified( const KABC::Addressee& ) ) );
1698 //connect( mEditorDialog, SIGNAL( editorDestroyed( const QString& ) ), 1698 //connect( mEditorDialog, SIGNAL( editorDestroyed( const QString& ) ),
1699 // SLOT( slotEditorDestroyed( const QString& ) ) ; 1699 // SLOT( slotEditorDestroyed( const QString& ) ) ;
1700 } 1700 }
1701 1701
1702 return mEditorDialog; 1702 return mEditorDialog;
1703} 1703}
1704 1704
1705void KABCore::slotEditorDestroyed( const QString &uid ) 1705void KABCore::slotEditorDestroyed( const QString &uid )
1706{ 1706{
1707 //mEditorDict.remove( uid ); 1707 //mEditorDict.remove( uid );
1708} 1708}
1709 1709
1710void KABCore::initGUI() 1710void KABCore::initGUI()
1711{ 1711{
1712#ifndef KAB_EMBEDDED 1712#ifndef KAB_EMBEDDED
1713 QHBoxLayout *topLayout = new QHBoxLayout( this ); 1713 QHBoxLayout *topLayout = new QHBoxLayout( this );
1714 topLayout->setSpacing( KDialogBase::spacingHint() ); 1714 topLayout->setSpacing( KDialogBase::spacingHint() );
1715 1715
1716 mExtensionBarSplitter = new QSplitter( this ); 1716 mExtensionBarSplitter = new QSplitter( this );
1717 mExtensionBarSplitter->setOrientation( Qt::Vertical ); 1717 mExtensionBarSplitter->setOrientation( Qt::Vertical );
1718 1718
1719 mDetailsSplitter = new QSplitter( mExtensionBarSplitter ); 1719 mDetailsSplitter = new QSplitter( mExtensionBarSplitter );
1720 1720
1721 QVBox *viewSpace = new QVBox( mDetailsSplitter ); 1721 QVBox *viewSpace = new QVBox( mDetailsSplitter );
1722 mIncSearchWidget = new IncSearchWidget( viewSpace ); 1722 mIncSearchWidget = new IncSearchWidget( viewSpace );
1723 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), 1723 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ),
1724 SLOT( incrementalSearch( const QString& ) ) ); 1724 SLOT( incrementalSearch( const QString& ) ) );
1725 1725
1726 mViewManager = new ViewManager( this, viewSpace ); 1726 mViewManager = new ViewManager( this, viewSpace );
1727 viewSpace->setStretchFactor( mViewManager, 1 ); 1727 viewSpace->setStretchFactor( mViewManager, 1 );
1728 1728
1729 mDetails = new ViewContainer( mDetailsSplitter ); 1729 mDetails = new ViewContainer( mDetailsSplitter );
1730 1730
1731 mJumpButtonBar = new JumpButtonBar( this, this ); 1731 mJumpButtonBar = new JumpButtonBar( this, this );
1732 1732
1733 mExtensionManager = new ExtensionManager( this, mExtensionBarSplitter ); 1733 mExtensionManager = new ExtensionManager( this, mExtensionBarSplitter );
1734 1734
1735 topLayout->addWidget( mExtensionBarSplitter ); 1735 topLayout->addWidget( mExtensionBarSplitter );
1736 topLayout->setStretchFactor( mExtensionBarSplitter, 100 ); 1736 topLayout->setStretchFactor( mExtensionBarSplitter, 100 );
1737 topLayout->addWidget( mJumpButtonBar ); 1737 topLayout->addWidget( mJumpButtonBar );
1738 topLayout->setStretchFactor( mJumpButtonBar, 1 ); 1738 topLayout->setStretchFactor( mJumpButtonBar, 1 );
1739 1739
1740 mXXPortManager = new XXPortManager( this, this ); 1740 mXXPortManager = new XXPortManager( this, this );
1741 1741
1742#else //KAB_EMBEDDED 1742#else //KAB_EMBEDDED
1743 //US initialize viewMenu before settingup viewmanager. 1743 //US initialize viewMenu before settingup viewmanager.
1744 // Viewmanager needs this menu to plugin submenues. 1744 // Viewmanager needs this menu to plugin submenues.
1745 viewMenu = new QPopupMenu( this ); 1745 viewMenu = new QPopupMenu( this );
1746 settingsMenu = new QPopupMenu( this ); 1746 settingsMenu = new QPopupMenu( this );
1747 //filterMenu = new QPopupMenu( this ); 1747 //filterMenu = new QPopupMenu( this );
1748 ImportMenu = new QPopupMenu( this ); 1748 ImportMenu = new QPopupMenu( this );
1749 ExportMenu = new QPopupMenu( this ); 1749 ExportMenu = new QPopupMenu( this );
1750 syncMenu = new QPopupMenu( this ); 1750 syncMenu = new QPopupMenu( this );
1751 changeMenu= new QPopupMenu( this ); 1751 changeMenu= new QPopupMenu( this );
1752 beamMenu= new QPopupMenu( this ); 1752 beamMenu= new QPopupMenu( this );
1753 1753
1754//US since we have no splitter for the embedded system, setup 1754//US since we have no splitter for the embedded system, setup
1755// a layout with two frames. One left and one right. 1755// a layout with two frames. One left and one right.
1756 1756
1757 QBoxLayout *topLayout; 1757 QBoxLayout *topLayout;
1758 1758
1759 // = new QHBoxLayout( this ); 1759 // = new QHBoxLayout( this );
1760// QBoxLayout *topLayout = (QBoxLayout*)layout(); 1760// QBoxLayout *topLayout = (QBoxLayout*)layout();
1761 1761
1762// QWidget *mainBox = new QWidget( this ); 1762// QWidget *mainBox = new QWidget( this );
1763// QBoxLayout * mainBoxLayout = new QHBoxLayout(mainBox); 1763// QBoxLayout * mainBoxLayout = new QHBoxLayout(mainBox);
1764 1764
1765#ifdef DESKTOP_VERSION 1765#ifdef DESKTOP_VERSION
1766 topLayout = new QHBoxLayout( this ); 1766 topLayout = new QHBoxLayout( this );
1767 1767
1768 1768
1769 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this); 1769 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this);
1770 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); 1770 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right );
1771 1771
1772 topLayout->addWidget(mMiniSplitter ); 1772 topLayout->addWidget(mMiniSplitter );
1773 1773
1774 mExtensionBarSplitter = new KDGanttMinimizeSplitter( Qt::Vertical,mMiniSplitter ); 1774 mExtensionBarSplitter = new KDGanttMinimizeSplitter( Qt::Vertical,mMiniSplitter );
1775 mExtensionBarSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down ); 1775 mExtensionBarSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down );
1776 mViewManager = new ViewManager( this, mExtensionBarSplitter ); 1776 mViewManager = new ViewManager( this, mExtensionBarSplitter );
1777 mDetails = new ViewContainer( mMiniSplitter ); 1777 mDetails = new ViewContainer( mMiniSplitter );
1778 mExtensionManager = new ExtensionManager( this, mExtensionBarSplitter ); 1778 mExtensionManager = new ExtensionManager( this, mExtensionBarSplitter );
1779#else 1779#else
1780 if ( QApplication::desktop()->width() > 480 ) { 1780 if ( QApplication::desktop()->width() > 480 ) {
1781 topLayout = new QHBoxLayout( this ); 1781 topLayout = new QHBoxLayout( this );
1782 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this); 1782 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this);
1783 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); 1783 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right );
1784 } else { 1784 } else {
1785 1785
1786 topLayout = new QHBoxLayout( this ); 1786 topLayout = new QHBoxLayout( this );
1787 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Vertical, this); 1787 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Vertical, this);
1788 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down ); 1788 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down );
1789 } 1789 }
1790 1790
1791 topLayout->addWidget(mMiniSplitter ); 1791 topLayout->addWidget(mMiniSplitter );
1792 mViewManager = new ViewManager( this, mMiniSplitter ); 1792 mViewManager = new ViewManager( this, mMiniSplitter );
1793 mDetails = new ViewContainer( mMiniSplitter ); 1793 mDetails = new ViewContainer( mMiniSplitter );
1794 1794
1795 1795
1796 mExtensionManager = new ExtensionManager( this, mMiniSplitter ); 1796 mExtensionManager = new ExtensionManager( this, mMiniSplitter );
1797#endif 1797#endif
1798 //eh->hide(); 1798 //eh->hide();
1799 // topLayout->addWidget(mExtensionManager ); 1799 // topLayout->addWidget(mExtensionManager );
1800 1800
1801 1801
1802/*US 1802/*US
1803#ifndef KAB_NOSPLITTER 1803#ifndef KAB_NOSPLITTER
1804 QHBoxLayout *topLayout = new QHBoxLayout( this ); 1804 QHBoxLayout *topLayout = new QHBoxLayout( this );
1805//US topLayout->setSpacing( KDialogBase::spacingHint() ); 1805//US topLayout->setSpacing( KDialogBase::spacingHint() );
1806 topLayout->setSpacing( 10 ); 1806 topLayout->setSpacing( 10 );
1807 1807
1808 mDetailsSplitter = new QSplitter( this ); 1808 mDetailsSplitter = new QSplitter( this );
1809 1809
1810 QVBox *viewSpace = new QVBox( mDetailsSplitter ); 1810 QVBox *viewSpace = new QVBox( mDetailsSplitter );
1811 1811
1812 mViewManager = new ViewManager( this, viewSpace ); 1812 mViewManager = new ViewManager( this, viewSpace );
1813 viewSpace->setStretchFactor( mViewManager, 1 ); 1813 viewSpace->setStretchFactor( mViewManager, 1 );
1814 1814
1815 mDetails = new ViewContainer( mDetailsSplitter ); 1815 mDetails = new ViewContainer( mDetailsSplitter );
1816 1816
1817 topLayout->addWidget( mDetailsSplitter ); 1817 topLayout->addWidget( mDetailsSplitter );
1818 topLayout->setStretchFactor( mDetailsSplitter, 100 ); 1818 topLayout->setStretchFactor( mDetailsSplitter, 100 );
1819#else //KAB_NOSPLITTER 1819#else //KAB_NOSPLITTER
1820 QHBoxLayout *topLayout = new QHBoxLayout( this ); 1820 QHBoxLayout *topLayout = new QHBoxLayout( this );
1821//US topLayout->setSpacing( KDialogBase::spacingHint() ); 1821//US topLayout->setSpacing( KDialogBase::spacingHint() );
1822 topLayout->setSpacing( 10 ); 1822 topLayout->setSpacing( 10 );
1823 1823
1824// mDetailsSplitter = new QSplitter( this ); 1824// mDetailsSplitter = new QSplitter( this );
1825 1825
1826 QVBox *viewSpace = new QVBox( this ); 1826 QVBox *viewSpace = new QVBox( this );
1827 1827
1828 mViewManager = new ViewManager( this, viewSpace ); 1828 mViewManager = new ViewManager( this, viewSpace );
1829 viewSpace->setStretchFactor( mViewManager, 1 ); 1829 viewSpace->setStretchFactor( mViewManager, 1 );
1830 1830
1831 mDetails = new ViewContainer( this ); 1831 mDetails = new ViewContainer( this );
1832 1832
1833 topLayout->addWidget( viewSpace ); 1833 topLayout->addWidget( viewSpace );
1834// topLayout->setStretchFactor( mDetailsSplitter, 100 ); 1834// topLayout->setStretchFactor( mDetailsSplitter, 100 );
1835 topLayout->addWidget( mDetails ); 1835 topLayout->addWidget( mDetails );
1836#endif //KAB_NOSPLITTER 1836#endif //KAB_NOSPLITTER
1837*/ 1837*/
1838 1838
1839 syncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)this, KSyncManager::KAPI, KABPrefs::instance(), syncMenu); 1839 syncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)this, KSyncManager::KAPI, KABPrefs::instance(), syncMenu);
1840 syncManager->setBlockSave(false); 1840 syncManager->setBlockSave(false);
1841 1841
1842 connect(syncManager , SIGNAL( request_file() ), this, SLOT( syncFileRequest() ) ); 1842 connect(syncManager , SIGNAL( request_file() ), this, SLOT( syncFileRequest() ) );
1843 connect(syncManager , SIGNAL( getFile( bool )), this, SLOT(getFile( bool ) ) ); 1843 connect(syncManager , SIGNAL( getFile( bool )), this, SLOT(getFile( bool ) ) );
1844 QString sync_file = sentSyncFile(); 1844 QString sync_file = sentSyncFile();
1845 qDebug("KABCore::initGUI()::setting tmp sync file to:%s ",sync_file.latin1()); 1845 //qDebug("KABCore::initGUI()::setting tmp sync file to:%s ",sync_file.latin1());
1846 syncManager->setDefaultFileName( sync_file ); 1846 syncManager->setDefaultFileName( sync_file );
1847 //connect(syncManager , SIGNAL( ), this, SLOT( ) ); 1847 //connect(syncManager , SIGNAL( ), this, SLOT( ) );
1848 1848
1849#endif //KAB_EMBEDDED 1849#endif //KAB_EMBEDDED
1850 initActions(); 1850 initActions();
1851 1851
1852#ifdef KAB_EMBEDDED 1852#ifdef KAB_EMBEDDED
1853 addActionsManually(); 1853 addActionsManually();
1854 //US make sure the export and import menues are initialized before creating the xxPortManager. 1854 //US make sure the export and import menues are initialized before creating the xxPortManager.
1855 mXXPortManager = new XXPortManager( this, this ); 1855 mXXPortManager = new XXPortManager( this, this );
1856 1856
1857 // LR mIncSearchWidget = new IncSearchWidget( mMainWindow->getIconToolBar() ); 1857 // LR mIncSearchWidget = new IncSearchWidget( mMainWindow->getIconToolBar() );
1858 //mMainWindow->toolBar()->insertWidget(-1, 4, mIncSearchWidget); 1858 //mMainWindow->toolBar()->insertWidget(-1, 4, mIncSearchWidget);
1859 // mActionQuit->plug ( mMainWindow->toolBar()); 1859 // mActionQuit->plug ( mMainWindow->toolBar());
1860 //mIncSearchWidget = new IncSearchWidget( mMainWindow->toolBar() ); 1860 //mIncSearchWidget = new IncSearchWidget( mMainWindow->toolBar() );
1861 //mMainWindow->toolBar()->insertWidget(-1, 0, mIncSearchWidget); 1861 //mMainWindow->toolBar()->insertWidget(-1, 0, mIncSearchWidget);
1862 // mIncSearchWidget->hide(); 1862 // mIncSearchWidget->hide();
1863 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), 1863 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ),
1864 SLOT( incrementalSearch( const QString& ) ) ); 1864 SLOT( incrementalSearch( const QString& ) ) );
1865 connect( mIncSearchWidget, SIGNAL( scrollUP() ),mViewManager, SLOT( scrollUP() ) ); 1865 connect( mIncSearchWidget, SIGNAL( scrollUP() ),mViewManager, SLOT( scrollUP() ) );
1866 connect( mIncSearchWidget, SIGNAL( scrollDOWN() ),mViewManager, SLOT( scrollDOWN() ) ); 1866 connect( mIncSearchWidget, SIGNAL( scrollDOWN() ),mViewManager, SLOT( scrollDOWN() ) );
1867 1867
1868 mJumpButtonBar = new JumpButtonBar( this, this ); 1868 mJumpButtonBar = new JumpButtonBar( this, this );
1869 1869
1870 topLayout->addWidget( mJumpButtonBar ); 1870 topLayout->addWidget( mJumpButtonBar );
1871//US topLayout->setStretchFactor( mJumpButtonBar, 10 ); 1871//US topLayout->setStretchFactor( mJumpButtonBar, 10 );
1872 1872
1873// mMainWindow->getIconToolBar()->raise(); 1873// mMainWindow->getIconToolBar()->raise();
1874 1874
1875#endif //KAB_EMBEDDED 1875#endif //KAB_EMBEDDED
1876 1876
1877} 1877}
1878void KABCore::initActions() 1878void KABCore::initActions()
1879{ 1879{
1880//US qDebug("KABCore::initActions(): mIsPart %i", mIsPart); 1880//US qDebug("KABCore::initActions(): mIsPart %i", mIsPart);
1881 1881
1882#ifndef KAB_EMBEDDED 1882#ifndef KAB_EMBEDDED
1883 connect( QApplication::clipboard(), SIGNAL( dataChanged() ), 1883 connect( QApplication::clipboard(), SIGNAL( dataChanged() ),
1884 SLOT( clipboardDataChanged() ) ); 1884 SLOT( clipboardDataChanged() ) );
1885#endif //KAB_EMBEDDED 1885#endif //KAB_EMBEDDED
1886 1886
1887 // file menu 1887 // file menu
1888 1888
1889 mActionMail = KStdAction::mail( this, SLOT( sendMail() ), actionCollection() ); 1889 mActionMail = KStdAction::mail( this, SLOT( sendMail() ), actionCollection() );
1890 //mActionPrint = KStdAction::print( this, SLOT( print() ), actionCollection() ); 1890 //mActionPrint = KStdAction::print( this, SLOT( print() ), actionCollection() );
1891 mActionPrint = new KAction( i18n( "&Print View" ), "fileprint", CTRL + Key_P, mViewManager, 1891 mActionPrint = new KAction( i18n( "&Print View" ), "fileprint", CTRL + Key_P, mViewManager,
1892 SLOT( printView() ), actionCollection(), "kaddressbook_print" ); 1892 SLOT( printView() ), actionCollection(), "kaddressbook_print" );
1893 1893
1894 1894
1895 mActionPrintDetails = new KAction( i18n( "&Print Details" ), "fileprint", 0, mDetails, 1895 mActionPrintDetails = new KAction( i18n( "&Print Details" ), "fileprint", 0, mDetails,
1896 SLOT( printView() ), actionCollection(), "kaddressbook_print2" ); 1896 SLOT( printView() ), actionCollection(), "kaddressbook_print2" );
1897 1897
1898 mActionSave = new KAction( i18n( "&Save" ), "filesave", CTRL+Key_S, this, 1898 mActionSave = new KAction( i18n( "&Save" ), "filesave", CTRL+Key_S, this,
1899 SLOT( save() ), actionCollection(), "file_sync" ); 1899 SLOT( save() ), actionCollection(), "file_sync" );
1900 1900
1901 mActionNewContact = new KAction( i18n( "&New Contact..." ), "filenew", CTRL+Key_N, this, 1901 mActionNewContact = new KAction( i18n( "&New Contact..." ), "filenew", CTRL+Key_N, this,
1902 SLOT( newContact() ), actionCollection(), "file_new_contact" ); 1902 SLOT( newContact() ), actionCollection(), "file_new_contact" );
1903 1903
1904 mActionMailVCard = new KAction(i18n("Mail &vCard..."), "mail_post_to", 0, 1904 mActionMailVCard = new KAction(i18n("Mail &vCard..."), "mail_post_to", 0,
1905 this, SLOT( mailVCard() ), 1905 this, SLOT( mailVCard() ),
1906 actionCollection(), "file_mail_vcard"); 1906 actionCollection(), "file_mail_vcard");
1907 1907
1908 mActionExport2phone = new KAction( i18n( "Export to phone" ), "ex2phone", 0, this, 1908 mActionExport2phone = new KAction( i18n( "Export to phone" ), "ex2phone", 0, this,
1909 SLOT( export2phone() ), actionCollection(), 1909 SLOT( export2phone() ), actionCollection(),
1910 "kaddressbook_ex2phone" ); 1910 "kaddressbook_ex2phone" );
1911 1911
1912 mActionBeamVCard = 0; 1912 mActionBeamVCard = 0;
1913 mActionBeam = 0; 1913 mActionBeam = 0;
1914 1914
1915#ifndef DESKTOP_VERSION 1915#ifndef DESKTOP_VERSION
1916 if ( Ir::supported() ) { 1916 if ( Ir::supported() ) {
1917 mActionBeamVCard = new KAction( i18n( "Beam v&Card(s)..." ), "beam", 0, this, 1917 mActionBeamVCard = new KAction( i18n( "Beam v&Card(s)..." ), "beam", 0, this,
1918 SLOT( beamVCard() ), actionCollection(), 1918 SLOT( beamVCard() ), actionCollection(),
1919 "kaddressbook_beam_vcard" ); 1919 "kaddressbook_beam_vcard" );
1920 1920
1921 mActionBeam = new KAction( i18n( "&Beam personal vCard" ), "beam", 0, this, 1921 mActionBeam = new KAction( i18n( "&Beam personal vCard" ), "beam", 0, this,
1922 SLOT( beamMySelf() ), actionCollection(), 1922 SLOT( beamMySelf() ), actionCollection(),
1923 "kaddressbook_beam_myself" ); 1923 "kaddressbook_beam_myself" );
1924 } 1924 }
1925#endif 1925#endif
1926 1926
1927 mActionEditAddressee = new KAction( i18n( "&Edit Contact..." ), "edit", 0, 1927 mActionEditAddressee = new KAction( i18n( "&Edit Contact..." ), "edit", 0,
1928 this, SLOT( editContact2() ), 1928 this, SLOT( editContact2() ),
1929 actionCollection(), "file_properties" ); 1929 actionCollection(), "file_properties" );
1930 1930
1931#ifdef KAB_EMBEDDED 1931#ifdef KAB_EMBEDDED
1932 // mActionQuit = KStdAction::quit( mMainWindow, SLOT( exit() ), actionCollection() ); 1932 // mActionQuit = KStdAction::quit( mMainWindow, SLOT( exit() ), actionCollection() );
1933 mActionQuit = new KAction( i18n( "&Exit" ), "exit", 0, 1933 mActionQuit = new KAction( i18n( "&Exit" ), "exit", 0,
1934 mMainWindow, SLOT( exit() ), 1934 mMainWindow, SLOT( exit() ),
1935 actionCollection(), "quit" ); 1935 actionCollection(), "quit" );
1936#endif //KAB_EMBEDDED 1936#endif //KAB_EMBEDDED
1937 1937
1938 // edit menu 1938 // edit menu
1939 if ( mIsPart ) { 1939 if ( mIsPart ) {
1940 mActionCopy = new KAction( i18n( "&Copy" ), "editcopy", CTRL + Key_C, this, 1940 mActionCopy = new KAction( i18n( "&Copy" ), "editcopy", CTRL + Key_C, this,
1941 SLOT( copyContacts() ), actionCollection(), 1941 SLOT( copyContacts() ), actionCollection(),
1942 "kaddressbook_copy" ); 1942 "kaddressbook_copy" );
1943 mActionCut = new KAction( i18n( "Cu&t" ), "editcut", CTRL + Key_X, this, 1943 mActionCut = new KAction( i18n( "Cu&t" ), "editcut", CTRL + Key_X, this,
1944 SLOT( cutContacts() ), actionCollection(), 1944 SLOT( cutContacts() ), actionCollection(),
1945 "kaddressbook_cut" ); 1945 "kaddressbook_cut" );
1946 mActionPaste = new KAction( i18n( "&Paste" ), "editpaste", CTRL + Key_V, this, 1946 mActionPaste = new KAction( i18n( "&Paste" ), "editpaste", CTRL + Key_V, this,
1947 SLOT( pasteContacts() ), actionCollection(), 1947 SLOT( pasteContacts() ), actionCollection(),
1948 "kaddressbook_paste" ); 1948 "kaddressbook_paste" );
1949 mActionSelectAll = new KAction( i18n( "Select &All" ), CTRL + Key_A, this, 1949 mActionSelectAll = new KAction( i18n( "Select &All" ), CTRL + Key_A, this,
1950 SLOT( selectAllContacts() ), actionCollection(), 1950 SLOT( selectAllContacts() ), actionCollection(),
1951 "kaddressbook_select_all" ); 1951 "kaddressbook_select_all" );
1952 mActionUndo = new KAction( i18n( "&Undo" ), "undo", CTRL + Key_Z, this, 1952 mActionUndo = new KAction( i18n( "&Undo" ), "undo", CTRL + Key_Z, this,
1953 SLOT( undo() ), actionCollection(), 1953 SLOT( undo() ), actionCollection(),
1954 "kaddressbook_undo" ); 1954 "kaddressbook_undo" );
1955 mActionRedo = new KAction( i18n( "Re&do" ), "redo", CTRL + SHIFT + Key_Z, 1955 mActionRedo = new KAction( i18n( "Re&do" ), "redo", CTRL + SHIFT + Key_Z,
1956 this, SLOT( redo() ), actionCollection(), 1956 this, SLOT( redo() ), actionCollection(),
1957 "kaddressbook_redo" ); 1957 "kaddressbook_redo" );
1958 } else { 1958 } else {
1959 mActionCopy = KStdAction::copy( this, SLOT( copyContacts() ), actionCollection() ); 1959 mActionCopy = KStdAction::copy( this, SLOT( copyContacts() ), actionCollection() );
1960 mActionCut = KStdAction::cut( this, SLOT( cutContacts() ), actionCollection() ); 1960 mActionCut = KStdAction::cut( this, SLOT( cutContacts() ), actionCollection() );
1961 mActionPaste = KStdAction::paste( this, SLOT( pasteContacts() ), actionCollection() ); 1961 mActionPaste = KStdAction::paste( this, SLOT( pasteContacts() ), actionCollection() );
1962 mActionSelectAll = KStdAction::selectAll( this, SLOT( selectAllContacts() ), actionCollection() ); 1962 mActionSelectAll = KStdAction::selectAll( this, SLOT( selectAllContacts() ), actionCollection() );
1963 mActionUndo = KStdAction::undo( this, SLOT( undo() ), actionCollection() ); 1963 mActionUndo = KStdAction::undo( this, SLOT( undo() ), actionCollection() );
1964 mActionRedo = KStdAction::redo( this, SLOT( redo() ), actionCollection() ); 1964 mActionRedo = KStdAction::redo( this, SLOT( redo() ), actionCollection() );
1965 } 1965 }
1966 1966
1967 mActionDelete = new KAction( i18n( "&Delete Contact" ), "editdelete", 1967 mActionDelete = new KAction( i18n( "&Delete Contact" ), "editdelete",
1968 Key_Delete, this, SLOT( deleteContacts() ), 1968 Key_Delete, this, SLOT( deleteContacts() ),
1969 actionCollection(), "edit_delete" ); 1969 actionCollection(), "edit_delete" );
1970 1970
1971 mActionUndo->setEnabled( false ); 1971 mActionUndo->setEnabled( false );
1972 mActionRedo->setEnabled( false ); 1972 mActionRedo->setEnabled( false );
1973 1973
1974 // settings menu 1974 // settings menu
1975#ifdef KAB_EMBEDDED 1975#ifdef KAB_EMBEDDED
1976//US special menuentry to configure the addressbook resources. On KDE 1976//US special menuentry to configure the addressbook resources. On KDE
1977// you do that through the control center !!! 1977// you do that through the control center !!!
1978 mActionConfigResources = new KAction( i18n( "Configure &Resources..." ), "configure_resources", 0, this, 1978 mActionConfigResources = new KAction( i18n( "Configure &Resources..." ), "configure_resources", 0, this,
1979 SLOT( configureResources() ), actionCollection(), 1979 SLOT( configureResources() ), actionCollection(),
1980 "kaddressbook_configure_resources" ); 1980 "kaddressbook_configure_resources" );
1981#endif //KAB_EMBEDDED 1981#endif //KAB_EMBEDDED
1982 1982
1983 if ( mIsPart ) { 1983 if ( mIsPart ) {
1984 mActionConfigKAddressbook = new KAction( i18n( "&Configure KAddressBook..." ), "configure", 0, this, 1984 mActionConfigKAddressbook = new KAction( i18n( "&Configure KAddressBook..." ), "configure", 0, this,
1985 SLOT( openConfigDialog() ), actionCollection(), 1985 SLOT( openConfigDialog() ), actionCollection(),
1986 "kaddressbook_configure" ); 1986 "kaddressbook_configure" );
1987 1987
1988 //US not implemented yet 1988 //US not implemented yet
1989 //mActionConfigShortcuts = new KAction( i18n( "Configure S&hortcuts..." ), "configure_shortcuts", 0, 1989 //mActionConfigShortcuts = new KAction( i18n( "Configure S&hortcuts..." ), "configure_shortcuts", 0,
1990 // this, SLOT( configureKeyBindings() ), actionCollection(), 1990 // this, SLOT( configureKeyBindings() ), actionCollection(),
1991 // "kaddressbook_configure_shortcuts" ); 1991 // "kaddressbook_configure_shortcuts" );
1992#ifdef KAB_EMBEDDED 1992#ifdef KAB_EMBEDDED
1993 mActionConfigureToolbars = KStdAction::configureToolbars( this, SLOT( mMainWindow->configureToolbars() ), actionCollection() ); 1993 mActionConfigureToolbars = KStdAction::configureToolbars( this, SLOT( mMainWindow->configureToolbars() ), actionCollection() );
1994 mActionConfigureToolbars->setEnabled( false ); 1994 mActionConfigureToolbars->setEnabled( false );
1995#endif //KAB_EMBEDDED 1995#endif //KAB_EMBEDDED
1996 1996
1997 } else { 1997 } else {
1998 mActionConfigKAddressbook = KStdAction::preferences( this, SLOT( openConfigDialog() ), actionCollection() ); 1998 mActionConfigKAddressbook = KStdAction::preferences( this, SLOT( openConfigDialog() ), actionCollection() );
1999 1999
2000 //US not implemented yet 2000 //US not implemented yet
2001 //mActionKeyBindings = KStdAction::keyBindings( this, SLOT( configureKeyBindings() ), actionCollection() ); 2001 //mActionKeyBindings = KStdAction::keyBindings( this, SLOT( configureKeyBindings() ), actionCollection() );
2002 } 2002 }
2003 2003
2004 mActionJumpBar = new KToggleAction( i18n( "Show Jump Bar" ), 0, 0, 2004 mActionJumpBar = new KToggleAction( i18n( "Show Jump Bar" ), 0, 0,
2005 actionCollection(), "options_show_jump_bar" ); 2005 actionCollection(), "options_show_jump_bar" );
2006 connect( mActionJumpBar, SIGNAL( toggled( bool ) ), SLOT( setJumpButtonBarVisible( bool ) ) ); 2006 connect( mActionJumpBar, SIGNAL( toggled( bool ) ), SLOT( setJumpButtonBarVisible( bool ) ) );
2007 2007
2008 mActionDetails = new KToggleAction( i18n( "Show Details" ), "listview", 0, 2008 mActionDetails = new KToggleAction( i18n( "Show Details" ), "listview", 0,
2009 actionCollection(), "options_show_details" ); 2009 actionCollection(), "options_show_details" );
2010 connect( mActionDetails, SIGNAL( toggled( bool ) ), SLOT( setDetailsVisible( bool ) ) ); 2010 connect( mActionDetails, SIGNAL( toggled( bool ) ), SLOT( setDetailsVisible( bool ) ) );
2011 2011
2012 2012
2013 mActionBR = new KToggleAction( i18n( "Beam receive enabled" ), "beam", 0, this, 2013 mActionBR = new KToggleAction( i18n( "Beam receive enabled" ), "beam", 0, this,
2014 SLOT( toggleBeamReceive() ), actionCollection(), 2014 SLOT( toggleBeamReceive() ), actionCollection(),
2015 "kaddressbook_beam_rec" ); 2015 "kaddressbook_beam_rec" );
2016 2016
2017 2017
2018 // misc 2018 // misc
2019 // only enable LDAP lookup if we can handle the protocol 2019 // only enable LDAP lookup if we can handle the protocol
2020#ifndef KAB_EMBEDDED 2020#ifndef KAB_EMBEDDED
2021 if ( KProtocolInfo::isKnownProtocol( KURL( "ldap://localhost" ) ) ) { 2021 if ( KProtocolInfo::isKnownProtocol( KURL( "ldap://localhost" ) ) ) {
2022 new KAction( i18n( "&Lookup Addresses in Directory" ), "find", 0, 2022 new KAction( i18n( "&Lookup Addresses in Directory" ), "find", 0,
2023 this, SLOT( openLDAPDialog() ), actionCollection(), 2023 this, SLOT( openLDAPDialog() ), actionCollection(),
2024 "ldap_lookup" ); 2024 "ldap_lookup" );
2025 } 2025 }
2026#else //KAB_EMBEDDED 2026#else //KAB_EMBEDDED
2027 //qDebug("KABCore::initActions() LDAP has to be implemented"); 2027 //qDebug("KABCore::initActions() LDAP has to be implemented");
2028#endif //KAB_EMBEDDED 2028#endif //KAB_EMBEDDED
2029 2029
2030 2030
2031 mActionWhoAmI = new KAction( i18n( "Set Who Am I" ), "personal", 0, this, 2031 mActionWhoAmI = new KAction( i18n( "Set Who Am I" ), "personal", 0, this,
2032 SLOT( setWhoAmI() ), actionCollection(), 2032 SLOT( setWhoAmI() ), actionCollection(),
2033 "set_personal" ); 2033 "set_personal" );
2034 2034
2035 2035
2036 mActionCategories = new KAction( i18n( "Set Categories" ), 0, this, 2036 mActionCategories = new KAction( i18n( "Set Categories" ), 0, this,
2037 SLOT( setCategories() ), actionCollection(), 2037 SLOT( setCategories() ), actionCollection(),
2038 "edit_set_categories" ); 2038 "edit_set_categories" );
2039 mActionEditCategories = new KAction( i18n( "Edit Categories" ), 0, this, 2039 mActionEditCategories = new KAction( i18n( "Edit Categories" ), 0, this,
2040 SLOT( editCategories() ), actionCollection(), 2040 SLOT( editCategories() ), actionCollection(),
2041 "edit__categories" ); 2041 "edit__categories" );
2042 2042
2043 mActionRemoveVoice = new KAction( i18n( "Remove \"voice\"..." ), 0, this, 2043 mActionRemoveVoice = new KAction( i18n( "Remove \"voice\"..." ), 0, this,
2044 SLOT( removeVoice() ), actionCollection(), 2044 SLOT( removeVoice() ), actionCollection(),
2045 "remove_voice" ); 2045 "remove_voice" );
2046 mActionSetFormattedName = new KAction( i18n( "Set formatted name..." ), 0, this, 2046 mActionSetFormattedName = new KAction( i18n( "Set formatted name..." ), 0, this,
2047 SLOT( setFormattedName() ), actionCollection(), 2047 SLOT( setFormattedName() ), actionCollection(),
2048 "set_formatted" ); 2048 "set_formatted" );
2049 2049
2050 mActionManageCategories= new KAction( i18n( "Manage new categories..." ), 0, this, 2050 mActionManageCategories= new KAction( i18n( "Manage new categories..." ), 0, this,
2051 SLOT( manageCategories() ), actionCollection(), 2051 SLOT( manageCategories() ), actionCollection(),
2052 "remove_voice" ); 2052 "remove_voice" );
2053 2053
2054 2054
2055 mActionImportOL = new KAction( i18n( "Import from Outlook..." ), 0, this, 2055 mActionImportOL = new KAction( i18n( "Import from Outlook..." ), 0, this,
2056 SLOT( importFromOL() ), actionCollection(), 2056 SLOT( importFromOL() ), actionCollection(),
2057 "import_OL" ); 2057 "import_OL" );
2058#ifdef KAB_EMBEDDED 2058#ifdef KAB_EMBEDDED
2059 mActionLicence = new KAction( i18n( "Licence" ), 0, 2059 mActionLicence = new KAction( i18n( "Licence" ), 0,
2060 this, SLOT( showLicence() ), actionCollection(), 2060 this, SLOT( showLicence() ), actionCollection(),
2061 "licence_about_data" ); 2061 "licence_about_data" );
2062 mActionFaq = new KAction( i18n( "Faq" ), 0, 2062 mActionFaq = new KAction( i18n( "Faq" ), 0,
2063 this, SLOT( faq() ), actionCollection(), 2063 this, SLOT( faq() ), actionCollection(),
2064 "faq_about_data" ); 2064 "faq_about_data" );
2065 mActionWN = new KAction( i18n( "What's New?" ), 0, 2065 mActionWN = new KAction( i18n( "What's New?" ), 0,
2066 this, SLOT( whatsnew() ), actionCollection(), 2066 this, SLOT( whatsnew() ), actionCollection(),
2067 "wn" ); 2067 "wn" );
2068 mActionSyncHowto = new KAction( i18n( "Sync HowTo" ), 0, 2068 mActionSyncHowto = new KAction( i18n( "Sync HowTo" ), 0,
2069 this, SLOT( synchowto() ), actionCollection(), 2069 this, SLOT( synchowto() ), actionCollection(),
2070 "sync" ); 2070 "sync" );
2071 mActionKdeSyncHowto = new KAction( i18n( "Kde Sync HowTo" ), 0, 2071 mActionKdeSyncHowto = new KAction( i18n( "Kde Sync HowTo" ), 0,
2072 this, SLOT( kdesynchowto() ), actionCollection(), 2072 this, SLOT( kdesynchowto() ), actionCollection(),
2073 "kdesync" ); 2073 "kdesync" );
2074 mActionMultiSyncHowto = new KAction( i18n( "Multi Sync HowTo" ), 0, 2074 mActionMultiSyncHowto = new KAction( i18n( "Multi Sync HowTo" ), 0,
2075 this, SLOT( multisynchowto() ), actionCollection(), 2075 this, SLOT( multisynchowto() ), actionCollection(),
2076 "multisync" ); 2076 "multisync" );
2077 2077
2078 mActionAboutKAddressbook = new KAction( i18n( "&About KAddressBook" ), "kaddressbook2", 0, 2078 mActionAboutKAddressbook = new KAction( i18n( "&About KAddressBook" ), "kaddressbook2", 0,
2079 this, SLOT( createAboutData() ), actionCollection(), 2079 this, SLOT( createAboutData() ), actionCollection(),
2080 "kaddressbook_about_data" ); 2080 "kaddressbook_about_data" );
2081#endif //KAB_EMBEDDED 2081#endif //KAB_EMBEDDED
2082 2082
2083 clipboardDataChanged(); 2083 clipboardDataChanged();
2084 connect( UndoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) ); 2084 connect( UndoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) );
2085 connect( RedoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) ); 2085 connect( RedoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) );
2086} 2086}
2087 2087
2088//US we need this function, to plug all actions into the correct menues. 2088//US we need this function, to plug all actions into the correct menues.
2089// KDE uses a XML format to plug the actions, but we work her without this overhead. 2089// KDE uses a XML format to plug the actions, but we work her without this overhead.
2090void KABCore::addActionsManually() 2090void KABCore::addActionsManually()
2091{ 2091{
2092//US qDebug("KABCore::initActions(): mIsPart %i", mIsPart); 2092//US qDebug("KABCore::initActions(): mIsPart %i", mIsPart);
2093 2093
2094#ifdef KAB_EMBEDDED 2094#ifdef KAB_EMBEDDED
2095 QPopupMenu *fileMenu = new QPopupMenu( this ); 2095 QPopupMenu *fileMenu = new QPopupMenu( this );
2096 QPopupMenu *editMenu = new QPopupMenu( this ); 2096 QPopupMenu *editMenu = new QPopupMenu( this );
2097 QPopupMenu *helpMenu = new QPopupMenu( this ); 2097 QPopupMenu *helpMenu = new QPopupMenu( this );
2098 2098
2099 KToolBar* tb = mMainWindow->toolBar(); 2099 KToolBar* tb = mMainWindow->toolBar();
2100 2100
2101#ifndef DESKTOP_VERSION 2101#ifndef DESKTOP_VERSION
2102 if ( KABPrefs::instance()->mFullMenuBarVisible ) { 2102 if ( KABPrefs::instance()->mFullMenuBarVisible ) {
2103#endif 2103#endif
2104 QMenuBar* mb = mMainWindow->menuBar(); 2104 QMenuBar* mb = mMainWindow->menuBar();
2105 2105
2106 //US setup menubar. 2106 //US setup menubar.
2107 //Disable the following block if you do not want to have a menubar. 2107 //Disable the following block if you do not want to have a menubar.
2108 mb->insertItem( i18n("&File"), fileMenu ); 2108 mb->insertItem( i18n("&File"), fileMenu );
2109 mb->insertItem( i18n("&Edit"), editMenu ); 2109 mb->insertItem( i18n("&Edit"), editMenu );
2110 mb->insertItem( i18n("&View"), viewMenu ); 2110 mb->insertItem( i18n("&View"), viewMenu );
2111 mb->insertItem( i18n("&Settings"), settingsMenu ); 2111 mb->insertItem( i18n("&Settings"), settingsMenu );
2112 mb->insertItem( i18n("Synchronize"), syncMenu ); 2112 mb->insertItem( i18n("Synchronize"), syncMenu );
2113 //mb->insertItem( i18n("&Change"), changeMenu ); 2113 //mb->insertItem( i18n("&Change"), changeMenu );
2114 mb->insertItem( i18n("&Help"), helpMenu ); 2114 mb->insertItem( i18n("&Help"), helpMenu );
2115 mIncSearchWidget = new IncSearchWidget( tb ); 2115 mIncSearchWidget = new IncSearchWidget( tb );
2116 // tb->insertWidget(-1, 0, mIncSearchWidget); 2116 // tb->insertWidget(-1, 0, mIncSearchWidget);
2117#ifndef DESKTOP_VERSION 2117#ifndef DESKTOP_VERSION
2118 } else { 2118 } else {
2119 //US setup toolbar 2119 //US setup toolbar
2120 QPEMenuBar *menuBarTB = new QPEMenuBar( tb ); 2120 QPEMenuBar *menuBarTB = new QPEMenuBar( tb );
2121 QPopupMenu *popupBarTB = new QPopupMenu( this ); 2121 QPopupMenu *popupBarTB = new QPopupMenu( this );
2122 menuBarTB->insertItem( "ME", popupBarTB); 2122 menuBarTB->insertItem( "ME", popupBarTB);
2123 tb->insertWidget(-1, 0, menuBarTB); 2123 tb->insertWidget(-1, 0, menuBarTB);
2124 mIncSearchWidget = new IncSearchWidget( tb ); 2124 mIncSearchWidget = new IncSearchWidget( tb );
2125 2125
2126 tb->enableMoving(false); 2126 tb->enableMoving(false);
2127 popupBarTB->insertItem( i18n("&File"), fileMenu ); 2127 popupBarTB->insertItem( i18n("&File"), fileMenu );
2128 popupBarTB->insertItem( i18n("&Edit"), editMenu ); 2128 popupBarTB->insertItem( i18n("&Edit"), editMenu );
2129 popupBarTB->insertItem( i18n("&View"), viewMenu ); 2129 popupBarTB->insertItem( i18n("&View"), viewMenu );
2130 popupBarTB->insertItem( i18n("&Settings"), settingsMenu ); 2130 popupBarTB->insertItem( i18n("&Settings"), settingsMenu );
2131 popupBarTB->insertItem( i18n("Synchronize"), syncMenu ); 2131 popupBarTB->insertItem( i18n("Synchronize"), syncMenu );
2132 mViewManager->getFilterAction()->plug ( popupBarTB); 2132 mViewManager->getFilterAction()->plug ( popupBarTB);
2133 //popupBarTB->insertItem( i18n("&Change selected"), changeMenu ); 2133 //popupBarTB->insertItem( i18n("&Change selected"), changeMenu );
2134 popupBarTB->insertItem( i18n("&Help"), helpMenu ); 2134 popupBarTB->insertItem( i18n("&Help"), helpMenu );
2135 if (QApplication::desktop()->width() > 320 ) { 2135 if (QApplication::desktop()->width() > 320 ) {
2136 // mViewManager->getFilterAction()->plug ( tb); 2136 // mViewManager->getFilterAction()->plug ( tb);
2137 } 2137 }
2138 } 2138 }
2139#endif 2139#endif
2140 // mActionQuit->plug ( mMainWindow->toolBar()); 2140 // mActionQuit->plug ( mMainWindow->toolBar());
2141 2141
2142 2142
2143 2143
2144 //US Now connect the actions with the menue entries. 2144 //US Now connect the actions with the menue entries.
2145#ifdef DESKTOP_VERSION 2145#ifdef DESKTOP_VERSION
2146 mActionPrint->plug( fileMenu ); 2146 mActionPrint->plug( fileMenu );
2147 mActionPrintDetails->plug( fileMenu ); 2147 mActionPrintDetails->plug( fileMenu );
2148 fileMenu->insertSeparator(); 2148 fileMenu->insertSeparator();
2149#endif 2149#endif
2150 mActionMail->plug( fileMenu ); 2150 mActionMail->plug( fileMenu );
2151 fileMenu->insertSeparator(); 2151 fileMenu->insertSeparator();
2152 2152
2153 mActionNewContact->plug( fileMenu ); 2153 mActionNewContact->plug( fileMenu );
2154 mActionNewContact->plug( tb ); 2154 mActionNewContact->plug( tb );
2155 2155
2156 mActionEditAddressee->plug( fileMenu ); 2156 mActionEditAddressee->plug( fileMenu );
2157 // if ((KGlobal::getDesktopSize() > KGlobal::Small ) || 2157 // if ((KGlobal::getDesktopSize() > KGlobal::Small ) ||
2158 // (!KABPrefs::instance()->mMultipleViewsAtOnce )) 2158 // (!KABPrefs::instance()->mMultipleViewsAtOnce ))
2159 mActionEditAddressee->plug( tb ); 2159 mActionEditAddressee->plug( tb );
2160 2160
2161 fileMenu->insertSeparator(); 2161 fileMenu->insertSeparator();
2162 mActionSave->plug( fileMenu ); 2162 mActionSave->plug( fileMenu );
2163 fileMenu->insertItem( "&Import", ImportMenu ); 2163 fileMenu->insertItem( "&Import", ImportMenu );
2164 fileMenu->insertItem( "&Export", ExportMenu ); 2164 fileMenu->insertItem( "&Export", ExportMenu );
2165 fileMenu->insertItem( i18n("&Change"), changeMenu ); 2165 fileMenu->insertItem( i18n("&Change"), changeMenu );
2166#ifndef DESKTOP_VERSION 2166#ifndef DESKTOP_VERSION
2167 if ( Ir::supported() ) fileMenu->insertItem( i18n("&Beam"), beamMenu ); 2167 if ( Ir::supported() ) fileMenu->insertItem( i18n("&Beam"), beamMenu );
2168#endif 2168#endif
2169#if 0 2169#if 0
2170 // PENDING fix MailVCard 2170 // PENDING fix MailVCard
2171 fileMenu->insertSeparator(); 2171 fileMenu->insertSeparator();
2172 mActionMailVCard->plug( fileMenu ); 2172 mActionMailVCard->plug( fileMenu );
2173#endif 2173#endif
2174#ifndef DESKTOP_VERSION 2174#ifndef DESKTOP_VERSION
2175 if ( Ir::supported() ) mActionBR->plug( beamMenu ); 2175 if ( Ir::supported() ) mActionBR->plug( beamMenu );
2176 if ( Ir::supported() ) mActionBeamVCard->plug( beamMenu ); 2176 if ( Ir::supported() ) mActionBeamVCard->plug( beamMenu );
2177 if ( Ir::supported() ) mActionBeam->plug( beamMenu ); 2177 if ( Ir::supported() ) mActionBeam->plug( beamMenu );
2178#endif 2178#endif
2179 fileMenu->insertSeparator(); 2179 fileMenu->insertSeparator();
2180 mActionQuit->plug( fileMenu ); 2180 mActionQuit->plug( fileMenu );
2181#ifdef _WIN32_ 2181#ifdef _WIN32_
2182 mActionImportOL->plug( ImportMenu ); 2182 mActionImportOL->plug( ImportMenu );
2183#endif 2183#endif
2184 // edit menu 2184 // edit menu
2185 mActionUndo->plug( editMenu ); 2185 mActionUndo->plug( editMenu );
2186 mActionRedo->plug( editMenu ); 2186 mActionRedo->plug( editMenu );
2187 editMenu->insertSeparator(); 2187 editMenu->insertSeparator();
2188 mActionCut->plug( editMenu ); 2188 mActionCut->plug( editMenu );
2189 mActionCopy->plug( editMenu ); 2189 mActionCopy->plug( editMenu );
2190 mActionPaste->plug( editMenu ); 2190 mActionPaste->plug( editMenu );
2191 mActionDelete->plug( editMenu ); 2191 mActionDelete->plug( editMenu );
2192 editMenu->insertSeparator(); 2192 editMenu->insertSeparator();
2193 mActionSelectAll->plug( editMenu ); 2193 mActionSelectAll->plug( editMenu );
2194 2194
2195 mActionSetFormattedName->plug( changeMenu ); 2195 mActionSetFormattedName->plug( changeMenu );
2196 mActionRemoveVoice->plug( changeMenu ); 2196 mActionRemoveVoice->plug( changeMenu );
2197 // settings menu 2197 // settings menu
2198//US special menuentry to configure the addressbook resources. On KDE 2198//US special menuentry to configure the addressbook resources. On KDE
2199// you do that through the control center !!! 2199// you do that through the control center !!!
2200 mActionConfigResources->plug( settingsMenu ); 2200 mActionConfigResources->plug( settingsMenu );
2201 settingsMenu->insertSeparator(); 2201 settingsMenu->insertSeparator();
2202 2202
2203 mActionConfigKAddressbook->plug( settingsMenu ); 2203 mActionConfigKAddressbook->plug( settingsMenu );
2204 2204
2205 if ( mIsPart ) { 2205 if ( mIsPart ) {
2206 //US not implemented yet 2206 //US not implemented yet
2207 //mActionConfigShortcuts->plug( settingsMenu ); 2207 //mActionConfigShortcuts->plug( settingsMenu );
2208 //mActionConfigureToolbars->plug( settingsMenu ); 2208 //mActionConfigureToolbars->plug( settingsMenu );
2209 2209
2210 } else { 2210 } else {
2211 //US not implemented yet 2211 //US not implemented yet
2212 //mActionKeyBindings->plug( settingsMenu ); 2212 //mActionKeyBindings->plug( settingsMenu );
2213 } 2213 }
2214 2214
2215 settingsMenu->insertSeparator(); 2215 settingsMenu->insertSeparator();
2216 2216
2217 mActionJumpBar->plug( settingsMenu ); 2217 mActionJumpBar->plug( settingsMenu );
2218 mActionDetails->plug( settingsMenu ); 2218 mActionDetails->plug( settingsMenu );
2219 //if (!KABPrefs::instance()->mMultipleViewsAtOnce || KGlobal::getDesktopSize() == KGlobal::Desktop ) 2219 //if (!KABPrefs::instance()->mMultipleViewsAtOnce || KGlobal::getDesktopSize() == KGlobal::Desktop )
2220 mActionDetails->plug( tb ); 2220 mActionDetails->plug( tb );
2221 settingsMenu->insertSeparator(); 2221 settingsMenu->insertSeparator();
2222#ifndef DESKTOP_VERSION 2222#ifndef DESKTOP_VERSION
2223 if ( Ir::supported() ) mActionBR->plug(settingsMenu ); 2223 if ( Ir::supported() ) mActionBR->plug(settingsMenu );
2224#endif 2224#endif
2225 settingsMenu->insertSeparator(); 2225 settingsMenu->insertSeparator();
2226 2226
2227 mActionWhoAmI->plug( settingsMenu ); 2227 mActionWhoAmI->plug( settingsMenu );
2228 mActionEditCategories->plug( settingsMenu ); 2228 mActionEditCategories->plug( settingsMenu );
2229 mActionEditCategories->plug( changeMenu ); 2229 mActionEditCategories->plug( changeMenu );
2230 mActionCategories->plug( changeMenu ); 2230 mActionCategories->plug( changeMenu );
2231 mActionManageCategories->plug( changeMenu ); 2231 mActionManageCategories->plug( changeMenu );
2232 2232
2233 mActionCategories->plug( settingsMenu ); 2233 mActionCategories->plug( settingsMenu );
2234 mActionManageCategories->plug( settingsMenu ); 2234 mActionManageCategories->plug( settingsMenu );
2235 2235
2236 2236
2237 mActionWN->plug( helpMenu ); 2237 mActionWN->plug( helpMenu );
2238 mActionSyncHowto->plug( helpMenu ); 2238 mActionSyncHowto->plug( helpMenu );
2239 mActionKdeSyncHowto->plug( helpMenu ); 2239 mActionKdeSyncHowto->plug( helpMenu );
2240 mActionMultiSyncHowto->plug( helpMenu ); 2240 mActionMultiSyncHowto->plug( helpMenu );
2241 mActionFaq->plug( helpMenu ); 2241 mActionFaq->plug( helpMenu );
2242 mActionLicence->plug( helpMenu ); 2242 mActionLicence->plug( helpMenu );
2243 mActionAboutKAddressbook->plug( helpMenu ); 2243 mActionAboutKAddressbook->plug( helpMenu );
2244 2244
2245 if (KGlobal::getDesktopSize() > KGlobal::Small ) { 2245 if (KGlobal::getDesktopSize() > KGlobal::Small ) {
2246 2246
2247 mActionSave->plug( tb ); 2247 mActionSave->plug( tb );
2248 mViewManager->getFilterAction()->plug ( tb); 2248 mViewManager->getFilterAction()->plug ( tb);
2249 //LR hide filteraction on started in 480x640 2249 //LR hide filteraction on started in 480x640
2250 if (QApplication::desktop()->width() == 480 ) { 2250 if (QApplication::desktop()->width() == 480 ) {
2251 mViewManager->getFilterAction()->setComboWidth( 0 ); 2251 mViewManager->getFilterAction()->setComboWidth( 0 );
2252 } 2252 }
2253 mActionUndo->plug( tb ); 2253 mActionUndo->plug( tb );
2254 mActionDelete->plug( tb ); 2254 mActionDelete->plug( tb );
2255 mActionRedo->plug( tb ); 2255 mActionRedo->plug( tb );
2256 } else { 2256 } else {
2257 mActionSave->plug( tb ); 2257 mActionSave->plug( tb );
2258 tb->enableMoving(false); 2258 tb->enableMoving(false);
2259 } 2259 }
2260 //mActionQuit->plug ( tb ); 2260 //mActionQuit->plug ( tb );
2261 // tb->insertWidget(-1, 0, mIncSearchWidget, 6); 2261 // tb->insertWidget(-1, 0, mIncSearchWidget, 6);
2262 2262
2263 //US link the searchwidget first to this. 2263 //US link the searchwidget first to this.
2264 // The real linkage to the toolbar happens later. 2264 // The real linkage to the toolbar happens later.
2265//US mIncSearchWidget->reparent(tb, 0, QPoint(50,0), TRUE); 2265//US mIncSearchWidget->reparent(tb, 0, QPoint(50,0), TRUE);
2266//US tb->insertItem( mIncSearchWidget ); 2266//US tb->insertItem( mIncSearchWidget );
2267/*US 2267/*US
2268 mIncSearchWidget = new IncSearchWidget( tb ); 2268 mIncSearchWidget = new IncSearchWidget( tb );
2269 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), 2269 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ),
2270 SLOT( incrementalSearch( const QString& ) ) ); 2270 SLOT( incrementalSearch( const QString& ) ) );
2271 2271
2272 mJumpButtonBar = new JumpButtonBar( this, this ); 2272 mJumpButtonBar = new JumpButtonBar( this, this );
2273 2273
2274//US topLayout->addWidget( mJumpButtonBar ); 2274//US topLayout->addWidget( mJumpButtonBar );
2275 this->layout()->add( mJumpButtonBar ); 2275 this->layout()->add( mJumpButtonBar );
2276*/ 2276*/
2277 2277
2278#endif //KAB_EMBEDDED 2278#endif //KAB_EMBEDDED
2279 2279
2280 mActionExport2phone->plug( ExportMenu ); 2280 mActionExport2phone->plug( ExportMenu );
2281 connect ( syncMenu, SIGNAL( activated ( int ) ), syncManager, SLOT (slotSyncMenu( int ) ) ); 2281 connect ( syncMenu, SIGNAL( activated ( int ) ), syncManager, SLOT (slotSyncMenu( int ) ) );
2282 syncManager->fillSyncMenu(); 2282 syncManager->fillSyncMenu();
2283 2283
2284} 2284}
2285void KABCore::showLicence() 2285void KABCore::showLicence()
2286{ 2286{
2287 KApplication::showLicence(); 2287 KApplication::showLicence();
2288} 2288}
2289 2289
2290void KABCore::manageCategories( ) 2290void KABCore::manageCategories( )
2291{ 2291{
2292 KABCatPrefs* cp = new KABCatPrefs(); 2292 KABCatPrefs* cp = new KABCatPrefs();
2293 cp->show(); 2293 cp->show();
2294 int w =cp->sizeHint().width() ; 2294 int w =cp->sizeHint().width() ;
2295 int h = cp->sizeHint().height() ; 2295 int h = cp->sizeHint().height() ;
2296 int dw = QApplication::desktop()->width(); 2296 int dw = QApplication::desktop()->width();
2297 int dh = QApplication::desktop()->height(); 2297 int dh = QApplication::desktop()->height();
2298 cp->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 2298 cp->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
2299 if ( !cp->exec() ) { 2299 if ( !cp->exec() ) {
2300 delete cp; 2300 delete cp;
2301 return; 2301 return;
2302 } 2302 }
2303 int count = 0; 2303 int count = 0;
2304 int cc = 0; 2304 int cc = 0;
2305 message( i18n("Please wait, processing categories...")); 2305 message( i18n("Please wait, processing categories..."));
2306 if ( cp->addCat() ) { 2306 if ( cp->addCat() ) {
2307 KABC::AddressBook::Iterator it; 2307 KABC::AddressBook::Iterator it;
2308 QStringList catList = KABPrefs::instance()->mCustomCategories; 2308 QStringList catList = KABPrefs::instance()->mCustomCategories;
2309 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { 2309 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
2310 ++cc; 2310 ++cc;
2311 if ( cc %10 == 0) 2311 if ( cc %10 == 0)
2312 message(i18n("Processing contact #%1").arg(cc)); 2312 message(i18n("Processing contact #%1").arg(cc));
2313 QStringList catIncList = (*it).categories(); 2313 QStringList catIncList = (*it).categories();
2314 int i; 2314 int i;
2315 for( i = 0; i< catIncList.count(); ++i ) { 2315 for( i = 0; i< catIncList.count(); ++i ) {
2316 if ( !catList.contains (catIncList[i])) { 2316 if ( !catList.contains (catIncList[i])) {
2317 catList.append( catIncList[i] ); 2317 catList.append( catIncList[i] );
2318 //qDebug("add cat %s ", catIncList[i].latin1()); 2318 //qDebug("add cat %s ", catIncList[i].latin1());
2319 ++count; 2319 ++count;
2320 } 2320 }
2321 } 2321 }
2322 } 2322 }
2323 catList.sort(); 2323 catList.sort();
2324 KABPrefs::instance()->mCustomCategories = catList; 2324 KABPrefs::instance()->mCustomCategories = catList;
2325 KABPrefs::instance()->writeConfig(); 2325 KABPrefs::instance()->writeConfig();
2326 message(QString::number( count )+ i18n(" categories added to list! ")); 2326 message(QString::number( count )+ i18n(" categories added to list! "));
2327 } else { 2327 } else {
2328 QStringList catList = KABPrefs::instance()->mCustomCategories; 2328 QStringList catList = KABPrefs::instance()->mCustomCategories;
2329 QStringList catIncList; 2329 QStringList catIncList;
2330 QStringList newCatList; 2330 QStringList newCatList;
2331 KABC::AddressBook::Iterator it; 2331 KABC::AddressBook::Iterator it;
2332 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { 2332 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
2333 ++cc; 2333 ++cc;
2334 if ( cc %10 == 0) 2334 if ( cc %10 == 0)
2335 message(i18n("Processing contact #%1").arg(cc)); 2335 message(i18n("Processing contact #%1").arg(cc));
2336 QStringList catIncList = (*it).categories(); 2336 QStringList catIncList = (*it).categories();
2337 int i; 2337 int i;
2338 if ( catIncList.count() ) { 2338 if ( catIncList.count() ) {
2339 newCatList.clear(); 2339 newCatList.clear();
2340 for( i = 0; i< catIncList.count(); ++i ) { 2340 for( i = 0; i< catIncList.count(); ++i ) {
2341 if ( catList.contains (catIncList[i])) { 2341 if ( catList.contains (catIncList[i])) {
2342 newCatList.append( catIncList[i] ); 2342 newCatList.append( catIncList[i] );
2343 } 2343 }
2344 } 2344 }
2345 newCatList.sort(); 2345 newCatList.sort();
2346 (*it).setCategories( newCatList ); 2346 (*it).setCategories( newCatList );
2347 mAddressBook->insertAddressee( (*it) ); 2347 mAddressBook->insertAddressee( (*it) );
2348 } 2348 }
2349 } 2349 }
2350 setModified( true ); 2350 setModified( true );
2351 mViewManager->refreshView(); 2351 mViewManager->refreshView();
2352 message( i18n("Removing categories done!")); 2352 message( i18n("Removing categories done!"));
2353 } 2353 }
2354 delete cp; 2354 delete cp;
2355} 2355}
2356void KABCore::removeVoice() 2356void KABCore::removeVoice()
2357{ 2357{
2358 if ( KMessageBox::questionYesNo( this, i18n("After importing, phone numbers\nmay have two or more types.\n(E.g. work+voice)\nThese numbers are shown as \"other\".\nClick Yes to remove the voice type\nfrom numbers with more than one type.\n\nRemove voice type?") ) == KMessageBox::No ) 2358 if ( KMessageBox::questionYesNo( this, i18n("After importing, phone numbers\nmay have two or more types.\n(E.g. work+voice)\nThese numbers are shown as \"other\".\nClick Yes to remove the voice type\nfrom numbers with more than one type.\n\nRemove voice type?") ) == KMessageBox::No )
2359 return; 2359 return;
2360 XXPortSelectDialog dlg( this, false, this ); 2360 XXPortSelectDialog dlg( this, false, this );
2361 if ( !dlg.exec() ) 2361 if ( !dlg.exec() )
2362 return; 2362 return;
2363 mAddressBook->setUntagged(); 2363 mAddressBook->setUntagged();
2364 dlg.tagSelected(); 2364 dlg.tagSelected();
2365 message(i18n("Removing voice..."), false ); 2365 message(i18n("Removing voice..."), false );
2366 KABC::AddressBook::Iterator it; 2366 KABC::AddressBook::Iterator it;
2367 for ( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { 2367 for ( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
2368 if ( (*it).tagged() ) { 2368 if ( (*it).tagged() ) {
2369 (*it).removeVoice(); 2369 (*it).removeVoice();
2370 } 2370 }
2371 } 2371 }
2372 message(i18n("Refreshing view...") ); 2372 message(i18n("Refreshing view...") );
2373 qApp->processEvents(); 2373 qApp->processEvents();
2374 mViewManager->refreshView( "" ); 2374 mViewManager->refreshView( "" );
2375 Addressee add; 2375 Addressee add;
2376 mDetails->setAddressee( add ); 2376 mDetails->setAddressee( add );
2377 message(i18n("Remove voice completed!") ); 2377 message(i18n("Remove voice completed!") );
2378 2378
2379 2379
2380 2380
2381} 2381}
2382 2382
2383void KABCore::setFormattedName() 2383void KABCore::setFormattedName()
2384{ 2384{
2385 KABFormatPrefs setpref; 2385 KABFormatPrefs setpref;
2386 if ( !setpref.exec() ) { 2386 if ( !setpref.exec() ) {
2387 return; 2387 return;
2388 } 2388 }
2389 XXPortSelectDialog dlg( this, false, this ); 2389 XXPortSelectDialog dlg( this, false, this );
2390 if ( !dlg.exec() ) 2390 if ( !dlg.exec() )
2391 return; 2391 return;
2392 mAddressBook->setUntagged(); 2392 mAddressBook->setUntagged();
2393 dlg.tagSelected(); 2393 dlg.tagSelected();
2394 int count = 0; 2394 int count = 0;
2395 KABC::AddressBook::Iterator it; 2395 KABC::AddressBook::Iterator it;
2396 for ( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { 2396 for ( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
2397 if ( (*it).tagged() ) { 2397 if ( (*it).tagged() ) {
2398 ++count; 2398 ++count;
2399 if ( count %10 == 0 ) 2399 if ( count %10 == 0 )
2400 message(i18n("Changing contact #%1").arg( count ) ); 2400 message(i18n("Changing contact #%1").arg( count ) );
2401 qApp->processEvents(); 2401 qApp->processEvents();
2402 QString fName; 2402 QString fName;
2403 if ( setpref.simple->isChecked() ) 2403 if ( setpref.simple->isChecked() )
2404 fName = NameEditDialog::formattedName( (*it), NameEditDialog::SimpleName ); 2404 fName = NameEditDialog::formattedName( (*it), NameEditDialog::SimpleName );
2405 else if ( setpref.full->isChecked() ) 2405 else if ( setpref.full->isChecked() )
2406 fName = NameEditDialog::formattedName( (*it), NameEditDialog::FullName ); 2406 fName = NameEditDialog::formattedName( (*it), NameEditDialog::FullName );
2407 else if ( setpref.reverse->isChecked() ) 2407 else if ( setpref.reverse->isChecked() )
2408 fName = NameEditDialog::formattedName( (*it), NameEditDialog::ReverseName ); 2408 fName = NameEditDialog::formattedName( (*it), NameEditDialog::ReverseName );
2409 else 2409 else
2410 fName = (*it).organization(); 2410 fName = (*it).organization();
2411 if ( setpref.setCompany->isChecked() ) 2411 if ( setpref.setCompany->isChecked() )
2412 if ( fName.isEmpty() || fName =="," ) 2412 if ( fName.isEmpty() || fName =="," )
2413 fName = (*it).organization(); 2413 fName = (*it).organization();
2414 (*it).setFormattedName( fName ); 2414 (*it).setFormattedName( fName );
2415 } 2415 }
2416 } 2416 }
2417 message(i18n("Refreshing view...") ); 2417 message(i18n("Refreshing view...") );
2418 qApp->processEvents(); 2418 qApp->processEvents();
2419 mViewManager->refreshView( "" ); 2419 mViewManager->refreshView( "" );
2420 Addressee add; 2420 Addressee add;
2421 mDetails->setAddressee( add ); 2421 mDetails->setAddressee( add );
2422 message(i18n("Setting formatted name completed!") ); 2422 message(i18n("Setting formatted name completed!") );
2423} 2423}
2424 2424
2425void KABCore::clipboardDataChanged() 2425void KABCore::clipboardDataChanged()
2426{ 2426{
2427 2427
2428 if ( mReadWrite ) 2428 if ( mReadWrite )
2429 mActionPaste->setEnabled( !QApplication::clipboard()->text().isEmpty() ); 2429 mActionPaste->setEnabled( !QApplication::clipboard()->text().isEmpty() );
2430 2430
2431} 2431}
2432 2432
2433void KABCore::updateActionMenu() 2433void KABCore::updateActionMenu()
2434{ 2434{
2435 UndoStack *undo = UndoStack::instance(); 2435 UndoStack *undo = UndoStack::instance();
2436 RedoStack *redo = RedoStack::instance(); 2436 RedoStack *redo = RedoStack::instance();
2437 2437
2438 if ( undo->isEmpty() ) 2438 if ( undo->isEmpty() )
2439 mActionUndo->setText( i18n( "Undo" ) ); 2439 mActionUndo->setText( i18n( "Undo" ) );
2440 else 2440 else
2441 mActionUndo->setText( i18n( "Undo %1" ).arg( undo->top()->name() ) ); 2441 mActionUndo->setText( i18n( "Undo %1" ).arg( undo->top()->name() ) );
2442 2442
2443 mActionUndo->setEnabled( !undo->isEmpty() ); 2443 mActionUndo->setEnabled( !undo->isEmpty() );
2444 2444
2445 if ( !redo->top() ) 2445 if ( !redo->top() )
2446 mActionRedo->setText( i18n( "Redo" ) ); 2446 mActionRedo->setText( i18n( "Redo" ) );
2447 else 2447 else
2448 mActionRedo->setText( i18n( "Redo %1" ).arg( redo->top()->name() ) ); 2448 mActionRedo->setText( i18n( "Redo %1" ).arg( redo->top()->name() ) );
2449 2449
2450 mActionRedo->setEnabled( !redo->isEmpty() ); 2450 mActionRedo->setEnabled( !redo->isEmpty() );
2451} 2451}
2452 2452
2453void KABCore::configureKeyBindings() 2453void KABCore::configureKeyBindings()
2454{ 2454{
2455#ifndef KAB_EMBEDDED 2455#ifndef KAB_EMBEDDED
2456 KKeyDialog::configure( actionCollection(), true ); 2456 KKeyDialog::configure( actionCollection(), true );
2457#else //KAB_EMBEDDED 2457#else //KAB_EMBEDDED
2458 qDebug("KABCore::configureKeyBindings() not implemented"); 2458 qDebug("KABCore::configureKeyBindings() not implemented");
2459#endif //KAB_EMBEDDED 2459#endif //KAB_EMBEDDED
2460} 2460}
2461 2461
2462#ifdef KAB_EMBEDDED 2462#ifdef KAB_EMBEDDED
2463void KABCore::configureResources() 2463void KABCore::configureResources()
2464{ 2464{
2465 KRES::KCMKResources dlg( this, "" , 0 ); 2465 KRES::KCMKResources dlg( this, "" , 0 );
2466 2466
2467 if ( !dlg.exec() ) 2467 if ( !dlg.exec() )
2468 return; 2468 return;
2469 KMessageBox::information( this, i18n("Please restart to get the \nchanged resources (re)loaded!\n") ); 2469 KMessageBox::information( this, i18n("Please restart to get the \nchanged resources (re)loaded!\n") );
2470} 2470}
2471#endif //KAB_EMBEDDED 2471#endif //KAB_EMBEDDED
2472 2472
2473 2473
2474/* this method will be called through the QCop interface from Ko/Pi to select addresses 2474/* this method will be called through the QCop interface from Ko/Pi to select addresses
2475 * for the attendees list of an event. 2475 * for the attendees list of an event.
2476 */ 2476 */
2477void KABCore::requestForNameEmailUidList(const QString& sourceChannel, const QString& uid) 2477void KABCore::requestForNameEmailUidList(const QString& sourceChannel, const QString& uid)
2478{ 2478{
2479 QStringList nameList; 2479 QStringList nameList;
2480 QStringList emailList; 2480 QStringList emailList;
2481 QStringList uidList; 2481 QStringList uidList;
2482 2482
2483 KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this); 2483 KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this);
2484 uint i=0; 2484 uint i=0;
2485 for (i=0; i < list.count(); i++) 2485 for (i=0; i < list.count(); i++)
2486 { 2486 {
2487 nameList.append(list[i].realName()); 2487 nameList.append(list[i].realName());
2488 emailList.append(list[i].preferredEmail()); 2488 emailList.append(list[i].preferredEmail());
2489 uidList.append(list[i].uid()); 2489 uidList.append(list[i].uid());
2490 } 2490 }
2491 2491
2492 bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI(sourceChannel, uid, nameList, emailList, uidList); 2492 bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI(sourceChannel, uid, nameList, emailList, uidList);
2493 2493
2494} 2494}
2495 2495
2496/* this method will be called through the QCop interface from Ko/Pi to select birthdays 2496/* this method will be called through the QCop interface from Ko/Pi to select birthdays
2497 * to put them into the calendar. 2497 * to put them into the calendar.
2498 */ 2498 */
2499void KABCore::requestForBirthdayList(const QString& sourceChannel, const QString& uid) 2499void KABCore::requestForBirthdayList(const QString& sourceChannel, const QString& uid)
2500{ 2500{
2501 // qDebug("KABCore::requestForBirthdayList"); 2501 // qDebug("KABCore::requestForBirthdayList");
2502 QStringList birthdayList; 2502 QStringList birthdayList;
2503 QStringList anniversaryList; 2503 QStringList anniversaryList;
2504 QStringList realNameList; 2504 QStringList realNameList;
2505 QStringList preferredEmailList; 2505 QStringList preferredEmailList;
2506 QStringList assembledNameList; 2506 QStringList assembledNameList;
2507 QStringList uidList; 2507 QStringList uidList;
2508 2508
2509 KABC::AddressBook::Iterator it; 2509 KABC::AddressBook::Iterator it;
2510 2510
2511 int count = 0; 2511 int count = 0;
2512 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { 2512 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
2513 ++count; 2513 ++count;
2514 } 2514 }
2515 QProgressBar bar(count,0 ); 2515 QProgressBar bar(count,0 );
2516 int w = 300; 2516 int w = 300;
2517 if ( QApplication::desktop()->width() < 320 ) 2517 if ( QApplication::desktop()->width() < 320 )
2518 w = 220; 2518 w = 220;
2519 int h = bar.sizeHint().height() ; 2519 int h = bar.sizeHint().height() ;
2520 int dw = QApplication::desktop()->width(); 2520 int dw = QApplication::desktop()->width();
2521 int dh = QApplication::desktop()->height(); 2521 int dh = QApplication::desktop()->height();
2522 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 2522 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
2523 bar.show(); 2523 bar.show();
2524 bar.setCaption (i18n("Collecting birthdays - close to abort!") ); 2524 bar.setCaption (i18n("Collecting birthdays - close to abort!") );
2525 qApp->processEvents(); 2525 qApp->processEvents();
2526 2526
2527 QDate bday; 2527 QDate bday;
2528 QString anni; 2528 QString anni;
2529 QString formattedbday; 2529 QString formattedbday;
2530 2530
2531 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) 2531 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it )
2532 { 2532 {
2533 if ( ! bar.isVisible() ) 2533 if ( ! bar.isVisible() )
2534 return; 2534 return;
2535 bar.setProgress( count++ ); 2535 bar.setProgress( count++ );
2536 qApp->processEvents(); 2536 qApp->processEvents();
2537 bday = (*it).birthday().date(); 2537 bday = (*it).birthday().date();
2538 anni = (*it).custom("KADDRESSBOOK", "X-Anniversary" ); 2538 anni = (*it).custom("KADDRESSBOOK", "X-Anniversary" );
2539 2539
2540 if ( bday.isValid() || !anni.isEmpty()) 2540 if ( bday.isValid() || !anni.isEmpty())
2541 { 2541 {
2542 if (bday.isValid()) 2542 if (bday.isValid())
2543 formattedbday = KGlobal::locale()->formatDate(bday, true, KLocale::ISODate); 2543 formattedbday = KGlobal::locale()->formatDate(bday, true, KLocale::ISODate);
2544 else 2544 else
2545 formattedbday = "NOTVALID"; 2545 formattedbday = "NOTVALID";
2546 if (anni.isEmpty()) 2546 if (anni.isEmpty())
2547 anni = "INVALID"; 2547 anni = "INVALID";
2548 2548
2549 birthdayList.append(formattedbday); 2549 birthdayList.append(formattedbday);
2550 anniversaryList.append(anni); //should be ISODate 2550 anniversaryList.append(anni); //should be ISODate
2551 realNameList.append((*it).realName()); 2551 realNameList.append((*it).realName());
2552 preferredEmailList.append((*it).preferredEmail()); 2552 preferredEmailList.append((*it).preferredEmail());
2553 assembledNameList.append((*it).assembledName()); 2553 assembledNameList.append((*it).assembledName());
2554 uidList.append((*it).uid()); 2554 uidList.append((*it).uid());
2555 2555
2556 //qDebug("found birthday in KA/Pi: %s,%s,%s,%s: %s, %s", (*it).realName().latin1(), (*it).preferredEmail().latin1(), (*it).assembledName().latin1(), (*it).uid().latin1(), formattedbday.latin1(), anni.latin1() ); 2556 //qDebug("found birthday in KA/Pi: %s,%s,%s,%s: %s, %s", (*it).realName().latin1(), (*it).preferredEmail().latin1(), (*it).assembledName().latin1(), (*it).uid().latin1(), formattedbday.latin1(), anni.latin1() );
2557 } 2557 }
2558 } 2558 }
2559 2559
2560 bool res = ExternalAppHandler::instance()->returnBirthdayListFromKAPI(sourceChannel, uid, birthdayList, anniversaryList, realNameList, preferredEmailList, assembledNameList, uidList); 2560 bool res = ExternalAppHandler::instance()->returnBirthdayListFromKAPI(sourceChannel, uid, birthdayList, anniversaryList, realNameList, preferredEmailList, assembledNameList, uidList);
2561 2561
2562} 2562}
2563 2563
2564/* this method will be called through the QCop interface from other apps to show details of a contact. 2564/* this method will be called through the QCop interface from other apps to show details of a contact.
2565 */ 2565 */
2566void KABCore::requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid) 2566void KABCore::requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid)
2567{ 2567{
2568 //qDebug("KABCore::requestForDetails %s %s %s %s %s", sourceChannel.latin1(), sessionuid.latin1(), name.latin1(), email.latin1(), uid.latin1()); 2568 //qDebug("KABCore::requestForDetails %s %s %s %s %s", sourceChannel.latin1(), sessionuid.latin1(), name.latin1(), email.latin1(), uid.latin1());
2569 2569
2570 QString foundUid = QString::null; 2570 QString foundUid = QString::null;
2571 if ( ! uid.isEmpty() ) { 2571 if ( ! uid.isEmpty() ) {
2572 Addressee adrr = mAddressBook->findByUid( uid ); 2572 Addressee adrr = mAddressBook->findByUid( uid );
2573 if ( !adrr.isEmpty() ) { 2573 if ( !adrr.isEmpty() ) {
2574 foundUid = uid; 2574 foundUid = uid;
2575 } 2575 }
2576 if ( email == "sendbacklist" ) { 2576 if ( email == "sendbacklist" ) {
2577 //qDebug("ssssssssssssssssssssssend "); 2577 //qDebug("ssssssssssssssssssssssend ");
2578 QStringList nameList; 2578 QStringList nameList;
2579 QStringList emailList; 2579 QStringList emailList;
2580 QStringList uidList; 2580 QStringList uidList;
2581 nameList.append(adrr.realName()); 2581 nameList.append(adrr.realName());
2582 emailList = adrr.emails(); 2582 emailList = adrr.emails();
2583 uidList.append( adrr.preferredEmail()); 2583 uidList.append( adrr.preferredEmail());
2584 bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI("QPE/Application/ompi", uid, nameList, emailList, uidList); 2584 bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI("QPE/Application/ompi", uid, nameList, emailList, uidList);
2585 return; 2585 return;
2586 } 2586 }
2587 2587
2588 } 2588 }
2589 2589
2590 if ( email == "sendbacklist" ) 2590 if ( email == "sendbacklist" )
2591 return; 2591 return;
2592 if (foundUid.isEmpty()) 2592 if (foundUid.isEmpty())
2593 { 2593 {
2594 //find the uid of the person first 2594 //find the uid of the person first
2595 Addressee::List namelist; 2595 Addressee::List namelist;
2596 Addressee::List emaillist; 2596 Addressee::List emaillist;
2597 2597
2598 if (!name.isEmpty()) 2598 if (!name.isEmpty())
2599 namelist = mAddressBook->findByName( name ); 2599 namelist = mAddressBook->findByName( name );
2600 2600
2601 if (!email.isEmpty()) 2601 if (!email.isEmpty())
2602 emaillist = mAddressBook->findByEmail( email ); 2602 emaillist = mAddressBook->findByEmail( email );
2603 //qDebug("count %d %d ", namelist.count(),emaillist.count() ); 2603 //qDebug("count %d %d ", namelist.count(),emaillist.count() );
2604 //check if we have a match in Namelist and Emaillist 2604 //check if we have a match in Namelist and Emaillist
2605 if ((namelist.count() == 0) && (emaillist.count() > 0)) { 2605 if ((namelist.count() == 0) && (emaillist.count() > 0)) {
2606 foundUid = emaillist[0].uid(); 2606 foundUid = emaillist[0].uid();
2607 } 2607 }
2608 else if ((namelist.count() > 0) && (emaillist.count() == 0)) 2608 else if ((namelist.count() > 0) && (emaillist.count() == 0))
2609 foundUid = namelist[0].uid(); 2609 foundUid = namelist[0].uid();
2610 else 2610 else
2611 { 2611 {
2612 for (int i = 0; i < namelist.count(); i++) 2612 for (int i = 0; i < namelist.count(); i++)
2613 { 2613 {