ActionEnabling » History » Version 2
« Previous -
Version 2/8
(diff) -
Next » -
Current version
Chris Cannam, 2010-11-23 02:41 PM
When actions should be enabled¶
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
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
Things that depend on which tab is active¶
With Work tab active¶
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
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.
Merge¶
Review this.
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
With History tab active¶
Diff¶
- No changeset selected - inactive
- One changeset selected - diff against its parent
- Two changesets selected - diff between them
Merge¶
Review this.