Skip to content

Commit 4eb001c

Browse files
committed
theme editor: some cleanup
1 parent d152e9c commit 4eb001c

File tree

1 file changed

+41
-62
lines changed

1 file changed

+41
-62
lines changed

UnityLauncherPro/ThemeEditor.xaml.cs

Lines changed: 41 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -31,28 +31,6 @@ public ThemeEditor()
3131
InitializeComponent();
3232
}
3333

34-
void UpdateColorPreview()
35-
{
36-
var newColor = new Color();
37-
newColor.R = (byte)sliderRed.Value;
38-
newColor.G = (byte)sliderGreen.Value;
39-
newColor.B = (byte)sliderBlue.Value;
40-
newColor.A = (byte)sliderAlpha.Value;
41-
var newColorBrush = new SolidColorBrush(newColor);
42-
rectSelectedColor.Fill = newColorBrush;
43-
44-
// set new color into our collection values
45-
themeColors[themeColors.IndexOf((ThemeColor)gridThemeColors.SelectedItem)].Brush = newColorBrush;
46-
47-
// NOTE slow but works..
48-
gridThemeColors.Items.Refresh();
49-
50-
// apply color changes to mainwindow
51-
var item = gridThemeColors.SelectedItem as ThemeColor;
52-
Application.Current.Resources[item.Key] = newColorBrush;
53-
forceValue = false;
54-
}
55-
5634
private void Window_Loaded(object sender, RoutedEventArgs e)
5735
{
5836
themeColors.Clear();
@@ -84,6 +62,34 @@ private void Window_Loaded(object sender, RoutedEventArgs e)
8462
gridThemeColors.SelectedIndex = 0;
8563
}
8664

65+
void UpdateColorPreview()
66+
{
67+
var newColor = new Color();
68+
newColor.R = (byte)sliderRed.Value;
69+
newColor.G = (byte)sliderGreen.Value;
70+
newColor.B = (byte)sliderBlue.Value;
71+
newColor.A = (byte)sliderAlpha.Value;
72+
var newColorBrush = new SolidColorBrush(newColor);
73+
rectSelectedColor.Fill = newColorBrush;
74+
75+
// set new color into our collection values
76+
themeColors[themeColors.IndexOf((ThemeColor)gridThemeColors.SelectedItem)].Brush = newColorBrush;
77+
78+
gridThemeColors.Items.Refresh();
79+
80+
// apply color changes to mainwindow
81+
var item = gridThemeColors.SelectedItem as ThemeColor;
82+
Application.Current.Resources[item.Key] = newColorBrush;
83+
forceValue = false;
84+
}
85+
86+
void SetSlider(Slider target, double color)
87+
{
88+
forceValue = true;
89+
target.Value = color;
90+
forceValue = false;
91+
}
92+
8793
private void GridThemeColors_SelectionChanged(object sender, SelectionChangedEventArgs e)
8894
{
8995
if (gridThemeColors.SelectedIndex == -1) return;
@@ -95,15 +101,10 @@ private void GridThemeColors_SelectionChanged(object sender, SelectionChangedEve
95101
rectSelectedColor.Fill = item.Brush;
96102

97103
// update RGBA sliders
98-
forceValue = true;
99-
sliderRed.Value = item.Brush.Color.R;
100-
forceValue = true;
101-
sliderGreen.Value = item.Brush.Color.G;
102-
forceValue = true;
103-
sliderBlue.Value = item.Brush.Color.B;
104-
forceValue = true;
105-
sliderAlpha.Value = item.Brush.Color.A;
106-
forceValue = false;
104+
SetSlider(sliderRed, item.Brush.Color.R);
105+
SetSlider(sliderGreen, item.Brush.Color.G);
106+
SetSlider(sliderBlue, item.Brush.Color.B);
107+
SetSlider(sliderAlpha, item.Brush.Color.A);
107108
}
108109

109110
private void BtnSaveTheme_Click(object sender, RoutedEventArgs e)
@@ -139,7 +140,6 @@ private void BtnSaveTheme_Click(object sender, RoutedEventArgs e)
139140
previousSaveFileName = Path.GetFileNameWithoutExtension(themePath);
140141
File.WriteAllLines(themePath, iniRows);
141142
Console.WriteLine("Saved theme: " + themePath);
142-
// TODO close theme editor window?
143143
}
144144
}
145145

@@ -158,49 +158,39 @@ private void BtnResetTheme_Click(object sender, RoutedEventArgs e)
158158
if (gridThemeColors.SelectedItem != null)
159159
{
160160
var item = gridThemeColors.SelectedItem as ThemeColor;
161-
forceValue = true;
162-
sliderRed.Value = item.Brush.Color.R;
163-
forceValue = true;
164-
sliderGreen.Value = item.Brush.Color.G;
165-
forceValue = true;
166-
sliderBlue.Value = item.Brush.Color.B;
167-
forceValue = true;
168-
sliderAlpha.Value = item.Brush.Color.A;
169-
forceValue = false;
161+
SetSlider(sliderRed, item.Brush.Color.R);
162+
SetSlider(sliderGreen, item.Brush.Color.G);
163+
SetSlider(sliderBlue, item.Brush.Color.B);
164+
SetSlider(sliderAlpha, item.Brush.Color.A);
170165
}
171166

172167
UpdateColorPreview();
173-
174168
gridThemeColors.Items.Refresh();
175169
}
176170

177171
private void SliderRed_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
178172
{
179-
if (forceValue == true) return;
180-
if (txtRed == null) return; // onchanged is called before other components are ready..thanks wpf :D
173+
// onchanged is called before other components are ready..thanks wpf :D
174+
if (forceValue == true || txtRed == null) return;
181175
UpdateColorPreview();
182176
}
183177

184178
private void SliderGreen_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
185179
{
186-
if (forceValue == true) return;
187-
if (txtGreen == null) return;
180+
if (forceValue == true || txtGreen == null) return;
188181
UpdateColorPreview();
189182
}
190183

191184
private void SliderBlue_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
192185
{
193-
if (forceValue == true) return;
194-
if (txtBlue == null) return;
186+
if (forceValue == true || txtBlue == null) return;
195187
UpdateColorPreview();
196188
}
197189

198190
public void Executed_Undo(object sender, ExecutedRoutedEventArgs e)
199191
{
200192
// restore previous color
201-
forceValue = true;
202-
previousSlider.Value = previousValue;
203-
forceValue = false;
193+
SetSlider(previousSlider, previousValue);
204194
UpdateColorPreview();
205195
}
206196

@@ -209,17 +199,6 @@ public void CanExecute_Undo(object sender, CanExecuteRoutedEventArgs e)
209199
e.CanExecute = previousValue > -1;
210200
}
211201

212-
// TODO could add paste HTML code from clipboard
213-
//public void Executed_Paste(object sender, ExecutedRoutedEventArgs e)
214-
//{
215-
// //OnPasteImageFromClipboard();
216-
//}
217-
218-
//public void CanExecute_Paste(object sender, CanExecuteRoutedEventArgs e)
219-
//{
220-
// e.CanExecute = true;
221-
//}
222-
223202
private void SliderAlpha_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
224203
{
225204
if (forceValue == true) return;

0 commit comments

Comments
 (0)