mirror of
https://github.com/Flow-Launcher/Flow.Launcher.git
synced 2026-03-11 08:54:32 +00:00
79 lines
1.9 KiB
C#
79 lines
1.9 KiB
C#
|
|
using System.Collections.Generic;
|
|||
|
|
|
|||
|
|
namespace Flow.Launcher.Plugin.Shell.ViewModels;
|
|||
|
|
|
|||
|
|
public class ShellSettingViewModel : BaseModel
|
|||
|
|
{
|
|||
|
|
public Settings Settings { get; }
|
|||
|
|
|
|||
|
|
public List<ShellLocalized> AllShells { get; } = ShellLocalized.GetValues();
|
|||
|
|
|
|||
|
|
public Shell SelectedShell
|
|||
|
|
{
|
|||
|
|
get => Settings.Shell;
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
if (Settings.Shell != value)
|
|||
|
|
{
|
|||
|
|
Settings.Shell = value;
|
|||
|
|
OnPropertyChanged();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public List<int> OnlyMostUsedCMDsNumbers { get; } = [5, 10, 20];
|
|||
|
|
public int SelectedOnlyMostUsedCMDsNumber
|
|||
|
|
{
|
|||
|
|
get => Settings.ShowOnlyMostUsedCMDsNumber;
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
if (Settings.ShowOnlyMostUsedCMDsNumber != value)
|
|||
|
|
{
|
|||
|
|
Settings.ShowOnlyMostUsedCMDsNumber = value;
|
|||
|
|
OnPropertyChanged();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public bool CloseShellAfterPress
|
|||
|
|
{
|
|||
|
|
get => Settings.CloseShellAfterPress;
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
if (Settings.CloseShellAfterPress != value)
|
|||
|
|
{
|
|||
|
|
Settings.CloseShellAfterPress = value;
|
|||
|
|
OnPropertyChanged();
|
|||
|
|
// Only allow CloseShellAfterPress to be true when LeaveShellOpen is false
|
|||
|
|
if (value)
|
|||
|
|
{
|
|||
|
|
LeaveShellOpen = false;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public bool LeaveShellOpen
|
|||
|
|
{
|
|||
|
|
get => Settings.LeaveShellOpen;
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
if (Settings.LeaveShellOpen != value)
|
|||
|
|
{
|
|||
|
|
Settings.LeaveShellOpen = value;
|
|||
|
|
OnPropertyChanged();
|
|||
|
|
// Only allow LeaveShellOpen to be true when CloseShellAfterPress is false
|
|||
|
|
if (value)
|
|||
|
|
{
|
|||
|
|
CloseShellAfterPress = false;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public ShellSettingViewModel(Settings settings)
|
|||
|
|
{
|
|||
|
|
Settings = settings;
|
|||
|
|
}
|
|||
|
|
}
|