Skip to content

Commit d9ef4dc

Browse files
committed
new project: check if manually typed folder exists (then dont allow creation), fix mouseover for new buttons, add "ThemeButtonBackgroundDisabled" color resource,
1 parent 109be68 commit d9ef4dc

File tree

4 files changed

+48
-10
lines changed

4 files changed

+48
-10
lines changed

UnityLauncherPro/MainWindow.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,7 @@
268268
<ControlTemplate.Triggers>
269269
<Trigger Property="IsEnabled" Value="False">
270270
<Setter Property="Foreground" Value="{DynamicResource ThemeButtonForegroundDisabled}" />
271+
<Setter Property="Background" Value="{DynamicResource ThemeButtonBackgroundDisabled}" />
271272
</Trigger>
272273
<Trigger Property="IsMouseOver" Value="true">
273274
<Setter TargetName="shortcutbutton" Property="Background" Value="{DynamicResource ThemeButtonBackgroundMouseOver}" />

UnityLauncherPro/NewProject.xaml

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,28 @@
1717
<Border x:Name="shortcutbutton" BorderThickness="0" BorderBrush="Black" Background="{TemplateBinding Background}">
1818
<ContentPresenter Margin="0" HorizontalAlignment="Center" VerticalAlignment="Center" RecognizesAccessKey="True"/>
1919
</Border>
20+
2021
<ControlTemplate.Triggers>
22+
<Trigger Property="IsEnabled" Value="True">
23+
<Setter Property="Background" Value="{DynamicResource ThemeButtonBackground}" />
24+
<Setter Property="Foreground" Value="{DynamicResource ThemeButtonForeground}" />
25+
</Trigger>
26+
<Trigger Property="IsEnabled" Value="False">
27+
<Setter Property="Background" Value="{DynamicResource ThemeButtonBackgroundDisabled}" />
28+
<Setter Property="Foreground" Value="{DynamicResource ThemeButtonForegroundDisabled}" />
29+
</Trigger>
2130
<Trigger Property="IsMouseOver" Value="true">
22-
<Setter TargetName="shortcutbutton" Property="Background" Value="#FF494949" />
31+
<Setter Property="Background" Value="{DynamicResource ThemeButtonBackgroundMouseOver}" />
32+
<Setter Property="Foreground" Value="{DynamicResource ThemeBrightText}"/>
2333
</Trigger>
34+
<!--TODO fix highlight on mousedown-->
2435
<Trigger Property="IsPressed" Value="true">
25-
<Setter TargetName="shortcutbutton" Property="Background" Value="#FF0F0F0F" />
36+
<Setter Property="Background" Value="{DynamicResource ThemeButtonBackgroundPressed}" />
37+
<Setter Property="Foreground" Value="{DynamicResource ThemeBrightText}"/>
2638
</Trigger>
2739
<Trigger Property="IsFocused" Value="true">
28-
<Setter TargetName="shortcutbutton" Property="BorderBrush" Value="{DynamicResource ThemeSystemHighlight}" />
29-
<Setter TargetName="shortcutbutton" Property="BorderThickness" Value="1" />
40+
<Setter Property="BorderBrush" Value="{DynamicResource ThemeSystemHighlight}" />
41+
<Setter Property="BorderThickness" TargetName="shortcutbutton" Value="1" />
3042
</Trigger>
3143
</ControlTemplate.Triggers>
3244
</ControlTemplate>
@@ -210,11 +222,11 @@
210222
<ColumnDefinition Width="*"/>
211223
<ColumnDefinition Width="*"/>
212224
</Grid.ColumnDefinitions>
213-
<Button Grid.Column="0" Style="{StaticResource CustomButton}" x:Name="btnCancelNewProject" Background="{DynamicResource ThemeButtonBackground}" Foreground="#FFC1C1C1" Margin="0,0,3,3" BorderBrush="{x:Null}" VerticalAlignment="Top" Height="35" Click="BtnCancelNewProject_Click" TabIndex="4" >
214-
<Label Foreground="{DynamicResource ThemeButtonForeground}" Content="Cancel"/>
225+
<Button Grid.Column="0" Style="{StaticResource CustomButton}" x:Name="btnCancelNewProject" Margin="0,0,3,3" BorderBrush="{x:Null}" VerticalAlignment="Top" Height="35" Click="BtnCancelNewProject_Click" TabIndex="4" >
226+
<Label Content="Cancel" Foreground="{Binding RelativeSource={RelativeSource AncestorType=Button}, Path=Foreground}"/>
215227
</Button>
216-
<Button Grid.Column="1" Style="{StaticResource CustomButton}" x:Name="btnCreateNewProject" Background="{DynamicResource ThemeButtonBackground}" Foreground="#FFC1C1C1" Margin="3,0,0,3" BorderBrush="{x:Null}" VerticalAlignment="Top" Height="35" Click="BtnCreateNewProject_Click" TabIndex="3">
217-
<Label Foreground="{DynamicResource ThemeButtonForeground}" Content="_Create"/>
228+
<Button Grid.Column="1" Style="{StaticResource CustomButton}" x:Name="btnCreateNewProject" Margin="3,0,0,3" BorderBrush="{x:Null}" VerticalAlignment="Top" Height="35" Click="BtnCreateNewProject_Click" TabIndex="3">
229+
<Label Content="_Create" Foreground="{Binding RelativeSource={RelativeSource AncestorType=Button}, Path=Foreground}"/>
218230
</Button>
219231
</Grid>
220232
</StackPanel>

UnityLauncherPro/NewProject.xaml.cs

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System.Collections.Generic;
2+
using System.IO;
23
using System.Windows;
34
using System.Windows.Controls;
45
using System.Windows.Input;
@@ -19,11 +20,15 @@ public partial class NewProject : Window
1920
int previousSelectedTemplateIndex = -1;
2021
int previousSelectedModuleIndex = -1;
2122

23+
static string targetFolder = null;
24+
2225
public NewProject(string unityVersion, string suggestedName, string targetFolder, bool nameIsLocked = false)
2326
{
2427
isInitializing = true;
2528
InitializeComponent();
2629

30+
NewProject.targetFolder = targetFolder;
31+
2732
// get version
2833
newVersion = unityVersion;
2934
newName = suggestedName;
@@ -183,8 +188,27 @@ void UpdateSelectedVersion()
183188
}
184189
}
185190

186-
private void TxtNewProjectName_TextChanged(object sender, System.Windows.Controls.TextChangedEventArgs e)
191+
private void TxtNewProjectName_TextChanged(object sender, TextChangedEventArgs e)
187192
{
193+
if (isInitializing == true) return;
194+
195+
// validate new projectname that it doesnt exists already
196+
var targetPath = Path.Combine(targetFolder, txtNewProjectName.Text);
197+
System.Console.WriteLine(targetPath);
198+
if (Directory.Exists(targetPath) == true)
199+
{
200+
System.Console.WriteLine("Project name already exists");
201+
txtNewProjectName.BorderBrush = Brushes.Red; // not visible if focused
202+
btnCreateNewProject.IsEnabled = false;
203+
}
204+
else
205+
{
206+
txtNewProjectName.BorderBrush = null;
207+
btnCreateNewProject.IsEnabled = true;
208+
}
209+
210+
System.Console.WriteLine("newProjectName: " + txtNewProjectName.Text);
211+
188212
newProjectName = txtNewProjectName.Text;
189213
}
190214

UnityLauncherPro/Resources/Colors.xaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@
3232
<SolidColorBrush x:Key="ThemeScrollBarEnabledForeground" Color="#FF000000"/>
3333

3434
<!--buttons-->
35-
<SolidColorBrush x:Key="ThemeButtonForegroundDisabled" Color="#FF707070"/>
35+
<SolidColorBrush x:Key="ThemeButtonForegroundDisabled" Color="#FF505050"/>
36+
<SolidColorBrush x:Key="ThemeButtonBackgroundDisabled" Color="#44707070"/>
3637
<SolidColorBrush x:Key="ThemeButtonBackgroundMouseOver" Color="#FF494949"/>
3738
<SolidColorBrush x:Key="ThemeButtonBackgroundPressed" Color="#FF0F0F0F"/>
3839
<SolidColorBrush x:Key="ThemeButtonBackground" Color="#FF3F3F46"/>

0 commit comments

Comments
 (0)