Summary: | The Todo view is ugly in the current state | ||
---|---|---|---|
Product: | [Applications] korganizer | Reporter: | Thomas Thrainer <tom_t> |
Component: | general | Assignee: | kdepim bugs <kdepim-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | wishlist | CC: | finex |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
Quite big patch for the todo view
Model used by the Todo View, header file Model used by the Todo View, source file Delegates used by the Todo View, header file Delegates used by the Todo View, source files Screenshot of the Todo view in its current state Screenshot of the new todo view |
Description
Thomas Thrainer
2008-02-21 21:58:25 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.
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. |