- Column for hotkey in `Reset` popup should use `Auto` for width
- Add `SelectionBoxItemTemplate` for current selected mode in `Reset` popup
Signed-off-by: leo <longshuang@msn.cn>
- `ToUpper` is not necessary to compare digit char with non-digit char
- use numeric sorting for commit decorators with same type
Signed-off-by: leo <longshuang@msn.cn>
- Use `ViewModels.StashesPage.SelectedStash` instead of `sender is not ListBox { SelectedValue: Models.Stash stash }`
- In tags view, `SelectedItem` can be `Models.Tag` or `ViewModels.TagTreeNode`
- In logs window, `vm.SelectedLog` may be null
Signed-off-by: leo <longshuang@msn.cn>
Some teams use issue tracker numbers in front of the commit message
subject, followed by a colon. It was not possible to use an issue
tracker rule in such cases, since the issue tracker number would be
interpreted as a keyword due to the colon and therefore displayed in
bold face instead of as a link into the issue tracker.
- it's unnecessary to implement `IEnumerable` interface
- we should check `IsIntersecting` before creating `InlineElement` to avoid unnecessary works suck as running `git cat-file -t <hash>`
- sort whold list after all elements have been added to avoid unnecessary memmove in `Insert`
Signed-off-by: leo <longshuang@msn.cn>
Instead of checking intersections of inline elements yourself before adding an inline element, the new class `InlineElementCollector` prevents intersections internally.
Additionally the inline elements are sorted by the new class, so it's no longer necessary to do this after adding the inline elements.
- fix the issue that not all channel takes 8 bits
- if `PixelFormatTranscoder.Transcode` supports the same pixel formats, let it converts pixels automatically
Signed-off-by: leo <longshuang@msn.cn>
- show current file path
- add a toggle button to use global syntax highlighting setting (sometimes TextMateSharp will crash this app)
Signed-off-by: leo <longshuang@msn.cn>
- The return code of `AutoRemoveInvalidNode` is never used
- It's not necessary to sort all nodes after re-scan default clone dir. Because `FindOrAddNodeByRepositoryPath` makes sure added node is ordered
- Add a new parameter `save` to `FindOrAddNodeByRepositoryPath` method, and disable it while scanning. Instead, we will save it after scan finished.
Signed-off-by: leo <longshuang@msn.cn>