Commit Graph

830 Commits

Author SHA1 Message Date
leo
8db033be99 code_review: PR #1392
- 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>
2025-06-06 18:23:10 +08:00
Henrik Andersson
a2ca071f08 feature: .dds image support (#1392)
* Added Pfim as 3rdparty lib

* Added support for parsing showing dds and tga images using Pfim

---------

Co-authored-by: Snimax <snimax@live.se>
2025-06-06 16:44:40 +08:00
Nathan Baulch
7bba40d03f typos: (#1397) 2025-06-06 12:10:55 +08:00
leo
f63fe8637b feature: use different icon for sort mode (#1393)
Signed-off-by: leo <longshuang@msn.cn>
2025-06-06 11:22:30 +08:00
leo
3bb20868fc refactor: remove unnecessary sort by name (descending) for tags (#1393)
Signed-off-by: leo <longshuang@msn.cn>
2025-06-06 10:45:18 +08:00
leo
ac55bed812 enhance: revision file viewer
- 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>
2025-06-06 10:07:58 +08:00
leo
f003f67129 fix: should use file.SHA instead of _commit.SHA to query submodule's commit
Signed-off-by: leo <longshuang@msn.cn>
2025-06-05 21:54:09 +08:00
Göran W
f04b0c5d97 fix: prevent exception on repo with no commits/branches
Signed-off-by: leo <longshuang@msn.cn>
2025-06-05 21:28:32 +08:00
leo
464fe74580 code_review: commit b969ac161a
- 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>
2025-06-05 21:27:19 +08:00
Göran W
b969ac161a enhance: unify sorting of RepositoryNode tree, unconditional sort & save after rescan 2025-06-05 21:19:25 +08:00
Göran W
88c38b4139 enhance: unified all file-path normalization - use char-replace, trim trailing slash 2025-06-05 21:17:18 +08:00
Göran W
54c05ac35a fix: remove trailing slash in paths, to avoid failing comparisons.
This is needed since DirectoryInfo.Fullname (and .FullPath) will not "normalize" trailing slashes, so direct equality tests are error-prone.
This fixes a bug in ScanRepositories.GetUnmanagedRepositories(), where not all Git repo folders were added.
(Also, corrected a variable name from 'founded' to 'found'.)
2025-06-05 21:15:28 +08:00
Göran W
75c32c1a01 typo: corrected spelling error in App.GetLauncher() method 2025-06-05 21:15:28 +08:00
leo
a023a9259b refactor: rewrite lfs pointer detection and image loading
Signed-off-by: leo <longshuang@msn.cn>
2025-06-05 21:06:31 +08:00
leo
eebadd67a1 feature: remember the last active tab index in lfs-image diff view
Signed-off-by: leo <longshuang@msn.cn>
2025-06-05 09:18:19 +08:00
leo
ed496a41fb feature: supports to view image diff when lfs object points to a image
Signed-off-by: leo <longshuang@msn.cn>
2025-06-04 20:53:42 +08:00
leo
c2187edbe9 fix: running git command in UIThread via context menu entry blocks whole app (#1384)
Signed-off-by: leo <longshuang@msn.cn>
2025-06-03 23:36:15 +08:00
leo
98041c803e feature: supports re-order custom actions (#1346)
Signed-off-by: leo <longshuang@msn.cn>
2025-06-03 20:24:30 +08:00
leo
bf43dd828a ux: new style for ref's Visibility in Graph context menu item
Signed-off-by: leo <longshuang@msn.cn>
2025-06-03 12:34:49 +08:00
leo
cd009bda6b ux: enable Use monospace font only in text editor by default
Signed-off-by: leo <longshuang@msn.cn>
2025-06-03 10:15:58 +08:00
leo
6e501b1ee4 feature!: now SourceGit requires git >= 2.25.1
Signed-off-by: leo <longshuang@msn.cn>
2025-06-02 22:38:00 +08:00
leo
7b05b011aa fix: USE THEIRS for AU conflict and USE MINE for UA conflict
Signed-off-by: leo <longshuang@msn.cn>
2025-06-02 13:03:38 +08:00
leo
78f9ae2fa9 refactor: rewrite git restore integration
Signed-off-by: leo <longshuang@msn.cn>
2025-06-02 12:14:22 +08:00
leo
fa004ce31b enhance: unstaged renamed file should use git restore --staged <path> <org_path> instead of git restore --staged <path>
Signed-off-by: leo <longshuang@msn.cn>
2025-06-01 11:19:41 +08:00
leo
8b17f3b1f4 localization: change Compare with HEAD to Compare with <current_branch_name>
Signed-off-by: leo <longshuang@msn.cn>
2025-05-30 18:19:46 +08:00
leo
7934496cff feature: reset non-active branch to selected commit should not depends on upstream
Signed-off-by: leo <longshuang@msn.cn>
2025-05-30 17:56:06 +08:00
leo
bc5deac9fe fix: OpenFolderPickerAsync raise exception when selected a drive root such as E:\
Signed-off-by: leo <longshuang@msn.cn>
2025-05-30 17:12:56 +08:00
leo
60cd210b80 fix: using theirs or mine does not work if it is deleted by ours or theirs
Signed-off-by: leo <longshuang@msn.cn>
2025-05-30 11:13:29 +08:00
leo
75015d550c ux: show conflict short format in changes view
Signed-off-by: leo <longshuang@msn.cn>
2025-05-30 10:42:02 +08:00
leo
e40ca4bbe0 refactor: use git restore instead of git reset to unstage local changes (#1373)
Signed-off-by: leo <longshuang@msn.cn>
2025-05-30 09:43:45 +08:00
leo
46231a759c code_style: run dotnet format
Signed-off-by: leo <longshuang@msn.cn>
2025-05-28 15:17:05 +08:00
leo
fbc8edcc13 feature: show conflict reason
Signed-off-by: leo <longshuang@msn.cn>
2025-05-28 14:20:56 +08:00
leo
40bf69bff3 ux: move some buttons to page switcher (#1370)
Signed-off-by: leo <longshuang@msn.cn>
2025-05-28 10:18:34 +08:00
leo
2aac6779a5 fix: squash should not change the original author
Signed-off-by: leo <longshuang@msn.cn>
2025-05-28 09:50:14 +08:00
Gadfly
729e06d5c0 fix: SaveAsPatch for untracked changes in stash (#1366) 2025-05-26 22:50:29 +08:00
leo
826619e7c9 fix: new added file in stash changes may not come from untracked file but from staged files (#1358)
Signed-off-by: leo <longshuang@msn.cn>
2025-05-26 22:13:10 +08:00
leo
0641a22230 feature: allow to reset author when --amend is enabled for committing 2025-05-26 12:28:00 +08:00
leo
ac26d5bb06 fix: can not squash and fixup until first picked/edit/reword commit in interactive rebase exists list (#1362)
Signed-off-by: leo <longshuang@msn.cn>
2025-05-25 13:46:27 +08:00
leo
0e35c56529 enhance: disable squash and fixup for the first commit in interactive rebase list (#1362)
Signed-off-by: leo <longshuang@msn.cn>
2025-05-25 13:03:36 +08:00
leo
ef53dd0025 refactor: use a new Models.ChangeState.Conflicted to represent all the unmerged file state (#1359)
Signed-off-by: leo <longshuang@msn.cn>
2025-05-24 20:25:05 +08:00
Göran W
30d4c1008a enhance: don't show unmerged files in STAGED area (#1359)
Unmerged files (i.e unresolved conflicts) should only appear in the Unstaged area, and not "duplicated" in the Staged area.

Motivation:
* The user-friendly git-status command does not show these as "Changes to be committed".
* If they appear in the Staged area, they are quite redundant since the Diff view will just show "No changes or only EOL changes".
* Some other Git UIs (like Fork) don't show these as Staged items either.

NOTE: According to docs for the git-status "Short Format" (and --porcelain=v1), the XY fields for Unmerged paths do NOT actually represent the Index & Working-tree states, instead they represent the states introduced by each HEAD in the merge (i.e Ours & Theirs, relative to Base).
2025-05-24 19:42:10 +08:00
Göran W
4363b8b6aa refactor: add new constant Models.Commit.EmptyTreeSHA1 (#1360) 2025-05-24 19:23:28 +08:00
Göran W
f3fe90b2e1 fix: IsConflictResolved check should not be done for submodules (#1356)
A submodule conflict is not resolved until it's Staged.
2025-05-24 09:40:17 +08:00
leo
76a197aae7 feature: supports to overwrite existing branch while creating new branch (#1349)
Signed-off-by: leo <longshuang@msn.cn>
2025-05-23 11:27:45 +08:00
leo
c112549b69 refactor: query branch head after operation finished to avoid branch head mismatch
Signed-off-by: leo <longshuang@msn.cn>
2025-05-23 09:40:15 +08:00
leo
1ee7d1184e enhance: only refresh submodules when it is needed (#1344)
Signed-off-by: leo <longshuang@msn.cn>
2025-05-22 11:02:54 +08:00
leo
b0c0c46441 feature: supports to de-initialize a submodule (#1272)
Signed-off-by: leo <longshuang@msn.cn>
2025-05-21 20:34:33 +08:00
leo
1fef7a7baa perf: only update uninited or outdated submodules
Signed-off-by: leo <longshuang@msn.cn>
2025-05-21 17:51:00 +08:00
leo
09d0122e26 refactor: rewrite git pull command
If we do not provide pulling remote branch, it will auto fetch all branches first.

Signed-off-by: leo <longshuang@msn.cn>
2025-05-21 17:18:25 +08:00
leo
936160ea5c feature: supports --recurse-submodules on pull (#1342)
Signed-off-by: leo <longshuang@msn.cn>
2025-05-21 16:54:23 +08:00