2 Commits

Author SHA1 Message Date
b33552531a remember last chosen local directory 2023-08-28 20:26:41 +02:00
7f7471d47b show message also in ui thread 2023-08-14 20:30:25 +02:00
2 changed files with 52 additions and 36 deletions

View File

@@ -9,7 +9,7 @@
<Configurations>Debug;Release</Configurations>
<Platforms>AnyCPU</Platforms>
<ApplicationIcon>Assets/app.ico</ApplicationIcon>
<Version>0.0.9</Version>
<Version>0.1.2</Version>
<RuntimeIdentifiers>win-x64;linux-x64</RuntimeIdentifiers>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">

View File

@@ -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<ClusterContext> ClusterContexts { get; set; } = null!;
@@ -59,6 +59,8 @@ public class MainWindowViewModel : ViewModelBase
[Reactive]
public Message Message { get; set; } = null!;
private string _lastDirectory = ".";
#endregion Properties
#region Commands
@@ -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
@@ -387,24 +396,31 @@ public class MainWindowViewModel : ViewModelBase
private void ShowWorkingMessage(string message)
{
Message = new Message
RxApp.MainThreadScheduler.Schedule(Action);
return;
void Action()
{
IsVisible = true,
Text = message,
IsError = false
};
Message = new Message
{
IsVisible = true,
Text = message,
IsError = false
};
}
}
private void ShowErrorMessage(string message)
{
RxApp.MainThreadScheduler.Schedule(Action);
return;
async void Action()
{
Message = new Message { IsVisible = true, Text = message, IsError = true };
await Task.Delay(7000);
HideWorkingMessage();
}
RxApp.MainThreadScheduler.Schedule(Action);
}
private void ShowErrorMessage(Exception exception)