From 5921cb77da92a698c87725de6b002f68539675ad Mon Sep 17 00:00:00 2001 From: Robin Date: Tue, 19 Jun 2018 09:39:39 +0200 Subject: [PATCH] Updated dependencies, to solve some issues. Removed office destinations, depending on the availability. --- src/Greenshot.Addon.Box/BoxDestination.cs | 9 ++- .../Greenshot.Addon.Box.csproj | 12 +-- src/Greenshot.Addon.Box/packages.config | 6 +- .../Greenshot.Addon.Confluence.csproj | 12 +-- .../packages.config | 6 +- .../DropboxDestination.cs | 11 +-- .../Greenshot.Addon.Dropbox.csproj | 12 +-- src/Greenshot.Addon.Dropbox/packages.config | 6 +- .../ExternalCommandDestination.cs | 19 +++-- .../ExternalCommandDestinationProvider.cs | 5 +- .../Views/ExternalCommandDetailsView.xaml | 2 - .../Views/ExternalCommandMasterView.xaml | 1 - .../FlickrDestination.cs | 16 ++-- .../Greenshot.Addon.Flickr.csproj | 8 +- src/Greenshot.Addon.Flickr/packages.config | 4 +- .../GooglePhotosDestination.cs | 21 +++--- .../Greenshot.Addon.GooglePhotos.csproj | 8 +- .../packages.config | 4 +- .../Greenshot.Addon.Imgur.csproj | 12 +-- src/Greenshot.Addon.Imgur/ImgurDestination.cs | 7 +- .../ViewModels/ImgurHistoryViewModel.cs | 28 ++++++- src/Greenshot.Addon.Imgur/packages.config | 6 +- .../Greenshot.Addon.Jira.csproj | 12 +-- src/Greenshot.Addon.Jira/packages.config | 6 +- .../Greenshot.Addon.LegacyEditor.csproj | 4 +- .../packages.config | 2 +- .../Greenshot.Addon.Lutim.csproj | 8 +- src/Greenshot.Addon.Lutim/LutimDestination.cs | 7 +- src/Greenshot.Addon.Lutim/packages.config | 4 +- .../OfficeAddonModule.cs | 75 +++++++++++++------ .../Greenshot.Addon.OneDrive.csproj | 12 +-- .../OneDriveDestination.cs | 7 +- src/Greenshot.Addon.OneDrive/packages.config | 6 +- .../Greenshot.Addon.Photobucket.csproj | 8 +- .../packages.config | 4 +- .../Greenshot.Addon.Tfs.csproj | 8 +- src/Greenshot.Addon.Tfs/TfsClient.cs | 12 ++- src/Greenshot.Addon.Tfs/TfsDestination.cs | 9 ++- src/Greenshot.Addon.Tfs/packages.config | 4 +- .../Controls/PleaseWaitForm.cs | 41 +++++----- src/Greenshot.Addons/Core/PluginUtils.cs | 24 ++++-- src/Greenshot.Addons/Greenshot.Addons.csproj | 12 +-- src/Greenshot.Addons/packages.config | 6 +- src/Greenshot.Tests/Greenshot.Tests.csproj | 4 +- src/Greenshot.Tests/packages.config | 2 +- src/Greenshot/Greenshot.csproj | 12 +-- src/Greenshot/packages.config | 6 +- 47 files changed, 291 insertions(+), 219 deletions(-) diff --git a/src/Greenshot.Addon.Box/BoxDestination.cs b/src/Greenshot.Addon.Box/BoxDestination.cs index e46f4994d..156876574 100644 --- a/src/Greenshot.Addon.Box/BoxDestination.cs +++ b/src/Greenshot.Addon.Box/BoxDestination.cs @@ -58,7 +58,7 @@ namespace Greenshot.Addon.Box private static readonly LogSource Log = new LogSource(); private readonly IBoxConfiguration _boxConfiguration; private readonly IBoxLanguage _boxLanguage; - private readonly Func> _pleaseWaitFormFactory; + private readonly Func> _pleaseWaitFormFactory; private readonly INetworkConfiguration _networkConfiguration; private readonly IResourceProvider _resourceProvider; private readonly OAuth2Settings _oauth2Settings; @@ -70,7 +70,7 @@ namespace Greenshot.Addon.Box IGreenshotLanguage greenshotLanguage, IBoxConfiguration boxConfiguration, IBoxLanguage boxLanguage, - Func> pleaseWaitFormFactory, + Func> pleaseWaitFormFactory, INetworkConfiguration networkConfiguration, IResourceProvider resourceProvider) : base(coreConfiguration, greenshotLanguage) { @@ -136,9 +136,10 @@ namespace Greenshot.Addon.Box try { string url; - using (var ownedPleaseWaitForm = _pleaseWaitFormFactory("Box", _boxLanguage.CommunicationWait, default)) + using (var ownedPleaseWaitForm = _pleaseWaitFormFactory(default)) { - ownedPleaseWaitForm.Value.Show(); + ownedPleaseWaitForm.Value.SetDetails("Box", _boxLanguage.CommunicationWait); + ownedPleaseWaitForm.Value.Show(); try { url = await UploadToBoxAsync(surfaceToUpload).ConfigureAwait(true); diff --git a/src/Greenshot.Addon.Box/Greenshot.Addon.Box.csproj b/src/Greenshot.Addon.Box/Greenshot.Addon.Box.csproj index 3b74523b9..b427a4264 100644 --- a/src/Greenshot.Addon.Box/Greenshot.Addon.Box.csproj +++ b/src/Greenshot.Addon.Box/Greenshot.Addon.Box.csproj @@ -70,14 +70,14 @@ ..\packages\Dapplo.CaliburnMicro.Translations.1.0.47\lib\net46\Dapplo.CaliburnMicro.Translations.dll - - ..\packages\Dapplo.HttpExtensions.0.8.35\lib\net46\Dapplo.HttpExtensions.dll + + ..\packages\Dapplo.HttpExtensions.0.8.38\lib\net46\Dapplo.HttpExtensions.dll - - ..\packages\Dapplo.HttpExtensions.JsonNet.0.8.35\lib\net46\Dapplo.HttpExtensions.JsonNet.dll + + ..\packages\Dapplo.HttpExtensions.JsonNet.0.8.38\lib\net46\Dapplo.HttpExtensions.JsonNet.dll - - ..\packages\Dapplo.HttpExtensions.OAuth.0.8.35\lib\net46\Dapplo.HttpExtensions.OAuth.dll + + ..\packages\Dapplo.HttpExtensions.OAuth.0.8.38\lib\net46\Dapplo.HttpExtensions.OAuth.dll ..\packages\Dapplo.Ini.0.5.28\lib\net45\Dapplo.Ini.dll diff --git a/src/Greenshot.Addon.Box/packages.config b/src/Greenshot.Addon.Box/packages.config index ce04ec652..ad7c57c50 100644 --- a/src/Greenshot.Addon.Box/packages.config +++ b/src/Greenshot.Addon.Box/packages.config @@ -14,9 +14,9 @@ - - - + + + diff --git a/src/Greenshot.Addon.Confluence/Greenshot.Addon.Confluence.csproj b/src/Greenshot.Addon.Confluence/Greenshot.Addon.Confluence.csproj index 5d32e90cf..716d81f2e 100644 --- a/src/Greenshot.Addon.Confluence/Greenshot.Addon.Confluence.csproj +++ b/src/Greenshot.Addon.Confluence/Greenshot.Addon.Confluence.csproj @@ -92,14 +92,14 @@ ..\packages\Dapplo.Confluence.0.7.19\lib\net46\Dapplo.Confluence.dll - - ..\packages\Dapplo.HttpExtensions.0.8.35\lib\net46\Dapplo.HttpExtensions.dll + + ..\packages\Dapplo.HttpExtensions.0.8.38\lib\net46\Dapplo.HttpExtensions.dll - - ..\packages\Dapplo.HttpExtensions.JsonSimple.0.8.35\lib\net46\Dapplo.HttpExtensions.JsonSimple.dll + + ..\packages\Dapplo.HttpExtensions.JsonSimple.0.8.38\lib\net46\Dapplo.HttpExtensions.JsonSimple.dll - - ..\packages\Dapplo.HttpExtensions.OAuth.0.8.35\lib\net46\Dapplo.HttpExtensions.OAuth.dll + + ..\packages\Dapplo.HttpExtensions.OAuth.0.8.38\lib\net46\Dapplo.HttpExtensions.OAuth.dll ..\packages\Dapplo.Ini.0.5.28\lib\net45\Dapplo.Ini.dll diff --git a/src/Greenshot.Addon.Confluence/packages.config b/src/Greenshot.Addon.Confluence/packages.config index 640499b1e..57ab051ae 100644 --- a/src/Greenshot.Addon.Confluence/packages.config +++ b/src/Greenshot.Addon.Confluence/packages.config @@ -16,9 +16,9 @@ - - - + + + diff --git a/src/Greenshot.Addon.Dropbox/DropboxDestination.cs b/src/Greenshot.Addon.Dropbox/DropboxDestination.cs index 8b0ca5ae7..5cd4473ea 100644 --- a/src/Greenshot.Addon.Dropbox/DropboxDestination.cs +++ b/src/Greenshot.Addon.Dropbox/DropboxDestination.cs @@ -54,7 +54,7 @@ using Newtonsoft.Json; namespace Greenshot.Addon.Dropbox { [Destination("Dropbox")] - public class DropboxDestination : AbstractDestination + public sealed class DropboxDestination : AbstractDestination { private static readonly LogSource Log = new LogSource(); private static readonly Uri DropboxApiUri = new Uri("https://api.dropbox.com"); @@ -63,7 +63,7 @@ namespace Greenshot.Addon.Dropbox private readonly IDropboxConfiguration _dropboxPluginConfiguration; private readonly IDropboxLanguage _dropboxLanguage; private readonly IResourceProvider _resourceProvider; - private readonly Func> _pleaseWaitFormFactory; + private readonly Func> _pleaseWaitFormFactory; private OAuth2Settings _oAuth2Settings; private IHttpBehaviour _oAuthHttpBehaviour; @@ -74,7 +74,7 @@ namespace Greenshot.Addon.Dropbox IResourceProvider resourceProvider, ICoreConfiguration coreConfiguration, IGreenshotLanguage greenshotLanguage, - Func> pleaseWaitFormFactory + Func> pleaseWaitFormFactory ) : base(coreConfiguration, greenshotLanguage) { _dropboxPluginConfiguration = dropboxPluginConfiguration; @@ -152,9 +152,10 @@ namespace Greenshot.Addon.Dropbox try { var cancellationTokenSource = new CancellationTokenSource(); - using (var ownedPleaseWaitForm = _pleaseWaitFormFactory("Dropbox", _dropboxLanguage.CommunicationWait, cancellationTokenSource)) + using (var ownedPleaseWaitForm = _pleaseWaitFormFactory(cancellationTokenSource)) { - ownedPleaseWaitForm.Value.Show(); + ownedPleaseWaitForm.Value.SetDetails("Dropbox", _dropboxLanguage.CommunicationWait); + ownedPleaseWaitForm.Value.Show(); try { var filename = surfaceToUpload.GenerateFilename(CoreConfiguration, _dropboxPluginConfiguration); diff --git a/src/Greenshot.Addon.Dropbox/Greenshot.Addon.Dropbox.csproj b/src/Greenshot.Addon.Dropbox/Greenshot.Addon.Dropbox.csproj index d14deb442..4e5751a8c 100644 --- a/src/Greenshot.Addon.Dropbox/Greenshot.Addon.Dropbox.csproj +++ b/src/Greenshot.Addon.Dropbox/Greenshot.Addon.Dropbox.csproj @@ -82,14 +82,14 @@ ..\packages\Dapplo.CaliburnMicro.Translations.1.0.47\lib\net46\Dapplo.CaliburnMicro.Translations.dll - - ..\packages\Dapplo.HttpExtensions.0.8.35\lib\net46\Dapplo.HttpExtensions.dll + + ..\packages\Dapplo.HttpExtensions.0.8.38\lib\net46\Dapplo.HttpExtensions.dll - - ..\packages\Dapplo.HttpExtensions.JsonNet.0.8.35\lib\net46\Dapplo.HttpExtensions.JsonNet.dll + + ..\packages\Dapplo.HttpExtensions.JsonNet.0.8.38\lib\net46\Dapplo.HttpExtensions.JsonNet.dll - - ..\packages\Dapplo.HttpExtensions.OAuth.0.8.35\lib\net46\Dapplo.HttpExtensions.OAuth.dll + + ..\packages\Dapplo.HttpExtensions.OAuth.0.8.38\lib\net46\Dapplo.HttpExtensions.OAuth.dll ..\packages\Dapplo.Ini.0.5.28\lib\net45\Dapplo.Ini.dll diff --git a/src/Greenshot.Addon.Dropbox/packages.config b/src/Greenshot.Addon.Dropbox/packages.config index ce04ec652..ad7c57c50 100644 --- a/src/Greenshot.Addon.Dropbox/packages.config +++ b/src/Greenshot.Addon.Dropbox/packages.config @@ -14,9 +14,9 @@ - - - + + + diff --git a/src/Greenshot.Addon.ExternalCommand/ExternalCommandDestination.cs b/src/Greenshot.Addon.ExternalCommand/ExternalCommandDestination.cs index 6d366cd81..dfc36d51d 100644 --- a/src/Greenshot.Addon.ExternalCommand/ExternalCommandDestination.cs +++ b/src/Greenshot.Addon.ExternalCommand/ExternalCommandDestination.cs @@ -42,7 +42,7 @@ namespace Greenshot.Addon.ExternalCommand /// /// ExternalCommandDestination provides a destination to export to an external command /// - public class ExternalCommandDestination : AbstractDestination + public sealed class ExternalCommandDestination : AbstractDestination { private static readonly Regex UriRegexp = new Regex( @"((([A-Za-z]{3,9}:(?:\/\/)?)(?:[\-;:&=\+\$,\w]+@)?[A-Za-z0-9\.\-]+|(?:www\.|[\-;:&=\+\$,\w]+@)[A-Za-z0-9\.\-]+)((?:\/[\+~%\/\.\w\-_]*)?\??(?:[\-\+=&;%@\.\w_]*)#?(?:[\.\!\/\\\w]*))?)", RegexOptions.Compiled); @@ -60,24 +60,24 @@ namespace Greenshot.Addon.ExternalCommand _externalCommandConfiguration = externalCommandConfiguration; } - public override string Designation => "External " + _externalCommandDefinition.Name.Replace(',', '_'); + /// + public override string Designation => "External " + _externalCommandDefinition.Name.Replace(',', '_'); - public override string Description => _externalCommandDefinition.Name; + /// + public override string Description => _externalCommandDefinition.Name; - public override Bitmap GetDisplayIcon(double dpi) + /// + public override Bitmap GetDisplayIcon(double dpi) { return IconCache.IconForCommand(_externalCommandDefinition, dpi > 100); } + /// public override async Task ExportCaptureAsync(bool manuallyInitiated, ISurface surface, ICaptureDetails captureDetails) { var exportInformation = new ExportInformation(Designation, Description); - var fullPath = captureDetails.Filename; - if (fullPath == null) - { - fullPath = surface.SaveNamedTmpFile(CoreConfiguration, _externalCommandConfiguration); - } + var fullPath = captureDetails.Filename ?? surface.SaveNamedTmpFile(CoreConfiguration, _externalCommandConfiguration); using (var cli = new Cli(_externalCommandDefinition.Command)) { @@ -106,7 +106,6 @@ namespace Greenshot.Addon.ExternalCommand } } - ProcessExport(exportInformation, surface); return exportInformation; } diff --git a/src/Greenshot.Addon.ExternalCommand/ExternalCommandDestinationProvider.cs b/src/Greenshot.Addon.ExternalCommand/ExternalCommandDestinationProvider.cs index 07bae7067..f4b37a3b3 100644 --- a/src/Greenshot.Addon.ExternalCommand/ExternalCommandDestinationProvider.cs +++ b/src/Greenshot.Addon.ExternalCommand/ExternalCommandDestinationProvider.cs @@ -57,7 +57,8 @@ namespace Greenshot.Addon.ExternalCommand _greenshotLanguage = greenshotLanguage; } - public IEnumerable> Provide() + /// + public IEnumerable> Provide() { return _externalCommandConfig.Commands .Select(command => _externalCommandConfig.Read(command)) @@ -90,7 +91,7 @@ namespace Greenshot.Addon.ExternalCommand return false; } var commandline = FilenameHelper.FillVariables(_externalCommandConfig.Commandline[command], true); - commandline = FilenameHelper.FillCmdVariables(commandline, true); + commandline = FilenameHelper.FillCmdVariables(commandline); if (File.Exists(commandline)) { diff --git a/src/Greenshot.Addon.ExternalCommand/Views/ExternalCommandDetailsView.xaml b/src/Greenshot.Addon.ExternalCommand/Views/ExternalCommandDetailsView.xaml index 49406c182..c2d79e53b 100644 --- a/src/Greenshot.Addon.ExternalCommand/Views/ExternalCommandDetailsView.xaml +++ b/src/Greenshot.Addon.ExternalCommand/Views/ExternalCommandDetailsView.xaml @@ -3,8 +3,6 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - xmlns:local="clr-namespace:Greenshot.Addon.ExternalCommand.Views" - xmlns:cal="http://www.caliburnproject.org" xmlns:viewModels="clr-namespace:Greenshot.Addon.ExternalCommand.ViewModels" d:DataContext="{d:DesignInstance viewModels:ExternalCommandDetailsViewModel,IsDesignTimeCreatable=False}" mc:Ignorable="d"> diff --git a/src/Greenshot.Addon.ExternalCommand/Views/ExternalCommandMasterView.xaml b/src/Greenshot.Addon.ExternalCommand/Views/ExternalCommandMasterView.xaml index 421ae0daa..d956d0a91 100644 --- a/src/Greenshot.Addon.ExternalCommand/Views/ExternalCommandMasterView.xaml +++ b/src/Greenshot.Addon.ExternalCommand/Views/ExternalCommandMasterView.xaml @@ -3,7 +3,6 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" - xmlns:cal="http://www.caliburnproject.org" xmlns:viewModels="clr-namespace:Greenshot.Addon.ExternalCommand.ViewModels" mc:Ignorable="d" d:DataContext="{d:DesignInstance viewModels:ExternalCommandMasterViewModel,IsDesignTimeCreatable=False}" diff --git a/src/Greenshot.Addon.Flickr/FlickrDestination.cs b/src/Greenshot.Addon.Flickr/FlickrDestination.cs index 2b65d7769..af51a5c8e 100644 --- a/src/Greenshot.Addon.Flickr/FlickrDestination.cs +++ b/src/Greenshot.Addon.Flickr/FlickrDestination.cs @@ -58,14 +58,14 @@ namespace Greenshot.Addon.Flickr /// This defines the flickr destination /// [Destination("Flickr")] - public class FlickrDestination : AbstractDestination + public sealed class FlickrDestination : AbstractDestination { private static readonly LogSource Log = new LogSource(); private static readonly Uri FlickrOAuthUri = new Uri("https://api.flickr.com/services/oauth"); private readonly IFlickrConfiguration _flickrConfiguration; private readonly IFlickrLanguage _flickrLanguage; private readonly IResourceProvider _resourceProvider; - private readonly Func> _pleaseWaitFormFactory; + private readonly Func> _pleaseWaitFormFactory; private readonly OAuth1Settings _oAuthSettings; private readonly OAuth1HttpBehaviour _oAuthHttpBehaviour; private const string FlickrFarmUrl = "https://farm{0}.staticflickr.com/{1}/{2}_{3}.jpg"; @@ -87,7 +87,7 @@ namespace Greenshot.Addon.Flickr IResourceProvider resourceProvider, ICoreConfiguration coreConfiguration, IGreenshotLanguage greenshotLanguage, - Func> pleaseWaitFormFactory + Func> pleaseWaitFormFactory ) : base(coreConfiguration, greenshotLanguage) { _flickrConfiguration = flickrConfiguration; @@ -159,9 +159,10 @@ namespace Greenshot.Addon.Flickr { var cancellationTokenSource = new CancellationTokenSource(); - using (var ownedPleaseWaitForm = _pleaseWaitFormFactory("Flickr", _flickrLanguage.CommunicationWait, cancellationTokenSource)) + using (var ownedPleaseWaitForm = _pleaseWaitFormFactory(cancellationTokenSource)) { - ownedPleaseWaitForm.Value.Show(); + ownedPleaseWaitForm.Value.SetDetails("Flickr", _flickrLanguage.CommunicationWait); + ownedPleaseWaitForm.Value.Show(); try { uploadUrl = await UploadToFlickrAsync(surface, captureDetails.Title, cancellationTokenSource.Token); @@ -201,7 +202,6 @@ namespace Greenshot.Addon.Flickr /// /// /// - /// IProgres is used to report the progress to /// /// url to image public async Task UploadToFlickrAsync(ISurface surfaceToUpload, string title, CancellationToken token = default) @@ -240,9 +240,9 @@ namespace Greenshot.Addon.Flickr Properties = signedParameters }); var response = await FlickrUploadUri.PostAsync(streamContent, token).ConfigureAwait(false); - photoId = (from element in response.Root.Elements() + photoId = (from element in response?.Root?.Elements() ?? Enumerable.Empty() where element.Name == "photoid" - select element.Value).First(); + select element.Value).FirstOrDefault(); } } diff --git a/src/Greenshot.Addon.Flickr/Greenshot.Addon.Flickr.csproj b/src/Greenshot.Addon.Flickr/Greenshot.Addon.Flickr.csproj index f2929081c..ea4183497 100644 --- a/src/Greenshot.Addon.Flickr/Greenshot.Addon.Flickr.csproj +++ b/src/Greenshot.Addon.Flickr/Greenshot.Addon.Flickr.csproj @@ -82,11 +82,11 @@ ..\packages\Dapplo.CaliburnMicro.Translations.1.0.47\lib\net46\Dapplo.CaliburnMicro.Translations.dll - - ..\packages\Dapplo.HttpExtensions.0.8.35\lib\net46\Dapplo.HttpExtensions.dll + + ..\packages\Dapplo.HttpExtensions.0.8.38\lib\net46\Dapplo.HttpExtensions.dll - - ..\packages\Dapplo.HttpExtensions.OAuth.0.8.35\lib\net46\Dapplo.HttpExtensions.OAuth.dll + + ..\packages\Dapplo.HttpExtensions.OAuth.0.8.38\lib\net46\Dapplo.HttpExtensions.OAuth.dll ..\packages\Dapplo.Ini.0.5.28\lib\net45\Dapplo.Ini.dll diff --git a/src/Greenshot.Addon.Flickr/packages.config b/src/Greenshot.Addon.Flickr/packages.config index 4d592724d..618e0376c 100644 --- a/src/Greenshot.Addon.Flickr/packages.config +++ b/src/Greenshot.Addon.Flickr/packages.config @@ -14,8 +14,8 @@ - - + + diff --git a/src/Greenshot.Addon.GooglePhotos/GooglePhotosDestination.cs b/src/Greenshot.Addon.GooglePhotos/GooglePhotosDestination.cs index 2727d841e..7bd0e130e 100644 --- a/src/Greenshot.Addon.GooglePhotos/GooglePhotosDestination.cs +++ b/src/Greenshot.Addon.GooglePhotos/GooglePhotosDestination.cs @@ -52,14 +52,14 @@ using Greenshot.Gfx; namespace Greenshot.Addon.GooglePhotos { [Destination("GooglePhotos")] - public class GooglePhotosDestination : AbstractDestination + public sealed class GooglePhotosDestination : AbstractDestination { private static readonly LogSource Log = new LogSource(); private readonly IGooglePhotosConfiguration _googlePhotosConfiguration; private readonly IGooglePhotosLanguage _googlePhotosLanguage; private readonly INetworkConfiguration _networkConfiguration; private readonly IResourceProvider _resourceProvider; - private readonly Func> _pleaseWaitFormFactory; + private readonly Func> _pleaseWaitFormFactory; private readonly OAuth2Settings _oAuth2Settings; public GooglePhotosDestination( @@ -69,7 +69,7 @@ namespace Greenshot.Addon.GooglePhotos IResourceProvider resourceProvider, ICoreConfiguration coreConfiguration, IGreenshotLanguage greenshotLanguage, - Func> pleaseWaitFormFactory + Func> pleaseWaitFormFactory ) : base(coreConfiguration, greenshotLanguage) { _googlePhotosConfiguration = googlePhotosConfiguration; @@ -116,7 +116,7 @@ namespace Greenshot.Addon.GooglePhotos public override async Task ExportCaptureAsync(bool manuallyInitiated, ISurface surface, ICaptureDetails captureDetails) { var exportInformation = new ExportInformation(Designation, Description); - var uploadUrl = await Upload(captureDetails, surface).ConfigureAwait(true); + var uploadUrl = await Upload(surface).ConfigureAwait(true); if (uploadUrl != null) { exportInformation.ExportMade = true; @@ -126,17 +126,18 @@ namespace Greenshot.Addon.GooglePhotos return exportInformation; } - private async Task Upload(ICaptureDetails captureDetails, ISurface surfaceToUpload) + private async Task Upload(ISurface surfaceToUpload) { try { string url; - using (var ownedPleaseWaitForm = _pleaseWaitFormFactory("GooglePhotos", _googlePhotosLanguage.CommunicationWait, default)) + using (var ownedPleaseWaitForm = _pleaseWaitFormFactory(default)) { - ownedPleaseWaitForm.Value.Show(); + ownedPleaseWaitForm.Value.SetDetails("GooglePhotos", _googlePhotosLanguage.CommunicationWait); + ownedPleaseWaitForm.Value.Show(); try { - url = await UploadToPicasa(surfaceToUpload).ConfigureAwait(true); + url = await UploadToGooglePhotos(surfaceToUpload).ConfigureAwait(true); } finally { @@ -169,7 +170,7 @@ namespace Greenshot.Addon.GooglePhotos /// /// /// - private async Task UploadToPicasa(ISurface surface, IProgress progress = null, CancellationToken token = default) + private async Task UploadToGooglePhotos(ISurface surface, IProgress progress = null, CancellationToken token = default) { string filename = surface.GenerateFilename(CoreConfiguration, _googlePhotosConfiguration); @@ -178,7 +179,7 @@ namespace Greenshot.Addon.GooglePhotos // Use UploadProgress if (progress != null) { - oAuthHttpBehaviour.UploadProgress = percent => { UiContext.RunOn(() => progress.Report((int)(percent * 100))); }; + oAuthHttpBehaviour.UploadProgress = percent => { UiContext.RunOn(() => progress.Report((int)(percent * 100)), token); }; } oAuthHttpBehaviour.OnHttpMessageHandlerCreated = httpMessageHandler => new OAuth2HttpMessageHandler(_oAuth2Settings, oAuthHttpBehaviour, httpMessageHandler); if (_googlePhotosConfiguration.AddFilename) diff --git a/src/Greenshot.Addon.GooglePhotos/Greenshot.Addon.GooglePhotos.csproj b/src/Greenshot.Addon.GooglePhotos/Greenshot.Addon.GooglePhotos.csproj index cdd8e5078..25ef5faac 100644 --- a/src/Greenshot.Addon.GooglePhotos/Greenshot.Addon.GooglePhotos.csproj +++ b/src/Greenshot.Addon.GooglePhotos/Greenshot.Addon.GooglePhotos.csproj @@ -68,11 +68,11 @@ ..\packages\Dapplo.CaliburnMicro.Translations.1.0.47\lib\net46\Dapplo.CaliburnMicro.Translations.dll - - ..\packages\Dapplo.HttpExtensions.0.8.35\lib\net46\Dapplo.HttpExtensions.dll + + ..\packages\Dapplo.HttpExtensions.0.8.38\lib\net46\Dapplo.HttpExtensions.dll - - ..\packages\Dapplo.HttpExtensions.OAuth.0.8.35\lib\net46\Dapplo.HttpExtensions.OAuth.dll + + ..\packages\Dapplo.HttpExtensions.OAuth.0.8.38\lib\net46\Dapplo.HttpExtensions.OAuth.dll ..\packages\Dapplo.Ini.0.5.28\lib\net45\Dapplo.Ini.dll diff --git a/src/Greenshot.Addon.GooglePhotos/packages.config b/src/Greenshot.Addon.GooglePhotos/packages.config index 4d592724d..618e0376c 100644 --- a/src/Greenshot.Addon.GooglePhotos/packages.config +++ b/src/Greenshot.Addon.GooglePhotos/packages.config @@ -14,8 +14,8 @@ - - + + diff --git a/src/Greenshot.Addon.Imgur/Greenshot.Addon.Imgur.csproj b/src/Greenshot.Addon.Imgur/Greenshot.Addon.Imgur.csproj index cfd6a7ea4..a40e777a3 100644 --- a/src/Greenshot.Addon.Imgur/Greenshot.Addon.Imgur.csproj +++ b/src/Greenshot.Addon.Imgur/Greenshot.Addon.Imgur.csproj @@ -87,14 +87,14 @@ ..\packages\Dapplo.CaliburnMicro.Translations.1.0.47\lib\net46\Dapplo.CaliburnMicro.Translations.dll - - ..\packages\Dapplo.HttpExtensions.0.8.35\lib\net46\Dapplo.HttpExtensions.dll + + ..\packages\Dapplo.HttpExtensions.0.8.38\lib\net46\Dapplo.HttpExtensions.dll - - ..\packages\Dapplo.HttpExtensions.JsonNet.0.8.35\lib\net46\Dapplo.HttpExtensions.JsonNet.dll + + ..\packages\Dapplo.HttpExtensions.JsonNet.0.8.38\lib\net46\Dapplo.HttpExtensions.JsonNet.dll - - ..\packages\Dapplo.HttpExtensions.OAuth.0.8.35\lib\net46\Dapplo.HttpExtensions.OAuth.dll + + ..\packages\Dapplo.HttpExtensions.OAuth.0.8.38\lib\net46\Dapplo.HttpExtensions.OAuth.dll ..\packages\Dapplo.Ini.0.5.28\lib\net45\Dapplo.Ini.dll diff --git a/src/Greenshot.Addon.Imgur/ImgurDestination.cs b/src/Greenshot.Addon.Imgur/ImgurDestination.cs index 0b8752ae4..242fc2369 100644 --- a/src/Greenshot.Addon.Imgur/ImgurDestination.cs +++ b/src/Greenshot.Addon.Imgur/ImgurDestination.cs @@ -58,7 +58,7 @@ namespace Greenshot.Addon.Imgur private readonly IImgurLanguage _imgurLanguage; private readonly ImgurApi _imgurApi; private readonly ImgurHistoryViewModel _imgurHistoryViewModel; - private readonly Func> _pleaseWaitFormFactory; + private readonly Func> _pleaseWaitFormFactory; private readonly IResourceProvider _resourceProvider; public ImgurDestination( @@ -68,7 +68,7 @@ namespace Greenshot.Addon.Imgur IImgurLanguage imgurLanguage, ImgurApi imgurApi, ImgurHistoryViewModel imgurHistoryViewModel, - Func> pleaseWaitFormFactory, + Func> pleaseWaitFormFactory, IResourceProvider resourceProvider) : base(coreConfiguration, greenshotLanguage) { _imgurConfiguration = imgurConfiguration; @@ -120,8 +120,9 @@ namespace Greenshot.Addon.Imgur var cancellationTokenSource = new CancellationTokenSource(); // TODO: Replace the form - using (var ownedPleaseWaitForm = _pleaseWaitFormFactory("Imgur", _imgurLanguage.CommunicationWait, cancellationTokenSource)) + using (var ownedPleaseWaitForm = _pleaseWaitFormFactory(cancellationTokenSource)) { + ownedPleaseWaitForm.Value.SetDetails("Imgur", _imgurLanguage.CommunicationWait); ownedPleaseWaitForm.Value.Show(); try { diff --git a/src/Greenshot.Addon.Imgur/ViewModels/ImgurHistoryViewModel.cs b/src/Greenshot.Addon.Imgur/ViewModels/ImgurHistoryViewModel.cs index b319c6460..e8787450a 100644 --- a/src/Greenshot.Addon.Imgur/ViewModels/ImgurHistoryViewModel.cs +++ b/src/Greenshot.Addon.Imgur/ViewModels/ImgurHistoryViewModel.cs @@ -38,6 +38,9 @@ using Greenshot.Addons.Extensions; namespace Greenshot.Addon.Imgur.ViewModels { + /// + /// This is the view model for the history + /// public sealed class ImgurHistoryViewModel : Screen { private static readonly LogSource Log = new LogSource(); @@ -53,6 +56,9 @@ namespace Greenshot.Addon.Imgur.ViewModels public IImgurLanguage ImgurLanguage { get; } + /// + /// Used from the View + /// public IGreenshotLanguage GreenshotLanguage { get; } public ImgurHistoryViewModel( @@ -81,7 +87,7 @@ namespace Greenshot.Addon.Imgur.ViewModels { ImgurLanguage.CreateDisplayNameBinding(this, nameof(IImgurLanguage.History)) }; - LoadHistory(); + var ignoringTask = LoadHistory(); } protected override void OnDeactivate(bool close) @@ -96,7 +102,7 @@ namespace Greenshot.Addon.Imgur.ViewModels private async Task LoadHistory(CancellationToken cancellationToken = default) { // Load the ImUr history - foreach (string hash in ImgurConfiguration.ImgurUploadHistory.Keys) + foreach (var hash in ImgurConfiguration.ImgurUploadHistory.Keys) { if (ImgurHistory.Any(imgurInfo => imgurInfo.Data.Id == hash)) { @@ -133,15 +139,27 @@ namespace Greenshot.Addon.Imgur.ViewModels public ImgurImage SelectedImgur { get; private set; } + /// + /// Used from the View + /// public bool CanDelete => true; + /// + /// Used from the View + /// public async Task Delete() { await ImgurApi.DeleteImgurImageAsync(SelectedImgur).ConfigureAwait(true); } + /// + /// Used from the View + /// public bool CanCopyToClipboard => true; + /// + /// Used from the View + /// public void CopyToClipboard() { using (var clipboardAccessToken = ClipboardNative.Access()) @@ -151,6 +169,9 @@ namespace Greenshot.Addon.Imgur.ViewModels } } + /// + /// Used from the View + /// public void ClearHistory() { ImgurConfiguration.RuntimeImgurHistory.Clear(); @@ -158,6 +179,9 @@ namespace Greenshot.Addon.Imgur.ViewModels ImgurHistory.Clear(); } + /// + /// Used from the View + /// public void Show() { var link = SelectedImgur.Data.Link?.AbsoluteUri; diff --git a/src/Greenshot.Addon.Imgur/packages.config b/src/Greenshot.Addon.Imgur/packages.config index 52b55ffc8..2641539ba 100644 --- a/src/Greenshot.Addon.Imgur/packages.config +++ b/src/Greenshot.Addon.Imgur/packages.config @@ -15,9 +15,9 @@ - - - + + + diff --git a/src/Greenshot.Addon.Jira/Greenshot.Addon.Jira.csproj b/src/Greenshot.Addon.Jira/Greenshot.Addon.Jira.csproj index 7b9442fa8..b8793545a 100644 --- a/src/Greenshot.Addon.Jira/Greenshot.Addon.Jira.csproj +++ b/src/Greenshot.Addon.Jira/Greenshot.Addon.Jira.csproj @@ -87,14 +87,14 @@ ..\packages\Dapplo.CaliburnMicro.Translations.1.0.47\lib\net46\Dapplo.CaliburnMicro.Translations.dll - - ..\packages\Dapplo.HttpExtensions.0.8.35\lib\net46\Dapplo.HttpExtensions.dll + + ..\packages\Dapplo.HttpExtensions.0.8.38\lib\net46\Dapplo.HttpExtensions.dll - - ..\packages\Dapplo.HttpExtensions.JsonNet.0.8.35\lib\net46\Dapplo.HttpExtensions.JsonNet.dll + + ..\packages\Dapplo.HttpExtensions.JsonNet.0.8.38\lib\net46\Dapplo.HttpExtensions.JsonNet.dll - - ..\packages\Dapplo.HttpExtensions.OAuth.0.8.35\lib\net46\Dapplo.HttpExtensions.OAuth.dll + + ..\packages\Dapplo.HttpExtensions.OAuth.0.8.38\lib\net46\Dapplo.HttpExtensions.OAuth.dll ..\packages\Dapplo.Ini.0.5.28\lib\net45\Dapplo.Ini.dll diff --git a/src/Greenshot.Addon.Jira/packages.config b/src/Greenshot.Addon.Jira/packages.config index 3ffb49472..4c650bc4d 100644 --- a/src/Greenshot.Addon.Jira/packages.config +++ b/src/Greenshot.Addon.Jira/packages.config @@ -15,9 +15,9 @@ - - - + + + diff --git a/src/Greenshot.Addon.LegacyEditor/Greenshot.Addon.LegacyEditor.csproj b/src/Greenshot.Addon.LegacyEditor/Greenshot.Addon.LegacyEditor.csproj index 8d86f6739..48840906b 100644 --- a/src/Greenshot.Addon.LegacyEditor/Greenshot.Addon.LegacyEditor.csproj +++ b/src/Greenshot.Addon.LegacyEditor/Greenshot.Addon.LegacyEditor.csproj @@ -67,8 +67,8 @@ ..\packages\Dapplo.CaliburnMicro.Translations.1.0.47\lib\net46\Dapplo.CaliburnMicro.Translations.dll - - ..\packages\Dapplo.HttpExtensions.0.8.35\lib\net46\Dapplo.HttpExtensions.dll + + ..\packages\Dapplo.HttpExtensions.0.8.38\lib\net46\Dapplo.HttpExtensions.dll ..\packages\Dapplo.Ini.0.5.28\lib\net45\Dapplo.Ini.dll diff --git a/src/Greenshot.Addon.LegacyEditor/packages.config b/src/Greenshot.Addon.LegacyEditor/packages.config index 4e20071c1..9508c2315 100644 --- a/src/Greenshot.Addon.LegacyEditor/packages.config +++ b/src/Greenshot.Addon.LegacyEditor/packages.config @@ -14,7 +14,7 @@ - + diff --git a/src/Greenshot.Addon.Lutim/Greenshot.Addon.Lutim.csproj b/src/Greenshot.Addon.Lutim/Greenshot.Addon.Lutim.csproj index 0cfec59e3..8a1c8586c 100644 --- a/src/Greenshot.Addon.Lutim/Greenshot.Addon.Lutim.csproj +++ b/src/Greenshot.Addon.Lutim/Greenshot.Addon.Lutim.csproj @@ -85,11 +85,11 @@ ..\packages\Dapplo.CaliburnMicro.Translations.1.0.47\lib\net46\Dapplo.CaliburnMicro.Translations.dll - - ..\packages\Dapplo.HttpExtensions.0.8.35\lib\net46\Dapplo.HttpExtensions.dll + + ..\packages\Dapplo.HttpExtensions.0.8.38\lib\net46\Dapplo.HttpExtensions.dll - - ..\packages\Dapplo.HttpExtensions.JsonNet.0.8.35\lib\net46\Dapplo.HttpExtensions.JsonNet.dll + + ..\packages\Dapplo.HttpExtensions.JsonNet.0.8.38\lib\net46\Dapplo.HttpExtensions.JsonNet.dll ..\packages\Dapplo.Ini.0.5.28\lib\net45\Dapplo.Ini.dll diff --git a/src/Greenshot.Addon.Lutim/LutimDestination.cs b/src/Greenshot.Addon.Lutim/LutimDestination.cs index eb15b5b94..2e087a82f 100644 --- a/src/Greenshot.Addon.Lutim/LutimDestination.cs +++ b/src/Greenshot.Addon.Lutim/LutimDestination.cs @@ -49,7 +49,7 @@ namespace Greenshot.Addon.Lutim { private readonly ILutimLanguage _lutimLanguage; private readonly LutimApi _lutimApi; private readonly IResourceProvider _resourceProvider; - private readonly Func> _pleaseWaitFormFactory; + private readonly Func> _pleaseWaitFormFactory; public LutimDestination(ILutimConfiguration lutimConfiguration, ILutimLanguage lutimLanguage, @@ -57,7 +57,7 @@ namespace Greenshot.Addon.Lutim { IResourceProvider resourceProvider, ICoreConfiguration coreConfiguration, IGreenshotLanguage greenshotLanguage, - Func> pleaseWaitFormFactory + Func> pleaseWaitFormFactory ) : base(coreConfiguration, greenshotLanguage) { _lutimConfiguration = lutimConfiguration; @@ -106,8 +106,9 @@ namespace Greenshot.Addon.Lutim { LutimInfo lutimInfo; var cancellationTokenSource = new CancellationTokenSource(); - using (var ownedPleaseWaitForm = _pleaseWaitFormFactory("Lutim", _lutimLanguage.CommunicationWait, cancellationTokenSource)) + using (var ownedPleaseWaitForm = _pleaseWaitFormFactory(cancellationTokenSource)) { + ownedPleaseWaitForm.Value.SetDetails("Lutim", _lutimLanguage.CommunicationWait); ownedPleaseWaitForm.Value.Show(); try { diff --git a/src/Greenshot.Addon.Lutim/packages.config b/src/Greenshot.Addon.Lutim/packages.config index 6b417cb4a..e3137167f 100644 --- a/src/Greenshot.Addon.Lutim/packages.config +++ b/src/Greenshot.Addon.Lutim/packages.config @@ -15,8 +15,8 @@ - - + + diff --git a/src/Greenshot.Addon.Office/OfficeAddonModule.cs b/src/Greenshot.Addon.Office/OfficeAddonModule.cs index 89efa7e56..a415ac6d4 100644 --- a/src/Greenshot.Addon.Office/OfficeAddonModule.cs +++ b/src/Greenshot.Addon.Office/OfficeAddonModule.cs @@ -27,6 +27,7 @@ using Dapplo.CaliburnMicro.Configuration; using Greenshot.Addon.Office.Destinations; using Greenshot.Addon.Office.ViewModels; using Greenshot.Addons.Components; +using Greenshot.Addons.Core; namespace Greenshot.Addon.Office { @@ -35,34 +36,60 @@ namespace Greenshot.Addon.Office { protected override void Load(ContainerBuilder builder) { - builder - .RegisterType() - .As() - .SingleInstance(); + var hasDestination = false; - builder - .RegisterType() - .As() - .SingleInstance(); + if (PluginUtils.GetExePath("EXCEL.EXE") != null) + { + hasDestination = true; + builder + .RegisterType() + .As() + .SingleInstance(); + } - builder - .RegisterType() - .As() - .SingleInstance(); + if (PluginUtils.GetExePath("WINWORD.EXE") != null) + { + hasDestination = true; + builder + .RegisterType() + .As() + .SingleInstance(); + } - builder - .RegisterType() - .As() - .SingleInstance(); + if (PluginUtils.GetExePath("POWERPNT.EXE") != null) + { + hasDestination = true; + builder + .RegisterType() + .As() + .SingleInstance(); + } - builder - .RegisterType() - .As() - .SingleInstance(); - builder - .RegisterType() - .As() - .SingleInstance(); + if (PluginUtils.GetExePath("ONENOTE.EXE") != null) + { + hasDestination = true; + builder + .RegisterType() + .As() + .SingleInstance(); + } + + if (PluginUtils.GetExePath("OUTLOOK.EXE") != null) + { + hasDestination = true; + builder + .RegisterType() + .As() + .SingleInstance(); + } + + if (hasDestination) + { + builder + .RegisterType() + .As() + .SingleInstance(); + } base.Load(builder); } diff --git a/src/Greenshot.Addon.OneDrive/Greenshot.Addon.OneDrive.csproj b/src/Greenshot.Addon.OneDrive/Greenshot.Addon.OneDrive.csproj index e6628b04b..4c8450e77 100644 --- a/src/Greenshot.Addon.OneDrive/Greenshot.Addon.OneDrive.csproj +++ b/src/Greenshot.Addon.OneDrive/Greenshot.Addon.OneDrive.csproj @@ -81,14 +81,14 @@ ..\packages\Dapplo.CaliburnMicro.Translations.1.0.47\lib\net46\Dapplo.CaliburnMicro.Translations.dll - - ..\packages\Dapplo.HttpExtensions.0.8.35\lib\net46\Dapplo.HttpExtensions.dll + + ..\packages\Dapplo.HttpExtensions.0.8.38\lib\net46\Dapplo.HttpExtensions.dll - - ..\packages\Dapplo.HttpExtensions.JsonNet.0.8.35\lib\net46\Dapplo.HttpExtensions.JsonNet.dll + + ..\packages\Dapplo.HttpExtensions.JsonNet.0.8.38\lib\net46\Dapplo.HttpExtensions.JsonNet.dll - - ..\packages\Dapplo.HttpExtensions.OAuth.0.8.35\lib\net46\Dapplo.HttpExtensions.OAuth.dll + + ..\packages\Dapplo.HttpExtensions.OAuth.0.8.38\lib\net46\Dapplo.HttpExtensions.OAuth.dll ..\packages\Dapplo.Ini.0.5.28\lib\net45\Dapplo.Ini.dll diff --git a/src/Greenshot.Addon.OneDrive/OneDriveDestination.cs b/src/Greenshot.Addon.OneDrive/OneDriveDestination.cs index 842c33288..c0ff70764 100644 --- a/src/Greenshot.Addon.OneDrive/OneDriveDestination.cs +++ b/src/Greenshot.Addon.OneDrive/OneDriveDestination.cs @@ -62,7 +62,7 @@ namespace Greenshot.Addon.OneDrive private readonly IOneDriveConfiguration _oneDriveConfiguration; private readonly IOneDriveLanguage _oneDriveLanguage; private readonly IResourceProvider _resourceProvider; - private readonly Func> _pleaseWaitFormFactory; + private readonly Func> _pleaseWaitFormFactory; private readonly OAuth2Settings _oauth2Settings; private static readonly Uri GraphUri = new Uri("https://graph.microsoft.com"); private static readonly Uri OneDriveUri = GraphUri.AppendSegments("v1.0", "me", "drive"); @@ -75,7 +75,7 @@ namespace Greenshot.Addon.OneDrive IOneDriveLanguage oneDriveLanguage, INetworkConfiguration networkConfiguration, IResourceProvider resourceProvider, - Func> pleaseWaitFormFactory, + Func> pleaseWaitFormFactory, ICoreConfiguration coreConfiguration, IGreenshotLanguage greenshotLanguage ) : base(coreConfiguration, greenshotLanguage) @@ -152,8 +152,9 @@ namespace Greenshot.Addon.OneDrive Uri response; var cancellationTokenSource = new CancellationTokenSource(); - using (var ownedPleaseWaitForm = _pleaseWaitFormFactory("OneDrive", _oneDriveLanguage.CommunicationWait, cancellationTokenSource)) + using (var ownedPleaseWaitForm = _pleaseWaitFormFactory(cancellationTokenSource)) { + ownedPleaseWaitForm.Value.SetDetails("OneDrive", _oneDriveLanguage.CommunicationWait); ownedPleaseWaitForm.Value.Show(); try { diff --git a/src/Greenshot.Addon.OneDrive/packages.config b/src/Greenshot.Addon.OneDrive/packages.config index 52b55ffc8..2641539ba 100644 --- a/src/Greenshot.Addon.OneDrive/packages.config +++ b/src/Greenshot.Addon.OneDrive/packages.config @@ -15,9 +15,9 @@ - - - + + + diff --git a/src/Greenshot.Addon.Photobucket/Greenshot.Addon.Photobucket.csproj b/src/Greenshot.Addon.Photobucket/Greenshot.Addon.Photobucket.csproj index 841facb4a..5fd10744b 100644 --- a/src/Greenshot.Addon.Photobucket/Greenshot.Addon.Photobucket.csproj +++ b/src/Greenshot.Addon.Photobucket/Greenshot.Addon.Photobucket.csproj @@ -82,11 +82,11 @@ ..\packages\Dapplo.CaliburnMicro.Translations.1.0.47\lib\net46\Dapplo.CaliburnMicro.Translations.dll - - ..\packages\Dapplo.HttpExtensions.0.8.35\lib\net46\Dapplo.HttpExtensions.dll + + ..\packages\Dapplo.HttpExtensions.0.8.38\lib\net46\Dapplo.HttpExtensions.dll - - ..\packages\Dapplo.HttpExtensions.OAuth.0.8.35\lib\net46\Dapplo.HttpExtensions.OAuth.dll + + ..\packages\Dapplo.HttpExtensions.OAuth.0.8.38\lib\net46\Dapplo.HttpExtensions.OAuth.dll ..\packages\Dapplo.Ini.0.5.28\lib\net45\Dapplo.Ini.dll diff --git a/src/Greenshot.Addon.Photobucket/packages.config b/src/Greenshot.Addon.Photobucket/packages.config index 4d592724d..618e0376c 100644 --- a/src/Greenshot.Addon.Photobucket/packages.config +++ b/src/Greenshot.Addon.Photobucket/packages.config @@ -14,8 +14,8 @@ - - + + diff --git a/src/Greenshot.Addon.Tfs/Greenshot.Addon.Tfs.csproj b/src/Greenshot.Addon.Tfs/Greenshot.Addon.Tfs.csproj index 7f2115dc6..90e76a159 100644 --- a/src/Greenshot.Addon.Tfs/Greenshot.Addon.Tfs.csproj +++ b/src/Greenshot.Addon.Tfs/Greenshot.Addon.Tfs.csproj @@ -81,11 +81,11 @@ ..\packages\Dapplo.CaliburnMicro.Translations.1.0.47\lib\net46\Dapplo.CaliburnMicro.Translations.dll - - ..\packages\Dapplo.HttpExtensions.0.8.35\lib\net46\Dapplo.HttpExtensions.dll + + ..\packages\Dapplo.HttpExtensions.0.8.38\lib\net46\Dapplo.HttpExtensions.dll - - ..\packages\Dapplo.HttpExtensions.JsonNet.0.8.35\lib\net46\Dapplo.HttpExtensions.JsonNet.dll + + ..\packages\Dapplo.HttpExtensions.JsonNet.0.8.38\lib\net46\Dapplo.HttpExtensions.JsonNet.dll ..\packages\Dapplo.Ini.0.5.28\lib\net45\Dapplo.Ini.dll diff --git a/src/Greenshot.Addon.Tfs/TfsClient.cs b/src/Greenshot.Addon.Tfs/TfsClient.cs index e3eefe209..68fdbfedd 100644 --- a/src/Greenshot.Addon.Tfs/TfsClient.cs +++ b/src/Greenshot.Addon.Tfs/TfsClient.cs @@ -56,16 +56,20 @@ namespace Greenshot.Addon.Tfs _coreConfiguration = coreConfiguration; _tfsConfiguration = tfsConfiguration; -#if DEBUG - // Set json log threshold high - DefaultJsonHttpContentConverter.Instance.Value.LogThreshold = 0; -#endif _tfsHttpBehaviour = new HttpBehaviour { HttpSettings = networkConfiguration, JsonSerializer = new JsonNetJsonSerializer() }; +#if DEBUG + // Set json log threshold high + _tfsHttpBehaviour.RequestConfigurations[nameof(DefaultJsonHttpContentConverterConfiguration)] = new DefaultJsonHttpContentConverterConfiguration + { + LogThreshold = 0 + }; +#endif + } public bool CanUpdate => _tfsConfiguration.TfsUri != null && !string.IsNullOrEmpty(_tfsConfiguration.ApiKey); diff --git a/src/Greenshot.Addon.Tfs/TfsDestination.cs b/src/Greenshot.Addon.Tfs/TfsDestination.cs index f415269d1..4c21aed61 100644 --- a/src/Greenshot.Addon.Tfs/TfsDestination.cs +++ b/src/Greenshot.Addon.Tfs/TfsDestination.cs @@ -56,7 +56,7 @@ namespace Greenshot.Addon.Tfs private readonly ITfsConfiguration _tfsConfiguration; private readonly ITfsLanguage _tfsLanguage; private readonly TfsClient _tfsClient; - private readonly Func> _pleaseWaitFormFactory; + private readonly Func> _pleaseWaitFormFactory; private readonly IResourceProvider _resourceProvider; private readonly WorkItem _workItem; @@ -66,7 +66,7 @@ namespace Greenshot.Addon.Tfs ITfsConfiguration tfsConfiguration, ITfsLanguage tfsLanguage, TfsClient tfsClient, - Func> pleaseWaitFormFactory, + Func> pleaseWaitFormFactory, IResourceProvider resourceProvider) : base(coreConfiguration, greenshotLanguage) { _tfsConfiguration = tfsConfiguration; @@ -82,7 +82,7 @@ namespace Greenshot.Addon.Tfs ITfsConfiguration tfsConfiguration, ITfsLanguage tfsLanguage, TfsClient tfsClient, - Func> pleaseWaitFormFactory, + Func> pleaseWaitFormFactory, IResourceProvider resourceProvider, WorkItem workItem) :this(coreConfiguration, greenshotLanguage, tfsConfiguration, tfsLanguage, tfsClient, pleaseWaitFormFactory, resourceProvider) { @@ -178,8 +178,9 @@ namespace Greenshot.Addon.Tfs Uri response; var cancellationTokenSource = new CancellationTokenSource(); - using (var ownedPleaseWaitForm = _pleaseWaitFormFactory("TFS plug-in", _tfsLanguage.CommunicationWait, cancellationTokenSource)) + using (var ownedPleaseWaitForm = _pleaseWaitFormFactory(cancellationTokenSource)) { + ownedPleaseWaitForm.Value.SetDetails("TFS plug-in", _tfsLanguage.CommunicationWait); ownedPleaseWaitForm.Value.Show(); try { diff --git a/src/Greenshot.Addon.Tfs/packages.config b/src/Greenshot.Addon.Tfs/packages.config index 6b417cb4a..e3137167f 100644 --- a/src/Greenshot.Addon.Tfs/packages.config +++ b/src/Greenshot.Addon.Tfs/packages.config @@ -15,8 +15,8 @@ - - + + diff --git a/src/Greenshot.Addons/Controls/PleaseWaitForm.cs b/src/Greenshot.Addons/Controls/PleaseWaitForm.cs index 327e362f5..4084e0c36 100644 --- a/src/Greenshot.Addons/Controls/PleaseWaitForm.cs +++ b/src/Greenshot.Addons/Controls/PleaseWaitForm.cs @@ -44,10 +44,9 @@ namespace Greenshot.Addons.Controls /// /// Prevent the close-window button showing /// - private const int CP_NOCLOSE_BUTTON = 0x200; + private const int CpNocloseButton = 0x200; private static readonly LogSource Log = new LogSource(); - private string _title; private readonly CancellationTokenSource _cancellationTokenSource; private Thread _waitFor; @@ -61,15 +60,9 @@ namespace Greenshot.Addons.Controls Icon = GreenshotResources.GetGreenshotIcon(); } - public PleaseWaitForm(IGreenshotLanguage greenshotLanguage, - string title, - string text, - CancellationTokenSource cancellationTokenSource = default) : this(greenshotLanguage) + public PleaseWaitForm(IGreenshotLanguage greenshotLanguage, CancellationTokenSource cancellationTokenSource = default) : this(greenshotLanguage) { - _title = title; _cancellationTokenSource = cancellationTokenSource; - Text = title; - label_pleasewait.Text = text; } protected override CreateParams CreateParams @@ -77,11 +70,24 @@ namespace Greenshot.Addons.Controls get { var createParams = base.CreateParams; - createParams.ClassStyle = createParams.ClassStyle | CP_NOCLOSE_BUTTON; + createParams.ClassStyle = createParams.ClassStyle | CpNocloseButton; return createParams; } } + /// + /// Set the details + /// + /// + /// + /// + public PleaseWaitForm SetDetails(string title, string text) + { + Text = title; + label_pleasewait.Text = text; + return this; + } + /// /// Show the "please wait" form, execute the code from the delegate and wait until execution finishes. /// The supplied delegate will be wrapped with a try/catch so this method can return any exception that was thrown. @@ -90,10 +96,8 @@ namespace Greenshot.Addons.Controls /// The text in the form /// Task public async Task ShowAndWait(string title, string text, Task executeTask) - { - _title = title; - Text = title; - label_pleasewait.Text = text; + { + SetDetails(title, text); cancelButton.Text = _greenshotLanguage.Cancel; Show(); @@ -110,10 +114,8 @@ namespace Greenshot.Addons.Controls /// delegate { with your code } public void ShowAndWait(string title, string text, ThreadStart waitDelegate) { - _title = title; - Text = title; - label_pleasewait.Text = text; - cancelButton.Text = _greenshotLanguage.Cancel; + SetDetails(title, text); + cancelButton.Text = _greenshotLanguage.Cancel; // Make sure the form is shown. Show(); @@ -174,11 +176,10 @@ namespace Greenshot.Addons.Controls /// private void CancelButtonClick(object sender, EventArgs e) { - Log.Debug().WriteLine("Cancel clicked on {0}", _title); + Log.Debug().WriteLine("Cancel clicked on {0}", Text); cancelButton.Enabled = false; _waitFor?.Abort(); _cancellationTokenSource?.Cancel(); - } } } \ No newline at end of file diff --git a/src/Greenshot.Addons/Core/PluginUtils.cs b/src/Greenshot.Addons/Core/PluginUtils.cs index b244dc8a3..6cc252c02 100644 --- a/src/Greenshot.Addons/Core/PluginUtils.cs +++ b/src/Greenshot.Addons/Core/PluginUtils.cs @@ -47,13 +47,23 @@ namespace Greenshot.Addons.Core { private const string PathKey = @"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\"; private static readonly LogSource Log = new LogSource(); - private static readonly ICoreConfiguration CoreConfig = IniConfig.Current.Get(); + private static bool _isHooked = false; private static readonly IDictionary ExeIconCache = new Dictionary(); - static PluginUtils() - { - CoreConfig.PropertyChanged += OnIconSizeChanged; - } + /// + /// TODO: Replace this, as soon as we have fixed the configuration, this should not be done via a static class... + /// + private static void SetupIconResizing() + { + if (!_isHooked) + { + return; + } + + _isHooked = true; + var coreConfiguration = IniConfig.Current.Get(); + coreConfiguration.PropertyChanged += OnIconSizeChanged; + } /// /// Clear icon cache @@ -130,7 +140,9 @@ namespace Greenshot.Addons.Core Bitmap returnValue; lock (ExeIconCache) { - if (ExeIconCache.TryGetValue(cacheKey, out returnValue)) + SetupIconResizing(); + + if (ExeIconCache.TryGetValue(cacheKey, out returnValue)) { return returnValue; } diff --git a/src/Greenshot.Addons/Greenshot.Addons.csproj b/src/Greenshot.Addons/Greenshot.Addons.csproj index 8d071c0a1..4994c4c1c 100644 --- a/src/Greenshot.Addons/Greenshot.Addons.csproj +++ b/src/Greenshot.Addons/Greenshot.Addons.csproj @@ -65,14 +65,14 @@ ..\packages\Dapplo.CaliburnMicro.Translations.1.0.47\lib\net46\Dapplo.CaliburnMicro.Translations.dll - - ..\packages\Dapplo.HttpExtensions.0.8.35\lib\net46\Dapplo.HttpExtensions.dll + + ..\packages\Dapplo.HttpExtensions.0.8.38\lib\net46\Dapplo.HttpExtensions.dll - - ..\packages\Dapplo.HttpExtensions.JsonNet.0.8.35\lib\net46\Dapplo.HttpExtensions.JsonNet.dll + + ..\packages\Dapplo.HttpExtensions.JsonNet.0.8.38\lib\net46\Dapplo.HttpExtensions.JsonNet.dll - - ..\packages\Dapplo.HttpExtensions.OAuth.0.8.35\lib\net46\Dapplo.HttpExtensions.OAuth.dll + + ..\packages\Dapplo.HttpExtensions.OAuth.0.8.38\lib\net46\Dapplo.HttpExtensions.OAuth.dll ..\packages\Dapplo.Ini.0.5.28\lib\net45\Dapplo.Ini.dll diff --git a/src/Greenshot.Addons/packages.config b/src/Greenshot.Addons/packages.config index a53a20fd3..d92b5dd3f 100644 --- a/src/Greenshot.Addons/packages.config +++ b/src/Greenshot.Addons/packages.config @@ -14,9 +14,9 @@ - - - + + + diff --git a/src/Greenshot.Tests/Greenshot.Tests.csproj b/src/Greenshot.Tests/Greenshot.Tests.csproj index 7fd1aa9fa..8cae9af3e 100644 --- a/src/Greenshot.Tests/Greenshot.Tests.csproj +++ b/src/Greenshot.Tests/Greenshot.Tests.csproj @@ -83,8 +83,8 @@ ..\packages\Dapplo.CaliburnMicro.Translations.1.0.47\lib\net46\Dapplo.CaliburnMicro.Translations.dll - - ..\packages\Dapplo.HttpExtensions.0.8.35\lib\net46\Dapplo.HttpExtensions.dll + + ..\packages\Dapplo.HttpExtensions.0.8.38\lib\net46\Dapplo.HttpExtensions.dll ..\packages\Dapplo.Ini.0.5.28\lib\net45\Dapplo.Ini.dll diff --git a/src/Greenshot.Tests/packages.config b/src/Greenshot.Tests/packages.config index 61563a7ec..35ca543ff 100644 --- a/src/Greenshot.Tests/packages.config +++ b/src/Greenshot.Tests/packages.config @@ -14,7 +14,7 @@ - + diff --git a/src/Greenshot/Greenshot.csproj b/src/Greenshot/Greenshot.csproj index c64386ed9..0e296e762 100644 --- a/src/Greenshot/Greenshot.csproj +++ b/src/Greenshot/Greenshot.csproj @@ -88,14 +88,14 @@ ..\packages\Dapplo.CaliburnMicro.Translations.1.0.47\lib\net46\Dapplo.CaliburnMicro.Translations.dll - - ..\packages\Dapplo.HttpExtensions.0.8.35\lib\net46\Dapplo.HttpExtensions.dll + + ..\packages\Dapplo.HttpExtensions.0.8.38\lib\net46\Dapplo.HttpExtensions.dll - - ..\packages\Dapplo.HttpExtensions.JsonNet.0.8.35\lib\net46\Dapplo.HttpExtensions.JsonNet.dll + + ..\packages\Dapplo.HttpExtensions.JsonNet.0.8.38\lib\net46\Dapplo.HttpExtensions.JsonNet.dll - - ..\packages\Dapplo.HttpExtensions.OAuth.0.8.35\lib\net46\Dapplo.HttpExtensions.OAuth.dll + + ..\packages\Dapplo.HttpExtensions.OAuth.0.8.38\lib\net46\Dapplo.HttpExtensions.OAuth.dll ..\packages\Dapplo.Ini.0.5.28\lib\net45\Dapplo.Ini.dll diff --git a/src/Greenshot/packages.config b/src/Greenshot/packages.config index 03e9969c7..e337f309c 100644 --- a/src/Greenshot/packages.config +++ b/src/Greenshot/packages.config @@ -21,9 +21,9 @@ - - - + + +