Skip to content

Commit 724405a

Browse files
committed
allow auto-updating certain apps (fix #1383)
1 parent c4cffe0 commit 724405a

6 files changed

Lines changed: 173 additions & 132 deletions

File tree

src/Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<TargetPlatformMinVersion>10.0.19041.0</TargetPlatformMinVersion>
66
<!-- IF BUILD FAILS DUE TO MISSING Microsoft.Management.Deployment NAMESPACE,
77
TOGGLE THE LAST NUMBER OF THE LINE BELOW 1 UNIT UP OR DOWN, AND REBUILD-->
8-
<WindowsSdkPackageVersion>10.0.26100.57</WindowsSdkPackageVersion>
8+
<WindowsSdkPackageVersion>10.0.26100.56</WindowsSdkPackageVersion>
99

1010
<SdkVersion>10.0.2</SdkVersion>
1111
<Authors>Martí Climent and the contributors</Authors>

src/UniGetUI.PackageEngine.Serializable/InstallOptions.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ public class InstallOptions: SerializableComponent<InstallOptions>
1717
private const string ABORT_PRE_INST_FAIL = "AbortOnPreInstallFail";
1818
private const string ABORT_PRE_UPD_FAIL = "AbortOnPreUpdateFail";
1919
private const string ABORT_PRE_UNINST_FAIL = "AbortOnPreUninstallFail";
20+
private const string AUTO_UPDATE_PACKAGE = "AutoUpdatePackage";
2021

2122
private const string ARCH = "Architecture";
2223
private const string SCOPE = "InstallationScope";
@@ -46,6 +47,7 @@ public class InstallOptions: SerializableComponent<InstallOptions>
4647
{ ABORT_PRE_INST_FAIL, true },
4748
{ ABORT_PRE_UPD_FAIL, true },
4849
{ ABORT_PRE_UNINST_FAIL, true },
50+
{ AUTO_UPDATE_PACKAGE, false },
4951
};
5052

5153
public readonly IReadOnlyList<string> _stringKeys = [
@@ -83,6 +85,7 @@ public class InstallOptions: SerializableComponent<InstallOptions>
8385
public bool AbortOnPreInstallFail { get => _boolVal[ABORT_PRE_INST_FAIL]; set => _boolVal[ABORT_PRE_INST_FAIL] = value; }
8486
public bool AbortOnPreUpdateFail { get => _boolVal[ABORT_PRE_UPD_FAIL]; set => _boolVal[ABORT_PRE_UPD_FAIL] = value; }
8587
public bool AbortOnPreUninstallFail { get => _boolVal[ABORT_PRE_UNINST_FAIL]; set => _boolVal[ABORT_PRE_UNINST_FAIL] = value; }
88+
public bool AutoUpdatePackage { get => _boolVal[AUTO_UPDATE_PACKAGE]; set => _boolVal[AUTO_UPDATE_PACKAGE] = value; }
8689

8790
public string Architecture { get => _strVal[ARCH]; set => _strVal[ARCH] = value; }
8891
public string InstallationScope { get => _strVal[SCOPE]; set => _strVal[SCOPE] = value; }

src/UniGetUI/Pages/DialogPages/InstallOptions_Package.xaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,9 @@
251251
<CheckBox Name="SkipMinorUpdatesCheckbox">
252252
<widgets:TranslatedTextBlock Text="Skip minor updates for this package" />
253253
</CheckBox>
254+
<CheckBox Name="AutoUpdatePackageCheckbox">
255+
<widgets:TranslatedTextBlock Text="Automatically update this package" />
256+
</CheckBox>
254257
</controls:WrapPanel>
255258
</StackPanel>
256259
</controls:Case>

src/UniGetUI/Pages/DialogPages/InstallOptions_Package.xaml.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ async Task LoadImage()
124124
""
125125
}.Contains(VersionComboBox.SelectedValue.ToString()));
126126
};
127+
AutoUpdatePackageCheckbox.IsChecked = Options.AutoUpdatePackage;
127128

128129
VersionComboBox.Items.Add(CoreTools.Translate("Latest"));
129130
VersionComboBox.SelectedIndex = 0;
@@ -277,12 +278,11 @@ operation is OperationType.Install or OperationType.None
277278

278279
private async Task LoadIgnoredUpdates()
279280
{
280-
IgnoreUpdatesCheckbox.IsChecked = await Package.GetIgnoredUpdatesVersionAsync() == "*";
281+
IgnoreUpdatesCheckbox.IsChecked = await Package.HasUpdatesIgnoredAsync();
281282
}
282283

283284
private async Task LoadVersions()
284285
{
285-
IgnoreUpdatesCheckbox.IsChecked = await Package.HasUpdatesIgnoredAsync();
286286
VersionComboBox.IsEnabled = false;
287287

288288
IReadOnlyList<string> versions = await Task.Run(() => Package.Manager.DetailsHelper.GetVersions(Package));
@@ -294,6 +294,7 @@ private async Task LoadVersions()
294294
VersionComboBox.SelectedValue = ver;
295295
}
296296
}
297+
IgnoreUpdatesCheckbox.IsChecked = await Package.HasUpdatesIgnoredAsync();
297298

298299
VersionComboBox.IsEnabled = Operation is OperationType.Install or OperationType.None
299300
&& (Package.Manager.Capabilities.SupportsCustomVersions || Package.Manager.Capabilities.SupportsPreRelease);
@@ -308,6 +309,7 @@ public async Task<InstallOptions> GetUpdatedOptions(bool updateDetachedOptions =
308309
options.SkipHashCheck = HashCheckbox?.IsChecked ?? false;
309310
options.UninstallPreviousVersionsOnUpdate = UninstallPreviousOnUpdate?.IsChecked ?? false;
310311
options.OverridesNextLevelOpts = !FollowGlobalOptionsSwitch.IsOn;
312+
options.AutoUpdatePackage = AutoUpdatePackageCheckbox.IsChecked ?? false;
311313

312314
options.Architecture = "";
313315
var userSelection = ArchitectureComboBox.SelectedValue?.ToString() ?? "";

src/UniGetUI/Pages/SettingsPages/GeneralPages/Updates.xaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,22 +56,22 @@
5656
BorderThickness="1,0"
5757
CornerRadius="0"
5858
ForceInversion="True"
59-
IsEnabled="{x:Bind AutomaticallyUpdatePackages._checkbox.IsOn, Mode=OneWay}"
59+
IsEnabled="{x:Bind DisableAutoCheckForUpdates._checkbox.IsOn, Mode=OneWay}"
6060
SettingName="DisableAUPOnMeteredConnections"
6161
Text="Do not automatically install updates when the network connection is metered" />
6262

6363
<widgets:CheckboxCard
6464
BorderThickness="1,1,1,0"
6565
CornerRadius="0"
6666
ForceInversion="True"
67-
IsEnabled="{x:Bind AutomaticallyUpdatePackages._checkbox.IsOn, Mode=OneWay}"
67+
IsEnabled="{x:Bind DisableAutoCheckForUpdates._checkbox.IsOn, Mode=OneWay}"
6868
SettingName="DisableAUPOnBattery"
6969
Text="Do not automatically install updates when the device runs on battery" />
7070

7171
<widgets:CheckboxCard
7272
CornerRadius="0,0,8,8"
7373
ForceInversion="True"
74-
IsEnabled="{x:Bind AutomaticallyUpdatePackages._checkbox.IsOn, Mode=OneWay}"
74+
IsEnabled="{x:Bind DisableAutoCheckForUpdates._checkbox.IsOn, Mode=OneWay}"
7575
SettingName="DisableAUPOnBatterySaver"
7676
Text="Do not automatically install updates when the battery saver is on" />
7777

0 commit comments

Comments
 (0)