ActionEnabling » History » Version 2

Version 1 (Chris Cannam, 2010-11-23 02:25 PM) → Version 2/8 (Chris Cannam, 2010-11-23 02:41 PM)

h1. When actions should be enabled

h2. Simple cases

* *Open* - always

Apart from Open, everything depends in the first instance on having a valid local work path -- this will be assumed below.


* *Refresh* - always
* *Preview* - whenever a remote URL is set
* *Pull* - whenever a remote URL is set
* *Push* - whenever a remote URL is set

h2. More complicated things

* *Revert* - whenever a file has been modified, added, or removed since commit
* *Commit* - whenever a file has been modified, added, or removed since commit

h2. Things that depend on which tab is active

h3. With Work tab active

h4. Diff

* *No changes since commit* - inactive
* *No modified files selected* - show diff for folder against parent
* *Modified files selected* - show diff for files against parent

h4. Update

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.

h4. Merge

Review this.

h4. Add, Remove

* *Add* - when at least one untracked file is selected, and no other files are
* *Remove* - when at least one tracked file is selected, and no untracked files are

N.B. the latter implies we need to be able to show unmodified, tracked files

h3. With History tab active

h4. Diff

* *No changeset selected* - inactive
* *One changeset selected* - diff against its parent
* *Two changesets selected* - diff between them

h4. Merge

Review this.