From b33552531a60c63bffa7625aa9c4526832806dc3 Mon Sep 17 00:00:00 2001 From: Andreas Billmann Date: Mon, 28 Aug 2023 20:26:41 +0200 Subject: [PATCH] remember last chosen local directory --- K8sFileBrowser/K8sFileBrowser.csproj | 2 +- K8sFileBrowser/ViewModels/MainWindowViewModel.cs | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/K8sFileBrowser/K8sFileBrowser.csproj b/K8sFileBrowser/K8sFileBrowser.csproj index 13486a8..13e73b2 100644 --- a/K8sFileBrowser/K8sFileBrowser.csproj +++ b/K8sFileBrowser/K8sFileBrowser.csproj @@ -9,7 +9,7 @@ Debug;Release AnyCPU Assets/app.ico - 0.1.1 + 0.1.2 win-x64;linux-x64 diff --git a/K8sFileBrowser/ViewModels/MainWindowViewModel.cs b/K8sFileBrowser/ViewModels/MainWindowViewModel.cs index 77ff841..60fd237 100644 --- a/K8sFileBrowser/ViewModels/MainWindowViewModel.cs +++ b/K8sFileBrowser/ViewModels/MainWindowViewModel.cs @@ -21,7 +21,7 @@ public class MainWindowViewModel : ViewModelBase #region Properties [Reactive] - public string? Version { get; set; } = null!; + public string? Version { get; set; } [Reactive] public IEnumerable ClusterContexts { get; set; } = null!; @@ -58,6 +58,8 @@ public class MainWindowViewModel : ViewModelBase [Reactive] public Message Message { get; set; } = null!; + + private string _lastDirectory = "."; #endregion Properties @@ -232,9 +234,10 @@ public class MainWindowViewModel : ViewModelBase await Observable.StartAsync(async () => { var fileName = SelectedPod?.Name + ".log"; - var saveFileName = await ApplicationHelper.SaveFile(".", fileName); + var saveFileName = await ApplicationHelper.SaveFile(_lastDirectory, fileName); if (saveFileName != null) { + SetLastDirectory(saveFileName); ShowWorkingMessage("Downloading Log..."); await kubernetesService.DownloadLog(SelectedNamespace, SelectedPod, SelectedContainer, saveFileName); HideWorkingMessage(); @@ -258,9 +261,10 @@ public class MainWindowViewModel : ViewModelBase { var fileName = SelectedFile!.Name.Substring(SelectedFile!.Name.LastIndexOf('/') + 1, SelectedFile!.Name.Length - SelectedFile!.Name.LastIndexOf('/') - 1); - var saveFileName = await ApplicationHelper.SaveFile(".", fileName); + var saveFileName = await ApplicationHelper.SaveFile(_lastDirectory, fileName); if (saveFileName != null) { + SetLastDirectory(saveFileName); ShowWorkingMessage("Downloading File..."); await kubernetesService.DownloadFile(SelectedNamespace, SelectedPod, SelectedContainer, SelectedFile, saveFileName); HideWorkingMessage(); @@ -272,6 +276,11 @@ public class MainWindowViewModel : ViewModelBase .Subscribe(ShowErrorMessage); } + private void SetLastDirectory(string saveFileName) + { + _lastDirectory = saveFileName.Substring(0, saveFileName.LastIndexOf('\\')); + } + private void ConfigureOpenDirectoryCommand() { var isDirectory = this