Skip to content

Commit c07c7ad

Browse files
committed
Added reminder that a reboot is required to modify settings
1 parent e223b80 commit c07c7ad

File tree

6 files changed

+42
-13
lines changed

6 files changed

+42
-13
lines changed

v2rayN/v2rayN/Resx/ResUI.Designer.cs

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

v2rayN/v2rayN/Resx/ResUI.resx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1213,4 +1213,7 @@
12131213
<data name="LvCustomRulesetPath4Singbox" xml:space="preserve">
12141214
<value>Custom the rule-set of sing-box</value>
12151215
</data>
1216+
<data name="NeedRebootTips" xml:space="preserve">
1217+
<value>Successful operation. Click the settings menu to reboot the app.</value>
1218+
</data>
12161219
</root>

v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1210,4 +1210,7 @@
12101210
<data name="LvCustomRulesetPath4Singbox" xml:space="preserve">
12111211
<value>自定义sing-box rule-set</value>
12121212
</data>
1213+
<data name="NeedRebootTips" xml:space="preserve">
1214+
<value>操作成功。请点击设置菜单重启应用。</value>
1215+
</data>
12131216
</root>

v2rayN/v2rayN/Resx/ResUI.zh-Hant.resx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1183,4 +1183,7 @@
11831183
<data name="LvCustomRulesetPath4Singbox" xml:space="preserve">
11841184
<value>自訂sing-box rule-set</value>
11851185
</data>
1186+
<data name="NeedRebootTips" xml:space="preserve">
1187+
<value>操作成功。 請點選設定選單重啟應用程式。</value>
1188+
</data>
11861189
</root>

v2rayN/v2rayN/ViewModels/OptionSettingViewModel.cs

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,9 @@ public class OptionSettingViewModel : ReactiveObject
6464
[Reactive] public bool EnableCheckPreReleaseUpdate { get; set; }
6565
[Reactive] public bool EnableDragDropSort { get; set; }
6666
[Reactive] public bool DoubleClick2Activate { get; set; }
67-
[Reactive] public int autoUpdateInterval { get; set; }
68-
[Reactive] public int trayMenuServersLimit { get; set; }
69-
[Reactive] public string currentFontFamily { get; set; }
67+
[Reactive] public int AutoUpdateInterval { get; set; }
68+
[Reactive] public int TrayMenuServersLimit { get; set; }
69+
[Reactive] public string CurrentFontFamily { get; set; }
7070
[Reactive] public int SpeedTestTimeout { get; set; }
7171
[Reactive] public string SpeedTestUrl { get; set; }
7272
[Reactive] public string SpeedPingTestUrl { get; set; }
@@ -161,9 +161,9 @@ public OptionSettingViewModel(Window view)
161161
EnableCheckPreReleaseUpdate = _config.guiItem.checkPreReleaseUpdate;
162162
EnableDragDropSort = _config.uiItem.enableDragDropSort;
163163
DoubleClick2Activate = _config.uiItem.doubleClick2Activate;
164-
autoUpdateInterval = _config.guiItem.autoUpdateInterval;
165-
trayMenuServersLimit = _config.guiItem.trayMenuServersLimit;
166-
currentFontFamily = _config.uiItem.currentFontFamily;
164+
AutoUpdateInterval = _config.guiItem.autoUpdateInterval;
165+
TrayMenuServersLimit = _config.guiItem.trayMenuServersLimit;
166+
CurrentFontFamily = _config.uiItem.currentFontFamily;
167167
SpeedTestTimeout = _config.speedTestItem.speedTestTimeout;
168168
SpeedTestUrl = _config.speedTestItem.speedTestUrl;
169169
SpeedPingTestUrl = _config.speedTestItem.speedPingTestUrl;
@@ -259,6 +259,10 @@ private void SaveSetting()
259259
_noticeHandler?.Enqueue(ResUI.FillLocalListeningPort);
260260
return;
261261
}
262+
var needReboot = (EnableStatistics != _config.guiItem.enableStatistics
263+
|| EnableDragDropSort != _config.uiItem.enableDragDropSort
264+
|| EnableHWA != _config.guiItem.enableHWA
265+
|| CurrentFontFamily != _config.uiItem.currentFontFamily);
262266

263267
//if (Utile.IsNullOrEmpty(Kcpmtu.ToString()) || !Utile.IsNumeric(Kcpmtu.ToString())
264268
// || Utile.IsNullOrEmpty(Kcptti.ToString()) || !Utile.IsNumeric(Kcptti.ToString())
@@ -315,12 +319,12 @@ private void SaveSetting()
315319
_config.uiItem.enableUpdateSubOnlyRemarksExist = EnableUpdateSubOnlyRemarksExist;
316320
_config.guiItem.enableSecurityProtocolTls13 = EnableSecurityProtocolTls13;
317321
_config.uiItem.autoHideStartup = AutoHideStartup;
318-
_config.guiItem.autoUpdateInterval = autoUpdateInterval;
322+
_config.guiItem.autoUpdateInterval = AutoUpdateInterval;
319323
_config.guiItem.checkPreReleaseUpdate = EnableCheckPreReleaseUpdate;
320324
_config.uiItem.enableDragDropSort = EnableDragDropSort;
321325
_config.uiItem.doubleClick2Activate = DoubleClick2Activate;
322-
_config.guiItem.trayMenuServersLimit = trayMenuServersLimit;
323-
_config.uiItem.currentFontFamily = currentFontFamily;
326+
_config.guiItem.trayMenuServersLimit = TrayMenuServersLimit;
327+
_config.uiItem.currentFontFamily = CurrentFontFamily;
324328
_config.speedTestItem.speedTestTimeout = SpeedTestTimeout;
325329
_config.speedTestItem.speedTestUrl = SpeedTestUrl;
326330
_config.speedTestItem.speedPingTestUrl = SpeedPingTestUrl;
@@ -343,7 +347,14 @@ private void SaveSetting()
343347

344348
if (ConfigHandler.SaveConfig(_config) == 0)
345349
{
346-
_noticeHandler?.Enqueue(ResUI.OperationSuccess);
350+
if (needReboot)
351+
{
352+
_noticeHandler?.Enqueue(ResUI.NeedRebootTips);
353+
}
354+
else
355+
{
356+
_noticeHandler?.Enqueue(ResUI.OperationSuccess);
357+
}
347358
_view.DialogResult = true;
348359
}
349360
else

v2rayN/v2rayN/Views/OptionSettingWindow.xaml.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -178,9 +178,9 @@ public OptionSettingWindow()
178178
this.Bind(ViewModel, vm => vm.EnableCheckPreReleaseUpdate, v => v.togEnableCheckPreReleaseUpdate.IsChecked).DisposeWith(disposables);
179179
this.Bind(ViewModel, vm => vm.EnableDragDropSort, v => v.togEnableDragDropSort.IsChecked).DisposeWith(disposables);
180180
this.Bind(ViewModel, vm => vm.DoubleClick2Activate, v => v.togDoubleClick2Activate.IsChecked).DisposeWith(disposables);
181-
this.Bind(ViewModel, vm => vm.autoUpdateInterval, v => v.txtautoUpdateInterval.Text).DisposeWith(disposables);
182-
this.Bind(ViewModel, vm => vm.trayMenuServersLimit, v => v.txttrayMenuServersLimit.Text).DisposeWith(disposables);
183-
this.Bind(ViewModel, vm => vm.currentFontFamily, v => v.cmbcurrentFontFamily.Text).DisposeWith(disposables);
181+
this.Bind(ViewModel, vm => vm.AutoUpdateInterval, v => v.txtautoUpdateInterval.Text).DisposeWith(disposables);
182+
this.Bind(ViewModel, vm => vm.TrayMenuServersLimit, v => v.txttrayMenuServersLimit.Text).DisposeWith(disposables);
183+
this.Bind(ViewModel, vm => vm.CurrentFontFamily, v => v.cmbcurrentFontFamily.Text).DisposeWith(disposables);
184184
this.Bind(ViewModel, vm => vm.SpeedTestTimeout, v => v.cmbSpeedTestTimeout.Text).DisposeWith(disposables);
185185
this.Bind(ViewModel, vm => vm.SpeedTestUrl, v => v.cmbSpeedTestUrl.Text).DisposeWith(disposables);
186186
this.Bind(ViewModel, vm => vm.SpeedPingTestUrl, v => v.cmbSpeedPingTestUrl.Text).DisposeWith(disposables);

0 commit comments

Comments
 (0)