summaryrefslogtreecommitdiff
authorzecke <zecke>2002-10-07 11:55:17 (UTC)
committer zecke <zecke>2002-10-07 11:55:17 (UTC)
commita513a88322196c8caa21b00b83d454feae84200c (patch) (unidiff)
treeedf3ec1ed398f320eb067a69726277f0ea4ee089
parentf11d4bda64b58abfebf77485d5d77143a10dc8c9 (diff)
downloadopie-a513a88322196c8caa21b00b83d454feae84200c.zip
opie-a513a88322196c8caa21b00b83d454feae84200c.tar.gz
opie-a513a88322196c8caa21b00b83d454feae84200c.tar.bz2
Fix not showing completed tasks
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/todo/tableview.cpp3
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 */
91void TableView::newDay() { 91void TableView::newDay() {
92 clear(); 92 clear();
93 setTodos( begin(),end() ); 93 setTodos( begin(),end() );
94} 94}
95TableView::~TableView() { 95TableView::~TableView() {
96 96
97} 97}
98void TableView::slotShowMenu() { 98void 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}
103OTodo TableView::find(int uid ) { 103OTodo TableView::find(int uid ) {
104 OTodo ev = TodoView::event( uid ); 104 OTodo ev = TodoView::event( uid );
105 return ev; 105 return ev;
106} 106}
107void TableView::updateFromTable( const OTodo& ev, CheckItem* item ) { 107void 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}
124QString TableView::type() const { 124QString TableView::type() const {
125 return QString::fromLatin1( tr("Table View") ); 125 return QString::fromLatin1( tr("Table View") );
126} 126}
127int TableView::current() { 127int 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}
135QString TableView::currentRepresentation() { 135QString TableView::currentRepresentation() {
136 return text( currentRow(), 2); 136 return text( currentRow(), 2);
137} 137}
138/* show overdue */ 138/* show overdue */
139void TableView::showOverDue( bool ) { 139void TableView::showOverDue( bool ) {
140 clear(); 140 clear();
141 setTodos( begin(), end() ); 141 setTodos( begin(), end() );
142} 142}
143 143
144void TableView::setTodos( OTodoAccess::List::Iterator it, 144void 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}
191void TableView::setTodo( int uid, const OTodo& ev ) { 192void 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}
216void TableView::addEvent( const OTodo& ev) { 217void 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 */
225void TableView::replaceEvent( const OTodo& ev) { 226void 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 */
233void TableView::removeEvent( int ) { 234void TableView::removeEvent( int ) {
234 clear(); 235 clear();