Commit graph

72 commits

Author SHA1 Message Date
leo
134c71064e
feature: add buttons to go to prev/next change in text diff view (#616)
Signed-off-by: leo <longshuang@msn.cn>
2024-11-16 15:17:29 +08:00
leo
6209326fe0
code_review: PR #652
* update localization for zh_CN and zh_TW
* change the icon for `Icons.Lines.All`
* reorder diff view toolbar buttons
* move private methods after protected

Signed-off-by: leo <longshuang@msn.cn>
2024-11-04 16:49:15 +08:00
Göran W
1a8acbf934
feature: diff - toggle show all lines (#615) (#652)
* Renamed 1 of 2 SyncScrollOffset props, for clarity

The property "SyncScrollOffset" in TextDiff is distinct from the one with the same name in TwoSideTextDiff. These two properties are used in separate (though slightly related) ways and are not really connected.

The one in TwoSideTextDiff is mainly used to keep the scroll-pos of the two SingleSideTextDiffPresenter views in sync (aligned), while the one in TextDiff is used only to preserve/reset the scroll-pos in the single CombinedTextDiffPresenter view when (re)loading Diff Content (so not really syncing anything).

To clarify this and to make the two properties more distinguishable, I renamed the one in TextDiff to simply "ScrollOffset".

* Added icon and string for "Show All Lines"

New StreamGeometry "Icons.Lines.All" using SVG path from "text_line_spacing_regular" at https://avaloniaui.github.io/icons.html.
New String "Text.Diff.VisualLines.All" for en_US locale (no translations yet).

* Implemented new TextDiff feature "Show All Lines" (toggle)

* Added new ToggleButton in DiffView toolbar, visible when IsTextDiff, disabling the buttons "Increase/Decrease Number of Visible Lines" when on.

* Added new Preference property "UseFullTextDiff".

* Added StyledProperty "UseFullTextDiffProperty" in TextDiffView, with a DataTemplate binding to the corresponding preference property.

* When changed, UseFullTextDiffProperty is handled identically as UseSideBySideDiffProperty (via new helper method RefreshContent(), for unification with OnDataContextChanged()).

* Added new method DiffContext.ToggleFullTextDiff() for changing the preference property and reloading the diff content.

* Implemented the new feature by overriding the "unified" (number of context lines) for Commands.Diff() with a very high number.

NOTE: The number used (~1 billion) is supposed to be the highest one working on Mac, according to this forum comment: https://stackoverflow.com/questions/28727424/for-git-diff-is-there-a-uinfinity-option-to-show-the-whole-file#comment135202820_28846576
2024-11-04 16:32:51 +08:00
leo
163e8cc0a4
feature: add context menu for issue link in commit details panel (#651)
Signed-off-by: leo <longshuang@msn.cn>
2024-11-04 15:31:55 +08:00
leo
a5594130ed
code_style: run dotnet format
Signed-off-by: leo <longshuang@msn.cn>
2024-10-23 15:28:09 +08:00
leo
d4302b4faa
refactor: render +/- marks after line number
Signed-off-by: leo <longshuang@msn.cn>
2024-10-23 15:19:59 +08:00
leo
f6e1e65a53
feature: add +/- in line number to indicate type of change (#593) 2024-10-23 12:03:22 +08:00
leo
3af30f54b6
enhance: avoid flicker at the first time clicking on text diff view 2024-09-29 14:16:42 +08:00
leo
d5671ea8df
enhance: only re-calculate highlight chunk when it is needed 2024-09-29 13:48:48 +08:00
leo
e945367b28
enhance: avoid re-calcuting highlight chunk when move mouse from stage/unstage buttons to text area 2024-09-29 12:11:09 +08:00
leo
934d784d40
fix: unable to access the Stage/Unstage buttons in diff viewer when line wrap is enabled (#481)
* disable line wrap in side-by-side diff mode
2024-09-17 22:26:35 +08:00
leo
55d2657799
ux: better line number layout 2024-08-19 19:54:46 +08:00
leo
84b8735d6c
code_style: run dotnet format 2024-08-18 23:14:44 +08:00
leo
39fba17648
enhance: text editor (#365)
* support extra grammars.
* avoid crashing on text editor detached from visual tree
2024-08-18 00:18:18 +08:00
leo
a3496a9d2f
fix: virtual space not include (#364) 2024-08-16 19:21:48 +08:00
leo
ed7465def5
enhance: render highlight background manually instead of using TextRunProperties.SetBackgroundBrush(IBrush) (#364) 2024-08-16 18:59:48 +08:00
leo
9f39a9b295
fix: background not fill entire text line (#364) 2024-08-16 17:28:00 +08:00
leo
6d11296eae
enhance: update selected chunk after stage/discard/unstage previous chunk (#361) 2024-08-16 15:11:35 +08:00
leo
f8bc48c49c
enhance: exec git command directly instead of call methods from WorkingCopy (#330) 2024-08-08 09:33:46 +08:00
leo
7ff92c4e1d
ux: stage/unstage/discard button aligment in TextDiffView 2024-08-07 19:42:41 +08:00
leo
f55a576013
refactor: rewrite amend behaviour (#300)
* toggle amend will show changes in HEAD commit
* since discard is not compatible with staged changes in `amend` mode, we only allows user to discard unstaged changes
2024-07-31 12:04:52 +08:00
leo
aae1c41dcd
enhance: extends highlight area of selected/detected chunk to line number area 2024-07-26 10:18:28 +08:00
leo
1bff77cfcf
fix: TextDiffViewChunk render issue 2024-07-25 17:57:28 +08:00
leo
40d5a7c7f3
code_style: run dotnet format to apply rules 2024-07-23 13:58:57 +08:00
leo
91801cff69
enhance: only trigger UpdateSelectedChunk if needed 2024-07-19 11:01:31 +08:00
leo
5b95344453
code_style: move commit methods to base class 2024-07-19 10:43:19 +08:00
leo
9de2853003
enhance: unify selection mode and hunk mode 2024-07-18 16:26:39 +08:00
leo
42f8e41985
ux: lower background opacity for selected hunk 2024-07-18 12:16:36 +08:00
leo
dbc95e7209
refactor: move some method from view to its data source class 2024-07-18 11:40:56 +08:00
leo
e64026d44c
fix: MakeSelection should not use UseSideBySideDiff directly 2024-07-18 11:26:47 +08:00
leo
b2ed1b283a
enhance: only replace hunk data if needed 2024-07-18 10:18:02 +08:00
leo
a68b61da94
ux: background highlight margin 2024-07-17 17:14:46 +08:00
leo
26c59bfd0d
code_style: move common funtion to base class 2024-07-17 17:10:32 +08:00
leo
b7e0e38de3
feature: stage/unstage hunk (#265) 2024-07-17 16:56:16 +08:00
leo
a807aa9e12
code_style: remove all IDE warnings 2024-07-14 15:55:15 +08:00
leo
d822afc4ec
ux: trim text in diff editor if length of line is greater than 10000 (#234)
* ignore WordWrap while trimming text, because displaying the full content content with a length greater than 10000 is meaningless
2024-07-03 15:34:29 +08:00
leo
dca8f8b39b
feature: warn when commit subject line goes beyond a certain number of characters (#201) 2024-06-23 15:45:54 +08:00
leo
fec2b402e0
code_review: PR #187
* replace icon with common whitespace icon in other editors
* button tooltip translations
* rename `_showHiddenSymbols` to `_showHiddenSymbolsInDiffView` to make its usage clear
* change the order of this button
2024-06-19 18:15:32 +08:00
Giuseppe Lippolis
9c7ac5b067 feature: Allows you to show space and tab symbols in DiffView 2024-06-19 11:33:34 +02:00
leo
9d3f186b44
code_style: run dotnet format 2024-06-14 09:46:30 +08:00
leo
68061f82b1
refactor: rewrite TextDiffView 2024-06-12 21:12:45 +08:00
leo
064d04fccc
enhance: improve QueryCommits performance 2024-06-06 20:25:16 +08:00
leo
54ef9c0bf7
refactor: use bindings instead of sync manually 2024-06-06 10:01:14 +08:00
leo
557e6b48de
Merge pull request #170 from ccyr119/develop
ux: get brush color for LineBackgrounRenderer from themes
2024-06-05 21:06:48 +08:00
Chuanyan.Chen
7836f57904 ux: get brush color for LineBackgrounRenderer from themes 2024-06-05 20:34:56 +08:00
leo
0c618998b2
refactor: sync scroll implement 2024-06-05 20:33:33 +08:00
leo
62e5ed8a42
enhance: supports user overrides the default color schema 2024-06-05 18:23:28 +08:00
leo
802b429cc8 enhance: supports word wrap in text diff view 2024-06-04 20:26:47 +08:00
leo
6fe96d629a feature: allow deleting multiple branches at one time (#137) 2024-05-25 01:31:59 +08:00
leo
0dea7ed0e2 fix: context menu did NOT closed after its placement target being recycled (#140) 2024-05-23 21:24:22 +08:00