Diffstat (limited to 'core/pim/addressbook/abview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/pim/addressbook/abview.cpp | 55 |
1 files changed, 32 insertions, 23 deletions
diff --git a/core/pim/addressbook/abview.cpp b/core/pim/addressbook/abview.cpp index 0f4bd5f..7226e82 100644 --- a/core/pim/addressbook/abview.cpp +++ b/core/pim/addressbook/abview.cpp @@ -126,11 +126,14 @@ OContact AbView::currentEntry() { + OContact currentContact; + switch ( (int) m_curr_View ) { case TableView: - return ( m_abTable -> currentEntry() ); + currentContact = m_abTable -> currentEntry(); break; case CardView: - return ( m_ablabel -> currentEntry() ); + currentContact = m_ablabel -> currentEntry(); break; } - return OContact(); + m_curr_Contact = currentContact.uid(); + return currentContact; } @@ -147,2 +150,5 @@ void AbView::load() qWarning("abView:Load data"); + + // Letter Search is stopped at this place + emit signalClearLetterPicker(); @@ -150,6 +156,6 @@ void AbView::load() m_list = m_contactdb->allRecords(); - else + else{ m_list = m_contactdb->sorted( true, 0, 0, 0 ); - - clearForCategory(); + clearForCategory(); + } @@ -157,3 +163,3 @@ void AbView::load() - updateView(); + updateView( true ); @@ -226,3 +232,3 @@ void AbView::setShowByLetter( char c ) } - updateView(); + updateView( true ); } @@ -327,3 +333,3 @@ void AbView::slotDoFind( const QString &str, bool caseSensitive, bool useRegExp, // Now show all found entries - updateView(); + updateView( true ); } @@ -409,3 +415,3 @@ void AbView::updateListinViews() -void AbView::updateView() +void AbView::updateView( bool newdata ) { @@ -418,18 +424,21 @@ void AbView::updateView() // If we switching the view, we have to store some information - if ( m_list.count() ){ - switch ( (int) m_prev_View ) { - case TableView: - m_curr_Contact = m_abTable -> currentEntry_UID(); - break; - case CardView: - m_curr_Contact = m_ablabel -> currentEntry_UID(); - break; - } - }else - m_curr_Contact = 0; + if ( !newdata ){ + if ( m_list.count() ){ + switch ( (int) m_prev_View ) { + case TableView: + m_curr_Contact = m_abTable -> currentEntry_UID(); + break; + case CardView: + m_curr_Contact = m_ablabel -> currentEntry_UID(); + break; + } + }else + m_curr_Contact = 0; + } // Feed all views with new lists - updateListinViews(); + if ( newdata ) + updateListinViews(); - // Inform the world that the view is changed + // Tell the world that the view is changed if ( m_curr_View != m_prev_View ) |