From f9ba457a99d9c9a49e5c552cecae11906ff40880 Mon Sep 17 00:00:00 2001 From: Robin Date: Mon, 13 Aug 2018 16:07:38 +0200 Subject: [PATCH] Working on clean capture logic. --- .../Greenshot.Addon.Box.csproj | 36 +-- src/Greenshot.Addon.Box/packages.config | 18 +- .../Greenshot.Addon.Confluence.csproj | 36 +-- .../packages.config | 18 +- .../Greenshot.Addon.Dropbox.csproj | 36 +-- src/Greenshot.Addon.Dropbox/packages.config | 18 +- .../ExternalCommandDestinationProvider.cs | 1 + .../Greenshot.Addon.ExternalCommand.csproj | 36 +-- .../packages.config | 18 +- .../Greenshot.Addon.Flickr.csproj | 36 +-- src/Greenshot.Addon.Flickr/packages.config | 18 +- .../Greenshot.Addon.GooglePhotos.csproj | 36 +-- .../packages.config | 18 +- .../Greenshot.Addon.Imgur.csproj | 36 +-- src/Greenshot.Addon.Imgur/packages.config | 18 +- .../Greenshot.Addon.Jira.csproj | 36 +-- src/Greenshot.Addon.Jira/JiraMonitor.cs | 1 + src/Greenshot.Addon.Jira/packages.config | 18 +- .../Greenshot.Addon.LegacyEditor.csproj | 36 +-- .../packages.config | 18 +- .../Greenshot.Addon.Lutim.csproj | 36 +-- src/Greenshot.Addon.Lutim/packages.config | 18 +- .../Greenshot.Addon.OCR.csproj | 36 +-- src/Greenshot.Addon.OCR/packages.config | 18 +- .../Greenshot.Addon.Office.csproj | 36 +-- src/Greenshot.Addon.Office/packages.config | 18 +- .../Greenshot.Addon.OneDrive.csproj | 36 +-- src/Greenshot.Addon.OneDrive/packages.config | 18 +- .../Greenshot.Addon.Photobucket.csproj | 36 +-- .../packages.config | 18 +- .../Greenshot.Addon.Tfs.csproj | 36 +-- src/Greenshot.Addon.Tfs/packages.config | 18 +- .../Greenshot.Addon.Win10.csproj | 36 +-- src/Greenshot.Addon.Win10/packages.config | 18 +- src/Greenshot.Addons/Greenshot.Addons.csproj | 43 ++-- src/Greenshot.Addons/packages.config | 20 +- src/Greenshot.Core/Capture.cs | 51 ++++ src/Greenshot.Core/CaptureElement.cs | 55 +++++ src/Greenshot.Core/CaptureFlow.cs | 96 ++++++++ .../Enums/CaptureElementType.cs | 40 ++++ src/Greenshot.Core/Greenshot.Core.csproj | 85 +++++++ src/Greenshot.Core/Interfaces/ICapture.cs | 60 +++++ .../Interfaces/ICaptureElement.cs | 64 +++++ src/Greenshot.Core/Interfaces/IDestination.cs | 42 ++++ src/Greenshot.Core/Interfaces/IProcessor.cs | 43 ++++ src/Greenshot.Core/Interfaces/ISource.cs | 42 ++++ src/Greenshot.Core/Interfaces/ITemplate.cs | 40 ++++ src/Greenshot.Core/Properties/AssemblyInfo.cs | 35 +++ src/Greenshot.Core/Sources/MouseSource.cs | 53 +++++ src/Greenshot.Core/Sources/ScreenSource.cs | 220 ++++++++++++++++++ .../Templates/CroppedTemplate.cs | 93 ++++++++ src/Greenshot.Core/packages.config | 14 ++ .../Extensions/WriteableBitmapExtensions.cs | 53 +++++ src/Greenshot.Gfx/Greenshot.Gfx.csproj | 21 +- src/Greenshot.Gfx/packages.config | 10 +- src/Greenshot.PerformanceTests/App.config | 2 +- .../Greenshot.PerformanceTests.csproj | 20 +- .../packages.config | 10 +- src/Greenshot.Tests/CaptureTests.cs | 45 ++++ src/Greenshot.Tests/Greenshot.Tests.csproj | 25 +- src/Greenshot.Tests/app.config | 2 +- src/Greenshot.Tests/packages.config | 10 +- src/Greenshot.sln | 11 +- src/Greenshot/App.config | 2 +- src/Greenshot/Components/CommandlineParser.cs | 14 +- src/Greenshot/Components/FormsStartup.cs | 1 + src/Greenshot/Components/HotkeyService.cs | 1 + src/Greenshot/Components/MainFormStartup.cs | 1 + src/Greenshot/Components/SoundHelper.cs | 1 + src/Greenshot/Components/UpdateService.cs | 9 +- src/Greenshot/Greenshot.csproj | 48 ++-- .../ViewModels/CaptureConfigViewModel.cs | 3 + src/Greenshot/packages.config | 24 +- 73 files changed, 1717 insertions(+), 558 deletions(-) create mode 100644 src/Greenshot.Core/Capture.cs create mode 100644 src/Greenshot.Core/CaptureElement.cs create mode 100644 src/Greenshot.Core/CaptureFlow.cs create mode 100644 src/Greenshot.Core/Enums/CaptureElementType.cs create mode 100644 src/Greenshot.Core/Greenshot.Core.csproj create mode 100644 src/Greenshot.Core/Interfaces/ICapture.cs create mode 100644 src/Greenshot.Core/Interfaces/ICaptureElement.cs create mode 100644 src/Greenshot.Core/Interfaces/IDestination.cs create mode 100644 src/Greenshot.Core/Interfaces/IProcessor.cs create mode 100644 src/Greenshot.Core/Interfaces/ISource.cs create mode 100644 src/Greenshot.Core/Interfaces/ITemplate.cs create mode 100644 src/Greenshot.Core/Properties/AssemblyInfo.cs create mode 100644 src/Greenshot.Core/Sources/MouseSource.cs create mode 100644 src/Greenshot.Core/Sources/ScreenSource.cs create mode 100644 src/Greenshot.Core/Templates/CroppedTemplate.cs create mode 100644 src/Greenshot.Core/packages.config create mode 100644 src/Greenshot.Gfx/Extensions/WriteableBitmapExtensions.cs create mode 100644 src/Greenshot.Tests/CaptureTests.cs diff --git a/src/Greenshot.Addon.Box/Greenshot.Addon.Box.csproj b/src/Greenshot.Addon.Box/Greenshot.Addon.Box.csproj index ac353339c..63b1345ba 100644 --- a/src/Greenshot.Addon.Box/Greenshot.Addon.Box.csproj +++ b/src/Greenshot.Addon.Box/Greenshot.Addon.Box.csproj @@ -43,32 +43,32 @@ ..\packages\Caliburn.Micro.3.2.0\lib\net45\Caliburn.Micro.Platform.Core.dll - - ..\packages\CommonServiceLocator.2.0.3\lib\net45\CommonServiceLocator.dll + + ..\packages\CommonServiceLocator.2.0.4\lib\net46\CommonServiceLocator.dll - - ..\packages\Dapplo.Addons.1.0.71\lib\net461\Dapplo.Addons.dll + + ..\packages\Dapplo.Addons.1.0.72\lib\net461\Dapplo.Addons.dll - - ..\packages\Dapplo.Addons.Bootstrapper.1.0.71\lib\net461\Dapplo.Addons.Bootstrapper.dll + + ..\packages\Dapplo.Addons.Bootstrapper.1.0.72\lib\net461\Dapplo.Addons.Bootstrapper.dll - - ..\packages\Dapplo.CaliburnMicro.1.0.70\lib\net461\Dapplo.CaliburnMicro.dll + + ..\packages\Dapplo.CaliburnMicro.1.0.71\lib\net461\Dapplo.CaliburnMicro.dll - - ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.70\lib\net461\Dapplo.CaliburnMicro.Configuration.dll + + ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.71\lib\net461\Dapplo.CaliburnMicro.Configuration.dll - - ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.70\lib\net461\Dapplo.CaliburnMicro.Dapp.dll + + ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.71\lib\net461\Dapplo.CaliburnMicro.Dapp.dll - - ..\packages\Dapplo.CaliburnMicro.Menu.1.0.70\lib\net461\Dapplo.CaliburnMicro.Menu.dll + + ..\packages\Dapplo.CaliburnMicro.Menu.1.0.71\lib\net461\Dapplo.CaliburnMicro.Menu.dll - - ..\packages\Dapplo.CaliburnMicro.Security.1.0.70\lib\net461\Dapplo.CaliburnMicro.Security.dll + + ..\packages\Dapplo.CaliburnMicro.Security.1.0.71\lib\net461\Dapplo.CaliburnMicro.Security.dll - - ..\packages\Dapplo.CaliburnMicro.Translations.1.0.70\lib\net461\Dapplo.CaliburnMicro.Translations.dll + + ..\packages\Dapplo.CaliburnMicro.Translations.1.0.71\lib\net461\Dapplo.CaliburnMicro.Translations.dll ..\packages\Dapplo.HttpExtensions.0.8.43\lib\net46\Dapplo.HttpExtensions.dll diff --git a/src/Greenshot.Addon.Box/packages.config b/src/Greenshot.Addon.Box/packages.config index 944ab8ce9..9f5756085 100644 --- a/src/Greenshot.Addon.Box/packages.config +++ b/src/Greenshot.Addon.Box/packages.config @@ -5,15 +5,15 @@ - - - - - - - - - + + + + + + + + + diff --git a/src/Greenshot.Addon.Confluence/Greenshot.Addon.Confluence.csproj b/src/Greenshot.Addon.Confluence/Greenshot.Addon.Confluence.csproj index 7631f0ede..fadc7a935 100644 --- a/src/Greenshot.Addon.Confluence/Greenshot.Addon.Confluence.csproj +++ b/src/Greenshot.Addon.Confluence/Greenshot.Addon.Confluence.csproj @@ -42,35 +42,35 @@ ..\packages\Caliburn.Micro.3.2.0\lib\net45\Caliburn.Micro.Platform.Core.dll - - ..\packages\CommonServiceLocator.2.0.3\lib\net45\CommonServiceLocator.dll + + ..\packages\CommonServiceLocator.2.0.4\lib\net46\CommonServiceLocator.dll ..\packages\Costura.Fody.3.1.0\lib\net46\Costura.dll - - ..\packages\Dapplo.Addons.1.0.71\lib\net461\Dapplo.Addons.dll + + ..\packages\Dapplo.Addons.1.0.72\lib\net461\Dapplo.Addons.dll - - ..\packages\Dapplo.Addons.Bootstrapper.1.0.71\lib\net461\Dapplo.Addons.Bootstrapper.dll + + ..\packages\Dapplo.Addons.Bootstrapper.1.0.72\lib\net461\Dapplo.Addons.Bootstrapper.dll - - ..\packages\Dapplo.CaliburnMicro.1.0.70\lib\net461\Dapplo.CaliburnMicro.dll + + ..\packages\Dapplo.CaliburnMicro.1.0.71\lib\net461\Dapplo.CaliburnMicro.dll - - ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.70\lib\net461\Dapplo.CaliburnMicro.Configuration.dll + + ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.71\lib\net461\Dapplo.CaliburnMicro.Configuration.dll - - ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.70\lib\net461\Dapplo.CaliburnMicro.Dapp.dll + + ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.71\lib\net461\Dapplo.CaliburnMicro.Dapp.dll - - ..\packages\Dapplo.CaliburnMicro.Menu.1.0.70\lib\net461\Dapplo.CaliburnMicro.Menu.dll + + ..\packages\Dapplo.CaliburnMicro.Menu.1.0.71\lib\net461\Dapplo.CaliburnMicro.Menu.dll - - ..\packages\Dapplo.CaliburnMicro.Security.1.0.70\lib\net461\Dapplo.CaliburnMicro.Security.dll + + ..\packages\Dapplo.CaliburnMicro.Security.1.0.71\lib\net461\Dapplo.CaliburnMicro.Security.dll - - ..\packages\Dapplo.CaliburnMicro.Translations.1.0.70\lib\net461\Dapplo.CaliburnMicro.Translations.dll + + ..\packages\Dapplo.CaliburnMicro.Translations.1.0.71\lib\net461\Dapplo.CaliburnMicro.Translations.dll ..\packages\Dapplo.Confluence.0.7.19\lib\net46\Dapplo.Confluence.dll diff --git a/src/Greenshot.Addon.Confluence/packages.config b/src/Greenshot.Addon.Confluence/packages.config index ba61130a3..094146309 100644 --- a/src/Greenshot.Addon.Confluence/packages.config +++ b/src/Greenshot.Addon.Confluence/packages.config @@ -5,16 +5,16 @@ - + - - - - - - - - + + + + + + + + diff --git a/src/Greenshot.Addon.Dropbox/Greenshot.Addon.Dropbox.csproj b/src/Greenshot.Addon.Dropbox/Greenshot.Addon.Dropbox.csproj index ec0d7058e..6623f272e 100644 --- a/src/Greenshot.Addon.Dropbox/Greenshot.Addon.Dropbox.csproj +++ b/src/Greenshot.Addon.Dropbox/Greenshot.Addon.Dropbox.csproj @@ -40,32 +40,32 @@ ..\packages\Caliburn.Micro.3.2.0\lib\net45\Caliburn.Micro.Platform.Core.dll - - ..\packages\CommonServiceLocator.2.0.3\lib\net45\CommonServiceLocator.dll + + ..\packages\CommonServiceLocator.2.0.4\lib\net46\CommonServiceLocator.dll - - ..\packages\Dapplo.Addons.1.0.71\lib\net461\Dapplo.Addons.dll + + ..\packages\Dapplo.Addons.1.0.72\lib\net461\Dapplo.Addons.dll - - ..\packages\Dapplo.Addons.Bootstrapper.1.0.71\lib\net461\Dapplo.Addons.Bootstrapper.dll + + ..\packages\Dapplo.Addons.Bootstrapper.1.0.72\lib\net461\Dapplo.Addons.Bootstrapper.dll - - ..\packages\Dapplo.CaliburnMicro.1.0.70\lib\net461\Dapplo.CaliburnMicro.dll + + ..\packages\Dapplo.CaliburnMicro.1.0.71\lib\net461\Dapplo.CaliburnMicro.dll - - ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.70\lib\net461\Dapplo.CaliburnMicro.Configuration.dll + + ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.71\lib\net461\Dapplo.CaliburnMicro.Configuration.dll - - ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.70\lib\net461\Dapplo.CaliburnMicro.Dapp.dll + + ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.71\lib\net461\Dapplo.CaliburnMicro.Dapp.dll - - ..\packages\Dapplo.CaliburnMicro.Menu.1.0.70\lib\net461\Dapplo.CaliburnMicro.Menu.dll + + ..\packages\Dapplo.CaliburnMicro.Menu.1.0.71\lib\net461\Dapplo.CaliburnMicro.Menu.dll - - ..\packages\Dapplo.CaliburnMicro.Security.1.0.70\lib\net461\Dapplo.CaliburnMicro.Security.dll + + ..\packages\Dapplo.CaliburnMicro.Security.1.0.71\lib\net461\Dapplo.CaliburnMicro.Security.dll - - ..\packages\Dapplo.CaliburnMicro.Translations.1.0.70\lib\net461\Dapplo.CaliburnMicro.Translations.dll + + ..\packages\Dapplo.CaliburnMicro.Translations.1.0.71\lib\net461\Dapplo.CaliburnMicro.Translations.dll ..\packages\Dapplo.HttpExtensions.0.8.43\lib\net46\Dapplo.HttpExtensions.dll diff --git a/src/Greenshot.Addon.Dropbox/packages.config b/src/Greenshot.Addon.Dropbox/packages.config index 944ab8ce9..9f5756085 100644 --- a/src/Greenshot.Addon.Dropbox/packages.config +++ b/src/Greenshot.Addon.Dropbox/packages.config @@ -5,15 +5,15 @@ - - - - - - - - - + + + + + + + + + diff --git a/src/Greenshot.Addon.ExternalCommand/ExternalCommandDestinationProvider.cs b/src/Greenshot.Addon.ExternalCommand/ExternalCommandDestinationProvider.cs index b84ce2bb7..cdfe97228 100644 --- a/src/Greenshot.Addon.ExternalCommand/ExternalCommandDestinationProvider.cs +++ b/src/Greenshot.Addon.ExternalCommand/ExternalCommandDestinationProvider.cs @@ -105,6 +105,7 @@ namespace Greenshot.Addon.ExternalCommand return false; } + /// public void Startup() { // Check configuration & cleanup diff --git a/src/Greenshot.Addon.ExternalCommand/Greenshot.Addon.ExternalCommand.csproj b/src/Greenshot.Addon.ExternalCommand/Greenshot.Addon.ExternalCommand.csproj index 2a3b3e10d..7c36a100f 100644 --- a/src/Greenshot.Addon.ExternalCommand/Greenshot.Addon.ExternalCommand.csproj +++ b/src/Greenshot.Addon.ExternalCommand/Greenshot.Addon.ExternalCommand.csproj @@ -58,32 +58,32 @@ ..\packages\CliWrap.1.8.5\lib\net45\CliWrap.dll - - ..\packages\CommonServiceLocator.2.0.3\lib\net45\CommonServiceLocator.dll + + ..\packages\CommonServiceLocator.2.0.4\lib\net46\CommonServiceLocator.dll - - ..\packages\Dapplo.Addons.1.0.71\lib\net461\Dapplo.Addons.dll + + ..\packages\Dapplo.Addons.1.0.72\lib\net461\Dapplo.Addons.dll - - ..\packages\Dapplo.Addons.Bootstrapper.1.0.71\lib\net461\Dapplo.Addons.Bootstrapper.dll + + ..\packages\Dapplo.Addons.Bootstrapper.1.0.72\lib\net461\Dapplo.Addons.Bootstrapper.dll - - ..\packages\Dapplo.CaliburnMicro.1.0.70\lib\net461\Dapplo.CaliburnMicro.dll + + ..\packages\Dapplo.CaliburnMicro.1.0.71\lib\net461\Dapplo.CaliburnMicro.dll - - ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.70\lib\net461\Dapplo.CaliburnMicro.Configuration.dll + + ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.71\lib\net461\Dapplo.CaliburnMicro.Configuration.dll - - ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.70\lib\net461\Dapplo.CaliburnMicro.Dapp.dll + + ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.71\lib\net461\Dapplo.CaliburnMicro.Dapp.dll - - ..\packages\Dapplo.CaliburnMicro.Menu.1.0.70\lib\net461\Dapplo.CaliburnMicro.Menu.dll + + ..\packages\Dapplo.CaliburnMicro.Menu.1.0.71\lib\net461\Dapplo.CaliburnMicro.Menu.dll - - ..\packages\Dapplo.CaliburnMicro.Security.1.0.70\lib\net461\Dapplo.CaliburnMicro.Security.dll + + ..\packages\Dapplo.CaliburnMicro.Security.1.0.71\lib\net461\Dapplo.CaliburnMicro.Security.dll - - ..\packages\Dapplo.CaliburnMicro.Translations.1.0.70\lib\net461\Dapplo.CaliburnMicro.Translations.dll + + ..\packages\Dapplo.CaliburnMicro.Translations.1.0.71\lib\net461\Dapplo.CaliburnMicro.Translations.dll ..\packages\Dapplo.Ini.0.5.28\lib\net45\Dapplo.Ini.dll diff --git a/src/Greenshot.Addon.ExternalCommand/packages.config b/src/Greenshot.Addon.ExternalCommand/packages.config index 8bc599323..23f893e8c 100644 --- a/src/Greenshot.Addon.ExternalCommand/packages.config +++ b/src/Greenshot.Addon.ExternalCommand/packages.config @@ -6,15 +6,15 @@ - - - - - - - - - + + + + + + + + + diff --git a/src/Greenshot.Addon.Flickr/Greenshot.Addon.Flickr.csproj b/src/Greenshot.Addon.Flickr/Greenshot.Addon.Flickr.csproj index 2c2a7191b..9fdf8d988 100644 --- a/src/Greenshot.Addon.Flickr/Greenshot.Addon.Flickr.csproj +++ b/src/Greenshot.Addon.Flickr/Greenshot.Addon.Flickr.csproj @@ -55,32 +55,32 @@ ..\packages\Caliburn.Micro.3.2.0\lib\net45\Caliburn.Micro.Platform.Core.dll - - ..\packages\CommonServiceLocator.2.0.3\lib\net45\CommonServiceLocator.dll + + ..\packages\CommonServiceLocator.2.0.4\lib\net46\CommonServiceLocator.dll - - ..\packages\Dapplo.Addons.1.0.71\lib\net461\Dapplo.Addons.dll + + ..\packages\Dapplo.Addons.1.0.72\lib\net461\Dapplo.Addons.dll - - ..\packages\Dapplo.Addons.Bootstrapper.1.0.71\lib\net461\Dapplo.Addons.Bootstrapper.dll + + ..\packages\Dapplo.Addons.Bootstrapper.1.0.72\lib\net461\Dapplo.Addons.Bootstrapper.dll - - ..\packages\Dapplo.CaliburnMicro.1.0.70\lib\net461\Dapplo.CaliburnMicro.dll + + ..\packages\Dapplo.CaliburnMicro.1.0.71\lib\net461\Dapplo.CaliburnMicro.dll - - ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.70\lib\net461\Dapplo.CaliburnMicro.Configuration.dll + + ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.71\lib\net461\Dapplo.CaliburnMicro.Configuration.dll - - ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.70\lib\net461\Dapplo.CaliburnMicro.Dapp.dll + + ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.71\lib\net461\Dapplo.CaliburnMicro.Dapp.dll - - ..\packages\Dapplo.CaliburnMicro.Menu.1.0.70\lib\net461\Dapplo.CaliburnMicro.Menu.dll + + ..\packages\Dapplo.CaliburnMicro.Menu.1.0.71\lib\net461\Dapplo.CaliburnMicro.Menu.dll - - ..\packages\Dapplo.CaliburnMicro.Security.1.0.70\lib\net461\Dapplo.CaliburnMicro.Security.dll + + ..\packages\Dapplo.CaliburnMicro.Security.1.0.71\lib\net461\Dapplo.CaliburnMicro.Security.dll - - ..\packages\Dapplo.CaliburnMicro.Translations.1.0.70\lib\net461\Dapplo.CaliburnMicro.Translations.dll + + ..\packages\Dapplo.CaliburnMicro.Translations.1.0.71\lib\net461\Dapplo.CaliburnMicro.Translations.dll ..\packages\Dapplo.HttpExtensions.0.8.43\lib\net46\Dapplo.HttpExtensions.dll diff --git a/src/Greenshot.Addon.Flickr/packages.config b/src/Greenshot.Addon.Flickr/packages.config index 616935056..b7981ab5c 100644 --- a/src/Greenshot.Addon.Flickr/packages.config +++ b/src/Greenshot.Addon.Flickr/packages.config @@ -5,15 +5,15 @@ - - - - - - - - - + + + + + + + + + diff --git a/src/Greenshot.Addon.GooglePhotos/Greenshot.Addon.GooglePhotos.csproj b/src/Greenshot.Addon.GooglePhotos/Greenshot.Addon.GooglePhotos.csproj index b8ac564b2..8a289d3cd 100644 --- a/src/Greenshot.Addon.GooglePhotos/Greenshot.Addon.GooglePhotos.csproj +++ b/src/Greenshot.Addon.GooglePhotos/Greenshot.Addon.GooglePhotos.csproj @@ -41,32 +41,32 @@ ..\packages\Caliburn.Micro.3.2.0\lib\net45\Caliburn.Micro.Platform.Core.dll - - ..\packages\CommonServiceLocator.2.0.3\lib\net45\CommonServiceLocator.dll + + ..\packages\CommonServiceLocator.2.0.4\lib\net46\CommonServiceLocator.dll - - ..\packages\Dapplo.Addons.1.0.71\lib\net461\Dapplo.Addons.dll + + ..\packages\Dapplo.Addons.1.0.72\lib\net461\Dapplo.Addons.dll - - ..\packages\Dapplo.Addons.Bootstrapper.1.0.71\lib\net461\Dapplo.Addons.Bootstrapper.dll + + ..\packages\Dapplo.Addons.Bootstrapper.1.0.72\lib\net461\Dapplo.Addons.Bootstrapper.dll - - ..\packages\Dapplo.CaliburnMicro.1.0.70\lib\net461\Dapplo.CaliburnMicro.dll + + ..\packages\Dapplo.CaliburnMicro.1.0.71\lib\net461\Dapplo.CaliburnMicro.dll - - ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.70\lib\net461\Dapplo.CaliburnMicro.Configuration.dll + + ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.71\lib\net461\Dapplo.CaliburnMicro.Configuration.dll - - ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.70\lib\net461\Dapplo.CaliburnMicro.Dapp.dll + + ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.71\lib\net461\Dapplo.CaliburnMicro.Dapp.dll - - ..\packages\Dapplo.CaliburnMicro.Menu.1.0.70\lib\net461\Dapplo.CaliburnMicro.Menu.dll + + ..\packages\Dapplo.CaliburnMicro.Menu.1.0.71\lib\net461\Dapplo.CaliburnMicro.Menu.dll - - ..\packages\Dapplo.CaliburnMicro.Security.1.0.70\lib\net461\Dapplo.CaliburnMicro.Security.dll + + ..\packages\Dapplo.CaliburnMicro.Security.1.0.71\lib\net461\Dapplo.CaliburnMicro.Security.dll - - ..\packages\Dapplo.CaliburnMicro.Translations.1.0.70\lib\net461\Dapplo.CaliburnMicro.Translations.dll + + ..\packages\Dapplo.CaliburnMicro.Translations.1.0.71\lib\net461\Dapplo.CaliburnMicro.Translations.dll ..\packages\Dapplo.HttpExtensions.0.8.43\lib\net46\Dapplo.HttpExtensions.dll diff --git a/src/Greenshot.Addon.GooglePhotos/packages.config b/src/Greenshot.Addon.GooglePhotos/packages.config index 616935056..b7981ab5c 100644 --- a/src/Greenshot.Addon.GooglePhotos/packages.config +++ b/src/Greenshot.Addon.GooglePhotos/packages.config @@ -5,15 +5,15 @@ - - - - - - - - - + + + + + + + + + diff --git a/src/Greenshot.Addon.Imgur/Greenshot.Addon.Imgur.csproj b/src/Greenshot.Addon.Imgur/Greenshot.Addon.Imgur.csproj index e7501a3f3..c9a24c7c3 100644 --- a/src/Greenshot.Addon.Imgur/Greenshot.Addon.Imgur.csproj +++ b/src/Greenshot.Addon.Imgur/Greenshot.Addon.Imgur.csproj @@ -57,35 +57,35 @@ ..\packages\Caliburn.Micro.3.2.0\lib\net45\Caliburn.Micro.Platform.Core.dll - - ..\packages\CommonServiceLocator.2.0.3\lib\net45\CommonServiceLocator.dll + + ..\packages\CommonServiceLocator.2.0.4\lib\net46\CommonServiceLocator.dll ..\packages\ControlzEx.3.0.2.4\lib\net45\ControlzEx.dll - - ..\packages\Dapplo.Addons.1.0.71\lib\net461\Dapplo.Addons.dll + + ..\packages\Dapplo.Addons.1.0.72\lib\net461\Dapplo.Addons.dll - - ..\packages\Dapplo.Addons.Bootstrapper.1.0.71\lib\net461\Dapplo.Addons.Bootstrapper.dll + + ..\packages\Dapplo.Addons.Bootstrapper.1.0.72\lib\net461\Dapplo.Addons.Bootstrapper.dll - - ..\packages\Dapplo.CaliburnMicro.1.0.70\lib\net461\Dapplo.CaliburnMicro.dll + + ..\packages\Dapplo.CaliburnMicro.1.0.71\lib\net461\Dapplo.CaliburnMicro.dll - - ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.70\lib\net461\Dapplo.CaliburnMicro.Configuration.dll + + ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.71\lib\net461\Dapplo.CaliburnMicro.Configuration.dll - - ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.70\lib\net461\Dapplo.CaliburnMicro.Dapp.dll + + ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.71\lib\net461\Dapplo.CaliburnMicro.Dapp.dll - - ..\packages\Dapplo.CaliburnMicro.Menu.1.0.70\lib\net461\Dapplo.CaliburnMicro.Menu.dll + + ..\packages\Dapplo.CaliburnMicro.Menu.1.0.71\lib\net461\Dapplo.CaliburnMicro.Menu.dll - - ..\packages\Dapplo.CaliburnMicro.Security.1.0.70\lib\net461\Dapplo.CaliburnMicro.Security.dll + + ..\packages\Dapplo.CaliburnMicro.Security.1.0.71\lib\net461\Dapplo.CaliburnMicro.Security.dll - - ..\packages\Dapplo.CaliburnMicro.Translations.1.0.70\lib\net461\Dapplo.CaliburnMicro.Translations.dll + + ..\packages\Dapplo.CaliburnMicro.Translations.1.0.71\lib\net461\Dapplo.CaliburnMicro.Translations.dll ..\packages\Dapplo.HttpExtensions.0.8.43\lib\net46\Dapplo.HttpExtensions.dll diff --git a/src/Greenshot.Addon.Imgur/packages.config b/src/Greenshot.Addon.Imgur/packages.config index 046da6547..1fdde49d5 100644 --- a/src/Greenshot.Addon.Imgur/packages.config +++ b/src/Greenshot.Addon.Imgur/packages.config @@ -5,16 +5,16 @@ - + - - - - - - - - + + + + + + + + diff --git a/src/Greenshot.Addon.Jira/Greenshot.Addon.Jira.csproj b/src/Greenshot.Addon.Jira/Greenshot.Addon.Jira.csproj index a6eeb72f7..d60646372 100644 --- a/src/Greenshot.Addon.Jira/Greenshot.Addon.Jira.csproj +++ b/src/Greenshot.Addon.Jira/Greenshot.Addon.Jira.csproj @@ -57,35 +57,35 @@ ..\packages\Caliburn.Micro.3.2.0\lib\net45\Caliburn.Micro.Platform.Core.dll - - ..\packages\CommonServiceLocator.2.0.3\lib\net45\CommonServiceLocator.dll + + ..\packages\CommonServiceLocator.2.0.4\lib\net46\CommonServiceLocator.dll ..\packages\Costura.Fody.3.1.0\lib\net46\Costura.dll - - ..\packages\Dapplo.Addons.1.0.71\lib\net461\Dapplo.Addons.dll + + ..\packages\Dapplo.Addons.1.0.72\lib\net461\Dapplo.Addons.dll - - ..\packages\Dapplo.Addons.Bootstrapper.1.0.71\lib\net461\Dapplo.Addons.Bootstrapper.dll + + ..\packages\Dapplo.Addons.Bootstrapper.1.0.72\lib\net461\Dapplo.Addons.Bootstrapper.dll - - ..\packages\Dapplo.CaliburnMicro.1.0.70\lib\net461\Dapplo.CaliburnMicro.dll + + ..\packages\Dapplo.CaliburnMicro.1.0.71\lib\net461\Dapplo.CaliburnMicro.dll - - ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.70\lib\net461\Dapplo.CaliburnMicro.Configuration.dll + + ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.71\lib\net461\Dapplo.CaliburnMicro.Configuration.dll - - ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.70\lib\net461\Dapplo.CaliburnMicro.Dapp.dll + + ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.71\lib\net461\Dapplo.CaliburnMicro.Dapp.dll - - ..\packages\Dapplo.CaliburnMicro.Menu.1.0.70\lib\net461\Dapplo.CaliburnMicro.Menu.dll + + ..\packages\Dapplo.CaliburnMicro.Menu.1.0.71\lib\net461\Dapplo.CaliburnMicro.Menu.dll - - ..\packages\Dapplo.CaliburnMicro.Security.1.0.70\lib\net461\Dapplo.CaliburnMicro.Security.dll + + ..\packages\Dapplo.CaliburnMicro.Security.1.0.71\lib\net461\Dapplo.CaliburnMicro.Security.dll - - ..\packages\Dapplo.CaliburnMicro.Translations.1.0.70\lib\net461\Dapplo.CaliburnMicro.Translations.dll + + ..\packages\Dapplo.CaliburnMicro.Translations.1.0.71\lib\net461\Dapplo.CaliburnMicro.Translations.dll ..\packages\Dapplo.HttpExtensions.0.8.43\lib\net46\Dapplo.HttpExtensions.dll diff --git a/src/Greenshot.Addon.Jira/JiraMonitor.cs b/src/Greenshot.Addon.Jira/JiraMonitor.cs index 2bf16f606..c253c9b74 100644 --- a/src/Greenshot.Addon.Jira/JiraMonitor.cs +++ b/src/Greenshot.Addon.Jira/JiraMonitor.cs @@ -62,6 +62,7 @@ namespace Greenshot.Addon.Jira _jiraConfiguration = jiraConfiguration; } + /// public void Startup() { // Subscribe the windows events which tell us a title was changed diff --git a/src/Greenshot.Addon.Jira/packages.config b/src/Greenshot.Addon.Jira/packages.config index 841e14623..400fffea1 100644 --- a/src/Greenshot.Addon.Jira/packages.config +++ b/src/Greenshot.Addon.Jira/packages.config @@ -5,16 +5,16 @@ - + - - - - - - - - + + + + + + + + diff --git a/src/Greenshot.Addon.LegacyEditor/Greenshot.Addon.LegacyEditor.csproj b/src/Greenshot.Addon.LegacyEditor/Greenshot.Addon.LegacyEditor.csproj index ca3c94260..6db852a62 100644 --- a/src/Greenshot.Addon.LegacyEditor/Greenshot.Addon.LegacyEditor.csproj +++ b/src/Greenshot.Addon.LegacyEditor/Greenshot.Addon.LegacyEditor.csproj @@ -40,32 +40,32 @@ ..\packages\Caliburn.Micro.3.2.0\lib\net45\Caliburn.Micro.Platform.Core.dll - - ..\packages\CommonServiceLocator.2.0.3\lib\net45\CommonServiceLocator.dll + + ..\packages\CommonServiceLocator.2.0.4\lib\net46\CommonServiceLocator.dll - - ..\packages\Dapplo.Addons.1.0.71\lib\net461\Dapplo.Addons.dll + + ..\packages\Dapplo.Addons.1.0.72\lib\net461\Dapplo.Addons.dll - - ..\packages\Dapplo.Addons.Bootstrapper.1.0.71\lib\net461\Dapplo.Addons.Bootstrapper.dll + + ..\packages\Dapplo.Addons.Bootstrapper.1.0.72\lib\net461\Dapplo.Addons.Bootstrapper.dll - - ..\packages\Dapplo.CaliburnMicro.1.0.70\lib\net461\Dapplo.CaliburnMicro.dll + + ..\packages\Dapplo.CaliburnMicro.1.0.71\lib\net461\Dapplo.CaliburnMicro.dll - - ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.70\lib\net461\Dapplo.CaliburnMicro.Configuration.dll + + ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.71\lib\net461\Dapplo.CaliburnMicro.Configuration.dll - - ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.70\lib\net461\Dapplo.CaliburnMicro.Dapp.dll + + ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.71\lib\net461\Dapplo.CaliburnMicro.Dapp.dll - - ..\packages\Dapplo.CaliburnMicro.Menu.1.0.70\lib\net461\Dapplo.CaliburnMicro.Menu.dll + + ..\packages\Dapplo.CaliburnMicro.Menu.1.0.71\lib\net461\Dapplo.CaliburnMicro.Menu.dll - - ..\packages\Dapplo.CaliburnMicro.Security.1.0.70\lib\net461\Dapplo.CaliburnMicro.Security.dll + + ..\packages\Dapplo.CaliburnMicro.Security.1.0.71\lib\net461\Dapplo.CaliburnMicro.Security.dll - - ..\packages\Dapplo.CaliburnMicro.Translations.1.0.70\lib\net461\Dapplo.CaliburnMicro.Translations.dll + + ..\packages\Dapplo.CaliburnMicro.Translations.1.0.71\lib\net461\Dapplo.CaliburnMicro.Translations.dll ..\packages\Dapplo.HttpExtensions.0.8.43\lib\net46\Dapplo.HttpExtensions.dll diff --git a/src/Greenshot.Addon.LegacyEditor/packages.config b/src/Greenshot.Addon.LegacyEditor/packages.config index dbbbd1b75..d939cfab7 100644 --- a/src/Greenshot.Addon.LegacyEditor/packages.config +++ b/src/Greenshot.Addon.LegacyEditor/packages.config @@ -5,15 +5,15 @@ - - - - - - - - - + + + + + + + + + diff --git a/src/Greenshot.Addon.Lutim/Greenshot.Addon.Lutim.csproj b/src/Greenshot.Addon.Lutim/Greenshot.Addon.Lutim.csproj index 5b114712e..faebbafe9 100644 --- a/src/Greenshot.Addon.Lutim/Greenshot.Addon.Lutim.csproj +++ b/src/Greenshot.Addon.Lutim/Greenshot.Addon.Lutim.csproj @@ -55,35 +55,35 @@ ..\packages\Caliburn.Micro.3.2.0\lib\net45\Caliburn.Micro.Platform.Core.dll - - ..\packages\CommonServiceLocator.2.0.3\lib\net45\CommonServiceLocator.dll + + ..\packages\CommonServiceLocator.2.0.4\lib\net46\CommonServiceLocator.dll ..\packages\ControlzEx.3.0.2.4\lib\net45\ControlzEx.dll - - ..\packages\Dapplo.Addons.1.0.71\lib\net461\Dapplo.Addons.dll + + ..\packages\Dapplo.Addons.1.0.72\lib\net461\Dapplo.Addons.dll - - ..\packages\Dapplo.Addons.Bootstrapper.1.0.71\lib\net461\Dapplo.Addons.Bootstrapper.dll + + ..\packages\Dapplo.Addons.Bootstrapper.1.0.72\lib\net461\Dapplo.Addons.Bootstrapper.dll - - ..\packages\Dapplo.CaliburnMicro.1.0.70\lib\net461\Dapplo.CaliburnMicro.dll + + ..\packages\Dapplo.CaliburnMicro.1.0.71\lib\net461\Dapplo.CaliburnMicro.dll - - ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.70\lib\net461\Dapplo.CaliburnMicro.Configuration.dll + + ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.71\lib\net461\Dapplo.CaliburnMicro.Configuration.dll - - ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.70\lib\net461\Dapplo.CaliburnMicro.Dapp.dll + + ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.71\lib\net461\Dapplo.CaliburnMicro.Dapp.dll - - ..\packages\Dapplo.CaliburnMicro.Menu.1.0.70\lib\net461\Dapplo.CaliburnMicro.Menu.dll + + ..\packages\Dapplo.CaliburnMicro.Menu.1.0.71\lib\net461\Dapplo.CaliburnMicro.Menu.dll - - ..\packages\Dapplo.CaliburnMicro.Security.1.0.70\lib\net461\Dapplo.CaliburnMicro.Security.dll + + ..\packages\Dapplo.CaliburnMicro.Security.1.0.71\lib\net461\Dapplo.CaliburnMicro.Security.dll - - ..\packages\Dapplo.CaliburnMicro.Translations.1.0.70\lib\net461\Dapplo.CaliburnMicro.Translations.dll + + ..\packages\Dapplo.CaliburnMicro.Translations.1.0.71\lib\net461\Dapplo.CaliburnMicro.Translations.dll ..\packages\Dapplo.HttpExtensions.0.8.43\lib\net46\Dapplo.HttpExtensions.dll diff --git a/src/Greenshot.Addon.Lutim/packages.config b/src/Greenshot.Addon.Lutim/packages.config index 15c295a33..33784bcca 100644 --- a/src/Greenshot.Addon.Lutim/packages.config +++ b/src/Greenshot.Addon.Lutim/packages.config @@ -5,16 +5,16 @@ - + - - - - - - - - + + + + + + + + diff --git a/src/Greenshot.Addon.OCR/Greenshot.Addon.OCR.csproj b/src/Greenshot.Addon.OCR/Greenshot.Addon.OCR.csproj index 5b561a6b1..391536565 100644 --- a/src/Greenshot.Addon.OCR/Greenshot.Addon.OCR.csproj +++ b/src/Greenshot.Addon.OCR/Greenshot.Addon.OCR.csproj @@ -55,32 +55,32 @@ ..\packages\Caliburn.Micro.3.2.0\lib\net45\Caliburn.Micro.Platform.Core.dll - - ..\packages\CommonServiceLocator.2.0.3\lib\net45\CommonServiceLocator.dll + + ..\packages\CommonServiceLocator.2.0.4\lib\net46\CommonServiceLocator.dll - - ..\packages\Dapplo.Addons.1.0.71\lib\net461\Dapplo.Addons.dll + + ..\packages\Dapplo.Addons.1.0.72\lib\net461\Dapplo.Addons.dll - - ..\packages\Dapplo.Addons.Bootstrapper.1.0.71\lib\net461\Dapplo.Addons.Bootstrapper.dll + + ..\packages\Dapplo.Addons.Bootstrapper.1.0.72\lib\net461\Dapplo.Addons.Bootstrapper.dll - - ..\packages\Dapplo.CaliburnMicro.1.0.70\lib\net461\Dapplo.CaliburnMicro.dll + + ..\packages\Dapplo.CaliburnMicro.1.0.71\lib\net461\Dapplo.CaliburnMicro.dll - - ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.70\lib\net461\Dapplo.CaliburnMicro.Configuration.dll + + ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.71\lib\net461\Dapplo.CaliburnMicro.Configuration.dll - - ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.70\lib\net461\Dapplo.CaliburnMicro.Dapp.dll + + ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.71\lib\net461\Dapplo.CaliburnMicro.Dapp.dll - - ..\packages\Dapplo.CaliburnMicro.Menu.1.0.70\lib\net461\Dapplo.CaliburnMicro.Menu.dll + + ..\packages\Dapplo.CaliburnMicro.Menu.1.0.71\lib\net461\Dapplo.CaliburnMicro.Menu.dll - - ..\packages\Dapplo.CaliburnMicro.Security.1.0.70\lib\net461\Dapplo.CaliburnMicro.Security.dll + + ..\packages\Dapplo.CaliburnMicro.Security.1.0.71\lib\net461\Dapplo.CaliburnMicro.Security.dll - - ..\packages\Dapplo.CaliburnMicro.Translations.1.0.70\lib\net461\Dapplo.CaliburnMicro.Translations.dll + + ..\packages\Dapplo.CaliburnMicro.Translations.1.0.71\lib\net461\Dapplo.CaliburnMicro.Translations.dll ..\packages\Dapplo.Ini.0.5.28\lib\net45\Dapplo.Ini.dll diff --git a/src/Greenshot.Addon.OCR/packages.config b/src/Greenshot.Addon.OCR/packages.config index efb17ecaf..c6042171d 100644 --- a/src/Greenshot.Addon.OCR/packages.config +++ b/src/Greenshot.Addon.OCR/packages.config @@ -5,15 +5,15 @@ - - - - - - - - - + + + + + + + + + diff --git a/src/Greenshot.Addon.Office/Greenshot.Addon.Office.csproj b/src/Greenshot.Addon.Office/Greenshot.Addon.Office.csproj index cdf414890..e5848690d 100644 --- a/src/Greenshot.Addon.Office/Greenshot.Addon.Office.csproj +++ b/src/Greenshot.Addon.Office/Greenshot.Addon.Office.csproj @@ -39,35 +39,35 @@ ..\packages\Caliburn.Micro.3.2.0\lib\net45\Caliburn.Micro.Platform.Core.dll - - ..\packages\CommonServiceLocator.2.0.3\lib\net45\CommonServiceLocator.dll + + ..\packages\CommonServiceLocator.2.0.4\lib\net46\CommonServiceLocator.dll ..\packages\Costura.Fody.3.1.0\lib\net46\Costura.dll - - ..\packages\Dapplo.Addons.1.0.71\lib\net461\Dapplo.Addons.dll + + ..\packages\Dapplo.Addons.1.0.72\lib\net461\Dapplo.Addons.dll - - ..\packages\Dapplo.Addons.Bootstrapper.1.0.71\lib\net461\Dapplo.Addons.Bootstrapper.dll + + ..\packages\Dapplo.Addons.Bootstrapper.1.0.72\lib\net461\Dapplo.Addons.Bootstrapper.dll - - ..\packages\Dapplo.CaliburnMicro.1.0.70\lib\net461\Dapplo.CaliburnMicro.dll + + ..\packages\Dapplo.CaliburnMicro.1.0.71\lib\net461\Dapplo.CaliburnMicro.dll - - ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.70\lib\net461\Dapplo.CaliburnMicro.Configuration.dll + + ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.71\lib\net461\Dapplo.CaliburnMicro.Configuration.dll - - ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.70\lib\net461\Dapplo.CaliburnMicro.Dapp.dll + + ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.71\lib\net461\Dapplo.CaliburnMicro.Dapp.dll - - ..\packages\Dapplo.CaliburnMicro.Menu.1.0.70\lib\net461\Dapplo.CaliburnMicro.Menu.dll + + ..\packages\Dapplo.CaliburnMicro.Menu.1.0.71\lib\net461\Dapplo.CaliburnMicro.Menu.dll - - ..\packages\Dapplo.CaliburnMicro.Security.1.0.70\lib\net461\Dapplo.CaliburnMicro.Security.dll + + ..\packages\Dapplo.CaliburnMicro.Security.1.0.71\lib\net461\Dapplo.CaliburnMicro.Security.dll - - ..\packages\Dapplo.CaliburnMicro.Translations.1.0.70\lib\net461\Dapplo.CaliburnMicro.Translations.dll + + ..\packages\Dapplo.CaliburnMicro.Translations.1.0.71\lib\net461\Dapplo.CaliburnMicro.Translations.dll ..\packages\Dapplo.Ini.0.5.28\lib\net45\Dapplo.Ini.dll diff --git a/src/Greenshot.Addon.Office/packages.config b/src/Greenshot.Addon.Office/packages.config index 37ecab823..f5b7e3edf 100644 --- a/src/Greenshot.Addon.Office/packages.config +++ b/src/Greenshot.Addon.Office/packages.config @@ -5,16 +5,16 @@ - + - - - - - - - - + + + + + + + + diff --git a/src/Greenshot.Addon.OneDrive/Greenshot.Addon.OneDrive.csproj b/src/Greenshot.Addon.OneDrive/Greenshot.Addon.OneDrive.csproj index b0c68d370..6d62a9aff 100644 --- a/src/Greenshot.Addon.OneDrive/Greenshot.Addon.OneDrive.csproj +++ b/src/Greenshot.Addon.OneDrive/Greenshot.Addon.OneDrive.csproj @@ -51,35 +51,35 @@ ..\packages\Caliburn.Micro.3.2.0\lib\net45\Caliburn.Micro.Platform.Core.dll - - ..\packages\CommonServiceLocator.2.0.3\lib\net45\CommonServiceLocator.dll + + ..\packages\CommonServiceLocator.2.0.4\lib\net46\CommonServiceLocator.dll ..\packages\ControlzEx.3.0.2.4\lib\net45\ControlzEx.dll - - ..\packages\Dapplo.Addons.1.0.71\lib\net461\Dapplo.Addons.dll + + ..\packages\Dapplo.Addons.1.0.72\lib\net461\Dapplo.Addons.dll - - ..\packages\Dapplo.Addons.Bootstrapper.1.0.71\lib\net461\Dapplo.Addons.Bootstrapper.dll + + ..\packages\Dapplo.Addons.Bootstrapper.1.0.72\lib\net461\Dapplo.Addons.Bootstrapper.dll - - ..\packages\Dapplo.CaliburnMicro.1.0.70\lib\net461\Dapplo.CaliburnMicro.dll + + ..\packages\Dapplo.CaliburnMicro.1.0.71\lib\net461\Dapplo.CaliburnMicro.dll - - ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.70\lib\net461\Dapplo.CaliburnMicro.Configuration.dll + + ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.71\lib\net461\Dapplo.CaliburnMicro.Configuration.dll - - ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.70\lib\net461\Dapplo.CaliburnMicro.Dapp.dll + + ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.71\lib\net461\Dapplo.CaliburnMicro.Dapp.dll - - ..\packages\Dapplo.CaliburnMicro.Menu.1.0.70\lib\net461\Dapplo.CaliburnMicro.Menu.dll + + ..\packages\Dapplo.CaliburnMicro.Menu.1.0.71\lib\net461\Dapplo.CaliburnMicro.Menu.dll - - ..\packages\Dapplo.CaliburnMicro.Security.1.0.70\lib\net461\Dapplo.CaliburnMicro.Security.dll + + ..\packages\Dapplo.CaliburnMicro.Security.1.0.71\lib\net461\Dapplo.CaliburnMicro.Security.dll - - ..\packages\Dapplo.CaliburnMicro.Translations.1.0.70\lib\net461\Dapplo.CaliburnMicro.Translations.dll + + ..\packages\Dapplo.CaliburnMicro.Translations.1.0.71\lib\net461\Dapplo.CaliburnMicro.Translations.dll ..\packages\Dapplo.HttpExtensions.0.8.43\lib\net46\Dapplo.HttpExtensions.dll diff --git a/src/Greenshot.Addon.OneDrive/packages.config b/src/Greenshot.Addon.OneDrive/packages.config index 046da6547..1fdde49d5 100644 --- a/src/Greenshot.Addon.OneDrive/packages.config +++ b/src/Greenshot.Addon.OneDrive/packages.config @@ -5,16 +5,16 @@ - + - - - - - - - - + + + + + + + + diff --git a/src/Greenshot.Addon.Photobucket/Greenshot.Addon.Photobucket.csproj b/src/Greenshot.Addon.Photobucket/Greenshot.Addon.Photobucket.csproj index fae120b22..5a412725c 100644 --- a/src/Greenshot.Addon.Photobucket/Greenshot.Addon.Photobucket.csproj +++ b/src/Greenshot.Addon.Photobucket/Greenshot.Addon.Photobucket.csproj @@ -55,32 +55,32 @@ ..\packages\Caliburn.Micro.3.2.0\lib\net45\Caliburn.Micro.Platform.Core.dll - - ..\packages\CommonServiceLocator.2.0.3\lib\net45\CommonServiceLocator.dll + + ..\packages\CommonServiceLocator.2.0.4\lib\net46\CommonServiceLocator.dll - - ..\packages\Dapplo.Addons.1.0.71\lib\net461\Dapplo.Addons.dll + + ..\packages\Dapplo.Addons.1.0.72\lib\net461\Dapplo.Addons.dll - - ..\packages\Dapplo.Addons.Bootstrapper.1.0.71\lib\net461\Dapplo.Addons.Bootstrapper.dll + + ..\packages\Dapplo.Addons.Bootstrapper.1.0.72\lib\net461\Dapplo.Addons.Bootstrapper.dll - - ..\packages\Dapplo.CaliburnMicro.1.0.70\lib\net461\Dapplo.CaliburnMicro.dll + + ..\packages\Dapplo.CaliburnMicro.1.0.71\lib\net461\Dapplo.CaliburnMicro.dll - - ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.70\lib\net461\Dapplo.CaliburnMicro.Configuration.dll + + ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.71\lib\net461\Dapplo.CaliburnMicro.Configuration.dll - - ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.70\lib\net461\Dapplo.CaliburnMicro.Dapp.dll + + ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.71\lib\net461\Dapplo.CaliburnMicro.Dapp.dll - - ..\packages\Dapplo.CaliburnMicro.Menu.1.0.70\lib\net461\Dapplo.CaliburnMicro.Menu.dll + + ..\packages\Dapplo.CaliburnMicro.Menu.1.0.71\lib\net461\Dapplo.CaliburnMicro.Menu.dll - - ..\packages\Dapplo.CaliburnMicro.Security.1.0.70\lib\net461\Dapplo.CaliburnMicro.Security.dll + + ..\packages\Dapplo.CaliburnMicro.Security.1.0.71\lib\net461\Dapplo.CaliburnMicro.Security.dll - - ..\packages\Dapplo.CaliburnMicro.Translations.1.0.70\lib\net461\Dapplo.CaliburnMicro.Translations.dll + + ..\packages\Dapplo.CaliburnMicro.Translations.1.0.71\lib\net461\Dapplo.CaliburnMicro.Translations.dll ..\packages\Dapplo.HttpExtensions.0.8.43\lib\net46\Dapplo.HttpExtensions.dll diff --git a/src/Greenshot.Addon.Photobucket/packages.config b/src/Greenshot.Addon.Photobucket/packages.config index 616935056..b7981ab5c 100644 --- a/src/Greenshot.Addon.Photobucket/packages.config +++ b/src/Greenshot.Addon.Photobucket/packages.config @@ -5,15 +5,15 @@ - - - - - - - - - + + + + + + + + + diff --git a/src/Greenshot.Addon.Tfs/Greenshot.Addon.Tfs.csproj b/src/Greenshot.Addon.Tfs/Greenshot.Addon.Tfs.csproj index 9519bbb93..796db82f2 100644 --- a/src/Greenshot.Addon.Tfs/Greenshot.Addon.Tfs.csproj +++ b/src/Greenshot.Addon.Tfs/Greenshot.Addon.Tfs.csproj @@ -51,35 +51,35 @@ ..\packages\Caliburn.Micro.3.2.0\lib\net45\Caliburn.Micro.Platform.Core.dll - - ..\packages\CommonServiceLocator.2.0.3\lib\net45\CommonServiceLocator.dll + + ..\packages\CommonServiceLocator.2.0.4\lib\net46\CommonServiceLocator.dll ..\packages\ControlzEx.3.0.2.4\lib\net45\ControlzEx.dll - - ..\packages\Dapplo.Addons.1.0.71\lib\net461\Dapplo.Addons.dll + + ..\packages\Dapplo.Addons.1.0.72\lib\net461\Dapplo.Addons.dll - - ..\packages\Dapplo.Addons.Bootstrapper.1.0.71\lib\net461\Dapplo.Addons.Bootstrapper.dll + + ..\packages\Dapplo.Addons.Bootstrapper.1.0.72\lib\net461\Dapplo.Addons.Bootstrapper.dll - - ..\packages\Dapplo.CaliburnMicro.1.0.70\lib\net461\Dapplo.CaliburnMicro.dll + + ..\packages\Dapplo.CaliburnMicro.1.0.71\lib\net461\Dapplo.CaliburnMicro.dll - - ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.70\lib\net461\Dapplo.CaliburnMicro.Configuration.dll + + ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.71\lib\net461\Dapplo.CaliburnMicro.Configuration.dll - - ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.70\lib\net461\Dapplo.CaliburnMicro.Dapp.dll + + ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.71\lib\net461\Dapplo.CaliburnMicro.Dapp.dll - - ..\packages\Dapplo.CaliburnMicro.Menu.1.0.70\lib\net461\Dapplo.CaliburnMicro.Menu.dll + + ..\packages\Dapplo.CaliburnMicro.Menu.1.0.71\lib\net461\Dapplo.CaliburnMicro.Menu.dll - - ..\packages\Dapplo.CaliburnMicro.Security.1.0.70\lib\net461\Dapplo.CaliburnMicro.Security.dll + + ..\packages\Dapplo.CaliburnMicro.Security.1.0.71\lib\net461\Dapplo.CaliburnMicro.Security.dll - - ..\packages\Dapplo.CaliburnMicro.Translations.1.0.70\lib\net461\Dapplo.CaliburnMicro.Translations.dll + + ..\packages\Dapplo.CaliburnMicro.Translations.1.0.71\lib\net461\Dapplo.CaliburnMicro.Translations.dll ..\packages\Dapplo.HttpExtensions.0.8.43\lib\net46\Dapplo.HttpExtensions.dll diff --git a/src/Greenshot.Addon.Tfs/packages.config b/src/Greenshot.Addon.Tfs/packages.config index 15c295a33..33784bcca 100644 --- a/src/Greenshot.Addon.Tfs/packages.config +++ b/src/Greenshot.Addon.Tfs/packages.config @@ -5,16 +5,16 @@ - + - - - - - - - - + + + + + + + + diff --git a/src/Greenshot.Addon.Win10/Greenshot.Addon.Win10.csproj b/src/Greenshot.Addon.Win10/Greenshot.Addon.Win10.csproj index de85908f0..77dcbf34a 100644 --- a/src/Greenshot.Addon.Win10/Greenshot.Addon.Win10.csproj +++ b/src/Greenshot.Addon.Win10/Greenshot.Addon.Win10.csproj @@ -51,32 +51,32 @@ ..\packages\Caliburn.Micro.3.2.0\lib\net45\Caliburn.Micro.Platform.Core.dll - - ..\packages\CommonServiceLocator.2.0.3\lib\net45\CommonServiceLocator.dll + + ..\packages\CommonServiceLocator.2.0.4\lib\net46\CommonServiceLocator.dll - - ..\packages\Dapplo.Addons.1.0.71\lib\net461\Dapplo.Addons.dll + + ..\packages\Dapplo.Addons.1.0.72\lib\net461\Dapplo.Addons.dll - - ..\packages\Dapplo.Addons.Bootstrapper.1.0.71\lib\net461\Dapplo.Addons.Bootstrapper.dll + + ..\packages\Dapplo.Addons.Bootstrapper.1.0.72\lib\net461\Dapplo.Addons.Bootstrapper.dll - - ..\packages\Dapplo.CaliburnMicro.1.0.69\lib\net461\Dapplo.CaliburnMicro.dll + + ..\packages\Dapplo.CaliburnMicro.1.0.71\lib\net461\Dapplo.CaliburnMicro.dll - - ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.69\lib\net461\Dapplo.CaliburnMicro.Configuration.dll + + ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.71\lib\net461\Dapplo.CaliburnMicro.Configuration.dll - - ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.69\lib\net461\Dapplo.CaliburnMicro.Dapp.dll + + ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.71\lib\net461\Dapplo.CaliburnMicro.Dapp.dll - - ..\packages\Dapplo.CaliburnMicro.Menu.1.0.69\lib\net461\Dapplo.CaliburnMicro.Menu.dll + + ..\packages\Dapplo.CaliburnMicro.Menu.1.0.71\lib\net461\Dapplo.CaliburnMicro.Menu.dll - - ..\packages\Dapplo.CaliburnMicro.Security.1.0.69\lib\net461\Dapplo.CaliburnMicro.Security.dll + + ..\packages\Dapplo.CaliburnMicro.Security.1.0.71\lib\net461\Dapplo.CaliburnMicro.Security.dll - - ..\packages\Dapplo.CaliburnMicro.Translations.1.0.69\lib\net461\Dapplo.CaliburnMicro.Translations.dll + + ..\packages\Dapplo.CaliburnMicro.Translations.1.0.71\lib\net461\Dapplo.CaliburnMicro.Translations.dll ..\packages\Dapplo.Ini.0.5.28\lib\net45\Dapplo.Ini.dll diff --git a/src/Greenshot.Addon.Win10/packages.config b/src/Greenshot.Addon.Win10/packages.config index 1b2d261e9..c6042171d 100644 --- a/src/Greenshot.Addon.Win10/packages.config +++ b/src/Greenshot.Addon.Win10/packages.config @@ -5,15 +5,15 @@ - - - - - - - - - + + + + + + + + + diff --git a/src/Greenshot.Addons/Greenshot.Addons.csproj b/src/Greenshot.Addons/Greenshot.Addons.csproj index 04856b990..52285217c 100644 --- a/src/Greenshot.Addons/Greenshot.Addons.csproj +++ b/src/Greenshot.Addons/Greenshot.Addons.csproj @@ -1,5 +1,6 @@  + {5B924697-4DCD-4F98-85F1-105CB84B7341} @@ -16,7 +17,6 @@ false - @@ -37,39 +37,39 @@ ..\packages\Caliburn.Micro.3.2.0\lib\net45\Caliburn.Micro.Platform.Core.dll - - ..\packages\CommonServiceLocator.2.0.3\lib\net45\CommonServiceLocator.dll + + ..\packages\CommonServiceLocator.2.0.4\lib\net46\CommonServiceLocator.dll ..\packages\ControlzEx.3.0.2.4\lib\net45\ControlzEx.dll - - ..\packages\Dapplo.Addons.1.0.71\lib\net461\Dapplo.Addons.dll + + ..\packages\Dapplo.Addons.1.0.72\lib\net461\Dapplo.Addons.dll - - ..\packages\Dapplo.Addons.Bootstrapper.1.0.71\lib\net461\Dapplo.Addons.Bootstrapper.dll + + ..\packages\Dapplo.Addons.Bootstrapper.1.0.72\lib\net461\Dapplo.Addons.Bootstrapper.dll - - ..\packages\Dapplo.CaliburnMicro.1.0.70\lib\net461\Dapplo.CaliburnMicro.dll + + ..\packages\Dapplo.CaliburnMicro.1.0.71\lib\net461\Dapplo.CaliburnMicro.dll - - ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.70\lib\net461\Dapplo.CaliburnMicro.Configuration.dll + + ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.71\lib\net461\Dapplo.CaliburnMicro.Configuration.dll - - ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.70\lib\net461\Dapplo.CaliburnMicro.Dapp.dll + + ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.71\lib\net461\Dapplo.CaliburnMicro.Dapp.dll - - ..\packages\Dapplo.CaliburnMicro.Menu.1.0.70\lib\net461\Dapplo.CaliburnMicro.Menu.dll + + ..\packages\Dapplo.CaliburnMicro.Menu.1.0.71\lib\net461\Dapplo.CaliburnMicro.Menu.dll - - ..\packages\Dapplo.CaliburnMicro.Security.1.0.70\lib\net461\Dapplo.CaliburnMicro.Security.dll + + ..\packages\Dapplo.CaliburnMicro.Security.1.0.71\lib\net461\Dapplo.CaliburnMicro.Security.dll - - ..\packages\Dapplo.CaliburnMicro.Toasts.1.0.70\lib\net461\Dapplo.CaliburnMicro.Toasts.dll + + ..\packages\Dapplo.CaliburnMicro.Toasts.1.0.71\lib\net461\Dapplo.CaliburnMicro.Toasts.dll - - ..\packages\Dapplo.CaliburnMicro.Translations.1.0.70\lib\net461\Dapplo.CaliburnMicro.Translations.dll + + ..\packages\Dapplo.CaliburnMicro.Translations.1.0.71\lib\net461\Dapplo.CaliburnMicro.Translations.dll ..\packages\Dapplo.HttpExtensions.0.8.43\lib\net46\Dapplo.HttpExtensions.dll @@ -404,4 +404,5 @@ + \ No newline at end of file diff --git a/src/Greenshot.Addons/packages.config b/src/Greenshot.Addons/packages.config index 3669f9dbf..7c1e522a6 100644 --- a/src/Greenshot.Addons/packages.config +++ b/src/Greenshot.Addons/packages.config @@ -5,17 +5,17 @@ - + - - - - - - - - - + + + + + + + + + diff --git a/src/Greenshot.Core/Capture.cs b/src/Greenshot.Core/Capture.cs new file mode 100644 index 000000000..b77fe6f6e --- /dev/null +++ b/src/Greenshot.Core/Capture.cs @@ -0,0 +1,51 @@ +#region Greenshot GNU General Public License + +// Greenshot - a free and open source screenshot tool +// Copyright (C) 2007-2018 Thomas Braun, Jens Klingen, Robin Krom +// +// For more information see: http://getgreenshot.org/ +// The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 1 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#endregion + +using System; +using System.Collections.Generic; +using System.Linq; +using Dapplo.Windows.Common.Extensions; +using Dapplo.Windows.Common.Structs; +using Greenshot.Core.Interfaces; + +namespace Greenshot.Core +{ + /// + public class Capture : ICapture + { + /// + public DateTimeOffset Taken { get; } = DateTimeOffset.Now; + + /// + public IList CaptureElements { get; } = new List(); + + /// + public NativeRect Bounds => CaptureElements.Select(element => element.Bounds).Aggregate((b1, b2) => b1.Union(b2)); + + /// + public NativeRect CropRect { get; set; } + + /// + public IDictionary MetaData { get; } = new Dictionary(); + } +} diff --git a/src/Greenshot.Core/CaptureElement.cs b/src/Greenshot.Core/CaptureElement.cs new file mode 100644 index 000000000..789a55937 --- /dev/null +++ b/src/Greenshot.Core/CaptureElement.cs @@ -0,0 +1,55 @@ +#region Greenshot GNU General Public License + +// Greenshot - a free and open source screenshot tool +// Copyright (C) 2007-2018 Thomas Braun, Jens Klingen, Robin Krom +// +// For more information see: http://getgreenshot.org/ +// The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 1 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#endregion + +using System.Collections.Generic; +using System.Windows.Media; +using Dapplo.Windows.Common.Structs; +using Greenshot.Core.Enums; +using Greenshot.Core.Interfaces; + +namespace Greenshot.Core +{ + /// + /// The CaptureElement contains the information of an element in a capture, e.g the window and mouse + /// + public class CaptureElement : ICaptureElement + { + public CaptureElement(NativePoint location, ImageSource content) + { + Bounds = new NativeRect(location, new NativeSize((int)content.Width, (int)content.Height)); + Content = content; + } + + /// + public NativeRect Bounds { get; set; } + + /// + public ImageSource Content { get; set; } + + /// + public CaptureElementType ElementType { get; set; } = CaptureElementType.Unknown; + + /// + public IDictionary MetaData { get; } = new Dictionary(); + } +} diff --git a/src/Greenshot.Core/CaptureFlow.cs b/src/Greenshot.Core/CaptureFlow.cs new file mode 100644 index 000000000..a1a2952db --- /dev/null +++ b/src/Greenshot.Core/CaptureFlow.cs @@ -0,0 +1,96 @@ +#region Greenshot GNU General Public License + +// Greenshot - a free and open source screenshot tool +// Copyright (C) 2007-2018 Thomas Braun, Jens Klingen, Robin Krom +// +// For more information see: http://getgreenshot.org/ +// The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 1 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#endregion + +using System; +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using Greenshot.Core.Interfaces; + +namespace Greenshot.Core +{ + /// + /// This describes a capture flow, from source via processor to destination + /// + public class CaptureFlow + { + /// + /// The ISource this capture flow contains + /// + public IList Sources + { + get; + } = new List(); + + /// + /// The IProcessor this capture flow contains + /// + public IList Processors + { + get; + } = new List(); + + /// + /// The IDestination this capture flow contains + /// + public IList Destinations + { + get; + } = new List(); + + /// + /// Execute this capture flow, to create a capture + /// + /// CancellationToken + /// ICapture + public async Task Execute(CancellationToken cancellationToken = default) + { + var capture = new Capture(); + + // Import the capture from the sources + foreach (var source in Sources) + { + var captureElement = await source.Import(cancellationToken); + if (captureElement == null) + { + continue; + } + capture.CaptureElements.Add(captureElement); + } + + // Process by processors + foreach (var processor in Processors) + { + await processor.Process(capture, cancellationToken); + } + + // Export to destination + foreach (var destination in Destinations) + { + await destination.Export(capture, cancellationToken); + } + + return capture; + } + } +} diff --git a/src/Greenshot.Core/Enums/CaptureElementType.cs b/src/Greenshot.Core/Enums/CaptureElementType.cs new file mode 100644 index 000000000..7ede3334b --- /dev/null +++ b/src/Greenshot.Core/Enums/CaptureElementType.cs @@ -0,0 +1,40 @@ +#region Greenshot GNU General Public License + +// Greenshot - a free and open source screenshot tool +// Copyright (C) 2007-2018 Thomas Braun, Jens Klingen, Robin Krom +// +// For more information see: http://getgreenshot.org/ +// The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 1 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#endregion + +namespace Greenshot.Core.Enums +{ + /// + /// This is used to specified what type of capture + /// + public enum CaptureElementType + { + Unknown, + Screen, + Mouse, + Cursor, + Icon, + Popup, + Window, + File + } +} diff --git a/src/Greenshot.Core/Greenshot.Core.csproj b/src/Greenshot.Core/Greenshot.Core.csproj new file mode 100644 index 000000000..db4d88cec --- /dev/null +++ b/src/Greenshot.Core/Greenshot.Core.csproj @@ -0,0 +1,85 @@ + + + + + + {BF35190D-B2A7-4CFA-B397-51CB384CF0D7} + Library + Properties + Greenshot.Core + Greenshot.Core + v4.6.1 + 512 + + + + ..\packages\Dapplo.Log.1.2.1\lib\net45\Dapplo.Log.dll + + + ..\packages\Dapplo.Windows.0.5.105\lib\net461\Dapplo.Windows.dll + + + ..\packages\Dapplo.Windows.Common.0.5.105\lib\net461\Dapplo.Windows.Common.dll + + + ..\packages\Dapplo.Windows.DesktopWindowsManager.0.5.105\lib\net461\Dapplo.Windows.DesktopWindowsManager.dll + + + ..\packages\Dapplo.Windows.Gdi32.0.5.105\lib\net461\Dapplo.Windows.Gdi32.dll + + + ..\packages\Dapplo.Windows.Icons.0.5.105\lib\net461\Dapplo.Windows.Icons.dll + + + ..\packages\Dapplo.Windows.Input.0.5.105\lib\net461\Dapplo.Windows.Input.dll + + + ..\packages\Dapplo.Windows.Kernel32.0.5.105\lib\net461\Dapplo.Windows.Kernel32.dll + + + ..\packages\Dapplo.Windows.Messages.0.5.105\lib\net461\Dapplo.Windows.Messages.dll + + + ..\packages\Dapplo.Windows.User32.0.5.105\lib\net461\Dapplo.Windows.User32.dll + + + + + + + + + ..\packages\System.Reactive.4.0.0\lib\net46\System.Reactive.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + {f041c685-eb96-4ed1-9ace-0f5bd836610f} + Greenshot.Gfx + + + + \ No newline at end of file diff --git a/src/Greenshot.Core/Interfaces/ICapture.cs b/src/Greenshot.Core/Interfaces/ICapture.cs new file mode 100644 index 000000000..4f4e1dab6 --- /dev/null +++ b/src/Greenshot.Core/Interfaces/ICapture.cs @@ -0,0 +1,60 @@ +#region Greenshot GNU General Public License + +// Greenshot - a free and open source screenshot tool +// Copyright (C) 2007-2018 Thomas Braun, Jens Klingen, Robin Krom +// +// For more information see: http://getgreenshot.org/ +// The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 1 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#endregion + +using System; +using System.Collections.Generic; +using Dapplo.Windows.Common.Structs; + +namespace Greenshot.Core.Interfaces +{ + /// + /// This contains all the capture information + /// + public interface ICapture + { + /// + /// The calculated bounds for this capture + /// + NativeRect Bounds { get; } + + /// + /// The crop rectangle for this capture + /// + NativeRect CropRect { get; } + + /// + /// Meta-data for this capture + /// + IDictionary MetaData { get; } + + /// + /// Time the capture was made + /// + DateTimeOffset Taken { get; } + + /// + /// the actual capture elements, making up the capture + /// + IList CaptureElements { get; } + } +} \ No newline at end of file diff --git a/src/Greenshot.Core/Interfaces/ICaptureElement.cs b/src/Greenshot.Core/Interfaces/ICaptureElement.cs new file mode 100644 index 000000000..6ac681efb --- /dev/null +++ b/src/Greenshot.Core/Interfaces/ICaptureElement.cs @@ -0,0 +1,64 @@ +#region Greenshot GNU General Public License + +// Greenshot - a free and open source screenshot tool +// Copyright (C) 2007-2018 Thomas Braun, Jens Klingen, Robin Krom +// +// For more information see: http://getgreenshot.org/ +// The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 1 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#endregion + +using System.Collections.Generic; +using System.Windows.Media; +using Dapplo.Windows.Common.Structs; +using Greenshot.Core.Enums; + +namespace Greenshot.Core.Interfaces +{ + /// + /// This specifies a single element of a capture, making it possible to have a capture contain mouse, window, popup etc information + /// + public interface ICaptureElement + { + /// + /// The location or bounds of the content + /// + NativeRect Bounds + { + get; + set; + } + + /// + /// The actual content + /// + ImageSource Content + { + get; + set; + } + + /// + /// Used to specify what type of capture element this is + /// + CaptureElementType ElementType { get; set; } + + /// + /// Meta-data for this capture element, e.g. the text of a window + /// + IDictionary MetaData { get; } + } +} diff --git a/src/Greenshot.Core/Interfaces/IDestination.cs b/src/Greenshot.Core/Interfaces/IDestination.cs new file mode 100644 index 000000000..361acd0b3 --- /dev/null +++ b/src/Greenshot.Core/Interfaces/IDestination.cs @@ -0,0 +1,42 @@ +#region Greenshot GNU General Public License + +// Greenshot - a free and open source screenshot tool +// Copyright (C) 2007-2018 Thomas Braun, Jens Klingen, Robin Krom +// +// For more information see: http://getgreenshot.org/ +// The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 1 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#endregion + +using System.Threading; +using System.Threading.Tasks; + +namespace Greenshot.Core.Interfaces +{ + /// + /// This IDestination describes things which can export a capture + /// + public interface IDestination + { + /// + /// This is called when the a capture needs to be exported + /// + /// ICapture + /// CancellationToken + /// Task of bool + Task Export(ICapture capture, CancellationToken cancellationToken = default); + } +} diff --git a/src/Greenshot.Core/Interfaces/IProcessor.cs b/src/Greenshot.Core/Interfaces/IProcessor.cs new file mode 100644 index 000000000..4025d5534 --- /dev/null +++ b/src/Greenshot.Core/Interfaces/IProcessor.cs @@ -0,0 +1,43 @@ +#region Greenshot GNU General Public License + +// Greenshot - a free and open source screenshot tool +// Copyright (C) 2007-2018 Thomas Braun, Jens Klingen, Robin Krom +// +// For more information see: http://getgreenshot.org/ +// The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 1 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#endregion + +using System.Threading; +using System.Threading.Tasks; + +namespace Greenshot.Core.Interfaces +{ + /// + /// This IProcessor describes things which can process a capture + /// An example would be to add a watermark to the capture + /// + public interface IProcessor + { + /// + /// Process the capture + /// + /// ICapture + /// CancellationToken + /// Task of bool + Task Process(ICapture capture, CancellationToken cancellationToken = default); + } +} diff --git a/src/Greenshot.Core/Interfaces/ISource.cs b/src/Greenshot.Core/Interfaces/ISource.cs new file mode 100644 index 000000000..5c45d7b42 --- /dev/null +++ b/src/Greenshot.Core/Interfaces/ISource.cs @@ -0,0 +1,42 @@ +#region Greenshot GNU General Public License + +// Greenshot - a free and open source screenshot tool +// Copyright (C) 2007-2018 Thomas Braun, Jens Klingen, Robin Krom +// +// For more information see: http://getgreenshot.org/ +// The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 1 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#endregion + +using System.Threading; +using System.Threading.Tasks; + +namespace Greenshot.Core.Interfaces +{ + /// + /// This interface defines sources, which can be used to get information from. + /// For instance the screen, IE, a file etc. + /// + public interface ISource + { + /// + /// Import an ICaptureElement from the source + /// + /// CancellationToken + /// Task with ICaptureElement + Task Import(CancellationToken cancellationToken = default); + } +} diff --git a/src/Greenshot.Core/Interfaces/ITemplate.cs b/src/Greenshot.Core/Interfaces/ITemplate.cs new file mode 100644 index 000000000..88765c95c --- /dev/null +++ b/src/Greenshot.Core/Interfaces/ITemplate.cs @@ -0,0 +1,40 @@ +#region Greenshot GNU General Public License + +// Greenshot - a free and open source screenshot tool +// Copyright (C) 2007-2018 Thomas Braun, Jens Klingen, Robin Krom +// +// For more information see: http://getgreenshot.org/ +// The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 1 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#endregion + +using System.Windows; + +namespace Greenshot.Core.Interfaces +{ + /// + /// This defines a template which is applied to a capture, so we can output it to the screen or to disk. + /// + public interface ITemplate + { + /// + /// This applies a template, to generate a framework element + /// + /// ICapture + /// FrameworkElement + FrameworkElement Apply(ICapture capture); + } +} diff --git a/src/Greenshot.Core/Properties/AssemblyInfo.cs b/src/Greenshot.Core/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..d5e9309ab --- /dev/null +++ b/src/Greenshot.Core/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Greenshot.Core")] +[assembly: AssemblyDescription("Core capture functionality for Greenshot")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Greenshot")] +[assembly: AssemblyProduct("Greenshot.Core")] +[assembly: AssemblyCopyright("Copyright © Greenshot 2018")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("bf35190d-b2a7-4cfa-b397-51cb384cf0d7")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/src/Greenshot.Core/Sources/MouseSource.cs b/src/Greenshot.Core/Sources/MouseSource.cs new file mode 100644 index 000000000..af271d3c2 --- /dev/null +++ b/src/Greenshot.Core/Sources/MouseSource.cs @@ -0,0 +1,53 @@ +#region Greenshot GNU General Public License + +// Greenshot - a free and open source screenshot tool +// Copyright (C) 2007-2018 Thomas Braun, Jens Klingen, Robin Krom +// +// For more information see: http://getgreenshot.org/ +// The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 1 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#endregion + +using System.Threading; +using System.Threading.Tasks; +using Dapplo.Windows.Icons; +using Greenshot.Core.Enums; +using Greenshot.Core.Interfaces; + +namespace Greenshot.Core.Sources +{ + /// + /// A source to capture the mouse cursor + /// + public class MouseSource : ISource + { + /// + public Task Import(CancellationToken cancellationToken = default) + { + if (!CursorHelper.TryGetCurrentCursor(out var bitmapSource, out var location)) + { + return Task.FromResult(null); + } + + ICaptureElement result = new CaptureElement(location, bitmapSource) + { + ElementType = CaptureElementType.Mouse + }; + return Task.FromResult(result); + } + + } +} diff --git a/src/Greenshot.Core/Sources/ScreenSource.cs b/src/Greenshot.Core/Sources/ScreenSource.cs new file mode 100644 index 000000000..f77ee0aa5 --- /dev/null +++ b/src/Greenshot.Core/Sources/ScreenSource.cs @@ -0,0 +1,220 @@ +#region Greenshot GNU General Public License + +// Greenshot - a free and open source screenshot tool +// Copyright (C) 2007-2018 Thomas Braun, Jens Klingen, Robin Krom +// +// For more information see: http://getgreenshot.org/ +// The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 1 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#endregion + +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Runtime.InteropServices; +using System.Threading; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Interop; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using Dapplo.Log; +using Dapplo.Windows.Common; +using Dapplo.Windows.Common.Extensions; +using Dapplo.Windows.Common.Structs; +using Dapplo.Windows.Gdi32; +using Dapplo.Windows.Gdi32.Enums; +using Dapplo.Windows.Gdi32.SafeHandles; +using Dapplo.Windows.Gdi32.Structs; +using Dapplo.Windows.User32; +using Dapplo.Windows.User32.Structs; +using Greenshot.Core.Enums; +using Greenshot.Core.Interfaces; +using Greenshot.Gfx.Extensions; + +namespace Greenshot.Core.Sources +{ + /// + /// This does the screen capture + /// + public class ScreenSource : ISource + { + private static readonly LogSource Log = new LogSource(); + public Task Import(CancellationToken cancellationToken = default) + { + var screenbounds = DisplayInfo.GetAllScreenBounds(); + ICaptureElement result = new CaptureElement(screenbounds.Location, CaptureRectangle(screenbounds)) + { + ElementType = CaptureElementType.Screen + }; + return Task.FromResult(result); + } + + /// + /// Helper method to create an exception that might explain what is wrong while capturing + /// + /// string with current method + /// NativeRect of what we want to capture + /// Exception + private static Exception CreateCaptureException(string method, NativeRect captureBounds) + { + var exceptionToThrow = User32Api.CreateWin32Exception(method); + if (captureBounds.IsEmpty) + { + return exceptionToThrow; + } + + exceptionToThrow.Data.Add("Height", captureBounds.Height); + exceptionToThrow.Data.Add("Width", captureBounds.Width); + return exceptionToThrow; + } + + /// + /// This captures the screen at the specified location + /// + /// NativeRect + /// BitmapSource + internal static BitmapSource CaptureRectangle(NativeRect captureBounds) + { + BitmapSource returnBitmap = null; + if (captureBounds.IsEmpty) + { + return null; + } + + using (var desktopDcHandle = SafeWindowDcHandle.FromDesktop()) + { + if (desktopDcHandle.IsInvalid) + { + // Get Exception before the error is lost + var exceptionToThrow = CreateCaptureException("desktopDCHandle", captureBounds); + // throw exception + throw exceptionToThrow; + } + + // create a device context we can copy to + using (var safeCompatibleDcHandle = Gdi32Api.CreateCompatibleDC(desktopDcHandle)) + { + // Check if the device context is there, if not throw an error with as much info as possible! + if (safeCompatibleDcHandle.IsInvalid) + { + // Get Exception before the error is lost + var exceptionToThrow = CreateCaptureException("CreateCompatibleDC", captureBounds); + // throw exception + throw exceptionToThrow; + } + // Create BITMAPINFOHEADER for CreateDIBSection + var bmi = BitmapInfoHeader.Create(captureBounds.Width, captureBounds.Height, 24); + + // Make sure the last error is set to 0 + Win32.SetLastError(0); + + // create a bitmap we can copy it to, using GetDeviceCaps to get the width/height + using (var safeDibSectionHandle = Gdi32Api.CreateDIBSection(desktopDcHandle, ref bmi, 0, out var _, IntPtr.Zero, 0)) + { + if (safeDibSectionHandle.IsInvalid) + { + // Get Exception before the error is lost + var exceptionToThrow = CreateCaptureException("CreateDIBSection", captureBounds); + exceptionToThrow.Data.Add("hdcDest", safeCompatibleDcHandle.DangerousGetHandle().ToInt32()); + exceptionToThrow.Data.Add("hdcSrc", desktopDcHandle.DangerousGetHandle().ToInt32()); + + // Throw so people can report the problem + throw exceptionToThrow; + } + // select the bitmap object and store the old handle + using (safeCompatibleDcHandle.SelectObject(safeDibSectionHandle)) + { + // bitblt over (make copy) + // ReSharper disable once BitwiseOperatorOnEnumWithoutFlags + Gdi32Api.BitBlt(safeCompatibleDcHandle, 0, 0, captureBounds.Width, captureBounds.Height, desktopDcHandle, captureBounds.X, captureBounds.Y, + RasterOperations.SourceCopy | RasterOperations.CaptureBlt); + } + + // get a .NET image object for it + // A suggestion for the "A generic error occurred in GDI+." E_FAIL/0×80004005 error is to re-try... + bool success = false; + ExternalException exception = null; + for (int i = 0; i < 3; i++) + { + try + { + // Create BitmapSource from the DibSection + returnBitmap = Imaging.CreateBitmapSourceFromHBitmap(safeDibSectionHandle.DangerousGetHandle(), IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions()); + + // Now cut away invisible parts + + // Collect all screens inside this capture + var displaysInsideCapture = new List(); + foreach (var displayInfo in User32Api.AllDisplays()) + { + if (displayInfo.Bounds.IntersectsWith(captureBounds)) + { + displaysInsideCapture.Add(displayInfo); + } + } + // Check all all screens are of an equal size + bool offscreenContent; + using (var captureRegion = new Region(captureBounds)) + { + // Exclude every visible part + foreach (var displayInfo in displaysInsideCapture) + { + captureRegion.Exclude(displayInfo.Bounds); + } + // If the region is not empty, we have "offscreenContent" + using (var screenGraphics = Graphics.FromHwnd(User32Api.GetDesktopWindow())) + { + offscreenContent = !captureRegion.IsEmpty(screenGraphics); + } + } + // Check if we need to have a transparent background, needed for offscreen content + if (offscreenContent) + { + var modifiedImage = new WriteableBitmap(returnBitmap.PixelWidth, returnBitmap.PixelHeight, returnBitmap.DpiX, returnBitmap.DpiY, PixelFormats.Bgr32, returnBitmap.Palette); + foreach (var displayInfo in User32Api.AllDisplays()) + { + modifiedImage.CopyPixels(returnBitmap, displayInfo.Bounds); + } + + returnBitmap = modifiedImage; + } + // We got through the capture without exception + success = true; + break; + } + catch (ExternalException ee) + { + Log.Warn().WriteLine("Problem getting ImageSource at try " + i + " : ", ee); + exception = ee; + } + } + if (!success) + { + Log.Error().WriteLine("Still couldn't create ImageSource!"); + if (exception != null) + { + throw exception; + } + } + + } + } + } + return returnBitmap; + } + } +} diff --git a/src/Greenshot.Core/Templates/CroppedTemplate.cs b/src/Greenshot.Core/Templates/CroppedTemplate.cs new file mode 100644 index 000000000..496ac60ef --- /dev/null +++ b/src/Greenshot.Core/Templates/CroppedTemplate.cs @@ -0,0 +1,93 @@ +#region Greenshot GNU General Public License + +// Greenshot - a free and open source screenshot tool +// Copyright (C) 2007-2018 Thomas Braun, Jens Klingen, Robin Krom +// +// For more information see: http://getgreenshot.org/ +// The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 1 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#endregion + +using System.Windows; +using System.Windows.Controls; +using System.Windows.Media; +using System.Windows.Shapes; +using Greenshot.Core.Enums; +using Greenshot.Core.Interfaces; + +namespace Greenshot.Core.Templates +{ + /// + /// A template to create a FrameworkElement from a capture, with a crop applied + /// + public class CroppedTemplate : ITemplate + { + public bool DisplayMouse { get; set; } = true; + public FrameworkElement Apply(ICapture capture) + { + var width = (int)(capture.CropRect.Width + 0.5); + var height = (int)(capture.CropRect.Height + 0.5); + var result = new Rectangle + { + Width = width, + Height = height, + Stretch = Stretch.Fill + }; + var visualBrush = new VisualBrush + { + Viewbox = capture.CropRect.IsEmpty ? capture.Bounds : capture.CropRect, + ViewboxUnits = BrushMappingMode.Absolute, + Viewport = new Rect(0, 0, 1, 1), + ViewportUnits = BrushMappingMode.RelativeToBoundingBox + }; + + var canvas = new Canvas + { + Width = capture.Bounds.Width, + Height = capture.Bounds.Height, + // TODO: What clip? + //Clip = capture.ClipArea + }; + + foreach (var captureCaptureElement in capture.CaptureElements) + { + // Skip mouse cursor + if (captureCaptureElement.ElementType == CaptureElementType.Cursor && DisplayMouse) + { + continue; + } + var image = new Image + { + Source = captureCaptureElement.Content, + Width = captureCaptureElement.Bounds.Width, + Height = captureCaptureElement.Bounds.Height + }; + Canvas.SetLeft(image, captureCaptureElement.Bounds.Left); + Canvas.SetTop(image, captureCaptureElement.Bounds.Top); + canvas.Children.Add(image); + } + + visualBrush.Visual = canvas; + result.Fill = visualBrush; + + result.Measure(new Size(width, height)); + result.Arrange(new Rect(0, 0, width, height)); + result.UpdateLayout(); + + return result; + } + } +} diff --git a/src/Greenshot.Core/packages.config b/src/Greenshot.Core/packages.config new file mode 100644 index 000000000..b0d820de7 --- /dev/null +++ b/src/Greenshot.Core/packages.config @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Greenshot.Gfx/Extensions/WriteableBitmapExtensions.cs b/src/Greenshot.Gfx/Extensions/WriteableBitmapExtensions.cs new file mode 100644 index 000000000..70db996c0 --- /dev/null +++ b/src/Greenshot.Gfx/Extensions/WriteableBitmapExtensions.cs @@ -0,0 +1,53 @@ +#region Greenshot GNU General Public License + +// Greenshot - a free and open source screenshot tool +// Copyright (C) 2007-2018 Thomas Braun, Jens Klingen, Robin Krom +// +// For more information see: http://getgreenshot.org/ +// The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 1 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#endregion + +using System.Windows; +using System.Windows.Media.Imaging; +using Dapplo.Windows.Common.Structs; + +namespace Greenshot.Gfx.Extensions +{ + public static class WriteableBitmapExtensions + { + /// + /// Copy the rect from source to target + /// + /// + /// + /// + public static void CopyPixels(this WriteableBitmap target, BitmapSource source, NativeRect rect) + { + // Calculate stride of source + int stride = source.PixelWidth * (source.Format.BitsPerPixel / 8); + + // Create data array to hold source pixel data + byte[] data = new byte[stride * source.PixelHeight]; + + // Copy source image pixels to the data array + source.CopyPixels(data, stride, 0); + + // Write the pixel data to the WriteableBitmap. + target.WritePixels(new Int32Rect(0, 0, source.PixelWidth, source.PixelHeight), data, stride, 0); + } + } +} diff --git a/src/Greenshot.Gfx/Greenshot.Gfx.csproj b/src/Greenshot.Gfx/Greenshot.Gfx.csproj index 3b69e15d0..deac0ad87 100644 --- a/src/Greenshot.Gfx/Greenshot.Gfx.csproj +++ b/src/Greenshot.Gfx/Greenshot.Gfx.csproj @@ -34,20 +34,20 @@ ..\packages\Caliburn.Micro.3.2.0\lib\net45\Caliburn.Micro.Platform.Core.dll - - ..\packages\CommonServiceLocator.2.0.3\lib\net45\CommonServiceLocator.dll + + ..\packages\CommonServiceLocator.2.0.4\lib\net46\CommonServiceLocator.dll - - ..\packages\Dapplo.Addons.1.0.71\lib\net461\Dapplo.Addons.dll + + ..\packages\Dapplo.Addons.1.0.72\lib\net461\Dapplo.Addons.dll - - ..\packages\Dapplo.Addons.Bootstrapper.1.0.71\lib\net461\Dapplo.Addons.Bootstrapper.dll + + ..\packages\Dapplo.Addons.Bootstrapper.1.0.72\lib\net461\Dapplo.Addons.Bootstrapper.dll - - ..\packages\Dapplo.CaliburnMicro.1.0.70\lib\net461\Dapplo.CaliburnMicro.dll + + ..\packages\Dapplo.CaliburnMicro.1.0.71\lib\net461\Dapplo.CaliburnMicro.dll - - ..\packages\Dapplo.CaliburnMicro.Translations.1.0.70\lib\net461\Dapplo.CaliburnMicro.Translations.dll + + ..\packages\Dapplo.CaliburnMicro.Translations.1.0.71\lib\net461\Dapplo.CaliburnMicro.Translations.dll ..\packages\Dapplo.Ini.0.5.28\lib\net45\Dapplo.Ini.dll @@ -139,6 +139,7 @@ + diff --git a/src/Greenshot.Gfx/packages.config b/src/Greenshot.Gfx/packages.config index 625d9d3cc..91355d71c 100644 --- a/src/Greenshot.Gfx/packages.config +++ b/src/Greenshot.Gfx/packages.config @@ -5,11 +5,11 @@ - - - - - + + + + + diff --git a/src/Greenshot.PerformanceTests/App.config b/src/Greenshot.PerformanceTests/App.config index b4e088970..a05129aaf 100644 --- a/src/Greenshot.PerformanceTests/App.config +++ b/src/Greenshot.PerformanceTests/App.config @@ -67,7 +67,7 @@ - + diff --git a/src/Greenshot.PerformanceTests/Greenshot.PerformanceTests.csproj b/src/Greenshot.PerformanceTests/Greenshot.PerformanceTests.csproj index a7a86b308..122745d4d 100644 --- a/src/Greenshot.PerformanceTests/Greenshot.PerformanceTests.csproj +++ b/src/Greenshot.PerformanceTests/Greenshot.PerformanceTests.csproj @@ -40,20 +40,20 @@ ..\packages\CommandLineParser.2.2.1\lib\net45\CommandLine.dll - - ..\packages\CommonServiceLocator.2.0.3\lib\net45\CommonServiceLocator.dll + + ..\packages\CommonServiceLocator.2.0.4\lib\net46\CommonServiceLocator.dll - - ..\packages\Dapplo.Addons.1.0.71\lib\net461\Dapplo.Addons.dll + + ..\packages\Dapplo.Addons.1.0.72\lib\net461\Dapplo.Addons.dll - - ..\packages\Dapplo.Addons.Bootstrapper.1.0.71\lib\net461\Dapplo.Addons.Bootstrapper.dll + + ..\packages\Dapplo.Addons.Bootstrapper.1.0.72\lib\net461\Dapplo.Addons.Bootstrapper.dll - - ..\packages\Dapplo.CaliburnMicro.1.0.70\lib\net461\Dapplo.CaliburnMicro.dll + + ..\packages\Dapplo.CaliburnMicro.1.0.71\lib\net461\Dapplo.CaliburnMicro.dll - - ..\packages\Dapplo.CaliburnMicro.Translations.1.0.70\lib\net461\Dapplo.CaliburnMicro.Translations.dll + + ..\packages\Dapplo.CaliburnMicro.Translations.1.0.71\lib\net461\Dapplo.CaliburnMicro.Translations.dll ..\packages\Dapplo.Ini.0.5.28\lib\net45\Dapplo.Ini.dll diff --git a/src/Greenshot.PerformanceTests/packages.config b/src/Greenshot.PerformanceTests/packages.config index bc0840816..3c7f4951c 100644 --- a/src/Greenshot.PerformanceTests/packages.config +++ b/src/Greenshot.PerformanceTests/packages.config @@ -9,11 +9,11 @@ - - - - - + + + + + diff --git a/src/Greenshot.Tests/CaptureTests.cs b/src/Greenshot.Tests/CaptureTests.cs new file mode 100644 index 000000000..c96e5c0ad --- /dev/null +++ b/src/Greenshot.Tests/CaptureTests.cs @@ -0,0 +1,45 @@ +using System.Threading.Tasks; +using Greenshot.Core; +using Greenshot.Core.Sources; +using Xunit; + +namespace Greenshot.Tests +{ + /// + /// Test the capture code + /// + public class CaptureTests + { + /// + /// Test if a capture with the screen works + /// + [Fact] + public async Task Test_CaptureFlow_ScreenSource() + { + var captureFlow = new CaptureFlow + { + Sources = {new ScreenSource()} + }; + var capture = await captureFlow.Execute(); + Assert.NotNull(capture); + Assert.NotNull(capture.CaptureElements); + Assert.Equal(1, capture.CaptureElements.Count); + } + + /// + /// Test if a capture with the screen and mouse works + /// + [Fact] + public async Task Test_CaptureFlow_ScreenSource_MouseSource() + { + var captureFlow = new CaptureFlow + { + Sources = { new ScreenSource() , new MouseSource()} + }; + var capture = await captureFlow.Execute(); + Assert.NotNull(capture); + Assert.NotNull(capture.CaptureElements); + Assert.Equal(2, capture.CaptureElements.Count); + } + } +} diff --git a/src/Greenshot.Tests/Greenshot.Tests.csproj b/src/Greenshot.Tests/Greenshot.Tests.csproj index b743ba6de..2d5b821a7 100644 --- a/src/Greenshot.Tests/Greenshot.Tests.csproj +++ b/src/Greenshot.Tests/Greenshot.Tests.csproj @@ -69,20 +69,20 @@ ..\packages\CommandLineParser.2.2.1\lib\net45\CommandLine.dll - - ..\packages\CommonServiceLocator.2.0.3\lib\net45\CommonServiceLocator.dll + + ..\packages\CommonServiceLocator.2.0.4\lib\net46\CommonServiceLocator.dll - - ..\packages\Dapplo.Addons.1.0.71\lib\net461\Dapplo.Addons.dll + + ..\packages\Dapplo.Addons.1.0.72\lib\net461\Dapplo.Addons.dll - - ..\packages\Dapplo.Addons.Bootstrapper.1.0.71\lib\net461\Dapplo.Addons.Bootstrapper.dll + + ..\packages\Dapplo.Addons.Bootstrapper.1.0.72\lib\net461\Dapplo.Addons.Bootstrapper.dll - - ..\packages\Dapplo.CaliburnMicro.1.0.70\lib\net461\Dapplo.CaliburnMicro.dll + + ..\packages\Dapplo.CaliburnMicro.1.0.71\lib\net461\Dapplo.CaliburnMicro.dll - - ..\packages\Dapplo.CaliburnMicro.Translations.1.0.70\lib\net461\Dapplo.CaliburnMicro.Translations.dll + + ..\packages\Dapplo.CaliburnMicro.Translations.1.0.71\lib\net461\Dapplo.CaliburnMicro.Translations.dll ..\packages\Dapplo.HttpExtensions.0.8.43\lib\net46\Dapplo.HttpExtensions.dll @@ -316,6 +316,7 @@ + @@ -324,6 +325,10 @@ {5b924697-4dcd-4f98-85f1-105cb84b7341} Greenshot.Addons + + {bf35190d-b2a7-4cfa-b397-51cb384cf0d7} + Greenshot.Core + {14894a45-aa2c-4bc3-85a3-e388d0bdc1ca} Greenshot.Gfx.Experimental diff --git a/src/Greenshot.Tests/app.config b/src/Greenshot.Tests/app.config index 9e885122f..92b7101b2 100644 --- a/src/Greenshot.Tests/app.config +++ b/src/Greenshot.Tests/app.config @@ -72,7 +72,7 @@ - + diff --git a/src/Greenshot.Tests/packages.config b/src/Greenshot.Tests/packages.config index 8d7a83eb9..eb882ed48 100644 --- a/src/Greenshot.Tests/packages.config +++ b/src/Greenshot.Tests/packages.config @@ -9,11 +9,11 @@ - - - - - + + + + + diff --git a/src/Greenshot.sln b/src/Greenshot.sln index e6e5cdedd..55b9e7f70 100644 --- a/src/Greenshot.sln +++ b/src/Greenshot.sln @@ -49,6 +49,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Greenshot.Addon.Tfs", "Gree EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Greenshot.Addon.OcrCommand", "Greenshot.Addon.OcrCommand\Greenshot.Addon.OcrCommand.csproj", "{7B8E9055-A054-4290-B537-075EBFDF8BDF}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Greenshot.Core", "Greenshot.Core\Greenshot.Core.csproj", "{BF35190D-B2A7-4CFA-B397-51CB384CF0D7}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -151,7 +153,6 @@ Global {9C0ECC4C-7807-4111-916A-4F57BB29788A}.Release|x86.ActiveCfg = Release|x86 {9C0ECC4C-7807-4111-916A-4F57BB29788A}.Release|x86.Build.0 = Release|x86 {9801F62C-540F-4BFE-9211-6405DEDE563B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {9801F62C-540F-4BFE-9211-6405DEDE563B}.Debug|Any CPU.Build.0 = Debug|Any CPU {9801F62C-540F-4BFE-9211-6405DEDE563B}.Debug|x86.ActiveCfg = Debug|Any CPU {9801F62C-540F-4BFE-9211-6405DEDE563B}.Debug|x86.Build.0 = Debug|Any CPU {9801F62C-540F-4BFE-9211-6405DEDE563B}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -229,6 +230,14 @@ Global {7B8E9055-A054-4290-B537-075EBFDF8BDF}.Release|Any CPU.Build.0 = Release|Any CPU {7B8E9055-A054-4290-B537-075EBFDF8BDF}.Release|x86.ActiveCfg = Release|Any CPU {7B8E9055-A054-4290-B537-075EBFDF8BDF}.Release|x86.Build.0 = Release|Any CPU + {BF35190D-B2A7-4CFA-B397-51CB384CF0D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BF35190D-B2A7-4CFA-B397-51CB384CF0D7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BF35190D-B2A7-4CFA-B397-51CB384CF0D7}.Debug|x86.ActiveCfg = Debug|Any CPU + {BF35190D-B2A7-4CFA-B397-51CB384CF0D7}.Debug|x86.Build.0 = Debug|Any CPU + {BF35190D-B2A7-4CFA-B397-51CB384CF0D7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BF35190D-B2A7-4CFA-B397-51CB384CF0D7}.Release|Any CPU.Build.0 = Release|Any CPU + {BF35190D-B2A7-4CFA-B397-51CB384CF0D7}.Release|x86.ActiveCfg = Release|Any CPU + {BF35190D-B2A7-4CFA-B397-51CB384CF0D7}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/Greenshot/App.config b/src/Greenshot/App.config index dfa253057..f45347a9b 100644 --- a/src/Greenshot/App.config +++ b/src/Greenshot/App.config @@ -12,7 +12,7 @@ - + diff --git a/src/Greenshot/Components/CommandlineParser.cs b/src/Greenshot/Components/CommandlineParser.cs index ed7fb19cb..7ca035a6f 100644 --- a/src/Greenshot/Components/CommandlineParser.cs +++ b/src/Greenshot/Components/CommandlineParser.cs @@ -25,7 +25,6 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; -using CommonServiceLocator; using Dapplo.Log; using Dapplo.Windows.Kernel32; using Greenshot.Addons.Components; @@ -40,11 +39,14 @@ namespace Greenshot.Components { private static readonly LogSource Log = new LogSource(); private readonly ICoreConfiguration _coreConfiguration; + private readonly DestinationHolder _destinationHolder; - public CommandlineParser(ICoreConfiguration coreConfiguration) + public CommandlineParser( + ICoreConfiguration coreConfiguration, + DestinationHolder destinationHolder) { _coreConfiguration = coreConfiguration; - + _destinationHolder = destinationHolder; } /// @@ -211,12 +213,12 @@ namespace Greenshot.Components "External Command like MS Paint", Environment.NewLine ); - foreach (var destination in ServiceLocator.Current.GetAllInstances()) + foreach (var destination in _destinationHolder.AllDestinations) { helpOutput.AppendFormat( "\t\t{0,-16}\t==>\t{1}{2}", - destination.Designation, - destination.Description, + destination.Metadata.Designation, + destination.Value.Description, Environment.NewLine ); } diff --git a/src/Greenshot/Components/FormsStartup.cs b/src/Greenshot/Components/FormsStartup.cs index 56c65952b..c33781ce9 100644 --- a/src/Greenshot/Components/FormsStartup.cs +++ b/src/Greenshot/Components/FormsStartup.cs @@ -37,6 +37,7 @@ namespace Greenshot.Components { private static readonly LogSource Log = new LogSource(); + /// public void Startup() { Log.Debug().WriteLine("Starting Windows.Forms"); diff --git a/src/Greenshot/Components/HotkeyService.cs b/src/Greenshot/Components/HotkeyService.cs index 7dbadaaa0..2892e600e 100644 --- a/src/Greenshot/Components/HotkeyService.cs +++ b/src/Greenshot/Components/HotkeyService.cs @@ -62,6 +62,7 @@ namespace Greenshot.Components return AreHotkeysActive; } + /// public void Startup() { Log.Debug().WriteLine("Registering hotkeys"); diff --git a/src/Greenshot/Components/MainFormStartup.cs b/src/Greenshot/Components/MainFormStartup.cs index 8c6d4bc12..e9e1e6a52 100644 --- a/src/Greenshot/Components/MainFormStartup.cs +++ b/src/Greenshot/Components/MainFormStartup.cs @@ -60,6 +60,7 @@ namespace Greenshot.Components _windowHandle = windowHandle; } + /// public void Startup() { Log.Debug().WriteLine("Starting MainForm"); diff --git a/src/Greenshot/Components/SoundHelper.cs b/src/Greenshot/Components/SoundHelper.cs index a20519a8d..b048bf47b 100644 --- a/src/Greenshot/Components/SoundHelper.cs +++ b/src/Greenshot/Components/SoundHelper.cs @@ -57,6 +57,7 @@ namespace Greenshot.Components _instance = this; } + /// public void Startup() { if (_gcHandle != null) diff --git a/src/Greenshot/Components/UpdateService.cs b/src/Greenshot/Components/UpdateService.cs index 5c2ea59aa..021643aa0 100644 --- a/src/Greenshot/Components/UpdateService.cs +++ b/src/Greenshot/Components/UpdateService.cs @@ -97,11 +97,12 @@ namespace Greenshot.Components /// public void Startup() { - var ignore = BackgroundTask(() => TimeSpan.FromDays(_coreConfiguration.UpdateCheckInterval), UpdateCheck, _cancellationTokenSource.Token); + //var ignore = BackgroundTask(() => TimeSpan.FromDays(_coreConfiguration.UpdateCheckInterval), UpdateCheck, _cancellationTokenSource.Token); + var ignore = BackgroundTask(() => TimeSpan.FromSeconds(20), UpdateCheck, _cancellationTokenSource.Token); } - /// - public void Shutdown() + /// + public void Shutdown() { _cancellationTokenSource.Cancel(); } @@ -174,7 +175,7 @@ namespace Greenshot.Components ProcessFeed(updateFeed); - if (IsUpdateAvailable) + if (true ||IsUpdateAvailable) { ShowUpdate(LatestVersion); } diff --git a/src/Greenshot/Greenshot.csproj b/src/Greenshot/Greenshot.csproj index 5b3f3b04a..b07004e52 100644 --- a/src/Greenshot/Greenshot.csproj +++ b/src/Greenshot/Greenshot.csproj @@ -47,8 +47,8 @@ ..\packages\CommandLineParser.2.2.1\lib\net45\CommandLine.dll - - ..\packages\CommonServiceLocator.2.0.3\lib\net45\CommonServiceLocator.dll + + ..\packages\CommonServiceLocator.2.0.4\lib\net46\CommonServiceLocator.dll ..\packages\ControlzEx.3.0.2.4\lib\net45\ControlzEx.dll @@ -56,38 +56,38 @@ ..\packages\Costura.Fody.3.1.0\lib\net46\Costura.dll - - ..\packages\Dapplo.Addons.1.0.71\lib\net461\Dapplo.Addons.dll + + ..\packages\Dapplo.Addons.1.0.72\lib\net461\Dapplo.Addons.dll - - ..\packages\Dapplo.Addons.Bootstrapper.1.0.71\lib\net461\Dapplo.Addons.Bootstrapper.dll + + ..\packages\Dapplo.Addons.Bootstrapper.1.0.72\lib\net461\Dapplo.Addons.Bootstrapper.dll - - ..\packages\Dapplo.Addons.Config.1.0.71\lib\net461\Dapplo.Addons.Config.dll + + ..\packages\Dapplo.Addons.Config.1.0.72\lib\net461\Dapplo.Addons.Config.dll - - ..\packages\Dapplo.CaliburnMicro.1.0.70\lib\net461\Dapplo.CaliburnMicro.dll + + ..\packages\Dapplo.CaliburnMicro.1.0.71\lib\net461\Dapplo.CaliburnMicro.dll - - ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.70\lib\net461\Dapplo.CaliburnMicro.Configuration.dll + + ..\packages\Dapplo.CaliburnMicro.Configuration.1.0.71\lib\net461\Dapplo.CaliburnMicro.Configuration.dll - - ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.70\lib\net461\Dapplo.CaliburnMicro.Dapp.dll + + ..\packages\Dapplo.CaliburnMicro.Dapp.1.0.71\lib\net461\Dapplo.CaliburnMicro.Dapp.dll - - ..\packages\Dapplo.CaliburnMicro.Menu.1.0.70\lib\net461\Dapplo.CaliburnMicro.Menu.dll + + ..\packages\Dapplo.CaliburnMicro.Menu.1.0.71\lib\net461\Dapplo.CaliburnMicro.Menu.dll - - ..\packages\Dapplo.CaliburnMicro.Metro.1.0.70\lib\net461\Dapplo.CaliburnMicro.Metro.dll + + ..\packages\Dapplo.CaliburnMicro.Metro.1.0.71\lib\net461\Dapplo.CaliburnMicro.Metro.dll - - ..\packages\Dapplo.CaliburnMicro.Security.1.0.70\lib\net461\Dapplo.CaliburnMicro.Security.dll + + ..\packages\Dapplo.CaliburnMicro.Security.1.0.71\lib\net461\Dapplo.CaliburnMicro.Security.dll - - ..\packages\Dapplo.CaliburnMicro.Toasts.1.0.70\lib\net461\Dapplo.CaliburnMicro.Toasts.dll + + ..\packages\Dapplo.CaliburnMicro.Toasts.1.0.71\lib\net461\Dapplo.CaliburnMicro.Toasts.dll - - ..\packages\Dapplo.CaliburnMicro.Translations.1.0.70\lib\net461\Dapplo.CaliburnMicro.Translations.dll + + ..\packages\Dapplo.CaliburnMicro.Translations.1.0.71\lib\net461\Dapplo.CaliburnMicro.Translations.dll ..\packages\Dapplo.HttpExtensions.0.8.43\lib\net46\Dapplo.HttpExtensions.dll diff --git a/src/Greenshot/Ui/Configuration/ViewModels/CaptureConfigViewModel.cs b/src/Greenshot/Ui/Configuration/ViewModels/CaptureConfigViewModel.cs index 00c7b14bc..75e7fdc5c 100644 --- a/src/Greenshot/Ui/Configuration/ViewModels/CaptureConfigViewModel.cs +++ b/src/Greenshot/Ui/Configuration/ViewModels/CaptureConfigViewModel.cs @@ -34,6 +34,9 @@ using Greenshot.Configuration; namespace Greenshot.Ui.Configuration.ViewModels { + /// + /// Configuration for the capture + /// public sealed class CaptureConfigViewModel : SimpleConfigScreen { /// diff --git a/src/Greenshot/packages.config b/src/Greenshot/packages.config index bef4bd232..3e46d8656 100644 --- a/src/Greenshot/packages.config +++ b/src/Greenshot/packages.config @@ -7,20 +7,20 @@ - + - - - - - - - - - - - + + + + + + + + + + +