mirror of
https://github.com/Flow-Launcher/Flow.Launcher.git
synced 2026-03-11 08:54:32 +00:00
## Core Logic * **Advanced Number Parsing:** We now process numbers with various decimal and thousand-separator formats (e.g., `1,234.56` and `1.234,56`). We distinguish between separator types based on their position and surrounding digits. * **Context-Aware Output Formatting:** We now mirror the output format based on the user's input. If a query includes thousand separators, the result will also have them. The decimal separator in the result will match the one used in the query. ## Code Cleanup * **Deleted Unused File:** `NumberTranslator.cs` was unused and therefore removed. * **Removed Redundant UI Code:** The `CalculatorSettings_Loaded` event handler in `CalculatorSettings.xaml.cs` (and its XAML registration) was removed. The functionality was already handled automatically by data binding. ## Maintainability * **Added Code Documentation:** An XML summary comment was added to the new `NormalizeNumber` method in `Main.cs` to clarify its purpose. So, the plugin is now much more flexible, and will accept whatever format the user gives it regardless of Windows region settings.
71 lines
2.9 KiB
XML
71 lines
2.9 KiB
XML
<UserControl
|
|
x:Class="Flow.Launcher.Plugin.Calculator.Views.CalculatorSettings"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:calculator="clr-namespace:Flow.Launcher.Plugin.Calculator"
|
|
xmlns:core="clr-namespace:Flow.Launcher.Core.Resource;assembly=Flow.Launcher.Core"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:ui="clr-namespace:Flow.Launcher.Infrastructure.UI;assembly=Flow.Launcher.Infrastructure"
|
|
xmlns:viewModels="clr-namespace:Flow.Launcher.Plugin.Calculator.ViewModels"
|
|
d:DesignHeight="450"
|
|
d:DesignWidth="800"
|
|
mc:Ignorable="d">
|
|
|
|
<UserControl.Resources>
|
|
<core:LocalizationConverter x:Key="LocalizationConverter" />
|
|
</UserControl.Resources>
|
|
|
|
<Grid Margin="{StaticResource SettingPanelMargin}">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="auto" />
|
|
<RowDefinition Height="auto" />
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="3*" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<TextBlock
|
|
Grid.Row="0"
|
|
Grid.Column="0"
|
|
Margin="{StaticResource SettingPanelItemRightTopBottomMargin}"
|
|
VerticalAlignment="Center"
|
|
FontSize="14"
|
|
Text="{DynamicResource flowlauncher_plugin_calculator_output_decimal_seperator}" />
|
|
<ComboBox
|
|
x:Name="DecimalSeparatorComboBox"
|
|
Grid.Row="0"
|
|
Grid.Column="1"
|
|
MaxWidth="300"
|
|
Margin="{StaticResource SettingPanelItemRightTopBottomMargin}"
|
|
HorizontalAlignment="Left"
|
|
VerticalAlignment="Center"
|
|
ItemsSource="{Binding Source={ui:EnumBindingSource {x:Type calculator:DecimalSeparator}}}"
|
|
SelectedItem="{Binding Settings.DecimalSeparator}">
|
|
<ComboBox.ItemTemplate>
|
|
<DataTemplate>
|
|
<TextBlock FontSize="14" Text="{Binding Converter={StaticResource LocalizationConverter}}" />
|
|
</DataTemplate>
|
|
</ComboBox.ItemTemplate>
|
|
</ComboBox>
|
|
|
|
<TextBlock
|
|
Grid.Row="1"
|
|
Grid.Column="0"
|
|
Margin="{StaticResource SettingPanelItemRightTopBottomMargin}"
|
|
VerticalAlignment="Center"
|
|
FontSize="14"
|
|
Text="{DynamicResource flowlauncher_plugin_calculator_max_decimal_places}" />
|
|
<ComboBox
|
|
x:Name="MaxDecimalPlaces"
|
|
Grid.Row="1"
|
|
Grid.Column="1"
|
|
Margin="{StaticResource SettingPanelItemRightTopBottomMargin}"
|
|
HorizontalAlignment="Left"
|
|
VerticalAlignment="Center"
|
|
ItemsSource="{Binding MaxDecimalPlacesRange}"
|
|
SelectedItem="{Binding Settings.MaxDecimalPlaces}" />
|
|
|
|
</Grid>
|
|
</UserControl>
|