104 lines
3.8 KiB
C#
104 lines
3.8 KiB
C#
using MahApps.Metro;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Media;
|
|
|
|
namespace GTAOnlineCasinoHelper.Views.Settings
|
|
{
|
|
|
|
public partial class ThemeView : UserControl
|
|
{
|
|
public ThemeView()
|
|
{
|
|
this.InitializeComponent();
|
|
Theme current = ThemeManager.DetectTheme();
|
|
int selectedBaseColor = -1;
|
|
int i = 0;
|
|
foreach (string baseColor in ThemeManager.BaseColors)
|
|
{
|
|
if (current.BaseColorScheme.Equals(baseColor))
|
|
{
|
|
selectedBaseColor = i;
|
|
}
|
|
ComboBox_BaseColors.Items.Add(baseColor);
|
|
i++;
|
|
}
|
|
int selectedColorScheme = -1;
|
|
i = 0;
|
|
foreach (ColorScheme colorScheme in ThemeManager.ColorSchemes)
|
|
{
|
|
if (current.ColorScheme.Equals(colorScheme.Name))
|
|
{
|
|
selectedColorScheme = i;
|
|
}
|
|
SolidColorBrush solidColorBrush = colorScheme.ShowcaseBrush as SolidColorBrush;
|
|
if (solidColorBrush == null)
|
|
{
|
|
solidColorBrush = new SolidColorBrush(Colors.Black);
|
|
}
|
|
else
|
|
{
|
|
byte r = solidColorBrush.Color.R,
|
|
g = solidColorBrush.Color.G,
|
|
b = solidColorBrush.Color.B;
|
|
if (r + g + b > 382)
|
|
{
|
|
solidColorBrush = new SolidColorBrush(Colors.Black);
|
|
}
|
|
else
|
|
{
|
|
solidColorBrush = new SolidColorBrush(Colors.White);
|
|
}
|
|
}
|
|
ComboBoxItem item = new ComboBoxItem()
|
|
{
|
|
Background = colorScheme.ShowcaseBrush,
|
|
Foreground = solidColorBrush,
|
|
Content = colorScheme.Name,
|
|
};
|
|
ComboBox_ColorSchemes.Items.Add(item);
|
|
i++;
|
|
}
|
|
ComboBox_BaseColors.SelectedIndex = selectedBaseColor;
|
|
ComboBox_ColorSchemes.SelectedIndex = selectedColorScheme;
|
|
ComboBox_BaseColors.SelectionChanged += ComboBox_BaseColors_SelectionChanged;
|
|
ComboBox_ColorSchemes.SelectionChanged += ComboBox_ColorSchemes_SelectionChanged;
|
|
}
|
|
|
|
private void ComboBox_BaseColors_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
{
|
|
string baseColor = ComboBox_BaseColors.SelectedItem as string;
|
|
if (baseColor == null || baseColor.Equals(string.Empty))
|
|
{
|
|
return;
|
|
}
|
|
ThemeManager.ChangeThemeBaseColor(Application.Current, baseColor);
|
|
Properties.Settings.Default.ThemeBaseColor = baseColor;
|
|
Properties.Settings.Default.Save();
|
|
Properties.Settings.Default.Reload();
|
|
}
|
|
|
|
private void ComboBox_ColorSchemes_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
{
|
|
ComboBoxItem comboBoxItem = ComboBox_ColorSchemes.SelectedItem as ComboBoxItem;
|
|
if (comboBoxItem == null)
|
|
{
|
|
return;
|
|
}
|
|
string colorScheme = comboBoxItem.Content as string;
|
|
if (colorScheme == null || colorScheme.Equals(string.Empty))
|
|
{
|
|
return;
|
|
}
|
|
ThemeManager.ChangeThemeColorScheme(Application.Current, colorScheme);
|
|
Properties.Settings.Default.ThemeColorScheme = colorScheme;
|
|
Properties.Settings.Default.Save();
|
|
Properties.Settings.Default.Reload();
|
|
}
|
|
}
|
|
} |