summaryrefslogtreecommitdiff
authoreilers <eilers>2005-03-18 16:06:14 (UTC)
committer eilers <eilers>2005-03-18 16:06:14 (UTC)
commite8df4b3938c8f97aa958708a56794797f16b24c7 (patch) (unidiff)
tree1e70153934960abc8e493a4da506021cf535e2d0
parentb37f4395889351829e295d6fd1b4535ad3a67728 (diff)
downloadopie-e8df4b3938c8f97aa958708a56794797f16b24c7.zip
opie-e8df4b3938c8f97aa958708a56794797f16b24c7.tar.gz
opie-e8df4b3938c8f97aa958708a56794797f16b24c7.tar.bz2
Fixing problem with categories: "unfiled" and "all" show the same list.
Previous patch removed correct use of the pim backend. Therefore I had reimplemented it.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/addressbook/abview.cpp20
1 files changed, 15 insertions, 5 deletions
diff --git a/core/pim/addressbook/abview.cpp b/core/pim/addressbook/abview.cpp
index 34035fd..8a2db96 100644
--- a/core/pim/addressbook/abview.cpp
+++ b/core/pim/addressbook/abview.cpp
@@ -112,101 +112,111 @@ void AbView::addEntry( const Opie::OPimContact &newContact )
112 load(); 112 load();
113 113
114} 114}
115void AbView::removeEntry( const int UID ) 115void AbView::removeEntry( const int UID )
116{ 116{
117 odebug << "AbView;:RemoveContact" << oendl; 117 odebug << "AbView;:RemoveContact" << oendl;
118 m_contactdb->remove( UID ); 118 m_contactdb->remove( UID );
119 load(); 119 load();
120} 120}
121 121
122void AbView::replaceEntry( const Opie::OPimContact &contact ) 122void AbView::replaceEntry( const Opie::OPimContact &contact )
123{ 123{
124 odebug << "AbView::ReplaceContact" << oendl; 124 odebug << "AbView::ReplaceContact" << oendl;
125 m_contactdb->replace( contact ); 125 m_contactdb->replace( contact );
126 load(); 126 load();
127 127
128} 128}
129 129
130Opie::OPimContact AbView::currentEntry() 130Opie::OPimContact AbView::currentEntry()
131{ 131{
132 Opie::OPimContact currentContact; 132 Opie::OPimContact currentContact;
133 133
134 switch ( (int) m_curr_View ) { 134 switch ( (int) m_curr_View ) {
135 case TableView: 135 case TableView:
136 currentContact = m_abTable -> currentEntry(); 136 currentContact = m_abTable -> currentEntry();
137 break; 137 break;
138 case CardView: 138 case CardView:
139 currentContact = m_ablabel -> currentEntry(); 139 currentContact = m_ablabel -> currentEntry();
140 break; 140 break;
141 } 141 }
142 m_curr_Contact = currentContact.uid(); 142 m_curr_Contact = currentContact.uid();
143 return currentContact; 143 return currentContact;
144} 144}
145 145
146bool AbView::save() 146bool AbView::save()
147{ 147{
148 //odebug << "AbView::Save data" << oendl; 148 //odebug << "AbView::Save data" << oendl;
149 149
150 return m_contactdb->save(); 150 return m_contactdb->save();
151} 151}
152 152
153void AbView::load() 153void AbView::load()
154{ 154{
155 odebug << "AbView::Load data" << oendl; 155 odebug << "AbView::Load data" << oendl;
156 156
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 m_list = m_contactdb->sorted( true, Opie::OPimContactAccess::SortFileAsName, 160 odebug << "selected Category: " << m_curr_category << oendl;
161 Opie::OPimContactAccess::FilterCategory, m_curr_category ); 161
162 162 if ( m_curr_category == -1 ) {
163 // if ( m_curr_category != -1 ) 163 // Show just unfiled contacts
164 // clearForCategory(); 164 m_list = m_contactdb->sorted( true, Opie::OPimContactAccess::SortFileAsName,
165 Opie::OPimContactAccess::DoNotShowWithCategory, 0 );
166 } elseif ( m_curr_category == 0 ){
167 // Just show all contacts
168 m_list = m_contactdb->sorted( true, Opie::OPimContactAccess::SortFileAsName,
169 Opie::OPimBase::FilterOff, 0 );
170 } else {
171 // Show contacts with given categories
172 m_list = m_contactdb->sorted( true, Opie::OPimContactAccess::SortFileAsName,
173 Opie::OPimBase::FilterCategory, m_curr_category );
174 }
165 175
166 odebug << "Number of contacts: " << m_list.count() << oendl; 176 odebug << "Number of contacts: " << m_list.count() << oendl;
167 177
168 updateView( true ); 178 updateView( true );
169 179
170} 180}
171 181
172void AbView::reload() 182void AbView::reload()
173{ 183{
174 odebug << "AbView::::reload()" << oendl; 184 odebug << "AbView::::reload()" << oendl;
175 185
176 m_contactdb->reload(); 186 m_contactdb->reload();
177 load(); 187 load();
178} 188}
179 189
180void AbView::clear() 190void AbView::clear()
181{ 191{
182 // :SX 192 // :SX
183} 193}
184 194
185void AbView::setShowByCategory( const QString& cat ) 195void AbView::setShowByCategory( const QString& cat )
186{ 196{
187 odebug << "AbView::setShowCategory( const QString& cat )" << oendl; 197 odebug << "AbView::setShowCategory( const QString& cat )" << oendl;
188 198
189 int intCat = 0; 199 int intCat = 0;
190 200
191 // Unfiled will be stored as -1 201 // Unfiled will be stored as -1
192 if ( cat == tr( "Unfiled" ) ) 202 if ( cat == tr( "Unfiled" ) )
193 intCat = -1; 203 intCat = -1;
194 else if ( cat.isNull() ) 204 else if ( cat.isNull() )
195 intCat = 0; 205 intCat = 0;
196 else 206 else
197 intCat = mCat.id("Contacts", cat ); 207 intCat = mCat.id("Contacts", cat );
198 208
199 // Just do anything if we really change the category 209 // Just do anything if we really change the category
200 if ( intCat != m_curr_category ){ 210 if ( intCat != m_curr_category ){
201 // odebug << "Categories: Selected " << cat << ".. Number: " 211 // odebug << "Categories: Selected " << cat << ".. Number: "
202 // << m_curr_category << oendl; 212 // << m_curr_category << oendl;
203 213
204 m_curr_category = intCat; 214 m_curr_category = intCat;
205 emit signalClearLetterPicker(); 215 emit signalClearLetterPicker();
206 load(); 216 load();
207 } 217 }
208 m_curr_category = intCat; 218 m_curr_category = intCat;
209 219
210} 220}
211 221
212void AbView::setShowToView( Views view ) 222void AbView::setShowToView( Views view )