Filtration/Filtration/ViewModels/SettingsPageViewModel.cs

47 lines
1.5 KiB
C#

using System.IO;
using System.Windows;
using Filtration.Common.ViewModels;
using Filtration.Properties;
using Filtration.Services;
using GalaSoft.MvvmLight.CommandWpf;
namespace Filtration.ViewModels
{
internal interface ISettingsPageViewModel
{
}
internal class SettingsPageViewModel : FiltrationViewModelBase, ISettingsPageViewModel
{
private readonly IItemFilterPersistenceService _itemFilterPersistenceService;
public SettingsPageViewModel(IItemFilterPersistenceService itemFilterPersistenceService)
{
_itemFilterPersistenceService = itemFilterPersistenceService;
SaveCommand = new RelayCommand(OnSaveCommand);
DefaultFilterDirectory = Settings.Default.DefaultFilterDirectory;
ExtraLineBetweenBlocks = Settings.Default.ExtraLineBetweenBlocks;
}
public RelayCommand SaveCommand { get; private set; }
public string DefaultFilterDirectory { get; set; }
public bool ExtraLineBetweenBlocks { get; set; }
private void OnSaveCommand()
{
try
{
_itemFilterPersistenceService.SetItemFilterScriptDirectory(DefaultFilterDirectory);
Settings.Default.ExtraLineBetweenBlocks = ExtraLineBetweenBlocks;
}
catch (DirectoryNotFoundException)
{
MessageBox.Show("The entered Default Filter Directory is invalid or does not exist.", "Error",
MessageBoxButton.OK, MessageBoxImage.Exclamation);
}
}
}
}