summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-04-03 05:23:33 (UTC)
committer zautrix <zautrix>2005-04-03 05:23:33 (UTC)
commit4017b5fccc188c74e971c573dbb6154ce877807b (patch) (unidiff)
tree5a16af82fade8b5c3698f5d83a3248565ef8b3ff
parentf6c8249db564c1276d4c7ed5ad88c6fbac361b8d (diff)
downloadkdepimpi-4017b5fccc188c74e971c573dbb6154ce877807b.zip
kdepimpi-4017b5fccc188c74e971c573dbb6154ce877807b.tar.gz
kdepimpi-4017b5fccc188c74e971c573dbb6154ce877807b.tar.bz2
fixes
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/kabcore.cpp9
-rw-r--r--kaddressbook/kabcore.h1
-rw-r--r--kaddressbook/xxportselectdialog.cpp11
-rw-r--r--libkdepim/externalapphandler.cpp4
4 files changed, 15 insertions, 10 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index e34951a..ce5c755 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -2136,812 +2136,815 @@ void KABCore::addActionsManually()
2136#endif 2136#endif
2137 QMenuBar* mb = mMainWindow->menuBar(); 2137 QMenuBar* mb = mMainWindow->menuBar();
2138 2138
2139 //US setup menubar. 2139 //US setup menubar.
2140 //Disable the following block if you do not want to have a menubar. 2140 //Disable the following block if you do not want to have a menubar.
2141 mb->insertItem( i18n("&File"), fileMenu ); 2141 mb->insertItem( i18n("&File"), fileMenu );
2142 mb->insertItem( i18n("&Edit"), editMenu ); 2142 mb->insertItem( i18n("&Edit"), editMenu );
2143 mb->insertItem( i18n("&View"), viewMenu ); 2143 mb->insertItem( i18n("&View"), viewMenu );
2144 mb->insertItem( i18n("&Settings"), settingsMenu ); 2144 mb->insertItem( i18n("&Settings"), settingsMenu );
2145#ifdef DESKTOP_VERSION 2145#ifdef DESKTOP_VERSION
2146 mb->insertItem( i18n("Synchronize"), syncMenu ); 2146 mb->insertItem( i18n("Synchronize"), syncMenu );
2147#else 2147#else
2148 mb->insertItem( i18n("Sync"), syncMenu ); 2148 mb->insertItem( i18n("Sync"), syncMenu );
2149#endif 2149#endif
2150 //mb->insertItem( i18n("&Change"), changeMenu ); 2150 //mb->insertItem( i18n("&Change"), changeMenu );
2151 mb->insertItem( i18n("&Help"), helpMenu ); 2151 mb->insertItem( i18n("&Help"), helpMenu );
2152 mIncSearchWidget = new IncSearchWidget( tb ); 2152 mIncSearchWidget = new IncSearchWidget( tb );
2153 // tb->insertWidget(-1, 0, mIncSearchWidget); 2153 // tb->insertWidget(-1, 0, mIncSearchWidget);
2154#ifndef DESKTOP_VERSION 2154#ifndef DESKTOP_VERSION
2155 } else { 2155 } else {
2156 //US setup toolbar 2156 //US setup toolbar
2157 QPEMenuBar *menuBarTB = new QPEMenuBar( tb ); 2157 QPEMenuBar *menuBarTB = new QPEMenuBar( tb );
2158 QPopupMenu *popupBarTB = new QPopupMenu( this ); 2158 QPopupMenu *popupBarTB = new QPopupMenu( this );
2159 menuBarTB->insertItem( SmallIcon( "z_menu" ) , popupBarTB); 2159 menuBarTB->insertItem( SmallIcon( "z_menu" ) , popupBarTB);
2160 tb->insertWidget(-1, 0, menuBarTB); 2160 tb->insertWidget(-1, 0, menuBarTB);
2161 mIncSearchWidget = new IncSearchWidget( tb ); 2161 mIncSearchWidget = new IncSearchWidget( tb );
2162 tb->enableMoving(false); 2162 tb->enableMoving(false);
2163 popupBarTB->insertItem( i18n("&File"), fileMenu ); 2163 popupBarTB->insertItem( i18n("&File"), fileMenu );
2164 popupBarTB->insertItem( i18n("&Edit"), editMenu ); 2164 popupBarTB->insertItem( i18n("&Edit"), editMenu );
2165 popupBarTB->insertItem( i18n("&View"), viewMenu ); 2165 popupBarTB->insertItem( i18n("&View"), viewMenu );
2166 popupBarTB->insertItem( i18n("&Settings"), settingsMenu ); 2166 popupBarTB->insertItem( i18n("&Settings"), settingsMenu );
2167 popupBarTB->insertItem( i18n("Synchronize"), syncMenu ); 2167 popupBarTB->insertItem( i18n("Synchronize"), syncMenu );
2168 mViewManager->getFilterAction()->plug ( popupBarTB); 2168 mViewManager->getFilterAction()->plug ( popupBarTB);
2169 //popupBarTB->insertItem( i18n("&Change selected"), changeMenu ); 2169 //popupBarTB->insertItem( i18n("&Change selected"), changeMenu );
2170 popupBarTB->insertItem( i18n("&Help"), helpMenu ); 2170 popupBarTB->insertItem( i18n("&Help"), helpMenu );
2171 if (QApplication::desktop()->width() > 320 ) { 2171 if (QApplication::desktop()->width() > 320 ) {
2172 // mViewManager->getFilterAction()->plug ( tb); 2172 // mViewManager->getFilterAction()->plug ( tb);
2173 } 2173 }
2174 } 2174 }
2175#endif 2175#endif
2176 mIncSearchWidget->setSize(); 2176 mIncSearchWidget->setSize();
2177 // mActionQuit->plug ( mMainWindow->toolBar()); 2177 // mActionQuit->plug ( mMainWindow->toolBar());
2178 2178
2179 2179
2180 2180
2181 //US Now connect the actions with the menue entries. 2181 //US Now connect the actions with the menue entries.
2182#ifdef DESKTOP_VERSION 2182#ifdef DESKTOP_VERSION
2183 mActionPrint->plug( fileMenu ); 2183 mActionPrint->plug( fileMenu );
2184 mActionPrintDetails->plug( fileMenu ); 2184 mActionPrintDetails->plug( fileMenu );
2185 fileMenu->insertSeparator(); 2185 fileMenu->insertSeparator();
2186#endif 2186#endif
2187 mActionMail->plug( fileMenu ); 2187 mActionMail->plug( fileMenu );
2188 fileMenu->insertSeparator(); 2188 fileMenu->insertSeparator();
2189 2189
2190 mActionNewContact->plug( editMenu ); 2190 mActionNewContact->plug( editMenu );
2191 mActionNewContact->plug( tb ); 2191 mActionNewContact->plug( tb );
2192 2192
2193 mActionEditAddressee->plug( editMenu ); 2193 mActionEditAddressee->plug( editMenu );
2194 editMenu->insertSeparator(); 2194 editMenu->insertSeparator();
2195 // if ((KGlobal::getDesktopSize() > KGlobal::Small ) || 2195 // if ((KGlobal::getDesktopSize() > KGlobal::Small ) ||
2196 // (!KABPrefs::instance()->mMultipleViewsAtOnce )) 2196 // (!KABPrefs::instance()->mMultipleViewsAtOnce ))
2197 mActionEditAddressee->plug( tb ); 2197 mActionEditAddressee->plug( tb );
2198 2198
2199 // fileMenu->insertSeparator(); 2199 // fileMenu->insertSeparator();
2200 mActionSave->plug( fileMenu ); 2200 mActionSave->plug( fileMenu );
2201 fileMenu->insertItem( "&Import", ImportMenu ); 2201 fileMenu->insertItem( "&Import", ImportMenu );
2202 fileMenu->insertItem( "&Export", ExportMenu ); 2202 fileMenu->insertItem( "&Export", ExportMenu );
2203 editMenu->insertItem( i18n("&Change"), changeMenu ); 2203 editMenu->insertItem( i18n("&Change"), changeMenu );
2204 editMenu->insertSeparator(); 2204 editMenu->insertSeparator();
2205#ifndef DESKTOP_VERSION 2205#ifndef DESKTOP_VERSION
2206 if ( Ir::supported() ) fileMenu->insertItem( i18n("&Beam"), beamMenu ); 2206 if ( Ir::supported() ) fileMenu->insertItem( i18n("&Beam"), beamMenu );
2207#endif 2207#endif
2208#if 0 2208#if 0
2209 // PENDING fix MailVCard 2209 // PENDING fix MailVCard
2210 fileMenu->insertSeparator(); 2210 fileMenu->insertSeparator();
2211 mActionMailVCard->plug( fileMenu ); 2211 mActionMailVCard->plug( fileMenu );
2212#endif 2212#endif
2213#ifndef DESKTOP_VERSION 2213#ifndef DESKTOP_VERSION
2214 if ( Ir::supported() ) mActionBR->plug( beamMenu ); 2214 if ( Ir::supported() ) mActionBR->plug( beamMenu );
2215 if ( Ir::supported() ) mActionBeamVCard->plug( beamMenu ); 2215 if ( Ir::supported() ) mActionBeamVCard->plug( beamMenu );
2216 if ( Ir::supported() ) mActionBeam->plug( beamMenu ); 2216 if ( Ir::supported() ) mActionBeam->plug( beamMenu );
2217#endif 2217#endif
2218 fileMenu->insertSeparator(); 2218 fileMenu->insertSeparator();
2219 mActionQuit->plug( fileMenu ); 2219 mActionQuit->plug( fileMenu );
2220#ifdef _OL_IMPORT_ 2220#ifdef _OL_IMPORT_
2221 mActionImportOL->plug( ImportMenu ); 2221 mActionImportOL->plug( ImportMenu );
2222#endif 2222#endif
2223 // edit menu 2223 // edit menu
2224 mActionUndo->plug( editMenu ); 2224 mActionUndo->plug( editMenu );
2225 mActionRedo->plug( editMenu ); 2225 mActionRedo->plug( editMenu );
2226 editMenu->insertSeparator(); 2226 editMenu->insertSeparator();
2227 mActionCut->plug( editMenu ); 2227 mActionCut->plug( editMenu );
2228 mActionCopy->plug( editMenu ); 2228 mActionCopy->plug( editMenu );
2229 mActionPaste->plug( editMenu ); 2229 mActionPaste->plug( editMenu );
2230 mActionDelete->plug( editMenu ); 2230 mActionDelete->plug( editMenu );
2231 editMenu->insertSeparator(); 2231 editMenu->insertSeparator();
2232 mActionSelectAll->plug( editMenu ); 2232 mActionSelectAll->plug( editMenu );
2233 2233
2234 mActionSetFormattedName->plug( changeMenu ); 2234 mActionSetFormattedName->plug( changeMenu );
2235 mActionRemoveVoice->plug( changeMenu ); 2235 mActionRemoveVoice->plug( changeMenu );
2236 // settingsmings menu 2236 // settingsmings menu
2237//US special menuentry to configure the addressbook resources. On KDE 2237//US special menuentry to configure the addressbook resources. On KDE
2238// you do that through the control center !!! 2238// you do that through the control center !!!
2239 // settingsMenu->insertSeparator(); 2239 // settingsMenu->insertSeparator();
2240 2240
2241 mActionConfigKAddressbook->plug( settingsMenu, 0 ); 2241 mActionConfigKAddressbook->plug( settingsMenu, 0 );
2242 mActionConfigResources->plug( settingsMenu,1 ); 2242 mActionConfigResources->plug( settingsMenu,1 );
2243 settingsMenu->insertSeparator(2); 2243 settingsMenu->insertSeparator(2);
2244 2244
2245 if ( mIsPart ) { 2245 if ( mIsPart ) {
2246 //US not implemented yet 2246 //US not implemented yet
2247 //mActionConfigShortcuts->plug( settingsMenu ); 2247 //mActionConfigShortcuts->plug( settingsMenu );
2248 //mActionConfigureToolbars->plug( settingsMenu ); 2248 //mActionConfigureToolbars->plug( settingsMenu );
2249 2249
2250 } else { 2250 } else {
2251 //US not implemented yet 2251 //US not implemented yet
2252 //mActionKeyBindings->plug( settingsMenu ); 2252 //mActionKeyBindings->plug( settingsMenu );
2253 } 2253 }
2254 2254
2255 mActionEditCategories->plug( settingsMenu ); 2255 mActionEditCategories->plug( settingsMenu );
2256 mActionManageCategories->plug( settingsMenu ); 2256 mActionManageCategories->plug( settingsMenu );
2257 mActionJumpBar->plug( viewMenu,0 ); 2257 mActionJumpBar->plug( viewMenu,0 );
2258 mActionDetails->plug( viewMenu,0 ); 2258 mActionDetails->plug( viewMenu,0 );
2259 //if (!KABPrefs::instance()->mMultipleViewsAtOnce || KGlobal::getDesktopSize() == KGlobal::Desktop ) 2259 //if (!KABPrefs::instance()->mMultipleViewsAtOnce || KGlobal::getDesktopSize() == KGlobal::Desktop )
2260 mActionDetails->plug( tb ); 2260 mActionDetails->plug( tb );
2261 settingsMenu->insertSeparator(); 2261 settingsMenu->insertSeparator();
2262#ifndef DESKTOP_VERSION 2262#ifndef DESKTOP_VERSION
2263 if ( Ir::supported() ) mActionBR->plug(settingsMenu ); 2263 if ( Ir::supported() ) mActionBR->plug(settingsMenu );
2264 settingsMenu->insertSeparator(); 2264 settingsMenu->insertSeparator();
2265#endif 2265#endif
2266 2266
2267 mActionWhoAmI->plug( settingsMenu ); 2267 mActionWhoAmI->plug( settingsMenu );
2268 //mActionEditCategories->plug( changeMenu ); 2268 //mActionEditCategories->plug( changeMenu );
2269 mActionCategories->plug( changeMenu ); 2269 mActionCategories->plug( changeMenu );
2270 //mActionManageCategories->plug( changeMenu ); 2270 //mActionManageCategories->plug( changeMenu );
2271 2271
2272 //mActionCategories->plug( settingsMenu ); 2272 //mActionCategories->plug( settingsMenu );
2273 2273
2274 2274
2275 mActionWN->plug( helpMenu ); 2275 mActionWN->plug( helpMenu );
2276 mActionSyncHowto->plug( helpMenu ); 2276 mActionSyncHowto->plug( helpMenu );
2277 mActionKdeSyncHowto->plug( helpMenu ); 2277 mActionKdeSyncHowto->plug( helpMenu );
2278 mActionMultiSyncHowto->plug( helpMenu ); 2278 mActionMultiSyncHowto->plug( helpMenu );
2279 mActionFaq->plug( helpMenu ); 2279 mActionFaq->plug( helpMenu );
2280 mActionLicence->plug( helpMenu ); 2280 mActionLicence->plug( helpMenu );
2281 mActionAboutKAddressbook->plug( helpMenu ); 2281 mActionAboutKAddressbook->plug( helpMenu );
2282 2282
2283 if (KGlobal::getDesktopSize() > KGlobal::Small ) { 2283 if (KGlobal::getDesktopSize() > KGlobal::Small ) {
2284 2284
2285 mActionSave->plug( tb ); 2285 mActionSave->plug( tb );
2286 mViewManager->getFilterAction()->plug ( tb); 2286 mViewManager->getFilterAction()->plug ( tb);
2287 //LR hide filteraction on started in 480x640 2287 //LR hide filteraction on started in 480x640
2288 if (QApplication::desktop()->width() == 480 ) { 2288 if (QApplication::desktop()->width() == 480 ) {
2289 mViewManager->getFilterAction()->setComboWidth( 0 ); 2289 mViewManager->getFilterAction()->setComboWidth( 0 );
2290 } 2290 }
2291 mActionUndo->plug( tb ); 2291 mActionUndo->plug( tb );
2292 mActionDelete->plug( tb ); 2292 mActionDelete->plug( tb );
2293 mActionRedo->plug( tb ); 2293 mActionRedo->plug( tb );
2294 } else { 2294 } else {
2295 mActionSave->plug( tb ); 2295 mActionSave->plug( tb );
2296 tb->enableMoving(false); 2296 tb->enableMoving(false);
2297 } 2297 }
2298 //mActionQuit->plug ( tb ); 2298 //mActionQuit->plug ( tb );
2299 //tb->insertWidget(-1, 0, mIncSearchWidget, 6); 2299 //tb->insertWidget(-1, 0, mIncSearchWidget, 6);
2300 2300
2301 //US link the searchwidget first to this. 2301 //US link the searchwidget first to this.
2302 // The real linkage to the toolbar happens later. 2302 // The real linkage to the toolbar happens later.
2303//US mIncSearchWidget->reparent(tb, 0, QPoint(50,0), TRUE); 2303//US mIncSearchWidget->reparent(tb, 0, QPoint(50,0), TRUE);
2304//US tb->insertItem( mIncSearchWidget ); 2304//US tb->insertItem( mIncSearchWidget );
2305/*US 2305/*US
2306 mIncSearchWidget = new IncSearchWidget( tb ); 2306 mIncSearchWidget = new IncSearchWidget( tb );
2307 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), 2307 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ),
2308 SLOT( incrementalSearch( const QString& ) ) ); 2308 SLOT( incrementalSearch( const QString& ) ) );
2309 2309
2310 mJumpButtonBar = new JumpButtonBar( this, this ); 2310 mJumpButtonBar = new JumpButtonBar( this, this );
2311 2311
2312//US topLayout->addWidget( mJumpButtonBar ); 2312//US topLayout->addWidget( mJumpButtonBar );
2313 this->layout()->add( mJumpButtonBar ); 2313 this->layout()->add( mJumpButtonBar );
2314*/ 2314*/
2315 2315
2316#endif //KAB_EMBEDDED 2316#endif //KAB_EMBEDDED
2317 2317
2318 mActionExport2phone->plug( ExportMenu ); 2318 mActionExport2phone->plug( ExportMenu );
2319 connect ( syncMenu, SIGNAL( activated ( int ) ), syncManager, SLOT (slotSyncMenu( int ) ) ); 2319 connect ( syncMenu, SIGNAL( activated ( int ) ), syncManager, SLOT (slotSyncMenu( int ) ) );
2320 syncManager->fillSyncMenu(); 2320 syncManager->fillSyncMenu();
2321 2321
2322} 2322}
2323void KABCore::showLicence() 2323void KABCore::showLicence()
2324{ 2324{
2325 KApplication::showLicence(); 2325 KApplication::showLicence();
2326} 2326}
2327 2327
2328void KABCore::manageCategories( ) 2328void KABCore::manageCategories( )
2329{ 2329{
2330 KABCatPrefs* cp = new KABCatPrefs(); 2330 KABCatPrefs* cp = new KABCatPrefs();
2331 cp->show(); 2331 cp->show();
2332 int w =cp->sizeHint().width() ; 2332 int w =cp->sizeHint().width() ;
2333 int h = cp->sizeHint().height() ; 2333 int h = cp->sizeHint().height() ;
2334 int dw = QApplication::desktop()->width(); 2334 int dw = QApplication::desktop()->width();
2335 int dh = QApplication::desktop()->height(); 2335 int dh = QApplication::desktop()->height();
2336 cp->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 2336 cp->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
2337 if ( !cp->exec() ) { 2337 if ( !cp->exec() ) {
2338 delete cp; 2338 delete cp;
2339 return; 2339 return;
2340 } 2340 }
2341 int count = 0; 2341 int count = 0;
2342 int cc = 0; 2342 int cc = 0;
2343 message( i18n("Please wait, processing categories...")); 2343 message( i18n("Please wait, processing categories..."));
2344 if ( cp->addCat() ) { 2344 if ( cp->addCat() ) {
2345 KABC::AddressBook::Iterator it; 2345 KABC::AddressBook::Iterator it;
2346 QStringList catList = KABPrefs::instance()->mCustomCategories; 2346 QStringList catList = KABPrefs::instance()->mCustomCategories;
2347 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { 2347 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
2348 ++cc; 2348 ++cc;
2349 if ( cc %10 == 0) 2349 if ( cc %10 == 0)
2350 message(i18n("Processing contact #%1").arg(cc)); 2350 message(i18n("Processing contact #%1").arg(cc));
2351 QStringList catIncList = (*it).categories(); 2351 QStringList catIncList = (*it).categories();
2352 int i; 2352 int i;
2353 for( i = 0; i< catIncList.count(); ++i ) { 2353 for( i = 0; i< catIncList.count(); ++i ) {
2354 if ( !catList.contains (catIncList[i])) { 2354 if ( !catList.contains (catIncList[i])) {
2355 catList.append( catIncList[i] ); 2355 catList.append( catIncList[i] );
2356 //qDebug("add cat %s ", catIncList[i].latin1()); 2356 //qDebug("add cat %s ", catIncList[i].latin1());
2357 ++count; 2357 ++count;
2358 } 2358 }
2359 } 2359 }
2360 } 2360 }
2361 catList.sort(); 2361 catList.sort();
2362 KABPrefs::instance()->mCustomCategories = catList; 2362 KABPrefs::instance()->mCustomCategories = catList;
2363 KABPrefs::instance()->writeConfig(); 2363 KABPrefs::instance()->writeConfig();
2364 message(QString::number( count )+ i18n(" categories added to list! ")); 2364 message(QString::number( count )+ i18n(" categories added to list! "));
2365 } else { 2365 } else {
2366 QStringList catList = KABPrefs::instance()->mCustomCategories; 2366 QStringList catList = KABPrefs::instance()->mCustomCategories;
2367 QStringList catIncList; 2367 QStringList catIncList;
2368 QStringList newCatList; 2368 QStringList newCatList;
2369 KABC::AddressBook::Iterator it; 2369 KABC::AddressBook::Iterator it;
2370 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { 2370 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
2371 ++cc; 2371 ++cc;
2372 if ( cc %10 == 0) 2372 if ( cc %10 == 0)
2373 message(i18n("Processing contact #%1").arg(cc)); 2373 message(i18n("Processing contact #%1").arg(cc));
2374 QStringList catIncList = (*it).categories(); 2374 QStringList catIncList = (*it).categories();
2375 int i; 2375 int i;
2376 if ( catIncList.count() ) { 2376 if ( catIncList.count() ) {
2377 newCatList.clear(); 2377 newCatList.clear();
2378 for( i = 0; i< catIncList.count(); ++i ) { 2378 for( i = 0; i< catIncList.count(); ++i ) {
2379 if ( catList.contains (catIncList[i])) { 2379 if ( catList.contains (catIncList[i])) {
2380 newCatList.append( catIncList[i] ); 2380 newCatList.append( catIncList[i] );
2381 } 2381 }
2382 } 2382 }
2383 newCatList.sort(); 2383 newCatList.sort();
2384 (*it).setCategories( newCatList ); 2384 (*it).setCategories( newCatList );
2385 mAddressBook->insertAddressee( (*it) ); 2385 mAddressBook->insertAddressee( (*it) );
2386 } 2386 }
2387 } 2387 }
2388 setModified( true ); 2388 setModified( true );
2389 mViewManager->refreshView(); 2389 mViewManager->refreshView();
2390 message( i18n("Removing categories done!")); 2390 message( i18n("Removing categories done!"));
2391 } 2391 }
2392 delete cp; 2392 delete cp;
2393} 2393}
2394void KABCore::removeVoice() 2394void KABCore::removeVoice()
2395{ 2395{
2396 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 ) 2396 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 )
2397 return; 2397 return;
2398 XXPortSelectDialog dlg( this, false, this ); 2398 XXPortSelectDialog dlg( this, false, this );
2399 if ( !dlg.exec() ) 2399 if ( !dlg.exec() )
2400 return; 2400 return;
2401 mAddressBook->setUntagged(); 2401 mAddressBook->setUntagged();
2402 dlg.tagSelected(); 2402 dlg.tagSelected();
2403 message(i18n("Removing voice..."), false ); 2403 message(i18n("Removing voice..."), false );
2404 KABC::AddressBook::Iterator it; 2404 KABC::AddressBook::Iterator it;
2405 for ( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { 2405 for ( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
2406 if ( (*it).tagged() ) { 2406 if ( (*it).tagged() ) {
2407 (*it).removeVoice(); 2407 (*it).removeVoice();
2408 } 2408 }
2409 } 2409 }
2410 message(i18n("Refreshing view...") ); 2410 message(i18n("Refreshing view...") );
2411 qApp->processEvents(); 2411 qApp->processEvents();
2412 mViewManager->refreshView( "" ); 2412 mViewManager->refreshView( "" );
2413 Addressee add; 2413 Addressee add;
2414 mDetails->setAddressee( add ); 2414 mDetails->setAddressee( add );
2415 message(i18n("Remove voice completed!") ); 2415 message(i18n("Remove voice completed!") );
2416 2416
2417 2417
2418 2418
2419} 2419}
2420 2420
2421void KABCore::setFormattedName() 2421void KABCore::setFormattedName()
2422{ 2422{
2423 KABFormatPrefs setpref; 2423 KABFormatPrefs setpref;
2424 if ( !setpref.exec() ) { 2424 if ( !setpref.exec() ) {
2425 return; 2425 return;
2426 } 2426 }
2427 XXPortSelectDialog dlg( this, false, this ); 2427 XXPortSelectDialog dlg( this, false, this );
2428 if ( !dlg.exec() ) 2428 if ( !dlg.exec() )
2429 return; 2429 return;
2430 mAddressBook->setUntagged(); 2430 mAddressBook->setUntagged();
2431 dlg.tagSelected(); 2431 dlg.tagSelected();
2432 int count = 0; 2432 int count = 0;
2433 KABC::AddressBook::Iterator it; 2433 KABC::AddressBook::Iterator it;
2434 for ( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { 2434 for ( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
2435 if ( (*it).tagged() ) { 2435 if ( (*it).tagged() ) {
2436 ++count; 2436 ++count;
2437 if ( count %10 == 0 ) 2437 if ( count %10 == 0 )
2438 message(i18n("Changing contact #%1").arg( count ) ); 2438 message(i18n("Changing contact #%1").arg( count ) );
2439 qApp->processEvents(); 2439 qApp->processEvents();
2440 QString fName; 2440 QString fName;
2441 if ( setpref.simple->isChecked() ) 2441 if ( setpref.simple->isChecked() )
2442 fName = NameEditDialog::formattedName( (*it), NameEditDialog::SimpleName ); 2442 fName = NameEditDialog::formattedName( (*it), NameEditDialog::SimpleName );
2443 else if ( setpref.full->isChecked() ) 2443 else if ( setpref.full->isChecked() )
2444 fName = NameEditDialog::formattedName( (*it), NameEditDialog::FullName ); 2444 fName = NameEditDialog::formattedName( (*it), NameEditDialog::FullName );
2445 else if ( setpref.reverse->isChecked() ) 2445 else if ( setpref.reverse->isChecked() )
2446 fName = NameEditDialog::formattedName( (*it), NameEditDialog::ReverseName ); 2446 fName = NameEditDialog::formattedName( (*it), NameEditDialog::ReverseName );
2447 else 2447 else
2448 fName = (*it).organization(); 2448 fName = (*it).organization();
2449 if ( setpref.setCompany->isChecked() ) 2449 if ( setpref.setCompany->isChecked() )
2450 if ( fName.isEmpty() || fName =="," ) 2450 if ( fName.isEmpty() || fName =="," )
2451 fName = (*it).organization(); 2451 fName = (*it).organization();
2452 (*it).setFormattedName( fName ); 2452 (*it).setFormattedName( fName );
2453 } 2453 }
2454 } 2454 }
2455 message(i18n("Refreshing view...") ); 2455 message(i18n("Refreshing view...") );
2456 qApp->processEvents(); 2456 qApp->processEvents();
2457 mViewManager->refreshView( "" ); 2457 mViewManager->refreshView( "" );
2458 Addressee add; 2458 Addressee add;
2459 mDetails->setAddressee( add ); 2459 mDetails->setAddressee( add );
2460 message(i18n("Setting formatted name completed!") ); 2460 message(i18n("Setting formatted name completed!") );
2461} 2461}
2462 2462
2463void KABCore::clipboardDataChanged() 2463void KABCore::clipboardDataChanged()
2464{ 2464{
2465 2465
2466 if ( mReadWrite ) 2466 if ( mReadWrite )
2467 mActionPaste->setEnabled( !QApplication::clipboard()->text().isEmpty() ); 2467 mActionPaste->setEnabled( !QApplication::clipboard()->text().isEmpty() );
2468 2468
2469} 2469}
2470 2470
2471void KABCore::updateActionMenu() 2471void KABCore::updateActionMenu()
2472{ 2472{
2473 UndoStack *undo = UndoStack::instance(); 2473 UndoStack *undo = UndoStack::instance();
2474 RedoStack *redo = RedoStack::instance(); 2474 RedoStack *redo = RedoStack::instance();
2475 2475
2476 if ( undo->isEmpty() ) 2476 if ( undo->isEmpty() )
2477 mActionUndo->setText( i18n( "Undo" ) ); 2477 mActionUndo->setText( i18n( "Undo" ) );
2478 else 2478 else
2479 mActionUndo->setText( i18n( "Undo %1" ).arg( undo->top()->name() ) ); 2479 mActionUndo->setText( i18n( "Undo %1" ).arg( undo->top()->name() ) );
2480 2480
2481 mActionUndo->setEnabled( !undo->isEmpty() ); 2481 mActionUndo->setEnabled( !undo->isEmpty() );
2482 2482
2483 if ( !redo->top() ) 2483 if ( !redo->top() )
2484 mActionRedo->setText( i18n( "Redo" ) ); 2484 mActionRedo->setText( i18n( "Redo" ) );
2485 else 2485 else
2486 mActionRedo->setText( i18n( "Redo %1" ).arg( redo->top()->name() ) ); 2486 mActionRedo->setText( i18n( "Redo %1" ).arg( redo->top()->name() ) );
2487 2487
2488 mActionRedo->setEnabled( !redo->isEmpty() ); 2488 mActionRedo->setEnabled( !redo->isEmpty() );
2489} 2489}
2490 2490
2491void KABCore::configureKeyBindings() 2491void KABCore::configureKeyBindings()
2492{ 2492{
2493#ifndef KAB_EMBEDDED 2493#ifndef KAB_EMBEDDED
2494 KKeyDialog::configure( actionCollection(), true ); 2494 KKeyDialog::configure( actionCollection(), true );
2495#else //KAB_EMBEDDED 2495#else //KAB_EMBEDDED
2496 qDebug("KABCore::configureKeyBindings() not implemented"); 2496 qDebug("KABCore::configureKeyBindings() not implemented");
2497#endif //KAB_EMBEDDED 2497#endif //KAB_EMBEDDED
2498} 2498}
2499 2499
2500#ifdef KAB_EMBEDDED 2500#ifdef KAB_EMBEDDED
2501void KABCore::configureResources() 2501void KABCore::configureResources()
2502{ 2502{
2503 KRES::KCMKResources dlg( this, "" , 0 ); 2503 KRES::KCMKResources dlg( this, "" , 0 );
2504 2504
2505 if ( !dlg.exec() ) 2505 if ( !dlg.exec() )
2506 return; 2506 return;
2507 KMessageBox::information( this, i18n("Please restart to get the \nchanged resources (re)loaded!\n") ); 2507 KMessageBox::information( this, i18n("Please restart to get the \nchanged resources (re)loaded!\n") );
2508} 2508}
2509#endif //KAB_EMBEDDED 2509#endif //KAB_EMBEDDED
2510 2510
2511 2511
2512/* this method will be called through the QCop interface from Ko/Pi to select addresses 2512/* this method will be called through the QCop interface from Ko/Pi to select addresses
2513 * for the attendees list of an event. 2513 * for the attendees list of an event.
2514 */ 2514 */
2515void KABCore::requestForNameEmailUidList(const QString& sourceChannel, const QString& uid) 2515void KABCore::requestForNameEmailUidList(const QString& sourceChannel, const QString& uid)
2516{ 2516{
2517 2517
2518 bool ok = false; 2518 bool ok = false;
2519 mEmailSourceChannel = sourceChannel; 2519 mEmailSourceChannel = sourceChannel;
2520 mEmailSourceUID = uid;
2521 callContactdialog();
2522#if 0
2520 int wid = uid.toInt( &ok ); 2523 int wid = uid.toInt( &ok );
2521 qDebug("UID %s ", uid.latin1()); 2524 qDebug("UID %s ", uid.latin1());
2522 if ( ok ) { 2525 if ( ok ) {
2523 if ( wid != QApplication::desktop()->width() ) { 2526 if ( wid != QApplication::desktop()->width() ) {
2524 qDebug("KA/Pi: Request from different desktop geometry. Resizing ..."); 2527 qDebug("KA/Pi: Request from different desktop geometry. Resizing ...");
2525 message( i18n("Resizing, please wait...") ); 2528 message( i18n("Resizing, please wait...") );
2526 mMainWindow->showMinimized(); 2529 mMainWindow->showMinimized();
2527 /* 2530 /*
2528 { 2531 {
2529 QCopEnvelope e("QPE/Application/kapi", "callContactdialog()"); 2532 QCopEnvelope e("QPE/Application/kapi", "callContactdialog()");
2530 } 2533 }
2531 */ 2534 */
2532 QTimer::singleShot( 1,this, SLOT ( resizeAndCallContactdialog() ) ); 2535 QTimer::singleShot( 1,this, SLOT ( resizeAndCallContactdialog() ) );
2533 return; 2536 return;
2534 } 2537 }
2535 2538
2536 } else { 2539 } else {
2537 qDebug("KABCore::requestForNameEmailUidList:: Got invalid uid "); 2540 qDebug("KABCore::requestForNameEmailUidList:: Got invalid uid ");
2538 } 2541 }
2539 callContactdialog(); 2542 callContactdialog();
2540 //QCopEnvelope e("QPE/Application/kapi", "callContactdialog()"); 2543 //QCopEnvelope e("QPE/Application/kapi", "callContactdialog()");
2541 2544#endif
2542} 2545}
2543void KABCore::resizeAndCallContactdialog() 2546void KABCore::resizeAndCallContactdialog()
2544{ 2547{
2545 updateMainWindow(); 2548 updateMainWindow();
2546 QTimer::singleShot( 100,this, SLOT ( callContactdialog() ) ); 2549 QTimer::singleShot( 100,this, SLOT ( callContactdialog() ) );
2547} 2550}
2548 2551
2549void KABCore::callContactdialog() 2552void KABCore::callContactdialog()
2550{ 2553{
2551 QStringList nameList; 2554 QStringList nameList;
2552 QStringList emailList; 2555 QStringList emailList;
2553 QStringList uidList; 2556 QStringList uidList;
2554 qDebug("WIDTH %d ", QApplication::desktop()->width() ); 2557 qDebug(" KABCore::callContactdialog:DESKTOP WIDTH %d ", QApplication::desktop()->width() );
2555 KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this); 2558 KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this);
2556 uint i=0; 2559 uint i=0;
2557 for (i=0; i < list.count(); i++) 2560 for (i=0; i < list.count(); i++)
2558 { 2561 {
2559 nameList.append(list[i].realName()); 2562 nameList.append(list[i].realName());
2560 emailList.append(list[i].preferredEmail()); 2563 emailList.append(list[i].preferredEmail());
2561 uidList.append(list[i].uid()); 2564 uidList.append(list[i].uid());
2562 } 2565 }
2563 QString uid = "unnamed"; 2566 QString uid = mEmailSourceUID;
2564 //qDebug("%s %s ", sourceChannel.latin1(), uid.latin1()); 2567 //qDebug("%s %s ", sourceChannel.latin1(), uid.latin1());
2565 bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI(mEmailSourceChannel, uid, nameList, emailList, uidList); 2568 bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI(mEmailSourceChannel, uid, nameList, emailList, uidList);
2566 2569
2567} 2570}
2568/* this method will be called through the QCop interface from Ko/Pi to select birthdays 2571/* this method will be called through the QCop interface from Ko/Pi to select birthdays
2569 * to put them into the calendar. 2572 * to put them into the calendar.
2570 */ 2573 */
2571void KABCore::requestForBirthdayList(const QString& sourceChannel, const QString& uid) 2574void KABCore::requestForBirthdayList(const QString& sourceChannel, const QString& uid)
2572{ 2575{
2573 // qDebug("KABCore::requestForBirthdayList"); 2576 // qDebug("KABCore::requestForBirthdayList");
2574 QStringList birthdayList; 2577 QStringList birthdayList;
2575 QStringList anniversaryList; 2578 QStringList anniversaryList;
2576 QStringList realNameList; 2579 QStringList realNameList;
2577 QStringList preferredEmailList; 2580 QStringList preferredEmailList;
2578 QStringList assembledNameList; 2581 QStringList assembledNameList;
2579 QStringList uidList; 2582 QStringList uidList;
2580 2583
2581 KABC::AddressBook::Iterator it; 2584 KABC::AddressBook::Iterator it;
2582 2585
2583 int count = 0; 2586 int count = 0;
2584 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { 2587 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
2585 ++count; 2588 ++count;
2586 } 2589 }
2587 QProgressBar bar(count,0 ); 2590 QProgressBar bar(count,0 );
2588 int w = 300; 2591 int w = 300;
2589 if ( QApplication::desktop()->width() < 320 ) 2592 if ( QApplication::desktop()->width() < 320 )
2590 w = 220; 2593 w = 220;
2591 int h = bar.sizeHint().height() ; 2594 int h = bar.sizeHint().height() ;
2592 int dw = QApplication::desktop()->width(); 2595 int dw = QApplication::desktop()->width();
2593 int dh = QApplication::desktop()->height(); 2596 int dh = QApplication::desktop()->height();
2594 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 2597 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
2595 bar.show(); 2598 bar.show();
2596 bar.setCaption (i18n("Collecting birthdays - close to abort!") ); 2599 bar.setCaption (i18n("Collecting birthdays - close to abort!") );
2597 qApp->processEvents(); 2600 qApp->processEvents();
2598 2601
2599 QDate bday; 2602 QDate bday;
2600 QString anni; 2603 QString anni;
2601 QString formattedbday; 2604 QString formattedbday;
2602 2605
2603 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) 2606 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it )
2604 { 2607 {
2605 if ( ! bar.isVisible() ) 2608 if ( ! bar.isVisible() )
2606 return; 2609 return;
2607 bar.setProgress( count++ ); 2610 bar.setProgress( count++ );
2608 qApp->processEvents(); 2611 qApp->processEvents();
2609 bday = (*it).birthday().date(); 2612 bday = (*it).birthday().date();
2610 anni = (*it).custom("KADDRESSBOOK", "X-Anniversary" ); 2613 anni = (*it).custom("KADDRESSBOOK", "X-Anniversary" );
2611 2614
2612 if ( bday.isValid() || !anni.isEmpty()) 2615 if ( bday.isValid() || !anni.isEmpty())
2613 { 2616 {
2614 if (bday.isValid()) 2617 if (bday.isValid())
2615 formattedbday = KGlobal::locale()->formatDate(bday, true, KLocale::ISODate); 2618 formattedbday = KGlobal::locale()->formatDate(bday, true, KLocale::ISODate);
2616 else 2619 else
2617 formattedbday = "NOTVALID"; 2620 formattedbday = "NOTVALID";
2618 if (anni.isEmpty()) 2621 if (anni.isEmpty())
2619 anni = "INVALID"; 2622 anni = "INVALID";
2620 2623
2621 birthdayList.append(formattedbday); 2624 birthdayList.append(formattedbday);
2622 anniversaryList.append(anni); //should be ISODate 2625 anniversaryList.append(anni); //should be ISODate
2623 realNameList.append((*it).realName()); 2626 realNameList.append((*it).realName());
2624 preferredEmailList.append((*it).preferredEmail()); 2627 preferredEmailList.append((*it).preferredEmail());
2625 assembledNameList.append((*it).assembledName()); 2628 assembledNameList.append((*it).assembledName());
2626 uidList.append((*it).uid()); 2629 uidList.append((*it).uid());
2627 2630
2628 //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() ); 2631 //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() );
2629 } 2632 }
2630 } 2633 }
2631 2634
2632 bool res = ExternalAppHandler::instance()->returnBirthdayListFromKAPI(sourceChannel, uid, birthdayList, anniversaryList, realNameList, preferredEmailList, assembledNameList, uidList); 2635 bool res = ExternalAppHandler::instance()->returnBirthdayListFromKAPI(sourceChannel, uid, birthdayList, anniversaryList, realNameList, preferredEmailList, assembledNameList, uidList);
2633 2636
2634} 2637}
2635 2638
2636/* this method will be called through the QCop interface from other apps to show details of a contact. 2639/* this method will be called through the QCop interface from other apps to show details of a contact.
2637 */ 2640 */
2638void KABCore::requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid) 2641void KABCore::requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid)
2639{ 2642{
2640 //qDebug("KABCore::requestForDetails %s %s %s %s %s", sourceChannel.latin1(), sessionuid.latin1(), name.latin1(), email.latin1(), uid.latin1()); 2643 //qDebug("KABCore::requestForDetails %s %s %s %s %s", sourceChannel.latin1(), sessionuid.latin1(), name.latin1(), email.latin1(), uid.latin1());
2641 2644
2642 QString foundUid = QString::null; 2645 QString foundUid = QString::null;
2643 if ( ! uid.isEmpty() ) { 2646 if ( ! uid.isEmpty() ) {
2644 Addressee adrr = mAddressBook->findByUid( uid ); 2647 Addressee adrr = mAddressBook->findByUid( uid );
2645 if ( !adrr.isEmpty() ) { 2648 if ( !adrr.isEmpty() ) {
2646 foundUid = uid; 2649 foundUid = uid;
2647 } 2650 }
2648 if ( email == "sendbacklist" ) { 2651 if ( email == "sendbacklist" ) {
2649 //qDebug("ssssssssssssssssssssssend "); 2652 //qDebug("ssssssssssssssssssssssend ");
2650 QStringList nameList; 2653 QStringList nameList;
2651 QStringList emailList; 2654 QStringList emailList;
2652 QStringList uidList; 2655 QStringList uidList;
2653 nameList.append(adrr.realName()); 2656 nameList.append(adrr.realName());
2654 emailList = adrr.emails(); 2657 emailList = adrr.emails();
2655 uidList.append( adrr.preferredEmail()); 2658 uidList.append( adrr.preferredEmail());
2656 bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI("QPE/Application/ompi", uid, nameList, emailList, uidList); 2659 bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI("QPE/Application/ompi", uid, nameList, emailList, uidList);
2657 return; 2660 return;
2658 } 2661 }
2659 2662
2660 } 2663 }
2661 2664
2662 if ( email == "sendbacklist" ) 2665 if ( email == "sendbacklist" )
2663 return; 2666 return;
2664 if (foundUid.isEmpty()) 2667 if (foundUid.isEmpty())
2665 { 2668 {
2666 //find the uid of the person first 2669 //find the uid of the person first
2667 Addressee::List namelist; 2670 Addressee::List namelist;
2668 Addressee::List emaillist; 2671 Addressee::List emaillist;
2669 2672
2670 if (!name.isEmpty()) 2673 if (!name.isEmpty())
2671 namelist = mAddressBook->findByName( name ); 2674 namelist = mAddressBook->findByName( name );
2672 2675
2673 if (!email.isEmpty()) 2676 if (!email.isEmpty())
2674 emaillist = mAddressBook->findByEmail( email ); 2677 emaillist = mAddressBook->findByEmail( email );
2675 //qDebug("count %d %d ", namelist.count(),emaillist.count() ); 2678 //qDebug("count %d %d ", namelist.count(),emaillist.count() );
2676 //check if we have a match in Namelist and Emaillist 2679 //check if we have a match in Namelist and Emaillist
2677 if ((namelist.count() == 0) && (emaillist.count() > 0)) { 2680 if ((namelist.count() == 0) && (emaillist.count() > 0)) {
2678 foundUid = emaillist[0].uid(); 2681 foundUid = emaillist[0].uid();
2679 } 2682 }
2680 else if ((namelist.count() > 0) && (emaillist.count() == 0)) 2683 else if ((namelist.count() > 0) && (emaillist.count() == 0))
2681 foundUid = namelist[0].uid(); 2684 foundUid = namelist[0].uid();
2682 else 2685 else
2683 { 2686 {
2684 for (int i = 0; i < namelist.count(); i++) 2687 for (int i = 0; i < namelist.count(); i++)
2685 { 2688 {
2686 for (int j = 0; j < emaillist.count(); j++) 2689 for (int j = 0; j < emaillist.count(); j++)
2687 { 2690 {
2688 if (namelist[i] == emaillist[j]) 2691 if (namelist[i] == emaillist[j])
2689 { 2692 {
2690 foundUid = namelist[i].uid(); 2693 foundUid = namelist[i].uid();
2691 } 2694 }
2692 } 2695 }
2693 } 2696 }
2694 } 2697 }
2695 } 2698 }
2696 else 2699 else
2697 { 2700 {
2698 foundUid = uid; 2701 foundUid = uid;
2699 } 2702 }
2700 2703
2701 if (!foundUid.isEmpty()) 2704 if (!foundUid.isEmpty())
2702 { 2705 {
2703 2706
2704 // raise Ka/Pi if it is in the background 2707 // raise Ka/Pi if it is in the background
2705#ifndef DESKTOP_VERSION 2708#ifndef DESKTOP_VERSION
2706#ifndef KORG_NODCOP 2709#ifndef KORG_NODCOP
2707 //QCopEnvelope e("QPE/Application/kapi", "raise()"); 2710 //QCopEnvelope e("QPE/Application/kapi", "raise()");
2708#endif 2711#endif
2709#endif 2712#endif
2710 2713
2711 mMainWindow->showMaximized(); 2714 mMainWindow->showMaximized();
2712 mMainWindow-> raise(); 2715 mMainWindow-> raise();
2713 2716
2714 mViewManager->setSelected( "", false); 2717 mViewManager->setSelected( "", false);
2715 mViewManager->refreshView( "" ); 2718 mViewManager->refreshView( "" );
2716 mViewManager->setSelected( foundUid, true ); 2719 mViewManager->setSelected( foundUid, true );
2717 mViewManager->refreshView( foundUid ); 2720 mViewManager->refreshView( foundUid );
2718 2721
2719 if ( !mMultipleViewsAtOnce ) 2722 if ( !mMultipleViewsAtOnce )
2720 { 2723 {
2721 setDetailsVisible( true ); 2724 setDetailsVisible( true );
2722 mActionDetails->setChecked(true); 2725 mActionDetails->setChecked(true);
2723 } 2726 }
2724 } 2727 }
2725} 2728}
2726 2729
2727void KABCore::whatsnew() 2730void KABCore::whatsnew()
2728{ 2731{
2729 KApplication::showFile( "KDE-Pim/Pi Version Info", "kdepim/WhatsNew.txt" ); 2732 KApplication::showFile( "KDE-Pim/Pi Version Info", "kdepim/WhatsNew.txt" );
2730} 2733}
2731void KABCore::synchowto() 2734void KABCore::synchowto()
2732{ 2735{
2733 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/SyncHowto.txt" ); 2736 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/SyncHowto.txt" );
2734} 2737}
2735void KABCore::kdesynchowto() 2738void KABCore::kdesynchowto()
2736{ 2739{
2737 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/Zaurus-KDE_syncHowTo.txt" ); 2740 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/Zaurus-KDE_syncHowTo.txt" );
2738} 2741}
2739void KABCore::multisynchowto() 2742void KABCore::multisynchowto()
2740{ 2743{
2741 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/MultiSyncHowTo.txt" ); 2744 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/MultiSyncHowTo.txt" );
2742} 2745}
2743void KABCore::faq() 2746void KABCore::faq()
2744{ 2747{
2745 KApplication::showFile( "KA/Pi FAQ", "kdepim/kaddressbook/kapiFAQ.txt" ); 2748 KApplication::showFile( "KA/Pi FAQ", "kdepim/kaddressbook/kapiFAQ.txt" );
2746} 2749}
2747 2750
2748#include <libkcal/syncdefines.h> 2751#include <libkcal/syncdefines.h>
2749 2752
2750KABC::Addressee KABCore::getLastSyncAddressee() 2753KABC::Addressee KABCore::getLastSyncAddressee()
2751{ 2754{
2752 Addressee lse; 2755 Addressee lse;
2753 QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice(); 2756 QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice();
2754 2757
2755 //qDebug("CurrentSyncDevice %s ",mCurrentSyncDevice .latin1() ); 2758 //qDebug("CurrentSyncDevice %s ",mCurrentSyncDevice .latin1() );
2756 lse = mAddressBook->findByUid( "last-syncAddressee-"+mCurrentSyncDevice ); 2759 lse = mAddressBook->findByUid( "last-syncAddressee-"+mCurrentSyncDevice );
2757 if (lse.isEmpty()) { 2760 if (lse.isEmpty()) {
2758 qDebug("KA: Creating new last-syncAddressee "); 2761 qDebug("KA: Creating new last-syncAddressee ");
2759 lse.setUid( "last-syncAddressee-"+mCurrentSyncDevice ); 2762 lse.setUid( "last-syncAddressee-"+mCurrentSyncDevice );
2760 QString sum = ""; 2763 QString sum = "";
2761 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) 2764 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL )
2762 sum = "E: "; 2765 sum = "E: ";
2763 lse.setFamilyName("!"+sum+mCurrentSyncDevice + i18n(" - sync event")); 2766 lse.setFamilyName("!"+sum+mCurrentSyncDevice + i18n(" - sync event"));
2764 lse.setRevision( mLastAddressbookSync ); 2767 lse.setRevision( mLastAddressbookSync );
2765 lse.setCategories( i18n("SyncEvent") ); 2768 lse.setCategories( i18n("SyncEvent") );
2766 mAddressBook->insertAddressee( lse ); 2769 mAddressBook->insertAddressee( lse );
2767 } 2770 }
2768 return lse; 2771 return lse;
2769} 2772}
2770int KABCore::takeAddressee( KABC::Addressee* local, KABC::Addressee* remote, int mode , bool full ) 2773int KABCore::takeAddressee( KABC::Addressee* local, KABC::Addressee* remote, int mode , bool full )
2771{ 2774{
2772 2775
2773 //void setZaurusId(int id); 2776 //void setZaurusId(int id);
2774 // int zaurusId() const; 2777 // int zaurusId() const;
2775 // void setZaurusUid(int id); 2778 // void setZaurusUid(int id);
2776 // int zaurusUid() const; 2779 // int zaurusUid() const;
2777 // void setZaurusStat(int id); 2780 // void setZaurusStat(int id);
2778 // int zaurusStat() const; 2781 // int zaurusStat() const;
2779 // 0 equal 2782 // 0 equal
2780 // 1 take local 2783 // 1 take local
2781 // 2 take remote 2784 // 2 take remote
2782 // 3 cancel 2785 // 3 cancel
2783 QDateTime lastSync = mLastAddressbookSync; 2786 QDateTime lastSync = mLastAddressbookSync;
2784 QDateTime localMod = local->revision(); 2787 QDateTime localMod = local->revision();
2785 QDateTime remoteMod = remote->revision(); 2788 QDateTime remoteMod = remote->revision();
2786 2789
2787 QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice(); 2790 QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice();
2788 2791
2789 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { 2792 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
2790 bool remCh, locCh; 2793 bool remCh, locCh;
2791 remCh = ( remote->getCsum(mCurrentSyncDevice) != local->getCsum(mCurrentSyncDevice) ); 2794 remCh = ( remote->getCsum(mCurrentSyncDevice) != local->getCsum(mCurrentSyncDevice) );
2792 //if ( remCh ) 2795 //if ( remCh )
2793 // qDebug("loc %s rem %s", local->getCsum(mCurrentSyncDevice).latin1(), remote->getCsum(mCurrentSyncDevice).latin1() ); 2796 // qDebug("loc %s rem %s", local->getCsum(mCurrentSyncDevice).latin1(), remote->getCsum(mCurrentSyncDevice).latin1() );
2794 locCh = ( localMod > mLastAddressbookSync ); 2797 locCh = ( localMod > mLastAddressbookSync );
2795 //qDebug("cahnged rem %d loc %d",remCh, locCh ); 2798 //qDebug("cahnged rem %d loc %d",remCh, locCh );
2796 if ( !remCh && ! locCh ) { 2799 if ( !remCh && ! locCh ) {
2797 //qDebug("both not changed "); 2800 //qDebug("both not changed ");
2798 lastSync = localMod.addDays(1); 2801 lastSync = localMod.addDays(1);
2799 if ( mode <= SYNC_PREF_ASK ) 2802 if ( mode <= SYNC_PREF_ASK )
2800 return 0; 2803 return 0;
2801 } else { 2804 } else {
2802 if ( locCh ) { 2805 if ( locCh ) {
2803 //qDebug("loc changed %s %s", localMod.toString().latin1(), mLastAddressbookSync.toString().latin1()); 2806 //qDebug("loc changed %s %s", localMod.toString().latin1(), mLastAddressbookSync.toString().latin1());
2804 lastSync = localMod.addDays( -1 ); 2807 lastSync = localMod.addDays( -1 );
2805 if ( !remCh ) 2808 if ( !remCh )
2806 remoteMod =( lastSync.addDays( -1 ) ); 2809 remoteMod =( lastSync.addDays( -1 ) );
2807 } else { 2810 } else {
2808 //qDebug(" not loc changed "); 2811 //qDebug(" not loc changed ");
2809 lastSync = localMod.addDays( 1 ); 2812 lastSync = localMod.addDays( 1 );
2810 if ( remCh ) { 2813 if ( remCh ) {
2811 //qDebug("rem changed "); 2814 //qDebug("rem changed ");
2812 remoteMod =( lastSync.addDays( 1 ) ); 2815 remoteMod =( lastSync.addDays( 1 ) );
2813 } 2816 }
2814 2817
2815 } 2818 }
2816 } 2819 }
2817 full = true; 2820 full = true;
2818 if ( mode < SYNC_PREF_ASK ) 2821 if ( mode < SYNC_PREF_ASK )
2819 mode = SYNC_PREF_ASK; 2822 mode = SYNC_PREF_ASK;
2820 } else { 2823 } else {
2821 if ( localMod == remoteMod ) 2824 if ( localMod == remoteMod )
2822 return 0; 2825 return 0;
2823 2826
2824 } 2827 }
2825 //qDebug("%s %s --- %d %d", localMod.toString().latin1() , remoteMod.toString().latin1(), localMod.time().msec(), remoteMod.time().msec()); 2828 //qDebug("%s %s --- %d %d", localMod.toString().latin1() , remoteMod.toString().latin1(), localMod.time().msec(), remoteMod.time().msec());
2826 //qDebug("lastsync %s ", lastSync.toString().latin1() ); 2829 //qDebug("lastsync %s ", lastSync.toString().latin1() );
2827 //full = true; //debug only 2830 //full = true; //debug only
2828 if ( full ) { 2831 if ( full ) {
2829 bool equ = ( (*local) == (*remote) ); 2832 bool equ = ( (*local) == (*remote) );
2830 if ( equ ) { 2833 if ( equ ) {
2831 //qDebug("equal "); 2834 //qDebug("equal ");
2832 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { 2835 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
2833 local->setCsum( mCurrentSyncDevice, remote->getCsum(mCurrentSyncDevice) ); 2836 local->setCsum( mCurrentSyncDevice, remote->getCsum(mCurrentSyncDevice) );
2834 } 2837 }
2835 if ( mode < SYNC_PREF_FORCE_LOCAL ) 2838 if ( mode < SYNC_PREF_FORCE_LOCAL )
2836 return 0; 2839 return 0;
2837 2840
2838 }//else //debug only 2841 }//else //debug only
2839 //qDebug("not equal %s %s ", local->summary().latin1(), remote->summary().latin1()); 2842 //qDebug("not equal %s %s ", local->summary().latin1(), remote->summary().latin1());
2840 } 2843 }
2841 int result; 2844 int result;
2842 bool localIsNew; 2845 bool localIsNew;
2843 //qDebug("%s -- %s mLastCalendarSync %s lastsync %s --- local %s remote %s ",local->summary().latin1(), remote->summary().latin1(),mLastCalendarSync.toString().latin1() ,lastSync.toString().latin1() , local->lastModified().toString().latin1() , remote->lastModified().toString().latin1() ); 2846 //qDebug("%s -- %s mLastCalendarSync %s lastsync %s --- local %s remote %s ",local->summary().latin1(), remote->summary().latin1(),mLastCalendarSync.toString().latin1() ,lastSync.toString().latin1() , local->lastModified().toString().latin1() , remote->lastModified().toString().latin1() );
2844 2847
2845 if ( full && mode < SYNC_PREF_NEWEST ) 2848 if ( full && mode < SYNC_PREF_NEWEST )
2846 mode = SYNC_PREF_ASK; 2849 mode = SYNC_PREF_ASK;
2847 2850
2848 switch( mode ) { 2851 switch( mode ) {
2849 case SYNC_PREF_LOCAL: 2852 case SYNC_PREF_LOCAL:
2850 if ( lastSync > remoteMod ) 2853 if ( lastSync > remoteMod )
2851 return 1; 2854 return 1;
2852 if ( lastSync > localMod ) 2855 if ( lastSync > localMod )
2853 return 2; 2856 return 2;
2854 return 1; 2857 return 1;
2855 break; 2858 break;
2856 case SYNC_PREF_REMOTE: 2859 case SYNC_PREF_REMOTE:
2857 if ( lastSync > remoteMod ) 2860 if ( lastSync > remoteMod )
2858 return 1; 2861 return 1;
2859 if ( lastSync > localMod ) 2862 if ( lastSync > localMod )
2860 return 2; 2863 return 2;
2861 return 2; 2864 return 2;
2862 break; 2865 break;
2863 case SYNC_PREF_NEWEST: 2866 case SYNC_PREF_NEWEST:
2864 if ( localMod > remoteMod ) 2867 if ( localMod > remoteMod )
2865 return 1; 2868 return 1;
2866 else 2869 else
2867 return 2; 2870 return 2;
2868 break; 2871 break;
2869 case SYNC_PREF_ASK: 2872 case SYNC_PREF_ASK:
2870 //qDebug("lsy %s --- lo %s --- re %s ", lastSync.toString().latin1(), localMod.toString().latin1(), remoteMod.toString().latin1() ); 2873 //qDebug("lsy %s --- lo %s --- re %s ", lastSync.toString().latin1(), localMod.toString().latin1(), remoteMod.toString().latin1() );
2871 if ( lastSync > remoteMod ) 2874 if ( lastSync > remoteMod )
2872 return 1; 2875 return 1;
2873 if ( lastSync > localMod ) { 2876 if ( lastSync > localMod ) {
2874 return 2; 2877 return 2;
2875 } 2878 }
2876 localIsNew = localMod >= remoteMod; 2879 localIsNew = localMod >= remoteMod;
2877 //qDebug("conflict! ************************************** "); 2880 //qDebug("conflict! ************************************** ");
2878 { 2881 {
2879 KABC::AddresseeChooser acd ( *local,*remote, localIsNew , this ); 2882 KABC::AddresseeChooser acd ( *local,*remote, localIsNew , this );
2880 result = acd.executeD(localIsNew); 2883 result = acd.executeD(localIsNew);
2881 return result; 2884 return result;
2882 } 2885 }
2883 break; 2886 break;
2884 case SYNC_PREF_FORCE_LOCAL: 2887 case SYNC_PREF_FORCE_LOCAL:
2885 return 1; 2888 return 1;
2886 break; 2889 break;
2887 case SYNC_PREF_FORCE_REMOTE: 2890 case SYNC_PREF_FORCE_REMOTE:
2888 return 2; 2891 return 2;
2889 break; 2892 break;
2890 2893
2891 default: 2894 default:
2892 // SYNC_PREF_TAKE_BOTH not implemented 2895 // SYNC_PREF_TAKE_BOTH not implemented
2893 break; 2896 break;
2894 } 2897 }
2895 return 0; 2898 return 0;
2896} 2899}
2897 2900
2898 2901
2899bool KABCore::synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBook* remote,int mode) 2902bool KABCore::synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBook* remote,int mode)
2900{ 2903{
2901 bool syncOK = true; 2904 bool syncOK = true;
2902 int addedAddressee = 0; 2905 int addedAddressee = 0;
2903 int addedAddresseeR = 0; 2906 int addedAddresseeR = 0;
2904 int deletedAddresseeR = 0; 2907 int deletedAddresseeR = 0;
2905 int deletedAddresseeL = 0; 2908 int deletedAddresseeL = 0;
2906 int changedLocal = 0; 2909 int changedLocal = 0;
2907 int changedRemote = 0; 2910 int changedRemote = 0;
2908 int filteredIN = 0; 2911 int filteredIN = 0;
2909 int filteredOUT = 0; 2912 int filteredOUT = 0;
2910 2913
2911 QString mCurrentSyncName = syncManager->getCurrentSyncName(); 2914 QString mCurrentSyncName = syncManager->getCurrentSyncName();
2912 QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice(); 2915 QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice();
2913 2916
2914 //QPtrList<Addressee> el = local->rawAddressees(); 2917 //QPtrList<Addressee> el = local->rawAddressees();
2915 Addressee addresseeR; 2918 Addressee addresseeR;
2916 QString uid; 2919 QString uid;
2917 int take; 2920 int take;
2918 Addressee addresseeL; 2921 Addressee addresseeL;
2919 Addressee addresseeRSync; 2922 Addressee addresseeRSync;
2920 Addressee addresseeLSync; 2923 Addressee addresseeLSync;
2921 // KABC::Addressee::List addresseeRSyncSharp = remote->getExternLastSyncAddressees(); 2924 // KABC::Addressee::List addresseeRSyncSharp = remote->getExternLastSyncAddressees();
2922 //KABC::Addressee::List addresseeLSyncSharp = local->getExternLastSyncAddressees(); 2925 //KABC::Addressee::List addresseeLSyncSharp = local->getExternLastSyncAddressees();
2923 bool fullDateRange = false; 2926 bool fullDateRange = false;
2924 local->resetTempSyncStat(); 2927 local->resetTempSyncStat();
2925 mLastAddressbookSync = QDateTime::currentDateTime(); 2928 mLastAddressbookSync = QDateTime::currentDateTime();
2926 if ( syncManager->syncWithDesktop() ) { 2929 if ( syncManager->syncWithDesktop() ) {
2927 // remote->removeSyncInfo( QString());//remove all info 2930 // remote->removeSyncInfo( QString());//remove all info
2928 if ( KSyncManager::mRequestedSyncEvent.isValid() ) { 2931 if ( KSyncManager::mRequestedSyncEvent.isValid() ) {
2929 mLastAddressbookSync = KSyncManager::mRequestedSyncEvent; 2932 mLastAddressbookSync = KSyncManager::mRequestedSyncEvent;
2930 qDebug("KA: using extern time for calendar sync: %s ", mLastAddressbookSync.toString().latin1() ); 2933 qDebug("KA: using extern time for calendar sync: %s ", mLastAddressbookSync.toString().latin1() );
2931 } else { 2934 } else {
2932 qDebug("KA: KSyncManager::mRequestedSyncEvent has invalid datatime "); 2935 qDebug("KA: KSyncManager::mRequestedSyncEvent has invalid datatime ");
2933 } 2936 }
2934 } 2937 }
2935 QDateTime modifiedCalendar = mLastAddressbookSync; 2938 QDateTime modifiedCalendar = mLastAddressbookSync;
2936 addresseeLSync = getLastSyncAddressee(); 2939 addresseeLSync = getLastSyncAddressee();
2937 qDebug("KA: Last Sync %s ", addresseeLSync.revision().toString().latin1()); 2940 qDebug("KA: Last Sync %s ", addresseeLSync.revision().toString().latin1());
2938 addresseeR = remote->findByUid("last-syncAddressee-"+mCurrentSyncName ); 2941 addresseeR = remote->findByUid("last-syncAddressee-"+mCurrentSyncName );
2939 if ( !addresseeR.isEmpty() ) { 2942 if ( !addresseeR.isEmpty() ) {
2940 addresseeRSync = addresseeR; 2943 addresseeRSync = addresseeR;
2941 remote->removeAddressee(addresseeR ); 2944 remote->removeAddressee(addresseeR );
2942 2945
2943 } else { 2946 } else {
2944 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { 2947 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
2945 addresseeRSync = addresseeLSync ; 2948 addresseeRSync = addresseeLSync ;
2946 } else { 2949 } else {
2947 //qDebug("FULLDATE 1"); 2950 //qDebug("FULLDATE 1");
diff --git a/kaddressbook/kabcore.h b/kaddressbook/kabcore.h
index d89daee..4cef73a 100644
--- a/kaddressbook/kabcore.h
+++ b/kaddressbook/kabcore.h
@@ -9,517 +9,518 @@
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23 23
24#ifndef KABCORE_H 24#ifndef KABCORE_H
25#define KABCORE_H 25#define KABCORE_H
26 26
27#include <kabc/field.h> 27#include <kabc/field.h>
28 28
29#ifndef KAB_EMBEDDED 29#ifndef KAB_EMBEDDED
30#endif //KAB_EMBEDDED 30#endif //KAB_EMBEDDED
31#include <qdict.h> 31#include <qdict.h>
32#include <qtimer.h> 32#include <qtimer.h>
33 33
34#include <qwidget.h> 34#include <qwidget.h>
35#include <qpopupmenu.h> 35#include <qpopupmenu.h>
36#include <ksyncmanager.h> 36#include <ksyncmanager.h>
37#ifndef DESKTOP_VERSION 37#ifndef DESKTOP_VERSION
38#include <qcopchannel_qws.h> 38#include <qcopchannel_qws.h>
39#endif 39#endif
40 40
41namespace KABC { 41namespace KABC {
42class AddressBook; 42class AddressBook;
43} 43}
44 44
45#ifndef KAB_EMBEDDED 45#ifndef KAB_EMBEDDED
46class KAboutData; 46class KAboutData;
47class KConfig; 47class KConfig;
48 48
49class KAddressBookService; 49class KAddressBookService;
50class LDAPSearchDialog; 50class LDAPSearchDialog;
51#else //KAB_EMBEDDED 51#else //KAB_EMBEDDED
52class KAddressBookMain; 52class KAddressBookMain;
53//US class QAction; 53//US class QAction;
54#endif //KAB_EMBEDDED 54#endif //KAB_EMBEDDED
55class KCMultiDialog; 55class KCMultiDialog;
56class KXMLGUIClient; 56class KXMLGUIClient;
57class ExtensionManager; 57class ExtensionManager;
58class XXPortManager; 58class XXPortManager;
59class JumpButtonBar; 59class JumpButtonBar;
60class IncSearchWidget; 60class IncSearchWidget;
61class KDGanttMinimizeSplitter; 61class KDGanttMinimizeSplitter;
62class KAction; 62class KAction;
63class KActionCollection; 63class KActionCollection;
64class KToggleAction; 64class KToggleAction;
65class KSyncProfile; 65class KSyncProfile;
66 66
67class QAction; 67class QAction;
68class QMenuBar; 68class QMenuBar;
69class QSplitter; 69class QSplitter;
70class ViewContainer; 70class ViewContainer;
71class ViewManager; 71class ViewManager;
72class AddresseeEditorDialog; 72class AddresseeEditorDialog;
73class Ir; 73class Ir;
74 74
75class KABCore : public QWidget, public KSyncInterface 75class KABCore : public QWidget, public KSyncInterface
76{ 76{
77 Q_OBJECT 77 Q_OBJECT
78 78
79 public: 79 public:
80 KABCore( KAddressBookMain *client, bool readWrite, QWidget *parent, const char *name = 0 ); 80 KABCore( KAddressBookMain *client, bool readWrite, QWidget *parent, const char *name = 0 );
81 81
82 82
83 ~KABCore(); 83 ~KABCore();
84 84
85 85
86#ifdef KAB_EMBEDDED 86#ifdef KAB_EMBEDDED
87 //US added functionality 87 //US added functionality
88 QPopupMenu* getViewMenu() {return viewMenu;} 88 QPopupMenu* getViewMenu() {return viewMenu;}
89 QPopupMenu* getFilterMenu() {return filterMenu;} 89 QPopupMenu* getFilterMenu() {return filterMenu;}
90 QPopupMenu* getSettingsMenu() {return settingsMenu;} 90 QPopupMenu* getSettingsMenu() {return settingsMenu;}
91 void addActionsManually(); 91 void addActionsManually();
92#endif //KAB_EMBEDDED 92#endif //KAB_EMBEDDED
93 /** 93 /**
94 Restores the global settings. 94 Restores the global settings.
95 */ 95 */
96 void restoreSettings(); 96 void restoreSettings();
97 97
98 98
99 99
100 /** 100 /**
101 Returns a pointer to the StdAddressBook of the application. 101 Returns a pointer to the StdAddressBook of the application.
102 */ 102 */
103 KABC::AddressBook *addressBook() const; 103 KABC::AddressBook *addressBook() const;
104 104
105 /** 105 /**
106 Returns a pointer to the KConfig object of the application. 106 Returns a pointer to the KConfig object of the application.
107 */ 107 */
108 static KConfig *config(); 108 static KConfig *config();
109 109
110 /** 110 /**
111 Returns a pointer to the global KActionCollection object. So 111 Returns a pointer to the global KActionCollection object. So
112 other classes can register their actions easily. 112 other classes can register their actions easily.
113 */ 113 */
114 KActionCollection *actionCollection() const; 114 KActionCollection *actionCollection() const;
115 115
116 /** 116 /**
117 Returns the current search field of the Incremental Search Widget. 117 Returns the current search field of the Incremental Search Widget.
118 */ 118 */
119 KABC::Field *currentSearchField() const; 119 KABC::Field *currentSearchField() const;
120 120
121 /** 121 /**
122 Returns the uid list of the currently selected contacts. 122 Returns the uid list of the currently selected contacts.
123 */ 123 */
124 QStringList selectedUIDs() const; 124 QStringList selectedUIDs() const;
125 125
126 /** 126 /**
127 Displays the ResourceSelectDialog and returns the selected 127 Displays the ResourceSelectDialog and returns the selected
128 resource or a null pointer if no resource was selected by 128 resource or a null pointer if no resource was selected by
129 the user. 129 the user.
130 */ 130 */
131 KABC::Resource *requestResource( QWidget *parent ); 131 KABC::Resource *requestResource( QWidget *parent );
132 132
133#ifndef KAB_EMBEDDED 133#ifndef KAB_EMBEDDED
134 static KAboutData *createAboutData(); 134 static KAboutData *createAboutData();
135#endif //KAB_EMBEDDED 135#endif //KAB_EMBEDDED
136 136
137#ifdef KAB_EMBEDDED 137#ifdef KAB_EMBEDDED
138 inline QPopupMenu* getImportMenu() { return ImportMenu;} 138 inline QPopupMenu* getImportMenu() { return ImportMenu;}
139 inline QPopupMenu* getExportMenu() { return ExportMenu;} 139 inline QPopupMenu* getExportMenu() { return ExportMenu;}
140#endif //KAB_EMBEDDED 140#endif //KAB_EMBEDDED
141 141
142 public slots: 142 public slots:
143#ifdef KAB_EMBEDDED 143#ifdef KAB_EMBEDDED
144 void createAboutData(); 144 void createAboutData();
145#endif //KAB_EMBEDDED 145#endif //KAB_EMBEDDED
146 void setDetailsToggle(); 146 void setDetailsToggle();
147 147
148 void showLicence(); 148 void showLicence();
149 void faq(); 149 void faq();
150 void whatsnew() ; 150 void whatsnew() ;
151 void synchowto() ; 151 void synchowto() ;
152 void multisynchowto() ; 152 void multisynchowto() ;
153 void kdesynchowto() ; 153 void kdesynchowto() ;
154 void writeToPhone(); 154 void writeToPhone();
155 155
156 /** 156 /**
157 Is called whenever a contact is selected in the view. 157 Is called whenever a contact is selected in the view.
158 */ 158 */
159 void setContactSelected( const QString &uid ); 159 void setContactSelected( const QString &uid );
160 160
161 /** 161 /**
162 Opens the preferred mail composer with all selected contacts as 162 Opens the preferred mail composer with all selected contacts as
163 arguments. 163 arguments.
164 */ 164 */
165 void sendMail(); 165 void sendMail();
166 166
167 /** 167 /**
168 Opens the preferred mail composer with the given contacts as 168 Opens the preferred mail composer with the given contacts as
169 arguments. 169 arguments.
170 */ 170 */
171 void sendMail( const QString& email ); 171 void sendMail( const QString& email );
172 172
173 173
174 void mailVCard(); 174 void mailVCard();
175 void mailVCard(const QStringList& uids); 175 void mailVCard(const QStringList& uids);
176 176
177 /** 177 /**
178 Beams the "WhoAmI contact. 178 Beams the "WhoAmI contact.
179 */ 179 */
180 void beamMySelf(); 180 void beamMySelf();
181 181
182 void beamVCard(); 182 void beamVCard();
183 void export2phone(); 183 void export2phone();
184 void beamVCard(const QStringList& uids); 184 void beamVCard(const QStringList& uids);
185 void beamDone( Ir *ir ); 185 void beamDone( Ir *ir );
186 186
187 187
188 /** 188 /**
189 Starts the preferred web browser with the given URL as argument. 189 Starts the preferred web browser with the given URL as argument.
190 */ 190 */
191 void browse( const QString& url ); 191 void browse( const QString& url );
192 192
193 /** 193 /**
194 Select all contacts in the view. 194 Select all contacts in the view.
195 */ 195 */
196 void selectAllContacts(); 196 void selectAllContacts();
197 197
198 /** 198 /**
199 Deletes all selected contacts from the address book. 199 Deletes all selected contacts from the address book.
200 */ 200 */
201 void deleteContacts(); 201 void deleteContacts();
202 202
203 /** 203 /**
204 Deletes given contacts from the address book. 204 Deletes given contacts from the address book.
205 205
206 @param uids The uids of the contacts, which shall be deleted. 206 @param uids The uids of the contacts, which shall be deleted.
207 */ 207 */
208 void deleteContacts( const QStringList &uids ); 208 void deleteContacts( const QStringList &uids );
209 209
210 /** 210 /**
211 Copys the selected contacts into clipboard for later pasting. 211 Copys the selected contacts into clipboard for later pasting.
212 */ 212 */
213 void copyContacts(); 213 void copyContacts();
214 214
215 /** 215 /**
216 Cuts the selected contacts and stores them for later pasting. 216 Cuts the selected contacts and stores them for later pasting.
217 */ 217 */
218 void cutContacts(); 218 void cutContacts();
219 219
220 /** 220 /**
221 Paste contacts from clipboard into the address book. 221 Paste contacts from clipboard into the address book.
222 */ 222 */
223 void pasteContacts(); 223 void pasteContacts();
224 224
225 /** 225 /**
226 Paste given contacts into the address book. 226 Paste given contacts into the address book.
227 227
228 @param list The list of addressee, which shall be pasted. 228 @param list The list of addressee, which shall be pasted.
229 */ 229 */
230 void pasteContacts( KABC::Addressee::List &list ); 230 void pasteContacts( KABC::Addressee::List &list );
231 231
232 /** 232 /**
233 Sets the whoAmI contact, that is used by many other programs to 233 Sets the whoAmI contact, that is used by many other programs to
234 get personal information about the current user. 234 get personal information about the current user.
235 */ 235 */
236 void setWhoAmI(); 236 void setWhoAmI();
237 237
238 /** 238 /**
239 Displays the category dialog and applies the result to all 239 Displays the category dialog and applies the result to all
240 selected contacts. 240 selected contacts.
241 */ 241 */
242 void setCategories(); 242 void setCategories();
243 void manageCategories(); 243 void manageCategories();
244 void editCategories(); 244 void editCategories();
245 245
246 /** 246 /**
247 Sets the field list of the Incremental Search Widget. 247 Sets the field list of the Incremental Search Widget.
248 */ 248 */
249 void setSearchFields( const KABC::Field::List &fields ); 249 void setSearchFields( const KABC::Field::List &fields );
250 250
251 /** 251 /**
252 Search with the current search field for a contact, that matches 252 Search with the current search field for a contact, that matches
253 the given text, and selects it in the view. 253 the given text, and selects it in the view.
254 */ 254 */
255 void incrementalSearch( const QString& text ); 255 void incrementalSearch( const QString& text );
256 void incrementalSearchJump( const QString& text ); 256 void incrementalSearchJump( const QString& text );
257 257
258 /** 258 /**
259 Marks the address book as modified. 259 Marks the address book as modified.
260 */ 260 */
261 void setModified(); 261 void setModified();
262 /** 262 /**
263 Marks the address book as modified without refreshing the view. 263 Marks the address book as modified without refreshing the view.
264 */ 264 */
265 void setModifiedWOrefresh(); 265 void setModifiedWOrefresh();
266 266
267 /** 267 /**
268 Marks the address book as modified concerning the argument. 268 Marks the address book as modified concerning the argument.
269 */ 269 */
270 void setModified( bool modified ); 270 void setModified( bool modified );
271 271
272 /** 272 /**
273 Returns whether the address book is modified. 273 Returns whether the address book is modified.
274 */ 274 */
275 bool modified() const; 275 bool modified() const;
276 276
277 /** 277 /**
278 Called whenever an contact is modified in the contact editor 278 Called whenever an contact is modified in the contact editor
279 dialog or the quick edit. 279 dialog or the quick edit.
280 */ 280 */
281 void contactModified( const KABC::Addressee &addr ); 281 void contactModified( const KABC::Addressee &addr );
282 void addrModified( const KABC::Addressee &addr, bool updateDetails = true ); 282 void addrModified( const KABC::Addressee &addr, bool updateDetails = true );
283 283
284 /** 284 /**
285 DCOP METHODS. 285 DCOP METHODS.
286 */ 286 */
287 void addEmail( QString addr ); 287 void addEmail( QString addr );
288 void importVCard( const KURL& url, bool showPreview ); 288 void importVCard( const KURL& url, bool showPreview );
289 void importVCard( const QString& vCard, bool showPreview ); 289 void importVCard( const QString& vCard, bool showPreview );
290 void newContact(); 290 void newContact();
291 QString getNameByPhone( const QString& phone ); 291 QString getNameByPhone( const QString& phone );
292 /** 292 /**
293 END DCOP METHODS 293 END DCOP METHODS
294 */ 294 */
295 295
296 /** 296 /**
297 Saves the contents of the AddressBook back to disk. 297 Saves the contents of the AddressBook back to disk.
298 */ 298 */
299 void save(); 299 void save();
300 300
301 /** 301 /**
302 Undos the last command using the undo stack. 302 Undos the last command using the undo stack.
303 */ 303 */
304 void undo(); 304 void undo();
305 305
306 /** 306 /**
307 Redos the last command that was undone, using the redo stack. 307 Redos the last command that was undone, using the redo stack.
308 */ 308 */
309 void redo(); 309 void redo();
310 310
311 /** 311 /**
312 Shows the edit dialog for the given uid. If the uid is QString::null, 312 Shows the edit dialog for the given uid. If the uid is QString::null,
313 the method will try to find a selected addressee in the view. 313 the method will try to find a selected addressee in the view.
314 */ 314 */
315 void editContact( const QString &uid /*US = QString::null*/ ); 315 void editContact( const QString &uid /*US = QString::null*/ );
316//US added a second method without defaultparameter 316//US added a second method without defaultparameter
317 void editContact2(); 317 void editContact2();
318 318
319 /** 319 /**
320 Shows or edits the detail view for the given uid. If the uid is QString::null, 320 Shows or edits the detail view for the given uid. If the uid is QString::null,
321 the method will try to find a selected addressee in the view. 321 the method will try to find a selected addressee in the view.
322 */ 322 */
323 void executeContact( const QString &uid /*US = QString::null*/ ); 323 void executeContact( const QString &uid /*US = QString::null*/ );
324 324
325 /** 325 /**
326 Launches the configuration dialog. 326 Launches the configuration dialog.
327 */ 327 */
328 void openConfigDialog(); 328 void openConfigDialog();
329 329
330 /** 330 /**
331 Launches the ldap search dialog. 331 Launches the ldap search dialog.
332 */ 332 */
333 void openLDAPDialog(); 333 void openLDAPDialog();
334 334
335 /** 335 /**
336 Creates a KAddressBookPrinter, which will display the print 336 Creates a KAddressBookPrinter, which will display the print
337 dialog and do the printing. 337 dialog and do the printing.
338 */ 338 */
339 void print(); 339 void print();
340 340
341 /** 341 /**
342 Registers a new GUI client, so plugins can register its actions. 342 Registers a new GUI client, so plugins can register its actions.
343 */ 343 */
344 void addGUIClient( KXMLGUIClient *client ); 344 void addGUIClient( KXMLGUIClient *client );
345 345
346 void requestForNameEmailUidList(const QString& sourceChannel, const QString& sessionuid); 346 void requestForNameEmailUidList(const QString& sourceChannel, const QString& sessionuid);
347 void requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid); 347 void requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid);
348 void requestForBirthdayList(const QString& sourceChannel, const QString& sessionuid); 348 void requestForBirthdayList(const QString& sourceChannel, const QString& sessionuid);
349 349
350 350
351 signals: 351 signals:
352 void contactSelected( const QString &name ); 352 void contactSelected( const QString &name );
353 void contactSelected( const QPixmap &pixmap ); 353 void contactSelected( const QPixmap &pixmap );
354 public slots: 354 public slots:
355 void recieve(QString cmsg ); 355 void recieve(QString cmsg );
356 void getFile( bool success ); 356 void getFile( bool success );
357 void syncFileRequest(); 357 void syncFileRequest();
358 void setDetailsVisible( bool visible ); 358 void setDetailsVisible( bool visible );
359 void setDetailsToState(); 359 void setDetailsToState();
360 360
361 void saveSettings(); 361 void saveSettings();
362 362
363 private slots: 363 private slots:
364 void updateToolBar(); 364 void updateToolBar();
365 void updateMainWindow(); 365 void updateMainWindow();
366 void receive( const QCString& cmsg, const QByteArray& data ); 366 void receive( const QCString& cmsg, const QByteArray& data );
367 void toggleBeamReceive( ); 367 void toggleBeamReceive( );
368 void disableBR(bool); 368 void disableBR(bool);
369 void setJumpButtonBarVisible( bool visible ); 369 void setJumpButtonBarVisible( bool visible );
370 void setJumpButtonBar( bool visible ); 370 void setJumpButtonBar( bool visible );
371 void setCaptionBack(); 371 void setCaptionBack();
372 void resizeAndCallContactdialog(); 372 void resizeAndCallContactdialog();
373 void callContactdialog(); 373 void callContactdialog();
374 374
375 void importFromOL(); 375 void importFromOL();
376 void extensionModified( const KABC::Addressee::List &list ); 376 void extensionModified( const KABC::Addressee::List &list );
377 void extensionChanged( int id ); 377 void extensionChanged( int id );
378 void clipboardDataChanged(); 378 void clipboardDataChanged();
379 void updateActionMenu(); 379 void updateActionMenu();
380 void configureKeyBindings(); 380 void configureKeyBindings();
381 void removeVoice(); 381 void removeVoice();
382 void setFormattedName(); 382 void setFormattedName();
383#ifdef KAB_EMBEDDED 383#ifdef KAB_EMBEDDED
384 void configureResources(); 384 void configureResources();
385#endif //KAB_EMBEDDED 385#endif //KAB_EMBEDDED
386 386
387 void slotEditorDestroyed( const QString &uid ); 387 void slotEditorDestroyed( const QString &uid );
388 void configurationChanged(); 388 void configurationChanged();
389 void addressBookChanged(); 389 void addressBookChanged();
390 390
391 private: 391 private:
392 QString mEmailSourceChannel; 392 QString mEmailSourceChannel;
393 QString mEmailSourceUID;
393 void resizeEvent(QResizeEvent* e ); 394 void resizeEvent(QResizeEvent* e );
394 bool mBRdisabled; 395 bool mBRdisabled;
395#ifndef DESKTOP_VERSION 396#ifndef DESKTOP_VERSION
396 QCopChannel* infrared; 397 QCopChannel* infrared;
397#endif 398#endif
398 QTimer *mMessageTimer; 399 QTimer *mMessageTimer;
399 void initGUI(); 400 void initGUI();
400 void initActions(); 401 void initActions();
401 QString getPhoneFile(); 402 QString getPhoneFile();
402 403
403 AddresseeEditorDialog *createAddresseeEditorDialog( QWidget *parent, 404 AddresseeEditorDialog *createAddresseeEditorDialog( QWidget *parent,
404 const char *name = 0 ); 405 const char *name = 0 );
405 406
406 KXMLGUIClient *mGUIClient; 407 KXMLGUIClient *mGUIClient;
407 408
408 KABC::AddressBook *mAddressBook; 409 KABC::AddressBook *mAddressBook;
409 410
410 ViewManager *mViewManager; 411 ViewManager *mViewManager;
411 // QSplitter *mDetailsSplitter; 412 // QSplitter *mDetailsSplitter;
412 KDGanttMinimizeSplitter *mExtensionBarSplitter; 413 KDGanttMinimizeSplitter *mExtensionBarSplitter;
413 ViewContainer *mDetails; 414 ViewContainer *mDetails;
414 KDGanttMinimizeSplitter* mMiniSplitter; 415 KDGanttMinimizeSplitter* mMiniSplitter;
415 XXPortManager *mXXPortManager; 416 XXPortManager *mXXPortManager;
416 JumpButtonBar *mJumpButtonBar; 417 JumpButtonBar *mJumpButtonBar;
417 IncSearchWidget *mIncSearchWidget; 418 IncSearchWidget *mIncSearchWidget;
418 ExtensionManager *mExtensionManager; 419 ExtensionManager *mExtensionManager;
419 420
420 KCMultiDialog *mConfigureDialog; 421 KCMultiDialog *mConfigureDialog;
421 422
422#ifndef KAB_EMBEDDED 423#ifndef KAB_EMBEDDED
423 LDAPSearchDialog *mLdapSearchDialog; 424 LDAPSearchDialog *mLdapSearchDialog;
424#endif //KAB_EMBEDDED 425#endif //KAB_EMBEDDED
425 // QDict<AddresseeEditorDialog> mEditorDict; 426 // QDict<AddresseeEditorDialog> mEditorDict;
426 AddresseeEditorDialog *mEditorDialog; 427 AddresseeEditorDialog *mEditorDialog;
427 bool mReadWrite; 428 bool mReadWrite;
428 bool mModified; 429 bool mModified;
429 bool mIsPart; 430 bool mIsPart;
430 bool mMultipleViewsAtOnce; 431 bool mMultipleViewsAtOnce;
431 432
432 433
433 //US file menu 434 //US file menu
434 KAction *mActionMail; 435 KAction *mActionMail;
435 KAction *mActionBeam; 436 KAction *mActionBeam;
436 KToggleAction *mActionBR; 437 KToggleAction *mActionBR;
437 KAction *mActionExport2phone; 438 KAction *mActionExport2phone;
438 KAction* mActionPrint; 439 KAction* mActionPrint;
439 KAction* mActionPrintDetails; 440 KAction* mActionPrintDetails;
440 KAction* mActionNewContact; 441 KAction* mActionNewContact;
441 KAction *mActionSave; 442 KAction *mActionSave;
442 KAction *mActionEditAddressee; 443 KAction *mActionEditAddressee;
443 KAction *mActionMailVCard; 444 KAction *mActionMailVCard;
444 KAction *mActionBeamVCard; 445 KAction *mActionBeamVCard;
445 446
446 KAction *mActionQuit; 447 KAction *mActionQuit;
447 448
448 //US edit menu 449 //US edit menu
449 KAction *mActionCopy; 450 KAction *mActionCopy;
450 KAction *mActionCut; 451 KAction *mActionCut;
451 KAction *mActionPaste; 452 KAction *mActionPaste;
452 KAction *mActionSelectAll; 453 KAction *mActionSelectAll;
453 KAction *mActionUndo; 454 KAction *mActionUndo;
454 KAction *mActionRedo; 455 KAction *mActionRedo;
455 KAction *mActionDelete; 456 KAction *mActionDelete;
456 457
457 //US settings menu 458 //US settings menu
458 KAction *mActionConfigResources; 459 KAction *mActionConfigResources;
459 KAction *mActionConfigKAddressbook; 460 KAction *mActionConfigKAddressbook;
460 KAction *mActionConfigShortcuts; 461 KAction *mActionConfigShortcuts;
461 KAction *mActionConfigureToolbars; 462 KAction *mActionConfigureToolbars;
462 KAction *mActionKeyBindings; 463 KAction *mActionKeyBindings;
463 KToggleAction *mActionJumpBar; 464 KToggleAction *mActionJumpBar;
464 KToggleAction *mActionDetails; 465 KToggleAction *mActionDetails;
465 KAction *mActionWhoAmI; 466 KAction *mActionWhoAmI;
466 KAction *mActionCategories; 467 KAction *mActionCategories;
467 KAction *mActionEditCategories; 468 KAction *mActionEditCategories;
468 KAction *mActionManageCategories; 469 KAction *mActionManageCategories;
469 KAction *mActionAboutKAddressbook; 470 KAction *mActionAboutKAddressbook;
470 KAction *mActionLicence; 471 KAction *mActionLicence;
471 KAction *mActionFaq; 472 KAction *mActionFaq;
472 KAction *mActionWN; 473 KAction *mActionWN;
473 KAction *mActionSyncHowto; 474 KAction *mActionSyncHowto;
474 KAction *mActionKdeSyncHowto; 475 KAction *mActionKdeSyncHowto;
475 KAction *mActionMultiSyncHowto; 476 KAction *mActionMultiSyncHowto;
476 477
477 KAction *mActionDeleteView; 478 KAction *mActionDeleteView;
478 479
479 QPopupMenu *viewMenu; 480 QPopupMenu *viewMenu;
480 QPopupMenu *filterMenu; 481 QPopupMenu *filterMenu;
481 QPopupMenu *settingsMenu; 482 QPopupMenu *settingsMenu;
482 QPopupMenu *changeMenu; 483 QPopupMenu *changeMenu;
483 QPopupMenu *beamMenu; 484 QPopupMenu *beamMenu;
484//US QAction *mActionSave; 485//US QAction *mActionSave;
485 QPopupMenu *ImportMenu; 486 QPopupMenu *ImportMenu;
486 QPopupMenu *ExportMenu; 487 QPopupMenu *ExportMenu;
487 //LR additional methods 488 //LR additional methods
488 KAction *mActionRemoveVoice; 489 KAction *mActionRemoveVoice;
489 KAction *mActionSetFormattedName; 490 KAction *mActionSetFormattedName;
490 KAction * mActionImportOL; 491 KAction * mActionImportOL;
491 492
492#ifndef KAB_EMBEDDED 493#ifndef KAB_EMBEDDED
493 KAddressBookService *mAddressBookService; 494 KAddressBookService *mAddressBookService;
494#endif //KAB_EMBEDDED 495#endif //KAB_EMBEDDED
495 496
496 class KABCorePrivate; 497 class KABCorePrivate;
497 KABCorePrivate *d; 498 KABCorePrivate *d;
498 //US bool mBlockSaveFlag; 499 //US bool mBlockSaveFlag;
499 500
500#ifdef KAB_EMBEDDED 501#ifdef KAB_EMBEDDED
501 KAddressBookMain *mMainWindow; // should be the same like mGUIClient 502 KAddressBookMain *mMainWindow; // should be the same like mGUIClient
502#endif //KAB_EMBEDDED 503#endif //KAB_EMBEDDED
503 504
504 //this are the overwritten callbackmethods from the syncinterface 505 //this are the overwritten callbackmethods from the syncinterface
505 virtual bool sync(KSyncManager* manager, QString filename, int mode); 506 virtual bool sync(KSyncManager* manager, QString filename, int mode);
506 virtual bool syncExternal(KSyncManager* manager, QString resource); 507 virtual bool syncExternal(KSyncManager* manager, QString resource);
507 virtual void removeSyncInfo( QString syncProfile); 508 virtual void removeSyncInfo( QString syncProfile);
508 bool syncPhone(); 509 bool syncPhone();
509 void message( QString m , bool startTimer = true); 510 void message( QString m , bool startTimer = true);
510 511
511 // LR ******************************* 512 // LR *******************************
512 // sync stuff! 513 // sync stuff!
513 QString sentSyncFile(); 514 QString sentSyncFile();
514 QPopupMenu *syncMenu; 515 QPopupMenu *syncMenu;
515 KSyncManager* syncManager; 516 KSyncManager* syncManager;
516 int mGlobalSyncMode; 517 int mGlobalSyncMode;
517 bool synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBook* remote,int mode); 518 bool synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBook* remote,int mode);
518 KABC::Addressee getLastSyncAddressee(); 519 KABC::Addressee getLastSyncAddressee();
519 QDateTime mLastAddressbookSync; 520 QDateTime mLastAddressbookSync;
520 int takeAddressee( KABC::Addressee* local, KABC::Addressee* remote, int mode , bool full ); 521 int takeAddressee( KABC::Addressee* local, KABC::Addressee* remote, int mode , bool full );
521 // ********************* 522 // *********************
522 523
523}; 524};
524 525
525#endif 526#endif
diff --git a/kaddressbook/xxportselectdialog.cpp b/kaddressbook/xxportselectdialog.cpp
index e7bc8c0..0127fc0 100644
--- a/kaddressbook/xxportselectdialog.cpp
+++ b/kaddressbook/xxportselectdialog.cpp
@@ -1,334 +1,335 @@
1/* 1/*
2 This file is part of KAddressBook. 2 This file is part of KAddressBook.
3 Copyright (c) 2002 Anders Lund <anders.lund@lund.tdcadsl.dk> 3 Copyright (c) 2002 Anders Lund <anders.lund@lund.tdcadsl.dk>
4 Tobias Koenig <tokoe@kde.org> 4 Tobias Koenig <tokoe@kde.org>
5 5
6 This program is free software; you can redistribute it and/or modify 6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or 8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version. 9 (at your option) any later version.
10 10
11 This program is distributed in the hope that it will be useful, 11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details. 14 GNU General Public License for more details.
15 15
16 You should have received a copy of the GNU General Public License 16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software 17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19 19
20 As a special exception, permission is given to link this program 20 As a special exception, permission is given to link this program
21 with any edition of Qt, and distribute the resulting executable, 21 with any edition of Qt, and distribute the resulting executable,
22 without including the source code for Qt in the source distribution. 22 without including the source code for Qt in the source distribution.
23*/ 23*/
24 24
25/* 25/*
26Enhanced Version of the file for platform independent KDE tools. 26Enhanced Version of the file for platform independent KDE tools.
27Copyright (c) 2004 Ulf Schenk 27Copyright (c) 2004 Ulf Schenk
28 28
29$Id$ 29$Id$
30*/ 30*/
31 31
32#include <kabc/addressbook.h> 32#include <kabc/addressbook.h>
33#include <kapplication.h> 33#include <kapplication.h>
34#include <kcombobox.h> 34#include <kcombobox.h>
35#include <klocale.h> 35#include <klocale.h>
36#include <kglobal.h> 36#include <kglobal.h>
37 37
38#include <qapplication.h> 38#include <qapplication.h>
39#include <qbuttongroup.h> 39#include <qbuttongroup.h>
40#include <qcombobox.h> 40#include <qcombobox.h>
41#include <qheader.h> 41#include <qheader.h>
42#include <qlabel.h> 42#include <qlabel.h>
43#include <qlayout.h> 43#include <qlayout.h>
44#include <qlistview.h> 44#include <qlistview.h>
45#include <qpushbutton.h> 45#include <qpushbutton.h>
46#include <qradiobutton.h> 46#include <qradiobutton.h>
47#include <qstringlist.h> 47#include <qstringlist.h>
48#include <qwhatsthis.h> 48#include <qwhatsthis.h>
49 49
50#include "kabcore.h" 50#include "kabcore.h"
51#include "kabprefs.h" 51#include "kabprefs.h"
52 52
53#include "xxportselectdialog.h" 53#include "xxportselectdialog.h"
54 54
55XXPortSelectDialog::XXPortSelectDialog( KABCore *core, bool sort, 55XXPortSelectDialog::XXPortSelectDialog( KABCore *core, bool sort,
56 QWidget* parent, const char* name ) 56 QWidget* parent, const char* name )
57 : KDialogBase( Plain, i18n( "Choose contact selection" ), Help | Ok | Cancel, 57 : KDialogBase( Plain, i18n( "Choose contact selection" ), Help | Ok | Cancel,
58 Ok, parent, name, true, true ), mCore( core ), 58 Ok, parent, name, true, true ), mCore( core ),
59 mUseSorting( sort ) 59 mUseSorting( sort )
60{ 60{
61 initGUI(); 61 initGUI();
62 62
63 connect( mFiltersCombo, SIGNAL( activated( int ) ), 63 connect( mFiltersCombo, SIGNAL( activated( int ) ),
64 SLOT( filterChanged( int ) ) ); 64 SLOT( filterChanged( int ) ) );
65 connect( mCategoriesView, SIGNAL( clicked( QListViewItem* ) ), 65 connect( mCategoriesView, SIGNAL( clicked( QListViewItem* ) ),
66 SLOT( categoryClicked( QListViewItem* ) ) ); 66 SLOT( categoryClicked( QListViewItem* ) ) );
67 67
68 // setup filters 68 // setup filters
69#ifndef KAB_EMBEDDED 69#ifndef KAB_EMBEDDED
70 mFilters = Filter::restore( kapp->config(), "Filter" ); 70 mFilters = Filter::restore( kapp->config(), "Filter" );
71 Filter::List::iterator filterIt; 71 Filter::List::iterator filterIt;
72#else //KAB_EMBEDDED 72#else //KAB_EMBEDDED
73 mFilters = Filter::restore( KGlobal::config(), "Filter" ); 73 mFilters = Filter::restore( KGlobal::config(), "Filter" );
74 Filter::List::Iterator filterIt; 74 Filter::List::Iterator filterIt;
75#endif //KAB_EMBEDDED 75#endif //KAB_EMBEDDED
76 QStringList filters; 76 QStringList filters;
77 for ( filterIt = mFilters.begin(); filterIt != mFilters.end(); ++filterIt ) 77 for ( filterIt = mFilters.begin(); filterIt != mFilters.end(); ++filterIt )
78 filters.append( (*filterIt).name() ); 78 filters.append( (*filterIt).name() );
79 79
80 mFiltersCombo->insertStringList( filters ); 80 mFiltersCombo->insertStringList( filters );
81 mUseFilters->setEnabled( filters.count() > 0 ); 81 mUseFilters->setEnabled( filters.count() > 0 );
82 82
83 // setup categories 83 // setup categories
84 QStringList categories = KABPrefs::instance()->mCustomCategories; 84 QStringList categories = KABPrefs::instance()->mCustomCategories;
85 QStringList::Iterator it; 85 QStringList::Iterator it;
86 for ( it = categories.begin(); it != categories.end(); ++it ) 86 for ( it = categories.begin(); it != categories.end(); ++it )
87 new QCheckListItem( mCategoriesView, *it, QCheckListItem::CheckBox ); 87 new QCheckListItem( mCategoriesView, *it, QCheckListItem::CheckBox );
88 mUseCategories->setEnabled( categories.count() > 0 ); 88 mUseCategories->setEnabled( categories.count() > 0 );
89 89
90 int count = mCore->selectedUIDs().count(); 90 int count = mCore->selectedUIDs().count();
91 mUseSelection->setEnabled( count != 0 ); 91 mUseSelection->setEnabled( count != 0 );
92 mUseSelection->setChecked( count > 1 ); 92 mUseSelection->setChecked( count > 1 );
93 93
94 mSortTypeCombo->insertItem( i18n( "Ascending" ) ); 94 mSortTypeCombo->insertItem( i18n( "Ascending" ) );
95 mSortTypeCombo->insertItem( i18n( "Descending" ) ); 95 mSortTypeCombo->insertItem( i18n( "Descending" ) );
96 96
97 mFields = mCore->addressBook()->fields( KABC::Field::All ); 97 mFields = mCore->addressBook()->fields( KABC::Field::All );
98 KABC::Field::List::Iterator fieldIt; 98 KABC::Field::List::Iterator fieldIt;
99 for ( fieldIt = mFields.begin(); fieldIt != mFields.end(); ++fieldIt ) 99 for ( fieldIt = mFields.begin(); fieldIt != mFields.end(); ++fieldIt )
100 mFieldCombo->insertItem( (*fieldIt)->label() ); 100 mFieldCombo->insertItem( (*fieldIt)->label() );
101} 101}
102 102
103QStringList XXPortSelectDialog::uids() 103QStringList XXPortSelectDialog::uids()
104{ 104{
105 QStringList uidlist; 105 QStringList uidlist;
106 KABC::AddresseeList list = contacts(); 106 KABC::AddresseeList list = contacts();
107 KABC::Addressee::List::Iterator it; 107 KABC::Addressee::List::Iterator it;
108 for ( it = list.begin(); it != list.end(); ++it ) 108 for ( it = list.begin(); it != list.end(); ++it )
109 uidlist.append((*it).uid()); 109 uidlist.append((*it).uid());
110 return uidlist; 110 return uidlist;
111} 111}
112void XXPortSelectDialog::tagSelected() 112void XXPortSelectDialog::tagSelected()
113{ 113{
114 if ( mUseSelection->isChecked() ) { 114 if ( mUseSelection->isChecked() ) {
115 115
116 QStringList selection = mCore->selectedUIDs(); 116 QStringList selection = mCore->selectedUIDs();
117 KABC::AddressBook::Iterator it; 117 KABC::AddressBook::Iterator it;
118 for ( it = mCore->addressBook()->begin(); it != mCore->addressBook()->end(); ++it ) { 118 for ( it = mCore->addressBook()->begin(); it != mCore->addressBook()->end(); ++it ) {
119 if ( selection.findIndex((*it).uid()) >= 0 ) 119 if ( selection.findIndex((*it).uid()) >= 0 )
120 (*it).setTagged( true ); 120 (*it).setTagged( true );
121 } 121 }
122 } else if ( mUseFilters->isChecked() ) { 122 } else if ( mUseFilters->isChecked() ) {
123 // find contacts that can pass selected filter 123 // find contacts that can pass selected filter
124 Filter::List::Iterator filterIt; 124 Filter::List::Iterator filterIt;
125 for ( filterIt = mFilters.begin(); filterIt != mFilters.end(); ++filterIt ) 125 for ( filterIt = mFilters.begin(); filterIt != mFilters.end(); ++filterIt )
126 if ( (*filterIt).name() == mFiltersCombo->currentText() ) 126 if ( (*filterIt).name() == mFiltersCombo->currentText() )
127 break; 127 break;
128 KABC::AddressBook::Iterator it; 128 KABC::AddressBook::Iterator it;
129 for ( it = mCore->addressBook()->begin(); it != mCore->addressBook()->end(); ++it ) { 129 for ( it = mCore->addressBook()->begin(); it != mCore->addressBook()->end(); ++it ) {
130 if ( (*filterIt).filterAddressee( *it ) ) 130 if ( (*filterIt).filterAddressee( *it ) )
131 (*it).setTagged( true ); 131 (*it).setTagged( true );
132 } 132 }
133 } else if ( mUseCategories->isChecked() ) { 133 } else if ( mUseCategories->isChecked() ) {
134 QStringList categorieList = categories(); 134 QStringList categorieList = categories();
135 KABC::AddressBook::Iterator it; 135 KABC::AddressBook::Iterator it;
136 for ( it = mCore->addressBook()->begin(); it != mCore->addressBook()->end(); ++it ) { 136 for ( it = mCore->addressBook()->begin(); it != mCore->addressBook()->end(); ++it ) {
137 QStringList tmp( (*it).categories() ); 137 QStringList tmp( (*it).categories() );
138 QStringList::Iterator tmpIt; 138 QStringList::Iterator tmpIt;
139 for ( tmpIt = tmp.begin(); tmpIt != tmp.end(); ++tmpIt ) 139 for ( tmpIt = tmp.begin(); tmpIt != tmp.end(); ++tmpIt )
140 if ( categorieList.contains( *tmpIt ) ) { 140 if ( categorieList.contains( *tmpIt ) ) {
141 (*it).setTagged( true ); 141 (*it).setTagged( true );
142 break; 142 break;
143 } 143 }
144 } 144 }
145 } else { 145 } else {
146 // create a string list of all entries: 146 // create a string list of all entries:
147 KABC::AddressBook::Iterator it; 147 KABC::AddressBook::Iterator it;
148 for ( it = mCore->addressBook()->begin(); it != mCore->addressBook()->end(); ++it ) 148 for ( it = mCore->addressBook()->begin(); it != mCore->addressBook()->end(); ++it )
149 (*it).setTagged( true ); 149 (*it).setTagged( true );
150 } 150 }
151} 151}
152KABC::AddresseeList XXPortSelectDialog::contacts() 152KABC::AddresseeList XXPortSelectDialog::contacts()
153{ 153{
154 154
155 KABC::AddresseeList list; 155 KABC::AddresseeList list;
156 if ( mUseSelection->isChecked() ) { 156 if ( mUseSelection->isChecked() ) {
157 QStringList::Iterator it; 157 QStringList::Iterator it;
158 QStringList selection = mCore->selectedUIDs(); 158 QStringList selection = mCore->selectedUIDs();
159 for ( it = selection.begin(); it != selection.end(); ++it ) { 159 for ( it = selection.begin(); it != selection.end(); ++it ) {
160 KABC::Addressee addr = mCore->addressBook()->findByUid( *it ); 160 KABC::Addressee addr = mCore->addressBook()->findByUid( *it );
161 if ( !addr.isEmpty() ) 161 if ( !addr.isEmpty() )
162 list.append( addr ); 162 list.append( addr );
163 } 163 }
164 } else if ( mUseFilters->isChecked() ) { 164 } else if ( mUseFilters->isChecked() ) {
165 // find contacts that can pass selected filter 165 // find contacts that can pass selected filter
166 Filter::List::Iterator filterIt; 166 Filter::List::Iterator filterIt;
167 for ( filterIt = mFilters.begin(); filterIt != mFilters.end(); ++filterIt ) 167 for ( filterIt = mFilters.begin(); filterIt != mFilters.end(); ++filterIt )
168 if ( (*filterIt).name() == mFiltersCombo->currentText() ) 168 if ( (*filterIt).name() == mFiltersCombo->currentText() )
169 break; 169 break;
170 170
171 KABC::AddressBook::Iterator it; 171 KABC::AddressBook::Iterator it;
172 for ( it = mCore->addressBook()->begin(); it != mCore->addressBook()->end(); ++it ) { 172 for ( it = mCore->addressBook()->begin(); it != mCore->addressBook()->end(); ++it ) {
173 if ( (*filterIt).filterAddressee( *it ) ) 173 if ( (*filterIt).filterAddressee( *it ) )
174 list.append( *it ); 174 list.append( *it );
175 } 175 }
176 } else if ( mUseCategories->isChecked() ) { 176 } else if ( mUseCategories->isChecked() ) {
177 QStringList categorieList = categories(); 177 QStringList categorieList = categories();
178 KABC::AddressBook::Iterator it; 178 KABC::AddressBook::Iterator it;
179 for ( it = mCore->addressBook()->begin(); it != mCore->addressBook()->end(); ++it ) { 179 for ( it = mCore->addressBook()->begin(); it != mCore->addressBook()->end(); ++it ) {
180 QStringList tmp( (*it).categories() ); 180 QStringList tmp( (*it).categories() );
181 QStringList::Iterator tmpIt; 181 QStringList::Iterator tmpIt;
182 for ( tmpIt = tmp.begin(); tmpIt != tmp.end(); ++tmpIt ) 182 for ( tmpIt = tmp.begin(); tmpIt != tmp.end(); ++tmpIt )
183 if ( categorieList.contains( *tmpIt ) ) { 183 if ( categorieList.contains( *tmpIt ) ) {
184 list.append( *it ); 184 list.append( *it );
185 break; 185 break;
186 } 186 }
187 } 187 }
188 } else { 188 } else {
189 // create a string list of all entries: 189 // create a string list of all entries:
190 KABC::AddressBook::Iterator it; 190 KABC::AddressBook::Iterator it;
191 for ( it = mCore->addressBook()->begin(); it != mCore->addressBook()->end(); ++it ) 191 for ( it = mCore->addressBook()->begin(); it != mCore->addressBook()->end(); ++it )
192 list.append( *it ); 192 list.append( *it );
193 } 193 }
194 194
195 if ( mUseSorting ) { 195 if ( mUseSorting ) {
196 list.setReverseSorting( mSortTypeCombo->currentItem() == 1 ); 196 list.setReverseSorting( mSortTypeCombo->currentItem() == 1 );
197 uint pos = mFieldCombo->currentItem(); 197 uint pos = mFieldCombo->currentItem();
198 if ( pos < mFields.count() ) 198 if ( pos < mFields.count() )
199 list.sortByField( mFields[ pos ] ); 199 list.sortByField( mFields[ pos ] );
200 } 200 }
201 201
202 return list; 202 return list;
203} 203}
204 204
205QStringList XXPortSelectDialog::categories() const 205QStringList XXPortSelectDialog::categories() const
206{ 206{
207 QStringList list; 207 QStringList list;
208 208
209 QListViewItemIterator it( mCategoriesView ); 209 QListViewItemIterator it( mCategoriesView );
210 for ( ; it.current(); ++it ) { 210 for ( ; it.current(); ++it ) {
211 QCheckListItem* qcli = static_cast<QCheckListItem*>(it.current()); 211 QCheckListItem* qcli = static_cast<QCheckListItem*>(it.current());
212 if ( qcli->isOn() ) 212 if ( qcli->isOn() )
213 list.append( it.current()->text( 0 ) ); 213 list.append( it.current()->text( 0 ) );
214 } 214 }
215 215
216 return list; 216 return list;
217} 217}
218 218
219void XXPortSelectDialog::filterChanged( int ) 219void XXPortSelectDialog::filterChanged( int )
220{ 220{
221 mUseFilters->setChecked( true ); 221 mUseFilters->setChecked( true );
222} 222}
223 223
224void XXPortSelectDialog::categoryClicked( QListViewItem *i ) 224void XXPortSelectDialog::categoryClicked( QListViewItem *i )
225{ 225{
226 QCheckListItem *qcli = static_cast<QCheckListItem*>( i ); 226 QCheckListItem *qcli = static_cast<QCheckListItem*>( i );
227 if ( qcli->isOn() ) 227 if ( qcli->isOn() )
228 mUseCategories->setChecked( true ); 228 mUseCategories->setChecked( true );
229} 229}
230 230
231void XXPortSelectDialog::slotHelp() 231void XXPortSelectDialog::slotHelp()
232{ 232{
233#ifndef KAB_EMBEDDED 233#ifndef KAB_EMBEDDED
234 kapp->invokeHelp( "import-and-export" ); 234 kapp->invokeHelp( "import-and-export" );
235#else //KAB_EMBEDDED 235#else //KAB_EMBEDDED
236 qDebug("XXPortSelectDialog::slotHelp is not implemented yet"); 236 qDebug("XXPortSelectDialog::slotHelp is not implemented yet");
237#endif //KAB_EMBEDDED 237#endif //KAB_EMBEDDED
238 238
239} 239}
240 240
241void XXPortSelectDialog::initGUI() 241void XXPortSelectDialog::initGUI()
242{ 242{
243 QFrame *page = plainPage(); 243 QFrame *page = plainPage();
244 244
245 QVBoxLayout *topLayout = new QVBoxLayout( page, KDialog::marginHint(), 245 QVBoxLayout *topLayout = new QVBoxLayout( page, KDialog::marginHintSmall(),
246 KDialog::spacingHint() ); 246 KDialog::spacingHintSmall() );
247 247
248 QLabel *label = new QLabel( i18n( "Which contacts do you want to select?" ), page ); 248 QLabel *label = new QLabel( i18n( "Which contacts do you want to select?" ), page );
249 topLayout->addWidget( label ); 249 topLayout->addWidget( label );
250 250
251 mButtonGroup = new QButtonGroup( i18n( "Contact Selection" ), page ); 251 mButtonGroup = new QButtonGroup( i18n( "Contact Selection" ), page );
252 mButtonGroup->setColumnLayout( 0, Qt::Vertical ); 252 mButtonGroup->setColumnLayout( 0, Qt::Vertical );
253 mButtonGroup->layout()->setSpacing( KDialog::spacingHint() ); 253 mButtonGroup->layout()->setSpacing( KDialog::spacingHint() );
254 mButtonGroup->layout()->setMargin( KDialog::marginHint() ); 254 mButtonGroup->layout()->setMargin( KDialog::marginHint() );
255 255
256 QGridLayout *groupLayout = new QGridLayout( mButtonGroup->layout() ); 256 QGridLayout *groupLayout = new QGridLayout( mButtonGroup->layout() );
257 groupLayout->setAlignment( Qt::AlignTop ); 257 groupLayout->setAlignment( Qt::AlignTop );
258 258
259 mUseWholeBook = new QRadioButton( i18n( "&All" ), mButtonGroup ); 259 mUseWholeBook = new QRadioButton( i18n( "&All" ), mButtonGroup );
260 mUseWholeBook->setChecked( true ); 260 mUseWholeBook->setChecked( true );
261 QWhatsThis::add( mUseWholeBook, i18n( "Select the entire address book" ) ); 261 QWhatsThis::add( mUseWholeBook, i18n( "Select the entire address book" ) );
262 groupLayout->addWidget( mUseWholeBook, 0, 0 ); 262 groupLayout->addWidget( mUseWholeBook, 0, 0 );
263 263
264 mUseSelection = new QRadioButton( i18n( "&Selected" ), mButtonGroup ); 264 mUseSelection = new QRadioButton( i18n( "&Selected" ), mButtonGroup );
265 QWhatsThis::add( mUseSelection, i18n( "Only contacts selected in KAddressBook.\n" 265 QWhatsThis::add( mUseSelection, i18n( "Only contacts selected in KAddressBook.\n"
266 "This option is disabled if no contacts are selected." ) ); 266 "This option is disabled if no contacts are selected." ) );
267 groupLayout->addWidget( mUseSelection, 1, 0 ); 267 groupLayout->addWidget( mUseSelection, 1, 0 );
268 268
269 mUseFilters = new QRadioButton( i18n( "By matching &filter" ), mButtonGroup ); 269 mUseFilters = new QRadioButton( i18n( "By matching &filter" ), mButtonGroup );
270 QWhatsThis::add( mUseFilters, i18n( "Only contacts matching the selected filter.\n" 270 QWhatsThis::add( mUseFilters, i18n( "Only contacts matching the selected filter.\n"
271 "This option is disabled if you haven't defined any filters" ) ); 271 "This option is disabled if you haven't defined any filters" ) );
272 groupLayout->addWidget( mUseFilters, 2, 0 ); 272 groupLayout->addWidget( mUseFilters, 2, 0 );
273 273
274 mUseCategories = new QRadioButton( i18n( "By Cate&gories" ), mButtonGroup ); 274 mUseCategories = new QRadioButton( i18n( "By Cate&gories" ), mButtonGroup );
275 QWhatsThis::add( mUseCategories, i18n( "Only contacts who are members of a category that is checked on the list to the left.\n" 275 QWhatsThis::add( mUseCategories, i18n( "Only contacts who are members of a category that is checked on the list to the left.\n"
276 "This option is disabled if you have no categories." ) ); 276 "This option is disabled if you have no categories." ) );
277 groupLayout->addWidget( mUseCategories, 3, 0 ); 277 groupLayout->addWidget( mUseCategories, 3, 0 );
278 278
279 mFiltersCombo = new QComboBox( false, mButtonGroup ); 279 mFiltersCombo = new QComboBox( false, mButtonGroup );
280 mFiltersCombo->setSizePolicy(QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ) );
280 QWhatsThis::add( mFiltersCombo, i18n( "Select a filter to decide which contacts to select." ) ); 281 QWhatsThis::add( mFiltersCombo, i18n( "Select a filter to decide which contacts to select." ) );
281 groupLayout->addWidget( mFiltersCombo, 2, 1 ); 282 groupLayout->addWidget( mFiltersCombo, 2, 1 );
282 283
283 mCategoriesView = new QListView( mButtonGroup ); 284 mCategoriesView = new QListView( mButtonGroup );
284 mCategoriesView->addColumn( "" ); 285 mCategoriesView->addColumn( "" );
285 mCategoriesView->header()->hide(); 286 mCategoriesView->header()->hide();
286 QWhatsThis::add( mCategoriesView, i18n( "Check the categories whose members you want to select." ) ); 287 QWhatsThis::add( mCategoriesView, i18n( "Check the categories whose members you want to select." ) );
287 groupLayout->addWidget( mCategoriesView, 3, 1 ); 288 groupLayout->addWidget( mCategoriesView, 3, 1 );
288 289 mCategoriesView->setSizePolicy(QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ) );
289 if (QApplication::desktop()->height() == 480 ) 290 //if (QApplication::desktop()->height() == 480 )
290 mCategoriesView->setMaximumHeight( 240 ); 291 // mCategoriesView->setMaximumHeight( 240 );
291 topLayout->addWidget( mButtonGroup ); 292 topLayout->addWidget( mButtonGroup );
292 293
293 QButtonGroup *sortingGroup = new QButtonGroup( i18n( "Sorting" ), page ); 294 QButtonGroup *sortingGroup = new QButtonGroup( i18n( "Sorting" ), page );
294 sortingGroup->setColumnLayout( 0, Qt::Vertical ); 295 sortingGroup->setColumnLayout( 0, Qt::Vertical );
295 QGridLayout *sortLayout = new QGridLayout( sortingGroup->layout(), 2, 2, 296 QGridLayout *sortLayout = new QGridLayout( sortingGroup->layout(), 2, 2,
296 KDialog::spacingHint() ); 297 KDialog::spacingHint() );
297 sortLayout->setAlignment( Qt::AlignTop ); 298 sortLayout->setAlignment( Qt::AlignTop );
298 299
299 label = new QLabel( i18n( "Criterion:" ), sortingGroup ); 300 label = new QLabel( i18n( "Criterion:" ), sortingGroup );
300 sortLayout->addWidget( label, 0, 0 ); 301 sortLayout->addWidget( label, 0, 0 );
301 302
302#ifndef KAB_EMBEDDED 303#ifndef KAB_EMBEDDED
303 mFieldCombo = new KComboBox( false, sortingGroup ); 304 mFieldCombo = new KComboBox( false, sortingGroup );
304#else //KAB_EMBEDDED 305#else //KAB_EMBEDDED
305 //US Combobox is not editable anyway 306 //US Combobox is not editable anyway
306 mFieldCombo = new KComboBox( sortingGroup ); 307 mFieldCombo = new KComboBox( sortingGroup );
307#endif //KAB_EMBEDDED 308#endif //KAB_EMBEDDED
308 sortLayout->addWidget( mFieldCombo, 0, 1 ); 309 sortLayout->addWidget( mFieldCombo, 0, 1 );
309 310
310 label = new QLabel( i18n( "Order:" ), sortingGroup ); 311 label = new QLabel( i18n( "Order:" ), sortingGroup );
311 sortLayout->addWidget( label, 1, 0 ); 312 sortLayout->addWidget( label, 1, 0 );
312 313
313#ifndef KAB_EMBEDDED 314#ifndef KAB_EMBEDDED
314 mSortTypeCombo = new KComboBox( false, sortingGroup ); 315 mSortTypeCombo = new KComboBox( false, sortingGroup );
315#else //KAB_EMBEDDED 316#else //KAB_EMBEDDED
316 //US Combobox is not editable anyway 317 //US Combobox is not editable anyway
317 mSortTypeCombo = new KComboBox( sortingGroup ); 318 mSortTypeCombo = new KComboBox( sortingGroup );
318#endif //KAB_EMBEDDED 319#endif //KAB_EMBEDDED
319 sortLayout->addWidget( mSortTypeCombo, 1, 1 ); 320 sortLayout->addWidget( mSortTypeCombo, 1, 1 );
320 321
321 topLayout->addWidget( sortingGroup ); 322 topLayout->addWidget( sortingGroup );
322 323
323 if ( !mUseSorting ) 324 if ( !mUseSorting )
324 sortingGroup->hide(); 325 sortingGroup->hide();
325#ifndef DESKTOP_VERSION 326#ifndef DESKTOP_VERSION
326 hideButtons(); 327 hideButtons();
327#endif 328#endif
328} 329}
329 330
330#ifndef KAB_EMBEDDED 331#ifndef KAB_EMBEDDED
331#include "xxportselectdialog.moc" 332#include "xxportselectdialog.moc"
332#endif //KAB_EMBEDDED 333#endif //KAB_EMBEDDED
333 334
334 335
diff --git a/libkdepim/externalapphandler.cpp b/libkdepim/externalapphandler.cpp
index 0d66a5a..0e9c5e5 100644
--- a/libkdepim/externalapphandler.cpp
+++ b/libkdepim/externalapphandler.cpp
@@ -780,432 +780,432 @@ bool ExternalAppHandler::mailToOneContact( const QString& adressline )
780//calls the phoneapplication with the number 780//calls the phoneapplication with the number
781bool ExternalAppHandler::callByPhone( const QString& phonenumber ) 781bool ExternalAppHandler::callByPhone( const QString& phonenumber )
782{ 782{
783#ifndef DESKTOP_VERSION 783#ifndef DESKTOP_VERSION
784 QString channel; 784 QString channel;
785 QString message; 785 QString message;
786 QString parameters; 786 QString parameters;
787 787
788 788
789 int client = KPimGlobalPrefs::instance()->mPhoneClient; 789 int client = KPimGlobalPrefs::instance()->mPhoneClient;
790 if (client == KPimGlobalPrefs::OTHER_PHC) 790 if (client == KPimGlobalPrefs::OTHER_PHC)
791 { 791 {
792 channel = KPimGlobalPrefs::instance()->mPhoneOtherChannel; 792 channel = KPimGlobalPrefs::instance()->mPhoneOtherChannel;
793 message = KPimGlobalPrefs::instance()->mPhoneOtherMessage; 793 message = KPimGlobalPrefs::instance()->mPhoneOtherMessage;
794 parameters = KPimGlobalPrefs::instance()->mPhoneOtherMessageParameters; 794 parameters = KPimGlobalPrefs::instance()->mPhoneOtherMessageParameters;
795 } 795 }
796 else 796 else
797 { 797 {
798 DefaultAppItem* dai = ExternalAppHandler::getDefaultItem(PHONE, client); 798 DefaultAppItem* dai = ExternalAppHandler::getDefaultItem(PHONE, client);
799 if (!dai) 799 if (!dai)
800 { 800 {
801 qDebug("could not find configured phone application."); 801 qDebug("could not find configured phone application.");
802 return false; 802 return false;
803 } 803 }
804 channel = dai->_channel; 804 channel = dai->_channel;
805 message = dai->_message; 805 message = dai->_message;
806 parameters = dai->_parameters; 806 parameters = dai->_parameters;
807 } 807 }
808 808
809 809
810 //first check if one of the mailers need the emails right in the message. 810 //first check if one of the mailers need the emails right in the message.
811 message = translateMessage(message, phonenumber, ""); 811 message = translateMessage(message, phonenumber, "");
812 812
813 813
814#ifdef DEBUG_EXT_APP_HANDLER 814#ifdef DEBUG_EXT_APP_HANDLER
815 qDebug("6Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1()); 815 qDebug("6Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1());
816 qDebug("passing phonenumber(%s) as parameter in the form %s to QCopEnvelope", phonenumber.latin1(), parameters.latin1()); 816 qDebug("passing phonenumber(%s) as parameter in the form %s to QCopEnvelope", phonenumber.latin1(), parameters.latin1());
817#endif 817#endif
818 818
819 QCopEnvelope e(channel.latin1(), message.latin1()); 819 QCopEnvelope e(channel.latin1(), message.latin1());
820 //US we need no names in the To field. The emailadresses are enough 820 //US we need no names in the To field. The emailadresses are enough
821 821
822 passParameters(&e, parameters, phonenumber, ""); 822 passParameters(&e, parameters, phonenumber, "");
823 823
824 824
825#else 825#else
826 KMessageBox::sorry( 0, i18n( "This version does not support phonecalls." ) ); 826 KMessageBox::sorry( 0, i18n( "This version does not support phonecalls." ) );
827#endif 827#endif
828 828
829 829
830 return true; 830 return true;
831} 831}
832 832
833/************************************************************************** 833/**************************************************************************
834 * 834 *
835 **************************************************************************/ 835 **************************************************************************/
836 836
837//calls the smsapplication with the number 837//calls the smsapplication with the number
838bool ExternalAppHandler::callBySMS( const QString& phonenumber ) 838bool ExternalAppHandler::callBySMS( const QString& phonenumber )
839{ 839{
840#ifndef DESKTOP_VERSION 840#ifndef DESKTOP_VERSION
841 QString channel; 841 QString channel;
842 QString message; 842 QString message;
843 QString parameters; 843 QString parameters;
844 844
845 845
846 int client = KPimGlobalPrefs::instance()->mSMSClient; 846 int client = KPimGlobalPrefs::instance()->mSMSClient;
847 if (client == KPimGlobalPrefs::OTHER_SMC) 847 if (client == KPimGlobalPrefs::OTHER_SMC)
848 { 848 {
849 channel = KPimGlobalPrefs::instance()->mSMSOtherChannel; 849 channel = KPimGlobalPrefs::instance()->mSMSOtherChannel;
850 message = KPimGlobalPrefs::instance()->mSMSOtherMessage; 850 message = KPimGlobalPrefs::instance()->mSMSOtherMessage;
851 parameters = KPimGlobalPrefs::instance()->mSMSOtherMessageParameters; 851 parameters = KPimGlobalPrefs::instance()->mSMSOtherMessageParameters;
852 } 852 }
853 else 853 else
854 { 854 {
855 DefaultAppItem* dai = ExternalAppHandler::getDefaultItem(SMS, client); 855 DefaultAppItem* dai = ExternalAppHandler::getDefaultItem(SMS, client);
856 if (!dai) 856 if (!dai)
857 { 857 {
858 qDebug("could not find configured sms application."); 858 qDebug("could not find configured sms application.");
859 return false; 859 return false;
860 } 860 }
861 channel = dai->_channel; 861 channel = dai->_channel;
862 message = dai->_message; 862 message = dai->_message;
863 parameters = dai->_parameters; 863 parameters = dai->_parameters;
864 } 864 }
865 865
866 866
867 //first check if one of the mailers need the emails right in the message. 867 //first check if one of the mailers need the emails right in the message.
868 message = translateMessage(message, phonenumber, ""); 868 message = translateMessage(message, phonenumber, "");
869 869
870 870
871#ifdef DEBUG_EXT_APP_HANDLER 871#ifdef DEBUG_EXT_APP_HANDLER
872 qDebug("7Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1()); 872 qDebug("7Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1());
873 qDebug("passing phonenumber(%s) as parameter in the form %s to QCopEnvelope", phonenumber.latin1(), parameters.latin1()); 873 qDebug("passing phonenumber(%s) as parameter in the form %s to QCopEnvelope", phonenumber.latin1(), parameters.latin1());
874#endif 874#endif
875 875
876 QCopEnvelope e(channel.latin1(), message.latin1()); 876 QCopEnvelope e(channel.latin1(), message.latin1());
877 //US we need no names in the To field. The emailadresses are enough 877 //US we need no names in the To field. The emailadresses are enough
878 878
879 passParameters(&e, parameters, phonenumber, ""); 879 passParameters(&e, parameters, phonenumber, "");
880 880
881 881
882#else 882#else
883 KMessageBox::sorry( 0, i18n( "This version does not support the sending of sms." ) ); 883 KMessageBox::sorry( 0, i18n( "This version does not support the sending of sms." ) );
884#endif 884#endif
885 885
886 886
887 return true; 887 return true;
888} 888}
889 889
890/************************************************************************** 890/**************************************************************************
891 * 891 *
892 **************************************************************************/ 892 **************************************************************************/
893 893
894//calls the pagerapplication with the number 894//calls the pagerapplication with the number
895bool ExternalAppHandler::callByPager( const QString& pagernumber ) 895bool ExternalAppHandler::callByPager( const QString& pagernumber )
896{ 896{
897#ifndef DESKTOP_VERSION 897#ifndef DESKTOP_VERSION
898 QString channel; 898 QString channel;
899 QString message; 899 QString message;
900 QString parameters; 900 QString parameters;
901 901
902 902
903 int client = KPimGlobalPrefs::instance()->mPagerClient; 903 int client = KPimGlobalPrefs::instance()->mPagerClient;
904 if (client == KPimGlobalPrefs::OTHER_PAC) 904 if (client == KPimGlobalPrefs::OTHER_PAC)
905 { 905 {
906 channel = KPimGlobalPrefs::instance()->mPagerOtherChannel; 906 channel = KPimGlobalPrefs::instance()->mPagerOtherChannel;
907 message = KPimGlobalPrefs::instance()->mPagerOtherMessage; 907 message = KPimGlobalPrefs::instance()->mPagerOtherMessage;
908 parameters = KPimGlobalPrefs::instance()->mPagerOtherMessageParameters; 908 parameters = KPimGlobalPrefs::instance()->mPagerOtherMessageParameters;
909 } 909 }
910 else 910 else
911 { 911 {
912 DefaultAppItem* dai = ExternalAppHandler::getDefaultItem(PAGER, client); 912 DefaultAppItem* dai = ExternalAppHandler::getDefaultItem(PAGER, client);
913 if (!dai) 913 if (!dai)
914 { 914 {
915 qDebug("could not find configured pager application."); 915 qDebug("could not find configured pager application.");
916 return false; 916 return false;
917 } 917 }
918 channel = dai->_channel; 918 channel = dai->_channel;
919 message = dai->_message; 919 message = dai->_message;
920 parameters = dai->_parameters; 920 parameters = dai->_parameters;
921 } 921 }
922 922
923 923
924 //first check if one of the mailers need the emails right in the message. 924 //first check if one of the mailers need the emails right in the message.
925 message = translateMessage(message, pagernumber, ""); 925 message = translateMessage(message, pagernumber, "");
926 926
927 927
928#ifdef DEBUG_EXT_APP_HANDLER 928#ifdef DEBUG_EXT_APP_HANDLER
929 qDebug("8Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1()); 929 qDebug("8Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1());
930 qDebug("passing pagernumber(%s) as parameter in the form %s to QCopEnvelope", pagernumber.latin1(), parameters.latin1()); 930 qDebug("passing pagernumber(%s) as parameter in the form %s to QCopEnvelope", pagernumber.latin1(), parameters.latin1());
931#endif 931#endif
932 932
933 QCopEnvelope e(channel.latin1(), message.latin1()); 933 QCopEnvelope e(channel.latin1(), message.latin1());
934 //US we need no names in the To field. The emailadresses are enough 934 //US we need no names in the To field. The emailadresses are enough
935 935
936 passParameters(&e, parameters, pagernumber, ""); 936 passParameters(&e, parameters, pagernumber, "");
937 937
938 938
939#else 939#else
940 KMessageBox::sorry( 0, i18n( "This version does not support paging." ) ); 940 KMessageBox::sorry( 0, i18n( "This version does not support paging." ) );
941#endif 941#endif
942 942
943 943
944 return true; 944 return true;
945} 945}
946 946
947/************************************************************************** 947/**************************************************************************
948 * 948 *
949 **************************************************************************/ 949 **************************************************************************/
950 950
951//calls the faxapplication with the number 951//calls the faxapplication with the number
952bool ExternalAppHandler::callByFax( const QString& faxnumber ) 952bool ExternalAppHandler::callByFax( const QString& faxnumber )
953{ 953{
954#ifndef DESKTOP_VERSION 954#ifndef DESKTOP_VERSION
955 QString channel; 955 QString channel;
956 QString message; 956 QString message;
957 QString parameters; 957 QString parameters;
958 958
959 959
960 int client = KPimGlobalPrefs::instance()->mFaxClient; 960 int client = KPimGlobalPrefs::instance()->mFaxClient;
961 if (client == KPimGlobalPrefs::OTHER_FAC) 961 if (client == KPimGlobalPrefs::OTHER_FAC)
962 { 962 {
963 channel = KPimGlobalPrefs::instance()->mFaxOtherChannel; 963 channel = KPimGlobalPrefs::instance()->mFaxOtherChannel;
964 message = KPimGlobalPrefs::instance()->mFaxOtherMessage; 964 message = KPimGlobalPrefs::instance()->mFaxOtherMessage;
965 parameters = KPimGlobalPrefs::instance()->mFaxOtherMessageParameters; 965 parameters = KPimGlobalPrefs::instance()->mFaxOtherMessageParameters;
966 } 966 }
967 else 967 else
968 { 968 {
969 DefaultAppItem* dai = ExternalAppHandler::getDefaultItem(FAX, client); 969 DefaultAppItem* dai = ExternalAppHandler::getDefaultItem(FAX, client);
970 if (!dai) 970 if (!dai)
971 { 971 {
972 qDebug("could not find configured fax application."); 972 qDebug("could not find configured fax application.");
973 return false; 973 return false;
974 } 974 }
975 channel = dai->_channel; 975 channel = dai->_channel;
976 message = dai->_message; 976 message = dai->_message;
977 parameters = dai->_parameters; 977 parameters = dai->_parameters;
978 } 978 }
979 979
980 980
981 //first check if one of the mailers need the emails right in the message. 981 //first check if one of the mailers need the emails right in the message.
982 message = translateMessage(message, faxnumber, ""); 982 message = translateMessage(message, faxnumber, "");
983 983
984 984
985#ifdef DEBUG_EXT_APP_HANDLER 985#ifdef DEBUG_EXT_APP_HANDLER
986 qDebug("9Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1()); 986 qDebug("9Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1());
987 qDebug("passing faxnumber(%s) as parameter in the form %s to QCopEnvelope", faxnumber.latin1(), parameters.latin1()); 987 qDebug("passing faxnumber(%s) as parameter in the form %s to QCopEnvelope", faxnumber.latin1(), parameters.latin1());
988#endif 988#endif
989 989
990 QCopEnvelope e(channel.latin1(), message.latin1()); 990 QCopEnvelope e(channel.latin1(), message.latin1());
991 //US we need no names in the To field. The emailadresses are enough 991 //US we need no names in the To field. The emailadresses are enough
992 992
993 passParameters(&e, parameters, faxnumber, ""); 993 passParameters(&e, parameters, faxnumber, "");
994 994
995 995
996#else 996#else
997 KMessageBox::sorry( 0, i18n( "This version does not support the sending of faxes." ) ); 997 KMessageBox::sorry( 0, i18n( "This version does not support the sending of faxes." ) );
998#endif 998#endif
999 999
1000 1000
1001 return true; 1001 return true;
1002} 1002}
1003 1003
1004/************************************************************************** 1004/**************************************************************************
1005 * 1005 *
1006 **************************************************************************/ 1006 **************************************************************************/
1007 1007
1008//calls the sipapplication with the number 1008//calls the sipapplication with the number
1009bool ExternalAppHandler::callBySIP( const QString& sipnumber ) 1009bool ExternalAppHandler::callBySIP( const QString& sipnumber )
1010{ 1010{
1011#ifndef DESKTOP_VERSION 1011#ifndef DESKTOP_VERSION
1012 QString channel; 1012 QString channel;
1013 QString message; 1013 QString message;
1014 QString parameters; 1014 QString parameters;
1015 1015
1016 1016
1017 int client = KPimGlobalPrefs::instance()->mSipClient; 1017 int client = KPimGlobalPrefs::instance()->mSipClient;
1018 if (client == KPimGlobalPrefs::OTHER_SIC) 1018 if (client == KPimGlobalPrefs::OTHER_SIC)
1019 { 1019 {
1020 channel = KPimGlobalPrefs::instance()->mSipOtherChannel; 1020 channel = KPimGlobalPrefs::instance()->mSipOtherChannel;
1021 message = KPimGlobalPrefs::instance()->mSipOtherMessage; 1021 message = KPimGlobalPrefs::instance()->mSipOtherMessage;
1022 parameters = KPimGlobalPrefs::instance()->mSipOtherMessageParameters; 1022 parameters = KPimGlobalPrefs::instance()->mSipOtherMessageParameters;
1023 } 1023 }
1024 else 1024 else
1025 { 1025 {
1026 DefaultAppItem* dai = ExternalAppHandler::getDefaultItem(SIP, client); 1026 DefaultAppItem* dai = ExternalAppHandler::getDefaultItem(SIP, client);
1027 if (!dai) 1027 if (!dai)
1028 { 1028 {
1029 qDebug("could not find configured sip application."); 1029 qDebug("could not find configured sip application.");
1030 return false; 1030 return false;
1031 } 1031 }
1032 channel = dai->_channel; 1032 channel = dai->_channel;
1033 message = dai->_message; 1033 message = dai->_message;
1034 parameters = dai->_parameters; 1034 parameters = dai->_parameters;
1035 } 1035 }
1036 1036
1037 1037
1038 //first check if one of the sip apps need the emails right in the message. 1038 //first check if one of the sip apps need the emails right in the message.
1039 message = translateMessage(message, sipnumber, ""); 1039 message = translateMessage(message, sipnumber, "");
1040 1040
1041 1041
1042#ifdef DEBUG_EXT_APP_HANDLER 1042#ifdef DEBUG_EXT_APP_HANDLER
1043 qDebug("10Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1()); 1043 qDebug("10Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1());
1044 qDebug("passing sipnumber(%s) as parameter in the form %s to QCopEnvelope", sipnumber.latin1(), parameters.latin1()); 1044 qDebug("passing sipnumber(%s) as parameter in the form %s to QCopEnvelope", sipnumber.latin1(), parameters.latin1());
1045#endif 1045#endif
1046 1046
1047 QCopEnvelope e(channel.latin1(), message.latin1()); 1047 QCopEnvelope e(channel.latin1(), message.latin1());
1048 //US we need no names in the To field. The emailadresses are enough 1048 //US we need no names in the To field. The emailadresses are enough
1049 1049
1050 passParameters(&e, parameters, sipnumber, ""); 1050 passParameters(&e, parameters, sipnumber, "");
1051 1051
1052 1052
1053#else 1053#else
1054 KMessageBox::sorry( 0, i18n( "This version does not support sip." ) ); 1054 KMessageBox::sorry( 0, i18n( "This version does not support sip." ) );
1055#endif 1055#endif
1056 1056
1057 1057
1058 return true; 1058 return true;
1059} 1059}
1060 1060
1061 1061
1062/************************************************************************** 1062/**************************************************************************
1063 * 1063 *
1064 **************************************************************************/ 1064 **************************************************************************/
1065 1065
1066 1066
1067QString& ExternalAppHandler::translateMessage(QString& message, const QString& param1, const QString& param2 ) const 1067QString& ExternalAppHandler::translateMessage(QString& message, const QString& param1, const QString& param2 ) const
1068{ 1068{
1069 message = message.replace( QRegExp("%1"), param1 ); 1069 message = message.replace( QRegExp("%1"), param1 );
1070 return message.replace( QRegExp("%2"), param2 ); 1070 return message.replace( QRegExp("%2"), param2 );
1071} 1071}
1072 1072
1073/************************************************************************** 1073/**************************************************************************
1074 * 1074 *
1075 **************************************************************************/ 1075 **************************************************************************/
1076 1076
1077void ExternalAppHandler::passParameters(QCopEnvelope* e, const QString& parameters, const QString& param1 , const QString& param2) const 1077void ExternalAppHandler::passParameters(QCopEnvelope* e, const QString& parameters, const QString& param1 , const QString& param2) const
1078{ 1078{
1079#ifndef DESKTOP_VERSION 1079#ifndef DESKTOP_VERSION
1080 QMap<QString, QString> valmap; 1080 QMap<QString, QString> valmap;
1081 bool useValMap = false; 1081 bool useValMap = false;
1082 1082
1083 // first extract all parts of the parameters. 1083 // first extract all parts of the parameters.
1084 QStringList paramlist = QStringList::split(";", parameters); 1084 QStringList paramlist = QStringList::split(";", parameters);
1085 1085
1086 //Now check how many parts we have. 1086 //Now check how many parts we have.
1087 //=0 :no params to pass 1087 //=0 :no params to pass
1088 //>0 :parameters to pass 1088 //>0 :parameters to pass
1089 for ( QStringList::Iterator it = paramlist.begin(); it != paramlist.end(); ++it ) 1089 for ( QStringList::Iterator it = paramlist.begin(); it != paramlist.end(); ++it )
1090 { 1090 {
1091 QString param = (*it); 1091 QString param = (*it);
1092 QStringList keyvallist = QStringList::split("=", param); 1092 QStringList keyvallist = QStringList::split("=", param);
1093 1093
1094 //if we have keyvalue pairs, we assume that we pass a map to the envelope 1094 //if we have keyvalue pairs, we assume that we pass a map to the envelope
1095 QStringList::Iterator it2 = keyvallist.begin(); 1095 QStringList::Iterator it2 = keyvallist.begin();
1096 QString key = (*it2); 1096 QString key = (*it2);
1097 key = key.replace( QRegExp("%1"), param1 ); 1097 key = key.replace( QRegExp("%1"), param1 );
1098 key = key.replace( QRegExp("%2"), param2 ); 1098 key = key.replace( QRegExp("%2"), param2 );
1099 ++it2; 1099 ++it2;
1100 1100
1101 if(it2 != keyvallist.end()) 1101 if(it2 != keyvallist.end())
1102 { 1102 {
1103 QString value = (*it2); 1103 QString value = (*it2);
1104 value = value.replace( QRegExp("%1"), param1 ); 1104 value = value.replace( QRegExp("%1"), param1 );
1105 value = value.replace( QRegExp("%2"), param2 ); 1105 value = value.replace( QRegExp("%2"), param2 );
1106 1106
1107 valmap.insert(key, value); 1107 valmap.insert(key, value);
1108 useValMap = true; 1108 useValMap = true;
1109 } 1109 }
1110 else 1110 else
1111 { 1111 {
1112 // qDebug("pass parameter << %s", key.latin1()); 1112 // qDebug("pass parameter << %s", key.latin1());
1113 (*e) << key; 1113 (*e) << key;
1114 } 1114 }
1115 } 1115 }
1116 1116
1117 if (useValMap == true) 1117 if (useValMap == true)
1118 (*e) << valmap; 1118 (*e) << valmap;
1119 1119
1120#endif 1120#endif
1121 1121
1122} 1122}
1123 1123
1124 1124
1125 1125
1126/************************************************************************** 1126/**************************************************************************
1127 * 1127 *
1128 **************************************************************************/ 1128 **************************************************************************/
1129 1129
1130void ExternalAppHandler::appMessage( const QCString& cmsg, const QByteArray& data ) 1130void ExternalAppHandler::appMessage( const QCString& cmsg, const QByteArray& data )
1131{ 1131{
1132 1132
1133 if ( cmsg == "nextView()" ) { 1133 if ( cmsg == "nextView()" ) {
1134 qDebug("nextView()"); 1134 qDebug("nextView()");
1135 emit nextView(); 1135 emit nextView();
1136 return; 1136 return;
1137 } 1137 }
1138 if ( cmsg == "callContactdialog()" ) { 1138 if ( cmsg == "callContactdialog()" ) {
1139 qDebug("callContactdialog()"); 1139 qDebug("callContactdialog()");
1140 emit callContactdialog(); 1140 emit callContactdialog();
1141 return; 1141 return;
1142 } 1142 }
1143 1143
1144 bool res = mNameEmailUidListFromKAPITransfer->appMessage( cmsg, data ); 1144 bool res = mNameEmailUidListFromKAPITransfer->appMessage( cmsg, data );
1145 if (!res) 1145 if (!res)
1146 res = mBirthdayListFromKAPITransfer->appMessage( cmsg, data ); 1146 res = mBirthdayListFromKAPITransfer->appMessage( cmsg, data );
1147 1147
1148 if (!res) 1148 if (!res)
1149 res = mDisplayDetails->appMessage( cmsg, data ); 1149 res = mDisplayDetails->appMessage( cmsg, data );
1150 1150
1151// if (!res) 1151// if (!res)
1152// res = mNameEmailUidListFromKAPITransfer->appMessage( cmsg, data ); 1152// res = mNameEmailUidListFromKAPITransfer->appMessage( cmsg, data );
1153} 1153}
1154 1154
1155 1155
1156 1156
1157bool ExternalAppHandler::requestNameEmailUidListFromKAPI(const QString& sourceChannel, const QString& sessionuid) 1157bool ExternalAppHandler::requestNameEmailUidListFromKAPI(const QString& sourceChannel, const QString& sessionuid)
1158{ 1158{
1159 mNameEmailUidListFromKAPITransfer->setSourceChannel(sourceChannel); 1159 mNameEmailUidListFromKAPITransfer->setSourceChannel(sourceChannel);
1160 // maybe we are sending to KA/Pi fom a different worldd... 1160 // maybe we are sending to KA/Pi fom a different worldd...
1161 // it may be that the QAplication::desktop()->width() values in KA/Pi are not the same as in our application 1161 // it may be that the QAplication::desktop()->width() values in KA/Pi are not the same as in our application
1162 // for that reason we send the current QApplication::desktop()->width() to KA/Pi 1162 // for that reason we send the current QApplication::desktop()->width() to KA/Pi
1163 //qDebug("UID %s ", sessionuid.latin1()); 1163 //qDebug("UID %s ", sessionuid.latin1());
1164 return mNameEmailUidListFromKAPITransfer->sendMessageToTarget(QString::number ( QApplication::desktop()->width() )); 1164 //return mNameEmailUidListFromKAPITransfer->sendMessageToTarget(QString::number ( QApplication::desktop()->width() ));
1165 //return mNameEmailUidListFromKAPITransfer->sendMessageToTarget(sessionuid); 1165 return mNameEmailUidListFromKAPITransfer->sendMessageToTarget(sessionuid);
1166} 1166}
1167 1167
1168bool ExternalAppHandler::returnNameEmailUidListFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& list1, const QStringList& list2, const QStringList& list3) 1168bool ExternalAppHandler::returnNameEmailUidListFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& list1, const QStringList& list2, const QStringList& list3)
1169{ 1169{
1170 QStringList list4, list5, list6; 1170 QStringList list4, list5, list6;
1171 1171
1172 mNameEmailUidListFromKAPITransfer->setSourceChannel(sourceChannel); 1172 mNameEmailUidListFromKAPITransfer->setSourceChannel(sourceChannel);
1173 return mNameEmailUidListFromKAPITransfer->sendMessageToSource(sessionuid, list1, list2, list3, list4, list5, list6); 1173 return mNameEmailUidListFromKAPITransfer->sendMessageToSource(sessionuid, list1, list2, list3, list4, list5, list6);
1174} 1174}
1175 1175
1176bool ExternalAppHandler::requestFindByEmailFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QString& email) 1176bool ExternalAppHandler::requestFindByEmailFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QString& email)
1177{ 1177{
1178 mFindByEmailFromKAPITransfer->setSourceChannel(sourceChannel); 1178 mFindByEmailFromKAPITransfer->setSourceChannel(sourceChannel);
1179 return mFindByEmailFromKAPITransfer->sendMessageToTarget(sessionuid, email); 1179 return mFindByEmailFromKAPITransfer->sendMessageToTarget(sessionuid, email);
1180} 1180}
1181 1181
1182bool ExternalAppHandler::returnFindByEmailFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& list1, const QStringList& list2, const QStringList& list3) 1182bool ExternalAppHandler::returnFindByEmailFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& list1, const QStringList& list2, const QStringList& list3)
1183{ 1183{
1184 QStringList list4, list5, list6; 1184 QStringList list4, list5, list6;
1185 1185
1186 mFindByEmailFromKAPITransfer->setSourceChannel(sourceChannel); 1186 mFindByEmailFromKAPITransfer->setSourceChannel(sourceChannel);
1187 return mFindByEmailFromKAPITransfer->sendMessageToSource(sessionuid, list1, list2, list3, list4, list5, list6); 1187 return mFindByEmailFromKAPITransfer->sendMessageToSource(sessionuid, list1, list2, list3, list4, list5, list6);
1188} 1188}
1189 1189
1190bool ExternalAppHandler::requestDetailsFromKAPI(const QString& name, const QString& email, const QString& uid) 1190bool ExternalAppHandler::requestDetailsFromKAPI(const QString& name, const QString& email, const QString& uid)
1191{ 1191{
1192 mDisplayDetails->setSourceChannel(""); 1192 mDisplayDetails->setSourceChannel("");
1193 return mDisplayDetails->sendMessageToTarget("", name, email, uid); 1193 return mDisplayDetails->sendMessageToTarget("", name, email, uid);
1194} 1194}
1195 1195
1196bool ExternalAppHandler::requestBirthdayListFromKAPI(const QString& sourceChannel, const QString& sessionuid) 1196bool ExternalAppHandler::requestBirthdayListFromKAPI(const QString& sourceChannel, const QString& sessionuid)
1197{ 1197{
1198 mBirthdayListFromKAPITransfer->setSourceChannel(sourceChannel); 1198 mBirthdayListFromKAPITransfer->setSourceChannel(sourceChannel);
1199 return mBirthdayListFromKAPITransfer->sendMessageToTarget(sessionuid); 1199 return mBirthdayListFromKAPITransfer->sendMessageToTarget(sessionuid);
1200} 1200}
1201 1201
1202bool ExternalAppHandler::returnBirthdayListFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& list1, const QStringList& list2, const QStringList& list3, const QStringList& list4, const QStringList& list5, const QStringList& list6) 1202bool ExternalAppHandler::returnBirthdayListFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& list1, const QStringList& list2, const QStringList& list3, const QStringList& list4, const QStringList& list5, const QStringList& list6)
1203{ 1203{
1204 mBirthdayListFromKAPITransfer->setSourceChannel(sourceChannel); 1204 mBirthdayListFromKAPITransfer->setSourceChannel(sourceChannel);
1205 return mBirthdayListFromKAPITransfer->sendMessageToSource(sessionuid, list1, list2, list3, list4, list5, list6); 1205 return mBirthdayListFromKAPITransfer->sendMessageToSource(sessionuid, list1, list2, list3, list4, list5, list6);
1206} 1206}
1207 1207
1208 1208
1209 1209
1210 1210
1211 1211