Skip to content

Commit

Permalink
ConfigApp: Split Misc tab into subtabs & rename to Settings
Browse files Browse the repository at this point in the history
  • Loading branch information
pongo1231 committed Jan 24, 2025
1 parent 51b4994 commit bfd3770
Show file tree
Hide file tree
Showing 8 changed files with 427 additions and 214 deletions.
3 changes: 2 additions & 1 deletion ConfigApp/MainWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
using System.Windows.Input;
using System.Windows.Media;
using ConfigApp.Tabs;
using ConfigApp.Tabs.Settings;
using ConfigApp.Tabs.Voting;
using static ConfigApp.Effects;

Expand All @@ -15,7 +16,7 @@ public partial class MainWindow : Window
private readonly Dictionary<string, Tab> m_Tabs = new()
{
//{ "Meta", new MetaTab() },
{ "Misc", new MiscTab() },
{ "Settings", new SettingsTab() },
{ "Voting", new VotingTab() },
{ "Workshop", new WorkshopTab() },
{ "More", new MoreTab() }
Expand Down
213 changes: 0 additions & 213 deletions ConfigApp/Tabs/MiscTab.cs

This file was deleted.

70 changes: 70 additions & 0 deletions ConfigApp/Tabs/Settings/ColorsTab.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using Xceed.Wpf.Toolkit;

namespace ConfigApp.Tabs.Settings
{
public class ColorsTab : Tab
{
private ColorPicker? m_TimerBarColor = null;
private ColorPicker? m_EffectTextColor = null;
private ColorPicker? m_EffectTimerBarColor = null;

private static ColorPicker GenerateCommonColorPicker(Color defaultColor)
{
return new ColorPicker()
{
Width = 60f,
Height = 25f,
SelectedColor = defaultColor,
ShowStandardColors = false,
UsingAlphaChannel = false
};
}

protected override void InitContent()
{
PushNewColumn(new GridLength(1f, GridUnitType.Star));
SetRowHeight(new GridLength(1f, GridUnitType.Star));

var scrollViewer = new ScrollViewer();

var grid = new ChaosGrid();
grid.PushNewColumn(new GridLength(310f));
grid.PushNewColumn(new GridLength(10f));
grid.PushNewColumn(new GridLength(100f));
grid.PushNewColumn(new GridLength(450f));
grid.PushNewColumn(new GridLength(10f));
grid.PushNewColumn(new GridLength());

grid.PushRowSpacedPair("Timer bar color", m_TimerBarColor = GenerateCommonColorPicker(Color.FromRgb(0x40, 0x40, 0xFF)));
grid.PopRow();

grid.PushRowSpacedPair("Effect text color", m_EffectTextColor = GenerateCommonColorPicker(Color.FromRgb(0xFF, 0xFF, 0xFF)));
grid.PushRowSpacedPair("Effect timer bar color", m_EffectTimerBarColor = GenerateCommonColorPicker(Color.FromRgb(0xB4, 0xB4, 0xB4)));
grid.PopRow();

scrollViewer.Content = grid.Grid;

PushRowElement(scrollViewer);
}

public override void OnLoadValues()
{
if (OptionsManager.ConfigFile.HasKey("EffectTimerColor") && m_TimerBarColor is not null)
m_TimerBarColor.SelectedColor = (Color)ColorConverter.ConvertFromString(OptionsManager.ConfigFile.ReadValue("EffectTimerColor"));
if (OptionsManager.ConfigFile.HasKey("EffectTextColor") && m_EffectTextColor is not null)
m_EffectTextColor.SelectedColor = (Color)ColorConverter.ConvertFromString(OptionsManager.ConfigFile.ReadValue("EffectTextColor"));
if (OptionsManager.ConfigFile.HasKey("EffectTimedTimerColor") && m_EffectTimerBarColor is not null)
m_EffectTimerBarColor.SelectedColor = (Color)ColorConverter.ConvertFromString(OptionsManager.ConfigFile.ReadValue("EffectTimedTimerColor"));
}

public override void OnSaveValues()
{
OptionsManager.ConfigFile.WriteValue("EffectTimerColor", m_TimerBarColor?.SelectedColor.ToString());
OptionsManager.ConfigFile.WriteValue("EffectTextColor", m_EffectTextColor?.SelectedColor.ToString());
OptionsManager.ConfigFile.WriteValue("EffectTimedTimerColor", m_EffectTimerBarColor?.SelectedColor.ToString());
}
}
}
Loading

0 comments on commit bfd3770

Please sign in to comment.