Commit graph

1155 commits

Author SHA1 Message Date
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
635396008d
fix: clicking Open in Browser context menu item of issue link does not work (#651)
Signed-off-by: leo <longshuang@msn.cn>
2024-11-04 15:48:28 +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
58fbb16347
code_review: PR #644
- use `AutoFocusBehaviour.IsEnable` instead of toggle focus by code in `OnOpened `

Signed-off-by: leo <longshuang@msn.cn>
2024-11-03 10:58:50 +08:00
Aliaksandr Liakhavets
794163fe1c
Set default focus on password text box (#644)
Co-authored-by: AleksandrLiakhavetsEPAM <97155822+AleksandrLiakhavetsEPAM@users.noreply.github.com>
2024-11-03 09:25:32 +08:00
leo
a36058ec51
feature: supports custom actions (#638)
Signed-off-by: leo <longshuang@msn.cn>
2024-11-01 17:23:31 +08:00
leo
7c5de7e48c
enhance: do NOT restore fullscreen window on macOS
Signed-off-by: leo <longshuang@msn.cn>
2024-11-01 12:22:47 +08:00
leo
98612b0024
code_style: remove unused code
Signed-off-by: leo <longshuang@msn.cn>
2024-11-01 10:00:37 +08:00
leo
e3c0f7d496
refactor: rewrite chromeless window (#634)
* use system chrome instead of custom caption button on macOS
* move `BeginMoveWindow` and `MaximizeOrRestoreWindow` to `ChromelessWindow`
* better supports for fullscreen mode on macOS
* redesign the layout of title bar for all windows

Signed-off-by: leo <longshuang@msn.cn>
2024-11-01 09:38:42 +08:00
leo
1999e4bf47
ux: remove button padding and use content alignment to center text
Some checks are pending
Continuous Integration / Package (push) Blocked by required conditions
Continuous Integration / Build (push) Waiting to run
Continuous Integration / Prepare version string (push) Waiting to run
Localization Check / localization-check (push) Waiting to run
Signed-off-by: leo <longshuang@msn.cn>
2024-10-31 20:02:31 +08:00
leo
3cbffa6ff9
feature: add an option in repository configuration to enable --prune on fetch (#590)
Signed-off-by: leo <longshuang@msn.cn>
2024-10-30 18:39:38 +08:00
leo
a4befd010a
code_review: PR #627
* add minimal height for both unstaged and staged changes view

Signed-off-by: leo <longshuang@msn.cn>
2024-10-30 18:10:53 +08:00
yindf
2d7ea561e2
fix bug that stuck auto fetch when pull failed & make stage area resizeable (#627)
* fix watcher stuck by pull
* make stage area resizeable

---------

Co-authored-by: yindf <yindf@mail.jj.cn>
(cherry picked from commit a842aca042a73cb5fa3995794aae2a2e3540b37f)
2024-10-30 17:59:59 +08:00
leo
fe03512c5c
ux: tooltip of commit signing status icon
Signed-off-by: leo <longshuang@msn.cn>
2024-10-30 15:10:26 +08:00
leo
195325187d
ux: tooltip of commit signing status icon
* do NOT show signer if it is not available
* new tooltip style

Signed-off-by: leo <longshuang@msn.cn>
2024-10-30 15:01:08 +08:00
leo
9abda2c6ab
ux: move the commit signing status icon to the last
Signed-off-by: leo <longshuang@msn.cn>
2024-10-30 10:27:14 +08:00
leo
279b1819a3
feature: show commit gpg sign status (#614)
Some checks are pending
Continuous Integration / Build (push) Waiting to run
Continuous Integration / Prepare version string (push) Waiting to run
Continuous Integration / Package (push) Blocked by required conditions
Localization Check / localization-check (push) Waiting to run
Signed-off-by: leo <longshuang@msn.cn>
2024-10-29 21:03:45 +08:00
leo
5c92fbdb37
fix: MinWidth not work while manually resizing window (#619)
Signed-off-by: leo <longshuang@msn.cn>
2024-10-29 19:59:22 +08:00
leo
ee20eba047
ux: limit the minimal width/height of resizable panels (#619)
Signed-off-by: leo <longshuang@msn.cn>
2024-10-29 16:51:54 +08:00
leo
1442dcfe00
feature: allow fetch the latest remote changes into local branch which is not current branch (#617)
Signed-off-by: leo <longshuang@msn.cn>
2024-10-29 09:59:13 +08:00
leo
498d2b54ae
feature: add per-repository setting for prefered OpenAI service
* If there is only one OpenAI service available, discard the setting of prefered OpenAI service. Instead, use it directly
* If there are multiple OpenAI service available, try to find the prefered one or show a context menu for users to choose the one they want to use

Signed-off-by: leo <longshuang@msn.cn>
2024-10-28 21:36:10 +08:00
leo
6c390d2f04
ux: layout of stage page
Signed-off-by: leo <longshuang@msn.cn>
2024-10-28 18:06:27 +08:00
leo
566d36ca59
feature: add option to enable --keep-index option of git stash push command (#610)
Signed-off-by: leo <longshuang@msn.cn>
2024-10-28 16:51:42 +08:00
leo
1044915be1
refactor: OpenAI integration
* supports configure multiple services
* supports select service when generate commit message by OpenAI

Signed-off-by: leo <longshuang@msn.cn>
2024-10-28 11:00:11 +08:00
leo
fa4f0a6bd4
ux: move prompt settings to advanced
Signed-off-by: leo <longshuang@msn.cn>
2024-10-25 09:51:51 +08:00
Douglas Cunha
63f75dc589
refactor: improve pt_BR localization clarity and consistency
- Refactor pt_BR localization strings for improved clarity and consistency in UI text across various components.
- Add password masking to the API key input field.
2024-10-24 10:17:35 -03:00
GadflyFang
c08c307c7a
enhance: add GitLab Issue/MR sample rules (#598)
Some checks are pending
Continuous Integration / Build (push) Waiting to run
Continuous Integration / Prepare version string (push) Waiting to run
Continuous Integration / Package (push) Blocked by required conditions
* enhance: add GitLab Issue/MR sample rules
* fix: remove blank in zh_CN

---------

Signed-off-by: Gadfly <gadfly@gadfly.vip>
2024-10-24 18:07:04 +08:00
leo
76a7a2228f
feature: use numeric sorting for all trees (#597)
Signed-off-by: leo <longshuang@msn.cn>
2024-10-24 15:11:10 +08:00
leo
12bb915bd8
code_review: PR #596
- Add `ViewModels.Preference.PrepareOpenAIPrompt()` method to generate default prompt instead of a const fallback value. Therefore, it is more convenient for us to modify the default value in the Preference dialog.
- Modify the default prompts. Rename `SubjectPrompt` to `GenerateSubjectPrompt`. Rename `SummaryPrompt` to `AnalyzeDiffPrompt`.
- Rewrite the way to build OpenAI user content for subject generation

Signed-off-by: leo <longshuang@msn.cn>
2024-10-24 10:22:06 +08:00
Douglas Cunha
2f68aed817
feat: improve commit message generation with AI prompts (#596)
- Refactor the commit message generation process to utilize default prompts and enhance clarity while eliminating redundancy.
- Added new properties for subject and summary prompts, while improving cancellation support in async task handling.
- feat: add AI prompts for commit message generation.
- Updated the formatting of the package reference for consistency in the project file.
- Add properties for managing OpenAI subject and summary prompts in the Preference view model.
- Refactor layout and add new input fields for AI subject and summary prompts in the preferences view.
2024-10-24 09:31:05 +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
d21a8f2449
refactor: rewrite OpenAI integration
Signed-off-by: leo <longshuang@msn.cn>
2024-10-23 14:05:40 +08:00
leo
f6e1e65a53
feature: add +/- in line number to indicate type of change (#593) 2024-10-23 12:03:22 +08:00
leo
06fd49ba92
feature: support --signoff for git commit command (#591)
Signed-off-by: leo <longshuang@msn.cn>
2024-10-23 09:46:27 +08:00
leo
b9d7f908c9
refactor: do NOT use the --prune parameter for git fetch command (#590)
Some checks are pending
Continuous Integration / Build (push) Waiting to run
Continuous Integration / Prepare version string (push) Waiting to run
Continuous Integration / Package (push) Blocked by required conditions
2024-10-22 16:54:21 +08:00
leo
1855b43750
feature: allow empty commit (#587) 2024-10-22 10:03:43 +08:00
Luis Frey
a8a7775b83
feature: add ${branch_name} option to commit templates (#589) 2024-10-22 09:44:53 +08:00
leo
6dac26d525
refactor: since there is a hotkey to stage and commit, remove the unsafe auto-stage configure 2024-10-22 09:29:49 +08:00
leo
bb45a5af8e
enhance: use \S instead of \w to supports emoji character 2024-10-21 17:07:56 +08:00
leo
3296f90feb
enhance: only show two chars when they are all ascii letters or digits (#585) 2024-10-21 16:58:15 +08:00
Antony David
3804b0a828
fix(histories): handle commits with breaking changes (#584) 2024-10-21 15:41:31 +08:00
leo
0539a94cbe
feature: mark deleted repository and auto remove it after scan default clone dir (#576) 2024-10-20 20:42:14 +08:00
leo
9668efbd8c
code_style: remove Rider warnings 2024-10-20 20:16:54 +08:00
leo
d3bca20034
ux: using Grid instead of StackPanel to layout convertional commit change type 2024-10-18 16:33:13 +08:00
leo
72b46a6e16
ux: use the same icon for conventional commit message generator (#574) 2024-10-18 16:28:07 +08:00
leo
9153bbe07f
feature: add conventional commit message generator (#574) 2024-10-18 16:20:45 +08:00
leo
2821bab77c
ux: layout of histories toggle buttons 2024-10-18 14:48:15 +08:00
leo
62ac4290ca
feature: add a toggle button to enable --reflog when query commits 2024-10-18 14:27:20 +08:00
leo
f2de7a0c21
refactor: new avatar fallback string generator 2024-10-18 11:51:34 +08:00
leo
b23f284e21
feature: add context menu for selected change in stashes page 2024-10-17 15:37:14 +08:00
leo
f6e0b0b1c0
feature: hover on tag view shows the message of it (#567) 2024-10-17 14:57:05 +08:00
leo
9ed5226eab
ux: change the width of notification popup to 480px (#556)
Some checks are pending
Continuous Integration / Build (push) Waiting to run
Continuous Integration / Prepare version string (push) Waiting to run
Continuous Integration / Package (push) Blocked by required conditions
2024-10-16 16:23:59 +08:00
leo
573db575b6
enhance: update keyword regex for commit subject 2024-10-16 16:01:52 +08:00
leo
aae5f10f66
enhance: update REG_KEYWORD_FORMAT2 2024-10-16 15:49:06 +08:00
leo
7d800dc0bf
enhance: update REG_KEYWORD_FORMAT2 2024-10-16 15:43:20 +08:00
leo
7779b05680
ux: change max width of left panel in repository view to 500px (#569) 2024-10-16 15:27:18 +08:00
leo
6abb6c6469
ux: style for HEAD decorator 2024-10-16 15:18:08 +08:00
leo
0621ed950e
enhance: update keywords prefix regex 2024-10-16 14:57:45 +08:00
leo
8f9e2cefe9
feature: use bold font for keyword prefix of commit subject
Regexes to detect `keyword`
* ^(\[[\w\s]+\])
* ^(\w+\s?:)
2024-10-16 14:48:52 +08:00
leo
7f8a1c384a
ux: add tips for selecting multiple commits in histories view 2024-10-16 11:58:31 +08:00
leo
7df96377b8
ux: new remote icon
Some checks are pending
Continuous Integration / Build (push) Waiting to run
Continuous Integration / Prepare version string (push) Waiting to run
Continuous Integration / Package (push) Blocked by required conditions
2024-10-15 20:03:36 +08:00
leo
1ec7123584
ux: add Background property to avoid unclear display for selected state 2024-10-15 14:48:29 +08:00
leo
85e4f38654
ux: head ref style in commit details panel 2024-10-15 10:00:24 +08:00
leo
b44d4d26c9
ux: do not use graph color for commit refs (decorators) in commit details panel 2024-10-15 09:53:22 +08:00
leo
07c2e9f927
fix: decorator do not redraw after tag background property changed 2024-10-15 09:43:09 +08:00
leo
ccdc849baa
code_style: run dotnet format 2024-10-15 09:39:01 +08:00
leo
4c60818d68
ux: new style for current HEAD 2024-10-15 09:18:24 +08:00
leo
6908216de5
ux: new commit graph decorator style (#564)
Some checks are pending
Continuous Integration / Build (push) Waiting to run
Continuous Integration / Prepare version string (push) Waiting to run
Continuous Integration / Package (push) Blocked by required conditions
2024-10-14 21:09:03 +08:00
leo
207bcf0fbf
ux: download button icon color 2024-10-14 17:18:40 +08:00
leo
5fef6e93b9
enhance: cherry-pick (#563)
* supports to cherry-pick a merge commit
* add option to enable the `-x` parameter
2024-10-14 15:20:02 +08:00
leo
95a63eb98d
ux: dropshadow effect for selected chunk buttons in text diff view
Some checks failed
Continuous Integration / Build (push) Has been cancelled
Continuous Integration / Prepare version string (push) Has been cancelled
Continuous Integration / Package (push) Has been cancelled
2024-10-12 15:28:30 +08:00
leo
d9db7eb1d4
update: add LiveChart2 links to about page 2024-10-12 11:27:47 +08:00
leo
b9a24ceb53
feature: add hotkeys to move interactive rebase item up and down (#557) 2024-10-12 10:28:54 +08:00
leo
adca61c538
ux: re-order items in preference panel 2024-10-12 09:59:19 +08:00
leo
21e15a1af4
feature: add a toggle in perference to show author time instead of committer time in graph (#558) 2024-10-12 09:56:33 +08:00
leo
b5000f920f
enhance: highlight selected search commits 2024-10-11 11:04:27 +08:00
leo
68519c76ca
refactor: stash local changes (#550)
* when try to stash all the local changes, add a option to only stash the staged changes
* stash changes in selected files will prompt user - both staged and unstaged changes of selected file(s) will be stashed
2024-10-10 11:54:59 +08:00
leo
14334b08d2
enhance: do not save gpg.openpgp.program if gpg.program exists and the value has not been changed (#544)
Some checks are pending
Continuous Integration / Build (push) Waiting to run
Continuous Integration / Prepare version string (push) Waiting to run
Continuous Integration / Package (push) Blocked by required conditions
2024-10-09 17:29:53 +08:00
leo
bfb97dff72
ux: warning text style 2024-10-09 15:30:25 +08:00
leo
857ba85d9f
ux: do not use small font size for branches/tags/submodules search box 2024-10-09 09:41:37 +08:00
leo
3dcb32aec9
ux: new style for discard confirm popup
Some checks failed
Continuous Integration / Build (push) Has been cancelled
Continuous Integration / Prepare version string (push) Has been cancelled
Continuous Integration / Package (push) Has been cancelled
2024-10-06 22:38:13 +08:00
leo
7262437385
ux: new style for pushing a new branch to remote 2024-10-06 21:48:26 +08:00
leo
3ce06cc6b5
ux: add tooltip for change status icon (#537)
Some checks failed
Continuous Integration / Build (push) Has been cancelled
Continuous Integration / Prepare version string (push) Has been cancelled
Continuous Integration / Package (push) Has been cancelled
2024-10-03 19:01:49 +08:00
leo
4e57cd50cd
feature: add an option to clean up ignored files when discard all changes in repo (#531)
Some checks are pending
Continuous Integration / Build (push) Waiting to run
Continuous Integration / Prepare version string (push) Waiting to run
Continuous Integration / Package (push) Blocked by required conditions
2024-10-02 21:46:48 +08:00
leo
d746e352a7
feature: supports to set default remote to push local branches without any tracking remotes (#534) 2024-10-02 15:13:27 +08:00
leo
6d1dfad8a1
ux: changes view mode style (#533)
Some checks are pending
Continuous Integration / Build (push) Waiting to run
Continuous Integration / Prepare version string (push) Waiting to run
Continuous Integration / Package (push) Blocked by required conditions
* move changes view mode switch button to right button group
* change the style for ChangeViewModeSwitcher
* remove used code
2024-10-01 23:16:32 +08:00
leo
2670bd89d6
ux: add icons for group
Some checks are pending
Continuous Integration / Build (push) Waiting to run
Continuous Integration / Prepare version string (push) Waiting to run
Continuous Integration / Package (push) Blocked by required conditions
2024-10-01 09:26:50 +08:00
leo
d2a005c532
feature: add a button in diff view to ignore all whitespace changes (--ignore-all-space)
Some checks are pending
Continuous Integration / Build (push) Waiting to run
Continuous Integration / Prepare version string (push) Waiting to run
Continuous Integration / Package (push) Blocked by required conditions
2024-09-30 11:34:09 +08:00
leo
986c27e1cb
code_style: code style of Models.CommitGraph
Some checks are pending
Continuous Integration / Build (push) Waiting to run
Continuous Integration / Prepare version string (push) Waiting to run
Continuous Integration / Package (push) Blocked by required conditions
2024-09-29 22:44:50 +08:00
GadflyFang
c7332aff03
fix: avoid NRE in ContextMenuExtension (#526) 2024-09-29 16:05:02 +08:00
GadflyFang
18e0479288
enhance: reduce Minimum of History Commits setting (#527) 2024-09-29 15:23:38 +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
Some checks are pending
Continuous Integration / Build (push) Waiting to run
Continuous Integration / Prepare version string (push) Waiting to run
Continuous Integration / Package (push) Blocked by required conditions
2024-09-29 12:11:09 +08:00
leo
99c2ffeef4
ux: change style of commit button's tooltip 2024-09-29 10:14:44 +08:00
leo
4d6ecd2396
fix: can not select the last line in blame (#523) 2024-09-29 09:20:40 +08:00
leo
19e930ef40
refactor: change hotkeys of commit buttons (#521)
Some checks are pending
Continuous Integration / Build (push) Waiting to run
Continuous Integration / Prepare version string (push) Waiting to run
Continuous Integration / Package (push) Blocked by required conditions
* Ctrl+Shift+Enter to stage all changes then commit
* Alt+Enter to commit and push
2024-09-28 11:40:15 +08:00
leo
841a009a56
ux: change cursor to Hand when hover a commit hash link (#522) 2024-09-28 11:25:17 +08:00
leo
bb907deddb
code_style: correct the comment of invisible commit button
Some checks are pending
Continuous Integration / Build (push) Waiting to run
Continuous Integration / Prepare version string (push) Waiting to run
Continuous Integration / Package (push) Blocked by required conditions
2024-09-27 23:02:25 +08:00