summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/addressbook/abtable.cpp1
-rw-r--r--core/pim/addressbook/abview.cpp44
-rw-r--r--core/pim/addressbook/addressbook.cpp7
3 files changed, 25 insertions, 27 deletions
diff --git a/core/pim/addressbook/abtable.cpp b/core/pim/addressbook/abtable.cpp
index 0be7d1a..49e66ad 100644
--- a/core/pim/addressbook/abtable.cpp
+++ b/core/pim/addressbook/abtable.cpp
@@ -159,7 +159,6 @@ void AbTable::setContacts( const Opie::OPimContactAccess::List& viewList )
159 setSorting( false ); 159 setSorting( false );
160 setPaintingEnabled( FALSE ); 160 setPaintingEnabled( FALSE );
161 161
162 Opie::OPimContactAccess::List::Iterator it;
163 setNumRows( m_viewList.count() ); 162 setNumRows( m_viewList.count() );
164 //int row = 0; 163 //int row = 0;
165 // for ( it = m_viewList.begin(); it != m_viewList.end(); ++it ) 164 // for ( it = m_viewList.begin(); it != m_viewList.end(); ++it )
diff --git a/core/pim/addressbook/abview.cpp b/core/pim/addressbook/abview.cpp
index 6be19f8..34035fd 100644
--- a/core/pim/addressbook/abview.cpp
+++ b/core/pim/addressbook/abview.cpp
@@ -42,7 +42,7 @@ AbView::AbView ( QWidget* parent, const QValueList<int>& ordered ):
42 mCat(0), 42 mCat(0),
43 m_inSearch( false ), 43 m_inSearch( false ),
44 m_inPersonal( false ), 44 m_inPersonal( false ),
45 m_curr_category( -1 ), 45 m_curr_category( 0 ),
46 m_curr_View( TableView ), 46 m_curr_View( TableView ),
47 m_prev_View( TableView ), 47 m_prev_View( TableView ),
48 m_curr_Contact ( 0 ), 48 m_curr_Contact ( 0 ),
@@ -157,20 +157,9 @@ void AbView::load()
157 // Letter Search is stopped at this place 157 // Letter Search is stopped at this place
158 emit signalClearLetterPicker(); 158 emit signalClearLetterPicker();
159 159
160 if ( m_curr_category == 0 ) { 160 m_list = m_contactdb->sorted( true, Opie::OPimContactAccess::SortFileAsName,
161 // Show unfiled 161 Opie::OPimContactAccess::FilterCategory, m_curr_category );
162 m_list = m_contactdb->sorted( true, Opie::OPimContactAccess::SortFileAsName, 162
163 Opie::OPimContactAccess::DoNotShowWithCategory, 0 );
164 } elseif ( m_curr_category != -1 ){
165 // Just show selected category
166 m_list = m_contactdb->sorted( true, Opie::OPimContactAccess::SortFileAsName,
167 Opie::OPimBase::FilterCategory, m_curr_category );
168 } else {
169 // Show all categories
170 m_list = m_contactdb->sorted( true, Opie::OPimContactAccess::SortFileAsName,
171 Opie::OPimBase::FilterOff, 0 );
172 }
173
174 // if ( m_curr_category != -1 ) 163 // if ( m_curr_category != -1 )
175 // clearForCategory(); 164 // clearForCategory();
176 165
@@ -199,9 +188,11 @@ void AbView::setShowByCategory( const QString& cat )
199 188
200 int intCat = 0; 189 int intCat = 0;
201 190
202 // All (cat == NULL) will be stored as -1 191 // Unfiled will be stored as -1
203 if ( cat.isNull() ) 192 if ( cat == tr( "Unfiled" ) )
204 intCat = -1; 193 intCat = -1;
194 else if ( cat.isNull() )
195 intCat = 0;
205 else 196 else
206 intCat = mCat.id("Contacts", cat ); 197 intCat = mCat.id("Contacts", cat );
207 198
@@ -212,9 +203,9 @@ void AbView::setShowByCategory( const QString& cat )
212 203
213 m_curr_category = intCat; 204 m_curr_category = intCat;
214 emit signalClearLetterPicker(); 205 emit signalClearLetterPicker();
215
216 load(); 206 load();
217 } 207 }
208 m_curr_category = intCat;
218 209
219} 210}
220 211
@@ -245,7 +236,7 @@ void AbView::setShowByLetter( char c, AbConfig::LPSearchMode mode )
245 }else{ 236 }else{
246 // If the current Backend is unable to solve the query, we will 237 // If the current Backend is unable to solve the query, we will
247 // ignore the request .. 238 // ignore the request ..
248 if ( ! m_contactdb->hasQuerySettings( Opie::OPimContactAccess::WildCards | 239 if ( ! m_contactdb->hasQuerySettings( Opie::OPimContactAccess::WildCards |
249 Opie::OPimContactAccess::IgnoreCase ) ){ 240 Opie::OPimContactAccess::IgnoreCase ) ){
250 owarn << "Tried to access queryByExample which is not supported by the current backend!!" << oendl; 241 owarn << "Tried to access queryByExample which is not supported by the current backend!!" << oendl;
251 owarn << "I have to ignore this access!" << oendl; 242 owarn << "I have to ignore this access!" << oendl;
@@ -265,8 +256,13 @@ void AbView::setShowByLetter( char c, AbConfig::LPSearchMode mode )
265 return; 256 return;
266 } 257 }
267 m_list = m_contactdb->queryByExample( query, Opie::OPimContactAccess::WildCards | Opie::OPimContactAccess::IgnoreCase ); 258 m_list = m_contactdb->queryByExample( query, Opie::OPimContactAccess::WildCards | Opie::OPimContactAccess::IgnoreCase );
268 if ( m_curr_category != -1 ) 259
260 if ( m_curr_category != 0 )
269 clearForCategory(); 261 clearForCategory();
262
263 // Sort filtered results
264 m_list = m_contactdb->sorted( m_list, true, Opie::OPimContactAccess::SortFileAsName,
265 Opie::OPimContactAccess::FilterCategory, m_curr_category );
270 m_curr_Contact = 0; 266 m_curr_Contact = 0;
271 } 267 }
272 updateView( true ); 268 updateView( true );
@@ -378,7 +374,7 @@ void AbView::slotDoFind( const QString &str, bool caseSensitive, bool useRegExp,
378 // Now remove all contacts with wrong category (if any selected) 374 // Now remove all contacts with wrong category (if any selected)
379 // This algorithm is a litte bit ineffective, but 375 // This algorithm is a litte bit ineffective, but
380 // we will not have a lot of matching entries.. 376 // we will not have a lot of matching entries..
381 if ( m_curr_category != -1 ) 377 if ( m_curr_category != 0 )
382 clearForCategory(); 378 clearForCategory();
383 379
384 // Now show all found entries 380 // Now show all found entries
@@ -418,7 +414,7 @@ void AbView::clearForCategory()
418 // Now remove all contacts with wrong category if any category selected 414 // Now remove all contacts with wrong category if any category selected
419 415
420 Opie::OPimContactAccess::List allList = m_list; 416 Opie::OPimContactAccess::List allList = m_list;
421 if ( m_curr_category != -1 ){ 417 if ( m_curr_category != 0 ){
422 for ( it = allList.begin(); it != allList.end(); ++it ){ 418 for ( it = allList.begin(); it != allList.end(); ++it ){
423 if ( !contactCompare( *it, m_curr_category ) ){ 419 if ( !contactCompare( *it, m_curr_category ) ){
424 //odebug << "Removing " << (*it).uid() << oendl; 420 //odebug << "Removing " << (*it).uid() << oendl;
@@ -441,7 +437,7 @@ bool AbView::contactCompare( const Opie::OPimContact &cnt, int category )
441 //odebug << "Number of categories: " << cats.count() << oendl; 437 //odebug << "Number of categories: " << cats.count() << oendl;
442 438
443 returnMe = false; 439 returnMe = false;
444 if ( cats.count() == 0 && category == 0 ) 440 if ( cats.count() == 0 && category == -1 )
445 // Contacts with no category will just shown on "All" and "Unfiled" 441 // Contacts with no category will just shown on "All" and "Unfiled"
446 returnMe = true; 442 returnMe = true;
447 else { 443 else {
diff --git a/core/pim/addressbook/addressbook.cpp b/core/pim/addressbook/addressbook.cpp
index 6984501..faae0a9 100644
--- a/core/pim/addressbook/addressbook.cpp
+++ b/core/pim/addressbook/addressbook.cpp
@@ -854,8 +854,11 @@ void AddressbookWindow::slotSetCategory( const QString &category )
854 odebug << "void AddressbookWindow::slotSetCategory( " << category << " )" << oendl; 854 odebug << "void AddressbookWindow::slotSetCategory( " << category << " )" << oendl;
855 855
856 // Tell the view about the selected category 856 // Tell the view about the selected category
857 m_config.setCategory( category ); 857 QString cat = category;
858 m_abView -> setShowByCategory( category ); 858 if ( cat == tr( "All" ) )
859 cat = QString::null;
860 m_config.setCategory( cat );
861 m_abView -> setShowByCategory( cat );
859} 862}
860 863
861void AddressbookWindow::slotViewSwitched( int view ) 864void AddressbookWindow::slotViewSwitched( int view )