Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/Languages/lang_en.json
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,8 @@
"Custom install arguments:": "Custom install arguments:",
"Custom update arguments:": "Custom update arguments:",
"Custom uninstall arguments:": "Custom uninstall arguments:",
"These fields are independent: an argument set for Install won't apply to Update or Uninstall, and vice versa.": "These fields are independent: an argument set for Install won't apply to Update or Uninstall, and vice versa.",
"Copy install arguments to update and uninstall": "Copy install arguments to update and uninstall",
"Pre-install command:": "Pre-install command:",
"Post-install command:": "Post-install command:",
"Abort install if pre-install command fails": "Abort install if pre-install command fails",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ public partial class InstallOptionsViewModel : ObservableObject
public string ParamsInstallLabel { get; } = CoreTools.Translate("Custom install arguments:");
public string ParamsUpdateLabel { get; } = CoreTools.Translate("Custom update arguments:");
public string ParamsUninstallLabel { get; } = CoreTools.Translate("Custom uninstall arguments:");
public string CliArgsHintLabel { get; } = CoreTools.Translate("These fields are independent: an argument set for Install won't apply to Update or Uninstall, and vice versa.");
public string CopyInstallArgsLabel { get; } = CoreTools.Translate("Copy install arguments to update and uninstall");
public string PreInstallLabel { get; } = CoreTools.Translate("Pre-install command:");
public string PostInstallLabel { get; } = CoreTools.Translate("Post-install command:");
public string AbortInstallLabel { get; } = CoreTools.Translate("Abort install if pre-install command fails");
Expand Down Expand Up @@ -363,6 +365,13 @@ private void Proceed()
[RelayCommand]
private void ResetLocation() => LocationText = "";

[RelayCommand]
private void CopyInstallArgsToOthers()
{
ParamsUpdate = ParamsInstall;
ParamsUninstall = ParamsInstall;
}

/// <summary>Unlocks the options by turning off "follow default options" (matches WinUI).</summary>
[RelayCommand]
private void Unlock() => FollowGlobal = false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,8 @@ public partial class InstallOptionsPanelViewModel : ViewModelBase
public string InstallArgsLabel { get; } = CoreTools.Translate("Custom install arguments:");
public string UpdateArgsLabel { get; } = CoreTools.Translate("Custom update arguments:");
public string UninstallArgsLabel { get; } = CoreTools.Translate("Custom uninstall arguments:");
public string CliArgsHintLabel { get; } = CoreTools.Translate("These fields are independent: an argument set for Install won't apply to Update or Uninstall, and vice versa.");
public string CopyInstallArgsLabel { get; } = CoreTools.Translate("Copy install arguments to update and uninstall");
public string ResetLabel { get; } = CoreTools.Translate("Reset");
public string ApplyLabel { get; } = CoreTools.Translate("Apply");
public string CliDisabledLabel { get; } = CoreTools.Translate("For security reasons, custom command-line arguments are disabled by default. Go to UniGetUI security settings to change this.");
Expand Down Expand Up @@ -284,6 +286,16 @@ private void ResetLocation()
private void NavigateToAdministrator() =>
NavigateToAdministratorRequested?.Invoke(this, EventArgs.Empty);

// ── CLI args convenience ─────────────────────────────────────────────────

[RelayCommand]
private void CopyInstallArgsToOthers()
{
CustomUpdate = CustomInstall;
CustomUninstall = CustomInstall;
HasChanges = true;
}

// ── Mark changed ─────────────────────────────────────────────────────────

public void MarkChanged() => HasChanges = true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,12 @@
Command="{Binding GoToSecuritySettingsCommand}"
HorizontalAlignment="Left" Padding="0" FontWeight="SemiBold"/>

<TextBlock Text="{Binding CliArgsHintLabel}"
IsVisible="{Binding CliEnabled}"
TextWrapping="Wrap"
Opacity="0.7"
FontSize="12"/>

<Grid ColumnDefinitions="*,2*"
RowDefinitions="Auto,Auto,Auto"
ColumnSpacing="8" RowSpacing="8"
Expand Down Expand Up @@ -291,6 +297,13 @@
FontSize="14"/>

</Grid>

<HyperlinkButton Content="{Binding CopyInstallArgsLabel}"
IsVisible="{Binding CliEnabled}"
automation:AutomationProperties.Name="{Binding CopyInstallArgsLabel}"
Command="{Binding CopyInstallArgsToOthersCommand}"
Padding="0"
HorizontalAlignment="Left"/>
</StackPanel>
</Border>
</TabItem>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -159,11 +159,17 @@
</Button>

<!-- CLI arguments: always shown, disabled by security setting -->
<TextBlock Text="{Binding CliArgsHintLabel}"
IsVisible="{Binding CliSectionEnabled}"
TextWrapping="Wrap"
Opacity="0.7"
FontSize="12"
Margin="0,8,0,0"/>
<Grid ColumnDefinitions="*,2*"
RowDefinitions="Auto,Auto,Auto"
RowSpacing="8"
ColumnSpacing="8"
Margin="0,8,0,0">
Margin="0,4,0,0">
<TextBlock x:Name="InstallArgsLabelBlock"
Grid.Row="0" Grid.Column="0"
Text="{Binding InstallArgsLabel}"
Expand Down Expand Up @@ -207,6 +213,18 @@
automation:AutomationProperties.LabeledBy="{Binding #UninstallArgsLabelBlock}"/>
</Grid>

<Button IsVisible="{Binding CliSectionEnabled}"
HorizontalAlignment="Left"
Command="{Binding CopyInstallArgsToOthersCommand}"
automation:AutomationProperties.Name="{Binding CopyInstallArgsLabel}"
Background="Transparent"
BorderThickness="0"
Padding="0"
Margin="0,4,0,0">
<TextBlock Text="{Binding CopyInstallArgsLabel}" Classes="hyperlink"
automation:AutomationProperties.AccessibilityView="Raw"/>
</Button>

</StackPanel>
</Border>

Expand Down
4 changes: 2 additions & 2 deletions src/UniGetUI.PackageEngine.Operations/PackageOperations.cs
Original file line number Diff line number Diff line change
Expand Up @@ -436,7 +436,7 @@ protected override void Initialize()
+ Package.Id
+ " with Manager="
+ Package.Manager.Name
+ "\nInstallation options: "
+ "\nUpdate options: "
+ Options.ToString()
+ "\nOverriden options: "
+ Package.OverridenOptions.ToString()
Expand Down Expand Up @@ -508,7 +508,7 @@ protected override void Initialize()
+ Package.Id
+ " with Manager="
+ Package.Manager.Name
+ "\nInstallation options: "
+ "\nUninstall options: "
+ Options.ToString()
+ "\nOverriden options: "
+ Package.OverridenOptions.ToString();
Expand Down