summaryrefslogtreecommitdiffabout
path: root/kaddressbook/viewmanager.cpp
Unidiff
Diffstat (limited to 'kaddressbook/viewmanager.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/viewmanager.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/kaddressbook/viewmanager.cpp b/kaddressbook/viewmanager.cpp
index 4be860e..04759a7 100644
--- a/kaddressbook/viewmanager.cpp
+++ b/kaddressbook/viewmanager.cpp
@@ -191,32 +191,37 @@ void ViewManager::setSelected( const QString &uid, bool selected )
191 mActiveView->setSelected( uid, selected ); 191 mActiveView->setSelected( uid, selected );
192} 192}
193 193
194void ViewManager::setListSelected(QStringList list) 194void ViewManager::setListSelected(QStringList list)
195{ 195{
196 int i, count = list.count(); 196 int i, count = list.count();
197 for ( i = 0; i < count;++i ) 197 for ( i = 0; i < count;++i )
198 setSelected( list[i], true ); 198 setSelected( list[i], true );
199 199
200} 200}
201void ViewManager::unloadViews() 201void ViewManager::unloadViews()
202{ 202{
203 mViewDict.clear(); 203 mViewDict.clear();
204 mActiveView = 0; 204 mActiveView = 0;
205} 205}
206 206
207void ViewManager::selectView( const QString &name )
208{
209 setActiveView( name );
210 mCore->saveSettings();
211}
207void ViewManager::setActiveView( const QString &name ) 212void ViewManager::setActiveView( const QString &name )
208{ 213{
209 KAddressBookView *view = 0; 214 KAddressBookView *view = 0;
210 215
211 // Check that this isn't the same as the current active view 216 // Check that this isn't the same as the current active view
212 if ( mActiveView && ( mActiveView->caption() == name ) ) 217 if ( mActiveView && ( mActiveView->caption() == name ) )
213 return; 218 return;
214 219
215 // At this point we know the view that should be active is not 220 // At this point we know the view that should be active is not
216 // currently active. We will try to find the new on in the list. If 221 // currently active. We will try to find the new on in the list. If
217 // we can't find it, it means it hasn't been instantiated, so we will 222 // we can't find it, it means it hasn't been instantiated, so we will
218 // create it on demand. 223 // create it on demand.
219 224
220 view = mViewDict.find( name ); 225 view = mViewDict.find( name );
221 226
222 // Check if we found the view. If we didn't, then we need to create it 227 // Check if we found the view. If we didn't, then we need to create it
@@ -270,33 +275,32 @@ void ViewManager::setActiveView( const QString &name )
270 setActiveFilter( 0 ); 275 setActiveFilter( 0 );
271 } else if ( view->defaultFilterType() == KAddressBookView::Active ) { 276 } else if ( view->defaultFilterType() == KAddressBookView::Active ) {
272 setActiveFilter( mActionSelectFilter->currentItem() ); 277 setActiveFilter( mActionSelectFilter->currentItem() );
273 } else { 278 } else {
274 uint pos = filterPosition( view->defaultFilterName() ); 279 uint pos = filterPosition( view->defaultFilterName() );
275 mActionSelectFilter->setCurrentItem( pos ); 280 mActionSelectFilter->setCurrentItem( pos );
276 setActiveFilter( pos ); 281 setActiveFilter( pos );
277 } 282 }
278//US qDebug("ViewManager::setActiveView 6" ); 283//US qDebug("ViewManager::setActiveView 6" );
279 284
280 // Update the inc search widget to show the fields in the new active 285 // Update the inc search widget to show the fields in the new active
281 // view. 286 // view.
282 mCore->setSearchFields( mActiveView->fields() ); 287 mCore->setSearchFields( mActiveView->fields() );
283 288
284//US performance optimization. setActiveFilter calls also mActiveView->refresh() 289//US performance optimization. setActiveFilter calls also mActiveView->refresh()
285//US mActiveView->refresh(); 290//US mActiveView->refresh();
286 mCore->saveSettings();
287 } 291 }
288 else 292 else
289 { 293 {
290 qDebug("ViewManager::setActiveView: unable to find view" ); 294 qDebug("ViewManager::setActiveView: unable to find view" );
291 } 295 }
292} 296}
293 297
294//US added another method with no parameter, since my moc compiler does not support default parameters. 298//US added another method with no parameter, since my moc compiler does not support default parameters.
295void ViewManager::refreshView() 299void ViewManager::refreshView()
296{ 300{
297 refreshView( QString::null ); 301 refreshView( QString::null );
298} 302}
299 303
300void ViewManager::refreshView( const QString &uid ) 304void ViewManager::refreshView( const QString &uid )
301{ 305{
302 if ( mActiveView ) 306 if ( mActiveView )
@@ -476,33 +480,32 @@ void ViewManager::createViewFactories()
476// qDebug("ViewManager::createViewFactories() Loading factory: %s", viewFactory->type().latin1()); 480// qDebug("ViewManager::createViewFactories() Loading factory: %s", viewFactory->type().latin1());
477 481
478 viewFactory = new TableViewFactory(); 482 viewFactory = new TableViewFactory();
479 mViewFactoryDict.insert( viewFactory->type(), viewFactory ); 483 mViewFactoryDict.insert( viewFactory->type(), viewFactory );
480// qDebug("ViewManager::createViewFactories() Loading factory: %s", viewFactory->type().latin1()); 484// qDebug("ViewManager::createViewFactories() Loading factory: %s", viewFactory->type().latin1());
481 485
482 viewFactory = new CardViewFactory(); 486 viewFactory = new CardViewFactory();
483 mViewFactoryDict.insert( viewFactory->type(), viewFactory ); 487 mViewFactoryDict.insert( viewFactory->type(), viewFactory );
484// qDebug("ViewManager::createViewFactories() Loading factory: %s", viewFactory->type().latin1()); 488// qDebug("ViewManager::createViewFactories() Loading factory: %s", viewFactory->type().latin1());
485 489
486#endif //KAB_EMBEDDED 490#endif //KAB_EMBEDDED
487 491
488} 492}
489 493
490void ViewManager::dropped( QDropEvent *e ) 494void ViewManager::dropped( QDropEvent *e )
491{ 495{
492 kdDebug(5720) << "ViewManager::dropped: got a drop event" << endl;
493 496
494#ifndef KAB_EMBEDDED 497#ifndef KAB_EMBEDDED
495 498
496 QString clipText, vcards; 499 QString clipText, vcards;
497 KURL::List urls; 500 KURL::List urls;
498 501
499 if ( KURLDrag::decode( e, urls) ) { 502 if ( KURLDrag::decode( e, urls) ) {
500 KURL::List::Iterator it = urls.begin(); 503 KURL::List::Iterator it = urls.begin();
501 int c = urls.count(); 504 int c = urls.count();
502 if ( c > 1 ) { 505 if ( c > 1 ) {
503 QString questionString = i18n( "Import one contact into your addressbook?", "Import %n contacts into your addressbook?", c ); 506 QString questionString = i18n( "Import one contact into your addressbook?", "Import %n contacts into your addressbook?", c );
504 if ( KMessageBox::questionYesNo( this, questionString, i18n( "Import Contacts?" ) ) == KMessageBox::Yes ) { 507 if ( KMessageBox::questionYesNo( this, questionString, i18n( "Import Contacts?" ) ) == KMessageBox::Yes ) {
505 for ( ; it != urls.end(); ++it ) 508 for ( ; it != urls.end(); ++it )
506 emit urlDropped( *it ); 509 emit urlDropped( *it );
507 } 510 }
508 } else if ( c == 1 ) 511 } else if ( c == 1 )
@@ -642,33 +645,33 @@ int ViewManager::filterPosition( const QString &name ) const
642void ViewManager::initActions() 645void ViewManager::initActions()
643{ 646{
644//US <ActionList name="view_loadedviews"/> 647//US <ActionList name="view_loadedviews"/>
645//US <Separator/> 648//US <Separator/>
646 649
647#ifdef KAB_EMBEDDED 650#ifdef KAB_EMBEDDED
648 QPopupMenu *viewmenu = (QPopupMenu*)mCore->getViewMenu(); 651 QPopupMenu *viewmenu = (QPopupMenu*)mCore->getViewMenu();
649 QPopupMenu *settingsmenu = (QPopupMenu*)mCore->getSettingsMenu(); 652 QPopupMenu *settingsmenu = (QPopupMenu*)mCore->getSettingsMenu();
650 QPopupMenu *filtermenu = (QPopupMenu*)mCore->getFilterMenu(); 653 QPopupMenu *filtermenu = (QPopupMenu*)mCore->getFilterMenu();
651#endif //KAB_EMBEDDED 654#endif //KAB_EMBEDDED
652 655
653 mActionSelectView = new KSelectAction( i18n( "Select View" ), 0, mCore->actionCollection(), "select_view" ); 656 mActionSelectView = new KSelectAction( i18n( "Select View" ), 0, mCore->actionCollection(), "select_view" );
654#if KDE_VERSION >= 309 657#if KDE_VERSION >= 309
655 mActionSelectView->setMenuAccelsEnabled( false ); 658 mActionSelectView->setMenuAccelsEnabled( false );
656#endif 659#endif
657 connect( mActionSelectView, SIGNAL( activated( const QString& ) ), 660 connect( mActionSelectView, SIGNAL( activated( const QString& ) ),
658 SLOT( setActiveView( const QString& ) ) ); 661 SLOT( selectView( const QString& ) ) );
659 662
660 663
661#ifdef KAB_EMBEDDED 664#ifdef KAB_EMBEDDED
662 mActionSelectView->plug(viewmenu); 665 mActionSelectView->plug(viewmenu);
663 viewmenu->insertSeparator(); 666 viewmenu->insertSeparator();
664#endif //KAB_EMBEDDED 667#endif //KAB_EMBEDDED
665 668
666 KAction *action; 669 KAction *action;
667 670
668 action = new KAction( i18n( "Modify View..." ), "configure", 0, this, 671 action = new KAction( i18n( "Modify View..." ), "configure", 0, this,
669 SLOT( editView() ), mCore->actionCollection(), "view_modify" ); 672 SLOT( editView() ), mCore->actionCollection(), "view_modify" );
670#ifndef KAB_EMBEDDED 673#ifndef KAB_EMBEDDED
671 action->setWhatsThis( i18n( "By pressing this button a dialog opens that allows you to modify the view of the addressbook. There you can add or remove fields that you want to be shown or hidden in the addressbook like the name for example." ) ); 674 action->setWhatsThis( i18n( "By pressing this button a dialog opens that allows you to modify the view of the addressbook. There you can add or remove fields that you want to be shown or hidden in the addressbook like the name for example." ) );
672#else //KAB_EMBEDDED 675#else //KAB_EMBEDDED
673 action->plug(viewmenu); 676 action->plug(viewmenu);
674#endif //KAB_EMBEDDED 677#endif //KAB_EMBEDDED