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"?>
<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" />
<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>

View file

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

View file

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

View file

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

View file

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

View file

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