Merge branch 'jevanpipitone-master'

This commit is contained in:
Jaex 2016-02-15 08:35:07 +02:00
commit 5e2cb3904b
10 changed files with 1470 additions and 1205 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

View file

@ -501,6 +501,10 @@ private void InitializeComponent()
this.txtCheveretoWebsite = new System.Windows.Forms.TextBox();
this.txtCheveretoAPIKey = new System.Windows.Forms.TextBox();
this.lblCheveretoAPIKey = new System.Windows.Forms.Label();
this.tpSomeImage = new System.Windows.Forms.TabPage();
this.txtSomeImageAPIKey = new System.Windows.Forms.TextBox();
this.lblSomeImageAPIKey = new System.Windows.Forms.Label();
this.cbSomeImageDirectURL = new System.Windows.Forms.CheckBox();
this.tpVgyme = new System.Windows.Forms.TabPage();
this.txtVgymeUserKey = new System.Windows.Forms.TextBox();
this.lvlVgymeUserKey = new System.Windows.Forms.Label();
@ -527,6 +531,7 @@ private void InitializeComponent()
this.atcGoogleURLShortenerAccountType = new ShareX.UploadersLib.AccountTypeControl();
this.ucLocalhostAccounts = new ShareX.UploadersLib.AccountsControl();
this.actRapidShareAccountType = new ShareX.UploadersLib.AccountTypeControl();
this.linkLblSomeImageAPIKey = new System.Windows.Forms.LinkLabel();
this.llVgymeAccountDetailsPage = new System.Windows.Forms.LinkLabel();
this.tpOtherUploaders.SuspendLayout();
this.tcOtherUploaders.SuspendLayout();
@ -604,6 +609,7 @@ private void InitializeComponent()
this.gbPhotobucketUserAccount.SuspendLayout();
this.tpPicasa.SuspendLayout();
this.tpChevereto.SuspendLayout();
this.tpSomeImage.SuspendLayout();
this.tpVgyme.SuspendLayout();
this.tcUploaders.SuspendLayout();
this.SuspendLayout();
@ -3528,6 +3534,7 @@ private void InitializeComponent()
this.tcImageUploaders.Controls.Add(this.tpPhotobucket);
this.tcImageUploaders.Controls.Add(this.tpPicasa);
this.tcImageUploaders.Controls.Add(this.tpChevereto);
this.tcImageUploaders.Controls.Add(this.tpSomeImage);
this.tcImageUploaders.Controls.Add(this.tpVgyme);
resources.ApplyResources(this.tcImageUploaders, "tcImageUploaders");
this.tcImageUploaders.Name = "tcImageUploaders";
@ -4020,6 +4027,34 @@ private void InitializeComponent()
//
resources.ApplyResources(this.lblCheveretoAPIKey, "lblCheveretoAPIKey");
this.lblCheveretoAPIKey.Name = "lblCheveretoAPIKey";
//
// tpSomeImage
//
this.tpSomeImage.Controls.Add(this.linkLblSomeImageAPIKey);
this.tpSomeImage.Controls.Add(this.txtSomeImageAPIKey);
this.tpSomeImage.Controls.Add(this.lblSomeImageAPIKey);
this.tpSomeImage.Controls.Add(this.cbSomeImageDirectURL);
resources.ApplyResources(this.tpSomeImage, "tpSomeImage");
this.tpSomeImage.Name = "tpSomeImage";
this.tpSomeImage.UseVisualStyleBackColor = true;
//
// txtSomeImageAPIKey
//
resources.ApplyResources(this.txtSomeImageAPIKey, "txtSomeImageAPIKey");
this.txtSomeImageAPIKey.Name = "txtSomeImageAPIKey";
this.txtSomeImageAPIKey.TextChanged += new System.EventHandler(this.txtSomeImageAPIKey_TextChanged);
//
// lblSomeImageAPIKey
//
resources.ApplyResources(this.lblSomeImageAPIKey, "lblSomeImageAPIKey");
this.lblSomeImageAPIKey.Name = "lblSomeImageAPIKey";
//
// cbSomeImageDirectURL
//
resources.ApplyResources(this.cbSomeImageDirectURL, "cbSomeImageDirectURL");
this.cbSomeImageDirectURL.Name = "cbSomeImageDirectURL";
this.cbSomeImageDirectURL.UseVisualStyleBackColor = true;
this.cbSomeImageDirectURL.CheckedChanged += new System.EventHandler(this.cbSomeImageDirectURL_CheckedChanged);
//
// tpVgyme
//
@ -4224,6 +4259,13 @@ private void InitializeComponent()
resources.ApplyResources(this.actRapidShareAccountType, "actRapidShareAccountType");
this.actRapidShareAccountType.Name = "actRapidShareAccountType";
this.actRapidShareAccountType.SelectedAccountType = ShareX.UploadersLib.AccountType.Anonymous;
//
// linkLblSomeImageAPIKey
//
resources.ApplyResources(this.linkLblSomeImageAPIKey, "linkLblSomeImageAPIKey");
this.linkLblSomeImageAPIKey.Name = "linkLblSomeImageAPIKey";
this.linkLblSomeImageAPIKey.TabStop = true;
this.linkLblSomeImageAPIKey.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLblSomeImageAPIKey_LinkClicked);
//
// llVgymeAccountDetailsPage
//
@ -4377,6 +4419,8 @@ private void InitializeComponent()
this.tpPicasa.PerformLayout();
this.tpChevereto.ResumeLayout(false);
this.tpChevereto.PerformLayout();
this.tpSomeImage.ResumeLayout(false);
this.tpSomeImage.PerformLayout();
this.tpVgyme.ResumeLayout(false);
this.tpVgyme.PerformLayout();
this.tcUploaders.ResumeLayout(false);
@ -4880,6 +4924,11 @@ private void InitializeComponent()
private System.Windows.Forms.Label lblSulAPIKey;
private System.Windows.Forms.TextBox txtSulAPIKey;
private System.Windows.Forms.Button btnCustomUploadersExportAll;
private System.Windows.Forms.TabPage tpSomeImage;
private System.Windows.Forms.CheckBox cbSomeImageDirectURL;
private System.Windows.Forms.TextBox txtSomeImageAPIKey;
private System.Windows.Forms.Label lblSomeImageAPIKey;
private System.Windows.Forms.LinkLabel linkLblSomeImageAPIKey;
private System.Windows.Forms.TabPage tpVgyme;
private System.Windows.Forms.TextBox txtVgymeUserKey;
private System.Windows.Forms.Label lvlVgymeUserKey;

View file

@ -23,6 +23,12 @@
#endregion License Information (GPL v3)
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using CG.Web.MegaApiClient;
using ShareX.HelpersLib;
using ShareX.UploadersLib.FileUploaders;
@ -30,12 +36,6 @@
using ShareX.UploadersLib.ImageUploaders;
using ShareX.UploadersLib.Properties;
using ShareX.UploadersLib.TextUploaders;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text.RegularExpressions;
using System.Windows.Forms;
namespace ShareX.UploadersLib
{
@ -112,6 +112,7 @@ private void FormSettings()
AddIconToTab(tpSeafile, Resources.Seafile);
AddIconToTab(tpSendSpace, Resources.SendSpace);
AddIconToTab(tpSharedFolder, Resources.server_network);
AddIconToTab(tpSomeImage, Resources.SomeImage);
AddIconToTab(tpStreamable, Resources.Streamable);
AddIconToTab(tpSul, Resources.Sul);
AddIconToTab(tpTinyPic, Resources.TinyPic);
@ -242,6 +243,11 @@ public void LoadSettings()
txtCheveretoAPIKey.Text = Config.CheveretoAPIKey;
cbCheveretoDirectURL.Checked = Config.CheveretoDirectURL;
// SomeImage
txtSomeImageAPIKey.Text = Config.SomeImageAPIKey;
cbSomeImageDirectURL.Checked = Config.SomeImageDirectURL;
// vgy.me
txtVgymeUserKey.Text = Config.VgymeUserKey;
@ -998,6 +1004,25 @@ private void cbCheveretoDirectURL_CheckedChanged(object sender, EventArgs e)
#endregion Chevereto
#region SomeImage
private void txtSomeImageAPIKey_TextChanged(object sender, EventArgs e)
{
Config.SomeImageAPIKey = txtSomeImageAPIKey.Text;
}
private void cbSomeImageDirectURL_CheckedChanged(object sender, EventArgs e)
{
Config.SomeImageDirectURL = cbSomeImageDirectURL.Checked;
}
private void linkLblSomeImageAPIKey_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
System.Diagnostics.Process.Start("https://someimage.com/api");
}
#endregion SomeImage
#region vgy.me
private void txtVgymeUserKey_TextChanged(object sender, EventArgs e)

View file

@ -12706,6 +12706,141 @@ Using an encrypted library disables sharing.</value>
<data name="&gt;&gt;tpChevereto.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="linkLblSomeImageAPIKey.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="linkLblSomeImageAPIKey.Location" type="System.Drawing.Point, System.Drawing">
<value>376, 46</value>
</data>
<data name="linkLblSomeImageAPIKey.Size" type="System.Drawing.Size, System.Drawing">
<value>300, 17</value>
</data>
<data name="linkLblSomeImageAPIKey.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="linkLblSomeImageAPIKey.Text" xml:space="preserve">
<value>To get API key visit https://someimage.com/api</value>
</data>
<data name="&gt;&gt;linkLblSomeImageAPIKey.Name" xml:space="preserve">
<value>linkLblSomeImageAPIKey</value>
</data>
<data name="&gt;&gt;linkLblSomeImageAPIKey.Type" xml:space="preserve">
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;linkLblSomeImageAPIKey.Parent" xml:space="preserve">
<value>tpSomeImage</value>
</data>
<data name="&gt;&gt;linkLblSomeImageAPIKey.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="txtSomeImageAPIKey.Location" type="System.Drawing.Point, System.Drawing">
<value>25, 43</value>
</data>
<data name="txtSomeImageAPIKey.Size" type="System.Drawing.Size, System.Drawing">
<value>319, 22</value>
</data>
<data name="txtSomeImageAPIKey.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="&gt;&gt;txtSomeImageAPIKey.Name" xml:space="preserve">
<value>txtSomeImageAPIKey</value>
</data>
<data name="&gt;&gt;txtSomeImageAPIKey.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;txtSomeImageAPIKey.Parent" xml:space="preserve">
<value>tpSomeImage</value>
</data>
<data name="&gt;&gt;txtSomeImageAPIKey.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="lblSomeImageAPIKey.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="lblSomeImageAPIKey.Location" type="System.Drawing.Point, System.Drawing">
<value>22, 23</value>
</data>
<data name="lblSomeImageAPIKey.Size" type="System.Drawing.Size, System.Drawing">
<value>59, 17</value>
</data>
<data name="lblSomeImageAPIKey.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="lblSomeImageAPIKey.Text" xml:space="preserve">
<value>API key:</value>
</data>
<data name="&gt;&gt;lblSomeImageAPIKey.Name" xml:space="preserve">
<value>lblSomeImageAPIKey</value>
</data>
<data name="&gt;&gt;lblSomeImageAPIKey.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;lblSomeImageAPIKey.Parent" xml:space="preserve">
<value>tpSomeImage</value>
</data>
<data name="&gt;&gt;lblSomeImageAPIKey.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="cbSomeImageDirectURL.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="cbSomeImageDirectURL.Location" type="System.Drawing.Point, System.Drawing">
<value>25, 88</value>
</data>
<data name="cbSomeImageDirectURL.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="cbSomeImageDirectURL.Size" type="System.Drawing.Size, System.Drawing">
<value>99, 21</value>
</data>
<data name="cbSomeImageDirectURL.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="cbSomeImageDirectURL.Text" xml:space="preserve">
<value>Direct URL</value>
</data>
<data name="&gt;&gt;cbSomeImageDirectURL.Name" xml:space="preserve">
<value>cbSomeImageDirectURL</value>
</data>
<data name="&gt;&gt;cbSomeImageDirectURL.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;cbSomeImageDirectURL.Parent" xml:space="preserve">
<value>tpSomeImage</value>
</data>
<data name="&gt;&gt;cbSomeImageDirectURL.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="tpSomeImage.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 25</value>
</data>
<data name="tpSomeImage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="tpSomeImage.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="tpSomeImage.Size" type="System.Drawing.Size, System.Drawing">
<value>1301, 612</value>
</data>
<data name="tpSomeImage.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
<data name="tpSomeImage.Text" xml:space="preserve">
<value>SomeImage</value>
</data>
<data name="&gt;&gt;tpSomeImage.Name" xml:space="preserve">
<value>tpSomeImage</value>
</data>
<data name="&gt;&gt;tpSomeImage.Type" xml:space="preserve">
<value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tpSomeImage.Parent" xml:space="preserve">
<value>tcImageUploaders</value>
</data>
<data name="&gt;&gt;tpSomeImage.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="llVgymeAccountDetailsPage.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>

View file

@ -25,9 +25,10 @@
// Credits: https://github.com/DanielMcAssey
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using Newtonsoft.Json;
namespace ShareX.UploadersLib.ImageUploaders
{
@ -35,6 +36,8 @@ public sealed class SomeImage : ImageUploader
{
private const string API_ENDPOINT = "https://someimage.com/api/2/image/upload";
public bool DirectURL { get; set; }
private string API_KEY = "";
public SomeImage(string apiKey)
@ -58,7 +61,31 @@ public override UploadResult Upload(Stream stream, string fileName)
if (jsonResponse != null)
{
result.URL = jsonResponse.imagelink;
if (DirectURL)
{
if (jsonResponse.imagelink == null)
{
result.URL = null;
}
else {
Uri responseUri = new Uri(jsonResponse.imagelink); // http://someimage.com/asdf
string host = responseUri.Host; // someimage.com
string filename = Path.GetFileName(responseUri.AbsolutePath); // /asdf
if (filename.StartsWith("/"))
{
filename = filename.Remove(0, 1); // asdf
}
if (host.StartsWith("www."))
{
host = host.Remove(0, 4);
}
result.URL = "https://i1." + host + "/" + filename + ".jpg";
}
}
else
{
result.URL = jsonResponse.imagelink;
}
}
}
}

View file

@ -906,6 +906,16 @@ internal class Resources {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap SomeImage {
get {
object obj = ResourceManager.GetObject("SomeImage", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
/// </summary>

View file

@ -440,6 +440,9 @@ Created folders:</value>
<data name="Chevereto" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Favicons\Chevereto.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="SomeImage" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Favicons\SomeImage.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="AmazonS3" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Favicons\AmazonS3.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>

View file

@ -884,6 +884,7 @@
<None Include="Resources\question-button.png" />
</ItemGroup>
<ItemGroup>
<Content Include="Favicons\SomeImage.png" />
<Content Include="Favicons\Streamable.ico" />
<Content Include="Favicons\Sul.png" />
<Content Include="Favicons\Vgyme.ico" />

View file

@ -23,14 +23,14 @@
#endregion License Information (GPL v3)
using System;
using System.Collections.Generic;
using CG.Web.MegaApiClient;
using ShareX.HelpersLib;
using ShareX.UploadersLib.FileUploaders;
using ShareX.UploadersLib.HelperClasses;
using ShareX.UploadersLib.ImageUploaders;
using ShareX.UploadersLib.TextUploaders;
using System;
using System.Collections.Generic;
namespace ShareX.UploadersLib
{
@ -82,6 +82,11 @@ public class UploadersConfig : SettingsBase<UploadersConfig>
public string CheveretoAPIKey = string.Empty;
public bool CheveretoDirectURL = true;
// SomeImage
public string SomeImageAPIKey = string.Empty;
public bool SomeImageDirectURL = true;
// vgy.me
public string VgymeUserKey = string.Empty;
@ -392,6 +397,8 @@ public bool IsValid(ImageDestination destination)
return TwitterOAuthInfoList != null && TwitterOAuthInfoList.IsValidIndex(TwitterSelectedAccount) && OAuthInfo.CheckOAuth(TwitterOAuthInfoList[TwitterSelectedAccount]);
case ImageDestination.Chevereto:
return !string.IsNullOrEmpty(CheveretoWebsite) && !string.IsNullOrEmpty(CheveretoAPIKey);
case ImageDestination.SomeImage:
return !string.IsNullOrEmpty(SomeImageAPIKey);
case ImageDestination.CustomImageUploader:
return CustomUploadersList != null && CustomUploadersList.IsValidIndex(CustomImageUploaderSelected);
}

View file

@ -23,6 +23,14 @@
#endregion License Information (GPL v3)
using System;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading;
using System.Windows.Forms;
using ShareX.HelpersLib;
using ShareX.Properties;
using ShareX.UploadersLib;
@ -32,14 +40,6 @@
using ShareX.UploadersLib.ImageUploaders;
using ShareX.UploadersLib.TextUploaders;
using ShareX.UploadersLib.URLShorteners;
using System;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading;
using System.Windows.Forms;
namespace ShareX
{
@ -827,7 +827,15 @@ public UploadResult UploadImage(Stream stream, string fileName)
};
break;
case ImageDestination.SomeImage:
imageUploader = new SomeImage(APIKeys.SomeImageKey);
String someImageAPIKey = Program.UploadersConfig.SomeImageAPIKey;
if (someImageAPIKey == "")
{
someImageAPIKey = APIKeys.SomeImageKey;
}
imageUploader = new SomeImage(someImageAPIKey)
{
DirectURL = Program.UploadersConfig.SomeImageDirectURL
};
break;
case ImageDestination.CustomImageUploader:
CustomUploaderItem customUploader = GetCustomUploader(Program.UploadersConfig.CustomImageUploaderSelected);