mirror of
https://github.com/ckaczor/WorkIndicator.git
synced 2026-01-14 01:25:45 -05:00
Add setting for default status
This commit is contained in:
@@ -7,8 +7,14 @@
|
||||
xmlns:properties="clr-namespace:WorkIndicator.Properties"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300"
|
||||
d:DesignWidth="300">
|
||||
d:DesignWidth="300"
|
||||
DataContext="{Binding RelativeSource={RelativeSource Self}}">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"></RowDefinition>
|
||||
<RowDefinition Height="Auto"></RowDefinition>
|
||||
<RowDefinition Height="*"></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
@@ -18,5 +24,19 @@
|
||||
VerticalAlignment="Top"
|
||||
VerticalContentAlignment="Center"
|
||||
Grid.ColumnSpan="2" />
|
||||
<Label Content="{x:Static properties:Resources.DefaultStatus}"
|
||||
Name="ApplicationNameLabel"
|
||||
VerticalAlignment="Center"
|
||||
Padding="0,0,6,0"
|
||||
Grid.Row="1"
|
||||
Margin="0,20,0,0" />
|
||||
<ComboBox Name="DefaultStatus"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Margin="0,20,0,0"
|
||||
ItemsSource="{Binding Path=DefaultStatusList}"
|
||||
DisplayMemberPath="Text"
|
||||
SelectedValuePath="Value">
|
||||
</ComboBox>
|
||||
</Grid>
|
||||
</windows:CategoryPanel>
|
||||
|
||||
@@ -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)
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user