diff --git a/src/Greenshot.Addon.Box/Greenshot.Addon.Box.csproj b/src/Greenshot.Addon.Box/Greenshot.Addon.Box.csproj
index 0be249c8e..3c1d0e44e 100644
--- a/src/Greenshot.Addon.Box/Greenshot.Addon.Box.csproj
+++ b/src/Greenshot.Addon.Box/Greenshot.Addon.Box.csproj
@@ -3,7 +3,8 @@
Greenshot.Addon.Box
Greenshot.Addon.Box
- net471;netcoreapp3.0
+
+ net471
diff --git a/src/Greenshot.Addon.Confluence/ConfluenceUtils.cs b/src/Greenshot.Addon.Confluence/ConfluenceUtils.cs
index d391b64f6..ecfbb84f7 100644
--- a/src/Greenshot.Addon.Confluence/ConfluenceUtils.cs
+++ b/src/Greenshot.Addon.Confluence/ConfluenceUtils.cs
@@ -50,7 +50,7 @@ namespace Greenshot.Addon.Confluence
var pages = new List();
var pageIdRegex = new Regex(@"pageId=(\d+)");
var spacePageRegex = new Regex(@"\/display\/([^\/]+)\/([^#]+)");
- foreach (var browserurl in IEHelper.GetIEUrls().Distinct())
+ foreach (var browserurl in InternetExplorerHelper.GetIEUrls().Distinct())
{
string url;
try
diff --git a/src/Greenshot.Addon.Confluence/Greenshot.Addon.Confluence.csproj b/src/Greenshot.Addon.Confluence/Greenshot.Addon.Confluence.csproj
index 6b238ab83..ad0ca6ada 100644
--- a/src/Greenshot.Addon.Confluence/Greenshot.Addon.Confluence.csproj
+++ b/src/Greenshot.Addon.Confluence/Greenshot.Addon.Confluence.csproj
@@ -3,7 +3,8 @@
Greenshot.Addon.Confluence
Greenshot.Addon.Confluence
- net471;netcoreapp3.0
+
+ net471
diff --git a/src/Greenshot.Addon.Dropbox/Greenshot.Addon.Dropbox.csproj b/src/Greenshot.Addon.Dropbox/Greenshot.Addon.Dropbox.csproj
index d0a379fbc..f0226deeb 100644
--- a/src/Greenshot.Addon.Dropbox/Greenshot.Addon.Dropbox.csproj
+++ b/src/Greenshot.Addon.Dropbox/Greenshot.Addon.Dropbox.csproj
@@ -3,7 +3,8 @@
Greenshot.Addon.Dropbox
Greenshot.Addon.Dropbox
- net471;netcoreapp3.0
+
+ net471
diff --git a/src/Greenshot.Addon.ExternalCommand/Greenshot.Addon.ExternalCommand.csproj b/src/Greenshot.Addon.ExternalCommand/Greenshot.Addon.ExternalCommand.csproj
index e65b37a41..bb2570c4f 100644
--- a/src/Greenshot.Addon.ExternalCommand/Greenshot.Addon.ExternalCommand.csproj
+++ b/src/Greenshot.Addon.ExternalCommand/Greenshot.Addon.ExternalCommand.csproj
@@ -3,7 +3,8 @@
Greenshot.Addon.ExternalCommand
Greenshot.Addon.ExternalCommand
- net471;netcoreapp3.0
+
+ net471
diff --git a/src/Greenshot.Addon.Flickr/Greenshot.Addon.Flickr.csproj b/src/Greenshot.Addon.Flickr/Greenshot.Addon.Flickr.csproj
index c7df32b05..621f9a111 100644
--- a/src/Greenshot.Addon.Flickr/Greenshot.Addon.Flickr.csproj
+++ b/src/Greenshot.Addon.Flickr/Greenshot.Addon.Flickr.csproj
@@ -3,7 +3,8 @@
Greenshot.Addon.Flickr
Greenshot.Addon.Flickr
- net471;netcoreapp3.0
+
+ net471
diff --git a/src/Greenshot.Addon.GooglePhotos/Greenshot.Addon.GooglePhotos.csproj b/src/Greenshot.Addon.GooglePhotos/Greenshot.Addon.GooglePhotos.csproj
index 9d4879965..83b241882 100644
--- a/src/Greenshot.Addon.GooglePhotos/Greenshot.Addon.GooglePhotos.csproj
+++ b/src/Greenshot.Addon.GooglePhotos/Greenshot.Addon.GooglePhotos.csproj
@@ -3,7 +3,8 @@
Greenshot.Addon.GooglePhotos
Greenshot.Addon.GooglePhotos
- net471;netcoreapp3.0
+
+ net471
diff --git a/src/Greenshot.Addon.Imgur/Greenshot.Addon.Imgur.csproj b/src/Greenshot.Addon.Imgur/Greenshot.Addon.Imgur.csproj
index 20cfc9298..df4d02707 100644
--- a/src/Greenshot.Addon.Imgur/Greenshot.Addon.Imgur.csproj
+++ b/src/Greenshot.Addon.Imgur/Greenshot.Addon.Imgur.csproj
@@ -3,7 +3,8 @@
Greenshot.Addon.Imgur
Greenshot.Addon.Imgur
- net471;netcoreapp3.0
+
+ net471
diff --git a/src/Greenshot.Addon.InternetExplorer/Greenshot.Addon.InternetExplorer.csproj b/src/Greenshot.Addon.InternetExplorer/Greenshot.Addon.InternetExplorer.csproj
index 5ac50dae8..0325146a0 100644
--- a/src/Greenshot.Addon.InternetExplorer/Greenshot.Addon.InternetExplorer.csproj
+++ b/src/Greenshot.Addon.InternetExplorer/Greenshot.Addon.InternetExplorer.csproj
@@ -1,7 +1,8 @@
- net471;netcoreapp3.0
+
+ net471
true
diff --git a/src/Greenshot.Addon.InternetExplorer/InternetExplorerAddonModule.cs b/src/Greenshot.Addon.InternetExplorer/InternetExplorerAddonModule.cs
new file mode 100644
index 000000000..adbd45b16
--- /dev/null
+++ b/src/Greenshot.Addon.InternetExplorer/InternetExplorerAddonModule.cs
@@ -0,0 +1,41 @@
+#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 Autofac;
+using Dapplo.Addons;
+
+namespace Greenshot.Addon.InternetExplorer
+{
+ ///
+ public class InternetExplorerAddonModulenModule : AddonModule
+ {
+ protected override void Load(ContainerBuilder builder)
+ {
+ builder
+ .RegisterType()
+ .AsSelf()
+ .SingleInstance();
+ base.Load(builder);
+ }
+ }
+}
diff --git a/src/Greenshot.Addon.InternetExplorer/IECaptureHelper.cs b/src/Greenshot.Addon.InternetExplorer/InternetExplorerCaptureHelper.cs
similarity index 91%
rename from src/Greenshot.Addon.InternetExplorer/IECaptureHelper.cs
rename to src/Greenshot.Addon.InternetExplorer/InternetExplorerCaptureHelper.cs
index 14e210269..47d9dc976 100644
--- a/src/Greenshot.Addon.InternetExplorer/IECaptureHelper.cs
+++ b/src/Greenshot.Addon.InternetExplorer/InternetExplorerCaptureHelper.cs
@@ -36,7 +36,7 @@ using Dapplo.Windows.Common.Structs;
using Dapplo.Windows.Desktop;
using Dapplo.Windows.Messages;
using Dapplo.Windows.User32;
-using Greenshot.Addon.InternetExplorer.IEInterop;
+using Greenshot.Addon.InternetExplorer.InternetExplorerInterop;
using Greenshot.Addons.Config.Impl;
using Greenshot.Addons.Controls;
using Greenshot.Addons.Core;
@@ -54,20 +54,24 @@ namespace Greenshot.Addon.InternetExplorer
/// On top I modified it to use the already available code in Greenshot.
/// Many thanks to all the people who contributed here!
///
- public static class IeCaptureHelper
+ public class InternetExplorerCaptureHelper
{
private static readonly LogSource Log = new LogSource();
- // TODO: Solve, was static reference!
- private static readonly ICoreConfiguration CoreConfig = new CoreConfigurationImpl();
+ private readonly ICoreConfiguration _coreConfiguration;
+
+ public InternetExplorerCaptureHelper(ICoreConfiguration coreConfiguration)
+ {
+ _coreConfiguration = coreConfiguration;
+ }
///
/// Helper method to activate a certain IE Tab
///
/// IInteropWindow
/// int
- public static void ActivateIeTab(IInteropWindow nativeIeWindow, int tabIndex)
+ public void ActivateIeTab(IInteropWindow nativeIeWindow, int tabIndex)
{
- var directUiInteropWindow = IEHelper.GetDirectUi(nativeIeWindow);
+ var directUiInteropWindow = InternetExplorerHelper.GetDirectUi(nativeIeWindow);
if (directUiInteropWindow == null)
{
return;
@@ -87,7 +91,7 @@ namespace Greenshot.Addon.InternetExplorer
/// InteropWindow to check
/// min percentage
///
- public static bool IsMostlyIeWindow(IInteropWindow someWindow, int minimumPercentage)
+ public bool IsMostlyIeWindow(IInteropWindow someWindow, int minimumPercentage)
{
var ieWindow = someWindow.GetChildren().FirstOrDefault(window => window.GetClassname() == "Internet Explorer_Server");
if (ieWindow == null)
@@ -106,13 +110,13 @@ namespace Greenshot.Addon.InternetExplorer
///
///
///
- public static bool IsIeWindow(IInteropWindow someWindow)
+ public bool IsIeWindow(IInteropWindow someWindow)
{
if ("IEFrame".Equals(someWindow.GetClassname()))
{
return true;
}
- if (CoreConfig.WindowClassesToCheckForIE != null && CoreConfig.WindowClassesToCheckForIE.Contains(someWindow.Classname))
+ if (_coreConfiguration.WindowClassesToCheckForIE != null && _coreConfiguration.WindowClassesToCheckForIE.Contains(someWindow.Classname))
{
return someWindow.GetChildren().Any(window => window.GetClassname() == "Internet Explorer_Server");
}
@@ -123,7 +127,7 @@ namespace Greenshot.Addon.InternetExplorer
/// Get Windows displaying an IE
///
/// IEnumerable IInteropWindow
- public static IEnumerable GetIeWindows()
+ public IEnumerable GetIeWindows()
{
return WindowsEnumerator.EnumerateWindows().Where(IsIeWindow);
}
@@ -132,7 +136,7 @@ namespace Greenshot.Addon.InternetExplorer
/// Simple check if IE is running
///
/// bool
- public static bool IsIeRunning()
+ public bool IsIeRunning()
{
return GetIeWindows().Any();
}
@@ -141,7 +145,7 @@ namespace Greenshot.Addon.InternetExplorer
/// Gets a list of all IE Windows & tabs with the captions of the instances
///
/// List with KeyValuePair of InteropWindow and string
- public static IList> GetBrowserTabs()
+ public IList> GetBrowserTabs()
{
var ieHandleList = new List();
var browserWindows = new Dictionary>();
@@ -157,14 +161,14 @@ namespace Greenshot.Addon.InternetExplorer
}
if ("IEFrame".Equals(ieWindow.GetClassname()))
{
- var directUiwd = IEHelper.GetDirectUi(ieWindow);
+ var directUiwd = InternetExplorerHelper.GetDirectUi(ieWindow);
if (directUiwd != null)
{
var accessible = new Accessible(directUiwd.Handle);
browserWindows.Add(ieWindow, accessible.IETabCaptions);
}
}
- else if (CoreConfig.WindowClassesToCheckForIE != null && CoreConfig.WindowClassesToCheckForIE.Contains(ieWindow.Classname))
+ else if (_coreConfiguration.WindowClassesToCheckForIE != null && _coreConfiguration.WindowClassesToCheckForIE.Contains(ieWindow.Classname))
{
var singleWindowText = new List();
try
@@ -211,7 +215,7 @@ namespace Greenshot.Addon.InternetExplorer
///
///
///
- private static IHTMLDocument2 GetHtmlDocument(IInteropWindow mainWindow)
+ private IHTMLDocument2 GetHtmlDocument(IInteropWindow mainWindow)
{
var ieServer = "Internet Explorer_Server".Equals(mainWindow.GetClassname())
? mainWindow
@@ -250,7 +254,7 @@ namespace Greenshot.Addon.InternetExplorer
///
/// The InteropWindow to get the IHTMLDocument2 for
/// DocumentContainer
- private static DocumentContainer CreateDocumentContainer(IInteropWindow browserWindow)
+ private DocumentContainer CreateDocumentContainer(IInteropWindow browserWindow)
{
DocumentContainer returnDocumentContainer = null;
InteropWindow returnWindow = null;
@@ -265,7 +269,7 @@ namespace Greenshot.Addon.InternetExplorer
Log.Debug().WriteLine("Processing {0} - {1}", ieWindow.Classname, ieWindow.Text);
Accessible ieAccessible = null;
- var directUiwd = IEHelper.GetDirectUi(ieWindow);
+ var directUiwd = InternetExplorerHelper.GetDirectUi(ieWindow);
if (directUiwd != null)
{
ieAccessible = new Accessible(directUiwd.Handle);
@@ -390,7 +394,7 @@ namespace Greenshot.Addon.InternetExplorer
/// ICapture where the capture needs to be stored
/// window to use
/// ICapture with the content (if any)
- public static ICapture CaptureIe(ICapture capture, IInteropWindow windowToCapture = null)
+ public ICapture CaptureIe(ICapture capture, IInteropWindow windowToCapture = null)
{
if (windowToCapture == null)
{
@@ -542,7 +546,7 @@ namespace Greenshot.Addon.InternetExplorer
///
///
/// Size of the complete page
- private static Size PrepareCapture(DocumentContainer documentContainer, ICapture capture)
+ private Size PrepareCapture(DocumentContainer documentContainer, ICapture capture)
{
// Calculate the page size
var pageWidth = documentContainer.ScrollWidth;
@@ -645,7 +649,7 @@ namespace Greenshot.Addon.InternetExplorer
/// The document wrapped in a container
///
/// Bitmap with the page content as an image
- private static Bitmap CapturePage(DocumentContainer documentContainer, Size pageSize)
+ private Bitmap CapturePage(DocumentContainer documentContainer, Size pageSize)
{
var contentWindowDetails = documentContainer.ContentWindow;
@@ -685,7 +689,7 @@ namespace Greenshot.Addon.InternetExplorer
/// Needed for referencing the location of the frame
/// Graphics
/// Bitmap with the capture
- private static void DrawDocument(DocumentContainer documentContainer, IInteropWindow contentWindowDetails, Graphics graphicsTarget)
+ private void DrawDocument(DocumentContainer documentContainer, IInteropWindow contentWindowDetails, Graphics graphicsTarget)
{
documentContainer.SetAttribute("scroll", 1);
diff --git a/src/Greenshot.Addon.InternetExplorer/IEHelper.cs b/src/Greenshot.Addon.InternetExplorer/InternetExplorerHelper.cs
similarity index 93%
rename from src/Greenshot.Addon.InternetExplorer/IEHelper.cs
rename to src/Greenshot.Addon.InternetExplorer/InternetExplorerHelper.cs
index 88a1a9648..0616c72d6 100644
--- a/src/Greenshot.Addon.InternetExplorer/IEHelper.cs
+++ b/src/Greenshot.Addon.InternetExplorer/InternetExplorerHelper.cs
@@ -27,10 +27,10 @@ using Dapplo.Windows.Desktop;
using Microsoft.Win32;
namespace Greenshot.Addon.InternetExplorer {
- ///
- /// Description of IEHelper.
- ///
- public static class IEHelper {
+ ///
+ /// Util code for Internet Explorer
+ ///
+ public class InternetExplorerHelper {
private static readonly LogSource Log = new LogSource();
// Internet explorer Registry key
diff --git a/src/Greenshot.Addon.InternetExplorer/IEInterop/IEContainer.cs b/src/Greenshot.Addon.InternetExplorer/InternetExplorerInterop/DocumentContainer.cs
similarity index 96%
rename from src/Greenshot.Addon.InternetExplorer/IEInterop/IEContainer.cs
rename to src/Greenshot.Addon.InternetExplorer/InternetExplorerInterop/DocumentContainer.cs
index 6c0beb688..667bb8c72 100644
--- a/src/Greenshot.Addon.InternetExplorer/IEInterop/IEContainer.cs
+++ b/src/Greenshot.Addon.InternetExplorer/InternetExplorerInterop/DocumentContainer.cs
@@ -37,7 +37,7 @@ using IServiceProvider = Greenshot.Addons.Interop.IServiceProvider;
#endregion
-namespace Greenshot.Addon.InternetExplorer.IEInterop
+namespace Greenshot.Addon.InternetExplorer.InternetExplorerInterop
{
public class DocumentContainer
{
diff --git a/src/Greenshot.Addon.InternetExplorer/IEInterop/IWebBrowser2.cs b/src/Greenshot.Addon.InternetExplorer/InternetExplorerInterop/IWebBrowser2.cs
similarity index 94%
rename from src/Greenshot.Addon.InternetExplorer/IEInterop/IWebBrowser2.cs
rename to src/Greenshot.Addon.InternetExplorer/InternetExplorerInterop/IWebBrowser2.cs
index 1f3e8f65d..006550574 100644
--- a/src/Greenshot.Addon.InternetExplorer/IEInterop/IWebBrowser2.cs
+++ b/src/Greenshot.Addon.InternetExplorer/InternetExplorerInterop/IWebBrowser2.cs
@@ -27,7 +27,7 @@ using System.Runtime.InteropServices;
#endregion
-namespace Greenshot.Addon.InternetExplorer.IEInterop
+namespace Greenshot.Addon.InternetExplorer.InternetExplorerInterop
{
// IWebBrowser: EAB22AC1-30C1-11CF-A7EB-0000C05BAE0B
// [ComVisible(true), ComImport(), Guid("D30C1661-CDAF-11D0-8A3E-00C04FC9E26E"),
diff --git a/src/Greenshot.Addon.LegacyEditor/Greenshot.Addon.LegacyEditor.csproj b/src/Greenshot.Addon.LegacyEditor/Greenshot.Addon.LegacyEditor.csproj
index 4085fdfde..b2456120d 100644
--- a/src/Greenshot.Addon.LegacyEditor/Greenshot.Addon.LegacyEditor.csproj
+++ b/src/Greenshot.Addon.LegacyEditor/Greenshot.Addon.LegacyEditor.csproj
@@ -3,7 +3,8 @@
Greenshot.Addon.LegacyEditor
Greenshot.Addon.LegacyEditor
- net471;netcoreapp3.0
+
+ net471
true
diff --git a/src/Greenshot.Addon.Lutim/Greenshot.Addon.Lutim.csproj b/src/Greenshot.Addon.Lutim/Greenshot.Addon.Lutim.csproj
index 1f6341ef2..93e87f089 100644
--- a/src/Greenshot.Addon.Lutim/Greenshot.Addon.Lutim.csproj
+++ b/src/Greenshot.Addon.Lutim/Greenshot.Addon.Lutim.csproj
@@ -3,7 +3,8 @@
Greenshot.Addon.Lutim
Greenshot.Addon.Lutim
- net471;netcoreapp3.0
+
+ net471
diff --git a/src/Greenshot.Addon.OCR/Greenshot.Addon.OCR.csproj b/src/Greenshot.Addon.OCR/Greenshot.Addon.OCR.csproj
index 81244eb51..da4193fc9 100644
--- a/src/Greenshot.Addon.OCR/Greenshot.Addon.OCR.csproj
+++ b/src/Greenshot.Addon.OCR/Greenshot.Addon.OCR.csproj
@@ -3,7 +3,8 @@
Greenshot.Addon.OCR
Greenshot.Addon.OCR
- net471;netcoreapp3.0
+
+ net471
diff --git a/src/Greenshot.Addon.Office/Greenshot.Addon.Office.csproj b/src/Greenshot.Addon.Office/Greenshot.Addon.Office.csproj
index 67b7e1def..c9a40f159 100644
--- a/src/Greenshot.Addon.Office/Greenshot.Addon.Office.csproj
+++ b/src/Greenshot.Addon.Office/Greenshot.Addon.Office.csproj
@@ -3,7 +3,8 @@
Greenshot.Addon.Office
Greenshot.Addon.Office
- net471;netcoreapp3.0
+
+ net471
diff --git a/src/Greenshot.Addon.OneDrive/Greenshot.Addon.OneDrive.csproj b/src/Greenshot.Addon.OneDrive/Greenshot.Addon.OneDrive.csproj
index 04f045d9b..bffe9a228 100644
--- a/src/Greenshot.Addon.OneDrive/Greenshot.Addon.OneDrive.csproj
+++ b/src/Greenshot.Addon.OneDrive/Greenshot.Addon.OneDrive.csproj
@@ -3,7 +3,8 @@
Greenshot.Addon.OneDrive
Greenshot.Addon.OneDrive
- net471;netcoreapp3.0
+
+ net471
diff --git a/src/Greenshot.Addon.Photobucket/Greenshot.Addon.Photobucket.csproj b/src/Greenshot.Addon.Photobucket/Greenshot.Addon.Photobucket.csproj
index 7167aa53a..4041a27f3 100644
--- a/src/Greenshot.Addon.Photobucket/Greenshot.Addon.Photobucket.csproj
+++ b/src/Greenshot.Addon.Photobucket/Greenshot.Addon.Photobucket.csproj
@@ -3,7 +3,8 @@
Greenshot.Addon.Photobucket
Greenshot.Addon.Photobucket
- net471;netcoreapp3.0
+
+ net471
diff --git a/src/Greenshot.Addon.Tfs/Greenshot.Addon.Tfs.csproj b/src/Greenshot.Addon.Tfs/Greenshot.Addon.Tfs.csproj
index 6fb64be85..9b0622f83 100644
--- a/src/Greenshot.Addon.Tfs/Greenshot.Addon.Tfs.csproj
+++ b/src/Greenshot.Addon.Tfs/Greenshot.Addon.Tfs.csproj
@@ -3,7 +3,8 @@
Greenshot.Addon.Tfs
Greenshot.Addon.Tfs
- net471;netcoreapp3.0
+
+ net471
diff --git a/src/Greenshot.Addon.Win10/Greenshot.Addon.Win10.csproj b/src/Greenshot.Addon.Win10/Greenshot.Addon.Win10.csproj
index 38a48cb0b..a48c03e2f 100644
--- a/src/Greenshot.Addon.Win10/Greenshot.Addon.Win10.csproj
+++ b/src/Greenshot.Addon.Win10/Greenshot.Addon.Win10.csproj
@@ -3,7 +3,8 @@
Greenshot.Addon.Win10
Greenshot.Addon.Win10
- net471;netcoreapp3.0
+
+ net471
@@ -21,6 +22,8 @@
+
+
False
C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Runtime.WindowsRuntime.dll
diff --git a/src/Greenshot.Addons/Greenshot.Addons.csproj b/src/Greenshot.Addons/Greenshot.Addons.csproj
index aa725251a..d622824db 100644
--- a/src/Greenshot.Addons/Greenshot.Addons.csproj
+++ b/src/Greenshot.Addons/Greenshot.Addons.csproj
@@ -1,7 +1,8 @@
- net471;netcoreapp3.0
+
+ net471
true
diff --git a/src/Greenshot.Core/Greenshot.Core.csproj b/src/Greenshot.Core/Greenshot.Core.csproj
index ba95a1421..eb10f3ae0 100644
--- a/src/Greenshot.Core/Greenshot.Core.csproj
+++ b/src/Greenshot.Core/Greenshot.Core.csproj
@@ -1,7 +1,8 @@
- net471;netcoreapp3.0
+
+ net471
true
diff --git a/src/Greenshot.Gfx.Experimental/Greenshot.Gfx.Experimental.csproj b/src/Greenshot.Gfx.Experimental/Greenshot.Gfx.Experimental.csproj
index d991ba5e9..cbe55d9d4 100644
--- a/src/Greenshot.Gfx.Experimental/Greenshot.Gfx.Experimental.csproj
+++ b/src/Greenshot.Gfx.Experimental/Greenshot.Gfx.Experimental.csproj
@@ -1,7 +1,8 @@
- net471;netcoreapp3.0
+
+ net471
true
diff --git a/src/Greenshot.Gfx/Greenshot.Gfx.csproj b/src/Greenshot.Gfx/Greenshot.Gfx.csproj
index 5e1e507e1..6b4a346c9 100644
--- a/src/Greenshot.Gfx/Greenshot.Gfx.csproj
+++ b/src/Greenshot.Gfx/Greenshot.Gfx.csproj
@@ -1,7 +1,8 @@
- net471;netcoreapp3.0
+
+ net471
true
diff --git a/src/Greenshot.PerformanceTests/Greenshot.PerformanceTests.csproj b/src/Greenshot.PerformanceTests/Greenshot.PerformanceTests.csproj
index 53d92bab8..2060cd8d6 100644
--- a/src/Greenshot.PerformanceTests/Greenshot.PerformanceTests.csproj
+++ b/src/Greenshot.PerformanceTests/Greenshot.PerformanceTests.csproj
@@ -4,7 +4,8 @@
Greenshot.PerformanceTests
Greenshot.PerformanceTests
Exe
- net471;netcoreapp3.0
+
+ net471
true
diff --git a/src/Greenshot.Tests/Greenshot.Tests.csproj b/src/Greenshot.Tests/Greenshot.Tests.csproj
index 4d01ed21d..ec5fb7f9c 100644
--- a/src/Greenshot.Tests/Greenshot.Tests.csproj
+++ b/src/Greenshot.Tests/Greenshot.Tests.csproj
@@ -1,7 +1,8 @@
- net471;netcoreapp3.0
+
+ net471
true
diff --git a/src/Greenshot/Components/CaptureSupportInfo.cs b/src/Greenshot/Components/CaptureSupportInfo.cs
new file mode 100644
index 000000000..b284331c6
--- /dev/null
+++ b/src/Greenshot/Components/CaptureSupportInfo.cs
@@ -0,0 +1,30 @@
+using System.Collections.Generic;
+using Greenshot.Addon.InternetExplorer;
+using Greenshot.Addons.Interfaces;
+
+namespace Greenshot.Components
+{
+ ///
+ /// This is the information which is needed for making captures possible.
+ ///
+ public class CaptureSupportInfo
+ {
+ ///
+ /// Constructor
+ ///
+ /// InternetExplorerCaptureHelper
+ /// IEnumerable with IFormEnhancer
+ public CaptureSupportInfo(
+ InternetExplorerCaptureHelper internetExplorerCaptureHelper,
+ IEnumerable formEnhancers = null
+ )
+ {
+ InternetExplorerCaptureHelper = internetExplorerCaptureHelper;
+ FormEnhancers = formEnhancers;
+ }
+
+ public InternetExplorerCaptureHelper InternetExplorerCaptureHelper { get; }
+
+ public IEnumerable FormEnhancers { get; }
+ }
+}
diff --git a/src/Greenshot/Components/GreenshotServer.cs b/src/Greenshot/Components/GreenshotServer.cs
index 614a5f885..129f71a15 100644
--- a/src/Greenshot/Components/GreenshotServer.cs
+++ b/src/Greenshot/Components/GreenshotServer.cs
@@ -61,7 +61,7 @@ namespace Greenshot.Components
private readonly HotkeyService _hotkeyService;
private readonly DestinationHolder _destinationHolder;
private ServiceHost _host;
- private IEnumerable _formEnhancers;
+ private CaptureSupportInfo _captureSupportInfo;
public static string Identity
{
@@ -78,9 +78,9 @@ namespace Greenshot.Components
MainForm mainForm,
HotkeyService hotkeyService,
DestinationHolder destinationHolder,
- IEnumerable formEnhancers = null)
+ CaptureSupportInfo captureSupportInfo)
{
- _formEnhancers = formEnhancers;
+ _captureSupportInfo = captureSupportInfo;
_coreConfiguration = coreConfiguration;
_mainForm = mainForm;
_hotkeyService = hotkeyService;
@@ -141,7 +141,7 @@ namespace Greenshot.Components
Log.Debug().WriteLine("Open file requested: {0}", filename);
if (File.Exists(filename))
{
- CaptureHelper.CaptureFile(_formEnhancers, filename);
+ CaptureHelper.CaptureFile(_captureSupportInfo, filename);
}
else
{
@@ -171,13 +171,13 @@ namespace Greenshot.Components
switch (captureMode.ToLower())
{
case "region":
- CaptureHelper.CaptureRegion(_formEnhancers, false, destination);
+ CaptureHelper.CaptureRegion(_captureSupportInfo, false, destination);
break;
case "window":
- CaptureHelper.CaptureWindow(_formEnhancers, false, destination);
+ CaptureHelper.CaptureWindow(_captureSupportInfo, false, destination);
break;
case "fullscreen":
- CaptureHelper.CaptureFullscreen(_formEnhancers, false, ScreenCaptureMode.FullScreen, destination);
+ CaptureHelper.CaptureFullscreen(_captureSupportInfo, false, ScreenCaptureMode.FullScreen, destination);
break;
default:
Log.Warn().WriteLine("Unknown capture option");
diff --git a/src/Greenshot/Components/HotkeyService.cs b/src/Greenshot/Components/HotkeyService.cs
index 7f0cb7c4a..226abccdb 100644
--- a/src/Greenshot/Components/HotkeyService.cs
+++ b/src/Greenshot/Components/HotkeyService.cs
@@ -42,13 +42,13 @@ namespace Greenshot.Components
{
private static readonly LogSource Log = new LogSource();
private readonly ICoreConfiguration _coreConfiguration;
- private readonly IEnumerable _formEnhancers;
+ private readonly CaptureSupportInfo _captureSupportInfo;
private IDisposable _subscriptions;
- public HotkeyService(ICoreConfiguration coreConfiguration, IEnumerable formEnhancers = null)
+ public HotkeyService(ICoreConfiguration coreConfiguration, CaptureSupportInfo captureSupportInfo)
{
_coreConfiguration = coreConfiguration;
- _formEnhancers = formEnhancers;
+ _captureSupportInfo = captureSupportInfo;
}
///
@@ -120,36 +120,36 @@ namespace Greenshot.Components
private void CaptureRegion(KeyboardHookEventArgs keyboardHookEventArgs)
{
- Execute.BeginOnUIThread(() => CaptureHelper.CaptureRegion(_formEnhancers, true));
+ Execute.BeginOnUIThread(() => CaptureHelper.CaptureRegion(_captureSupportInfo, true));
}
private void CaptureWindow(KeyboardHookEventArgs keyboardHookEventArgs)
{
if (_coreConfiguration.CaptureWindowsInteractive)
{
- Execute.BeginOnUIThread(() => CaptureHelper.CaptureWindowInteractive(_formEnhancers, true));
+ Execute.BeginOnUIThread(() => CaptureHelper.CaptureWindowInteractive(_captureSupportInfo, true));
}
else
{
- Execute.BeginOnUIThread(() => CaptureHelper.CaptureWindow(_formEnhancers, true));
+ Execute.BeginOnUIThread(() => CaptureHelper.CaptureWindow(_captureSupportInfo, true));
}
}
private void CaptureFullscreen(KeyboardHookEventArgs keyboardHookEventArgs)
{
- Execute.BeginOnUIThread(() => CaptureHelper.CaptureFullscreen(_formEnhancers, true, _coreConfiguration.ScreenCaptureMode));
+ Execute.BeginOnUIThread(() => CaptureHelper.CaptureFullscreen(_captureSupportInfo, true, _coreConfiguration.ScreenCaptureMode));
}
private void CaptureLast(KeyboardHookEventArgs keyboardHookEventArgs)
{
- Execute.BeginOnUIThread(() => CaptureHelper.CaptureLastRegion(_formEnhancers, true));
+ Execute.BeginOnUIThread(() => CaptureHelper.CaptureLastRegion(_captureSupportInfo, true));
}
private void CaptureIe(KeyboardHookEventArgs keyboardHookEventArgs)
{
if (_coreConfiguration.IECapture)
{
- Execute.BeginOnUIThread(() => CaptureHelper.CaptureIe(_formEnhancers, true, null));
+ Execute.BeginOnUIThread(() => CaptureHelper.CaptureIe(_captureSupportInfo, true, null));
}
}
}
diff --git a/src/Greenshot/Forms/MainForm.cs b/src/Greenshot/Forms/MainForm.cs
index d5651603a..7bdc6122f 100644
--- a/src/Greenshot/Forms/MainForm.cs
+++ b/src/Greenshot/Forms/MainForm.cs
@@ -63,6 +63,7 @@ using Dapplo.Config.Ini;
using Dapplo.Windows.User32;
using Greenshot.Addons.Resources;
using Greenshot.Addons.Interfaces;
+using Greenshot.Components;
#endregion
@@ -77,6 +78,7 @@ namespace Greenshot.Forms
private readonly ICoreConfiguration _coreConfiguration;
private readonly IWindowManager _windowManager;
private readonly IGreenshotLanguage _greenshotLanguage;
+ private readonly InternetExplorerCaptureHelper _internetExplorerCaptureHelper;
private readonly Func> _configViewModelFactory;
private readonly Func> _aboutFormFactory;
@@ -84,7 +86,7 @@ namespace Greenshot.Forms
private readonly Timer _doubleClickTimer = new Timer();
private readonly DestinationHolder _destinationHolder;
- private readonly IEnumerable _formEnhancers;
+ private readonly CaptureSupportInfo _captureSupportInfo;
// Thumbnail preview
private ThumbnailForm _thumbnailForm;
@@ -94,20 +96,22 @@ namespace Greenshot.Forms
public MainForm(ICoreConfiguration coreConfiguration,
IWindowManager windowManager,
IGreenshotLanguage greenshotLanguage,
+ InternetExplorerCaptureHelper internetExplorerCaptureHelper,
GreenshotResources greenshotResources,
Func> configViewModelFactory,
Func> aboutFormFactory,
DestinationHolder destinationHolder,
- IEnumerable formEnhancers = null
+ CaptureSupportInfo captureSupportInfo
) : base(greenshotLanguage)
{
_coreConfiguration = coreConfiguration;
_windowManager = windowManager;
_greenshotLanguage = greenshotLanguage;
+ _internetExplorerCaptureHelper = internetExplorerCaptureHelper;
_configViewModelFactory = configViewModelFactory;
_aboutFormFactory = aboutFormFactory;
_destinationHolder = destinationHolder;
- _formEnhancers = formEnhancers;
+ _captureSupportInfo = captureSupportInfo;
Instance = this;
}
@@ -287,7 +291,7 @@ namespace Greenshot.Forms
if (File.Exists(_coreConfiguration.OutputFileAsFullpath))
{
- CaptureHelper.CaptureFile(_formEnhancers, _coreConfiguration.OutputFileAsFullpath, _destinationHolder.SortedActiveDestinations.Find("Editor"));
+ CaptureHelper.CaptureFile(_captureSupportInfo, _coreConfiguration.OutputFileAsFullpath, _destinationHolder.SortedActiveDestinations.Find("Editor"));
}
break;
case ClickActions.OPEN_SETTINGS:
@@ -459,7 +463,7 @@ namespace Greenshot.Forms
if (File.Exists(openFileDialog.FileName))
{
- CaptureHelper.CaptureFile(_formEnhancers, openFileDialog.FileName);
+ CaptureHelper.CaptureFile(_captureSupportInfo, openFileDialog.FileName);
}
}
@@ -467,7 +471,7 @@ namespace Greenshot.Forms
{
if (_coreConfiguration.IECapture)
{
- CaptureHelper.CaptureIe(_formEnhancers, true, null);
+ CaptureHelper.CaptureIe(_captureSupportInfo, true, null);
}
}
@@ -486,7 +490,7 @@ namespace Greenshot.Forms
// IE context menu code
try
{
- if (_coreConfiguration.IECapture && IeCaptureHelper.IsIeRunning())
+ if (_coreConfiguration.IECapture && _internetExplorerCaptureHelper.IsIeRunning())
{
contextmenu_captureie.Enabled = true;
contextmenu_captureiefromlist.Enabled = true;
@@ -543,7 +547,7 @@ namespace Greenshot.Forms
}
try
{
- var tabs = IeCaptureHelper.GetBrowserTabs();
+ var tabs = _internetExplorerCaptureHelper.GetBrowserTabs();
contextmenu_captureiefromlist.DropDownItems.Clear();
if (tabs.Count > 0)
{
@@ -606,7 +610,7 @@ namespace Greenshot.Forms
var allScreensBounds = DisplayInfo.ScreenBounds;
var captureScreenItem = new ToolStripMenuItem(_greenshotLanguage.ContextmenuCapturefullscreenAll);
- captureScreenItem.Click += (o, args) => BeginInvoke((MethodInvoker) (() => CaptureHelper.CaptureFullscreen(_formEnhancers, false, ScreenCaptureMode.FullScreen)));
+ captureScreenItem.Click += (o, args) => BeginInvoke((MethodInvoker) (() => CaptureHelper.CaptureFullscreen(_captureSupportInfo, false, ScreenCaptureMode.FullScreen)));
captureScreenMenuItem.DropDownItems.Add(captureScreenItem);
foreach (var displayInfo in DisplayInfo.AllDisplayInfos)
{
@@ -629,7 +633,7 @@ namespace Greenshot.Forms
deviceAlignment += " " + _greenshotLanguage.ContextmenuCapturefullscreenRight;
}
captureScreenItem = new ToolStripMenuItem(deviceAlignment);
- captureScreenItem.Click += (o, args) => BeginInvoke((MethodInvoker) (() => CaptureHelper.CaptureRegion(_formEnhancers, false, screenToCapture.Bounds)));
+ captureScreenItem.Click += (o, args) => BeginInvoke((MethodInvoker) (() => CaptureHelper.CaptureRegion(_captureSupportInfo, false, screenToCapture.Bounds)));
captureScreenMenuItem.DropDownItems.Add(captureScreenItem);
}
}
@@ -724,12 +728,12 @@ namespace Greenshot.Forms
private void CaptureAreaToolStripMenuItemClick(object sender, EventArgs e)
{
- BeginInvoke((MethodInvoker) delegate { CaptureHelper.CaptureRegion(_formEnhancers, false); });
+ BeginInvoke((MethodInvoker) delegate { CaptureHelper.CaptureRegion(_captureSupportInfo, false); });
}
private void CaptureClipboardToolStripMenuItemClick(object sender, EventArgs e)
{
- BeginInvoke(new System.Action(() => CaptureHelper.CaptureClipboard(_formEnhancers)));
+ BeginInvoke(new System.Action(() => CaptureHelper.CaptureClipboard(_captureSupportInfo)));
}
private void OpenFileToolStripMenuItemClick(object sender, EventArgs e)
@@ -739,17 +743,17 @@ namespace Greenshot.Forms
private void CaptureFullScreenToolStripMenuItemClick(object sender, EventArgs e)
{
- BeginInvoke((MethodInvoker) delegate { CaptureHelper.CaptureFullscreen(_formEnhancers, false, _coreConfiguration.ScreenCaptureMode); });
+ BeginInvoke((MethodInvoker) delegate { CaptureHelper.CaptureFullscreen(_captureSupportInfo, false, _coreConfiguration.ScreenCaptureMode); });
}
private void Contextmenu_capturelastregionClick(object sender, EventArgs e)
{
- BeginInvoke((MethodInvoker) delegate { CaptureHelper.CaptureLastRegion(_formEnhancers, false); });
+ BeginInvoke((MethodInvoker) delegate { CaptureHelper.CaptureLastRegion(_captureSupportInfo, false); });
}
private void Contextmenu_capturewindow_Click(object sender, EventArgs e)
{
- BeginInvoke((MethodInvoker) delegate { CaptureHelper.CaptureWindowInteractive(_formEnhancers, false); });
+ BeginInvoke((MethodInvoker) delegate { CaptureHelper.CaptureWindowInteractive(_captureSupportInfo, false); });
}
private void Contextmenu_capturewindowfromlist_Click(object sender, EventArgs e)
@@ -760,7 +764,7 @@ namespace Greenshot.Forms
try
{
var windowToCapture = (InteropWindow) clickedItem.Tag;
- CaptureHelper.CaptureWindow(_formEnhancers, windowToCapture);
+ CaptureHelper.CaptureWindow(_captureSupportInfo, windowToCapture);
}
catch (Exception exception)
{
@@ -792,7 +796,7 @@ namespace Greenshot.Forms
}
try
{
- IeCaptureHelper.ActivateIeTab(ieWindowToCapture, tabData.Value);
+ _internetExplorerCaptureHelper.ActivateIeTab(ieWindowToCapture, tabData.Value);
}
catch (Exception exception)
{
@@ -800,7 +804,7 @@ namespace Greenshot.Forms
}
try
{
- CaptureHelper.CaptureIe(_formEnhancers, false, ieWindowToCapture);
+ CaptureHelper.CaptureIe(_captureSupportInfo, false, ieWindowToCapture);
}
catch (Exception exception)
{
diff --git a/src/Greenshot/Greenshot.csproj b/src/Greenshot/Greenshot.csproj
index 6dab17b4e..d4cc30648 100644
--- a/src/Greenshot/Greenshot.csproj
+++ b/src/Greenshot/Greenshot.csproj
@@ -2,13 +2,17 @@
WinExe
- net471;netcoreapp3.0
+
+ net471
latest
icons\applicationIcon\icon.ico
True
greenshot.manifest
Greenshot
Greenshot
+
+ AnyCPU;x86
diff --git a/src/Greenshot/GreenshotAutofacModule.cs b/src/Greenshot/GreenshotAutofacModule.cs
index 07c476a8b..042247159 100644
--- a/src/Greenshot/GreenshotAutofacModule.cs
+++ b/src/Greenshot/GreenshotAutofacModule.cs
@@ -72,6 +72,11 @@ namespace Greenshot
.As()
.SingleInstance();
+ builder
+ .RegisterType()
+ .AsSelf()
+ .SingleInstance();
+
builder
.RegisterType()
.As()
diff --git a/src/Greenshot/Helpers/CaptureHelper.cs b/src/Greenshot/Helpers/CaptureHelper.cs
index cf05f3fc3..fa0874d0d 100644
--- a/src/Greenshot/Helpers/CaptureHelper.cs
+++ b/src/Greenshot/Helpers/CaptureHelper.cs
@@ -65,8 +65,8 @@ namespace Greenshot.Helpers
private static readonly ICoreConfiguration CoreConfig = new CoreConfigurationImpl();
private readonly bool _captureMouseCursor;
private ICapture _capture;
+ private readonly CaptureSupportInfo _captureSupportInfo;
private CaptureMode _captureMode;
- private readonly IEnumerable _formEnhancers;
private NativeRect _captureRect = NativeRect.Empty;
private ScreenCaptureMode _screenCaptureMode = ScreenCaptureMode.Auto;
// TODO: when we get the screen capture code working correctly, this needs to be enabled
@@ -75,28 +75,28 @@ namespace Greenshot.Helpers
private readonly DestinationHolder _destinationHolder;
private readonly IEnumerable _processors;
- public CaptureHelper(IEnumerable formEnhancers, CaptureMode captureMode)
+ public CaptureHelper(CaptureSupportInfo captureSupportInfo, CaptureMode captureMode)
{
+ _captureSupportInfo = captureSupportInfo;
_captureMode = captureMode;
- _formEnhancers = formEnhancers;
_capture = new Capture();
_destinationHolder = DestinationHolder.Instance;
// TODO: Fix this
_processors = Enumerable.Empty();
}
- public CaptureHelper(IEnumerable formEnhancers, CaptureMode captureMode, bool captureMouseCursor) : this(formEnhancers, captureMode)
+ public CaptureHelper(CaptureSupportInfo captureSupportInfo, CaptureMode captureMode, bool captureMouseCursor) : this(captureSupportInfo, captureMode)
{
_captureMouseCursor = captureMouseCursor;
}
- public CaptureHelper(IEnumerable formEnhancers, CaptureMode captureMode, bool captureMouseCursor, ScreenCaptureMode screenCaptureMode) : this(formEnhancers, captureMode)
+ public CaptureHelper(CaptureSupportInfo captureSupportInfo, CaptureMode captureMode, bool captureMouseCursor, ScreenCaptureMode screenCaptureMode) : this(captureSupportInfo, captureMode)
{
_captureMouseCursor = captureMouseCursor;
_screenCaptureMode = screenCaptureMode;
}
- public CaptureHelper(IEnumerable formEnhancers, CaptureMode captureMode, bool captureMouseCursor, IDestination destination) : this(formEnhancers, captureMode, captureMouseCursor)
+ public CaptureHelper(CaptureSupportInfo captureSupportInfo, CaptureMode captureMode, bool captureMouseCursor, IDestination destination) : this(captureSupportInfo, captureMode, captureMouseCursor)
{
if (destination != null)
{
@@ -140,100 +140,100 @@ namespace Greenshot.Helpers
}
}
- public static void CaptureClipboard(IEnumerable formEnhancers, IDestination destination = null)
+ public static void CaptureClipboard(CaptureSupportInfo captureSupportInfo, IDestination destination = null)
{
- using (var captureHelper = new CaptureHelper(formEnhancers, CaptureMode.Clipboard, false, destination))
+ using (var captureHelper = new CaptureHelper(captureSupportInfo, CaptureMode.Clipboard, false, destination))
{
captureHelper.MakeCapture();
}
}
- public static void CaptureRegion(IEnumerable formEnhancers, bool captureMouse, IDestination destination = null)
+ public static void CaptureRegion(CaptureSupportInfo captureSupportInfo, bool captureMouse, IDestination destination = null)
{
- using (var captureHelper = new CaptureHelper(formEnhancers, CaptureMode.Region, captureMouse, destination))
+ using (var captureHelper = new CaptureHelper(captureSupportInfo, CaptureMode.Region, captureMouse, destination))
{
captureHelper.MakeCapture();
}
}
- public static void CaptureRegion(IEnumerable formEnhancers, bool captureMouse, NativeRect region)
+ public static void CaptureRegion(CaptureSupportInfo captureSupportInfo, bool captureMouse, NativeRect region)
{
- using (var captureHelper = new CaptureHelper(formEnhancers, CaptureMode.Region, captureMouse))
+ using (var captureHelper = new CaptureHelper(captureSupportInfo, CaptureMode.Region, captureMouse))
{
captureHelper.MakeCapture(region);
}
}
- public static void CaptureFullscreen(IEnumerable formEnhancers, bool captureMouse, ScreenCaptureMode screenCaptureMode, IDestination destination = null)
+ public static void CaptureFullscreen(CaptureSupportInfo captureSupportInfo, bool captureMouse, ScreenCaptureMode screenCaptureMode, IDestination destination = null)
{
- using (var captureHelper = new CaptureHelper(formEnhancers, CaptureMode.FullScreen, captureMouse, destination))
+ using (var captureHelper = new CaptureHelper(captureSupportInfo, CaptureMode.FullScreen, captureMouse, destination))
{
captureHelper._screenCaptureMode = screenCaptureMode;
captureHelper.MakeCapture();
}
}
- public static void CaptureLastRegion(IEnumerable formEnhancers, bool captureMouse)
+ public static void CaptureLastRegion(CaptureSupportInfo captureSupportInfo, bool captureMouse)
{
- using (var captureHelper = new CaptureHelper(formEnhancers, CaptureMode.LastRegion, captureMouse))
+ using (var captureHelper = new CaptureHelper(captureSupportInfo, CaptureMode.LastRegion, captureMouse))
{
captureHelper.MakeCapture();
}
}
- public static void CaptureIe(IEnumerable formEnhancers, bool captureMouse, IInteropWindow windowToCapture)
+ public static void CaptureIe(CaptureSupportInfo captureSupportInfo, bool captureMouse, IInteropWindow windowToCapture)
{
- using (var captureHelper = new CaptureHelper(formEnhancers, CaptureMode.IE, captureMouse))
+ using (var captureHelper = new CaptureHelper(captureSupportInfo, CaptureMode.IE, captureMouse))
{
captureHelper.SelectedCaptureWindow = windowToCapture;
captureHelper.MakeCapture();
}
}
- public static void CaptureWindow(IEnumerable formEnhancers, bool captureMouse, IDestination destination = null)
+ public static void CaptureWindow(CaptureSupportInfo captureSupportInfo, bool captureMouse, IDestination destination = null)
{
- using (var captureHelper = new CaptureHelper(formEnhancers, CaptureMode.ActiveWindow, captureMouse, destination))
+ using (var captureHelper = new CaptureHelper(captureSupportInfo, CaptureMode.ActiveWindow, captureMouse, destination))
{
captureHelper.MakeCapture();
}
}
- public static void CaptureWindow(IEnumerable formEnhancers, IInteropWindow windowToCapture)
+ public static void CaptureWindow(CaptureSupportInfo captureSupportInfo, IInteropWindow windowToCapture)
{
- using (var captureHelper = new CaptureHelper(formEnhancers, CaptureMode.ActiveWindow))
+ using (var captureHelper = new CaptureHelper(captureSupportInfo, CaptureMode.ActiveWindow))
{
captureHelper.SelectedCaptureWindow = windowToCapture;
captureHelper.MakeCapture();
}
}
- public static void CaptureWindowInteractive(IEnumerable formEnhancers, bool captureMouse)
+ public static void CaptureWindowInteractive(CaptureSupportInfo captureSupportInfo, bool captureMouse)
{
- using (var captureHelper = new CaptureHelper(formEnhancers, CaptureMode.Window))
+ using (var captureHelper = new CaptureHelper(captureSupportInfo, CaptureMode.Window))
{
captureHelper.MakeCapture();
}
}
- public static void CaptureFile(IEnumerable formEnhancers, string filename)
+ public static void CaptureFile(CaptureSupportInfo captureSupportInfo, string filename)
{
- using (var captureHelper = new CaptureHelper(formEnhancers, CaptureMode.File))
+ using (var captureHelper = new CaptureHelper(captureSupportInfo, CaptureMode.File))
{
captureHelper.MakeCapture(filename);
}
}
- public static void CaptureFile(IEnumerable formEnhancers, string filename, IDestination destination)
+ public static void CaptureFile(CaptureSupportInfo captureSupportInfo, string filename, IDestination destination)
{
- using (var captureHelper = new CaptureHelper(formEnhancers, CaptureMode.File))
+ using (var captureHelper = new CaptureHelper(captureSupportInfo, CaptureMode.File))
{
captureHelper.AddDestination(destination).MakeCapture(filename);
}
}
- public static void ImportCapture(IEnumerable formEnhancers, ICapture captureToImport)
+ public static void ImportCapture(CaptureSupportInfo captureSupportInfo, ICapture captureToImport)
{
- using (var captureHelper = new CaptureHelper(formEnhancers, CaptureMode.File))
+ using (var captureHelper = new CaptureHelper(captureSupportInfo, CaptureMode.File))
{
captureHelper._capture = captureToImport;
captureHelper.HandleCapture();
@@ -355,7 +355,7 @@ namespace Greenshot.Helpers
HandleCapture();
break;
case CaptureMode.IE:
- if (IeCaptureHelper.CaptureIe(_capture, SelectedCaptureWindow) != null)
+ if (_captureSupportInfo.InternetExplorerCaptureHelper.CaptureIe(_capture, SelectedCaptureWindow) != null)
{
_capture.CaptureDetails.AddMetaData("source", "Internet Explorer");
SetDpi();
@@ -782,7 +782,7 @@ namespace Greenshot.Helpers
/// The capture to store the details
/// What WindowCaptureModes to use
/// ICapture
- public static ICapture CaptureWindow(IInteropWindow windowToCapture, ICapture captureForWindow, WindowCaptureModes windowCaptureMode)
+ public ICapture CaptureWindow(IInteropWindow windowToCapture, ICapture captureForWindow, WindowCaptureModes windowCaptureMode)
{
if (captureForWindow == null)
{
@@ -802,11 +802,11 @@ namespace Greenshot.Helpers
// 3) Otherwise use GDI (Screen might be also okay but might lose content)
if (isAutoMode)
{
- if (CoreConfig.IECapture && IeCaptureHelper.IsIeWindow(windowToCapture))
+ if (CoreConfig.IECapture && _captureSupportInfo.InternetExplorerCaptureHelper.IsIeWindow(windowToCapture))
{
try
{
- var ieCapture = IeCaptureHelper.CaptureIe(captureForWindow, windowToCapture);
+ var ieCapture = _captureSupportInfo.InternetExplorerCaptureHelper.CaptureIe(captureForWindow, windowToCapture);
if (ieCapture != null)
{
return ieCapture;
@@ -1032,7 +1032,7 @@ namespace Greenshot.Helpers
// }
//}
- using (var captureForm = new CaptureForm(CoreConfig, _capture, _windows, _formEnhancers))
+ using (var captureForm = new CaptureForm(CoreConfig, _capture, _windows, _captureSupportInfo.FormEnhancers))
{
// Make sure the form is hidden after showing, even if an exception occurs, so all errors will be shown
DialogResult result;