mirror of
https://github.com/sourcegit-scm/sourcegit
synced 2025-05-22 04:34:59 +00:00
feature: supports to re-order workspaces (#1261)
Signed-off-by: leo <longshuang@msn.cn>
This commit is contained in:
parent
61bc42612e
commit
3b0c57be84
2 changed files with 59 additions and 10 deletions
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue