switch to MahApps controls and style
Why didn't I find this sooner?
This commit is contained in:
parent
fd10b86c79
commit
52aa2706c0
@ -4,6 +4,14 @@
|
||||
xmlns:local="clr-namespace:EliteBGS"
|
||||
StartupUri="MainWindow.xaml">
|
||||
<Application.Resources>
|
||||
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<!-- MahApps.Metro resource dictionaries. Make sure that all file names are Case Sensitive! -->
|
||||
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
|
||||
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />
|
||||
<!-- Theme setting -->
|
||||
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Themes/Light.Blue.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</Application.Resources>
|
||||
</Application>
|
||||
|
@ -1,4 +1,5 @@
|
||||
using System.Windows;
|
||||
using ControlzEx.Theming;
|
||||
using System.Windows;
|
||||
|
||||
namespace EliteBGS {
|
||||
/// <summary>
|
||||
|
86
EliteBGS/EliteBGS - Backup.csproj
Normal file
86
EliteBGS/EliteBGS - Backup.csproj
Normal file
@ -0,0 +1,86 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net7.0-windows</TargetFramework>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<Version>0.2.6</Version>
|
||||
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
|
||||
<UseWindowsForms>true</UseWindowsForms>
|
||||
<UseWPF>true</UseWPF>
|
||||
<ImportWindowsDesktopTargets>true</ImportWindowsDesktopTargets>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<StartupObject>EliteBGSApplication</StartupObject>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>Salus.ico</ApplicationIcon>
|
||||
<Title>BGS reporting and logging tool for Elite:Dangerous</Title>
|
||||
<Authors>nola</Authors>
|
||||
<Copyright>Copyright 2019 by Florian Stinglmayr</Copyright>
|
||||
<RepositoryUrl>https://git.aror.org/florian/EDBGS</RepositoryUrl>
|
||||
<PackageTags>ED;Elite Dangerous;BGS</PackageTags>
|
||||
<PackageProjectUrl>https://bgs.n0la.org</PackageProjectUrl>
|
||||
<PackageReadmeFile>README.md</PackageReadmeFile>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="main-page.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Resource>
|
||||
<None Update="README.md">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
<Pack>True</Pack>
|
||||
<PackagePath>\</PackagePath>
|
||||
</None>
|
||||
<None Update="docs\CHANGELOG.md">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="docs\main-page.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Resource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="LICENCE.txt">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Salus.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="logo_v4.png">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Resource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\EliteBGS.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="EliteBGS.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Extended.Wpf.Toolkit" Version="4.5.0" />
|
||||
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
|
||||
<PackageReference Include="Microsoft.Windows.Compatibility" Version="7.0.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
|
||||
<PackageReference Include="Ookii.Dialogs.Wpf" Version="5.0.1" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\EDPlayerJournal\EDPlayerJournal.csproj" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Update="Resources.Designer.cs">
|
||||
<DesignTime>True</DesignTime>
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Update="Resources.resx">
|
||||
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -60,6 +60,7 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Extended.Wpf.Toolkit" Version="4.5.0" />
|
||||
<PackageReference Include="MahApps.Metro" Version="2.4.9" />
|
||||
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
|
||||
<PackageReference Include="Microsoft.Windows.Compatibility" Version="7.0.0" />
|
||||
</ItemGroup>
|
||||
|
@ -1,4 +1,5 @@
|
||||
<Window
|
||||
<mah:MetroWindow
|
||||
xmlns:mah="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
|
||||
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"
|
||||
@ -15,6 +16,11 @@
|
||||
</Style>
|
||||
<local:MinusFortyFiveConverter x:Key="MinusFortyFiveConverter" />
|
||||
</Window.Resources>
|
||||
<mah:MetroWindow.RightWindowCommands>
|
||||
<mah:WindowCommands>
|
||||
<mah:ToggleSwitch Content="Dark Theme" x:Name="SwitchTheme" IsOn="True" Toggled="SwitchTheme_Toggled"/>
|
||||
</mah:WindowCommands>
|
||||
</mah:MetroWindow.RightWindowCommands>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"/>
|
||||
@ -22,9 +28,9 @@
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TabControl>
|
||||
<TabControl Style="{DynamicResource MahApps.Styles.TabControl.Animated}">
|
||||
<TabItem Header="Current Objectives">
|
||||
<Grid Background="#FFE5E5E5">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
@ -41,16 +47,16 @@
|
||||
<Button x:Name="ParseJournal" Content="Parse Journal" VerticalAlignment="Center" Click="ParseJournal_Click" HorizontalAlignment="Center"/>
|
||||
<Separator Margin="1" VerticalAlignment="Center" MinWidth="1" HorizontalAlignment="Center" MinHeight="22"/>
|
||||
<Label Content="From (UTC):" VerticalAlignment="Center" VerticalContentAlignment="Center" HorizontalAlignment="Center"/>
|
||||
<xctk:DateTimePicker x:Name="startdate" Height="26.2857142857143" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
<Label Content="To (UTC):" Height="26.2857142857143" VerticalAlignment="Top"/>
|
||||
<xctk:DateTimePicker x:Name="enddate" Height="26.2857142857143" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
<mah:DateTimePicker x:Name="startdate" Height="26.2857142857143" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
<Label Content="To (UTC):" Height="26.2857142857143" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
<mah:DateTimePicker x:Name="enddate" Height="26.2857142857143" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
<Separator Margin="1" VerticalAlignment="Center" MinWidth="1" HorizontalAlignment="Center" MinHeight="22"/>
|
||||
<Button x:Name="ResetTime" Content="Reset Time" Click="ResetTime_Click" />
|
||||
<Separator Margin="1" VerticalAlignment="Center" MinWidth="1" HorizontalAlignment="Center" MinHeight="22"/>
|
||||
<Button x:Name="ManuallyParse" Content="Manually Parse" Click="ManuallyParse_Click" />
|
||||
</ToolBar>
|
||||
<ToolBar Grid.Row="1" HorizontalAlignment="Left" Height="36" VerticalAlignment="Top" Width="Auto" Grid.ColumnSpan="3">
|
||||
<Button x:Name="GenerateDiscord" Content="Generate Discord Report" VerticalAlignment="Stretch" Margin="0,0,0,0" VerticalContentAlignment="Center" Click="GenerateDiscord_Click" Height="26"/>
|
||||
<ToolBar Grid.Row="1" HorizontalAlignment="Left" Height="Auto" VerticalAlignment="Top" Width="Auto" Grid.ColumnSpan="3">
|
||||
<Button x:Name="GenerateDiscord" Content="Generate Discord Report" VerticalAlignment="Stretch" Margin="0,0,0,0" VerticalContentAlignment="Center" Click="GenerateDiscord_Click"/>
|
||||
<Separator />
|
||||
<ComboBox x:Name="LogType" VerticalAlignment="Stretch" Margin="0,3,0,3" Width="140" SelectionChanged="LogType_SelectionChanged" />
|
||||
</ToolBar>
|
||||
@ -91,7 +97,7 @@
|
||||
<HierarchicalDataTemplate>
|
||||
<!-- This will stretch out the width of the item-->
|
||||
<Grid Initialized="Transaction_Initialized"
|
||||
HorizontalAlignment="Stretch"
|
||||
HorizontalAlignment="Left"
|
||||
Width="{Binding ActualWidth, ElementName=entries, Converter={StaticResource MinusFortyFiveConverter}}"
|
||||
Margin="0,2,0,2"
|
||||
>
|
||||
@ -150,8 +156,8 @@
|
||||
<TextBox x:Name="DiscordLog" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Row="4" Height="Auto" TextWrapping="Wrap" FontFamily="Consolas" FontSize="14" Grid.ColumnSpan="3" AcceptsReturn="True" AcceptsTab="True"/>
|
||||
</Grid>
|
||||
</TabItem>
|
||||
<TabItem Header="Settings" HorizontalAlignment="Left" Height="20" VerticalAlignment="Top" Width="53.7142857142857">
|
||||
<Grid Background="#FFE5E5E5">
|
||||
<TabItem Header="Settings">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
@ -177,10 +183,24 @@
|
||||
<Button x:Name="browsejournallocation" Content="Browse" Grid.Row="1" Grid.Column="1" Margin="0,0,0,0" Width="Auto" VerticalAlignment="Top" HorizontalAlignment="Left" Click="browsejournallocation_Click"/>
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
<GroupBox Header="Theme Colour" Height="Auto" Grid.Row="1" VerticalAlignment="Top" Width="Auto" Grid.ColumnSpan="3" Margin="0,5,0,0">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Label Content="Colour of the current theme." Grid.Row="0" Grid.ColumnSpan="2" HorizontalAlignment="Left" Margin="0,0,0,0" VerticalAlignment="Top"/>
|
||||
<ComboBox x:Name="Colour" IsEditable="False" Grid.Row="1" Grid.Column="0" VerticalAlignment="Center" Width="Auto" SelectionChanged="Colour_SelectionChanged"/>
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
</Grid>
|
||||
</TabItem>
|
||||
<TabItem Header="Event Log" HorizontalAlignment="Left" Height="20" VerticalAlignment="Top">
|
||||
<Grid Background="#FFE5E5E5">
|
||||
<TabItem Header="Event Log">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
@ -188,8 +208,8 @@
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBox IsReadOnly="True" Grid.Row="1" x:Name="log" Height="Auto" Margin="5" TextWrapping="Wrap" FontFamily="Courier New" Background="{x:Null}"/>
|
||||
<RichTextBox IsReadOnly="True" HorizontalAlignment="Left" Height="Auto" Margin="5" Width="Auto" VerticalContentAlignment="Stretch" VerticalAlignment="Top" Background="{x:Null}" BorderBrush="{x:Null}" SelectionBrush="{x:Null}">
|
||||
<TextBox IsReadOnly="True" Grid.Row="1" x:Name="log" Height="Auto" Margin="5" TextWrapping="Wrap" FontFamily="Courier New" />
|
||||
<RichTextBox IsReadOnly="True" HorizontalAlignment="Left" Height="Auto" Margin="5" Width="Auto" VerticalContentAlignment="Stretch" VerticalAlignment="Top" BorderBrush="{x:Null}" SelectionBrush="{x:Null}">
|
||||
<FlowDocument>
|
||||
<Paragraph>
|
||||
<Run Text="This tool does not recognise every option and/or configuration that E:D outputs through its JSON files."/>
|
||||
@ -203,4 +223,4 @@
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
</Grid>
|
||||
</Window>
|
||||
</mah:MetroWindow>
|
||||
|
@ -14,13 +14,16 @@ using EliteBGS.Util;
|
||||
using System.Globalization;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Controls.Primitives;
|
||||
using ControlzEx.Theming;
|
||||
using MahApps.Metro.Controls;
|
||||
using Xceed.Wpf.AvalonDock.Themes;
|
||||
|
||||
namespace EliteBGS;
|
||||
|
||||
/// <summary>
|
||||
/// Interaction logic for MainWindow.xaml
|
||||
/// </summary>
|
||||
public partial class MainWindow : Window {
|
||||
public partial class MainWindow : MahApps.Metro.Controls.MetroWindow {
|
||||
private PlayerJournal journal;
|
||||
private Report report;
|
||||
|
||||
@ -55,6 +58,33 @@ public partial class MainWindow : Window {
|
||||
LogType.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
// Apply theme
|
||||
try {
|
||||
string[] colours = ThemeManager.Current.Themes
|
||||
.Select(x => x.ColorScheme)
|
||||
.DistinctBy(x => x)
|
||||
.OrderBy(x => x)
|
||||
.ToArray()
|
||||
;
|
||||
foreach (var colour in colours) {
|
||||
Colour.Items.Add(colour);
|
||||
if (string.Compare(colour, Config.Global.Colour, true) == 0) {
|
||||
Colour.SelectedIndex = Colour.Items.Count - 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (Colour.SelectedIndex < 0) {
|
||||
Colour.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
SwitchTheme.IsOn = (string.Compare(Config.Global.Theme, "dark", true) == 0);
|
||||
|
||||
ThemeManager.Current.ChangeTheme(this, Config.Global.FullTheme);
|
||||
} catch (Exception) {
|
||||
// Theme is invalid, revert back to standard dark
|
||||
Config.Global.Theme = "Dark.Blue";
|
||||
}
|
||||
|
||||
journal = new PlayerJournal(Config.Global.JournalLocation);
|
||||
|
||||
// Set both to now
|
||||
@ -67,10 +97,11 @@ public partial class MainWindow : Window {
|
||||
DateTime today = DateTime.Today;
|
||||
DateTime tomorrow = today.AddDays(1);
|
||||
|
||||
startdate.CultureInfo = enddate.CultureInfo = CultureInfo.InvariantCulture;
|
||||
// HOCHKULTUR
|
||||
startdate.Culture = enddate.Culture = CultureInfo.GetCultureInfo("de-AT");
|
||||
|
||||
startdate.Value = today;
|
||||
enddate.Value = tomorrow;
|
||||
startdate.SelectedDateTime = today;
|
||||
enddate.SelectedDateTime = tomorrow;
|
||||
}
|
||||
|
||||
private void TreeView_CheckBox_Updated(object sender, RoutedEventArgs args) {
|
||||
@ -120,7 +151,7 @@ public partial class MainWindow : Window {
|
||||
}
|
||||
|
||||
private void HandleEntries(List<Entry> entries) {
|
||||
HandleEntries(entries, startdate.Value ?? DateTime.Now, enddate.Value ?? DateTime.Now);
|
||||
HandleEntries(entries, startdate.SelectedDateTime ?? DateTime.Now, enddate.SelectedDateTime ?? DateTime.Now);
|
||||
}
|
||||
|
||||
private void Loadentries_EntriesLoaded(List<Entry> lines) {
|
||||
@ -131,8 +162,8 @@ public partial class MainWindow : Window {
|
||||
try {
|
||||
TransactionParser parser = new TransactionParser();
|
||||
|
||||
DateTime start = startdate.Value ?? DateTime.Now;
|
||||
DateTime end = enddate.Value ?? DateTime.Now;
|
||||
DateTime start = startdate.SelectedDateTime ?? DateTime.Now;
|
||||
DateTime end = enddate.SelectedDateTime ?? DateTime.Now;
|
||||
|
||||
journal.Open(); // Load all files
|
||||
// Log files only get rotated if you restart the game client. This means that there might
|
||||
@ -280,6 +311,12 @@ public partial class MainWindow : Window {
|
||||
private void window_Closing(object sender, System.ComponentModel.CancelEventArgs e) {
|
||||
loadentries?.Close();
|
||||
loadentries = null;
|
||||
|
||||
try {
|
||||
Config.SaveGlobal();
|
||||
} catch (Exception error) {
|
||||
System.Windows.MessageBox.Show("There was an error saving your settings: " + error.Message);
|
||||
}
|
||||
}
|
||||
|
||||
private void Transaction_Initialized(object sender, EventArgs e) {
|
||||
@ -390,14 +427,14 @@ public partial class MainWindow : Window {
|
||||
}
|
||||
|
||||
private void ResetTime_Click(object sender, RoutedEventArgs e) {
|
||||
DateTime? d = startdate.Value;
|
||||
DateTime? d = startdate.SelectedDateTime;
|
||||
if (d != null) {
|
||||
startdate.Value = ResetTimeToZero(d.Value);
|
||||
startdate.SelectedDateTime = ResetTimeToZero(d.Value);
|
||||
}
|
||||
|
||||
d = enddate.Value;
|
||||
d = enddate.SelectedDateTime;
|
||||
if (d != null) {
|
||||
enddate.Value = ResetTimeToZero(d.Value);
|
||||
enddate.SelectedDateTime = ResetTimeToZero(d.Value);
|
||||
}
|
||||
}
|
||||
|
||||
@ -412,4 +449,27 @@ public partial class MainWindow : Window {
|
||||
.ForEach(x => x.IsEnabled = (button.IsChecked ?? true))
|
||||
;
|
||||
}
|
||||
|
||||
private void UpdateTheme() {
|
||||
ThemeManager.Current.ChangeTheme(this, Config.Global.FullTheme);
|
||||
}
|
||||
|
||||
private void SwitchTheme_Toggled(object sender, RoutedEventArgs e) {
|
||||
ToggleSwitch toggle = sender as ToggleSwitch;
|
||||
if (toggle.IsOn) {
|
||||
Config.Global.Theme = "Dark";
|
||||
} else {
|
||||
Config.Global.Theme = "Light";
|
||||
}
|
||||
UpdateTheme();
|
||||
}
|
||||
|
||||
private void Colour_SelectionChanged(object sender, SelectionChangedEventArgs e) {
|
||||
if (Colour.SelectedItem == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
Config.Global.Colour = Colour.SelectedItem.ToString();
|
||||
UpdateTheme();
|
||||
}
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ public class MinusFortyFiveConverter : IValueConverter {
|
||||
/// <inheritdoc/>
|
||||
public object Convert(
|
||||
object value, Type targetType, object parameter, CultureInfo culture) {
|
||||
return (double)value - 65;
|
||||
return (double)value - 80;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
|
@ -1,20 +1,14 @@
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace EliteBGS.Util {
|
||||
public class AppConfig : INotifyPropertyChanged {
|
||||
public class AppConfig {
|
||||
private static readonly string default_journal_location = "%UserProfile%\\Saved Games\\Frontier Developments\\Elite Dangerous";
|
||||
private string journal_location = default_journal_location;
|
||||
private string lastdiscordlog;
|
||||
|
||||
public string DefaultJournalLocation => default_journal_location;
|
||||
private string colour = "Blue";
|
||||
private string theme = "Dark";
|
||||
|
||||
public string LastUsedDiscordTemplate {
|
||||
get => lastdiscordlog;
|
||||
set {
|
||||
lastdiscordlog = value;
|
||||
FirePropertyChanged("LastUsedDiscordTemplate");
|
||||
}
|
||||
}
|
||||
public string LastUsedDiscordTemplate { get; set; }
|
||||
|
||||
public string JournalLocation {
|
||||
get {
|
||||
@ -25,14 +19,37 @@ namespace EliteBGS.Util {
|
||||
}
|
||||
set {
|
||||
journal_location = value;
|
||||
FirePropertyChanged("JournalLocation");
|
||||
}
|
||||
}
|
||||
|
||||
private void FirePropertyChanged(string property) {
|
||||
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(property));
|
||||
public string Theme {
|
||||
get {
|
||||
return theme;
|
||||
}
|
||||
set {
|
||||
if (string.IsNullOrEmpty(value)) {
|
||||
theme = "Dark";
|
||||
} else {
|
||||
theme = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public string Colour {
|
||||
get {
|
||||
return colour;
|
||||
}
|
||||
set {
|
||||
if (string.IsNullOrEmpty(value)) {
|
||||
colour = "Blue";
|
||||
} else {
|
||||
colour = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
public string FullTheme {
|
||||
get { return Theme + "." + Colour; }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -12,15 +12,6 @@ namespace EliteBGS.Util {
|
||||
|
||||
public Config() {
|
||||
DetermineConfigFolder();
|
||||
global_config.PropertyChanged += Global_config_PropertyChanged;
|
||||
}
|
||||
|
||||
private void Global_config_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) {
|
||||
try {
|
||||
SaveGlobal();
|
||||
} catch (Exception) {
|
||||
/* ignored */
|
||||
}
|
||||
}
|
||||
|
||||
public string ConfigPath => config_folder;
|
||||
@ -58,7 +49,6 @@ namespace EliteBGS.Util {
|
||||
|
||||
if (app != null) {
|
||||
this.global_config = app;
|
||||
global_config.PropertyChanged += Global_config_PropertyChanged;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user