aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Utilities/Tango.ShortcutGenerator.CLI/Program.cs
blob: 9d1a4666b35a71e97f63ba664b5e64db10415e1f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
using IWshRuntimeLibrary;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Tango.ShortcutGenerator.CLI
{
    class Program
    {
        static void Main(string[] args)
        {
            var options = new Options();

            if (CommandLine.Parser.Default.ParseArguments(args, options))
            {
                Directory.CreateDirectory(Path.GetDirectoryName(options.TargetPath));

                WshShell wsh = new WshShell();
                IWshShortcut shortcut = wsh.CreateShortcut(Path.GetFullPath(options.TargetPath)) as IWshShortcut;
                shortcut.Arguments = "";
                shortcut.TargetPath = Path.GetFullPath(options.SourcePath);
                shortcut.Description = FileVersionInfo.GetVersionInfo(shortcut.TargetPath).FileDescription;
                shortcut.WorkingDirectory = Path.GetDirectoryName(shortcut.TargetPath);
                //shortcut.IconLocation = "specify icon location";
                shortcut.Save();
                Console.WriteLine("Shortcut create: " + shortcut.TargetPath);
            }
        }
    }
}
quot; xmlns:touch="clr-namespace:Tango.Touch.Controls;assembly=Tango.Touch" 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}"> <Grid> <DockPanel> <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"> <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> </DockPanel> </Grid> <Grid controls:NavigationControl.NavigationName="UpdateAvailableView"> <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}"> Database update is available </TextBlock> </Setter.Value> </Setter> </DataTrigger> </Style.Triggers> </Style> </ContentControl.Style> </ContentControl> <TextBlock FontSize="{StaticResource TangoTitleFontSize}" Margin="0 40 0 0"> Updating your machine can improve the following: </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 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">Firmware upgrade</TextBlock> </StackPanel> </StackPanel> <TextBlock Margin="0 60 0 0" FontSize="{StaticResource TangoTitleFontSize}"> Tap 'UPDATE' to start updating now. </TextBlock> </StackPanel> </DockPanel> </Grid> <Grid controls:NavigationControl.NavigationName="UpToDateView"> <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"> <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 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> <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="UpdateDbProgressView"> <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"> <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"> <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}" TextAlignment="Center" Text="{Binding FailedError,FallbackValue='Unexpected error'}"></TextBlock> </StackPanel> </DockPanel> </Grid> <Grid controls:NavigationControl.NavigationName="UpdateFromPackageView"> <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 </TextBlock> </StackPanel> </Grid> <Grid controls:NavigationControl.NavigationName="UpdateFailedFromPackageView"> <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="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}" TextAlignment="Center" Text="{Binding FailedError,FallbackValue='Unexpected error'}"></TextBlock> </StackPanel> </DockPanel> </Grid> </controls:NavigationControl> </DockPanel> </Grid> </UserControl>