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"
 | 
					             xmlns:local="clr-namespace:EliteBGS"
 | 
				
			||||||
             StartupUri="MainWindow.xaml">
 | 
					             StartupUri="MainWindow.xaml">
 | 
				
			||||||
    <Application.Resources>
 | 
					    <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.Resources>
 | 
				
			||||||
</Application>
 | 
					</Application>
 | 
				
			||||||
 | 
				
			|||||||
@ -1,4 +1,5 @@
 | 
				
			|||||||
using System.Windows;
 | 
					using ControlzEx.Theming;
 | 
				
			||||||
 | 
					using System.Windows;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace EliteBGS {
 | 
					namespace EliteBGS {
 | 
				
			||||||
    /// <summary>
 | 
					    /// <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>
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <PackageReference Include="Extended.Wpf.Toolkit" Version="4.5.0" />
 | 
					    <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.CSharp" Version="4.7.0" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Windows.Compatibility" Version="7.0.0" />
 | 
					    <PackageReference Include="Microsoft.Windows.Compatibility" Version="7.0.0" />
 | 
				
			||||||
  </ItemGroup>
 | 
					  </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="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 | 
				
			||||||
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 | 
					        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 | 
				
			||||||
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
 | 
					        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
 | 
				
			||||||
@ -15,6 +16,11 @@
 | 
				
			|||||||
        </Style>
 | 
					        </Style>
 | 
				
			||||||
        <local:MinusFortyFiveConverter x:Key="MinusFortyFiveConverter" />
 | 
					        <local:MinusFortyFiveConverter x:Key="MinusFortyFiveConverter" />
 | 
				
			||||||
    </Window.Resources>
 | 
					    </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>
 | 
				
			||||||
        <Grid.ColumnDefinitions>
 | 
					        <Grid.ColumnDefinitions>
 | 
				
			||||||
            <ColumnDefinition Width="*"/>
 | 
					            <ColumnDefinition Width="*"/>
 | 
				
			||||||
@ -22,9 +28,9 @@
 | 
				
			|||||||
        <Grid.RowDefinitions>
 | 
					        <Grid.RowDefinitions>
 | 
				
			||||||
            <RowDefinition Height="*"/>
 | 
					            <RowDefinition Height="*"/>
 | 
				
			||||||
        </Grid.RowDefinitions>
 | 
					        </Grid.RowDefinitions>
 | 
				
			||||||
        <TabControl>
 | 
					        <TabControl Style="{DynamicResource MahApps.Styles.TabControl.Animated}">
 | 
				
			||||||
            <TabItem Header="Current Objectives">
 | 
					            <TabItem Header="Current Objectives">
 | 
				
			||||||
                <Grid Background="#FFE5E5E5">
 | 
					                <Grid>
 | 
				
			||||||
                    <Grid.RowDefinitions>
 | 
					                    <Grid.RowDefinitions>
 | 
				
			||||||
                        <RowDefinition Height="Auto"/>
 | 
					                        <RowDefinition Height="Auto"/>
 | 
				
			||||||
                        <RowDefinition Height="Auto"/>
 | 
					                        <RowDefinition Height="Auto"/>
 | 
				
			||||||
@ -41,16 +47,16 @@
 | 
				
			|||||||
                        <Button x:Name="ParseJournal" Content="Parse Journal" VerticalAlignment="Center" Click="ParseJournal_Click" HorizontalAlignment="Center"/>
 | 
					                        <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"/>
 | 
					                        <Separator Margin="1" VerticalAlignment="Center" MinWidth="1" HorizontalAlignment="Center" MinHeight="22"/>
 | 
				
			||||||
                        <Label Content="From (UTC):" VerticalAlignment="Center" VerticalContentAlignment="Center" HorizontalAlignment="Center"/>
 | 
					                        <Label Content="From (UTC):" VerticalAlignment="Center" VerticalContentAlignment="Center" HorizontalAlignment="Center"/>
 | 
				
			||||||
                        <xctk:DateTimePicker x:Name="startdate" 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="Top"/>
 | 
					                        <Label Content="To (UTC):" Height="26.2857142857143" VerticalAlignment="Center" HorizontalAlignment="Center"/>
 | 
				
			||||||
                        <xctk:DateTimePicker x:Name="enddate" 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"/>
 | 
					                        <Separator Margin="1" VerticalAlignment="Center" MinWidth="1" HorizontalAlignment="Center" MinHeight="22"/>
 | 
				
			||||||
                        <Button x:Name="ResetTime" Content="Reset Time" Click="ResetTime_Click" />
 | 
					                        <Button x:Name="ResetTime" Content="Reset Time" Click="ResetTime_Click" />
 | 
				
			||||||
                        <Separator Margin="1" VerticalAlignment="Center" MinWidth="1" HorizontalAlignment="Center" MinHeight="22"/>
 | 
					                        <Separator Margin="1" VerticalAlignment="Center" MinWidth="1" HorizontalAlignment="Center" MinHeight="22"/>
 | 
				
			||||||
                        <Button x:Name="ManuallyParse" Content="Manually Parse" Click="ManuallyParse_Click" />
 | 
					                        <Button x:Name="ManuallyParse" Content="Manually Parse" Click="ManuallyParse_Click" />
 | 
				
			||||||
                    </ToolBar>
 | 
					                    </ToolBar>
 | 
				
			||||||
                    <ToolBar Grid.Row="1" HorizontalAlignment="Left" Height="36" VerticalAlignment="Top" Width="Auto" Grid.ColumnSpan="3">
 | 
					                    <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" Height="26"/>
 | 
					                        <Button x:Name="GenerateDiscord" Content="Generate Discord Report" VerticalAlignment="Stretch" Margin="0,0,0,0" VerticalContentAlignment="Center" Click="GenerateDiscord_Click"/>
 | 
				
			||||||
                        <Separator />
 | 
					                        <Separator />
 | 
				
			||||||
                        <ComboBox x:Name="LogType" VerticalAlignment="Stretch" Margin="0,3,0,3" Width="140" SelectionChanged="LogType_SelectionChanged" />
 | 
					                        <ComboBox x:Name="LogType" VerticalAlignment="Stretch" Margin="0,3,0,3" Width="140" SelectionChanged="LogType_SelectionChanged" />
 | 
				
			||||||
                    </ToolBar>
 | 
					                    </ToolBar>
 | 
				
			||||||
@ -91,7 +97,7 @@
 | 
				
			|||||||
                                    <HierarchicalDataTemplate>
 | 
					                                    <HierarchicalDataTemplate>
 | 
				
			||||||
                                        <!-- This will stretch out the width of the item-->
 | 
					                                        <!-- This will stretch out the width of the item-->
 | 
				
			||||||
                                        <Grid Initialized="Transaction_Initialized"
 | 
					                                        <Grid Initialized="Transaction_Initialized"
 | 
				
			||||||
                                              HorizontalAlignment="Stretch"
 | 
					                                              HorizontalAlignment="Left"
 | 
				
			||||||
                                              Width="{Binding ActualWidth, ElementName=entries, Converter={StaticResource MinusFortyFiveConverter}}"
 | 
					                                              Width="{Binding ActualWidth, ElementName=entries, Converter={StaticResource MinusFortyFiveConverter}}"
 | 
				
			||||||
                                              Margin="0,2,0,2"
 | 
					                                              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"/>
 | 
					                    <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>
 | 
					                </Grid>
 | 
				
			||||||
            </TabItem>
 | 
					            </TabItem>
 | 
				
			||||||
            <TabItem Header="Settings" HorizontalAlignment="Left" Height="20" VerticalAlignment="Top" Width="53.7142857142857">
 | 
					            <TabItem Header="Settings">
 | 
				
			||||||
                <Grid Background="#FFE5E5E5">
 | 
					                <Grid>
 | 
				
			||||||
                    <Grid.RowDefinitions>
 | 
					                    <Grid.RowDefinitions>
 | 
				
			||||||
                        <RowDefinition Height="Auto"/>
 | 
					                        <RowDefinition Height="Auto"/>
 | 
				
			||||||
                        <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"/>
 | 
					                            <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>
 | 
					                        </Grid>
 | 
				
			||||||
                    </GroupBox>
 | 
					                    </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>
 | 
					                </Grid>
 | 
				
			||||||
            </TabItem>
 | 
					            </TabItem>
 | 
				
			||||||
            <TabItem Header="Event Log" HorizontalAlignment="Left" Height="20" VerticalAlignment="Top">
 | 
					            <TabItem Header="Event Log">
 | 
				
			||||||
                <Grid Background="#FFE5E5E5">
 | 
					                <Grid>
 | 
				
			||||||
                    <Grid.ColumnDefinitions>
 | 
					                    <Grid.ColumnDefinitions>
 | 
				
			||||||
                        <ColumnDefinition Width="*"/>
 | 
					                        <ColumnDefinition Width="*"/>
 | 
				
			||||||
                    </Grid.ColumnDefinitions>
 | 
					                    </Grid.ColumnDefinitions>
 | 
				
			||||||
@ -188,8 +208,8 @@
 | 
				
			|||||||
                        <RowDefinition Height="Auto"/>
 | 
					                        <RowDefinition Height="Auto"/>
 | 
				
			||||||
                        <RowDefinition Height="*"/>
 | 
					                        <RowDefinition Height="*"/>
 | 
				
			||||||
                    </Grid.RowDefinitions>
 | 
					                    </Grid.RowDefinitions>
 | 
				
			||||||
                    <TextBox IsReadOnly="True" Grid.Row="1" x:Name="log" Height="Auto" Margin="5" TextWrapping="Wrap" FontFamily="Courier New" Background="{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" Background="{x:Null}" BorderBrush="{x:Null}" SelectionBrush="{x:Null}">
 | 
					                    <RichTextBox IsReadOnly="True" HorizontalAlignment="Left" Height="Auto" Margin="5" Width="Auto" VerticalContentAlignment="Stretch" VerticalAlignment="Top" BorderBrush="{x:Null}" SelectionBrush="{x:Null}">
 | 
				
			||||||
                        <FlowDocument>
 | 
					                        <FlowDocument>
 | 
				
			||||||
                            <Paragraph>
 | 
					                            <Paragraph>
 | 
				
			||||||
                                <Run Text="This tool does not recognise every option and/or configuration that E:D outputs through its JSON files."/>
 | 
					                                <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>
 | 
					            </TabItem>
 | 
				
			||||||
        </TabControl>
 | 
					        </TabControl>
 | 
				
			||||||
    </Grid>
 | 
					    </Grid>
 | 
				
			||||||
</Window>
 | 
					</mah:MetroWindow>
 | 
				
			||||||
 | 
				
			|||||||
@ -14,13 +14,16 @@ using EliteBGS.Util;
 | 
				
			|||||||
using System.Globalization;
 | 
					using System.Globalization;
 | 
				
			||||||
using System.Windows.Forms;
 | 
					using System.Windows.Forms;
 | 
				
			||||||
using System.Windows.Controls.Primitives;
 | 
					using System.Windows.Controls.Primitives;
 | 
				
			||||||
 | 
					using ControlzEx.Theming;
 | 
				
			||||||
 | 
					using MahApps.Metro.Controls;
 | 
				
			||||||
 | 
					using Xceed.Wpf.AvalonDock.Themes;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace EliteBGS;
 | 
					namespace EliteBGS;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/// <summary>
 | 
					/// <summary>
 | 
				
			||||||
/// Interaction logic for MainWindow.xaml
 | 
					/// Interaction logic for MainWindow.xaml
 | 
				
			||||||
/// </summary>
 | 
					/// </summary>
 | 
				
			||||||
public partial class MainWindow : Window {
 | 
					public partial class MainWindow : MahApps.Metro.Controls.MetroWindow {
 | 
				
			||||||
    private PlayerJournal journal;
 | 
					    private PlayerJournal journal;
 | 
				
			||||||
    private Report report;
 | 
					    private Report report;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -55,6 +58,33 @@ public partial class MainWindow : Window {
 | 
				
			|||||||
            LogType.SelectedIndex = 0;
 | 
					            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);
 | 
					        journal = new PlayerJournal(Config.Global.JournalLocation);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Set both to now
 | 
					        // Set both to now
 | 
				
			||||||
@ -67,10 +97,11 @@ public partial class MainWindow : Window {
 | 
				
			|||||||
        DateTime today = DateTime.Today;
 | 
					        DateTime today = DateTime.Today;
 | 
				
			||||||
        DateTime tomorrow = today.AddDays(1);
 | 
					        DateTime tomorrow = today.AddDays(1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        startdate.CultureInfo = enddate.CultureInfo = CultureInfo.InvariantCulture;
 | 
					        // HOCHKULTUR
 | 
				
			||||||
 | 
					        startdate.Culture = enddate.Culture = CultureInfo.GetCultureInfo("de-AT");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        startdate.Value = today;
 | 
					        startdate.SelectedDateTime = today;
 | 
				
			||||||
        enddate.Value = tomorrow;
 | 
					        enddate.SelectedDateTime = tomorrow;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private void TreeView_CheckBox_Updated(object sender, RoutedEventArgs args) {
 | 
					    private void TreeView_CheckBox_Updated(object sender, RoutedEventArgs args) {
 | 
				
			||||||
@ -120,7 +151,7 @@ public partial class MainWindow : Window {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private void HandleEntries(List<Entry> entries) {
 | 
					    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) {
 | 
					    private void Loadentries_EntriesLoaded(List<Entry> lines) {
 | 
				
			||||||
@ -131,8 +162,8 @@ public partial class MainWindow : Window {
 | 
				
			|||||||
        try {
 | 
					        try {
 | 
				
			||||||
            TransactionParser parser = new TransactionParser();
 | 
					            TransactionParser parser = new TransactionParser();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            DateTime start = startdate.Value ?? DateTime.Now;
 | 
					            DateTime start = startdate.SelectedDateTime ?? DateTime.Now;
 | 
				
			||||||
            DateTime end = enddate.Value ?? DateTime.Now;
 | 
					            DateTime end = enddate.SelectedDateTime ?? DateTime.Now;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            journal.Open(); // Load all files
 | 
					            journal.Open(); // Load all files
 | 
				
			||||||
            // Log files only get rotated if you restart the game client. This means that there might
 | 
					            // 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) {
 | 
					    private void window_Closing(object sender, System.ComponentModel.CancelEventArgs e) {
 | 
				
			||||||
        loadentries?.Close();
 | 
					        loadentries?.Close();
 | 
				
			||||||
        loadentries = null;
 | 
					        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) {
 | 
					    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) {
 | 
					    private void ResetTime_Click(object sender, RoutedEventArgs e) {
 | 
				
			||||||
        DateTime? d = startdate.Value;
 | 
					        DateTime? d = startdate.SelectedDateTime;
 | 
				
			||||||
        if (d != null) {
 | 
					        if (d != null) {
 | 
				
			||||||
            startdate.Value = ResetTimeToZero(d.Value);
 | 
					            startdate.SelectedDateTime = ResetTimeToZero(d.Value);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        d = enddate.Value;
 | 
					        d = enddate.SelectedDateTime;
 | 
				
			||||||
        if (d != null) {
 | 
					        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))
 | 
					            .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/>
 | 
					    /// <inheritdoc/>
 | 
				
			||||||
    public object Convert(
 | 
					    public object Convert(
 | 
				
			||||||
        object value, Type targetType, object parameter, CultureInfo culture) {
 | 
					        object value, Type targetType, object parameter, CultureInfo culture) {
 | 
				
			||||||
        return (double)value - 65;
 | 
					        return (double)value - 80;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /// <inheritdoc/>
 | 
					    /// <inheritdoc/>
 | 
				
			||||||
 | 
				
			|||||||
@ -1,20 +1,14 @@
 | 
				
			|||||||
using System.ComponentModel;
 | 
					using System.ComponentModel;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace EliteBGS.Util {
 | 
					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 static readonly string default_journal_location = "%UserProfile%\\Saved Games\\Frontier Developments\\Elite Dangerous";
 | 
				
			||||||
        private string journal_location = default_journal_location;
 | 
					        private string journal_location = default_journal_location;
 | 
				
			||||||
        private string lastdiscordlog;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public string DefaultJournalLocation => default_journal_location;
 | 
					        public string DefaultJournalLocation => default_journal_location;
 | 
				
			||||||
 | 
					        private string colour = "Blue";
 | 
				
			||||||
 | 
					        private string theme = "Dark";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public string LastUsedDiscordTemplate {
 | 
					        public string LastUsedDiscordTemplate { get; set; }
 | 
				
			||||||
            get => lastdiscordlog;
 | 
					 | 
				
			||||||
            set {
 | 
					 | 
				
			||||||
                lastdiscordlog = value;
 | 
					 | 
				
			||||||
                FirePropertyChanged("LastUsedDiscordTemplate");
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public string JournalLocation {
 | 
					        public string JournalLocation {
 | 
				
			||||||
            get {
 | 
					            get {
 | 
				
			||||||
@ -25,14 +19,37 @@ namespace EliteBGS.Util {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            set {
 | 
					            set {
 | 
				
			||||||
                journal_location = value;
 | 
					                journal_location = value;
 | 
				
			||||||
                FirePropertyChanged("JournalLocation");
 | 
					 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private void FirePropertyChanged(string property) {
 | 
					        public string Theme {
 | 
				
			||||||
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(property));
 | 
					            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() {
 | 
					        public Config() {
 | 
				
			||||||
            DetermineConfigFolder();
 | 
					            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;
 | 
					        public string ConfigPath => config_folder;
 | 
				
			||||||
@ -58,7 +49,6 @@ namespace EliteBGS.Util {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                if (app != null) {
 | 
					                if (app != null) {
 | 
				
			||||||
                    this.global_config = app;
 | 
					                    this.global_config = app;
 | 
				
			||||||
                    global_config.PropertyChanged += Global_config_PropertyChanged;
 | 
					 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user