Commit graph

65 commits

Author SHA1 Message Date
leo
4c1ba717a7
refactor: rewrite workspace switcher (#1267)
Signed-off-by: leo <longshuang@msn.cn>
2025-05-17 20:14:09 +08:00
leo
f121975a28
code_review: PR #1328
* remove hotkey to open workspace dropdown menu
* call orignal `ViewModels.Launcher.SwitchWorkspace` directly in view
* add missing translation for Chinese

Signed-off-by: leo <longshuang@msn.cn>
2025-05-17 18:37:02 +08:00
popara
01945f231e
Added workspaces shortcuts (#1328)
- added Alt+Space for opening Workspaces context menu (which can then be navigated normally with arrows)
- added Alt+1 through Alt+9 for switching to corresponding workspace
2025-05-17 13:17:10 +08:00
leo
825b74c2a3
refactor: use String.AsSpan(int, int) instead of String.AsSpan().Slice(int, int)
Signed-off-by: leo <longshuang@msn.cn>
2025-04-29 09:44:06 +08:00
qiufengshe
48bb8e91de
perf: minimize temporary strings for better performance (#1255) 2025-04-29 09:33:14 +08:00
leo
750ca8ec61
refactor: use custom view locator to create new window/dialog (#1216)
Signed-off-by: leo <longshuang@msn.cn>
(cherry picked from commit 3e6f2b25f15b263e2b84922abc5cf6d621d62a83)
2025-04-21 15:32:21 +08:00
leo
fc85dd3269
enhance: improve Repository.Open() performance (#1121)
Signed-off-by: leo <longshuang@msn.cn>
2025-03-24 19:37:39 +08:00
leo
b4ab4afd3a
code_review: PR #1103
Since we only use `$GIT_COMMON_DIR` in filesystem watcher, it is unnecessary to store this value in `Repository`, and we can query the `$GIT_COMMON_DIR` only when it looks like a worktree

Signed-off-by: leo <longshuang@msn.cn>
2025-03-17 16:19:59 +08:00
Gadfly
cea8a90680
refactor: use $GIT_COMMON_DIR instead of cut $GIT_DIR/worktrees (#1103) 2025-03-17 15:56:13 +08:00
Gadfly
c1c0e7b2a0
enhance: Save Preferences after switched Workspace and closed Preferences (#1073) 2025-03-10 12:04:19 +08:00
leo
b9b5220590
feature: bare repository support 2025-01-14 17:26:01 +08:00
wl2776
6e5626f267
fix: several typos in source code (#895) 2025-01-13 10:11:28 +08:00
leo
275a52eb5c
refactor: add repository 2025-01-11 11:28:37 +08:00
leo
9baa2c9fad
refactor: get owner page of repsitory dynamically 2025-01-09 09:21:58 +08:00
leo
f06b1d5d51
refactor: merge ViewModels.PopupHost into ViewModels.LauncherPage 2025-01-08 21:36:49 +08:00
leo
f418b72c64
feature: use [$workspace] $repo_name ($repo_path) as main window's title (#818) 2024-12-16 15:47:33 +08:00
leo
4a6cbddeac
refactor: select the previous tab while closing the actived one (#621)
Signed-off-by: leo <longshuang@msn.cn>
2024-10-30 09:53:58 +08:00
leo
c67cdb931f
enhance: stop switching workspace when one or more tasks are running in opened pages 2024-10-11 17:37:34 +08:00
leo
1ba294a07b
refactor: move auto-fetch from global preference to repository settings 2024-09-26 10:50:21 +08:00
leo
85b83990a8
code_style: run dotnet format 2024-09-25 16:24:04 +08:00
leo
acf71a30b8
enhance: re-calculate the opened repositories in active workspace (#511) 2024-09-25 15:07:23 +08:00
leo
84fda6a8db
feature: add property RestoreOnStartup property to ViewModels.Workspace (#488) 2024-09-18 21:35:33 +08:00
leo
9c6745c271
enhance: skip auto fetching when index.lock file exists in the repository's git dir 2024-09-18 14:49:53 +08:00
leo
2d611cf988
fix: repository settings did not saved correctly when closing app (#459) 2024-09-11 10:20:12 +08:00
leo
3cebff6722
enhance: when open sourcegit with repository from commandline disable all workspaces 2024-09-10 17:47:08 +08:00
leo
9934586ee0
enhance: remember the active page index for each workspace (#445) 2024-09-09 19:40:44 +08:00
leo
e63034acd5
enhance: when open repository from commandline, create a new workspace Unnamed for it, and never add it to preference (#445) 2024-09-09 19:14:44 +08:00
leo
0190c2111d
enhance: workspace tooltip (#445) 2024-09-09 18:47:53 +08:00
leo
ebc112a627
feature: workspace support (#445) 2024-09-09 18:26:43 +08:00
leo
b16d267c9b
enhance: show git errors when failed to get the repository root dir of given path (#397) 2024-08-27 15:35:10 +08:00
leo
4f8ccc4563
enhance: clean search filter when open Welcome page by closing the last opened repository tab 2024-08-25 20:51:53 +08:00
leo
38e2e0f3f4
refactor: rewrite the welcome page since the original TreeView has many limitations (#391) 2024-08-22 21:10:23 +08:00
leo
7fe1df20cc
refactor: delay starting background tasks
* start background task only it is needed
* solve the problem that we can not use `ViewModels.Preference.Instance` until resource ready
* remove avatar sever settings
2024-08-18 23:10:54 +08:00
leo
9e048751ae
refactor: move non-observable object from ViewModels to Models
* ViewModels.MergeMode -> Models.MergeMode
* ViewModels.Notification -> Models.Notification
* ViewModels.ResetMode -> Models.ResetMode
* use `int` instead of `ViewModels.CountSelectedCommits`
2024-07-24 11:44:13 +08:00
leo
720b2b65f3
code_style: change static methods of ViewModels.Preference to member function 2024-07-22 15:34:31 +08:00
leo
684fedb9bd
ux: icons 2024-07-15 15:47:28 +08:00
leo
3aad24a64e
enhance: secure exit 2024-07-15 09:54:46 +08:00
leo
f4eca45754
code_style: remove all IDE warnings 2024-07-15 00:30:31 +08:00
leo
e5462f0086
code_style: run dotnet format to apply code style rules 2024-07-10 12:12:14 +08:00
leo
6930b51c64
refactor: commandline parsing
* `--rebase-todo-editor` launches this app as a git `sequence.editor`
* `--rebase-message-editor` launches this app as a git `core.editor` which runs on background by reading rebasing jobs
* `--core-editor` launches this app as a git `core.editor`
* `--askpass` launches this app as a SSH askpass program
2024-07-09 12:20:52 +08:00
leo
cbe4c36525
feature: support git.core.askpass (#239) 2024-07-08 22:07:00 +08:00
leo
7f389b2e6f
refactor: move settings of repository, such as filters, commit message, from Preference to each repository's gitdir.
* avoid invalid repository setting remains in preference.json
* supports to restore tabs that not added to the Welcome page
2024-07-01 11:57:13 +08:00
leo
1241539260
refactor: custom renderer for launcher tab bar 2024-06-29 17:04:39 +08:00
leo
e330862ec9
refactor: rewrite Launcher
* move main tabbar to a standalone control
* simpfy notification
2024-06-26 20:56:29 +08:00
leo
2078886bc9
fix: close popup if current page is the last one 2024-06-12 12:08:19 +08:00
leo
7c79340cc1
fix: view not update after Close Other Tabs clicked 2024-06-11 17:04:28 +08:00
leo
1a18235a76
fix: tab splitter visible issue 2024-06-06 18:25:28 +08:00
leo
5514c56a29
refactor: more efficient way to update the visibility of tab splitters 2024-06-06 18:09:35 +08:00
leo
faf2c39056 refactor: rewrite Preference.FindOrAddNodeByRepositoryPath
* prevent moving node while opening repository directly from commandline
* supports to set parent node while dropping folder to initialize repository
2024-05-20 17:39:31 +08:00
leo
8d726656dc feature: supports to open repository directly from commandline on Linux 2024-05-20 15:15:08 +08:00