Small fixes for the clipboard usage, also fixed an autofac issue.

This commit is contained in:
Robin 2018-06-07 12:01:06 +02:00
commit 18a0399136
18 changed files with 48 additions and 20 deletions

View file

@ -153,7 +153,8 @@ namespace Greenshot.Addon.Box
{ {
using (var clipboardAccessToken = ClipboardNative.Access()) using (var clipboardAccessToken = ClipboardNative.Access())
{ {
clipboardAccessToken.SetAsUrl(url); clipboardAccessToken.ClearContents();
clipboardAccessToken.SetAsUrl(url);
} }
} }

View file

@ -134,7 +134,8 @@ namespace Greenshot.Addon.Dropbox
{ {
using (var clipboardAccessToken = ClipboardNative.Access()) using (var clipboardAccessToken = ClipboardNative.Access())
{ {
clipboardAccessToken.SetAsUrl(uploadUrl); clipboardAccessToken.ClearContents();
clipboardAccessToken.SetAsUrl(uploadUrl);
} }
} }
} }

View file

@ -94,7 +94,8 @@ namespace Greenshot.Addon.ExternalCommand
using (var clipboardAccessToken = ClipboardNative.Access()) using (var clipboardAccessToken = ClipboardNative.Access())
{ {
clipboardAccessToken.SetAsUrl(exportInformation.Uri); clipboardAccessToken.ClearContents();
clipboardAccessToken.SetAsUrl(exportInformation.Uri);
} }
} }
} }

View file

@ -181,7 +181,8 @@ namespace Greenshot.Addon.Flickr
{ {
using (var clipboardAccessToken = ClipboardNative.Access()) using (var clipboardAccessToken = ClipboardNative.Access())
{ {
clipboardAccessToken.SetAsUrl(uploadUrl); clipboardAccessToken.ClearContents();
clipboardAccessToken.SetAsUrl(uploadUrl);
} }
} }

View file

@ -148,7 +148,8 @@ namespace Greenshot.Addon.GooglePhotos
{ {
using (var clipboardAccessToken = ClipboardNative.Access()) using (var clipboardAccessToken = ClipboardNative.Access())
{ {
clipboardAccessToken.SetAsUrl(url); clipboardAccessToken.ClearContents();
clipboardAccessToken.SetAsUrl(url);
} }
} }
return url; return url;

View file

@ -163,6 +163,7 @@ namespace Greenshot.Addon.Imgur
{ {
using (var clipboardAccessToken = ClipboardNative.Access()) using (var clipboardAccessToken = ClipboardNative.Access())
{ {
clipboardAccessToken.ClearContents();
clipboardAccessToken.SetAsUrl(uploadUrl.AbsoluteUri); clipboardAccessToken.SetAsUrl(uploadUrl.AbsoluteUri);
} }
} }

View file

@ -147,6 +147,7 @@ namespace Greenshot.Addon.Imgur.ViewModels
{ {
using (var clipboardAccessToken = ClipboardNative.Access()) using (var clipboardAccessToken = ClipboardNative.Access())
{ {
clipboardAccessToken.ClearContents();
clipboardAccessToken.SetAsUrl(SelectedImgur.Data.Link?.AbsoluteUri); clipboardAccessToken.SetAsUrl(SelectedImgur.Data.Link?.AbsoluteUri);
} }
} }

View file

@ -141,6 +141,7 @@ namespace Greenshot.Addon.Lutim {
{ {
using (var clipboardAccessToken = ClipboardNative.Access()) using (var clipboardAccessToken = ClipboardNative.Access())
{ {
clipboardAccessToken.ClearContents();
clipboardAccessToken.SetAsUrl(uploadUrl); clipboardAccessToken.SetAsUrl(uploadUrl);
} }
} }

View file

@ -148,6 +148,7 @@ namespace Greenshot.Addon.Lutim.ViewModels
// TODO: Build url // TODO: Build url
using (var clipboardAccessToken = ClipboardNative.Access()) using (var clipboardAccessToken = ClipboardNative.Access())
{ {
clipboardAccessToken.ClearContents();
clipboardAccessToken.SetAsUrl(SelectedLutim.LutimInfo.Short); clipboardAccessToken.SetAsUrl(SelectedLutim.LutimInfo.Short);
} }
} }

View file

@ -180,6 +180,7 @@ namespace Greenshot.Addon.OneDrive
{ {
using (var clipboardAccessToken = ClipboardNative.Access()) using (var clipboardAccessToken = ClipboardNative.Access())
{ {
clipboardAccessToken.ClearContents();
clipboardAccessToken.SetAsUrl(response.AbsoluteUri); clipboardAccessToken.SetAsUrl(response.AbsoluteUri);
} }
} }

View file

@ -197,6 +197,7 @@ namespace Greenshot.Addon.Tfs
{ {
using (var clipboardAccessToken = ClipboardNative.Access()) using (var clipboardAccessToken = ClipboardNative.Access())
{ {
clipboardAccessToken.ClearContents();
clipboardAccessToken.SetAsUrl(response.AbsoluteUri); clipboardAccessToken.SetAsUrl(response.AbsoluteUri);
} }
} }

View file

@ -98,7 +98,8 @@ namespace Greenshot.Addon.Win10
// Place the OCR text on the clipboard // Place the OCR text on the clipboard
using (var clipboardAccessToken = ClipboardNative.Access()) using (var clipboardAccessToken = ClipboardNative.Access())
{ {
clipboardAccessToken.SetAsUnicodeString(text); clipboardAccessToken.ClearContents();
clipboardAccessToken.SetAsUnicodeString(text);
} }
} }
exportInformation.ExportMade = true; exportInformation.ExportMade = true;

View file

@ -47,10 +47,10 @@ namespace Greenshot.Addons.Controls
private Timer _timer; private Timer _timer;
private int _vRefresh; private int _vRefresh;
/// <summary> /// <summary>
/// Initialize the animation /// Initialize the animation
/// </summary> /// </summary>
protected AnimatingForm(ICoreConfiguration coreConfiguration, ILanguage language) : base(language) protected AnimatingForm(ICoreConfiguration coreConfiguration, ILanguage language) : base(language)
{ {
_coreConfiguration = coreConfiguration; _coreConfiguration = coreConfiguration;
Load += (sender, args) => Load += (sender, args) =>

View file

@ -853,6 +853,7 @@ namespace Greenshot.Addons.Core
{ {
using (var clipboardAccessToken = ClipboardNative.Access()) using (var clipboardAccessToken = ClipboardNative.Access())
{ {
clipboardAccessToken.ClearContents();
// TODO: File?? // TODO: File??
clipboardAccessToken.SetAsUnicodeString(fullPath); clipboardAccessToken.SetAsUnicodeString(fullPath);
} }

View file

@ -66,6 +66,11 @@ namespace Greenshot.Destinations
using (var clipboardAccessToken = ClipboardNative.Access()) using (var clipboardAccessToken = ClipboardNative.Access())
{ {
clipboardAccessToken.ClearContents(); clipboardAccessToken.ClearContents();
// TODO: Test if this works
if (!string.IsNullOrEmpty(surface.LastSaveFullPath))
{
clipboardAccessToken.SetAsUnicodeString(surface.LastSaveFullPath);
}
foreach (var clipboardFormat in CoreConfiguration.ClipboardFormats) foreach (var clipboardFormat in CoreConfiguration.ClipboardFormats)
{ {

View file

@ -32,10 +32,10 @@ using System.Drawing.Imaging;
using System.Reflection; using System.Reflection;
using System.Security.Permissions; using System.Security.Permissions;
using System.Windows.Forms; using System.Windows.Forms;
using Dapplo.CaliburnMicro;
using Greenshot.Helpers; using Greenshot.Helpers;
using Dapplo.Ini; using Dapplo.Ini;
using Dapplo.Log; using Dapplo.Log;
using Dapplo.Windows.Dpi;
using Greenshot.Addons; using Greenshot.Addons;
using Greenshot.Addons.Animation; using Greenshot.Addons.Animation;
using Greenshot.Addons.Controls; using Greenshot.Addons.Controls;
@ -135,7 +135,11 @@ namespace Greenshot.Forms
/// <summary> /// <summary>
/// Constructor /// Constructor
/// </summary> /// </summary>
public AboutForm(ICoreConfiguration coreConfiguration, IGreenshotLanguage greenshotlanguage) : base(coreConfiguration, greenshotlanguage) public AboutForm(
ICoreConfiguration coreConfiguration,
IGreenshotLanguage greenshotlanguage,
IVersionProvider versionProvider
) : base(coreConfiguration, greenshotlanguage)
{ {
_greenshotlanguage = greenshotlanguage; _greenshotlanguage = greenshotlanguage;
// Make sure our resources are removed again. // Make sure our resources are removed again.
@ -159,13 +163,14 @@ namespace Greenshot.Forms
pictureBox1.Height = FormDpiHandler.ScaleWithCurrentDpi(90); pictureBox1.Height = FormDpiHandler.ScaleWithCurrentDpi(90);
}); });
var v = Assembly.GetExecutingAssembly().GetName().Version; var versionInfo = $@"Greenshot {versionProvider.CurrentVersion} {(coreConfiguration.IsPortable ? " Portable" : "")} ({OsInfo.Bits} bit)";
if (versionProvider.IsUpdateAvailable)
// Format is like this: AssemblyVersion("Major.Minor.Build.Revision")] {
lblTitle.Text = $"Greenshot {v.Major}.{v.Minor}.{v.Build} Build {v.Revision}{(coreConfiguration.IsPortable ? " Portable" : "")} ({OsInfo.Bits}) bit)"; versionInfo += $" latest is: {versionProvider.LatestVersion}";
}
lblTitle.Text = versionInfo;
// Number of frames the pixel animation takes // Number of frames the pixel animation takes
var frames = FramesForMillis(2000); var frames = FramesForMillis(2000);
// The number of frames the color-cycle waits before it starts // The number of frames the color-cycle waits before it starts
_waitFrames = FramesForMillis(6000); _waitFrames = FramesForMillis(6000);

View file

@ -44,6 +44,7 @@ using Dapplo.Log;
using Timer = System.Timers.Timer; using Timer = System.Timers.Timer;
using Dapplo.Windows.Dpi; using Dapplo.Windows.Dpi;
using Dapplo.Windows.App; using Dapplo.Windows.App;
using Dapplo.Windows.Clipboard;
using Dapplo.Windows.Common.Structs; using Dapplo.Windows.Common.Structs;
using Dapplo.Windows.DesktopWindowsManager; using Dapplo.Windows.DesktopWindowsManager;
using Dapplo.Windows.Dpi.Enums; using Dapplo.Windows.Dpi.Enums;
@ -477,7 +478,10 @@ namespace Greenshot.Forms
private void ContextMenuOpening(object sender, CancelEventArgs e) private void ContextMenuOpening(object sender, CancelEventArgs e)
{ {
contextmenu_captureclipboard.Enabled = ClipboardHelper.ContainsImage(); using (var clipboardAccessToken = ClipboardNative.Access())
{
contextmenu_captureclipboard.Enabled = clipboardAccessToken.HasImage();
}
contextmenu_capturelastregion.Enabled = _coreConfiguration.LastCapturedRegion != NativeRect.Empty; contextmenu_capturelastregion.Enabled = _coreConfiguration.LastCapturedRegion != NativeRect.Empty;
// IE context menu code // IE context menu code

View file

@ -95,6 +95,7 @@ namespace Greenshot
.RegisterAssemblyTypes(ThisAssembly) .RegisterAssemblyTypes(ThisAssembly)
.AssignableTo<IService>() .AssignableTo<IService>()
.As<IService>() .As<IService>()
.AsImplementedInterfaces()
.SingleInstance(); .SingleInstance();
builder builder