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 ;-).
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.
Created attachment 23657 [details] Model used by the Todo View, header file
Created attachment 23658 [details] Model used by the Todo View, source file
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.
Created attachment 23660 [details] Delegates used by the Todo View, source files
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 now. Checking the checkbox marks the todo as complete.
I like this new todolist :-)
I like it too. We'll probably commit it soon.
Created attachment 23846 [details] Screenshot of the new todo view
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 architecture. 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 folders. 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. Regressions: 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 GUI: 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
The rewrite is done and in trunk. For any remaining issues, please open a new bug report.