mirror of
https://github.com/greenshot/greenshot
synced 2025-08-26 08:06:09 -07:00
Merge branch 'develop' of https://github.com/greenshot/greenshot into develop
This commit is contained in:
commit
b2a90de67b
10 changed files with 228 additions and 194 deletions
|
@ -57,15 +57,20 @@ namespace Greenshot.Addon.Box
|
||||||
private static readonly LogSource Log = new LogSource();
|
private static readonly LogSource Log = new LogSource();
|
||||||
private readonly IBoxConfiguration _boxConfiguration;
|
private readonly IBoxConfiguration _boxConfiguration;
|
||||||
private readonly IBoxLanguage _boxLanguage;
|
private readonly IBoxLanguage _boxLanguage;
|
||||||
|
private readonly INetworkConfiguration _networkConfiguration;
|
||||||
private readonly OAuth2Settings _oauth2Settings;
|
private readonly OAuth2Settings _oauth2Settings;
|
||||||
private static readonly Uri UploadFileUri = new Uri("https://upload.box.com/api/2.0/files/content");
|
private static readonly Uri UploadFileUri = new Uri("https://upload.box.com/api/2.0/files/content");
|
||||||
private static readonly Uri FilesUri = new Uri("https://www.box.com/api/2.0/files/");
|
private static readonly Uri FilesUri = new Uri("https://www.box.com/api/2.0/files/");
|
||||||
|
|
||||||
[ImportingConstructor]
|
[ImportingConstructor]
|
||||||
public BoxDestination(IBoxConfiguration boxConfiguration, IBoxLanguage boxLanguage)
|
public BoxDestination(
|
||||||
|
IBoxConfiguration boxConfiguration,
|
||||||
|
IBoxLanguage boxLanguage,
|
||||||
|
INetworkConfiguration networkConfiguration)
|
||||||
{
|
{
|
||||||
_boxConfiguration = boxConfiguration;
|
_boxConfiguration = boxConfiguration;
|
||||||
_boxLanguage = boxLanguage;
|
_boxLanguage = boxLanguage;
|
||||||
|
_networkConfiguration = networkConfiguration;
|
||||||
|
|
||||||
_oauth2Settings = new OAuth2Settings
|
_oauth2Settings = new OAuth2Settings
|
||||||
{
|
{
|
||||||
|
@ -166,6 +171,8 @@ namespace Greenshot.Addon.Box
|
||||||
string filename = surface.GenerateFilename(CoreConfiguration, _boxConfiguration);
|
string filename = surface.GenerateFilename(CoreConfiguration, _boxConfiguration);
|
||||||
|
|
||||||
var oauthHttpBehaviour = HttpBehaviour.Current.ShallowClone();
|
var oauthHttpBehaviour = HttpBehaviour.Current.ShallowClone();
|
||||||
|
// Use the network settings
|
||||||
|
oauthHttpBehaviour.HttpSettings = _networkConfiguration;
|
||||||
// Use UploadProgress
|
// Use UploadProgress
|
||||||
if (progress != null)
|
if (progress != null)
|
||||||
{
|
{
|
||||||
|
|
|
@ -65,7 +65,10 @@ namespace Greenshot.Addon.Dropbox
|
||||||
private IHttpBehaviour _oAuthHttpBehaviour;
|
private IHttpBehaviour _oAuthHttpBehaviour;
|
||||||
|
|
||||||
[ImportingConstructor]
|
[ImportingConstructor]
|
||||||
public DropboxDestination(IDropboxConfiguration dropboxPluginConfiguration, IDropboxLanguage dropboxLanguage)
|
public DropboxDestination(
|
||||||
|
IDropboxConfiguration dropboxPluginConfiguration,
|
||||||
|
IDropboxLanguage dropboxLanguage,
|
||||||
|
INetworkConfiguration networkConfiguration)
|
||||||
{
|
{
|
||||||
_dropboxPluginConfiguration = dropboxPluginConfiguration;
|
_dropboxPluginConfiguration = dropboxPluginConfiguration;
|
||||||
_dropboxLanguage = dropboxLanguage;
|
_dropboxLanguage = dropboxLanguage;
|
||||||
|
@ -89,7 +92,11 @@ namespace Greenshot.Addon.Dropbox
|
||||||
RedirectUrl = "http://localhost:47336",
|
RedirectUrl = "http://localhost:47336",
|
||||||
Token = dropboxPluginConfiguration
|
Token = dropboxPluginConfiguration
|
||||||
};
|
};
|
||||||
_oAuthHttpBehaviour = OAuth2HttpBehaviourFactory.Create(_oAuth2Settings);
|
var httpBehaviour = OAuth2HttpBehaviourFactory.Create(_oAuth2Settings) as IChangeableHttpBehaviour;
|
||||||
|
|
||||||
|
_oAuthHttpBehaviour = httpBehaviour;
|
||||||
|
// Use the default network settings
|
||||||
|
httpBehaviour.HttpSettings = networkConfiguration;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Bitmap DisplayIcon
|
public override Bitmap DisplayIcon
|
||||||
|
|
|
@ -76,7 +76,8 @@ namespace Greenshot.Addon.Flickr
|
||||||
});
|
});
|
||||||
|
|
||||||
[ImportingConstructor]
|
[ImportingConstructor]
|
||||||
public FlickrDestination(IFlickrConfiguration flickrConfiguration, IFlickrLanguage flickrLanguage)
|
public FlickrDestination(IFlickrConfiguration flickrConfiguration,
|
||||||
|
IFlickrLanguage flickrLanguage, INetworkConfiguration networkConfiguration)
|
||||||
{
|
{
|
||||||
_flickrConfiguration = flickrConfiguration;
|
_flickrConfiguration = flickrConfiguration;
|
||||||
_flickrLanguage = flickrLanguage;
|
_flickrLanguage = flickrLanguage;
|
||||||
|
@ -105,6 +106,8 @@ namespace Greenshot.Addon.Flickr
|
||||||
|
|
||||||
_oAuthHttpBehaviour = OAuth1HttpBehaviourFactory.Create(_oAuthSettings);
|
_oAuthHttpBehaviour = OAuth1HttpBehaviourFactory.Create(_oAuthSettings);
|
||||||
_oAuthHttpBehaviour.ValidateResponseContentType = false;
|
_oAuthHttpBehaviour.ValidateResponseContentType = false;
|
||||||
|
// Use the default network settings
|
||||||
|
_oAuthHttpBehaviour.HttpSettings = networkConfiguration;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string Description => _flickrLanguage.UploadMenuItem;
|
public override string Description => _flickrLanguage.UploadMenuItem;
|
||||||
|
|
|
@ -56,13 +56,18 @@ namespace Greenshot.Addon.GooglePhotos
|
||||||
private static readonly LogSource Log = new LogSource();
|
private static readonly LogSource Log = new LogSource();
|
||||||
private readonly IGooglePhotosConfiguration _googlePhotosConfiguration;
|
private readonly IGooglePhotosConfiguration _googlePhotosConfiguration;
|
||||||
private readonly IGooglePhotosLanguage _googlePhotosLanguage;
|
private readonly IGooglePhotosLanguage _googlePhotosLanguage;
|
||||||
|
private readonly INetworkConfiguration _networkConfiguration;
|
||||||
private readonly OAuth2Settings _oAuth2Settings;
|
private readonly OAuth2Settings _oAuth2Settings;
|
||||||
|
|
||||||
[ImportingConstructor]
|
[ImportingConstructor]
|
||||||
public GooglePhotosDestination(IGooglePhotosConfiguration googlePhotosConfiguration, IGooglePhotosLanguage googlePhotosLanguage)
|
public GooglePhotosDestination(
|
||||||
|
IGooglePhotosConfiguration googlePhotosConfiguration,
|
||||||
|
IGooglePhotosLanguage googlePhotosLanguage,
|
||||||
|
INetworkConfiguration networkConfiguration)
|
||||||
{
|
{
|
||||||
_googlePhotosConfiguration = googlePhotosConfiguration;
|
_googlePhotosConfiguration = googlePhotosConfiguration;
|
||||||
_googlePhotosLanguage = googlePhotosLanguage;
|
_googlePhotosLanguage = googlePhotosLanguage;
|
||||||
|
_networkConfiguration = networkConfiguration;
|
||||||
|
|
||||||
_oAuth2Settings = new OAuth2Settings
|
_oAuth2Settings = new OAuth2Settings
|
||||||
{
|
{
|
||||||
|
@ -157,7 +162,7 @@ namespace Greenshot.Addon.GooglePhotos
|
||||||
string filename = surface.GenerateFilename(CoreConfiguration, _googlePhotosConfiguration);
|
string filename = surface.GenerateFilename(CoreConfiguration, _googlePhotosConfiguration);
|
||||||
|
|
||||||
var oAuthHttpBehaviour = HttpBehaviour.Current.ShallowClone();
|
var oAuthHttpBehaviour = HttpBehaviour.Current.ShallowClone();
|
||||||
|
oAuthHttpBehaviour.HttpSettings = _networkConfiguration;
|
||||||
// Use UploadProgress
|
// Use UploadProgress
|
||||||
if (progress != null)
|
if (progress != null)
|
||||||
{
|
{
|
||||||
|
|
|
@ -61,7 +61,10 @@ namespace Greenshot.Addon.Imgur
|
||||||
private HttpBehaviour Behaviour { get; }
|
private HttpBehaviour Behaviour { get; }
|
||||||
|
|
||||||
[ImportingConstructor]
|
[ImportingConstructor]
|
||||||
public ImgurApi(IImgurConfiguration imgurConfiguration, ICoreConfiguration coreConfiguration)
|
public ImgurApi(
|
||||||
|
IImgurConfiguration imgurConfiguration,
|
||||||
|
ICoreConfiguration coreConfiguration,
|
||||||
|
INetworkConfiguration networkConfiguration)
|
||||||
{
|
{
|
||||||
_imgurConfiguration = imgurConfiguration;
|
_imgurConfiguration = imgurConfiguration;
|
||||||
_coreConfiguration = coreConfiguration;
|
_coreConfiguration = coreConfiguration;
|
||||||
|
@ -87,6 +90,7 @@ namespace Greenshot.Addon.Imgur
|
||||||
|
|
||||||
Behaviour = new HttpBehaviour
|
Behaviour = new HttpBehaviour
|
||||||
{
|
{
|
||||||
|
HttpSettings = networkConfiguration,
|
||||||
JsonSerializer = new JsonNetJsonSerializer(),
|
JsonSerializer = new JsonNetJsonSerializer(),
|
||||||
OnHttpClientCreated = httpClient =>
|
OnHttpClientCreated = httpClient =>
|
||||||
{
|
{
|
||||||
|
|
|
@ -65,13 +65,17 @@ namespace Greenshot.Addon.Jira
|
||||||
private DateTimeOffset _loggedInTime = DateTimeOffset.MinValue;
|
private DateTimeOffset _loggedInTime = DateTimeOffset.MinValue;
|
||||||
|
|
||||||
[ImportingConstructor]
|
[ImportingConstructor]
|
||||||
public JiraConnector(IJiraConfiguration jiraConfiguration, JiraMonitor jiraMonitor, ICoreConfiguration coreConfiguration)
|
public JiraConnector(
|
||||||
|
IJiraConfiguration jiraConfiguration,
|
||||||
|
JiraMonitor jiraMonitor,
|
||||||
|
ICoreConfiguration coreConfiguration,
|
||||||
|
INetworkConfiguration networkConfiguration)
|
||||||
{
|
{
|
||||||
jiraConfiguration.Url = jiraConfiguration.Url.Replace(DefaultPostfix, "");
|
jiraConfiguration.Url = jiraConfiguration.Url.Replace(DefaultPostfix, "");
|
||||||
_jiraConfiguration = jiraConfiguration;
|
_jiraConfiguration = jiraConfiguration;
|
||||||
_jiraMonitor = jiraMonitor;
|
_jiraMonitor = jiraMonitor;
|
||||||
_coreConfiguration = coreConfiguration;
|
_coreConfiguration = coreConfiguration;
|
||||||
_jiraClient = JiraClient.Create(new Uri(jiraConfiguration.Url));
|
_jiraClient = JiraClient.Create(new Uri(jiraConfiguration.Url), networkConfiguration);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Bitmap FavIcon { get; private set; }
|
public Bitmap FavIcon { get; private set; }
|
||||||
|
|
|
@ -66,13 +66,13 @@ namespace Greenshot.Addon.OneDrive
|
||||||
private static readonly Uri OneDriveUri = GraphUri.AppendSegments("v1.0", "me", "drive");
|
private static readonly Uri OneDriveUri = GraphUri.AppendSegments("v1.0", "me", "drive");
|
||||||
private static readonly Uri OAuth2Uri = new Uri("https://login.microsoftonline.com").AppendSegments("common", "oauth2", "v2.0");
|
private static readonly Uri OAuth2Uri = new Uri("https://login.microsoftonline.com").AppendSegments("common", "oauth2", "v2.0");
|
||||||
|
|
||||||
private static readonly HttpBehaviour OneDriveHttpBehaviour = new HttpBehaviour
|
private readonly HttpBehaviour _oneDriveHttpBehaviour;
|
||||||
{
|
|
||||||
JsonSerializer = new JsonNetJsonSerializer()
|
|
||||||
};
|
|
||||||
|
|
||||||
[ImportingConstructor]
|
[ImportingConstructor]
|
||||||
public OneDriveDestination(IOneDriveConfiguration oneDriveConfiguration, IOneDriveLanguage oneDriveLanguage)
|
public OneDriveDestination(
|
||||||
|
IOneDriveConfiguration oneDriveConfiguration,
|
||||||
|
IOneDriveLanguage oneDriveLanguage,
|
||||||
|
INetworkConfiguration networkConfiguration)
|
||||||
{
|
{
|
||||||
_oneDriveConfiguration = oneDriveConfiguration;
|
_oneDriveConfiguration = oneDriveConfiguration;
|
||||||
_oneDriveLanguage = oneDriveLanguage;
|
_oneDriveLanguage = oneDriveLanguage;
|
||||||
|
@ -96,6 +96,11 @@ namespace Greenshot.Addon.OneDrive
|
||||||
AuthorizeMode = AuthorizeModes.EmbeddedBrowser,
|
AuthorizeMode = AuthorizeModes.EmbeddedBrowser,
|
||||||
Token = oneDriveConfiguration
|
Token = oneDriveConfiguration
|
||||||
};
|
};
|
||||||
|
_oneDriveHttpBehaviour = new HttpBehaviour
|
||||||
|
{
|
||||||
|
HttpSettings = networkConfiguration,
|
||||||
|
JsonSerializer = new JsonNetJsonSerializer()
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string Description => _oneDriveLanguage.UploadMenuItem;
|
public override string Description => _oneDriveLanguage.UploadMenuItem;
|
||||||
|
@ -196,7 +201,7 @@ namespace Greenshot.Addon.OneDrive
|
||||||
{
|
{
|
||||||
var filename = surfaceToUpload.GenerateFilename(CoreConfiguration, _oneDriveConfiguration);
|
var filename = surfaceToUpload.GenerateFilename(CoreConfiguration, _oneDriveConfiguration);
|
||||||
var uploadUri = OneDriveUri.AppendSegments("root:", "Screenshots", filename + ":", "content");
|
var uploadUri = OneDriveUri.AppendSegments("root:", "Screenshots", filename + ":", "content");
|
||||||
var localBehaviour = OneDriveHttpBehaviour.ShallowClone();
|
var localBehaviour = _oneDriveHttpBehaviour.ShallowClone();
|
||||||
if (progress != null)
|
if (progress != null)
|
||||||
{
|
{
|
||||||
localBehaviour.UploadProgress = percent => { UiContext.RunOn(() => progress.Report((int)(percent * 100)), token); };
|
localBehaviour.UploadProgress = percent => { UiContext.RunOn(() => progress.Report((int)(percent * 100)), token); };
|
||||||
|
@ -219,7 +224,7 @@ namespace Greenshot.Addon.OneDrive
|
||||||
string imageId, OneDriveLinkType oneDriveLinkType)
|
string imageId, OneDriveLinkType oneDriveLinkType)
|
||||||
{
|
{
|
||||||
var sharableLink = OneDriveUri.AppendSegments("items", imageId, "createLink");
|
var sharableLink = OneDriveUri.AppendSegments("items", imageId, "createLink");
|
||||||
var localBehaviour = OneDriveHttpBehaviour.ShallowClone();
|
var localBehaviour = _oneDriveHttpBehaviour.ShallowClone();
|
||||||
var oauthHttpBehaviour = OAuth2HttpBehaviourFactory.Create(oAuth2Settings, localBehaviour);
|
var oauthHttpBehaviour = OAuth2HttpBehaviourFactory.Create(oAuth2Settings, localBehaviour);
|
||||||
oauthHttpBehaviour.MakeCurrent();
|
oauthHttpBehaviour.MakeCurrent();
|
||||||
var body = new OneDriveGetLinkRequest();
|
var body = new OneDriveGetLinkRequest();
|
||||||
|
|
|
@ -43,7 +43,6 @@ using Greenshot.Addons.Addons;
|
||||||
using Greenshot.Addons.Core;
|
using Greenshot.Addons.Core;
|
||||||
using Greenshot.Addons.Extensions;
|
using Greenshot.Addons.Extensions;
|
||||||
using Greenshot.Addons.Interfaces;
|
using Greenshot.Addons.Interfaces;
|
||||||
using Greenshot.Addons.Interfaces.Plugin;
|
|
||||||
using Greenshot.Gfx;
|
using Greenshot.Gfx;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -61,6 +60,7 @@ namespace Greenshot.Addon.Photobucket
|
||||||
private readonly string _albumPath;
|
private readonly string _albumPath;
|
||||||
private readonly IPhotobucketConfiguration _photobucketConfiguration;
|
private readonly IPhotobucketConfiguration _photobucketConfiguration;
|
||||||
private readonly IPhotobucketLanguage _photobucketLanguage;
|
private readonly IPhotobucketLanguage _photobucketLanguage;
|
||||||
|
private readonly INetworkConfiguration _networkConfiguration;
|
||||||
private readonly OAuth1Settings _oAuthSettings;
|
private readonly OAuth1Settings _oAuthSettings;
|
||||||
private readonly OAuth1HttpBehaviour _oAuthHttpBehaviour;
|
private readonly OAuth1HttpBehaviour _oAuthHttpBehaviour;
|
||||||
private IList<string> _albumsCache;
|
private IList<string> _albumsCache;
|
||||||
|
@ -71,10 +71,14 @@ namespace Greenshot.Addon.Photobucket
|
||||||
/// <param name="photobucketConfiguration">IPhotobucketConfiguration</param>
|
/// <param name="photobucketConfiguration">IPhotobucketConfiguration</param>
|
||||||
/// <param name="photobucketLanguage">IPhotobucketLanguage</param>
|
/// <param name="photobucketLanguage">IPhotobucketLanguage</param>
|
||||||
[ImportingConstructor]
|
[ImportingConstructor]
|
||||||
public PhotobucketDestination(IPhotobucketConfiguration photobucketConfiguration, IPhotobucketLanguage photobucketLanguage)
|
public PhotobucketDestination(
|
||||||
|
IPhotobucketConfiguration photobucketConfiguration,
|
||||||
|
IPhotobucketLanguage photobucketLanguage,
|
||||||
|
INetworkConfiguration networkConfiguration)
|
||||||
{
|
{
|
||||||
_photobucketConfiguration = photobucketConfiguration;
|
_photobucketConfiguration = photobucketConfiguration;
|
||||||
_photobucketLanguage = photobucketLanguage;
|
_photobucketLanguage = photobucketLanguage;
|
||||||
|
_networkConfiguration = networkConfiguration;
|
||||||
|
|
||||||
_oAuthSettings = new OAuth1Settings
|
_oAuthSettings = new OAuth1Settings
|
||||||
{
|
{
|
||||||
|
@ -99,6 +103,7 @@ namespace Greenshot.Addon.Photobucket
|
||||||
CheckVerifier = false
|
CheckVerifier = false
|
||||||
};
|
};
|
||||||
var oAuthHttpBehaviour = OAuth1HttpBehaviourFactory.Create(_oAuthSettings);
|
var oAuthHttpBehaviour = OAuth1HttpBehaviourFactory.Create(_oAuthSettings);
|
||||||
|
oAuthHttpBehaviour.HttpSettings = networkConfiguration;
|
||||||
// Store the leftover values
|
// Store the leftover values
|
||||||
oAuthHttpBehaviour.OnAccessTokenValues = values =>
|
oAuthHttpBehaviour.OnAccessTokenValues = values =>
|
||||||
{
|
{
|
||||||
|
@ -140,7 +145,7 @@ namespace Greenshot.Addon.Photobucket
|
||||||
/// <param name="photobucketConfiguration">IPhotobucketConfiguration</param>
|
/// <param name="photobucketConfiguration">IPhotobucketConfiguration</param>
|
||||||
/// <param name="photobucketLanguage">IPhotobucketLanguage</param>
|
/// <param name="photobucketLanguage">IPhotobucketLanguage</param>
|
||||||
/// <param name="albumPath">path to the album, null for default</param>
|
/// <param name="albumPath">path to the album, null for default</param>
|
||||||
public PhotobucketDestination(IPhotobucketConfiguration photobucketConfiguration, IPhotobucketLanguage photobucketLanguage, string albumPath) : this (photobucketConfiguration, photobucketLanguage)
|
public PhotobucketDestination(IPhotobucketConfiguration photobucketConfiguration, IPhotobucketLanguage photobucketLanguage, INetworkConfiguration networkConfiguration, string albumPath) : this (photobucketConfiguration, photobucketLanguage, networkConfiguration)
|
||||||
{
|
{
|
||||||
_photobucketConfiguration = photobucketConfiguration;
|
_photobucketConfiguration = photobucketConfiguration;
|
||||||
_albumPath = albumPath;
|
_albumPath = albumPath;
|
||||||
|
@ -193,7 +198,7 @@ namespace Greenshot.Addon.Photobucket
|
||||||
}
|
}
|
||||||
foreach (var album in albums)
|
foreach (var album in albums)
|
||||||
{
|
{
|
||||||
yield return new PhotobucketDestination(_photobucketConfiguration, _photobucketLanguage, album);
|
yield return new PhotobucketDestination(_photobucketConfiguration, _photobucketLanguage, _networkConfiguration, album);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,16 +23,10 @@
|
||||||
|
|
||||||
#region Usings
|
#region Usings
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Drawing;
|
|
||||||
using Dapplo.HttpExtensions;
|
using Dapplo.HttpExtensions;
|
||||||
using Dapplo.Ini;
|
using Dapplo.Ini;
|
||||||
using Dapplo.InterfaceImpl.Extensions;
|
using Dapplo.InterfaceImpl.Extensions;
|
||||||
using Dapplo.Windows.Common.Structs;
|
|
||||||
using Greenshot.Addons.Core.Enums;
|
|
||||||
using Greenshot.Addons.Interfaces;
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue