ActionEnabling » History » Version 4
Chris Cannam, 2010-11-24 01:15 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 | 4 | Chris Cannam | Some of the remaining functions look like they should behave differently depending on whether the Work tab or History tab is active. However, I think that's probably confusing -- they should behave the same regardless of which tab is selected; that behaviour should be the "most obvious" behaviour where possible; and they should notify you quite clearly of what you are about to do in a confirmation dialog (which should be the same dialog as asks for your commit message, if appropriate). |
20 | 2 | Chris Cannam | |
21 | 4 | Chris Cannam | Generally speaking, when I've characterised in the past behaviour as varying by tab, that's because I've been imagining having a separate selection in both tabs. But I think that's wrong -- there should be no selection in the History tab. If you want to use a specific changeset in a function, there should be a right-button menu for that. There are no "beginner" functions that need a specific changeset, only "expert" ones. |
22 | 2 | Chris Cannam | |
23 | 4 | Chris Cannam | * *Add* - when at least one untracked file is selected, and no other files are |
24 | 4 | Chris Cannam | * *Remove* - when at least one tracked file is selected, and no untracked files are |
25 | 1 | Chris Cannam | |
26 | 4 | Chris Cannam | N.B. the latter implies we need to be able to show unmodified, tracked files. |
27 | 4 | Chris Cannam | |
28 | 4 | Chris Cannam | h3. Diff |
29 | 4 | Chris Cannam | |
30 | 1 | Chris Cannam | * *No changes since commit* - inactive |
31 | 2 | Chris Cannam | * *No modified files selected* - show diff for folder against parent |
32 | 2 | Chris Cannam | * *Modified files selected* - show diff for files against parent |
33 | 1 | Chris Cannam | |
34 | 4 | Chris Cannam | h3. Update |
35 | 2 | Chris Cannam | |
36 | 1 | 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. |
37 | 2 | Chris Cannam | |
38 | 4 | Chris Cannam | h3. Merge |
39 | 2 | Chris Cannam | |
40 | 2 | Chris Cannam | Review this. |
41 | 2 | Chris Cannam | |
42 | 4 | Chris Cannam | h2. Functions currently missing entirely |
43 | 2 | Chris Cannam | |
44 | 4 | Chris Cannam | * *Create branch* |
45 | 4 | Chris Cannam | * *Tag* |
46 | 4 | Chris Cannam | * *Rename* |