From 017d5fa4095f25092ca19fb80b763c401e278c74 Mon Sep 17 00:00:00 2001 From: Simon G Date: Thu, 22 Apr 2021 15:24:12 +0200 Subject: [PATCH] - handle no driver selected --- Mystify/ViewModels/MainWindowViewModel.cs | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/Mystify/ViewModels/MainWindowViewModel.cs b/Mystify/ViewModels/MainWindowViewModel.cs index 8b2f635..a4f344b 100644 --- a/Mystify/ViewModels/MainWindowViewModel.cs +++ b/Mystify/ViewModels/MainWindowViewModel.cs @@ -9,6 +9,7 @@ using System.Linq; using System.Windows.Input; using Avalonia.Controls; using Lib.Driver; +using Lib.Logging; using Lib.Tools; using Mystify.Views; using ReactiveUI; @@ -52,10 +53,18 @@ namespace Mystify.ViewModels { Filters = new List {new() {Extensions = new List {DriverLoader.DRIVER_FILE_EXTENSION}, Name = "Mystify Driver"}} }; - - string driverPath = (await openFileDialog.ShowAsync(_mainWindow))[0]; - _mainModel?.LoadDriverAndDevice(driverPath); + string[] selectedPaths = await openFileDialog.ShowAsync(_mainWindow); + if (selectedPaths.Length == 0) + { + await Log.Write("No Driver selected."); + return; + } + + string driverPath = selectedPaths[0]; + + if (!string.IsNullOrEmpty(driverPath)) + _mainModel?.LoadDriverAndDevice(driverPath); RaisePropertyChanged(() => SelectedDeviceText); RaisePropertyChanged(() => Channels);