Skip to content

Commit

Permalink
Added option to hide body icon and id number
Browse files Browse the repository at this point in the history
Added vertical scroolbar to views
Bugfix - EDSM valuable bodies being displayed twice
  • Loading branch information
WarmedxMints committed Dec 24, 2024
1 parent eb9b1b9 commit 92e8a04
Show file tree
Hide file tree
Showing 23 changed files with 246 additions and 172 deletions.
2 changes: 1 addition & 1 deletion ODExplorer/App.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public partial class App : Application
{
public static readonly Logger Logger = LogManager.GetCurrentClassLogger();

public static readonly Version AppVersion = new(2, 0, 3);
public static readonly Version AppVersion = new(2, 0, 4);
#if INSTALL
public readonly static string BaseDirectory = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "OD Explorer");
#else
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@
Grid.Row="6"
VerticalAlignment="Center"
IsChecked="{Binding NotableSettings.BodyNotifications, Converter={StaticResource EnumFlagConverter}, ConverterParameter={x:Static models:BodyNotification.LandableLargeRadius}}"
Content="Lanable Large Radius" />
Content="Landable Large Radius" />
<oduControls:SliderWithHeader Header="Minimum Radius"
IsEnabled="{Binding NotableSettings.BodyNotifications, Converter={StaticResource EnumFlagConverter}, ConverterParameter={x:Static models:BodyNotification.LandableLargeRadius}, Mode=OneWay}"
Value="{Binding LargeRadius, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
Style="{DynamicResource SystemsGridSettings}"
RowStyle="{DynamicResource SystemsRowStyle}"
CellStyle="{DynamicResource RouteCells}"
PreviewMouseWheel="DataGrid_PreviewMouseWheel"
Loaded="DataGrid_Loaded"
Unloaded="DataGrid_Unloaded"
RowHeight="25"
Expand Down Expand Up @@ -107,6 +108,7 @@
Unloaded="BodyDataGrid_Unloaded"
EnableRowVirtualization="True"
GridLinesVisibility="Horizontal"
PreviewMouseWheel="DataGrid_PreviewMouseWheel"
Style="{DynamicResource BodiesGridSettings}"
CellStyle="{DynamicResource BodiesGridCell}"
RowStyle="{DynamicResource RowStyleBodies}"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using ODExplorer.ViewModels.ModelVMs;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;

namespace ODExplorer.Controls
{
Expand Down Expand Up @@ -63,5 +64,25 @@ private bool NonSystemGridFilter(object obj)
}
return false;
}

private void DataGrid_PreviewMouseWheel(object sender, MouseWheelEventArgs e)
{
if (e.Handled)
{
return;
}
if (sender is not Control control)
{
return;
}
e.Handled = true;
var wheelArgs = new MouseWheelEventArgs(e.MouseDevice, e.Timestamp, e.Delta)
{
RoutedEvent = MouseWheelEvent,
Source = control
};
var parent = control.Parent as UIElement;
parent?.RaiseEvent(wheelArgs);
}
}
}

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -40,25 +40,31 @@ private void CurrentSystemControl_Loaded(object sender, RoutedEventArgs e)

if (GridSettings != null)
{
DataGrid.Columns[2].Visibility = BoolToVis(GridSettings.InfoDisplayOptions.HasFlag(BodyInfoIconDisplay.AtmosphereType));
DataGrid.Columns[3].Visibility = BoolToVis(GridSettings.InfoDisplayOptions.HasFlag(BodyInfoIconDisplay.SurfaceTemp));
DataGrid.Columns[4].Visibility = BoolToVis(GridSettings.InfoDisplayOptions.HasFlag(BodyInfoIconDisplay.SurfacePressure));
DataGrid.Columns[5].Visibility = BoolToVis(GridSettings.InfoDisplayOptions.HasFlag(BodyInfoIconDisplay.WasDiscovered));
DataGrid.Columns[6].Visibility = BoolToVis(GridSettings.InfoDisplayOptions.HasFlag(BodyInfoIconDisplay.Unmapped));
DataGrid.Columns[7].Visibility = BoolToVis(GridSettings.InfoDisplayOptions.HasFlag(BodyInfoIconDisplay.Terraformable));
DataGrid.Columns[8].Visibility = BoolToVis(GridSettings.InfoDisplayOptions.HasFlag(BodyInfoIconDisplay.HasRings));
DataGrid.Columns[9].Visibility = BoolToVis(GridSettings.InfoDisplayOptions.HasFlag(BodyInfoIconDisplay.GeoSignals));
DataGrid.Columns[10].Visibility = BoolToVis(GridSettings.InfoDisplayOptions.HasFlag(BodyInfoIconDisplay.GeoSignals));
DataGrid.Columns[11].Visibility = BoolToVis(GridSettings.InfoDisplayOptions.HasFlag(BodyInfoIconDisplay.BioSignals));
DataGrid.Columns[12].Visibility = BoolToVis(GridSettings.InfoDisplayOptions.HasFlag(BodyInfoIconDisplay.BioSignals));
DataGrid.Columns[13].Visibility = BoolToVis(GridSettings.InfoDisplayOptions.HasFlag(BodyInfoIconDisplay.SurfaceGravity));
DataGrid.Columns[0].Visibility = BoolToVis(GridSettings.ShowBodyIcon);
DataGrid.Columns[1].Visibility = BoolToVis(GridSettings.ShowBodyId);
BodyHeaderGrid.ColumnDefinitions[0].Width = GridSettings.ShowBodyIcon ? new GridLength(DataGrid.Columns[0].ActualWidth) : new GridLength(0);
BodyHeaderGrid.ColumnDefinitions[1].Width = GridSettings.ShowBodyId ? new GridLength(DataGrid.Columns[1].ActualWidth) : new GridLength(0);

DataGrid.Columns[4].Visibility = BoolToVis(GridSettings.InfoDisplayOptions.HasFlag(BodyInfoIconDisplay.AtmosphereType));
DataGrid.Columns[5].Visibility = BoolToVis(GridSettings.InfoDisplayOptions.HasFlag(BodyInfoIconDisplay.SurfaceTemp));
DataGrid.Columns[6].Visibility = BoolToVis(GridSettings.InfoDisplayOptions.HasFlag(BodyInfoIconDisplay.SurfacePressure));
DataGrid.Columns[7].Visibility = BoolToVis(GridSettings.InfoDisplayOptions.HasFlag(BodyInfoIconDisplay.WasDiscovered));
DataGrid.Columns[8].Visibility = BoolToVis(GridSettings.InfoDisplayOptions.HasFlag(BodyInfoIconDisplay.Unmapped));
DataGrid.Columns[9].Visibility = BoolToVis(GridSettings.InfoDisplayOptions.HasFlag(BodyInfoIconDisplay.Terraformable));
DataGrid.Columns[10].Visibility = BoolToVis(GridSettings.InfoDisplayOptions.HasFlag(BodyInfoIconDisplay.HasRings));
DataGrid.Columns[11].Visibility = BoolToVis(GridSettings.InfoDisplayOptions.HasFlag(BodyInfoIconDisplay.GeoSignals));
DataGrid.Columns[12].Visibility = BoolToVis(GridSettings.InfoDisplayOptions.HasFlag(BodyInfoIconDisplay.GeoSignals));
DataGrid.Columns[13].Visibility = BoolToVis(GridSettings.InfoDisplayOptions.HasFlag(BodyInfoIconDisplay.BioSignals));
DataGrid.Columns[14].Visibility = BoolToVis(GridSettings.InfoDisplayOptions.HasFlag(BodyInfoIconDisplay.BioSignals));
DataGrid.Columns[15].Visibility = BoolToVis(GridSettings.InfoDisplayOptions.HasFlag(BodyInfoIconDisplay.SurfaceGravity));
}
}

private static Visibility BoolToVis(bool value)
{
return value ? Visibility.Visible : Visibility.Collapsed;
}

private void DataGrid_PreviewMouseWheel(object sender, MouseWheelEventArgs e)
{
if (e.Handled)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,8 @@
MinHeight="77"
Grid.Column="2"
Padding="5">
<ScrollViewer VerticalScrollBarVisibility="Auto">
<ScrollViewer VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Auto">
<local:ExtendedDetailsControl DataContext="{Binding SelectedBody, Mode=OneWay}" />
</ScrollViewer>
</GroupBox>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,13 @@
xmlns:converters="clr-namespace:ODExplorer.WPFConverters"
xmlns:models="clr-namespace:ODExplorer.Models"
xmlns:viewvms="clr-namespace:ODExplorer.ViewModels.ViewVMs"
xmlns:sys="clr-namespace:System;assembly=netstandard"
d:DataContext="{d:DesignInstance Type=viewvms:SettingsViewModel}"
mc:Ignorable="d"
d:DesignHeight="450"
d:DesignWidth="800">
<UserControl.Resources>
<Thickness x:Key="CheckBoxMargin">6</Thickness>
<converters:BodyInfoIconDisplayConverter x:Key="bodyinfoEnumConverter" />
</UserControl.Resources>
<GroupBox Header="Current System Body Information Options"
Expand All @@ -30,6 +32,7 @@
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>

<TextBlock Grid.Row="0"
Expand All @@ -44,7 +47,7 @@

<StackPanel Orientation="Vertical"
Grid.Row="1"
Margin="10"
Margin="{StaticResource CheckBoxMargin}"
Width="200">
<TextBlock Text="N₂O₂"
FontSize="14"
Expand All @@ -63,7 +66,7 @@
<StackPanel Orientation="Vertical"
Grid.Column="1"
Grid.Row="1"
Margin="10"
Margin="{StaticResource CheckBoxMargin}"
Width="200">
<TextBlock Text="30 k"
FontSize="14"
Expand All @@ -82,7 +85,7 @@
<StackPanel Orientation="Vertical"
Grid.Column="0"
Grid.Row="2"
Margin="10"
Margin="{StaticResource CheckBoxMargin}"
Width="200">
<TextBlock Text="400 pa"
FontSize="14"
Expand All @@ -101,7 +104,7 @@
<StackPanel Orientation="Vertical"
Grid.Column="1"
Grid.Row="2"
Margin="10"
Margin="{StaticResource CheckBoxMargin}"
Width="200">
<Border Background="{DynamicResource DataGridRowUnknownBodyBackground}"
Width="30"
Expand All @@ -125,7 +128,7 @@
<StackPanel Orientation="Vertical"
Grid.Column="0"
Grid.Row="3"
Margin="10"
Margin="{StaticResource CheckBoxMargin}"
Width="200">
<Border Background="{DynamicResource DataGridRowUnknownBodyBackground}"
Width="30"
Expand All @@ -149,7 +152,7 @@
<StackPanel Orientation="Vertical"
Grid.Column="1"
Grid.Row="3"
Margin="10"
Margin="{StaticResource CheckBoxMargin}"
Width="200">
<Border Background="{DynamicResource DataGridRowUnknownBodyBackground}"
Width="30"
Expand All @@ -173,7 +176,7 @@
<StackPanel Orientation="Vertical"
Grid.Column="0"
Grid.Row="4"
Margin="10"
Margin="{StaticResource CheckBoxMargin}"
Width="200">
<Border Background="{DynamicResource DataGridRowUnknownBodyBackground}"
Width="30"
Expand All @@ -197,7 +200,7 @@
<StackPanel Orientation="Vertical"
Grid.Column="1"
Grid.Row="4"
Margin="10"
Margin="{StaticResource CheckBoxMargin}"
Width="200">
<StackPanel Orientation="Horizontal" Background="{DynamicResource DataGridRowUnknownBodyBackground}"
Width="40"
Expand Down Expand Up @@ -227,7 +230,7 @@
<StackPanel Orientation="Vertical"
Grid.Column="0"
Grid.Row="5"
Margin="10"
Margin="{StaticResource CheckBoxMargin}"
Width="200">
<StackPanel Orientation="Horizontal"
Background="{DynamicResource DataGridRowUnknownBodyBackground}"
Expand Down Expand Up @@ -258,7 +261,7 @@
<StackPanel Orientation="Vertical"
Grid.Column="1"
Grid.Row="5"
Margin="10"
Margin="{StaticResource CheckBoxMargin}"
Width="200">
<TextBlock Text="0.25"
FontWeight="Bold"
Expand All @@ -273,7 +276,48 @@
Width="200"
Style="{DynamicResource CheckBoxStyle}"
IsChecked="{Binding IconDisplay, Converter={StaticResource bodyinfoEnumConverter}, ConverterParameter={x:Static models:BodyInfoIconDisplay.SurfaceGravity}}" />
</StackPanel>
</StackPanel>

<StackPanel Orientation="Vertical"
Grid.Row="6"
Margin="{StaticResource CheckBoxMargin}"
Width="200">
<Border Background="{DynamicResource DataGridRowUnknownBodyBackground}"
Width="20">
<Rectangle Fill="{DynamicResource DataGridRowUnknownBodyForeGround}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Height="18"
Width="18">
<Rectangle.OpacityMask>
<ImageBrush ImageSource="/Resources/SystemGridIcons/planet.png" />
</Rectangle.OpacityMask>
</Rectangle>
</Border>
<CheckBox Content="Body Icon"
Width="200"
Style="{DynamicResource CheckBoxStyle}"
IsChecked="{Binding ShowBodyIcon}" />
</StackPanel>

<StackPanel Orientation="Vertical"
Grid.Row="6"
Grid.Column="1"
Margin="{StaticResource CheckBoxMargin}"
Width="200">
<TextBlock Text="5"
FontSize="14"
Margin="0,0,0,5"
HorizontalAlignment="Center"
Width="20"
TextAlignment="Center"
Foreground="{DynamicResource DataGridRowUnknownBodyForeGround}"
Background="{DynamicResource DataGridRowUnknownBodyBackground}" />
<CheckBox Content="Body ID"
Width="200"
Style="{DynamicResource CheckBoxStyle}"
IsChecked="{Binding ShowBodyId}" />
</StackPanel>
</Grid>
</GroupBox>
</UserControl>
7 changes: 5 additions & 2 deletions ODExplorer/Models/SystemGridSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ public sealed class SystemGridSettings
public Distance DistanceUnit { get; set; }
public int ExoValuableBodyValue { get; set; } = 20_000_000;
public bool FilterUnconfirmedBios { get; set; } = true;

public bool ShowBodyIcon { get; set; } = true;
public bool ShowBodyId { get; set; } = true;
public static SystemGridSettings DefaultValues()
{
return new()
Expand Down Expand Up @@ -54,7 +55,9 @@ public override bool Equals(object? obj)
&& PressureUnit == setting.PressureUnit
&& DistanceUnit == setting.DistanceUnit
&& ExoValuableBodyValue == setting.ExoValuableBodyValue
&& FilterUnconfirmedBios == setting.FilterUnconfirmedBios;
&& FilterUnconfirmedBios == setting.FilterUnconfirmedBios
&& ShowBodyIcon == setting.ShowBodyIcon
&& ShowBodyId == setting.ShowBodyId;
}

public SystemGridSettings Clone()
Expand Down
35 changes: 0 additions & 35 deletions ODExplorer/ResourceDictionaries/DataGridStyles.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -109,41 +109,6 @@
<Setter Property="Margin"
Value="0" />
<Style.Triggers>
<!--<DataTrigger Binding="{Binding Status}"
Value="{x:Static ndata:DiscoveryStatus.Discovered}">
<Setter Property="Background"
Value="{DynamicResource DataGridRowKnownBodyBackground}" />
<Setter Property="Foreground"
Value="{DynamicResource DataGridRowKnownBodyForeGround}" />
</DataTrigger>
<DataTrigger Binding="{Binding Status}"
Value="{x:Static ndata:DiscoveryStatus.UnDiscovered}">
<Setter Property="Background"
Value="{DynamicResource DataGridRowUnknownBodyBackground}" />
<Setter Property="Foreground"
Value="{DynamicResource DataGridRowUnknownBodyForeGround}" />
</DataTrigger>
<DataTrigger Binding="{Binding Status}"
Value="{x:Static ndata:DiscoveryStatus.WorthMapping}">
<Setter Property="Background"
Value="{DynamicResource DataGridRowHighValueBodyBackground}" />
<Setter Property="Foreground"
Value="{DynamicResource DataGridRowHighValueBodyForeGround}" />
</DataTrigger>
<DataTrigger Binding="{Binding Status}"
Value="{x:Static ndata:DiscoveryStatus.MappedByUser}">
<Setter Property="Background"
Value="{DynamicResource DataGridRowUserMappedBodyBackground}" />
<Setter Property="Foreground"
Value="{DynamicResource DataGridRowUserMappedBodyForeGround}" />
</DataTrigger>
<DataTrigger Binding="{Binding Status}"
Value="{x:Static ndata:DiscoveryStatus.Noteable}">
<Setter Property="Background"
Value="{DynamicResource DataGridRowNoteableBodyBackground}" />
<Setter Property="Foreground"
Value="{DynamicResource DataGridRowNoteableBodyForeGround}" />
</DataTrigger>-->
<Trigger Property="IsSelected"
Value="True">
<Setter Property="Background"
Expand Down
Loading

0 comments on commit 92e8a04

Please sign in to comment.