aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Publisher.UI/MainWindow.xaml
blob: cd23547c2087696b51ca0ccc5ce7b20015ad09c5 (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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
<Window x:Class="Tango.MachineStudio.Publisher.UI.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:Tango.MachineStudio.Publisher.UI"
        xmlns:converters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
        xmlns:web="clr-namespace:Tango.Web;assembly=Tango.Web"
        mc:Ignorable="d"
        Title="Machine Studio Publisher" Height="620" Width="700" WindowStartupLocation="CenterScreen" WindowStyle="ToolWindow" ResizeMode="NoResize" Foreground="#202020" d:DataContext="{d:DesignInstance Type=local:MainWindowVM, IsDesignTimeCreatable=False}">

    <Window.Resources>
        <converters:EnumToItemsSourceConverter x:Key="EnumToItemsSourceConverter" />
    </Window.Resources>

    <Window.Style>
        <Style TargetType="Window">
            <Setter Property="Cursor" Value="Arrow"></Setter>
            <Style.Triggers>
                <DataTrigger Binding="{Binding IsBusy}" Value="True">
                    <Setter Property="Cursor" Value="Wait"></Setter>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Window.Style>

    <Border BorderThickness="1" BorderBrush="#0288D1">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="60"/>
                <RowDefinition Height="156*"/>
            </Grid.RowDefinitions>

            <Grid Background="#0288D1">
                <Grid.Effect>
                    <DropShadowEffect BlurRadius="10" ShadowDepth="5" Direction="270" Opacity="0.5" />
                </Grid.Effect>

                <StackPanel Orientation="Horizontal" Margin="8" HorizontalAlignment="Center">
                    <Image Source="/Images/machine-trans.png" RenderOptions.BitmapScalingMode="Fant"></Image>
                    <TextBlock Foreground="White" VerticalAlignment="Center" Margin="10 0 0 0" FontSize="23">MACHINE STUDIO</TextBlock>
                </StackPanel>
            </Grid>

            <Grid Grid.Row="1" Margin="10" IsEnabled="{Binding IsFree}">
                <DockPanel>
                    <StackPanel DockPanel.Dock="Top" HorizontalAlignment="Left" Margin="0 20 0 0" x:Name="stackDetails">
                        <TextBlock FontSize="16">
                            <Run>Remote Version:</Run>
                            <Run Text="{Binding RemoteVersion}" FontStyle="Italic" FontWeight="SemiBold"></Run>
                        </TextBlock>
                        <TextBlock Margin="0 10 0 0" FontSize="16" >
                            <Run>Local Version:</Run>
                            <Run Text="{Binding LocalVersion}" FontStyle="Italic" FontWeight="SemiBold"></Run>
                        </TextBlock>

                        <ComboBox Width="200" Margin="0 10 0 0" HorizontalAlignment="Left" ItemsSource="{Binding Source={x:Type web:DeploymentSlot},Converter={StaticResource EnumToItemsSourceConverter}}" SelectedValue="{Binding Options.Environment}" SelectedValuePath="Value" DisplayMemberPath="DisplayName"></ComboBox>


                        <StackPanel Margin="0 20 0 0" Orientation="Horizontal">
                            <TextBlock FontSize="16">Email:</TextBlock>
                            <TextBox Margin="5 0 0 0" Width="230" BorderThickness="0 0 0 1" Text="{Binding Options.Email,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"></TextBox>
                        </StackPanel>

                        <StackPanel Margin="0 10 0 0" Orientation="Horizontal">
                            <TextBlock FontSize="16">Password:</TextBlock>
                            <TextBox Margin="5 0 0 0" Width="200" BorderThickness="0 0 0 1" Text="{Binding Options.Password,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"></TextBox>
                        </StackPanel>

                        <StackPanel Margin="0 10 0 0" Orientation="Horizontal">
                            <TextBlock FontSize="16">Installer Project:</TextBlock>
                            <TextBox Margin="5 0 0 0" Width="500" BorderThickness="0 0 0 1" Text="{Binding Options.InstallerProject,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"></TextBox>
                        </StackPanel>

                        <StackPanel Margin="0 10 0 0" Orientation="Horizontal">
                            <TextBlock FontSize="16">Installer Output Folder:</TextBlock>
                            <TextBox Margin="5 0 0 0" Width="500" BorderThickness="0 0 0 1" Text="{Binding Options.InstallerOutputFolder,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"></TextBox>
                        </StackPanel>

                        <TextBlock FontSize="16" Margin="0 20 0 0">Comments</TextBlock>
                        <TextBox HorizontalAlignment="Left" Height="70" Margin="0 5 0 0" Width="500" AcceptsReturn="True" TextWrapping="Wrap" Text="{Binding Options.Comments,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"></TextBox>

                        <StackPanel Margin="0 20 0 0">
                            <CheckBox x:Name="chkCreateTag" IsChecked="{Binding Options.CreateTag}">Create Tag On Repository</CheckBox>
                            <CheckBox Margin="0 5 0 0" IsChecked="{Binding Options.AutoCommitAndPush}">Auto Commit &amp; Push</CheckBox>
                            <TextBlock Margin="0 10 0 0">Personal Access Token</TextBlock>
                            <TextBox BorderThickness="0 0 0 1" IsEnabled="{Binding ElementName=chkCreateTag,Path=IsChecked}" Margin="0 5 0 0" Text="{Binding Options.PersonalAccessToken}"></TextBox>
                        </StackPanel>
                    </StackPanel>

                    <Grid DockPanel.Dock="Bottom">
                        <DockPanel>
                            <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" DockPanel.Dock="Right">
                                <Button Background="#0288D1" BorderThickness="0" Height="30" MinWidth="140" Foreground="White" FontWeight="SemiBold" Command="{Binding PublishCommand}">PUBLISH</Button>
                            </StackPanel>

                            <StackPanel HorizontalAlignment="Left">
                                <TextBlock Text="{Binding PublishArgs.Message}" Foreground="Gray"></TextBlock>
                                <ProgressBar Width="500" Height="10" Margin="0 5 0 0" Maximum="{Binding PublishArgs.Total}" Value="{Binding PublishArgs.Progress}" Foreground="#0288D1"></ProgressBar>
                            </StackPanel>
                        </DockPanel>
                    </Grid>

                    <Grid>

                    </Grid>

                </DockPanel>
            </Grid>
        </Grid>
    </Border>
</Window>