Skip to content

Commit fdd2d43

Browse files
committed
Don't unnecessarily reload desktop form
1 parent 83ba9db commit fdd2d43

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

NAPS2.Lib/EtoForms/Ui/SettingsForm.cs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -143,15 +143,17 @@ void UpdateCheckbox(CheckBox checkBox, Expression<Func<CommonConfig, bool>> acce
143143
private void Save()
144144
{
145145
var transact = Config.User.BeginTransaction();
146-
void SetIfChanged<T>(Expression<Func<CommonConfig, T>> accessor, T value)
146+
bool SetIfChanged<T>(Expression<Func<CommonConfig, T>> accessor, T value)
147147
{
148148
var oldValue = Config.Get(accessor);
149149
if (!Equals(value, oldValue))
150150
{
151151
transact.Set(accessor, value);
152+
return true;
152153
}
154+
return false;
153155
}
154-
SetIfChanged(c => c.Theme, _theme.SelectedItem);
156+
bool themeChanged = SetIfChanged(c => c.Theme, _theme.SelectedItem);
155157
SetIfChanged(c => c.ScanChangesDefaultProfile, _scanChangesDefaultProfile.IsChecked());
156158
SetIfChanged(c => c.ShowProfilesToolbar, _showProfilesToolbar.IsChecked());
157159
SetIfChanged(c => c.ShowPageNumbers, _showPageNumbers.IsChecked());
@@ -164,7 +166,10 @@ void SetIfChanged<T>(Expression<Func<CommonConfig, T>> accessor, T value)
164166

165167
_desktopFormProvider.DesktopForm.Invalidate();
166168
_desktopFormProvider.DesktopForm.PlaceProfilesToolbar();
167-
EtoPlatform.Current.ColorScheme.UserThemeChanged();
169+
if (themeChanged)
170+
{
171+
EtoPlatform.Current.ColorScheme.UserThemeChanged();
172+
}
168173
}
169174

170175
private void RestoreDefaults_Click(object? sender, EventArgs e)

0 commit comments

Comments
 (0)