mirror of
https://github.com/sourcegit-scm/sourcegit
synced 2025-06-22 02:45:00 +00:00

- Implemented logic in Clone.cs to set ParentFolder based on the active workspace's DefaultCloneDir if available, falling back to the global GitDefaultCloneDir. - Added DefaultCloneDir property to Workspace.cs to store the default clone directory for each workspace. - Updated ConfigureWorkspace.axaml to include a TextBox and Button for setting the DefaultCloneDir in the UI. - Implemented folder selection functionality in ConfigureWorkspace.axaml.cs to allow users to choose a directory for cloning. - This closes issue #1145
66 lines
1.5 KiB
C#
66 lines
1.5 KiB
C#
using System.Collections.Generic;
|
|
using Avalonia.Media;
|
|
using CommunityToolkit.Mvvm.ComponentModel;
|
|
|
|
namespace SourceGit.ViewModels
|
|
{
|
|
public class Workspace : ObservableObject
|
|
{
|
|
public string Name
|
|
{
|
|
get => _name;
|
|
set => SetProperty(ref _name, value);
|
|
}
|
|
|
|
public uint Color
|
|
{
|
|
get => _color;
|
|
set
|
|
{
|
|
if (SetProperty(ref _color, value))
|
|
OnPropertyChanged(nameof(Brush));
|
|
}
|
|
}
|
|
|
|
public List<string> Repositories
|
|
{
|
|
get;
|
|
set;
|
|
} = new List<string>();
|
|
|
|
public int ActiveIdx
|
|
{
|
|
get;
|
|
set;
|
|
} = 0;
|
|
|
|
public bool IsActive
|
|
{
|
|
get => _isActive;
|
|
set => SetProperty(ref _isActive, value);
|
|
}
|
|
|
|
public bool RestoreOnStartup
|
|
{
|
|
get => _restoreOnStartup;
|
|
set => SetProperty(ref _restoreOnStartup, value);
|
|
}
|
|
|
|
public string DefaultCloneDir
|
|
{
|
|
get => _defaultCloneDir;
|
|
set => SetProperty(ref _defaultCloneDir, value);
|
|
}
|
|
|
|
public IBrush Brush
|
|
{
|
|
get => new SolidColorBrush(_color);
|
|
}
|
|
|
|
private string _name = string.Empty;
|
|
private uint _color = 4278221015;
|
|
private bool _isActive = false;
|
|
private bool _restoreOnStartup = true;
|
|
private string _defaultCloneDir = string.Empty;
|
|
}
|
|
}
|