mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-05 10:46:33 +02:00
[PTRun]Add CheckboxAndMultilineTextBox type and improvements to multiline text handling (#31967)
* code improvements and adding CheckboxAndMultilineTextBox type * Update xaml code * add alias property for multiline text box content * improve comments * final improvements
This commit is contained in:
@@ -562,6 +562,47 @@
|
||||
Text="{x:Bind TextValue, Mode=TwoWay}" />
|
||||
</tkcontrols:SettingsCard>
|
||||
</StackPanel>
|
||||
<!-- Checkbox And MultilineTextBox setting -->
|
||||
<StackPanel
|
||||
HorizontalAlignment="Stretch"
|
||||
Orientation="Vertical"
|
||||
Visibility="{x:Bind Path=ShowCheckboxAndMultilineTextbox, Converter={StaticResource BoolToVisibilityConverter}}">
|
||||
<tkcontrols:SettingsCard
|
||||
MinHeight="0"
|
||||
Margin="1"
|
||||
Padding="0,6,0,4"
|
||||
Background="Transparent"
|
||||
BorderThickness="0,0,0,0"
|
||||
ContentAlignment="Left"
|
||||
CornerRadius="0">
|
||||
<controls:CheckBoxWithDescriptionControl
|
||||
Margin="56,0,0,0"
|
||||
Description="{x:Bind Path=DisplayDescription}"
|
||||
Header="{x:Bind Path=DisplayLabel}"
|
||||
IsChecked="{x:Bind Value, Mode=TwoWay}" />
|
||||
</tkcontrols:SettingsCard>
|
||||
<tkcontrols:SettingsCard
|
||||
MinHeight="0"
|
||||
Margin="84,0,45,8"
|
||||
HorizontalContentAlignment="Stretch"
|
||||
Background="Transparent"
|
||||
BorderThickness="0,0,0,0"
|
||||
ContentAlignment="Vertical"
|
||||
CornerRadius="0"
|
||||
Description="{x:Bind Path=SecondDisplayDescription}"
|
||||
Header="{x:Bind Path=SecondDisplayLabel}"
|
||||
IsEnabled="{x:Bind SecondSettingIsEnabled, Mode=OneWay}">
|
||||
<TextBox
|
||||
MinWidth="{StaticResource SettingActionControlMinWidth}"
|
||||
MinHeight="160"
|
||||
AcceptsReturn="True"
|
||||
PlaceholderText="{x:Bind Path=PlaceholderText}"
|
||||
ScrollViewer.IsVerticalRailEnabled="True"
|
||||
ScrollViewer.VerticalScrollBarVisibility="Visible"
|
||||
ScrollViewer.VerticalScrollMode="Enabled"
|
||||
Text="{x:Bind TextValue, Mode=TwoWay}" />
|
||||
</tkcontrols:SettingsCard>
|
||||
</StackPanel>
|
||||
<!-- Checkbox And NumberBox setting -->
|
||||
<StackPanel
|
||||
HorizontalAlignment="Stretch"
|
||||
|
||||
@@ -65,11 +65,15 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
|
||||
}
|
||||
}
|
||||
|
||||
// TextBox setting
|
||||
// TextBox and MultilineTextBox setting
|
||||
public bool ShowTextBox => _additionalOption.PluginOptionType == PluginAdditionalOption.AdditionalOptionType.Textbox;
|
||||
|
||||
public bool ShowMultilineTextBox => _additionalOption.PluginOptionType == PluginAdditionalOption.AdditionalOptionType.MultilineTextbox;
|
||||
|
||||
public int TextBoxMaxLength => (_additionalOption.TextBoxMaxLength == null) ? 0 : _additionalOption.TextBoxMaxLength.Value; // 0 is the default and means no limit.
|
||||
|
||||
public string PlaceholderText => _additionalOption.PlaceholderText;
|
||||
|
||||
public string TextValue
|
||||
{
|
||||
get => _additionalOption.TextValue;
|
||||
@@ -83,11 +87,6 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
|
||||
}
|
||||
}
|
||||
|
||||
// MultilineTextBox setting
|
||||
public bool ShowMultilineTextBox => _additionalOption.PluginOptionType == PluginAdditionalOption.AdditionalOptionType.MultilineTextbox;
|
||||
|
||||
public string PlaceholderText => _additionalOption.PlaceholderText;
|
||||
|
||||
// NumberBox setting
|
||||
public bool ShowNumberBox => _additionalOption.PluginOptionType == PluginAdditionalOption.AdditionalOptionType.Numberbox;
|
||||
|
||||
@@ -119,6 +118,8 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
|
||||
|
||||
public bool ShowCheckboxAndNumberbox => _additionalOption.PluginOptionType == PluginAdditionalOption.AdditionalOptionType.CheckboxAndNumberbox;
|
||||
|
||||
public bool ShowCheckboxAndMultilineTextbox => _additionalOption.PluginOptionType == PluginAdditionalOption.AdditionalOptionType.CheckboxAndMultilineTextbox;
|
||||
|
||||
// Enabled state of ComboBox, TextBox, NumberBox (If combined with checkbox then checkbox value decides it.)
|
||||
public bool SecondSettingIsEnabled => (int)_additionalOption.PluginOptionType > 10 ? _additionalOption.Value : true;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user