From abfcceeb4fddb69eb3737789424dcc9ecb36d09c Mon Sep 17 00:00:00 2001 From: Roy Ben Shabat Date: Sun, 31 May 2020 00:42:00 +0300 Subject: Take snapshot. --- .../ViewModels/RemoteDesktopViewVM.cs | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/ViewModels/RemoteDesktopViewVM.cs') diff --git a/Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/ViewModels/RemoteDesktopViewVM.cs b/Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/ViewModels/RemoteDesktopViewVM.cs index 9bd25a99a..86129b682 100644 --- a/Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/ViewModels/RemoteDesktopViewVM.cs +++ b/Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/ViewModels/RemoteDesktopViewVM.cs @@ -12,6 +12,7 @@ using System.Windows.Media.Imaging; using Tango.Core.Commands; using Tango.Core.Threading; using Tango.FSE.Common; +using Tango.FSE.Common.Notifications; using Tango.FSE.Common.RemoteDesktop; using Tango.RemoteDesktop.Frames; using Tango.RemoteDesktop.Network; @@ -60,6 +61,11 @@ namespace Tango.FSE.PPCConsole.ViewModels /// public RelayCommand HideAndOpenShellCommand { get; set; } + /// + /// Save current desktop frame to image + /// + public RelayCommand TakeSnapshotCommand { get; set; } + #endregion #region Constructors @@ -73,6 +79,7 @@ namespace Tango.FSE.PPCConsole.ViewModels StopCommand = new RelayCommand(StopRemoteDesktop); OpenTaskManagerCommand = new RelayCommand(OpenTaskManager); HideAndOpenShellCommand = new RelayCommand(HideAndOpenShell); + TakeSnapshotCommand = new RelayCommand(TakeSnapshot); } #endregion @@ -185,6 +192,28 @@ namespace Tango.FSE.PPCConsole.ViewModels #endregion + #region Snapshot + + private async void TakeSnapshot() + { + var snapshot = Source.Clone(); + + await Task.Delay(500); //Delay for blink animation.. + + var result = await StorageProvider.SaveFile("Save Snapshot", "Jpeg Files|*.jpg", $"TangoApp_{DateTime.Now.ToFileName()}.jpg", ".jpg"); + + if (result.Confirmed) + { + snapshot.SaveJpegFile(result.SelectedItem, 100); + NotificationProvider.PushSnackbarItem(MessageType.Success, "Remote Desktop Snapshot Saved", true, "Remote desktop snapshot saved successfully.\nTap to view the image file.", TimeSpan.FromSeconds(8), null, () => + { + StorageProvider.ShowInExplorer(result.SelectedItem); + }); + } + } + + #endregion + #region Remote Actions private void OpenTaskManager() -- cgit v1.3.1