ActionEnabling » History » Version 3

Chris Cannam, 2010-11-23 02:45 PM

1 1 Chris Cannam
h1. When actions should be enabled
2 1 Chris Cannam
3 1 Chris Cannam
h2. Simple cases
4 1 Chris Cannam
5 1 Chris Cannam
* *Open* - always
6 2 Chris Cannam
7 2 Chris Cannam
Apart from Open, everything depends in the first instance on having a valid local work path -- this will be assumed below.
8 2 Chris Cannam
9 1 Chris Cannam
* *Refresh* - always
10 1 Chris Cannam
* *Preview* - whenever a remote URL is set
11 1 Chris Cannam
* *Pull* - whenever a remote URL is set
12 1 Chris Cannam
* *Push* - whenever a remote URL is set
13 2 Chris Cannam
14 2 Chris Cannam
h2. More complicated things
15 2 Chris Cannam
16 2 Chris Cannam
* *Revert* - whenever a file has been modified, added, or removed since commit
17 2 Chris Cannam
* *Commit* - whenever a file has been modified, added, or removed since commit
18 2 Chris Cannam
19 2 Chris Cannam
h2. Things that depend on which tab is active
20 2 Chris Cannam
21 2 Chris Cannam
h3. With Work tab active
22 2 Chris Cannam
23 2 Chris Cannam
h4. Diff
24 2 Chris Cannam
25 2 Chris Cannam
* *No changes since commit* - inactive
26 2 Chris Cannam
* *No modified files selected* - show diff for folder against parent
27 2 Chris Cannam
* *Modified files selected* - show diff for files against parent
28 2 Chris Cannam
29 2 Chris Cannam
h4. Update
30 2 Chris Cannam
31 2 Chris Cannam
In principle, should be active only when current branch has something to update to.  In practice that may be too complicated, so probably just make it active always.
32 2 Chris Cannam
33 2 Chris Cannam
h4. Merge
34 2 Chris Cannam
35 2 Chris Cannam
Review this.
36 2 Chris Cannam
37 2 Chris Cannam
h4. Add, Remove
38 2 Chris Cannam
39 2 Chris Cannam
* *Add* - when at least one untracked file is selected, and no other files are
40 2 Chris Cannam
* *Remove* - when at least one tracked file is selected, and no untracked files are
41 2 Chris Cannam
42 3 Chris Cannam
N.B. the latter implies we need to be able to show unmodified, tracked files.
43 2 Chris Cannam
44 2 Chris Cannam
h3. With History tab active
45 2 Chris Cannam
46 2 Chris Cannam
h4. Diff
47 2 Chris Cannam
48 2 Chris Cannam
* *No changeset selected* - inactive
49 2 Chris Cannam
* *One changeset selected* - diff against its parent
50 2 Chris Cannam
* *Two changesets selected* - diff between them
51 2 Chris Cannam
52 2 Chris Cannam
h4. Merge
53 2 Chris Cannam
54 2 Chris Cannam
Review this.