summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/pim/orecordlist.h53
-rw-r--r--libopie2/opiepim/orecordlist.h53
2 files changed, 98 insertions, 8 deletions
diff --git a/libopie/pim/orecordlist.h b/libopie/pim/orecordlist.h
index 1795938..c63d813 100644
--- a/libopie/pim/orecordlist.h
+++ b/libopie/pim/orecordlist.h
@@ -47,8 +47,23 @@ public:
47 bool operator==( const ORecordListIterator& it ); 47 bool operator==( const ORecordListIterator& it );
48 bool operator!=( const ORecordListIterator& it ); 48 bool operator!=( const ORecordListIterator& it );
49
50 /**
51 * the current item
52 */
53 uint current()const;
54
55 /**
56 * the number of items
57 */
58 uint count()const;
59
60 /**
61 * sets the current item
62 */
63 void setCurrent( uint cur );
49 64
50private: 65private:
51 QArray<int> m_uids; 66 QArray<int> m_uids;
52 int m_current; 67 uint m_current;
53 const Base* m_temp; 68 const Base* m_temp;
54 bool m_end : 1; 69 bool m_end : 1;
@@ -87,4 +102,11 @@ public:
87 */ 102 */
88 Iterator end(); 103 Iterator end();
104
105 /**
106 * the number of items in the list
107 */
108 uint count()const;
109
110 // FIXME implemenent remove
89 /* 111 /*
90 ConstIterator begin()const; 112 ConstIterator begin()const;
@@ -134,5 +156,10 @@ T ORecordListIterator<T>::operator*() {
134// qWarning("operator* %d %d", m_current, m_uids[m_current] ); 156// qWarning("operator* %d %d", m_current, m_uids[m_current] );
135 if (!m_end ) 157 if (!m_end )
136 m_record = m_temp->find( m_uids[m_current] ); 158 /* FIXME
159 * until the cache is in place
160 * we do the uid match uid check
161 */
162 if(m_record.uid() != m_uids[m_current] )
163 m_record = m_temp->find( m_uids[m_current] );
137 else 164 else
138 m_record = T(); 165 m_record = T();
@@ -143,5 +170,5 @@ T ORecordListIterator<T>::operator*() {
143template <class T> 170template <class T>
144ORecordListIterator<T> &ORecordListIterator<T>::operator++() { 171ORecordListIterator<T> &ORecordListIterator<T>::operator++() {
145 if (m_current < (int)m_uids.count() ) { 172 if (m_current < m_uids.count() ) {
146 m_end = false; 173 m_end = false;
147 ++m_current; 174 ++m_current;
@@ -184,5 +211,19 @@ ORecordListIterator<T>::ORecordListIterator( const QArray<int> uids,
184{ 211{
185} 212}
186 213template <class T>
214uint ORecordListIterator<T>::current()const {
215 return m_current;
216}
217template <class T>
218void ORecordListIterator<T>::setCurrent( uint cur ) {
219 if( cur < m_uids.count() ) {
220 m_end = false;
221 m_current= cur;
222 }
223}
224template <class T>
225uint ORecordListIterator<T>::count()const {
226 return m_uids.count();
227}
187template <class T> 228template <class T>
188ORecordList<T>::ORecordList( const QArray<int>& ids, 229ORecordList<T>::ORecordList( const QArray<int>& ids,
@@ -208,3 +249,7 @@ ORecordList<T>::Iterator ORecordList<T>::end() {
208 return it; 249 return it;
209} 250}
251template <class T>
252uint ORecordList<T>::count()const {
253return m_ids.count();
254}
210#endif 255#endif
diff --git a/libopie2/opiepim/orecordlist.h b/libopie2/opiepim/orecordlist.h
index 1795938..c63d813 100644
--- a/libopie2/opiepim/orecordlist.h
+++ b/libopie2/opiepim/orecordlist.h
@@ -47,8 +47,23 @@ public:
47 bool operator==( const ORecordListIterator& it ); 47 bool operator==( const ORecordListIterator& it );
48 bool operator!=( const ORecordListIterator& it ); 48 bool operator!=( const ORecordListIterator& it );
49
50 /**
51 * the current item
52 */
53 uint current()const;
54
55 /**
56 * the number of items
57 */
58 uint count()const;
59
60 /**
61 * sets the current item
62 */
63 void setCurrent( uint cur );
49 64
50private: 65private:
51 QArray<int> m_uids; 66 QArray<int> m_uids;
52 int m_current; 67 uint m_current;
53 const Base* m_temp; 68 const Base* m_temp;
54 bool m_end : 1; 69 bool m_end : 1;
@@ -87,4 +102,11 @@ public:
87 */ 102 */
88 Iterator end(); 103 Iterator end();
104
105 /**
106 * the number of items in the list
107 */
108 uint count()const;
109
110 // FIXME implemenent remove
89 /* 111 /*
90 ConstIterator begin()const; 112 ConstIterator begin()const;
@@ -134,5 +156,10 @@ T ORecordListIterator<T>::operator*() {
134// qWarning("operator* %d %d", m_current, m_uids[m_current] ); 156// qWarning("operator* %d %d", m_current, m_uids[m_current] );
135 if (!m_end ) 157 if (!m_end )
136 m_record = m_temp->find( m_uids[m_current] ); 158 /* FIXME
159 * until the cache is in place
160 * we do the uid match uid check
161 */
162 if(m_record.uid() != m_uids[m_current] )
163 m_record = m_temp->find( m_uids[m_current] );
137 else 164 else
138 m_record = T(); 165 m_record = T();
@@ -143,5 +170,5 @@ T ORecordListIterator<T>::operator*() {
143template <class T> 170template <class T>
144ORecordListIterator<T> &ORecordListIterator<T>::operator++() { 171ORecordListIterator<T> &ORecordListIterator<T>::operator++() {
145 if (m_current < (int)m_uids.count() ) { 172 if (m_current < m_uids.count() ) {
146 m_end = false; 173 m_end = false;
147 ++m_current; 174 ++m_current;
@@ -184,5 +211,19 @@ ORecordListIterator<T>::ORecordListIterator( const QArray<int> uids,
184{ 211{
185} 212}
186 213template <class T>
214uint ORecordListIterator<T>::current()const {
215 return m_current;
216}
217template <class T>
218void ORecordListIterator<T>::setCurrent( uint cur ) {
219 if( cur < m_uids.count() ) {
220 m_end = false;
221 m_current= cur;
222 }
223}
224template <class T>
225uint ORecordListIterator<T>::count()const {
226 return m_uids.count();
227}
187template <class T> 228template <class T>
188ORecordList<T>::ORecordList( const QArray<int>& ids, 229ORecordList<T>::ORecordList( const QArray<int>& ids,
@@ -208,3 +249,7 @@ ORecordList<T>::Iterator ORecordList<T>::end() {
208 return it; 249 return it;
209} 250}
251template <class T>
252uint ORecordList<T>::count()const {
253return m_ids.count();
254}
210#endif 255#endif