Skip to content

Commit c270c9d

Browse files
committed
feat: add restart button when toggling Sensitive Accents
Ensures the system restarts automatically when the Sensitive Accents option is enabled or disabled Improves user experience by making the restart action explicit
1 parent 0588fa6 commit c270c9d

4 files changed

Lines changed: 34 additions & 7 deletions

File tree

Flow.Launcher/Languages/en.xaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,10 @@
124124
<system:String x:Key="hideOnStartup">Hide Flow Launcher on startup</system:String>
125125
<system:String x:Key="hideOnStartupToolTip">Flow Launcher search window is hidden in the tray after starting up.</system:String>
126126
<system:String x:Key="sensitiveAccent">Enable accent sensitivity when searching for programs.</system:String>
127-
<system:String x:Key="sensitiveAccentToolTip">When this option is enabled, you will be able to find programs that contain accented characters more easily.</system:String>
127+
<system:String x:Key="sensitiveAccentToolTip">When this option is changed, a restart is required. When enabled, you will be able to find programs that contain accented characters more easily.</system:String>
128+
<system:String x:Key="sensitiveAccentRestartTitle">Restart Required</system:String>
129+
<system:String x:Key="sensitiveAccentRestartMessage">Changing accent sensitivity requires a restart of Flow Launcher to take effect.</system:String>
130+
<system:String x:Key="sensitiveAccentRestartButton">Restart Now</system:String>
128131
<system:String x:Key="hideNotifyIcon">Hide tray icon</system:String>
129132
<system:String x:Key="hideNotifyIconToolTip">When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window.</system:String>
130133
<system:String x:Key="querySearchPrecision">Query Search Precision</system:String>

Flow.Launcher/Languages/pt-br.xaml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,15 +114,18 @@
114114
<system:String x:Key="nodeFilePath">Caminho do Node.js</system:String>
115115
<system:String x:Key="selectNodeExecutable">Selecione o executável do Node.js</system:String>
116116
<system:String x:Key="selectPythonExecutable">Por favor, selecione pythonw.exe</system:String>
117-
<system:String x:Key="typingStartEn">Sempre Começar Digitando em Modo Inglês</system:String>
117+
<system:String x:Key="typingStartEn">Sempre Começar Digitando em Modo Inglês</system:String>
118118
<system:String x:Key="typingStartEnTooltip">Temporariamente altere seu método de entrada para o Modo Inglês ao ativar o Flow.</system:String>
119119
<system:String x:Key="autoUpdates">Atualizar Automaticamente</system:String>
120120
<system:String x:Key="autoUpdatesTooltip">Automatically check and update the app when available</system:String>
121121
<system:String x:Key="select">Selecionar</system:String>
122122
<system:String x:Key="hideOnStartup">Esconder Flow Launcher na inicialização</system:String>
123123
<system:String x:Key="hideOnStartupToolTip">Flow Launcher search window is hidden in the tray after starting up.</system:String>
124124
<system:String x:Key="sensitiveAccent">Ativar a distinção de acentuação na consulta de programas.</system:String>
125-
<system:String x:Key="sensitiveAccentToolTip">Ao ativar ou desativar esta opção você precisa reniciar o Flow para ser aplicado corretamente a configuração, você poderá encontrar programas que possuem acentuação com mais facilidade.</system:String>
125+
<system:String x:Key="sensitiveAccentToolTip">Quando esta opção for alterada, será necessária uma reinicialização. Quando ativada, você poderá encontrar programas que contêm caracteres acentuados com mais facilidade.</system:String>
126+
<system:String x:Key="sensitiveAccentRestartTitle">Reinicialização Necessária</system:String>
127+
<system:String x:Key="sensitiveAccentRestartMessage">Alterar a sensibilidade de acentos requer a reinicialização do Flow Launcher para surtir efeito.</system:String>
128+
<system:String x:Key="sensitiveAccentRestartButton">Reiniciar Agora</system:String>
126129
<system:String x:Key="hideNotifyIcon">Ocultar ícone da bandeja</system:String>
127130
<system:String x:Key="hideNotifyIconToolTip">Quando o ícone não está na bandeja, o menu de Configurações pode ser aberto ao clicar na janela de busca com o botão direito do mouse.</system:String>
128131
<system:String x:Key="querySearchPrecision">Precisão de Busca da Consulta</system:String>

Flow.Launcher/SettingPages/ViewModels/SettingsPaneGeneralViewModel.cs

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,16 @@ public partial class SettingsPaneGeneralViewModel : BaseModel
2222
private readonly Updater _updater;
2323
private readonly Portable _portable;
2424
private readonly Internationalization _translater;
25-
26-
public SettingsPaneGeneralViewModel(Settings settings, Updater updater, Portable portable, Internationalization translater)
25+
private readonly IPublicAPI _publicAPIInstance;
26+
private readonly bool _initialSensitiveAccents;
27+
public SettingsPaneGeneralViewModel(Settings settings, Updater updater, Portable portable, Internationalization translater, IPublicAPI publicApiInstance)
2728
{
2829
Settings = settings;
2930
_updater = updater;
3031
_portable = portable;
3132
_translater = translater;
33+
_publicAPIInstance = publicApiInstance;
34+
_initialSensitiveAccents = settings.SensitiveAccents;
3235
UpdateEnumDropdownLocalizations();
3336
}
3437

@@ -173,6 +176,7 @@ public bool EnableDialogJump
173176
public class DialogJumpWindowPositionData : DropdownDataGeneric<DialogJumpWindowPositions> { }
174177
public class DialogJumpResultBehaviourData : DropdownDataGeneric<DialogJumpResultBehaviours> { }
175178
public class DialogJumpFileResultBehaviourData : DropdownDataGeneric<DialogJumpFileResultBehaviours> { }
179+
public bool SensitiveAccentsRestartRequired => Settings.SensitiveAccents != _initialSensitiveAccents;
176180

177181
public List<DialogJumpWindowPositionData> DialogJumpWindowPositions { get; } =
178182
DropdownDataGeneric<DialogJumpWindowPositions>.GetValues<DialogJumpWindowPositionData>("DialogJumpWindowPosition");
@@ -196,15 +200,17 @@ public int SearchDelayTimeValue
196200
}
197201
}
198202

203+
199204
public bool SensitiveAccents
200205
{
201206
get => Settings.SensitiveAccents;
202207
set
203208
{
204-
if (Settings.SensitiveAccents != value)
209+
if(Settings.SensitiveAccents != value)
205210
{
206211
Settings.SensitiveAccents = value;
207212
OnPropertyChanged();
213+
OnPropertyChanged(nameof(SensitiveAccentsRestartRequired));
208214
}
209215
}
210216
}
@@ -362,6 +368,9 @@ private static string GetFileFromDialog(string title, string filter = "")
362368
};
363369
}
364370

371+
[RelayCommand]
372+
private void RestartApp()
373+
=> _publicAPIInstance.RestartApp();
365374
private void UpdateApp()
366375
{
367376
_ = _updater.UpdateAppAsync(false);

Flow.Launcher/SettingPages/Views/SettingsPaneGeneral.xaml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,22 @@
9595
Description="{DynamicResource sensitiveAccentToolTip}"
9696
Header="{DynamicResource sensitiveAccent}">
9797
<ui:ToggleSwitch
98-
IsOn="{Binding Settings.SensitiveAccents}"
98+
IsOn="{Binding SensitiveAccents}"
9999
OffContent="{DynamicResource disable}"
100100
OnContent="{DynamicResource enable}" />
101101
</ui:SettingsCard>
102+
<ui:InfoBar
103+
Title="{DynamicResource sensitiveAccentRestartTitle}"
104+
Margin="0 4 0 0"
105+
IsClosable="False"
106+
IsOpen="True"
107+
Message="{DynamicResource sensitiveAccentRestartMessage}"
108+
Severity="Warning"
109+
Visibility="{Binding SensitiveAccentsRestartRequired, Converter={StaticResource BoolToVisibilityConverter}}">
110+
<ui:InfoBar.ActionButton>
111+
<Button Command="{Binding RestartAppCommand}" Content="{DynamicResource sensitiveAccentRestartButton}" />
112+
</ui:InfoBar.ActionButton>
113+
</ui:InfoBar>
102114
<ui:SettingsCard
103115
Margin="0 14 0 0"
104116
Description="{DynamicResource showAtTopmostToolTip}"

0 commit comments

Comments
 (0)