Bug 158193 - The Todo view is ugly in the current state
Summary: The Todo view is ugly in the current state
Alias: None
Product: korganizer
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR wishlist
Target Milestone: ---
Assignee: kdepim bugs
Depends on:
Reported: 2008-02-21 21:58 UTC by Thomas Thrainer
Modified: 2008-05-09 11:22 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:

Quite big patch for the todo view (33.58 KB, patch)
2008-02-21 22:00 UTC, Thomas Thrainer
Model used by the Todo View, header file (3.58 KB, text/x-chdr)
2008-02-21 22:01 UTC, Thomas Thrainer
Model used by the Todo View, source file (21.06 KB, text/x-c++src)
2008-02-21 22:02 UTC, Thomas Thrainer
Delegates used by the Todo View, header file (810 bytes, text/x-chdr)
2008-02-21 22:03 UTC, Thomas Thrainer
Delegates used by the Todo View, source files (1.46 KB, text/x-c++src)
2008-02-21 22:04 UTC, Thomas Thrainer
Screenshot of the Todo view in its current state (88.86 KB, image/png)
2008-02-21 22:10 UTC, Thomas Thrainer
Screenshot of the new todo view (127.61 KB, image/png)
2008-03-10 11:49 UTC, Thomas Thrainer

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Thrainer 2008-02-21 21:58:25 UTC
Version:            (using Devel)
Installed from:    Compiled sources
OS:                Linux

I started working on a port of the current todo view to KDE4.

I just create this bug report to be able to upload my patches and screenshots. Hopefully people get interested and help testing (and/or developing) the new todo view ;-).
Comment 1 Thomas Thrainer 2008-02-21 22:00:21 UTC
Created attachment 23656 [details]
Quite big patch for the todo view

Patch for the changed files. I add the new files (kotodomodel.{h, cpp} and
kotododelegates.{h, cpp}) in a second.
Comment 2 Thomas Thrainer 2008-02-21 22:01:43 UTC
Created attachment 23657 [details]
Model used by the Todo View, header file
Comment 3 Thomas Thrainer 2008-02-21 22:02:09 UTC
Created attachment 23658 [details]
Model used by the Todo View, source file
Comment 4 Thomas Thrainer 2008-02-21 22:03:24 UTC
Created attachment 23659 [details]
Delegates used by the Todo View, header file

All delegates for the todo view should go in there. Currently, there is just
one "demo" delegate, I didn't have the time to improve on that bit currently.
Comment 5 Thomas Thrainer 2008-02-21 22:04:00 UTC
Created attachment 23660 [details]
Delegates used by the Todo View, source files
Comment 6 Thomas Thrainer 2008-02-21 22:10:30 UTC
Created attachment 23661 [details]
Screenshot of the Todo view in its current state

The todo view how it looks currently.

Drag and drop works for ordering todos. Filtering by text also works (but not
by category, I have to write a proxy model extending QSortFilterProxyModel
which handles filtering by 2 criterias at once).
Todos can be edited "inline" by first selecting the line, and start editing
with the second click. As I mentioned, I have not had the time to implement
delegates for all columns, so that doesn't work correctly for all columns by
Checking the checkbox marks the todo as complete.
Comment 7 FiNeX 2008-02-21 23:24:42 UTC
I like this new todolist :-)
Comment 8 Allen Winter 2008-02-27 18:24:26 UTC
I like it too.
We'll probably commit it soon.
Comment 9 Thomas Thrainer 2008-03-10 11:49:31 UTC
Created attachment 23846 [details]
Screenshot of the new todo view
Comment 10 Thomas Thrainer 2008-03-10 11:50:29 UTC
SVN commit 783987 by thrainer:

Introducing the rewrite of the todo view.
This todo view is separated in a model and a view following the Qt Model/View

I followed Bruno's move to the views/ subfolder (which he did for the new
monthview) in order to have view-related classes grouped together in those

Still todo:
 o Write delegates for various fields (date edit delegate for the due date,
   a widget for choosing categories, ...)
 o Popup-menu action partly don't work
 o Popup-menu always displays all actions enabled, even if not appropriate
 o Quick search works only for the summary, not for the category.
   QSortFilterProxyModel has to be subclassed to add the logic for
   filtering categories too.
 o Some options may not be appropriate any more, has to be reviewed

Known issues:
 o There used to be a second instantiation of the Todo view in CalendarView
   (besides ViewManager). I don't know where this second instance is used
   (it's created with CalendarNull::self()), but it causes problems because
   the todo view is initialized with an empty calendar, but receives
   notifications about changed items (which are not in the todo view). For
   now, the instance in CalendarView is commented out.

 o I removed the support to split the todo view in 3 parts. This was used
   to separate todo organized by others, by yourself and something else I
   don't remember. There are quite a few issues with this (yet alone there
   were tons of FIXME's and TODO's in the code regarding this feature).
   Also, the usability aspect was not clear for me (what happens if you
   drag and drop a todo from one view to the other?). I think this feature
   needs some more discussion before being added again.

CCBUG: 158193

 M  +4 -3      CMakeLists.txt  
 M  +27 -27    calendarview.cpp  
 M  +3 -1      calendarview.h  
 D             kotodoview.cpp  
 D             kotodoview.h  
 D             kotodoviewitem.cpp  
 D             kotodoviewitem.h  
 D             kotodoviewquicksearch.cpp  
 D             kotodoviewquicksearch.h  
 M  +1 -1      koviewmanager.cpp  
 A             views/todoview (directory)  
 A             views/todoview/kotododelegates.cpp   [License: GPL (v2+) (+Qt exception)]
 A             views/todoview/kotododelegates.h   [License: GPL (v2+) (+Qt exception)]
 A             views/todoview/kotodomodel.cpp   [License: GPL (v2+) (+Qt exception)]
 A             views/todoview/kotodomodel.h   [License: GPL (v2+) (+Qt exception)]
 A             views/todoview/kotodoview.cpp   [License: GPL (v2+) (+Qt exception)]
 A             views/todoview/kotodoview.h   [License: GPL (v2+) (+Qt exception)]
 A             views/todoview/kotodoviewquicksearch.cpp   [License: GPL (v2+) (+Qt exception)]
 A             views/todoview/kotodoviewquicksearch.h   [License: GPL (v2+) (+Qt exception)]

WebSVN link: http://websvn.kde.org/?view=rev&revision=783987
Comment 11 Thomas Thrainer 2008-05-09 11:22:51 UTC
The rewrite is done and in trunk. For any remaining issues, please open a new bug report.