mirror of
https://github.com/Flow-Launcher/Flow.Launcher.git
synced 2026-03-11 08:54:32 +00:00
146 lines
3.5 KiB
C#
146 lines
3.5 KiB
C#
using System.Collections.Generic;
|
|
using Flow.Launcher.Localization.Attributes;
|
|
|
|
namespace Flow.Launcher.Plugin.Shell
|
|
{
|
|
public class Settings : BaseModel
|
|
{
|
|
private Shell _shell = Shell.Cmd;
|
|
public Shell Shell
|
|
{
|
|
get => _shell;
|
|
set
|
|
{
|
|
if (_shell != value)
|
|
{
|
|
_shell = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
private bool _replaceWinR = false;
|
|
public bool ReplaceWinR
|
|
{
|
|
get => _replaceWinR;
|
|
set
|
|
{
|
|
if (_replaceWinR != value)
|
|
{
|
|
_replaceWinR = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
private bool _closeShellAfterPress = false;
|
|
public bool CloseShellAfterPress
|
|
{
|
|
get => _closeShellAfterPress;
|
|
set
|
|
{
|
|
if (_closeShellAfterPress != value)
|
|
{
|
|
_closeShellAfterPress = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
private bool _leaveShellOpen;
|
|
public bool LeaveShellOpen
|
|
{
|
|
get => _leaveShellOpen;
|
|
set
|
|
{
|
|
if (_leaveShellOpen != value)
|
|
{
|
|
_leaveShellOpen = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
private bool _runAsAdministrator = true;
|
|
public bool RunAsAdministrator
|
|
{
|
|
get => _runAsAdministrator;
|
|
set
|
|
{
|
|
if (_runAsAdministrator != value)
|
|
{
|
|
_runAsAdministrator = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
private bool _useWindowsTerminal = false;
|
|
public bool UseWindowsTerminal
|
|
{
|
|
get => _useWindowsTerminal;
|
|
set
|
|
{
|
|
if (_useWindowsTerminal != value)
|
|
{
|
|
_useWindowsTerminal = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
private bool _showOnlyMostUsedCMDs;
|
|
public bool ShowOnlyMostUsedCMDs
|
|
{
|
|
get => _showOnlyMostUsedCMDs;
|
|
set
|
|
{
|
|
if (_showOnlyMostUsedCMDs != value)
|
|
{
|
|
_showOnlyMostUsedCMDs = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
private int _showOnlyMostUsedCMDsNumber = 5;
|
|
public int ShowOnlyMostUsedCMDsNumber
|
|
{
|
|
get => _showOnlyMostUsedCMDsNumber;
|
|
set
|
|
{
|
|
if (_showOnlyMostUsedCMDsNumber != value)
|
|
{
|
|
_showOnlyMostUsedCMDsNumber = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
public Dictionary<string, int> CommandHistory { get; set; } = [];
|
|
|
|
public void AddCmdHistory(string cmdName)
|
|
{
|
|
if (!CommandHistory.TryAdd(cmdName, 1))
|
|
{
|
|
CommandHistory[cmdName] += 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
[EnumLocalize]
|
|
public enum Shell
|
|
{
|
|
[EnumLocalizeValue("CMD")]
|
|
Cmd = 0,
|
|
|
|
[EnumLocalizeValue("PowerShell")]
|
|
Powershell = 1,
|
|
|
|
[EnumLocalizeValue("RunCommand")]
|
|
RunCommand = 2,
|
|
|
|
[EnumLocalizeValue("Pwsh")]
|
|
Pwsh = 3,
|
|
}
|
|
}
|