Change name to Uno Calc

This commit is contained in:
Maxime Dion 2019-05-27 15:01:00 -04:00
commit b0ca230544
8 changed files with 1007 additions and 872 deletions

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="uno.platform.calculator" android:versionCode="1" android:versionName="1.0" android:installLocation="auto"> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="uno.platform.calculator" android:versionCode="1" android:versionName="1.0" android:installLocation="auto">
<uses-sdk android:targetSdkVersion="28" /> <uses-sdk android:targetSdkVersion="28" />
<application android:label="Calculator" android:theme="@style/AppTheme" android:icon="@mipmap/ic_launcher" android:roundIcon="@drawable/ic_launcher_round"></application> <application android:label="Uno Calc" android:theme="@style/AppTheme" android:icon="@mipmap/ic_launcher" android:roundIcon="@drawable/ic_launcher_round"></application>
</manifest> </manifest>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="Hello">Hello World, Click Me!</string> <string name="Hello">Hello World, Click Me!</string>
<string name="ApplicationName">Calculator</string> <string name="ApplicationName">Uno Calc</string>
</resources> </resources>

View file

@ -125,14 +125,11 @@
</StackPanel> </StackPanel>
<!-- Title Bar --> <!-- Title Bar -->
<!--
-->
<local:TitleBar x:Name="CustomTitleBar" <local:TitleBar x:Name="CustomTitleBar"
Grid.Row="0" Grid.Row="0"
Visibility="Collapsed" /> Visibility="Collapsed" />
<!--UNO TODO <!-- UNO TODO -->
-->
<NavigationView x:Name="NavView" <NavigationView x:Name="NavView"
CompactModeThresholdWidth="10000" CompactModeThresholdWidth="10000"
ExpandedModeThresholdWidth="10000" ExpandedModeThresholdWidth="10000"

View file

@ -18,53 +18,76 @@
mc:Ignorable="d"> mc:Ignorable="d">
<UserControl.Resources> <UserControl.Resources>
<common:VisibilityNegationConverter x:Key="VisibilityNegationConverter"/> <common:VisibilityNegationConverter x:Key="VisibilityNegationConverter" />
<common:AlwaysSelectedCollectionViewConverter x:Key="AlwaysSelectedConverter"/> <common:AlwaysSelectedCollectionViewConverter x:Key="AlwaysSelectedConverter" />
<common:ValidSelectedItemConverter x:Key="ValidSelectedItemConverter"/> <common:ValidSelectedItemConverter x:Key="ValidSelectedItemConverter" />
<converters:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/> <converters:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
<converters:BooleanToVisibilityNegationConverter x:Key="BooleanToVisibilityNegationConverter"/> <converters:BooleanToVisibilityNegationConverter x:Key="BooleanToVisibilityNegationConverter" />
<!-- TODO UNO <automation:NarratorNotifier x:Name="NarratorNotifier" Announcement="{x:Bind Model.Announcement, Mode=OneWay}"/>--> <!-- TODO UNO <automation:NarratorNotifier x:Name="NarratorNotifier" Announcement="{x:Bind Model.Announcement, Mode=OneWay}"/>-->
<DataTemplate x:Key="UnitTemplate" x:DataType="vm:Unit"> <DataTemplate x:Key="UnitTemplate"
x:DataType="vm:Unit">
<TextBlock Style="{ThemeResource BodyTextBlockStyle}" <TextBlock Style="{ThemeResource BodyTextBlockStyle}"
Text="{x:Bind Name}" Text="{x:Bind Name}"
TextWrapping="NoWrap"/> TextWrapping="NoWrap" />
<!--TODO UNO AutomationProperties.Name="{x:Bind AccessibleName}"--> <!--TODO UNO AutomationProperties.Name="{x:Bind AccessibleName}"-->
</DataTemplate> </DataTemplate>
<DataTemplate x:Key="SelectedUnitTemplate" x:DataType="vm:Unit"> <DataTemplate x:Key="SelectedUnitTemplate"
x:DataType="vm:Unit">
<TextBlock Style="{ThemeResource BodyTextBlockStyle}" <TextBlock Style="{ThemeResource BodyTextBlockStyle}"
FontWeight="SemiBold" FontWeight="SemiBold"
Text="{x:Bind Name}" Text="{x:Bind Name}"
TextWrapping="NoWrap"/> TextWrapping="NoWrap" />
<!--TODO UNO AutomationProperties.Name="{x:Bind AccessibleName}"--> <!--TODO UNO AutomationProperties.Name="{x:Bind AccessibleName}"-->
</DataTemplate> </DataTemplate>
<Style x:Key="ComboStyle" TargetType="ComboBox"> <Style x:Key="ComboStyle"
<Setter Property="Padding" Value="12,0,0,0"/> TargetType="ComboBox">
<Setter Property="MinHeight" Value="32"/> <Setter Property="Padding"
<Setter Property="Foreground" Value="{ThemeResource SystemControlForegroundBaseHighBrush}"/> Value="12,0,0,0" />
<Setter Property="Background" Value="{ThemeResource SystemControlBackgroundTransparentBrush}"/> <Setter Property="MinHeight"
<Setter Property="BorderBrush" Value="{ThemeResource SystemControlForegroundBaseMediumLowBrush}"/> Value="32" />
<Setter Property="BorderThickness" Value="0"/> <Setter Property="Foreground"
<Setter Property="TabNavigation" Value="Once"/> Value="{ThemeResource SystemControlForegroundBaseHighBrush}" />
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled"/> <Setter Property="Background"
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/> Value="{ThemeResource SystemControlBackgroundTransparentBrush}" />
<Setter Property="ScrollViewer.HorizontalScrollMode" Value="Disabled"/> <Setter Property="BorderBrush"
<Setter Property="ScrollViewer.VerticalScrollMode" Value="Auto"/> Value="{ThemeResource SystemControlForegroundBaseMediumLowBrush}" />
<Setter Property="ScrollViewer.IsVerticalRailEnabled" Value="True"/> <Setter Property="BorderThickness"
<Setter Property="ScrollViewer.IsDeferredScrollingEnabled" Value="False"/> Value="0" />
<Setter Property="ScrollViewer.BringIntoViewOnFocusChange" Value="True"/> <Setter Property="TabNavigation"
<Setter Property="HorizontalContentAlignment" Value="Left"/> Value="Once" />
<Setter Property="HorizontalAlignment" Value="Stretch"/> <Setter Property="ScrollViewer.HorizontalScrollBarVisibility"
<Setter Property="VerticalAlignment" Value="Top"/> Value="Disabled" />
<Setter Property="VerticalContentAlignment" Value="Center"/> <Setter Property="ScrollViewer.VerticalScrollBarVisibility"
<Setter Property="IsTextScaleFactorEnabled" Value="True"/> Value="Auto" />
<Setter Property="UseSystemFocusVisuals" Value="True"/> <Setter Property="ScrollViewer.HorizontalScrollMode"
Value="Disabled" />
<Setter Property="ScrollViewer.VerticalScrollMode"
Value="Auto" />
<Setter Property="ScrollViewer.IsVerticalRailEnabled"
Value="True" />
<Setter Property="ScrollViewer.IsDeferredScrollingEnabled"
Value="False" />
<Setter Property="ScrollViewer.BringIntoViewOnFocusChange"
Value="True" />
<Setter Property="HorizontalContentAlignment"
Value="Left" />
<Setter Property="HorizontalAlignment"
Value="Stretch" />
<Setter Property="VerticalAlignment"
Value="Top" />
<Setter Property="VerticalContentAlignment"
Value="Center" />
<Setter Property="IsTextScaleFactorEnabled"
Value="True" />
<Setter Property="UseSystemFocusVisuals"
Value="True" />
<Setter Property="ItemsPanel"> <Setter Property="ItemsPanel">
<Setter.Value> <Setter.Value>
<ItemsPanelTemplate> <ItemsPanelTemplate>
<CarouselPanel/> <CarouselPanel />
</ItemsPanelTemplate> </ItemsPanelTemplate>
</Setter.Value> </Setter.Value>
</Setter> </Setter>
@ -74,22 +97,28 @@
<Grid> <Grid>
<VisualStateManager.VisualStateGroups> <VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates"> <VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal"/> <VisualState x:Name="Normal" />
<VisualState x:Name="PointerOver"> <VisualState x:Name="PointerOver">
<VisualState.Setters> <VisualState.Setters>
<Setter Target="BackgroundElement.Background" Value="{ThemeResource SystemControlHighlightTransparentBrush}"/> <Setter Target="BackgroundElement.Background"
<Setter Target="SelectedContentPresenter.Foreground" Value="{ThemeResource SystemControlHighlightAltBaseMediumHighBrush}"/> Value="{ThemeResource SystemControlHighlightTransparentBrush}" />
<Setter Target="DropDownGlyph.Fill" Value="{ThemeResource SystemControlHighlightAltBaseMediumHighBrush}"/> <Setter Target="SelectedContentPresenter.Foreground"
Value="{ThemeResource SystemControlHighlightAltBaseMediumHighBrush}" />
<Setter Target="DropDownGlyph.Fill"
Value="{ThemeResource SystemControlHighlightAltBaseMediumHighBrush}" />
</VisualState.Setters> </VisualState.Setters>
</VisualState> </VisualState>
<VisualState x:Name="Pressed"> <VisualState x:Name="Pressed">
<VisualState.Setters> <VisualState.Setters>
<Setter Target="BackgroundElement.Background" Value="{ThemeResource SystemControlHighlightTransparentBrush}"/> <Setter Target="BackgroundElement.Background"
<Setter Target="SelectedContentPresenter.Foreground" Value="{ThemeResource SystemControlHighlightAltBaseMediumBrush}"/> Value="{ThemeResource SystemControlHighlightTransparentBrush}" />
<Setter Target="DropDownGlyph.Fill" Value="{ThemeResource SystemControlHighlightAltBaseMediumBrush}"/> <Setter Target="SelectedContentPresenter.Foreground"
Value="{ThemeResource SystemControlHighlightAltBaseMediumBrush}" />
<Setter Target="DropDownGlyph.Fill"
Value="{ThemeResource SystemControlHighlightAltBaseMediumBrush}" />
</VisualState.Setters> </VisualState.Setters>
</VisualState> </VisualState>
<VisualState x:Name="Disabled"/> <VisualState x:Name="Disabled" />
</VisualStateGroup> </VisualStateGroup>
<VisualStateGroup x:Name="DropDownStates"> <VisualStateGroup x:Name="DropDownStates">
<VisualState x:Name="Opened"> <VisualState x:Name="Opened">
@ -97,7 +126,7 @@
<SplitOpenThemeAnimation ClosedTargetName="SelectedContentPresenter" <SplitOpenThemeAnimation ClosedTargetName="SelectedContentPresenter"
OffsetFromCenter="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.DropDownOffset}" OffsetFromCenter="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.DropDownOffset}"
OpenedLength="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.DropDownOpenedHeight}" OpenedLength="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.DropDownOpenedHeight}"
OpenedTargetName="PopupBorder"/> OpenedTargetName="PopupBorder" />
</Storyboard> </Storyboard>
</VisualState> </VisualState>
<VisualState x:Name="Closed"> <VisualState x:Name="Closed">
@ -105,21 +134,21 @@
<SplitCloseThemeAnimation ClosedTargetName="SelectedContentPresenter" <SplitCloseThemeAnimation ClosedTargetName="SelectedContentPresenter"
OffsetFromCenter="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.DropDownOffset}" OffsetFromCenter="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.DropDownOffset}"
OpenedLength="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.DropDownOpenedHeight}" OpenedLength="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.DropDownOpenedHeight}"
OpenedTargetName="PopupBorder"/> OpenedTargetName="PopupBorder" />
</Storyboard> </Storyboard>
</VisualState> </VisualState>
</VisualStateGroup> </VisualStateGroup>
</VisualStateManager.VisualStateGroups> </VisualStateManager.VisualStateGroups>
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*"/> <ColumnDefinition Width="*" />
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Border x:Name="BackgroundElement" <Border x:Name="BackgroundElement"
Grid.ColumnSpan="2" Grid.ColumnSpan="2"
Background="{TemplateBinding Background}" Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}" BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"/> BorderThickness="{TemplateBinding BorderThickness}" />
<!-- <!--
This first ContentPresenter must be named "ContentPresenter" because This first ContentPresenter must be named "ContentPresenter" because
XAML expects it in the template and has dependencies. It is not used XAML expects it in the template and has dependencies. It is not used
@ -127,14 +156,15 @@
list but XAML forces the same style. Do not remove list but XAML forces the same style. Do not remove
this element. this element.
--> -->
<ContentPresenter x:Name="ContentPresenter" Opacity="0"/> <ContentPresenter x:Name="ContentPresenter"
Opacity="0" />
<ContentPresenter x:Name="SelectedContentPresenter" <ContentPresenter x:Name="SelectedContentPresenter"
Margin="{TemplateBinding Padding}" Margin="{TemplateBinding Padding}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
Content="{TemplateBinding SelectedItem}" Content="{TemplateBinding SelectedItem}"
ContentTemplate="{StaticResource SelectedUnitTemplate}" ContentTemplate="{StaticResource SelectedUnitTemplate}"
FlowDirection="{TemplateBinding FlowDirection}"/> FlowDirection="{TemplateBinding FlowDirection}" />
<!--TODO UNO: AutomationProperties.AccessibilityView="Raw"--> <!--TODO UNO: AutomationProperties.AccessibilityView="Raw"-->
<Path x:Name="DropDownGlyph" <Path x:Name="DropDownGlyph"
Data="M30.519004,0L32.000998,1.3439932 15.932995,19.049 0,1.4920032 1.481019,0.1489867 15.932995,16.071982z" Data="M30.519004,0L32.000998,1.3439932 15.932995,19.049 0,1.4920032 1.481019,0.1489867 15.932995,16.071982z"
@ -145,7 +175,7 @@
HorizontalAlignment="Left" HorizontalAlignment="Left"
VerticalAlignment="Center" VerticalAlignment="Center"
Margin="8,3,12,0" Margin="8,3,12,0"
Grid.Column="1"/> Grid.Column="1" />
<!--TODO UNO: AutomationProperties.AccessibilityView="Raw"--> <!--TODO UNO: AutomationProperties.AccessibilityView="Raw"-->
<Popup x:Name="Popup"> <Popup x:Name="Popup">
<Border x:Name="PopupBorder" <Border x:Name="PopupBorder"
@ -169,7 +199,7 @@
VerticalSnapPointsType="OptionalSingle" VerticalSnapPointsType="OptionalSingle"
ZoomMode="Disabled"> ZoomMode="Disabled">
<!--TODO UNO: AutomationProperties.AccessibilityView="Raw"--> <!--TODO UNO: AutomationProperties.AccessibilityView="Raw"-->
<ItemsPresenter/> <ItemsPresenter />
</ScrollViewer> </ScrollViewer>
</Border> </Border>
</Popup> </Popup>
@ -183,80 +213,112 @@
<Style x:Key="ValueBaseStyle" <Style x:Key="ValueBaseStyle"
BasedOn="{StaticResource CalculationResultStyleL}" BasedOn="{StaticResource CalculationResultStyleL}"
TargetType="controls:CalculationResult"> TargetType="controls:CalculationResult">
<Setter Property="Background" Value="{ThemeResource SystemControlBackgroundTransparentBrush}"/> <Setter Property="Background"
<Setter Property="Foreground" Value="{ThemeResource SystemControlForegroundBaseHighBrush}"/> Value="{ThemeResource SystemControlBackgroundTransparentBrush}" />
<Setter Property="HorizontalContentAlignment" Value="Left"/> <Setter Property="Foreground"
<Setter Property="VerticalContentAlignment" Value="Bottom"/> Value="{ThemeResource SystemControlForegroundBaseHighBrush}" />
<Setter Property="FontWeight" Value="Light"/> <Setter Property="HorizontalContentAlignment"
<Setter Property="MinFontSize" Value="{ThemeResource BodyFontSize}"/> Value="Left" />
<Setter Property="VerticalContentAlignment"
Value="Bottom" />
<Setter Property="FontWeight"
Value="Light" />
<Setter Property="MinFontSize"
Value="{ThemeResource BodyFontSize}" />
</Style> </Style>
<Style x:Key="ValueLargeStyle" <Style x:Key="ValueLargeStyle"
BasedOn="{StaticResource ValueBaseStyle}" BasedOn="{StaticResource ValueBaseStyle}"
TargetType="controls:CalculationResult"> TargetType="controls:CalculationResult">
<Setter Property="MaxFontSize" Value="46"/> <Setter Property="MaxFontSize"
<Setter Property="Margin" Value="-2,0,0,0"/> Value="46" />
<Setter Property="DisplayMargin" Value="0,0,0,12"/> <Setter Property="Margin"
Value="-2,0,0,0" />
<Setter Property="DisplayMargin"
Value="0,0,0,12" />
</Style> </Style>
<Style x:Key="ValueMediumStyle" <Style x:Key="ValueMediumStyle"
BasedOn="{StaticResource ValueBaseStyle}" BasedOn="{StaticResource ValueBaseStyle}"
TargetType="controls:CalculationResult"> TargetType="controls:CalculationResult">
<Setter Property="MaxFontSize" Value="46"/> <Setter Property="MaxFontSize"
<Setter Property="Margin" Value="0,0,0,0"/> Value="46" />
<Setter Property="DisplayMargin" Value="0,0,0,4"/> <Setter Property="Margin"
Value="0,0,0,0" />
<Setter Property="DisplayMargin"
Value="0,0,0,4" />
</Style> </Style>
<Style x:Key="CurrencySymbolBaseStyle" TargetType="TextBlock"> <Style x:Key="CurrencySymbolBaseStyle"
<Setter Property="FontWeight" Value="Light"/> TargetType="TextBlock">
<Setter Property="HorizontalAlignment" Value="Left"/> <Setter Property="FontWeight"
<Setter Property="VerticalAlignment" Value="Bottom"/> Value="Light" />
<Setter Property="Foreground" Value="{ThemeResource SystemControlPageTextBaseHighBrush}"/> <Setter Property="HorizontalAlignment"
Value="Left" />
<Setter Property="VerticalAlignment"
Value="Bottom" />
<Setter Property="Foreground"
Value="{ThemeResource SystemControlPageTextBaseHighBrush}" />
</Style> </Style>
<Style x:Key="CurrencySymbolLargeStyle" <Style x:Key="CurrencySymbolLargeStyle"
BasedOn="{StaticResource CurrencySymbolBaseStyle}" BasedOn="{StaticResource CurrencySymbolBaseStyle}"
TargetType="TextBlock"> TargetType="TextBlock">
<Setter Property="FontSize" Value="32"/> <Setter Property="FontSize"
<Setter Property="Margin" Value="0,0,0,17"/> Value="32" />
<Setter Property="Margin"
Value="0,0,0,17" />
</Style> </Style>
<Style x:Key="CurrencySymbolMediumStyle" <Style x:Key="CurrencySymbolMediumStyle"
BasedOn="{StaticResource CurrencySymbolBaseStyle}" BasedOn="{StaticResource CurrencySymbolBaseStyle}"
TargetType="TextBlock"> TargetType="TextBlock">
<Setter Property="FontSize" Value="24"/> <Setter Property="FontSize"
<Setter Property="Margin" Value="0,0,0,8"/> Value="24" />
<Setter Property="Margin"
Value="0,0,0,8" />
</Style> </Style>
<Style x:Key="CurrencySymbolSmallStyle" <Style x:Key="CurrencySymbolSmallStyle"
BasedOn="{StaticResource CurrencySymbolBaseStyle}" BasedOn="{StaticResource CurrencySymbolBaseStyle}"
TargetType="TextBlock"> TargetType="TextBlock">
<Setter Property="FontSize" Value="17"/> <Setter Property="FontSize"
<Setter Property="Margin" Value="0,0,0,7"/> Value="17" />
<Setter Property="Margin"
Value="0,0,0,7" />
</Style> </Style>
<Style x:Key="ValueContainerStyle" TargetType="Grid"> <Style x:Key="ValueContainerStyle"
TargetType="Grid">
<!-- TODO UNO <Setter Property="AutomationProperties.AccessibilityView" Value="Raw"/>--> <!-- TODO UNO <Setter Property="AutomationProperties.AccessibilityView" Value="Raw"/>-->
</Style> </Style>
<Storyboard x:Key="AnimationStory"> <Storyboard x:Key="AnimationStory">
<!--TODO UNO Storyboard.TargetName="ConverterNumPad"--> <!--TODO UNO Storyboard.TargetName="ConverterNumPad"-->
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleX)"> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleX)">
<EasingDoubleKeyFrame KeyTime="0" Value="0.92"> <EasingDoubleKeyFrame KeyTime="0"
Value="0.92">
<EasingDoubleKeyFrame.EasingFunction> <EasingDoubleKeyFrame.EasingFunction>
<ExponentialEase EasingMode="EaseOut" Exponent="5"/> <ExponentialEase EasingMode="EaseOut"
Exponent="5" />
</EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame> </EasingDoubleKeyFrame>
<EasingDoubleKeyFrame KeyTime="0:0:0.367" Value="1"> <EasingDoubleKeyFrame KeyTime="0:0:0.367"
Value="1">
<EasingDoubleKeyFrame.EasingFunction> <EasingDoubleKeyFrame.EasingFunction>
<ExponentialEase EasingMode="EaseOut" Exponent="5"/> <ExponentialEase EasingMode="EaseOut"
Exponent="5" />
</EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame> </EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames> </DoubleAnimationUsingKeyFrames>
<!--TODO UNO Storyboard.TargetName="ConverterNumPad"--> <!--TODO UNO Storyboard.TargetName="ConverterNumPad"-->
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleY)"> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleY)">
<EasingDoubleKeyFrame KeyTime="0" Value="0.92"> <EasingDoubleKeyFrame KeyTime="0"
Value="0.92">
<EasingDoubleKeyFrame.EasingFunction> <EasingDoubleKeyFrame.EasingFunction>
<ExponentialEase EasingMode="EaseOut" Exponent="5"/> <ExponentialEase EasingMode="EaseOut"
Exponent="5" />
</EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame> </EasingDoubleKeyFrame>
<EasingDoubleKeyFrame KeyTime="0:0:0.367" Value="1"> <EasingDoubleKeyFrame KeyTime="0:0:0.367"
Value="1">
<EasingDoubleKeyFrame.EasingFunction> <EasingDoubleKeyFrame.EasingFunction>
<ExponentialEase EasingMode="EaseOut" Exponent="5"/> <ExponentialEase EasingMode="EaseOut"
Exponent="5" />
</EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame> </EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames> </DoubleAnimationUsingKeyFrames>
@ -267,7 +329,7 @@
<DoubleAnimation Duration="0:0:1" <DoubleAnimation Duration="0:0:1"
From="0" From="0"
Storyboard.TargetProperty="Opacity" Storyboard.TargetProperty="Opacity"
To="1"/> To="1" />
</Storyboard> </Storyboard>
<!-- <!--
@ -285,173 +347,246 @@
</UserControl.Resources> </UserControl.Resources>
<Grid x:Name="UnitConverterRootGrid" <Grid x:Name="UnitConverterRootGrid"
HorizontalAlignment="Stretch" HorizontalAlignment="Stretch">
>
<!--TODO UNO: AutomationProperties.LandmarkType="Main"--> <!--TODO UNO: AutomationProperties.LandmarkType="Main"-->
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition x:Name="RowTopNav" Height="{StaticResource HamburgerHeightGridLength}"/> <RowDefinition x:Name="RowTopNav"
Height="{StaticResource HamburgerHeightGridLength}" />
<RowDefinition x:Name="RowDisplay1" <RowDefinition x:Name="RowDisplay1"
Height="56*" Height="56*"
MinHeight="56"/> MinHeight="56" />
<RowDefinition x:Name="RowUnit1" <RowDefinition x:Name="RowUnit1"
Height="32*" Height="32*"
MinHeight="32"/> MinHeight="32" />
<RowDefinition x:Name="RowDisplay2" <RowDefinition x:Name="RowDisplay2"
Height="56*" Height="56*"
MinHeight="56"/> MinHeight="56" />
<RowDefinition x:Name="RowUnit2" <RowDefinition x:Name="RowUnit2"
Height="32*" Height="32*"
MinHeight="32"/> MinHeight="32" />
<RowDefinition x:Name="RowDltrUnits" <RowDefinition x:Name="RowDltrUnits"
Height="Auto" Height="Auto"
MinHeight="48"/> MinHeight="48" />
<RowDefinition x:Name="RowNumPad" Height="272*"/> <RowDefinition x:Name="RowNumPad"
Height="272*" />
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition x:Name="GutterLeft" Width="0"/> <ColumnDefinition x:Name="GutterLeft"
<ColumnDefinition x:Name="ColumnLeft" Width="1*"/> Width="0" />
<ColumnDefinition x:Name="ColumnRight" Width="0"/> <ColumnDefinition x:Name="ColumnLeft"
<ColumnDefinition x:Name="GutterRight" Width="0"/> Width="1*" />
<ColumnDefinition x:Name="ColumnRight"
Width="0" />
<ColumnDefinition x:Name="GutterRight"
Width="0" />
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<!-- End ConverterNumPad --> <!-- End ConverterNumPad -->
<VisualStateManager.VisualStateGroups> <VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="Layout"> <VisualStateGroup x:Name="Layout">
<VisualState x:Name="PortraitLayout"/> <VisualState x:Name="PortraitLayout" />
<VisualState x:Name="LandscapeLayout"> <VisualState x:Name="LandscapeLayout">
<VisualState.StateTriggers> <VisualState.StateTriggers>
<triggers:AspectRatioTrigger ActiveIfEqual="True" <triggers:AspectRatioTrigger ActiveIfEqual="True"
NumeratorAspect="Width" NumeratorAspect="Width"
Source="{x:Bind}" Source="{x:Bind}"
Threshold="1"/> Threshold="1" />
</VisualState.StateTriggers> </VisualState.StateTriggers>
<VisualState.Setters> <VisualState.Setters>
<Setter Target="GutterTop.Height" Value="0.5*"/> <Setter Target="GutterTop.Height"
<Setter Target="GutterBottom.Height" Value="0.5*"/> Value="0.5*" />
<Setter Target="GutterLeft.Width" Value="48"/> <Setter Target="GutterBottom.Height"
<Setter Target="GutterRight.Width" Value="48"/> Value="0.5*" />
<Setter Target="ColumnLeft.Width" Value="1*"/> <Setter Target="GutterLeft.Width"
<Setter Target="ColumnRight.Width" Value="1*"/> Value="48" />
<Setter Target="RowDisplay1.Height" Value="4*"/> <Setter Target="GutterRight.Width"
<Setter Target="RowUnit1.Height" Value="2*"/> Value="48" />
<Setter Target="RowDisplay2.Height" Value="4*"/> <Setter Target="ColumnLeft.Width"
<Setter Target="RowUnit2.Height" Value="2*"/> Value="1*" />
<Setter Target="RowDltrUnits.Height" Value="2*"/> <Setter Target="ColumnRight.Width"
<Setter Target="CurrencyLoadingGrid.(Grid.ColumnSpan)" Value="2"/> Value="1*" />
<Setter Target="ConverterNumPad.(Grid.Row)" Value="1"/> <Setter Target="RowDisplay1.Height"
<Setter Target="ConverterNumPad.(Grid.RowSpan)" Value="5"/> Value="4*" />
<Setter Target="ConverterNumPad.(Grid.Column)" Value="2"/> <Setter Target="RowUnit1.Height"
<Setter Target="ConverterNumPad.(Grid.ColumnSpan)" Value="2"/> Value="2*" />
<Setter Target="SupplementaryResults.VerticalAlignment" Value="Top"/> <Setter Target="RowDisplay2.Height"
<Setter Target="RowNumPad.MinHeight" Value="0"/> Value="4*" />
<Setter Target="RowNumPad.Height" Value="0"/> <Setter Target="RowUnit2.Height"
Value="2*" />
<Setter Target="RowDltrUnits.Height"
Value="2*" />
<Setter Target="CurrencyLoadingGrid.(Grid.ColumnSpan)"
Value="2" />
<Setter Target="ConverterNumPad.(Grid.Row)"
Value="1" />
<Setter Target="ConverterNumPad.(Grid.RowSpan)"
Value="5" />
<Setter Target="ConverterNumPad.(Grid.Column)"
Value="2" />
<Setter Target="ConverterNumPad.(Grid.ColumnSpan)"
Value="2" />
<Setter Target="SupplementaryResults.VerticalAlignment"
Value="Top" />
<Setter Target="RowNumPad.MinHeight"
Value="0" />
<Setter Target="RowNumPad.Height"
Value="0" />
</VisualState.Setters> </VisualState.Setters>
</VisualState> </VisualState>
</VisualStateGroup> </VisualStateGroup>
<VisualStateGroup x:Name="Sizing"> <VisualStateGroup x:Name="Sizing">
<VisualState x:Name="Wide"> <VisualState x:Name="Wide">
<VisualState.StateTriggers> <VisualState.StateTriggers>
<AdaptiveTrigger MinWindowHeight="768" MinWindowWidth="1280"/> <AdaptiveTrigger MinWindowHeight="768"
MinWindowWidth="1280" />
</VisualState.StateTriggers> </VisualState.StateTriggers>
<VisualState.Setters> <VisualState.Setters>
<Setter Target="Value1.Style" Value="{ThemeResource ValueLargeStyle}"/> <Setter Target="Value1.Style"
<Setter Target="Value2.Style" Value="{ThemeResource ValueLargeStyle}"/> Value="{ThemeResource ValueLargeStyle}" />
<Setter Target="CurrencySymbol1Block.Style" Value="{ThemeResource CurrencySymbolLargeStyle}"/> <Setter Target="Value2.Style"
<Setter Target="CurrencySymbol2Block.Style" Value="{ThemeResource CurrencySymbolLargeStyle}"/> Value="{ThemeResource ValueLargeStyle}" />
<Setter Target="Units1.Height" Value="44"/> <Setter Target="CurrencySymbol1Block.Style"
<Setter Target="Units2.Height" Value="44"/> Value="{ThemeResource CurrencySymbolLargeStyle}" />
<Setter Target="ConverterNegateButton.FontSize" Value="24"/> <Setter Target="CurrencySymbol2Block.Style"
<Setter Target="ClearEntryButtonPos0.FontSize" Value="24"/> Value="{ThemeResource CurrencySymbolLargeStyle}" />
<Setter Target="BackSpaceButtonSmall.FontSize" Value="24"/> <Setter Target="Units1.Height"
<Setter Target="NumberPad.ButtonStyle" Value="{StaticResource NumericButtonStyle46}"/> Value="44" />
<Setter Target="Units2.Height"
Value="44" />
<Setter Target="ConverterNegateButton.FontSize"
Value="24" />
<Setter Target="ClearEntryButtonPos0.FontSize"
Value="24" />
<Setter Target="BackSpaceButtonSmall.FontSize"
Value="24" />
<Setter Target="NumberPad.ButtonStyle"
Value="{StaticResource NumericButtonStyle46}" />
</VisualState.Setters> </VisualState.Setters>
</VisualState> </VisualState>
<VisualState x:Name="Portrait"> <VisualState x:Name="Portrait">
<VisualState.StateTriggers> <VisualState.StateTriggers>
<AdaptiveTrigger MinWindowHeight="1024" MinWindowWidth="640"/> <AdaptiveTrigger MinWindowHeight="1024"
MinWindowWidth="640" />
</VisualState.StateTriggers> </VisualState.StateTriggers>
<VisualState.Setters> <VisualState.Setters>
<Setter Target="SupplementaryResults.VerticalAlignment" Value="Top"/> <Setter Target="SupplementaryResults.VerticalAlignment"
<Setter Target="Value1.Style" Value="{ThemeResource ValueLargeStyle}"/> Value="Top" />
<Setter Target="Value2.Style" Value="{ThemeResource ValueLargeStyle}"/> <Setter Target="Value1.Style"
<Setter Target="CurrencySymbol1Block.Style" Value="{ThemeResource CurrencySymbolLargeStyle}"/> Value="{ThemeResource ValueLargeStyle}" />
<Setter Target="CurrencySymbol2Block.Style" Value="{ThemeResource CurrencySymbolLargeStyle}"/> <Setter Target="Value2.Style"
<Setter Target="Units1.Height" Value="44"/> Value="{ThemeResource ValueLargeStyle}" />
<Setter Target="Units2.Height" Value="44"/> <Setter Target="CurrencySymbol1Block.Style"
<Setter Target="ConverterNegateButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/> Value="{ThemeResource CurrencySymbolLargeStyle}" />
<Setter Target="ClearEntryButtonPos0.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/> <Setter Target="CurrencySymbol2Block.Style"
<Setter Target="NumberPad.ButtonStyle" Value="{StaticResource NumericButtonStyle34}"/> Value="{ThemeResource CurrencySymbolLargeStyle}" />
<Setter Target="Units1.Height"
Value="44" />
<Setter Target="Units2.Height"
Value="44" />
<Setter Target="ConverterNegateButton.FontSize"
Value="{StaticResource CalcStandardOperatorCaptionSize}" />
<Setter Target="ClearEntryButtonPos0.FontSize"
Value="{StaticResource CalcStandardOperatorCaptionSize}" />
<Setter Target="NumberPad.ButtonStyle"
Value="{StaticResource NumericButtonStyle34}" />
</VisualState.Setters> </VisualState.Setters>
</VisualState> </VisualState>
<VisualState x:Name="Wide640"> <VisualState x:Name="Wide640">
<VisualState.StateTriggers> <VisualState.StateTriggers>
<AdaptiveTrigger MinWindowHeight="0" MinWindowWidth="640"/> <AdaptiveTrigger MinWindowHeight="0"
MinWindowWidth="640" />
</VisualState.StateTriggers> </VisualState.StateTriggers>
<VisualState.Setters> <VisualState.Setters>
<Setter Target="Value1.Style" Value="{ThemeResource ValueLargeStyle}"/> <Setter Target="Value1.Style"
<Setter Target="Value2.Style" Value="{ThemeResource ValueLargeStyle}"/> Value="{ThemeResource ValueLargeStyle}" />
<Setter Target="CurrencySymbol1Block.Style" Value="{ThemeResource CurrencySymbolLargeStyle}"/> <Setter Target="Value2.Style"
<Setter Target="CurrencySymbol2Block.Style" Value="{ThemeResource CurrencySymbolLargeStyle}"/> Value="{ThemeResource ValueLargeStyle}" />
<Setter Target="Units1.Height" Value="44"/> <Setter Target="CurrencySymbol1Block.Style"
<Setter Target="Units2.Height" Value="44"/> Value="{ThemeResource CurrencySymbolLargeStyle}" />
<Setter Target="ConverterNegateButton.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/> <Setter Target="CurrencySymbol2Block.Style"
<Setter Target="ClearEntryButtonPos0.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/> Value="{ThemeResource CurrencySymbolLargeStyle}" />
<Setter Target="BackSpaceButtonSmall.FontSize" Value="{StaticResource CalcStandardOperatorCaptionSize}"/> <Setter Target="Units1.Height"
<Setter Target="NumberPad.ButtonStyle" Value="{StaticResource NumericButtonStyle34}"/> Value="44" />
<Setter Target="Units2.Height"
Value="44" />
<Setter Target="ConverterNegateButton.FontSize"
Value="{StaticResource CalcStandardOperatorCaptionSize}" />
<Setter Target="ClearEntryButtonPos0.FontSize"
Value="{StaticResource CalcStandardOperatorCaptionSize}" />
<Setter Target="BackSpaceButtonSmall.FontSize"
Value="{StaticResource CalcStandardOperatorCaptionSize}" />
<Setter Target="NumberPad.ButtonStyle"
Value="{StaticResource NumericButtonStyle34}" />
</VisualState.Setters> </VisualState.Setters>
</VisualState> </VisualState>
<VisualState x:Name="MinSizeLayout"> <VisualState x:Name="MinSizeLayout">
<VisualState.StateTriggers> <VisualState.StateTriggers>
<AdaptiveTrigger MinWindowHeight="{StaticResource AppMinWindowHeight}" MinWindowWidth="{StaticResource AppMinWindowWidth}"/> <AdaptiveTrigger MinWindowHeight="{StaticResource AppMinWindowHeight}"
MinWindowWidth="{StaticResource AppMinWindowWidth}" />
</VisualState.StateTriggers> </VisualState.StateTriggers>
</VisualState> </VisualState>
<VisualState x:Name="DefaultLayout"> <VisualState x:Name="DefaultLayout">
<VisualState.StateTriggers> <VisualState.StateTriggers>
<AdaptiveTrigger MinWindowHeight="0" MinWindowWidth="0"/> <AdaptiveTrigger MinWindowHeight="0"
MinWindowWidth="0" />
</VisualState.StateTriggers> </VisualState.StateTriggers>
<VisualState.Setters> <VisualState.Setters>
<Setter Target="ClearEntryButtonPos0.Margin" Value="1"/> <Setter Target="ClearEntryButtonPos0.Margin"
<Setter Target="BackSpaceButtonSmall.Margin" Value="1"/> Value="1" />
<Setter Target="ConverterNegateButton.Margin" Value="1"/> <Setter Target="BackSpaceButtonSmall.Margin"
Value="1" />
<Setter Target="ConverterNegateButton.Margin"
Value="1" />
<Setter Target="NumberPad.ButtonStyle" Value="{StaticResource NumericButtonStyle18}"/> <Setter Target="NumberPad.ButtonStyle"
Value="{StaticResource NumericButtonStyle18}" />
</VisualState.Setters> </VisualState.Setters>
</VisualState> </VisualState>
</VisualStateGroup> </VisualStateGroup>
<VisualStateGroup x:Name="CurrencyTimestampStates"> <VisualStateGroup x:Name="CurrencyTimestampStates">
<VisualState x:Name="DefaultTimestamp"> <VisualState x:Name="DefaultTimestamp">
<VisualState.Setters> <VisualState.Setters>
<Setter Target="CurrencyTimestampTextBlock.Foreground" Value="{ThemeResource SystemControlPageTextBaseHighBrush}"/> <Setter Target="CurrencyTimestampTextBlock.Foreground"
<Setter Target="CurrencyTimestampTextBlock.FontWeight" Value="Normal"/> Value="{ThemeResource SystemControlPageTextBaseHighBrush}" />
<Setter Target="CurrencyTimestampTextBlock.FontWeight"
Value="Normal" />
</VisualState.Setters> </VisualState.Setters>
</VisualState> </VisualState>
<VisualState x:Name="WeekOldTimestamp"> <VisualState x:Name="WeekOldTimestamp">
<VisualState.Setters> <VisualState.Setters>
<Setter Target="CurrencyTimestampTextBlock.Foreground" Value="{ThemeResource AppControlPageTextRedColorBrush}"/> <Setter Target="CurrencyTimestampTextBlock.Foreground"
<Setter Target="CurrencyTimestampTextBlock.FontWeight" Value="SemiBold"/> Value="{ThemeResource AppControlPageTextRedColorBrush}" />
<Setter Target="CurrencyTimestampTextBlock.FontWeight"
Value="SemiBold" />
</VisualState.Setters> </VisualState.Setters>
</VisualState> </VisualState>
</VisualStateGroup> </VisualStateGroup>
<VisualStateGroup x:Name="CurrencySecondaryStatusStates"> <VisualStateGroup x:Name="CurrencySecondaryStatusStates">
<VisualState x:Name="ChargesMayApplyCurrencyStatus"> <VisualState x:Name="ChargesMayApplyCurrencyStatus">
<VisualState.Setters> <VisualState.Setters>
<Setter Target="CurrencySecondaryStatus.Foreground" Value="{ThemeResource AppControlPageTextBaseHighColorBrush}"/> <Setter Target="CurrencySecondaryStatus.Foreground"
Value="{ThemeResource AppControlPageTextBaseHighColorBrush}" />
</VisualState.Setters> </VisualState.Setters>
</VisualState> </VisualState>
<VisualState x:Name="FailedCurrencyStatus"> <VisualState x:Name="FailedCurrencyStatus">
<VisualState.Setters> <VisualState.Setters>
<Setter Target="CurrencySecondaryStatus.Foreground" Value="{ThemeResource AppControlPageTextRedColorBrush}"/> <Setter Target="CurrencySecondaryStatus.Foreground"
Value="{ThemeResource AppControlPageTextRedColorBrush}" />
</VisualState.Setters> </VisualState.Setters>
</VisualState> </VisualState>
</VisualStateGroup> </VisualStateGroup>
<VisualStateGroup x:Name="CurrencySymbolStates"> <VisualStateGroup x:Name="CurrencySymbolStates">
<VisualState x:Name="CurrencySymbolLeftState"/> <VisualState x:Name="CurrencySymbolLeftState" />
<VisualState x:Name="CurrencySymbolRightState"> <VisualState x:Name="CurrencySymbolRightState">
<VisualState.Setters> <VisualState.Setters>
<Setter Target="CurrencySymbol1Block.Padding" Value="0,0,12,0"/> <Setter Target="CurrencySymbol1Block.Padding"
<Setter Target="CurrencySymbol2Block.Padding" Value="0,0,12,0"/> Value="0,0,12,0" />
<Setter Target="CurrencySymbol1Block.(Grid.Column)" Value="2"/> <Setter Target="CurrencySymbol2Block.Padding"
<Setter Target="CurrencySymbol2Block.(Grid.Column)" Value="2"/> Value="0,0,12,0" />
<Setter Target="CurrencySymbol1Block.(Grid.Column)"
Value="2" />
<Setter Target="CurrencySymbol2Block.(Grid.Column)"
Value="2" />
</VisualState.Setters> </VisualState.Setters>
</VisualState> </VisualState>
</VisualStateGroup> </VisualStateGroup>
@ -464,9 +599,9 @@
Grid.ColumnSpan="4" Grid.ColumnSpan="4"
Visibility="{x:Bind Model.IsCurrencyLoadingVisible, Mode=OneWay, Converter={StaticResource BooleanToVisibilityConverter}}"> Visibility="{x:Bind Model.IsCurrencyLoadingVisible, Mode=OneWay, Converter={StaticResource BooleanToVisibilityConverter}}">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="10*"/> <RowDefinition Height="10*" />
<RowDefinition Height="7*"/> <RowDefinition Height="7*" />
<RowDefinition Height="10*"/> <RowDefinition Height="10*" />
</Grid.RowDefinitions> </Grid.RowDefinitions>
<ProgressRing x:Name="CurrencyLoadingProgressRing" <ProgressRing x:Name="CurrencyLoadingProgressRing"
Grid.Row="1" Grid.Row="1"
@ -475,7 +610,7 @@
MaxHeight="140" MaxHeight="140"
HorizontalAlignment="Stretch" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" VerticalAlignment="Stretch"
IsActive="False"/> IsActive="False" />
</Grid> </Grid>
<!--TODO UNO: HorizontalAlignment="{x:Bind FlowDirectionHorizontalAlignment}" --> <!--TODO UNO: HorizontalAlignment="{x:Bind FlowDirectionHorizontalAlignment}" -->
@ -486,16 +621,16 @@
Style="{ThemeResource ValueContainerStyle}" Style="{ThemeResource ValueContainerStyle}"
Visibility="{x:Bind Model.IsCurrencyLoadingVisible, Mode=OneWay, Converter={StaticResource BooleanToVisibilityNegationConverter}}"> Visibility="{x:Bind Model.IsCurrencyLoadingVisible, Mode=OneWay, Converter={StaticResource BooleanToVisibilityNegationConverter}}">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*"/> <ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock x:Name="CurrencySymbol1Block" <TextBlock x:Name="CurrencySymbol1Block"
Grid.Column="0" Grid.Column="0"
Padding="12,0,0,0" Padding="12,0,0,0"
Style="{ThemeResource CurrencySymbolMediumStyle}" Style="{ThemeResource CurrencySymbolMediumStyle}"
Text="{x:Bind Model.CurrencySymbol1, Mode=OneWay}" Text="{x:Bind Model.CurrencySymbol1, Mode=OneWay}"
Visibility="{x:Bind Model.CurrencySymbolVisibility, Mode=OneWay}"/> Visibility="{x:Bind Model.CurrencySymbolVisibility, Mode=OneWay}" />
<!--TODO UNO: AutomationProperties.AccessibilityView="Raw"--> <!--TODO UNO: AutomationProperties.AccessibilityView="Raw"-->
<controls:CalculationResult x:Name="Value1" <controls:CalculationResult x:Name="Value1"
Grid.Column="1" Grid.Column="1"
@ -509,7 +644,7 @@
IsActive="{Binding Value1Active, Mode=TwoWay}" IsActive="{Binding Value1Active, Mode=TwoWay}"
KeyDown="OnValueKeyDown" KeyDown="OnValueKeyDown"
ValueSelected="OnValueSelected" ValueSelected="OnValueSelected"
TabIndex="1"/> TabIndex="1" />
<!--TODO UNO <!--TODO UNO
AutomationProperties.AutomationId="Value1" AutomationProperties.AutomationId="Value1"
AutomationProperties.Name="{x:Bind Model.Value1AutomationName, Mode=OneWay}"--> AutomationProperties.Name="{x:Bind Model.Value1AutomationName, Mode=OneWay}"-->
@ -529,7 +664,7 @@
ItemsSource="{Binding Units}" ItemsSource="{Binding Units}"
SelectedItem="{Binding Unit1, Mode=TwoWay}" SelectedItem="{Binding Unit1, Mode=TwoWay}"
TabIndex="2" TabIndex="2"
Visibility="{x:Bind Model.IsCurrencyLoadingVisible, Mode=OneWay, Converter={StaticResource BooleanToVisibilityNegationConverter}}"/> Visibility="{x:Bind Model.IsCurrencyLoadingVisible, Mode=OneWay, Converter={StaticResource BooleanToVisibilityNegationConverter}}" />
<!--TODO UNO <!--TODO UNO
ItemsSource="{Binding Units, Converter={StaticResource AlwaysSelectedConverter}}" ItemsSource="{Binding Units, Converter={StaticResource AlwaysSelectedConverter}}"
SelectedItem="{Binding Unit1, Mode=TwoWay, Converter={StaticResource ValidSelectedItemConverter}}" SelectedItem="{Binding Unit1, Mode=TwoWay, Converter={StaticResource ValidSelectedItemConverter}}"
@ -544,16 +679,16 @@
Style="{ThemeResource ValueContainerStyle}" Style="{ThemeResource ValueContainerStyle}"
Visibility="{x:Bind Model.IsCurrencyLoadingVisible, Mode=OneWay, Converter={StaticResource BooleanToVisibilityNegationConverter}}"> Visibility="{x:Bind Model.IsCurrencyLoadingVisible, Mode=OneWay, Converter={StaticResource BooleanToVisibilityNegationConverter}}">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*"/> <ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock x:Name="CurrencySymbol2Block" <TextBlock x:Name="CurrencySymbol2Block"
Grid.Column="0" Grid.Column="0"
Padding="12,0,0,0" Padding="12,0,0,0"
Style="{ThemeResource CurrencySymbolMediumStyle}" Style="{ThemeResource CurrencySymbolMediumStyle}"
Text="{x:Bind Model.CurrencySymbol2, Mode=OneWay}" Text="{x:Bind Model.CurrencySymbol2, Mode=OneWay}"
Visibility="{x:Bind Model.CurrencySymbolVisibility, Mode=OneWay}"/> Visibility="{x:Bind Model.CurrencySymbolVisibility, Mode=OneWay}" />
<!--TODO UNO AutomationProperties.AccessibilityView="Raw"--> <!--TODO UNO AutomationProperties.AccessibilityView="Raw"-->
<controls:CalculationResult x:Name="Value2" <controls:CalculationResult x:Name="Value2"
Grid.Column="1" Grid.Column="1"
@ -567,7 +702,7 @@
IsActive="{Binding Value2Active, Mode=TwoWay}" IsActive="{Binding Value2Active, Mode=TwoWay}"
KeyDown="OnValueKeyDown" KeyDown="OnValueKeyDown"
ValueSelected="OnValueSelected" ValueSelected="OnValueSelected"
TabIndex="3"/> TabIndex="3" />
<!--TODO UNO <!--TODO UNO
AutomationProperties.AutomationId="Value2" AutomationProperties.AutomationId="Value2"
AutomationProperties.LiveSetting="Polite" AutomationProperties.LiveSetting="Polite"
@ -587,7 +722,7 @@
ItemsSource="{Binding Units}" ItemsSource="{Binding Units}"
SelectedItem="{Binding Unit2, Mode=TwoWay}" SelectedItem="{Binding Unit2, Mode=TwoWay}"
TabIndex="4" TabIndex="4"
Visibility="{x:Bind Model.IsCurrencyLoadingVisible, Mode=OneWay, Converter={StaticResource BooleanToVisibilityNegationConverter}}"/> Visibility="{x:Bind Model.IsCurrencyLoadingVisible, Mode=OneWay, Converter={StaticResource BooleanToVisibilityNegationConverter}}" />
<!--TODO UNO: <!--TODO UNO:
ItemsSource="{Binding Units, Converter={StaticResource AlwaysSelectedConverter}}" ItemsSource="{Binding Units, Converter={StaticResource AlwaysSelectedConverter}}"
SelectedItem="{Binding Unit2, Mode=TwoWay, Converter={StaticResource ValidSelectedItemConverter}}" SelectedItem="{Binding Unit2, Mode=TwoWay, Converter={StaticResource ValidSelectedItemConverter}}"
@ -608,19 +743,19 @@
HorizontalAlignment="Left" HorizontalAlignment="Left"
VerticalAlignment="Center" VerticalAlignment="Center"
Results="{x:Bind Model.SupplementaryResults, Mode=OneWay}" Results="{x:Bind Model.SupplementaryResults, Mode=OneWay}"
Visibility="{x:Bind Model.SupplementaryVisibility, Mode=OneWay}"/> Visibility="{x:Bind Model.SupplementaryVisibility, Mode=OneWay}" />
<StackPanel Visibility="{x:Bind Model.IsCurrencyCurrentCategory, Mode=OneWay, Converter={StaticResource BooleanToVisibilityConverter}}"> <StackPanel Visibility="{x:Bind Model.IsCurrencyCurrentCategory, Mode=OneWay, Converter={StaticResource BooleanToVisibilityConverter}}">
<!-- Currency Ratio Equality --> <!-- Currency Ratio Equality -->
<TextBlock x:Name="CurrencyRatioEqualityBlock" <TextBlock x:Name="CurrencyRatioEqualityBlock"
Style="{ThemeResource CaptionTextBlockStyle}" Style="{ThemeResource CaptionTextBlockStyle}"
Foreground="{ThemeResource SystemControlPageTextBaseHighBrush}" Foreground="{ThemeResource SystemControlPageTextBaseHighBrush}"
AutomationProperties.Name="{x:Bind Model.CurrencyRatioEqualityAutomationName, Mode=OneWay}" AutomationProperties.Name="{x:Bind Model.CurrencyRatioEqualityAutomationName, Mode=OneWay}"
Text="{x:Bind Model.CurrencyRatioEquality, Mode=OneWay}"/> Text="{x:Bind Model.CurrencyRatioEquality, Mode=OneWay}" />
<!-- Currency Timestamp --> <!-- Currency Timestamp -->
<TextBlock x:Name="CurrencyTimestampTextBlock" <TextBlock x:Name="CurrencyTimestampTextBlock"
Style="{ThemeResource CaptionTextBlockStyle}" Style="{ThemeResource CaptionTextBlockStyle}"
Text="{x:Bind Model.CurrencyTimestamp, Mode=OneWay}"/> Text="{x:Bind Model.CurrencyTimestamp, Mode=OneWay}" />
<!-- Currency Refresh button and additional status text --> <!-- Currency Refresh button and additional status text -->
<ContentControl x:Name="CurrencyRefreshBlockControl" <ContentControl x:Name="CurrencyRefreshBlockControl"
@ -631,11 +766,12 @@
<HyperlinkButton x:Name="CurrencyRefreshBlock" <HyperlinkButton x:Name="CurrencyRefreshBlock"
x:Uid="RefreshButtonText" x:Uid="RefreshButtonText"
Foreground="{ThemeResource SystemControlHyperlinkBaseHighBrush}" Foreground="{ThemeResource SystemControlHyperlinkBaseHighBrush}"
Click="CurrencyRefreshButton_Click"/> Click="CurrencyRefreshButton_Click" />
<TextBlock Margin="3,7,0,0" Style="{ThemeResource CaptionTextBlockStyle}"> <TextBlock Margin="3,7,0,0"
Style="{ThemeResource CaptionTextBlockStyle}">
<Run x:Name="CurrencySecondaryStatus" <Run x:Name="CurrencySecondaryStatus"
FontWeight="SemiBold" FontWeight="SemiBold"
Text=""/> Text="" />
</TextBlock> </TextBlock>
</StackPanel> </StackPanel>
</ContentControl> </ContentControl>
@ -648,11 +784,11 @@
<TextBlock Style="{ThemeResource CaptionTextBlockStyle}" <TextBlock Style="{ThemeResource CaptionTextBlockStyle}"
Foreground="{ThemeResource SystemControlPageTextBaseHighBrush}" Foreground="{ThemeResource SystemControlPageTextBaseHighBrush}"
AutomationProperties.AccessibilityView="Raw"> AutomationProperties.AccessibilityView="Raw">
<Run x:Name="OfflineRunBeforeLink"/> <Run x:Name="OfflineRunBeforeLink" />
<Hyperlink NavigateUri="ms-settings:network-status"> <Hyperlink NavigateUri="ms-settings:network-status">
<Run x:Name="OfflineRunLink"/> <Run x:Name="OfflineRunLink" />
</Hyperlink> </Hyperlink>
<Run x:Name="OfflineRunAfterLink"/> <Run x:Name="OfflineRunAfterLink" />
</TextBlock> </TextBlock>
</ContentControl> </ContentControl>
</StackPanel> </StackPanel>
@ -665,23 +801,25 @@
FlowDirection="LeftToRight" FlowDirection="LeftToRight"
RenderTransformOrigin="0.5,0.5"> RenderTransformOrigin="0.5,0.5">
<Grid.RenderTransform> <Grid.RenderTransform>
<CompositeTransform/> <CompositeTransform />
</Grid.RenderTransform> </Grid.RenderTransform>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition x:Name="GutterTop" Height="0"/> <RowDefinition x:Name="GutterTop"
<RowDefinition Height="1*"/> Height="0" />
<RowDefinition Height="1*"/> <RowDefinition Height="1*" />
<RowDefinition Height="1*"/> <RowDefinition Height="1*" />
<RowDefinition Height="1*"/> <RowDefinition Height="1*" />
<RowDefinition Height="1*"/> <RowDefinition Height="1*" />
<RowDefinition x:Name="GutterBottom" Height="0"/> <RowDefinition Height="1*" />
<RowDefinition x:Name="GutterBottom"
Height="0" />
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="0.25*"/> <ColumnDefinition Width="0.25*" />
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*" />
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*" />
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*" />
<ColumnDefinition Width="0.25*"/> <ColumnDefinition Width="0.25*" />
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Grid x:Uid="DisplayControls" <Grid x:Uid="DisplayControls"
Grid.Row="1" Grid.Row="1"
@ -689,8 +827,8 @@
Grid.ColumnSpan="2" Grid.ColumnSpan="2"
AutomationProperties.HeadingLevel="Level1"> AutomationProperties.HeadingLevel="Level1">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition/> <ColumnDefinition />
<ColumnDefinition/> <ColumnDefinition />
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<controls:CalculatorButton x:Name="ClearEntryButtonPos0" <controls:CalculatorButton x:Name="ClearEntryButtonPos0"
x:Uid="clearEntryButton" x:Uid="clearEntryButton"
@ -699,7 +837,7 @@
FontSize="16" FontSize="16"
ButtonId="Clear" ButtonId="Clear"
Content="CE" Content="CE"
TabIndex="7"/> TabIndex="7" />
<controls:CalculatorButton x:Name="BackSpaceButtonSmall" <controls:CalculatorButton x:Name="BackSpaceButtonSmall"
x:Uid="backSpaceButton" x:Uid="backSpaceButton"
Grid.Column="1" Grid.Column="1"
@ -707,7 +845,7 @@
FontSize="16" FontSize="16"
ButtonId="Backspace" ButtonId="Backspace"
Content="&#xE94F;" Content="&#xE94F;"
TabIndex="8"/> TabIndex="8" />
</Grid> </Grid>
<local:NumberPad x:Name="NumberPad" <local:NumberPad x:Name="NumberPad"
@ -720,7 +858,7 @@
AutomationProperties.HeadingLevel="Level1" AutomationProperties.HeadingLevel="Level1"
ButtonStyle="{StaticResource NumericButtonStyle24}" ButtonStyle="{StaticResource NumericButtonStyle24}"
TabIndex="10" TabIndex="10"
TabNavigation="Local"/> TabNavigation="Local" />
<controls:CalculatorButton x:Name="ConverterNegateButton" <controls:CalculatorButton x:Name="ConverterNegateButton"
x:Uid="converterNegateButton" x:Uid="converterNegateButton"
Grid.Row="5" Grid.Row="5"
@ -730,7 +868,7 @@
ButtonId="Negate" ButtonId="Negate"
Content="&#xe94d;" Content="&#xe94d;"
TabIndex="6" TabIndex="6"
Visibility="{x:Bind Model.CurrentCategory.NegateVisibility, Mode=OneWay}"/> Visibility="{x:Bind Model.CurrentCategory.NegateVisibility, Mode=OneWay}" />
</Grid> </Grid>
<!-- End ConverterNumPad --> <!-- End ConverterNumPad -->
</Grid> </Grid>

View file

@ -31,7 +31,7 @@
<Application Id="App" <Application Id="App"
Executable="CalculatorApp.exe" EntryPoint="CalculatorApp.App"> Executable="CalculatorApp.exe" EntryPoint="CalculatorApp.App">
<uap:VisualElements <uap:VisualElements
DisplayName="Calculator" DisplayName="Uno Calc"
Square150x150Logo="Assets\Square150x150Logo.png" Square150x150Logo="Assets\Square150x150Logo.png"
Square44x44Logo="Assets\Square44x44Logo.png" Square44x44Logo="Assets\Square44x44Logo.png"
Description="Windows Calculator" Description="Windows Calculator"

View file

@ -3,7 +3,7 @@
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>CFBundleDisplayName</key> <key>CFBundleDisplayName</key>
<string>Uno Calculator</string> <string>Uno Calc</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
<string>uno.platform.calculator</string> <string>uno.platform.calculator</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>