* Moved item filter script directory handling code to new ItemFilterScriptDirectorySerivce class
* Fixed issue #94 where the user was prompted to select their Path of Exile data directory after every upgrade. * The default Path of Exile data directory is now automatically chosen on first run if it exists * Moved CommonOpenFileDialog usage to new DialogService class * Changed Custom Sounds code in ItemFilterScriptViewModel to use ItemFilterScriptDirectory instead of DefaultPathOfExileDirectory * Moved Custom Sounds code from constructor to Initialise method to prevent the files being enumerated before the directory is set during startup
This commit is contained in:
@@ -1,11 +1,7 @@
|
||||
using System.IO;
|
||||
using System.Windows;
|
||||
using Filtration.Common.Services;
|
||||
using Filtration.Properties;
|
||||
using Filtration.Properties;
|
||||
using Filtration.Services;
|
||||
using GalaSoft.MvvmLight;
|
||||
using GalaSoft.MvvmLight.CommandWpf;
|
||||
using Microsoft.WindowsAPICodePack.Dialogs;
|
||||
|
||||
namespace Filtration.ViewModels
|
||||
{
|
||||
@@ -20,13 +16,11 @@ namespace Filtration.ViewModels
|
||||
|
||||
internal class SettingsPageViewModel : ViewModelBase, ISettingsPageViewModel
|
||||
{
|
||||
private readonly IItemFilterPersistenceService _itemFilterPersistenceService;
|
||||
private readonly IMessageBoxService _messageBoxService;
|
||||
private readonly IItemFilterScriptDirectoryService _itemFilterScriptDirectoryService;
|
||||
|
||||
public SettingsPageViewModel(IItemFilterPersistenceService itemFilterPersistenceService, IMessageBoxService messageBoxService)
|
||||
public SettingsPageViewModel(IItemFilterScriptDirectoryService itemFilterScriptDirectoryService)
|
||||
{
|
||||
_itemFilterPersistenceService = itemFilterPersistenceService;
|
||||
_messageBoxService = messageBoxService;
|
||||
_itemFilterScriptDirectoryService = itemFilterScriptDirectoryService;
|
||||
SetItemFilterScriptDirectoryCommand = new RelayCommand(OnSetItemFilterScriptDirectoryCommand);
|
||||
}
|
||||
|
||||
@@ -48,24 +42,8 @@ namespace Filtration.ViewModels
|
||||
|
||||
private void OnSetItemFilterScriptDirectoryCommand()
|
||||
{
|
||||
using (var dialog = new CommonOpenFileDialog())
|
||||
{
|
||||
dialog.IsFolderPicker = true;
|
||||
var result = dialog.ShowDialog();
|
||||
if (result == CommonFileDialogResult.Ok)
|
||||
{
|
||||
try
|
||||
{
|
||||
_itemFilterPersistenceService.SetItemFilterScriptDirectory(dialog.FileName);
|
||||
RaisePropertyChanged(nameof(DefaultFilterDirectory));
|
||||
}
|
||||
catch (DirectoryNotFoundException)
|
||||
{
|
||||
_messageBoxService.Show("Error", "The entered Default Filter Directory is invalid or does not exist.",
|
||||
MessageBoxButton.OK, MessageBoxImage.Exclamation);
|
||||
}
|
||||
}
|
||||
}
|
||||
_itemFilterScriptDirectoryService.SetItemFilterScriptDirectory();
|
||||
RaisePropertyChanged(nameof(DefaultFilterDirectory));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user