Warning, /pim/zanshin/HACKING is written in an unsupported language. File is not indexed.
0001 * Coding style: https://community.kde.org/Policies/Frameworks_Coding_Style 0002 0003 * Contributing to Zanshin 0004 0005 Patches should be sent for review to Kevin Ottens <ervin@kde.org> before 0006 being committed to Git. If major user interface changes are being 0007 made, a screenshot of what the application looks like after the change 0008 should be sent along with the patch. 0009 0010 * Design 0011 0012 Model Layer: 0013 ------------ 0014 The application is built around a set of item models and views. GlobalModel 0015 is a singleton in charge of creating all the models used in the application. 0016 0017 - At the there's TodoFlatModel, which lists all the todo contained in a 0018 resource. 0019 - Above it there's TodoTreeModel, which exposes a tree of todo based on their 0020 relateToUid property. 0021 - There's also TodoCategoriesModel, which exposes a tree of todo based on 0022 their categories (a todo can have several categories, then it appears 0023 several times in the tree). 0024 - ProjectsModel and ContextsModel expose only the non-todo subset of the two 0025 previous models. 0026 - LibraryModel which wraps a model and add two entries to it: Inbox and 0027 Library (Inbox is empty, and Library contains the source model). 0028 0029 So inside GlobalModel the link between models is the following: 0030 0031 tree model --------- projects model --- library model 0032 / 0033 / 0034 flat model 0035 \ 0036 \ 0037 categories model --- contexts model --- library model 0038 0039 0040 View Layer: 0041 ----------- 0042 Also we have a special model to show action lists, this model should be 0043 considered as being part of the view layer since it has no other feature 0044 than ensuring a proper layout of our lists. It can be used on top of: 0045 - TodoFlatModel 0046 - TodoTreeModel 0047 - TodoCategoriesModel 0048 0049 This model works along with with ActionListView and ActionListDelegate to 0050 visually obtain a nice action list with sections. It is part of the central 0051 view. 0052 0053 The mainwindow is split into a sidebar and the action list editor. They both 0054 provide the actions you can use with them. 0055 0056 - SideBar allows to display the contexts LibraryModel or the projects 0057 LibraryModel depending on which mode the application is on. 0058 - ActionListEditor allows to display action lists and add (or remove) items 0059 to them. 0060 0061