Diffstat (limited to 'core/pim/addressbook/abview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/pim/addressbook/abview.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/core/pim/addressbook/abview.cpp b/core/pim/addressbook/abview.cpp index 161b163..93e57ca 100644 --- a/core/pim/addressbook/abview.cpp +++ b/core/pim/addressbook/abview.cpp @@ -144,24 +144,25 @@ bool AbView::save() return m_contactdb->save(); } void AbView::load() { qWarning("abView:Load data"); // Letter Search is stopped at this place emit signalClearLetterPicker(); if ( m_inPersonal ) + // VCard Backend does not sort.. m_list = m_contactdb->allRecords(); else{ m_list = m_contactdb->sorted( true, 0, 0, 0 ); clearForCategory(); } qWarning ("Number of contacts: %d", m_list.count()); updateView( true ); } @@ -216,26 +217,32 @@ void AbView::setShowToView( Views view ) } } void AbView::setShowByLetter( char c ) { qWarning("void AbView::setShowByLetter( %c )", c ); OContact query; if ( c == 0 ){ load(); return; }else{ + // If the current Backend is unable to solve the query, we will + // ignore the request .. + if ( ! m_contactdb->hasQuerySettings( OContactAccess::WildCards | OContactAccess::IgnoreCase ) ){ + return; + } + query.setLastName( QString("%1*").arg(c) ); - m_list = m_contactdb->queryByExample( query, OContactAccess::WildCards ); + m_list = m_contactdb->queryByExample( query, OContactAccess::WildCards | OContactAccess::IgnoreCase ); clearForCategory(); m_curr_Contact = 0; } updateView( true ); } void AbView::setListOrder( const QValueList<int>& ordered ) { m_orderedFields = ordered; updateView(); } |