Added a bool property DiffView.UseChangeBlocks.
It's not bound from UI yet, but could be used for runtime switching between the two different implementations of prev/next change.
The buttons are now using the OnGoto[Prev|Next]Change Click-handler, regardless of implementation.
Prev/next at start/end of range now (re-)scrolls to first/last change-block
(I.e when unset, or already at first/last change-block, or at the only one.)
Current change-block is now unset in RefreshContent().
Modified behavior of the Prev/Next Change buttons in DiffView toolbar.
Well-defined change-blocks are pre-calculated and can be navigated between.
Current change-block is highlighted in the Diff panel(s).
* localization: add missing de_DE keys
- CommitDetail.Info.Children, General.ShowChildren were added in cc5bb5f
- Text.Fetch.Force was added in 153a1f3
- Repository.HistoriesOrder... were added in b25f9bd
- SHALinkCM.NavigateTo was added in 12f7531
* localization: fix invalid XAML
* remove unnecessary namespace using
* do NOT set tooltip currently, because CommitDetail.GetParent may cause UI lags and the tooltip DataTemplate is not provided.
* add translations for zh_CN and zh_TW
Signed-off-by: leo <longshuang@msn.cn>
* feat: context menu for a commit in commit message
When a commit message happens to contain a commit link and the user elects to right-click it, instead of navigating them to the commit, present a menu with options to navigate to it or to copy SHA.
* feat: show commit tooltip as well
`_lastHover` in the `if` is also swapped for `match`for consistency with the block body
Fixes#726. Looks like a980cc987d isn't sufficient. It sorts the commits according to the ordering in history, but then CherryPick ViewModel reverses the order.
This commit changes CherryPick ViewModel to use string.Join on the commit list without reordering, so that the ordering is controlled entirely by the caller.
* use `--output=<file>` instead of `-o <dir>` to avoid failure because the directory cannot be created
* make generated patches in order when format multiple commits
Signed-off-by: leo <longshuang@msn.cn>
Leaves the `X11PlatformOptions.EnableIme` unsetted, since Avalonia will auto enable it when `LANG` contains `zh`/`ja`/`vi`/`ko`
Signed-off-by: leo <longshuang@msn.cn>
Since the items in `ListBox.SelectedItems` are not ordered by their position in the list, but in the order user selected, it need be sorted before `cherry-pick`
Signed-off-by: leo <longshuang@msn.cn>
* set upstream branch using the same filter mode when change the filter mode of local branch
* also excludes the decorators when current filter mode is excluding.
Signed-off-by: leo <longshuang@msn.cn>
* SourceGit.Commands.* should not reference SourceGit.ViewModels.*
* remove unused namespace using
* update translations for zh_CN and zh_TW
* use WrapPanel instead of inner ScrollViewer
* some other UI/UX changes
Signed-off-by: leo <longshuang@msn.cn>
* feature: add children list to the commit base info view
Useful for navigation between the commits.
* feature: use repository filters to limit children search
* feature: execute children search asynchronously
* feature: respect global commit limit for a good measure
* fix: input lines may contain several commits
The first commit is always the immediate child, so take only 40 initial characters of the line
* fix: hide children behind the preference
* feature: make parents and children scrollable