feature: supports to re-order workspaces (#1261)

Signed-off-by: leo <longshuang@msn.cn>
This commit is contained in:
leo 2025-04-30 21:38:46 +08:00
parent 61bc42612e
commit 3b0c57be84
No known key found for this signature in database
2 changed files with 59 additions and 10 deletions

View file

@ -9,7 +9,6 @@ namespace SourceGit.ViewModels
public AvaloniaList<Workspace> Workspaces
{
get;
private set;
}
public Workspace Selected
@ -51,6 +50,36 @@ namespace SourceGit.ViewModels
Workspaces.Remove(_selected);
}
public void MoveSelectedUp()
{
if (_selected == null)
return;
var idx = Workspaces.IndexOf(_selected);
if (idx == 0)
return;
Workspaces.Move(idx - 1, idx);
Preferences.Instance.Workspaces.RemoveAt(idx);
Preferences.Instance.Workspaces.Insert(idx - 1, _selected);
}
public void MoveSelectedDown()
{
if (_selected == null)
return;
var idx = Workspaces.IndexOf(_selected);
if (idx == Workspaces.Count - 1)
return;
Workspaces.Move(idx + 1, idx);
Preferences.Instance.Workspaces.RemoveAt(idx);
Preferences.Instance.Workspaces.Insert(idx + 1, _selected);
}
private Workspace _selected = null;
private bool _canDeleteSelected = false;
}