Add setting for default status

This commit is contained in:
2021-12-20 17:50:58 -05:00
parent 0c8ec51660
commit 18aae0cef3
8 changed files with 109 additions and 25 deletions

View File

@@ -1,10 +1,24 @@
using Common.Wpf.Extensions;
using System;
using Common.Wpf.Extensions;
using System.Collections.ObjectModel;
using System.Windows;
namespace WorkIndicator.Options
{
public partial class GeneralOptionsPanel
{
public class StatusItem
{
public Status Value { get; set; }
public string Text { get; set; }
public StatusItem(Status value, string text)
{
Value = value;
Text = text;
}
}
public GeneralOptionsPanel()
{
InitializeComponent();
@@ -17,6 +31,8 @@ namespace WorkIndicator.Options
var settings = Properties.Settings.Default;
StartWithWindows.IsChecked = settings.StartWithWindows;
DefaultStatus.SelectedValue = Enum.Parse(typeof(Status), settings.DefaultStatus);
}
public override bool ValidatePanel()
@@ -32,8 +48,18 @@ namespace WorkIndicator.Options
settings.StartWithWindows = StartWithWindows.IsChecked.Value;
Application.Current.SetStartWithWindows(settings.StartWithWindows);
settings.DefaultStatus = DefaultStatus.SelectedValue.ToString();
}
public override string CategoryName => Properties.Resources.OptionCategory_General;
public ObservableCollection<StatusItem> DefaultStatusList => new ObservableCollection<StatusItem>
{
new StatusItem(Status.Free, Properties.Resources.Free),
new StatusItem(Status.Working, Properties.Resources.Working),
new StatusItem(Status.OnPhone, Properties.Resources.OnPhone),
new StatusItem(Status.Talking, Properties.Resources.Talking)
};
}
}