author | zecke <zecke> | 2002-10-07 11:55:17 (UTC) |
---|---|---|
committer | zecke <zecke> | 2002-10-07 11:55:17 (UTC) |
commit | a513a88322196c8caa21b00b83d454feae84200c (patch) (unidiff) | |
tree | edf3ec1ed398f320eb067a69726277f0ea4ee089 | |
parent | f11d4bda64b58abfebf77485d5d77143a10dc8c9 (diff) | |
download | opie-a513a88322196c8caa21b00b83d454feae84200c.zip opie-a513a88322196c8caa21b00b83d454feae84200c.tar.gz opie-a513a88322196c8caa21b00b83d454feae84200c.tar.bz2 |
Fix not showing completed tasks
-rw-r--r-- | core/pim/todo/tableview.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/core/pim/todo/tableview.cpp b/core/pim/todo/tableview.cpp index 39f0d72..8cd2e7e 100644 --- a/core/pim/todo/tableview.cpp +++ b/core/pim/todo/tableview.cpp | |||
@@ -90,145 +90,146 @@ TableView::TableView( MainWindow* window, QWidget* wid ) | |||
90 | */ | 90 | */ |
91 | void TableView::newDay() { | 91 | void TableView::newDay() { |
92 | clear(); | 92 | clear(); |
93 | setTodos( begin(),end() ); | 93 | setTodos( begin(),end() ); |
94 | } | 94 | } |
95 | TableView::~TableView() { | 95 | TableView::~TableView() { |
96 | 96 | ||
97 | } | 97 | } |
98 | void TableView::slotShowMenu() { | 98 | void TableView::slotShowMenu() { |
99 | QPopupMenu *menu = todoWindow()->contextMenu( current() ); | 99 | QPopupMenu *menu = todoWindow()->contextMenu( current() ); |
100 | menu->exec(QCursor::pos() ); | 100 | menu->exec(QCursor::pos() ); |
101 | delete menu; | 101 | delete menu; |
102 | } | 102 | } |
103 | OTodo TableView::find(int uid ) { | 103 | OTodo TableView::find(int uid ) { |
104 | OTodo ev = TodoView::event( uid ); | 104 | OTodo ev = TodoView::event( uid ); |
105 | return ev; | 105 | return ev; |
106 | } | 106 | } |
107 | void TableView::updateFromTable( const OTodo& ev, CheckItem* item ) { | 107 | void TableView::updateFromTable( const OTodo& ev, CheckItem* item ) { |
108 | TodoView::update( ev.uid(), ev ); | 108 | TodoView::update( ev.uid(), ev ); |
109 | 109 | ||
110 | /* update the other columns */ | 110 | /* update the other columns */ |
111 | /* if completed or not we need to update | 111 | /* if completed or not we need to update |
112 | * the table | 112 | * the table |
113 | * | 113 | * |
114 | * We've two cases | 114 | * We've two cases |
115 | * either item or !item | 115 | * either item or !item |
116 | * this makes cases more easy | 116 | * this makes cases more easy |
117 | */ | 117 | */ |
118 | if ( !item ) { | 118 | if ( !item ) { |
119 | item = m_cache[ev.uid()]; | 119 | item = m_cache[ev.uid()]; |
120 | } | 120 | } |
121 | DueTextItem *due = dueItem( item->row() ); | 121 | DueTextItem *due = dueItem( item->row() ); |
122 | due->setCompleted( ev.isCompleted() ); | 122 | due->setCompleted( ev.isCompleted() ); |
123 | } | 123 | } |
124 | QString TableView::type() const { | 124 | QString TableView::type() const { |
125 | return QString::fromLatin1( tr("Table View") ); | 125 | return QString::fromLatin1( tr("Table View") ); |
126 | } | 126 | } |
127 | int TableView::current() { | 127 | int TableView::current() { |
128 | int cur = 0; | 128 | int cur = 0; |
129 | CheckItem* i = checkItem( currentRow() ); | 129 | CheckItem* i = checkItem( currentRow() ); |
130 | if (i ) | 130 | if (i ) |
131 | cur = i->uid(); | 131 | cur = i->uid(); |
132 | 132 | ||
133 | return cur; | 133 | return cur; |
134 | } | 134 | } |
135 | QString TableView::currentRepresentation() { | 135 | QString TableView::currentRepresentation() { |
136 | return text( currentRow(), 2); | 136 | return text( currentRow(), 2); |
137 | } | 137 | } |
138 | /* show overdue */ | 138 | /* show overdue */ |
139 | void TableView::showOverDue( bool ) { | 139 | void TableView::showOverDue( bool ) { |
140 | clear(); | 140 | clear(); |
141 | setTodos( begin(), end() ); | 141 | setTodos( begin(), end() ); |
142 | } | 142 | } |
143 | 143 | ||
144 | void TableView::setTodos( OTodoAccess::List::Iterator it, | 144 | void TableView::setTodos( OTodoAccess::List::Iterator it, |
145 | OTodoAccess::List::Iterator end ) { | 145 | OTodoAccess::List::Iterator end ) { |
146 | qWarning("setTodos"); | 146 | qWarning("setTodos"); |
147 | QTime time; | 147 | QTime time; |
148 | time.start(); | 148 | time.start(); |
149 | m_enablePaint = false; | 149 | m_enablePaint = false; |
150 | setUpdatesEnabled( false ); | 150 | setUpdatesEnabled( false ); |
151 | viewport()->setUpdatesEnabled( false ); | 151 | viewport()->setUpdatesEnabled( false ); |
152 | clear(); | 152 | clear(); |
153 | QString currentCat = todoWindow()->currentCategory(); | 153 | QString currentCat = todoWindow()->currentCategory(); |
154 | bool showCompleted = todoWindow()->currentCatId(); | 154 | bool showCompleted = todoWindow()->showCompleted(); |
155 | bool showOverDue = todoWindow()->showOverDue(); | 155 | bool showOverDue = todoWindow()->showOverDue(); |
156 | qWarning( "Current Category:" + todoWindow()->currentCategory() ); | 156 | qWarning( "Current Category:" + todoWindow()->currentCategory() ); |
157 | int id = todoWindow()->currentCatId(); | 157 | int id = todoWindow()->currentCatId(); |
158 | QTime t; | 158 | QTime t; |
159 | t.start(); | 159 | t.start(); |
160 | setNumRows( it.count() ); | 160 | setNumRows( it.count() ); |
161 | uint i = 0; | 161 | uint i = 0; |
162 | for (; it != end; ++it ) { | 162 | for (; it != end; ++it ) { |
163 | OTodo todo = (*it); | 163 | OTodo todo = (*it); |
164 | /* test if the categories match */ | 164 | /* test if the categories match */ |
165 | if ( !currentCat.isEmpty() && | 165 | if ( !currentCat.isEmpty() && |
166 | !todo.categories().contains( id ) ) { | 166 | !todo.categories().contains( id ) ) { |
167 | continue; | 167 | continue; |
168 | } | 168 | } |
169 | /* the item is completed but we shouldn't show it */ | 169 | /* the item is completed but we shouldn't show it */ |
170 | if ( !showCompleted && todo.isCompleted() ) { | 170 | if ( !showCompleted && todo.isCompleted() ) { |
171 | qWarning("isCompleted "); | ||
171 | continue; | 172 | continue; |
172 | } | 173 | } |
173 | /* the item is not overdue but we should only show overdue */ | 174 | /* the item is not overdue but we should only show overdue */ |
174 | if ( showOverDue && !todo.isOverdue() ) { | 175 | if ( showOverDue && !todo.isOverdue() ) { |
175 | continue; | 176 | continue; |
176 | } | 177 | } |
177 | /* now it's fine to add it */ | 178 | /* now it's fine to add it */ |
178 | insertTodo( todo, i ); | 179 | insertTodo( todo, i ); |
179 | i++; | 180 | i++; |
180 | } | 181 | } |
181 | setNumRows( i ); | 182 | setNumRows( i ); |
182 | int elc = time.elapsed(); | 183 | int elc = time.elapsed(); |
183 | qWarning("Adding took %d", elc/1000 ); | 184 | qWarning("Adding took %d", elc/1000 ); |
184 | setUpdatesEnabled( true ); | 185 | setUpdatesEnabled( true ); |
185 | viewport()->setUpdatesEnabled( true ); | 186 | viewport()->setUpdatesEnabled( true ); |
186 | viewport()->update(); | 187 | viewport()->update(); |
187 | m_enablePaint = true; | 188 | m_enablePaint = true; |
188 | int el = time.elapsed(); | 189 | int el = time.elapsed(); |
189 | qWarning("adding took %d", el/1000 ); | 190 | qWarning("adding took %d", el/1000 ); |
190 | } | 191 | } |
191 | void TableView::setTodo( int uid, const OTodo& ev ) { | 192 | void TableView::setTodo( int uid, const OTodo& ev ) { |
192 | QMap<int, CheckItem*>::Iterator it = m_cache.find( uid ); | 193 | QMap<int, CheckItem*>::Iterator it = m_cache.find( uid ); |
193 | 194 | ||
194 | if ( it != m_cache.end() ) { | 195 | if ( it != m_cache.end() ) { |
195 | int row = it.data()->row(); | 196 | int row = it.data()->row(); |
196 | 197 | ||
197 | /* update checked */ | 198 | /* update checked */ |
198 | CheckItem* check = checkItem(row ); | 199 | CheckItem* check = checkItem(row ); |
199 | if (check) | 200 | if (check) |
200 | check->setChecked( ev.isCompleted() ); | 201 | check->setChecked( ev.isCompleted() ); |
201 | 202 | ||
202 | /* update the text */ | 203 | /* update the text */ |
203 | QString sum = ev.summary(); | 204 | QString sum = ev.summary(); |
204 | setText(row, 2, sum.isEmpty() ? | 205 | setText(row, 2, sum.isEmpty() ? |
205 | ev.description().left(40).simplifyWhiteSpace() : | 206 | ev.description().left(40).simplifyWhiteSpace() : |
206 | sum ); | 207 | sum ); |
207 | 208 | ||
208 | /* update priority */ | 209 | /* update priority */ |
209 | setText(row, 1, QString::number( ev.priority() ) ); | 210 | setText(row, 1, QString::number( ev.priority() ) ); |
210 | 211 | ||
211 | /* update DueDate */ | 212 | /* update DueDate */ |
212 | DueTextItem *due = dueItem( row ); | 213 | DueTextItem *due = dueItem( row ); |
213 | due->setToDoEvent( ev ); | 214 | due->setToDoEvent( ev ); |
214 | } | 215 | } |
215 | } | 216 | } |
216 | void TableView::addEvent( const OTodo& ev) { | 217 | void TableView::addEvent( const OTodo& ev) { |
217 | int row= numRows(); | 218 | int row= numRows(); |
218 | setNumRows( row + 1 ); | 219 | setNumRows( row + 1 ); |
219 | insertTodo( ev, row ); | 220 | insertTodo( ev, row ); |
220 | } | 221 | } |
221 | /* | 222 | /* |
222 | * find the event | 223 | * find the event |
223 | * and then replace the complete row | 224 | * and then replace the complete row |
224 | */ | 225 | */ |
225 | void TableView::replaceEvent( const OTodo& ev) { | 226 | void TableView::replaceEvent( const OTodo& ev) { |
226 | setTodo( ev.uid(), ev ); | 227 | setTodo( ev.uid(), ev ); |
227 | } | 228 | } |
228 | /* | 229 | /* |
229 | * re aligning table can be slow too | 230 | * re aligning table can be slow too |
230 | * FIXME: look what performs better | 231 | * FIXME: look what performs better |
231 | * either this or the old align table | 232 | * either this or the old align table |
232 | */ | 233 | */ |
233 | void TableView::removeEvent( int ) { | 234 | void TableView::removeEvent( int ) { |
234 | clear(); | 235 | clear(); |