~ubuntu-branches/ubuntu/wily/zanshin/wily-proposed

« back to all changes in this revision

Viewing changes to HACKING

  • Committer: Bazaar Package Importer
  • Author(s): Jonathan Riddell
  • Date: 2009-08-13 23:19:32 UTC
  • Revision ID: james.westby@ubuntu.com-20090813231932-lewqphiry1qs7w80
Tags: upstream-0.1+svn1006410
ImportĀ upstreamĀ versionĀ 0.1+svn1006410

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
* Coding style: http://techbase.kde.org/Policies/Kdelibs_Coding_Style
 
2
  It's basically the same than the kdelibs coding style as linked above.
 
3
 
 
4
* Contributing to Zanshin
 
5
 
 
6
  Patches should be sent for review to Kevin Ottens <ervin@kde.org> before
 
7
  being committed to Subversion. If major user interface changes are being
 
8
  made, a screenshot of what the application looks like after the change
 
9
  should be sent along with the patch.
 
10
 
 
11
* Design
 
12
 
 
13
  Model Layer:
 
14
  ------------
 
15
  The application is built around a set of item models and views. GlobalModel
 
16
  is a singleton in charge of creating all the models used in the application.
 
17
 
 
18
  - At the there's TodoFlatModel, which lists all the todo contained in a
 
19
    resource.
 
20
  - Above it there's TodoTreeModel, which exposes a tree of todo based on their
 
21
    relateToUid property.
 
22
  - There's also TodoCategoriesModel, which exposes a tree of todo based on
 
23
    their categories (a todo can have several categories, then it appears
 
24
    several times in the tree).
 
25
  - ProjectsModel and ContextsModel expose only the non-todo subset of the two
 
26
    previous models.
 
27
  - LibraryModel which wraps a model and add two entries to it: Inbox and
 
28
    Library (Inbox is empty, and Library contains the source model).
 
29
 
 
30
  So inside GlobalModel the link between models is the following:
 
31
 
 
32
              tree model --------- projects model --- library model
 
33
             /
 
34
            /
 
35
  flat model
 
36
            \
 
37
             \
 
38
              categories model --- contexts model --- library model
 
39
 
 
40
 
 
41
  View Layer:
 
42
  -----------
 
43
  Also we have a special model to show action lists, this model should be
 
44
  considered as being part of the view layer since it has no other feature
 
45
  than ensuring a proper layout of our lists. It can be used on top of:
 
46
    - TodoFlatModel
 
47
    - TodoTreeModel
 
48
    - TodoCategoriesModel
 
49
 
 
50
  This model works along with with ActionListView and ActionListDelegate to
 
51
  visually obtain a nice action list with sections. It is part of the central
 
52
  view.
 
53
 
 
54
  The mainwindow is split into a sidebar and the action list editor. They both
 
55
  provide the actions you can use with them.
 
56
 
 
57
  - SideBar allows to display the contexts LibraryModel or the projects
 
58
    LibraryModel depending on which mode the application is on.
 
59
  - ActionListEditor allows to display action lists and add (or remove) items
 
60
    to them.
 
61
 
 
62