aboutsummaryrefslogtreecommitdiffstats
path: root/Software
diff options
context:
space:
mode:
Diffstat (limited to 'Software')
-rw-r--r--Software/DB/PPC/Tango.mdfbin75497472 -> 75497472 bytes
-rw-r--r--Software/DB/PPC/Tango_log.ldfbin53673984 -> 53673984 bytes
-rw-r--r--Software/Graphics/From Marketing/3.pngbin0 -> 18722 bytes
-rw-r--r--Software/Graphics/From Marketing/Embroider.pngbin0 -> 90271 bytes
-rw-r--r--Software/Graphics/From Marketing/Front.pngbin0 -> 318202 bytes
-rw-r--r--Software/Graphics/From Marketing/Icon Cloud.pngbin0 -> 329523 bytes
-rw-r--r--Software/Graphics/From Marketing/Left view.pngbin0 -> 385090 bytes
-rw-r--r--Software/Graphics/From Marketing/Left.pngbin0 -> 7873247 bytes
-rw-r--r--Software/Graphics/From Marketing/Right view.pngbin0 -> 291867 bytes
-rw-r--r--Software/Graphics/From Marketing/Right.pngbin0 -> 7527881 bytes
-rw-r--r--Software/Graphics/From Marketing/System contour 2D.pngbin0 -> 53085 bytes
-rw-r--r--Software/Graphics/From Marketing/TS Red Spool.pngbin0 -> 109753 bytes
-rw-r--r--Software/Graphics/From Marketing/TS blue spool.pngbin0 -> 109797 bytes
-rw-r--r--Software/Graphics/From Marketing/logo.pngbin0 -> 168881 bytes
-rw-r--r--Software/Graphics/Mobile/m_update.pngbin0 -> 88509 bytes
-rw-r--r--Software/Graphics/Mobile/machine-update.pngbin0 -> 54914 bytes
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/Views/MainView.xaml168
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/MachineUpdate/MachineUpdateManager.cs7
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Images/machine-update.pngbin54914 -> 88509 bytes
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineUpdateViewVM.cs8
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MachineUpdateView.xaml224
21 files changed, 240 insertions, 167 deletions
diff --git a/Software/DB/PPC/Tango.mdf b/Software/DB/PPC/Tango.mdf
index e88a5f3bd..1f297db88 100644
--- a/Software/DB/PPC/Tango.mdf
+++ b/Software/DB/PPC/Tango.mdf
Binary files differ
diff --git a/Software/DB/PPC/Tango_log.ldf b/Software/DB/PPC/Tango_log.ldf
index 0d682e1a5..fb6cec7dc 100644
--- a/Software/DB/PPC/Tango_log.ldf
+++ b/Software/DB/PPC/Tango_log.ldf
Binary files differ
diff --git a/Software/Graphics/From Marketing/3.png b/Software/Graphics/From Marketing/3.png
new file mode 100644
index 000000000..c31bc5f66
--- /dev/null
+++ b/Software/Graphics/From Marketing/3.png
Binary files differ
diff --git a/Software/Graphics/From Marketing/Embroider.png b/Software/Graphics/From Marketing/Embroider.png
new file mode 100644
index 000000000..f71bc2a70
--- /dev/null
+++ b/Software/Graphics/From Marketing/Embroider.png
Binary files differ
diff --git a/Software/Graphics/From Marketing/Front.png b/Software/Graphics/From Marketing/Front.png
new file mode 100644
index 000000000..4bf9fd6c9
--- /dev/null
+++ b/Software/Graphics/From Marketing/Front.png
Binary files differ
diff --git a/Software/Graphics/From Marketing/Icon Cloud.png b/Software/Graphics/From Marketing/Icon Cloud.png
new file mode 100644
index 000000000..720609099
--- /dev/null
+++ b/Software/Graphics/From Marketing/Icon Cloud.png
Binary files differ
diff --git a/Software/Graphics/From Marketing/Left view.png b/Software/Graphics/From Marketing/Left view.png
new file mode 100644
index 000000000..65b269743
--- /dev/null
+++ b/Software/Graphics/From Marketing/Left view.png
Binary files differ
diff --git a/Software/Graphics/From Marketing/Left.png b/Software/Graphics/From Marketing/Left.png
new file mode 100644
index 000000000..3d6d63d30
--- /dev/null
+++ b/Software/Graphics/From Marketing/Left.png
Binary files differ
diff --git a/Software/Graphics/From Marketing/Right view.png b/Software/Graphics/From Marketing/Right view.png
new file mode 100644
index 000000000..aedacdcfd
--- /dev/null
+++ b/Software/Graphics/From Marketing/Right view.png
Binary files differ
diff --git a/Software/Graphics/From Marketing/Right.png b/Software/Graphics/From Marketing/Right.png
new file mode 100644
index 000000000..158d4b625
--- /dev/null
+++ b/Software/Graphics/From Marketing/Right.png
Binary files differ
diff --git a/Software/Graphics/From Marketing/System contour 2D.png b/Software/Graphics/From Marketing/System contour 2D.png
new file mode 100644
index 000000000..fdee5a30d
--- /dev/null
+++ b/Software/Graphics/From Marketing/System contour 2D.png
Binary files differ
diff --git a/Software/Graphics/From Marketing/TS Red Spool.png b/Software/Graphics/From Marketing/TS Red Spool.png
new file mode 100644
index 000000000..5a60c6b16
--- /dev/null
+++ b/Software/Graphics/From Marketing/TS Red Spool.png
Binary files differ
diff --git a/Software/Graphics/From Marketing/TS blue spool.png b/Software/Graphics/From Marketing/TS blue spool.png
new file mode 100644
index 000000000..140a7b516
--- /dev/null
+++ b/Software/Graphics/From Marketing/TS blue spool.png
Binary files differ
diff --git a/Software/Graphics/From Marketing/logo.png b/Software/Graphics/From Marketing/logo.png
new file mode 100644
index 000000000..649a73180
--- /dev/null
+++ b/Software/Graphics/From Marketing/logo.png
Binary files differ
diff --git a/Software/Graphics/Mobile/m_update.png b/Software/Graphics/Mobile/m_update.png
new file mode 100644
index 000000000..d8db51337
--- /dev/null
+++ b/Software/Graphics/Mobile/m_update.png
Binary files differ
diff --git a/Software/Graphics/Mobile/machine-update.png b/Software/Graphics/Mobile/machine-update.png
new file mode 100644
index 000000000..3e49520dd
--- /dev/null
+++ b/Software/Graphics/Mobile/machine-update.png
Binary files differ
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/Views/MainView.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/Views/MainView.xaml
index 8ba06eb43..4f846a46d 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/Views/MainView.xaml
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/Views/MainView.xaml
@@ -11,7 +11,7 @@
xmlns:global="clr-namespace:Tango.PPC.MachineSettings"
xmlns:local="clr-namespace:Tango.PPC.MachineSettings.Views"
mc:Ignorable="d"
- d:DesignHeight="1280" d:DesignWidth="800" d:DataContext="{d:DesignInstance Type=vm:MainViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.MainViewVM}">
+ d:DesignHeight="2000" d:DesignWidth="800" d:DataContext="{d:DesignInstance Type=vm:MainViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.MainViewVM}">
<Grid Background="{StaticResource TangoMidBackgroundBrush}">
<Grid.RowDefinitions>
@@ -48,95 +48,129 @@
<TextBlock VerticalAlignment="Center">Enable Hot Spot</TextBlock>
<touch:TouchToggleSlider Style="{StaticResource TangoToggleButtonGrayAccent}" HorizontalAlignment="Right" Margin="0 0 110 0" Width="90" IsChecked="{Binding EnableHotSpot}"></touch:TouchToggleSlider>
-
+
<TextBlock VerticalAlignment="Bottom">Hot Spot Password</TextBlock>
<touch:TouchTextBox IsPassword="True" Watermark="•••••••" HorizontalAlignment="Right" VerticalAlignment="Bottom" Width="200" Text="{Binding HotSpotPassword}" KeyboardContainer="{Binding ElementName=Container}"></touch:TouchTextBox>
</controls:TableGrid>
+
+ <DockPanel Margin="10 -40 0 0">
+ <touch:TouchIcon VerticalAlignment="Top" Icon="InformationOutline" Foreground="{StaticResource TangoGrayTextBrush}"></touch:TouchIcon>
+ <TextBlock Margin="10 0 0 0" VerticalAlignment="Top" TextWrapping="Wrap" FontSize="{StaticResource TangoSmallFontSize}" Foreground="{StaticResource TangoGrayTextBrush}">
+ Enabling a hot-spot will create a wireless network dedicated to this machine.
+ </TextBlock>
+ </DockPanel>
</StackPanel>
</touch:TouchExpander>
<!--EXTERNAL BRIDGE-->
<touch:TouchExpander Margin="0 20 0 0" Header="External Bridge" IsExpanded="True" FontSize="{StaticResource TangoExpanderHeaderFontSize}">
- <controls:TableGrid Margin="10" RowHeight="70" MakeFirstColumnVerticalAlignmentBottom="False" TextElement.FontSize="{StaticResource TangoDefaultFontSize}">
- <TextBlock VerticalAlignment="Center">Enable External Bridge Service</TextBlock>
- <touch:TouchToggleSlider Style="{StaticResource TangoToggleButtonGrayAccent}" HorizontalAlignment="Right" Margin="0 0 110 0" Width="90" IsChecked="{Binding EnableExternalBridge}"></touch:TouchToggleSlider>
+ <StackPanel>
+ <controls:TableGrid Margin="10" RowHeight="70" MakeFirstColumnVerticalAlignmentBottom="False" TextElement.FontSize="{StaticResource TangoDefaultFontSize}">
+ <TextBlock VerticalAlignment="Center">Enable External Bridge Service</TextBlock>
+ <touch:TouchToggleSlider Style="{StaticResource TangoToggleButtonGrayAccent}" HorizontalAlignment="Right" Margin="0 0 110 0" Width="90" IsChecked="{Binding EnableExternalBridge}"></touch:TouchToggleSlider>
+
+ <TextBlock VerticalAlignment="Bottom">External Bridge Password</TextBlock>
+ <touch:TouchTextBox IsPassword="True" Watermark="•••••••" HorizontalAlignment="Right" VerticalAlignment="Bottom" Width="200" Text="{Binding ExternalBridgePassword}" KeyboardContainer="{Binding ElementName=Container}"></touch:TouchTextBox>
+ </controls:TableGrid>
- <TextBlock VerticalAlignment="Bottom">External Bridge Password</TextBlock>
- <touch:TouchTextBox IsPassword="True" Watermark="•••••••" HorizontalAlignment="Right" VerticalAlignment="Bottom" Width="200" Text="{Binding ExternalBridgePassword}" KeyboardContainer="{Binding ElementName=Container}"></touch:TouchTextBox>
- </controls:TableGrid>
+ <DockPanel Margin="10 -50 0 0">
+ <touch:TouchIcon VerticalAlignment="Top" Icon="InformationOutline" Foreground="{StaticResource TangoGrayTextBrush}"></touch:TouchIcon>
+ <TextBlock Margin="10 0 0 0" VerticalAlignment="Top" TextWrapping="Wrap" FontSize="{StaticResource TangoSmallFontSize}" Foreground="{StaticResource TangoGrayTextBrush}">
+ Enabling the external bridge service allows external Twine applications to interact with this machine over the local network.
+ </TextBlock>
+ </DockPanel>
+ </StackPanel>
</touch:TouchExpander>
<!--JOBS-->
<touch:TouchExpander Margin="0 20 0 0" Header="JOBS" IsExpanded="True" FontSize="{StaticResource TangoExpanderHeaderFontSize}">
- <controls:TableGrid Margin="10" RowHeight="70" MakeFirstColumnVerticalAlignmentBottom="False" TextElement.FontSize="{StaticResource TangoDefaultFontSize}">
- <TextBlock VerticalAlignment="Center">Supported Job Types</TextBlock>
- <ItemsControl ItemsSource="{Binding SelectedJobTypes}">
- <ItemsControl.ItemsPanel>
- <ItemsPanelTemplate>
- <WrapPanel IsItemsHost="True" Orientation="Horizontal" />
- </ItemsPanelTemplate>
- </ItemsControl.ItemsPanel>
- <ItemsControl.ItemTemplate>
- <DataTemplate>
- <touch:TouchToggleButton IsChecked="{Binding IsSelected}" Content="{Binding Data}" CornerRadius="5" CheckedContent="{Binding Data}" Padding="10" Margin="5">
- <touch:TouchToggleButton.Style>
- <Style TargetType="touch:TouchToggleButton">
- <Setter Property="Background" Value="{StaticResource TangoGrayBrush}"></Setter>
- <Style.Triggers>
- <Trigger Property="IsChecked" Value="True">
- <Setter Property="Background" Value="{StaticResource TangoMidAccentBrush}"></Setter>
- </Trigger>
- </Style.Triggers>
- </Style>
- </touch:TouchToggleButton.Style>
- </touch:TouchToggleButton>
- </DataTemplate>
- </ItemsControl.ItemTemplate>
- </ItemsControl>
+ <StackPanel>
+ <controls:TableGrid Margin="10" RowHeight="70" MakeFirstColumnVerticalAlignmentBottom="False" TextElement.FontSize="{StaticResource TangoDefaultFontSize}">
+ <TextBlock VerticalAlignment="Center">Supported Job Types</TextBlock>
+ <ItemsControl ItemsSource="{Binding SelectedJobTypes}">
+ <ItemsControl.ItemsPanel>
+ <ItemsPanelTemplate>
+ <WrapPanel IsItemsHost="True" Orientation="Horizontal" />
+ </ItemsPanelTemplate>
+ </ItemsControl.ItemsPanel>
+ <ItemsControl.ItemTemplate>
+ <DataTemplate>
+ <touch:TouchToggleButton IsChecked="{Binding IsSelected}" Content="{Binding Data}" CornerRadius="5" CheckedContent="{Binding Data}" Padding="10" Margin="5">
+ <touch:TouchToggleButton.Style>
+ <Style TargetType="touch:TouchToggleButton">
+ <Setter Property="Background" Value="{StaticResource TangoGrayBrush}"></Setter>
+ <Style.Triggers>
+ <Trigger Property="IsChecked" Value="True">
+ <Setter Property="Background" Value="{StaticResource TangoMidAccentBrush}"></Setter>
+ </Trigger>
+ </Style.Triggers>
+ </Style>
+ </touch:TouchToggleButton.Style>
+ </touch:TouchToggleButton>
+ </DataTemplate>
+ </ItemsControl.ItemTemplate>
+ </ItemsControl>
- <TextBlock VerticalAlignment="Center">Supported Color Spaces/Catalogs</TextBlock>
- <ItemsControl ItemsSource="{Binding SelectedColorSpaces}">
- <ItemsControl.ItemsPanel>
- <ItemsPanelTemplate>
- <WrapPanel IsItemsHost="True" Orientation="Horizontal" />
- </ItemsPanelTemplate>
- </ItemsControl.ItemsPanel>
- <ItemsControl.ItemTemplate>
- <DataTemplate>
- <touch:TouchToggleButton IsChecked="{Binding IsSelected}" Content="{Binding Data}" CornerRadius="5" CheckedContent="{Binding Data}" Padding="10" Margin="5">
- <touch:TouchToggleButton.Style>
- <Style TargetType="touch:TouchToggleButton">
- <Setter Property="Background" Value="{StaticResource TangoGrayBrush}"></Setter>
- <Style.Triggers>
- <Trigger Property="IsChecked" Value="True">
- <Setter Property="Background" Value="{StaticResource TangoMidAccentBrush}"></Setter>
- </Trigger>
- </Style.Triggers>
- </Style>
- </touch:TouchToggleButton.Style>
- </touch:TouchToggleButton>
- </DataTemplate>
- </ItemsControl.ItemTemplate>
- </ItemsControl>
+ <TextBlock VerticalAlignment="Center">Supported Color Spaces/Catalogs</TextBlock>
+ <ItemsControl ItemsSource="{Binding SelectedColorSpaces}">
+ <ItemsControl.ItemsPanel>
+ <ItemsPanelTemplate>
+ <WrapPanel IsItemsHost="True" Orientation="Horizontal" />
+ </ItemsPanelTemplate>
+ </ItemsControl.ItemsPanel>
+ <ItemsControl.ItemTemplate>
+ <DataTemplate>
+ <touch:TouchToggleButton IsChecked="{Binding IsSelected}" Content="{Binding Data}" CornerRadius="5" CheckedContent="{Binding Data}" Padding="10" Margin="5">
+ <touch:TouchToggleButton.Style>
+ <Style TargetType="touch:TouchToggleButton">
+ <Setter Property="Background" Value="{StaticResource TangoGrayBrush}"></Setter>
+ <Style.Triggers>
+ <Trigger Property="IsChecked" Value="True">
+ <Setter Property="Background" Value="{StaticResource TangoMidAccentBrush}"></Setter>
+ </Trigger>
+ </Style.Triggers>
+ </Style>
+ </touch:TouchToggleButton.Style>
+ </touch:TouchToggleButton>
+ </DataTemplate>
+ </ItemsControl.ItemTemplate>
+ </ItemsControl>
- <TextBlock VerticalAlignment="Bottom">Default Thread Type</TextBlock>
- <touch:TouchComboBox HorizontalAlignment="Right" VerticalAlignment="Bottom" Width="200" ItemsSource="{Binding Adapter.Rmls}" SelectedItem="{Binding Machine.DefaultRml}" DisplayMemberPath="Name" ValuePath="Guid"></touch:TouchComboBox>
+ <TextBlock VerticalAlignment="Bottom">Default Thread Type</TextBlock>
+ <touch:TouchComboBox HorizontalAlignment="Right" VerticalAlignment="Bottom" Width="200" ItemsSource="{Binding Adapter.Rmls}" SelectedItem="{Binding Machine.DefaultRml}" DisplayMemberPath="Name" ValuePath="Guid"></touch:TouchComboBox>
- <!--<TextBlock VerticalAlignment="Bottom">Default Spool</TextBlock>
+ <!--<TextBlock VerticalAlignment="Bottom">Default Spool</TextBlock>
<touch:TouchComboBox HorizontalAlignment="Right" VerticalAlignment="Bottom" Width="200" ItemsSource="{Binding Adapter.SpoolTypes}" SelectedItem="{Binding Machine.DefaultSpoolType}" DisplayMemberPath="Name"></touch:TouchComboBox>-->
- <TextBlock VerticalAlignment="Bottom">Default Segment Length</TextBlock>
- <touch:TouchNumericTextBox HorizontalAlignment="Right" VerticalAlignment="Bottom" Width="200" Minimum="1" Maximum="1000" Value="{Binding Machine.DefaultSegmentLength}" HasDecimalPoint="True" KeyboardContainer="{Binding ElementName=Container}"></touch:TouchNumericTextBox>
+ <TextBlock VerticalAlignment="Bottom">Default Segment Length</TextBlock>
+ <touch:TouchNumericTextBox HorizontalAlignment="Right" VerticalAlignment="Bottom" Width="200" Minimum="1" Maximum="1000" Value="{Binding Machine.DefaultSegmentLength}" HasDecimalPoint="True" KeyboardContainer="{Binding ElementName=Container}"></touch:TouchNumericTextBox>
- </controls:TableGrid>
+ </controls:TableGrid>
+
+ <DockPanel Margin="10 -50 0 0">
+ <touch:TouchIcon VerticalAlignment="Top" Icon="InformationOutline" Foreground="{StaticResource TangoGrayTextBrush}"></touch:TouchIcon>
+ <TextBlock Margin="10 0 0 0" VerticalAlignment="Top" TextWrapping="Wrap" FontSize="{StaticResource TangoSmallFontSize}" Foreground="{StaticResource TangoGrayTextBrush}">
+ Job settings allows you to set the default configuration for new jobs.
+ </TextBlock>
+ </DockPanel>
+ </StackPanel>
</touch:TouchExpander>
<!--REMOTE ASSISTANCE-->
<touch:TouchExpander Margin="0 20 0 0" Header="Remote Assistance" IsExpanded="True" FontSize="{StaticResource TangoExpanderHeaderFontSize}">
- <controls:TableGrid Margin="10" RowHeight="70" MakeFirstColumnVerticalAlignmentBottom="False" TextElement.FontSize="{StaticResource TangoDefaultFontSize}">
- <TextBlock VerticalAlignment="Center">Enable Remote Assistance</TextBlock>
- <touch:TouchToggleSlider Style="{StaticResource TangoToggleButtonGrayAccent}" HorizontalAlignment="Right" Margin="0 0 110 0" Width="90" IsChecked="{Binding EnableRemoteAssistance}"></touch:TouchToggleSlider>
- </controls:TableGrid>
+ <StackPanel>
+ <controls:TableGrid Margin="10" RowHeight="70" MakeFirstColumnVerticalAlignmentBottom="False" TextElement.FontSize="{StaticResource TangoDefaultFontSize}">
+ <TextBlock VerticalAlignment="Center">Enable Remote Assistance</TextBlock>
+ <touch:TouchToggleSlider Style="{StaticResource TangoToggleButtonGrayAccent}" HorizontalAlignment="Right" Margin="0 0 110 0" Width="90" IsChecked="{Binding EnableRemoteAssistance}"></touch:TouchToggleSlider>
+ </controls:TableGrid>
+
+ <DockPanel Margin="10 -50 0 0">
+ <touch:TouchIcon VerticalAlignment="Top" Icon="InformationOutline" Foreground="{StaticResource TangoGrayTextBrush}"></touch:TouchIcon>
+ <TextBlock Margin="10 0 0 0" VerticalAlignment="Top" TextWrapping="Wrap" FontSize="{StaticResource TangoSmallFontSize}" Foreground="{StaticResource TangoGrayTextBrush}">
+ Enable remote assistance for Twine's technicians.
+ </TextBlock>
+ </DockPanel>
+ </StackPanel>
</touch:TouchExpander>
</StackPanel>
</touch:LightTouchScrollViewer>
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineUpdate/MachineUpdateManager.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineUpdate/MachineUpdateManager.cs
index 952944cf9..3fffc2045 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineUpdate/MachineUpdateManager.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineUpdate/MachineUpdateManager.cs
@@ -340,6 +340,8 @@ namespace Tango.PPC.Common.MachineUpdate
{
LogManager.Log("Starting database update...");
+ UpdateProgress("Updating Database", "Initializing...");
+
LogManager.Log("Looking for update scripts configuration on application path...");
String config_file = Path.Combine(PathHelper.GetStartupPath(), "Update Scripts", "config.xml");
@@ -355,6 +357,8 @@ namespace Tango.PPC.Common.MachineUpdate
LogManager.Log($"Updating database '{update_response.DataSource.ToString()}' => '{localDataSource.ToString()}'...");
+ UpdateProgress("Updating Database", "Initializing update sequence...");
+
ExaminerSequenceConfiguration config_sequence = ExaminerSequenceConfiguration.FromFile(config_file);
foreach (var item in config_sequence.Items.Where(x => x.Type == ExaminerSequenceItemType.Data).OrderBy(x => x.Index))
@@ -382,6 +386,8 @@ namespace Tango.PPC.Common.MachineUpdate
try
{
+ UpdateProgress("Updating Database", item.Name + "...");
+
var result = process.Execute().Result;
if (result.ExitCode != ExaminerProcessExitCode.Success)
@@ -397,6 +403,7 @@ namespace Tango.PPC.Common.MachineUpdate
}
}
+ UpdateProgress("Updating Database", "Database synchronization completed successfully.");
LogManager.Log("Update completed successfully.");
});
}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/machine-update.png b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/machine-update.png
index 3e49520dd..d8db51337 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/machine-update.png
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Images/machine-update.png
Binary files differ
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineUpdateViewVM.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineUpdateViewVM.cs
index b5b5f56bc..07da99818 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineUpdateViewVM.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineUpdateViewVM.cs
@@ -33,6 +33,7 @@ namespace Tango.PPC.UI.ViewModels
private MachineUpdateResult _update_result;
private DbCompareResult _db_compare_result;
+ private bool _isChecking;
#region Properties
@@ -132,8 +133,11 @@ namespace Tango.PPC.UI.ViewModels
{
await NavigateTo(MachineUpdateView.UpdateCheckView);
+ if (_isChecking) return;
+
try
{
+ _isChecking = true;
IsDbUpdate = false;
var response = await MachineUpdateManager.CheckForUpdate(MachineProvider.Machine.SerialNumber);
@@ -164,6 +168,10 @@ namespace Tango.PPC.UI.ViewModels
LogManager.Log(ex, "Error while trying to check for updates.");
await NavigateTo(MachineUpdateView.UpdateFailedView);
}
+ finally
+ {
+ _isChecking = false;
+ }
}
private async void Update()
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MachineUpdateView.xaml b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MachineUpdateView.xaml
index 0fb9d9e09..ba7e9e019 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MachineUpdateView.xaml
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MachineUpdateView.xaml
@@ -11,115 +11,127 @@
xmlns:vm="clr-namespace:Tango.PPC.UI.ViewModels"
xmlns:local="clr-namespace:Tango.PPC.UI.Views"
mc:Ignorable="d"
- d:DesignHeight="1280" d:DesignWidth="800" Background="{StaticResource TangoPrimaryBackgroundBrush}" d:DataContext="{d:DesignInstance Type=vm:MachineUpdateViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.MachineUpdateViewVM}">
+ d:DesignHeight="1280" d:DesignWidth="800" Background="{StaticResource TangoPrimaryBackgroundBrush}" d:DataContext="{d:DesignInstance Type=vm:MachineUpdateViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.MachineUpdateViewVM}">
<Grid>
<DockPanel>
- <StackPanel DockPanel.Dock="Top" HorizontalAlignment="Center" Margin="0 10 0 0">
- <Image Source="/Images/machine-update.png" Stretch="None" />
+ <StackPanel DockPanel.Dock="Top" HorizontalAlignment="Center" Margin="0 20 0 0">
+ <Image Source="/Images/machine-update.png" Stretch="Fill" Width="700" />
</StackPanel>
<controls:NavigationControl x:Name="navigationControl" TransitionType="Slide" KeepElementsAttached="True" Margin="0 20 0 0" SelectedIndex="0">
<Grid controls:NavigationControl.NavigationName="UpdateCheckView">
- <StackPanel HorizontalAlignment="Center" Margin="0 200 0 0">
- <touch:TouchBusyIndicator Width="250" Height="250" IsIndeterminate="{Binding IsVisible}" />
- <TextBlock DockPanel.Dock="Top" Margin="0 100" FontSize="{StaticResource TangoHeaderFontSize}" HorizontalAlignment="Center" TextWrapping="Wrap" TextAlignment="Center">
+ <DockPanel>
+ <StackPanel DockPanel.Dock="Bottom">
+ <touch:TouchButton Style="{StaticResource TangoFlatButton}" Margin="0 0 30 0" Padding="20" Width="300" HorizontalContentAlignment="Center" CornerRadius="35" Command="{Binding ToApplicationCommand}">Back To Application</touch:TouchButton>
+ </StackPanel>
+ <StackPanel HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0 50 0 0">
+ <touch:TouchBusyIndicator Width="250" Height="250" IsIndeterminate="{Binding IsVisible}" />
+ <TextBlock DockPanel.Dock="Top" Margin="0 50 0 0" FontSize="{StaticResource TangoHeaderFontSize}" HorizontalAlignment="Center" TextWrapping="Wrap" TextAlignment="Center">
Checking for updates, please wait...
- </TextBlock>
- </StackPanel>
+ </TextBlock>
+ </StackPanel>
+ </DockPanel>
</Grid>
<Grid controls:NavigationControl.NavigationName="UpdateAvailableView">
- <StackPanel HorizontalAlignment="Center" Margin="0 40 0 0">
- <ContentControl>
- <ContentControl.Style>
- <Style TargetType="ContentControl">
- <Setter Property="Content">
- <Setter.Value>
- <TextBlock FontSize="{StaticResource TangoHeaderFontSize}">
+ <DockPanel Margin="0 50 0 0">
+ <StackPanel DockPanel.Dock="Bottom">
+ <touch:TouchButton Padding="20" Width="300" CornerRadius="35" Command="{Binding UpdateCommand}">UPDATE</touch:TouchButton>
+ <touch:TouchButton Style="{StaticResource TangoFlatButton}" Margin="0 80 0 30" Padding="20" Width="300" HorizontalContentAlignment="Center" CornerRadius="35" Command="{Binding ToApplicationCommand}">Back To Application</touch:TouchButton>
+ </StackPanel>
+ <StackPanel HorizontalAlignment="Center">
+ <ContentControl>
+ <ContentControl.Style>
+ <Style TargetType="ContentControl">
+ <Setter Property="Content">
+ <Setter.Value>
+ <TextBlock FontSize="{StaticResource TangoHeaderFontSize}">
<Run>Version</Run>
<Run Foreground="{StaticResource TangoPrimaryAccentBrush}" Text="{Binding LatestVersion}"></Run>
<Run>is available</Run>
- </TextBlock>
- </Setter.Value>
- </Setter>
- <Style.Triggers>
- <DataTrigger Binding="{Binding IsDbUpdate}" Value="True">
- <Setter Property="Content">
- <Setter.Value>
- <TextBlock FontSize="{StaticResource TangoHeaderFontSize}">
+ </TextBlock>
+ </Setter.Value>
+ </Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding IsDbUpdate}" Value="True">
+ <Setter Property="Content">
+ <Setter.Value>
+ <TextBlock FontSize="{StaticResource TangoHeaderFontSize}">
Database update is available
- </TextBlock>
- </Setter.Value>
- </Setter>
- </DataTrigger>
- </Style.Triggers>
- </Style>
- </ContentControl.Style>
- </ContentControl>
+ </TextBlock>
+ </Setter.Value>
+ </Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </ContentControl.Style>
+ </ContentControl>
- <TextBlock FontSize="{StaticResource TangoTitleFontSize}" Margin="0 40 0 0">
+ <TextBlock FontSize="{StaticResource TangoTitleFontSize}" Margin="0 40 0 0">
Updating your machine can improve the following:
- </TextBlock>
+ </TextBlock>
- <StackPanel Margin="0 40 0 0">
- <StackPanel Orientation="Horizontal" TextElement.FontSize="{StaticResource TangoTitleFontSize}">
- <touch:TouchIcon Width="24" Height="24" Icon="Check" Foreground="{StaticResource TangoPrimaryAccentBrush}" />
- <TextBlock Margin="10 0 0 0" VerticalAlignment="Center">Support for new media</TextBlock>
- </StackPanel>
+ <StackPanel Margin="0 40 0 0">
+ <StackPanel Orientation="Horizontal" TextElement.FontSize="{StaticResource TangoTitleFontSize}">
+ <touch:TouchIcon Width="24" Height="24" Icon="Check" Foreground="{StaticResource TangoPrimaryAccentBrush}" />
+ <TextBlock Margin="10 0 0 0" VerticalAlignment="Center">Support for new media</TextBlock>
+ </StackPanel>
- <StackPanel Orientation="Horizontal" Margin="0 10 0 0" TextElement.FontSize="{StaticResource TangoTitleFontSize}">
- <touch:TouchIcon Width="24" Height="24" Icon="Check" Foreground="{StaticResource TangoPrimaryAccentBrush}" />
- <TextBlock Margin="10 0 0 0" VerticalAlignment="Center">Refined color conversion and calibration algorithms</TextBlock>
- </StackPanel>
+ <StackPanel Orientation="Horizontal" Margin="0 10 0 0" TextElement.FontSize="{StaticResource TangoTitleFontSize}">
+ <touch:TouchIcon Width="24" Height="24" Icon="Check" Foreground="{StaticResource TangoPrimaryAccentBrush}" />
+ <TextBlock Margin="10 0 0 0" VerticalAlignment="Center">Refined color conversion and calibration algorithms</TextBlock>
+ </StackPanel>
- <StackPanel Orientation="Horizontal" Margin="0 10 0 0" TextElement.FontSize="{StaticResource TangoTitleFontSize}">
- <touch:TouchIcon Width="24" Height="24" Icon="Check" Foreground="{StaticResource TangoPrimaryAccentBrush}" />
- <TextBlock Margin="10 0 0 0" VerticalAlignment="Center">Software fixes and improvements</TextBlock>
- </StackPanel>
+ <StackPanel Orientation="Horizontal" Margin="0 10 0 0" TextElement.FontSize="{StaticResource TangoTitleFontSize}">
+ <touch:TouchIcon Width="24" Height="24" Icon="Check" Foreground="{StaticResource TangoPrimaryAccentBrush}" />
+ <TextBlock Margin="10 0 0 0" VerticalAlignment="Center">Software fixes and improvements</TextBlock>
+ </StackPanel>
- <StackPanel Orientation="Horizontal" Margin="0 10 0 0" TextElement.FontSize="{StaticResource TangoTitleFontSize}">
- <touch:TouchIcon Width="24" Height="24" Icon="Check" Foreground="{StaticResource TangoPrimaryAccentBrush}" />
- <TextBlock Margin="10 0 0 0" VerticalAlignment="Center">Firmware upgrade</TextBlock>
+ <StackPanel Orientation="Horizontal" Margin="0 10 0 0" TextElement.FontSize="{StaticResource TangoTitleFontSize}">
+ <touch:TouchIcon Width="24" Height="24" Icon="Check" Foreground="{StaticResource TangoPrimaryAccentBrush}" />
+ <TextBlock Margin="10 0 0 0" VerticalAlignment="Center">Firmware upgrade</TextBlock>
+ </StackPanel>
</StackPanel>
- </StackPanel>
- <TextBlock Margin="0 60 0 0" FontSize="{StaticResource TangoTitleFontSize}">
+ <TextBlock Margin="0 60 0 0" FontSize="{StaticResource TangoTitleFontSize}">
Tap 'UPDATE' to start updating now.
- </TextBlock>
-
- <touch:TouchButton Margin="0 200 0 0" Padding="20" Width="300" CornerRadius="35" Command="{Binding UpdateCommand}">UPDATE</touch:TouchButton>
-
- <touch:TouchButton Style="{StaticResource TangoFlatButton}" Margin="0 80 0 0" Padding="20" Width="300" HorizontalContentAlignment="Center" CornerRadius="35" Command="{Binding ToApplicationCommand}">Back To Application</touch:TouchButton>
- </StackPanel>
+ </TextBlock>
+ </StackPanel>
+ </DockPanel>
</Grid>
<Grid controls:NavigationControl.NavigationName="UpToDateView">
- <StackPanel HorizontalAlignment="Center" Margin="0 50 0 0">
- <touch:TouchIcon Icon="Check" Foreground="{StaticResource TangoPrimaryAccentBrush}" Width="70" Height="70" />
- <TextBlock VerticalAlignment="Center" Margin="0 10 0 0" Foreground="{StaticResource TangoPrimaryAccentBrush}" FontSize="{StaticResource TangoHeaderFontSize}">Your machine is up to date!</TextBlock>
-
- <touch:TouchButton Margin="0 200 0 0" Padding="20" Width="300" CornerRadius="35" Command="{Binding CloseCommand}">CLOSE</touch:TouchButton>
- </StackPanel>
+ <DockPanel>
+ <StackPanel DockPanel.Dock="Bottom">
+ <touch:TouchButton Padding="20" Margin="0 0 0 140" Width="300" CornerRadius="35" Command="{Binding CloseCommand}">CLOSE</touch:TouchButton>
+ </StackPanel>
+ <StackPanel HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0 50 0 0">
+ <touch:TouchIcon Icon="Check" Foreground="{StaticResource TangoPrimaryAccentBrush}" Width="70" Height="70" />
+ <TextBlock VerticalAlignment="Center" Margin="0 10 0 0" Foreground="{StaticResource TangoPrimaryAccentBrush}" FontSize="{StaticResource TangoHeaderFontSize}">Your machine is up to date!</TextBlock>
+ </StackPanel>
+ </DockPanel>
</Grid>
<Grid controls:NavigationControl.NavigationName="UpdateCheckErrorView">
- <StackPanel HorizontalAlignment="Center" Margin="0 50 0 0">
- <touch:TouchIcon Icon="AlertOctagon" Foreground="{StaticResource TangoErrorBrush}" Width="70" Height="70" />
- <TextBlock VerticalAlignment="Center" Width="600" TextWrapping="Wrap" TextAlignment="Center" Margin="0 10 0 0" Foreground="{StaticResource TangoErrorBrush}" FontSize="{StaticResource TangoTitleFontSize}">An error occurred while trying to check for updates. Please check your internet connection and try again.</TextBlock>
-
- <touch:TouchButton Margin="0 200 0 0" Padding="20" Width="300" CornerRadius="35" Command="{Binding RestartCommand}">TRY AGAIN</touch:TouchButton>
-
- <touch:TouchButton Style="{StaticResource TangoFlatButton}" Margin="0 200 0 0" Padding="20" Width="300" HorizontalContentAlignment="Center" CornerRadius="35" Command="{Binding ToApplicationCommand}">Back To Application</touch:TouchButton>
- </StackPanel>
+ <DockPanel>
+ <StackPanel DockPanel.Dock="Bottom">
+ <touch:TouchButton Padding="20" Width="300" CornerRadius="35" Command="{Binding RestartCommand}">TRY AGAIN</touch:TouchButton>
+ <touch:TouchButton Style="{StaticResource TangoFlatButton}" Margin="0 80 0 30" Padding="20" Width="300" HorizontalContentAlignment="Center" CornerRadius="35" Command="{Binding ToApplicationCommand}">Back To Application</touch:TouchButton>
+ </StackPanel>
+ <StackPanel HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0 50 0 0">
+ <touch:TouchIcon Icon="AlertOctagon" Foreground="{StaticResource TangoErrorBrush}" Width="70" Height="70" />
+ <TextBlock VerticalAlignment="Center" Width="600" TextWrapping="Wrap" TextAlignment="Center" Margin="0 10 0 0" Foreground="{StaticResource TangoErrorBrush}" FontSize="{StaticResource TangoTitleFontSize}">An error occurred while trying to check for updates. Please check your internet connection and try again.</TextBlock>
+ </StackPanel>
+ </DockPanel>
</Grid>
<Grid controls:NavigationControl.NavigationName="UpdateProgressView">
<StackPanel>
- <TextBlock HorizontalAlignment="Center" Margin="0 40 0 0" FontSize="{StaticResource TangoHeaderFontSize}">Updating your machine</TextBlock>
+ <TextBlock HorizontalAlignment="Center" Margin="0 80 0 0" FontSize="{StaticResource TangoHeaderFontSize}">Updating your machine</TextBlock>
<TextBlock Margin="0 10 0 0" TextAlignment="Center" FontSize="{StaticResource TangoTitleFontSize}" Foreground="{StaticResource TangoGrayBrush}">Do not turn off the machine</TextBlock>
-
+
<StackPanel Margin="0 200 0 0">
<TextBlock Text="{Binding MachineUpdateManager.Status.Name,FallbackValue='Download Software Package'}" HorizontalAlignment="Center" FontSize="{StaticResource TangoTitleFontSize}"></TextBlock>
<TextBlock HorizontalAlignment="Center" Text="{Binding MachineUpdateManager.Status.Message,FallbackValue='Connecting to machine service...'}" Margin="0 40 0 0"></TextBlock>
@@ -129,37 +141,46 @@
</Grid>
<Grid controls:NavigationControl.NavigationName="UpdateDbProgressView">
- <StackPanel HorizontalAlignment="Center" Margin="0 200 0 0">
- <touch:TouchBusyIndicator Width="250" Height="250" IsIndeterminate="{Binding IsVisible}" />
- <TextBlock DockPanel.Dock="Top" Margin="0 100" FontSize="{StaticResource TangoHeaderFontSize}" HorizontalAlignment="Center" TextWrapping="Wrap" TextAlignment="Center">
- Updating database...
- </TextBlock>
+ <StackPanel>
+ <TextBlock HorizontalAlignment="Center" Margin="0 80 0 0" FontSize="{StaticResource TangoHeaderFontSize}">Updating your machine</TextBlock>
+ <TextBlock Margin="0 10 0 0" TextAlignment="Center" FontSize="{StaticResource TangoTitleFontSize}" Foreground="{StaticResource TangoGrayBrush}">Do not turn off the machine</TextBlock>
+
+ <StackPanel Margin="0 200 0 0">
+ <TextBlock Text="{Binding MachineUpdateManager.Status.Name,FallbackValue='Synchronizing database'}" HorizontalAlignment="Center" FontSize="{StaticResource TangoTitleFontSize}"></TextBlock>
+ <TextBlock HorizontalAlignment="Center" Text="{Binding MachineUpdateManager.Status.Message,FallbackValue='Retrieving data...'}" Margin="0 40 0 0"></TextBlock>
+ <touch:TouchProgressBar Margin="50 10" Height="10" IsIndeterminate="{Binding MachineUpdateManager.Status.IsIntermediate}" Maximum="{Binding MachineUpdateManager.Status.Total}" Value="{Binding MachineUpdateManager.Status.Progress,Mode=OneWay}" />
+ </StackPanel>
</StackPanel>
</Grid>
<Grid controls:NavigationControl.NavigationName="UpdateCompletedView">
- <StackPanel HorizontalAlignment="Center" Margin="0 50 0 0">
- <touch:TouchIcon Icon="Check" Foreground="{StaticResource TangoPrimaryAccentBrush}" Width="70" Height="70" />
- <TextBlock VerticalAlignment="Center" Margin="0 10 0 0" Foreground="{StaticResource TangoPrimaryAccentBrush}" FontSize="{StaticResource TangoHeaderFontSize}">Update completed successfully !</TextBlock>
-
- <touch:TouchButton Margin="0 200 0 0" Padding="20" Width="300" CornerRadius="35" Command="{Binding CompleteCommand}">RESTART</touch:TouchButton>
- </StackPanel>
+ <DockPanel>
+ <StackPanel DockPanel.Dock="Bottom">
+ <touch:TouchButton Margin="0 0 0 130" Padding="20" Width="300" CornerRadius="35" Command="{Binding CompleteCommand}">RESTART</touch:TouchButton>
+ </StackPanel>
+ <StackPanel HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0 50 0 0">
+ <touch:TouchIcon Icon="Check" Foreground="{StaticResource TangoPrimaryAccentBrush}" Width="70" Height="70" />
+ <TextBlock VerticalAlignment="Center" Margin="0 10 0 0" Foreground="{StaticResource TangoPrimaryAccentBrush}" FontSize="{StaticResource TangoHeaderFontSize}">Your machine is up to date!</TextBlock>
+ </StackPanel>
+ </DockPanel>
</Grid>
<Grid controls:NavigationControl.NavigationName="UpdateFailedView">
- <StackPanel HorizontalAlignment="Center" Margin="0 50 0 0">
- <touch:TouchIcon Icon="AlertOutline" Foreground="{StaticResource TangoErrorBrush}" Width="70" Height="70" />
- <TextBlock HorizontalAlignment="Center" Margin="0 10 0 0" FontSize="{StaticResource TangoTitleFontSize}">Update Failed</TextBlock>
- <TextBlock HorizontalAlignment="Center" Margin="0 5 0 0" Foreground="{StaticResource TangoErrorBrush}" Text="{Binding FailedError,FallbackValue='Unexpected error'}"></TextBlock>
-
- <touch:TouchButton Margin="0 180 0 0" Padding="20" Width="300" CornerRadius="35" Command="{Binding RestartCommand}">TRY AGAIN</touch:TouchButton>
-
- <touch:TouchButton Style="{StaticResource TangoFlatButton}" Margin="0 200 0 0" Padding="20" Width="300" HorizontalContentAlignment="Center" CornerRadius="35" Command="{Binding ToApplicationCommand}">Back To Application</touch:TouchButton>
- </StackPanel>
+ <DockPanel>
+ <StackPanel DockPanel.Dock="Bottom">
+ <touch:TouchButton Padding="20" Width="300" CornerRadius="35" Command="{Binding RestartCommand}">TRY AGAIN</touch:TouchButton>
+ <touch:TouchButton Style="{StaticResource TangoFlatButton}" Margin="0 100 0 30" Padding="20" Width="300" HorizontalContentAlignment="Center" CornerRadius="35" Command="{Binding ToApplicationCommand}">Back To Application</touch:TouchButton>
+ </StackPanel>
+ <StackPanel HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0 50 0 0">
+ <touch:TouchIcon Icon="AlertOutline" Foreground="{StaticResource TangoErrorBrush}" Width="70" Height="70" />
+ <TextBlock HorizontalAlignment="Center" Margin="0 10 0 0" FontSize="{StaticResource TangoTitleFontSize}">Update Failed</TextBlock>
+ <TextBlock HorizontalAlignment="Center" Margin="0 5 0 0" Foreground="{StaticResource TangoErrorBrush}" Text="{Binding FailedError,FallbackValue='Unexpected error'}"></TextBlock>
+ </StackPanel>
+ </DockPanel>
</Grid>
<Grid controls:NavigationControl.NavigationName="UpdateFromPackageView">
- <StackPanel HorizontalAlignment="Center" Margin="0 200 0 0">
+ <StackPanel HorizontalAlignment="Center" Margin="0 200 0 0" VerticalAlignment="Top">
<touch:TouchBusyIndicator Width="250" Height="250" IsIndeterminate="{Binding IsVisible}" />
<TextBlock DockPanel.Dock="Top" Margin="0 100" FontSize="{StaticResource TangoHeaderFontSize}" HorizontalAlignment="Center" TextWrapping="Wrap" TextAlignment="Center">
Updating your software
@@ -168,12 +189,15 @@
</Grid>
<Grid controls:NavigationControl.NavigationName="UpdateFailedFromPackageView">
- <StackPanel HorizontalAlignment="Center" Margin="0 50 0 0">
- <touch:TouchIcon Icon="AlertOctagon" Foreground="{StaticResource TangoErrorBrush}" Width="70" Height="70" />
- <TextBlock VerticalAlignment="Center" Margin="0 10 0 0" Foreground="{StaticResource TangoErrorBrush}" FontSize="{StaticResource TangoTitleFontSize}">An error occurred while trying to update the machine.</TextBlock>
-
- <touch:TouchButton Style="{StaticResource TangoFlatButton}" Margin="0 200 0 0" Padding="20" Width="300" HorizontalContentAlignment="Center" CornerRadius="35" Command="{Binding ToApplicationCommand}">Back To Application</touch:TouchButton>
- </StackPanel>
+ <DockPanel>
+ <StackPanel DockPanel.Dock="Bottom">
+ <touch:TouchButton Padding="20" Width="300" Margin="0 0 0 130" CornerRadius="35" Command="{Binding CloseCommand}">CLOSE</touch:TouchButton>
+ </StackPanel>
+ <StackPanel HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0 50 0 0">
+ <touch:TouchIcon Icon="AlertOctagon" Foreground="{StaticResource TangoErrorBrush}" Width="70" Height="70" />
+ <TextBlock VerticalAlignment="Center" Margin="0 10 0 0" Foreground="{StaticResource TangoErrorBrush}" FontSize="{StaticResource TangoTitleFontSize}">An error occurred while trying to update the machine.</TextBlock>
+ </StackPanel>
+ </DockPanel>
</Grid>
</controls:NavigationControl>
</DockPanel>