Merge pull request #1190 from corin12355/master

Adds s-ul support 2
This commit is contained in:
Jaex 2015-12-12 08:30:55 +02:00
commit f300441b2f
11 changed files with 484 additions and 235 deletions

View file

@ -130,6 +130,8 @@ public enum FileDestination
Up1,
[Description("Seafile")]
Seafile,
[Description("s-ul")]
Sul,
[Description("Streamable")]
Streamable,
SharedFolder, // Localized

Binary file not shown.

After

Width:  |  Height:  |  Size: 5 KiB

View file

@ -0,0 +1,99 @@
#region License Information (GPL v3)
/*
ShareX - A program that allows you to take screenshots and share any file type
Copyright © 2007-2015 ShareX Developers
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Optionally you can also view the license at <http://www.gnu.org/licenses/>.
*/
#endregion License Information (GPL v3)
using System;
using System.IO;
using System.Collections.Generic;
using ShareX.HelpersLib;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace ShareX.UploadersLib.FileUploaders
{
public sealed class SulUploader : FileUploader
{
private string APIKey { get; set; }
public SulUploader(string apiKey)
{
APIKey = apiKey;
}
public override UploadResult Upload(Stream stream, string fileName)
{
Dictionary<string, string> args = new Dictionary<string, string>();
args.Add("wizard", "true");
args.Add("key", APIKey);
args.Add("client", "sharex-native");
string url = "https://s-ul.eu";
url = URLHelpers.CombineURL(url, "upload.php");
UploadResult result = UploadData(stream, url, fileName, "file", args);
if (result.IsSuccess)
{
JToken jsonResponse = JToken.Parse(result.Response);
string protocol = "";
string domain = "";
string file = "";
string extension = "";
string error = "";
if (jsonResponse != null)
{
protocol = (string)jsonResponse.SelectToken("protocol");
domain = (string)jsonResponse.SelectToken("domain");
file = (string)jsonResponse.SelectToken("filename");
extension = (string)jsonResponse.SelectToken("extension");
error = (string)jsonResponse.SelectToken("error");
}
if (!string.IsNullOrEmpty(error) || string.IsNullOrEmpty(protocol))
{
if (string.IsNullOrEmpty(error))
{
Errors.Add("Generic error occurred, please contact support@s-ul.eu");
}
else
{
Errors.Add(error);
}
}
else
{
result.URL = protocol + domain + "/" + file + extension;
result.DeletionURL = "https://s-ul.eu/delete.php?key=" + APIKey + "&file=" + file;
}
}
return result;
}
}
}

View file

@ -42,6 +42,7 @@ private void InitializeComponent()
this.lblTwitterDefaultMessage = new System.Windows.Forms.Label();
this.txtTwitterDefaultMessage = new System.Windows.Forms.TextBox();
this.cbTwitterSkipMessageBox = new System.Windows.Forms.CheckBox();
this.oauthTwitter = new ShareX.UploadersLib.OAuthControl();
this.txtTwitterDescription = new System.Windows.Forms.TextBox();
this.lblTwitterDescription = new System.Windows.Forms.Label();
this.btnTwitterRemove = new System.Windows.Forms.Button();
@ -133,7 +134,10 @@ private void InitializeComponent()
this.tpBitly = new System.Windows.Forms.TabPage();
this.txtBitlyDomain = new System.Windows.Forms.TextBox();
this.lblBitlyDomain = new System.Windows.Forms.Label();
this.oauth2Bitly = new ShareX.UploadersLib.OAuthControl();
this.tpGoogleURLShortener = new System.Windows.Forms.TabPage();
this.oauth2GoogleURLShortener = new ShareX.UploadersLib.OAuthControl();
this.atcGoogleURLShortenerAccountType = new ShareX.UploadersLib.AccountTypeControl();
this.tpYourls = new System.Windows.Forms.TabPage();
this.txtYourlsPassword = new System.Windows.Forms.TextBox();
this.txtYourlsUsername = new System.Windows.Forms.TextBox();
@ -169,7 +173,9 @@ private void InitializeComponent()
this.cboFtpImages = new System.Windows.Forms.ComboBox();
this.cboFtpFiles = new System.Windows.Forms.ComboBox();
this.cboFtpText = new System.Windows.Forms.ComboBox();
this.ucFTPAccounts = new ShareX.UploadersLib.AccountsControl();
this.tpDropbox = new System.Windows.Forms.TabPage();
this.oauth2Dropbox = new ShareX.UploadersLib.OAuthControl();
this.cbDropboxURLType = new System.Windows.Forms.ComboBox();
this.cbDropboxAutoCreateShareableLink = new System.Windows.Forms.CheckBox();
this.btnDropboxShowFiles = new System.Windows.Forms.Button();
@ -182,6 +188,7 @@ private void InitializeComponent()
this.tvOneDrive = new System.Windows.Forms.TreeView();
this.lblOneDriveFolderID = new System.Windows.Forms.Label();
this.cbOneDriveCreateShareableLink = new System.Windows.Forms.CheckBox();
this.oAuth2OneDrive = new ShareX.UploadersLib.OAuthControl();
this.tpGoogleDrive = new System.Windows.Forms.TabPage();
this.cbGoogleDriveUseFolder = new System.Windows.Forms.CheckBox();
this.txtGoogleDriveFolderID = new System.Windows.Forms.TextBox();
@ -191,6 +198,7 @@ private void InitializeComponent()
this.chGoogleDriveDescription = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.btnGoogleDriveRefreshFolders = new System.Windows.Forms.Button();
this.cbGoogleDriveIsPublic = new System.Windows.Forms.CheckBox();
this.oauth2GoogleDrive = new ShareX.UploadersLib.OAuthControl();
this.tpBox = new System.Windows.Forms.TabPage();
this.lblBoxFolderTip = new System.Windows.Forms.Label();
this.cbBoxShare = new System.Windows.Forms.CheckBox();
@ -198,6 +206,7 @@ private void InitializeComponent()
this.chBoxFoldersName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.lblBoxFolderID = new System.Windows.Forms.Label();
this.btnBoxRefreshFolders = new System.Windows.Forms.Button();
this.oauth2Box = new ShareX.UploadersLib.OAuthControl();
this.tpCopy = new System.Windows.Forms.TabPage();
this.pbCopyLogo = new System.Windows.Forms.PictureBox();
this.lblCopyURLType = new System.Windows.Forms.Label();
@ -205,6 +214,7 @@ private void InitializeComponent()
this.lblCopyStatus = new System.Windows.Forms.Label();
this.lblCopyPath = new System.Windows.Forms.Label();
this.txtCopyPath = new System.Windows.Forms.TextBox();
this.oAuthCopy = new ShareX.UploadersLib.OAuthControl();
this.tpAmazonS3 = new System.Windows.Forms.TabPage();
this.txtAmazonS3CustomDomain = new System.Windows.Forms.TextBox();
this.lblAmazonS3PathPreviewLabel = new System.Windows.Forms.Label();
@ -266,6 +276,7 @@ private void InitializeComponent()
this.lblSendSpaceUsername = new System.Windows.Forms.Label();
this.txtSendSpacePassword = new System.Windows.Forms.TextBox();
this.txtSendSpaceUserName = new System.Windows.Forms.TextBox();
this.atcSendSpaceAccountType = new ShareX.UploadersLib.AccountTypeControl();
this.tpGe_tt = new System.Windows.Forms.TabPage();
this.lblGe_ttStatus = new System.Windows.Forms.Label();
this.lblGe_ttPassword = new System.Windows.Forms.Label();
@ -303,6 +314,7 @@ private void InitializeComponent()
this.txtJiraConfigHelp = new System.Windows.Forms.TextBox();
this.txtJiraHost = new System.Windows.Forms.TextBox();
this.lblJiraHost = new System.Windows.Forms.Label();
this.oAuthJira = new ShareX.UploadersLib.OAuthControl();
this.tpLambda = new System.Windows.Forms.TabPage();
this.lblLambdaInfo = new System.Windows.Forms.Label();
this.lblLambdaApiKey = new System.Windows.Forms.Label();
@ -389,6 +401,9 @@ private void InitializeComponent()
this.lblSharedFolderImages = new System.Windows.Forms.Label();
this.cboSharedFolderText = new System.Windows.Forms.ComboBox();
this.cboSharedFolderImages = new System.Windows.Forms.ComboBox();
this.ucLocalhostAccounts = new ShareX.UploadersLib.AccountsControl();
this.tpSul = new System.Windows.Forms.TabPage();
this.lblSulAPIKey = new System.Windows.Forms.Label();
this.btnCopyShowFiles = new System.Windows.Forms.Button();
this.tpTextUploaders = new System.Windows.Forms.TabPage();
this.tcTextUploaders = new System.Windows.Forms.TabControl();
@ -413,6 +428,8 @@ private void InitializeComponent()
this.txtPaste_eeUserAPIKey = new System.Windows.Forms.TextBox();
this.tpGist = new System.Windows.Forms.TabPage();
this.chkGistPublishPublic = new System.Windows.Forms.CheckBox();
this.oAuth2Gist = new ShareX.UploadersLib.OAuthControl();
this.atcGistAccountType = new ShareX.UploadersLib.AccountTypeControl();
this.tpUpaste = new System.Windows.Forms.TabPage();
this.cbUpasteIsPublic = new System.Windows.Forms.CheckBox();
this.lblUpasteUserKey = new System.Windows.Forms.Label();
@ -433,6 +450,8 @@ private void InitializeComponent()
this.cbImgurUseGIFV = new System.Windows.Forms.CheckBox();
this.cbImgurUploadSelectedAlbum = new System.Windows.Forms.CheckBox();
this.cbImgurDirectLink = new System.Windows.Forms.CheckBox();
this.atcImgurAccountType = new ShareX.UploadersLib.AccountTypeControl();
this.oauth2Imgur = new ShareX.UploadersLib.OAuthControl();
this.lvImgurAlbumList = new System.Windows.Forms.ListView();
this.chImgurID = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.chImgurTitle = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
@ -450,6 +469,7 @@ private void InitializeComponent()
this.txtImageShackPassword = new System.Windows.Forms.TextBox();
this.lblImageShackPassword = new System.Windows.Forms.Label();
this.tpTinyPic = new System.Windows.Forms.TabPage();
this.atcTinyPicAccountType = new ShareX.UploadersLib.AccountTypeControl();
this.btnTinyPicLogin = new System.Windows.Forms.Button();
this.txtTinyPicPassword = new System.Windows.Forms.TextBox();
this.lblTinyPicPassword = new System.Windows.Forms.Label();
@ -490,6 +510,7 @@ private void InitializeComponent()
this.chPicasaName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.chPicasaDescription = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.btnPicasaRefreshAlbumList = new System.Windows.Forms.Button();
this.oauth2Picasa = new ShareX.UploadersLib.OAuthControl();
this.tpChevereto = new System.Windows.Forms.TabPage();
this.cbCheveretoDirectURL = new System.Windows.Forms.CheckBox();
this.lblCheveretoWebsiteTip = new System.Windows.Forms.Label();
@ -500,26 +521,8 @@ private void InitializeComponent()
this.tcUploaders = new System.Windows.Forms.TabControl();
this.lblWidthHint = new System.Windows.Forms.Label();
this.ttlvMain = new ShareX.HelpersLib.TabToListView();
this.atcImgurAccountType = new ShareX.UploadersLib.AccountTypeControl();
this.oauth2Imgur = new ShareX.UploadersLib.OAuthControl();
this.atcTinyPicAccountType = new ShareX.UploadersLib.AccountTypeControl();
this.oauth2Picasa = new ShareX.UploadersLib.OAuthControl();
this.oAuth2Gist = new ShareX.UploadersLib.OAuthControl();
this.atcGistAccountType = new ShareX.UploadersLib.AccountTypeControl();
this.ucFTPAccounts = new ShareX.UploadersLib.AccountsControl();
this.oauth2Dropbox = new ShareX.UploadersLib.OAuthControl();
this.oAuth2OneDrive = new ShareX.UploadersLib.OAuthControl();
this.oauth2GoogleDrive = new ShareX.UploadersLib.OAuthControl();
this.oauth2Box = new ShareX.UploadersLib.OAuthControl();
this.oAuthCopy = new ShareX.UploadersLib.OAuthControl();
this.atcSendSpaceAccountType = new ShareX.UploadersLib.AccountTypeControl();
this.oAuthJira = new ShareX.UploadersLib.OAuthControl();
this.oauthTwitter = new ShareX.UploadersLib.OAuthControl();
this.oauth2Bitly = new ShareX.UploadersLib.OAuthControl();
this.oauth2GoogleURLShortener = new ShareX.UploadersLib.OAuthControl();
this.atcGoogleURLShortenerAccountType = new ShareX.UploadersLib.AccountTypeControl();
this.ucLocalhostAccounts = new ShareX.UploadersLib.AccountsControl();
this.actRapidShareAccountType = new ShareX.UploadersLib.AccountTypeControl();
this.txtSulAPIKey = new System.Windows.Forms.TextBox();
this.tpOtherUploaders.SuspendLayout();
this.tcOtherUploaders.SuspendLayout();
this.tpTwitter.SuspendLayout();
@ -575,6 +578,7 @@ private void InitializeComponent()
this.tpEmail.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.nudEmailSmtpPort)).BeginInit();
this.tpSharedFolder.SuspendLayout();
this.tpSul.SuspendLayout();
this.tpTextUploaders.SuspendLayout();
this.tcTextUploaders.SuspendLayout();
this.tpPastebin.SuspendLayout();
@ -693,6 +697,15 @@ private void InitializeComponent()
this.cbTwitterSkipMessageBox.UseVisualStyleBackColor = true;
this.cbTwitterSkipMessageBox.CheckedChanged += new System.EventHandler(this.cbTwitterSkipMessageBox_CheckedChanged);
//
// oauthTwitter
//
resources.ApplyResources(this.oauthTwitter, "oauthTwitter");
this.oauthTwitter.IsRefreshable = false;
this.oauthTwitter.Name = "oauthTwitter";
this.oauthTwitter.OpenButtonClicked += new ShareX.UploadersLib.OAuthControl.OpenButtonClickedEventHandler(this.oauthTwitter_OpenButtonClicked);
this.oauthTwitter.CompleteButtonClicked += new ShareX.UploadersLib.OAuthControl.CompleteButtonClickedEventHandler(this.oauthTwitter_CompleteButtonClicked);
this.oauthTwitter.ClearButtonClicked += new ShareX.UploadersLib.OAuthControl.ClearButtonclickedEventHandler(this.oauthTwitter_ClearButtonClicked);
//
// txtTwitterDescription
//
resources.ApplyResources(this.txtTwitterDescription, "txtTwitterDescription");
@ -1366,6 +1379,15 @@ private void InitializeComponent()
resources.ApplyResources(this.lblBitlyDomain, "lblBitlyDomain");
this.lblBitlyDomain.Name = "lblBitlyDomain";
//
// oauth2Bitly
//
this.oauth2Bitly.IsRefreshable = false;
resources.ApplyResources(this.oauth2Bitly, "oauth2Bitly");
this.oauth2Bitly.Name = "oauth2Bitly";
this.oauth2Bitly.OpenButtonClicked += new ShareX.UploadersLib.OAuthControl.OpenButtonClickedEventHandler(this.oauth2Bitly_OpenButtonClicked);
this.oauth2Bitly.CompleteButtonClicked += new ShareX.UploadersLib.OAuthControl.CompleteButtonClickedEventHandler(this.oauth2Bitly_CompleteButtonClicked);
this.oauth2Bitly.ClearButtonClicked += new ShareX.UploadersLib.OAuthControl.ClearButtonclickedEventHandler(this.oauth2Bitly_ClearButtonClicked);
//
// tpGoogleURLShortener
//
this.tpGoogleURLShortener.Controls.Add(this.oauth2GoogleURLShortener);
@ -1374,6 +1396,22 @@ private void InitializeComponent()
this.tpGoogleURLShortener.Name = "tpGoogleURLShortener";
this.tpGoogleURLShortener.UseVisualStyleBackColor = true;
//
// oauth2GoogleURLShortener
//
resources.ApplyResources(this.oauth2GoogleURLShortener, "oauth2GoogleURLShortener");
this.oauth2GoogleURLShortener.Name = "oauth2GoogleURLShortener";
this.oauth2GoogleURLShortener.OpenButtonClicked += new ShareX.UploadersLib.OAuthControl.OpenButtonClickedEventHandler(this.oauth2GoogleURLShortener_OpenButtonClicked);
this.oauth2GoogleURLShortener.CompleteButtonClicked += new ShareX.UploadersLib.OAuthControl.CompleteButtonClickedEventHandler(this.oauth2GoogleURLShortener_CompleteButtonClicked);
this.oauth2GoogleURLShortener.ClearButtonClicked += new ShareX.UploadersLib.OAuthControl.ClearButtonclickedEventHandler(this.oauth2GoogleURLShortener_ClearButtonClicked);
this.oauth2GoogleURLShortener.RefreshButtonClicked += new ShareX.UploadersLib.OAuthControl.RefreshButtonClickedEventHandler(this.oauth2GoogleURLShortener_RefreshButtonClicked);
//
// atcGoogleURLShortenerAccountType
//
resources.ApplyResources(this.atcGoogleURLShortenerAccountType, "atcGoogleURLShortenerAccountType");
this.atcGoogleURLShortenerAccountType.Name = "atcGoogleURLShortenerAccountType";
this.atcGoogleURLShortenerAccountType.SelectedAccountType = ShareX.UploadersLib.AccountType.Anonymous;
this.atcGoogleURLShortenerAccountType.AccountTypeChanged += new ShareX.UploadersLib.AccountTypeControl.AccountTypeChangedEventHandler(this.atcGoogleURLShortenerAccountType_AccountTypeChanged);
//
// tpYourls
//
this.tpYourls.Controls.Add(this.txtYourlsPassword);
@ -1565,6 +1603,7 @@ private void InitializeComponent()
this.tcFileUploaders.Controls.Add(this.tpStreamable);
this.tcFileUploaders.Controls.Add(this.tpEmail);
this.tcFileUploaders.Controls.Add(this.tpSharedFolder);
this.tcFileUploaders.Controls.Add(this.tpSul);
resources.ApplyResources(this.tcFileUploaders, "tcFileUploaders");
this.tcFileUploaders.Multiline = true;
this.tcFileUploaders.Name = "tcFileUploaders";
@ -1639,6 +1678,11 @@ private void InitializeComponent()
this.cboFtpText.Name = "cboFtpText";
this.cboFtpText.SelectedIndexChanged += new System.EventHandler(this.cboFtpText_SelectedIndexChanged);
//
// ucFTPAccounts
//
resources.ApplyResources(this.ucFTPAccounts, "ucFTPAccounts");
this.ucFTPAccounts.Name = "ucFTPAccounts";
//
// tpDropbox
//
this.tpDropbox.Controls.Add(this.oauth2Dropbox);
@ -1654,6 +1698,15 @@ private void InitializeComponent()
this.tpDropbox.Name = "tpDropbox";
this.tpDropbox.UseVisualStyleBackColor = true;
//
// oauth2Dropbox
//
this.oauth2Dropbox.IsRefreshable = false;
resources.ApplyResources(this.oauth2Dropbox, "oauth2Dropbox");
this.oauth2Dropbox.Name = "oauth2Dropbox";
this.oauth2Dropbox.OpenButtonClicked += new ShareX.UploadersLib.OAuthControl.OpenButtonClickedEventHandler(this.oauth2Dropbox_OpenButtonClicked);
this.oauth2Dropbox.CompleteButtonClicked += new ShareX.UploadersLib.OAuthControl.CompleteButtonClickedEventHandler(this.oauth2Dropbox_CompleteButtonClicked);
this.oauth2Dropbox.ClearButtonClicked += new ShareX.UploadersLib.OAuthControl.ClearButtonclickedEventHandler(this.oauth2Dropbox_ClearButtonClicked);
//
// cbDropboxURLType
//
this.cbDropboxURLType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
@ -1734,6 +1787,15 @@ private void InitializeComponent()
this.cbOneDriveCreateShareableLink.UseVisualStyleBackColor = true;
this.cbOneDriveCreateShareableLink.CheckedChanged += new System.EventHandler(this.cbOneDriveCreateShareableLink_CheckedChanged);
//
// oAuth2OneDrive
//
resources.ApplyResources(this.oAuth2OneDrive, "oAuth2OneDrive");
this.oAuth2OneDrive.Name = "oAuth2OneDrive";
this.oAuth2OneDrive.OpenButtonClicked += new ShareX.UploadersLib.OAuthControl.OpenButtonClickedEventHandler(this.oAuth2OneDrive_OpenButtonClicked);
this.oAuth2OneDrive.CompleteButtonClicked += new ShareX.UploadersLib.OAuthControl.CompleteButtonClickedEventHandler(this.oAuth2OneDrive_CompleteButtonClicked);
this.oAuth2OneDrive.ClearButtonClicked += new ShareX.UploadersLib.OAuthControl.ClearButtonclickedEventHandler(this.oAuth2OneDrive_ClearButtonClicked);
this.oAuth2OneDrive.RefreshButtonClicked += new ShareX.UploadersLib.OAuthControl.RefreshButtonClickedEventHandler(this.oAuth2OneDrive_RefreshButtonClicked);
//
// tpGoogleDrive
//
this.tpGoogleDrive.Controls.Add(this.cbGoogleDriveUseFolder);
@ -1801,6 +1863,15 @@ private void InitializeComponent()
this.cbGoogleDriveIsPublic.UseVisualStyleBackColor = true;
this.cbGoogleDriveIsPublic.CheckedChanged += new System.EventHandler(this.cbGoogleDriveIsPublic_CheckedChanged);
//
// oauth2GoogleDrive
//
resources.ApplyResources(this.oauth2GoogleDrive, "oauth2GoogleDrive");
this.oauth2GoogleDrive.Name = "oauth2GoogleDrive";
this.oauth2GoogleDrive.OpenButtonClicked += new ShareX.UploadersLib.OAuthControl.OpenButtonClickedEventHandler(this.oauth2GoogleDrive_OpenButtonClicked);
this.oauth2GoogleDrive.CompleteButtonClicked += new ShareX.UploadersLib.OAuthControl.CompleteButtonClickedEventHandler(this.oauth2GoogleDrive_CompleteButtonClicked);
this.oauth2GoogleDrive.ClearButtonClicked += new ShareX.UploadersLib.OAuthControl.ClearButtonclickedEventHandler(this.oauth2GoogleDrive_ClearButtonClicked);
this.oauth2GoogleDrive.RefreshButtonClicked += new ShareX.UploadersLib.OAuthControl.RefreshButtonClickedEventHandler(this.oauth2GoogleDrive_RefreshButtonClicked);
//
// tpBox
//
this.tpBox.Controls.Add(this.lblBoxFolderTip);
@ -1854,6 +1925,15 @@ private void InitializeComponent()
this.btnBoxRefreshFolders.UseVisualStyleBackColor = true;
this.btnBoxRefreshFolders.Click += new System.EventHandler(this.btnBoxRefreshFolders_Click);
//
// oauth2Box
//
resources.ApplyResources(this.oauth2Box, "oauth2Box");
this.oauth2Box.Name = "oauth2Box";
this.oauth2Box.OpenButtonClicked += new ShareX.UploadersLib.OAuthControl.OpenButtonClickedEventHandler(this.oauth2Box_OpenButtonClicked);
this.oauth2Box.CompleteButtonClicked += new ShareX.UploadersLib.OAuthControl.CompleteButtonClickedEventHandler(this.oauth2Box_CompleteButtonClicked);
this.oauth2Box.ClearButtonClicked += new ShareX.UploadersLib.OAuthControl.ClearButtonclickedEventHandler(this.oauth2Box_ClearButtonClicked);
this.oauth2Box.RefreshButtonClicked += new ShareX.UploadersLib.OAuthControl.RefreshButtonClickedEventHandler(this.oauth2Box_RefreshButtonClicked);
//
// tpCopy
//
this.tpCopy.Controls.Add(this.pbCopyLogo);
@ -1904,6 +1984,15 @@ private void InitializeComponent()
this.txtCopyPath.Name = "txtCopyPath";
this.txtCopyPath.TextChanged += new System.EventHandler(this.txtCopyPath_TextChanged);
//
// oAuthCopy
//
this.oAuthCopy.IsRefreshable = false;
resources.ApplyResources(this.oAuthCopy, "oAuthCopy");
this.oAuthCopy.Name = "oAuthCopy";
this.oAuthCopy.OpenButtonClicked += new ShareX.UploadersLib.OAuthControl.OpenButtonClickedEventHandler(this.oAuthCopy_OpenButtonClicked);
this.oAuthCopy.CompleteButtonClicked += new ShareX.UploadersLib.OAuthControl.CompleteButtonClickedEventHandler(this.oAuthCopy_CompleteButtonClicked);
this.oAuthCopy.ClearButtonClicked += new ShareX.UploadersLib.OAuthControl.ClearButtonclickedEventHandler(this.oAuthCopy_ClearButtonClicked);
//
// tpAmazonS3
//
this.tpAmazonS3.Controls.Add(this.txtAmazonS3CustomDomain);
@ -2329,6 +2418,13 @@ private void InitializeComponent()
this.txtSendSpaceUserName.Name = "txtSendSpaceUserName";
this.txtSendSpaceUserName.TextChanged += new System.EventHandler(this.txtSendSpaceUserName_TextChanged);
//
// atcSendSpaceAccountType
//
resources.ApplyResources(this.atcSendSpaceAccountType, "atcSendSpaceAccountType");
this.atcSendSpaceAccountType.Name = "atcSendSpaceAccountType";
this.atcSendSpaceAccountType.SelectedAccountType = ShareX.UploadersLib.AccountType.Anonymous;
this.atcSendSpaceAccountType.AccountTypeChanged += new ShareX.UploadersLib.AccountTypeControl.AccountTypeChangedEventHandler(this.atcSendSpaceAccountType_AccountTypeChanged);
//
// tpGe_tt
//
this.tpGe_tt.Controls.Add(this.lblGe_ttStatus);
@ -2584,6 +2680,15 @@ private void InitializeComponent()
resources.ApplyResources(this.lblJiraHost, "lblJiraHost");
this.lblJiraHost.Name = "lblJiraHost";
//
// oAuthJira
//
resources.ApplyResources(this.oAuthJira, "oAuthJira");
this.oAuthJira.Name = "oAuthJira";
this.oAuthJira.OpenButtonClicked += new ShareX.UploadersLib.OAuthControl.OpenButtonClickedEventHandler(this.oAuthJira_OpenButtonClicked);
this.oAuthJira.CompleteButtonClicked += new ShareX.UploadersLib.OAuthControl.CompleteButtonClickedEventHandler(this.oAuthJira_CompleteButtonClicked);
this.oAuthJira.ClearButtonClicked += new ShareX.UploadersLib.OAuthControl.ClearButtonclickedEventHandler(this.oAuthJira_ClearButtonClicked);
this.oAuthJira.RefreshButtonClicked += new ShareX.UploadersLib.OAuthControl.RefreshButtonClickedEventHandler(this.oAuthJira_RefreshButtonClicked);
//
// tpLambda
//
this.tpLambda.Controls.Add(this.lblLambdaInfo);
@ -3204,6 +3309,30 @@ private void InitializeComponent()
this.cboSharedFolderImages.Name = "cboSharedFolderImages";
this.cboSharedFolderImages.SelectedIndexChanged += new System.EventHandler(this.cboSharedFolderImages_SelectedIndexChanged);
//
// ucLocalhostAccounts
//
resources.ApplyResources(this.ucLocalhostAccounts, "ucLocalhostAccounts");
this.ucLocalhostAccounts.Name = "ucLocalhostAccounts";
//
// tpSul
//
this.tpSul.Controls.Add(this.txtSulAPIKey);
this.tpSul.Controls.Add(this.lblSulAPIKey);
resources.ApplyResources(this.tpSul, "tpSul");
this.tpSul.Name = "tpSul";
this.tpSul.UseVisualStyleBackColor = true;
//
// txtSulAPIKey
//
resources.ApplyResources(this.txtSulAPIKey, "txtSulAPIKey");
this.txtSulAPIKey.Name = "txtSulAPIKey";
this.txtSulAPIKey.TextChanged += new System.EventHandler(this.txtSulAPIKey_TextChanged);
//
// lblSulAPIKey
//
resources.ApplyResources(this.lblSulAPIKey, "lblSulAPIKey");
this.lblSulAPIKey.Name = "lblSulAPIKey";
//
// btnCopyShowFiles
//
resources.ApplyResources(this.btnCopyShowFiles, "btnCopyShowFiles");
@ -3377,6 +3506,22 @@ private void InitializeComponent()
this.chkGistPublishPublic.UseVisualStyleBackColor = true;
this.chkGistPublishPublic.CheckedChanged += new System.EventHandler(this.chkGistPublishPublic_CheckedChanged);
//
// oAuth2Gist
//
resources.ApplyResources(this.oAuth2Gist, "oAuth2Gist");
this.oAuth2Gist.IsRefreshable = false;
this.oAuth2Gist.Name = "oAuth2Gist";
this.oAuth2Gist.OpenButtonClicked += new ShareX.UploadersLib.OAuthControl.OpenButtonClickedEventHandler(this.oAuth2Gist_OpenButtonClicked);
this.oAuth2Gist.CompleteButtonClicked += new ShareX.UploadersLib.OAuthControl.CompleteButtonClickedEventHandler(this.oAuth2Gist_CompleteButtonClicked);
this.oAuth2Gist.ClearButtonClicked += new ShareX.UploadersLib.OAuthControl.ClearButtonclickedEventHandler(this.oAuth2Gist_ClearButtonClicked);
//
// atcGistAccountType
//
resources.ApplyResources(this.atcGistAccountType, "atcGistAccountType");
this.atcGistAccountType.Name = "atcGistAccountType";
this.atcGistAccountType.SelectedAccountType = ShareX.UploadersLib.AccountType.Anonymous;
this.atcGistAccountType.AccountTypeChanged += new ShareX.UploadersLib.AccountTypeControl.AccountTypeChangedEventHandler(this.atcGistAccountType_AccountTypeChanged);
//
// tpUpaste
//
this.tpUpaste.Controls.Add(this.cbUpasteIsPublic);
@ -3526,6 +3671,22 @@ private void InitializeComponent()
this.cbImgurDirectLink.UseVisualStyleBackColor = true;
this.cbImgurDirectLink.CheckedChanged += new System.EventHandler(this.cbImgurDirectLink_CheckedChanged);
//
// atcImgurAccountType
//
resources.ApplyResources(this.atcImgurAccountType, "atcImgurAccountType");
this.atcImgurAccountType.Name = "atcImgurAccountType";
this.atcImgurAccountType.SelectedAccountType = ShareX.UploadersLib.AccountType.Anonymous;
this.atcImgurAccountType.AccountTypeChanged += new ShareX.UploadersLib.AccountTypeControl.AccountTypeChangedEventHandler(this.atcImgurAccountType_AccountTypeChanged);
//
// oauth2Imgur
//
resources.ApplyResources(this.oauth2Imgur, "oauth2Imgur");
this.oauth2Imgur.Name = "oauth2Imgur";
this.oauth2Imgur.OpenButtonClicked += new ShareX.UploadersLib.OAuthControl.OpenButtonClickedEventHandler(this.oauth2Imgur_OpenButtonClicked);
this.oauth2Imgur.CompleteButtonClicked += new ShareX.UploadersLib.OAuthControl.CompleteButtonClickedEventHandler(this.oauth2Imgur_CompleteButtonClicked);
this.oauth2Imgur.ClearButtonClicked += new ShareX.UploadersLib.OAuthControl.ClearButtonclickedEventHandler(this.oauth2Imgur_ClearButtonClicked);
this.oauth2Imgur.RefreshButtonClicked += new ShareX.UploadersLib.OAuthControl.RefreshButtonClickedEventHandler(this.oauth2Imgur_RefreshButtonClicked);
//
// lvImgurAlbumList
//
this.lvImgurAlbumList.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
@ -3652,6 +3813,13 @@ private void InitializeComponent()
this.tpTinyPic.Name = "tpTinyPic";
this.tpTinyPic.UseVisualStyleBackColor = true;
//
// atcTinyPicAccountType
//
resources.ApplyResources(this.atcTinyPicAccountType, "atcTinyPicAccountType");
this.atcTinyPicAccountType.Name = "atcTinyPicAccountType";
this.atcTinyPicAccountType.SelectedAccountType = ShareX.UploadersLib.AccountType.Anonymous;
this.atcTinyPicAccountType.AccountTypeChanged += new ShareX.UploadersLib.AccountTypeControl.AccountTypeChangedEventHandler(this.atcTinyPicAccountType_AccountTypeChanged);
//
// btnTinyPicLogin
//
resources.ApplyResources(this.btnTinyPicLogin, "btnTinyPicLogin");
@ -3932,6 +4100,15 @@ private void InitializeComponent()
this.btnPicasaRefreshAlbumList.UseVisualStyleBackColor = true;
this.btnPicasaRefreshAlbumList.Click += new System.EventHandler(this.btnPicasaRefreshAlbumList_Click);
//
// oauth2Picasa
//
resources.ApplyResources(this.oauth2Picasa, "oauth2Picasa");
this.oauth2Picasa.Name = "oauth2Picasa";
this.oauth2Picasa.OpenButtonClicked += new ShareX.UploadersLib.OAuthControl.OpenButtonClickedEventHandler(this.oauth2Picasa_OpenButtonClicked);
this.oauth2Picasa.CompleteButtonClicked += new ShareX.UploadersLib.OAuthControl.CompleteButtonClickedEventHandler(this.oauth2Picasa_CompleteButtonClicked);
this.oauth2Picasa.ClearButtonClicked += new ShareX.UploadersLib.OAuthControl.ClearButtonclickedEventHandler(this.oauth2Picasa_ClearButtonClicked);
this.oauth2Picasa.RefreshButtonClicked += new ShareX.UploadersLib.OAuthControl.RefreshButtonClickedEventHandler(this.oauth2Picasa_RefreshButtonClicked);
//
// tpChevereto
//
this.tpChevereto.Controls.Add(this.cbCheveretoDirectURL);
@ -4003,165 +4180,17 @@ private void InitializeComponent()
this.ttlvMain.MainTabControl = null;
this.ttlvMain.Name = "ttlvMain";
//
// atcImgurAccountType
//
resources.ApplyResources(this.atcImgurAccountType, "atcImgurAccountType");
this.atcImgurAccountType.Name = "atcImgurAccountType";
this.atcImgurAccountType.SelectedAccountType = ShareX.UploadersLib.AccountType.Anonymous;
this.atcImgurAccountType.AccountTypeChanged += new ShareX.UploadersLib.AccountTypeControl.AccountTypeChangedEventHandler(this.atcImgurAccountType_AccountTypeChanged);
//
// oauth2Imgur
//
resources.ApplyResources(this.oauth2Imgur, "oauth2Imgur");
this.oauth2Imgur.Name = "oauth2Imgur";
this.oauth2Imgur.OpenButtonClicked += new ShareX.UploadersLib.OAuthControl.OpenButtonClickedEventHandler(this.oauth2Imgur_OpenButtonClicked);
this.oauth2Imgur.CompleteButtonClicked += new ShareX.UploadersLib.OAuthControl.CompleteButtonClickedEventHandler(this.oauth2Imgur_CompleteButtonClicked);
this.oauth2Imgur.ClearButtonClicked += new ShareX.UploadersLib.OAuthControl.ClearButtonclickedEventHandler(this.oauth2Imgur_ClearButtonClicked);
this.oauth2Imgur.RefreshButtonClicked += new ShareX.UploadersLib.OAuthControl.RefreshButtonClickedEventHandler(this.oauth2Imgur_RefreshButtonClicked);
//
// atcTinyPicAccountType
//
resources.ApplyResources(this.atcTinyPicAccountType, "atcTinyPicAccountType");
this.atcTinyPicAccountType.Name = "atcTinyPicAccountType";
this.atcTinyPicAccountType.SelectedAccountType = ShareX.UploadersLib.AccountType.Anonymous;
this.atcTinyPicAccountType.AccountTypeChanged += new ShareX.UploadersLib.AccountTypeControl.AccountTypeChangedEventHandler(this.atcTinyPicAccountType_AccountTypeChanged);
//
// oauth2Picasa
//
resources.ApplyResources(this.oauth2Picasa, "oauth2Picasa");
this.oauth2Picasa.Name = "oauth2Picasa";
this.oauth2Picasa.OpenButtonClicked += new ShareX.UploadersLib.OAuthControl.OpenButtonClickedEventHandler(this.oauth2Picasa_OpenButtonClicked);
this.oauth2Picasa.CompleteButtonClicked += new ShareX.UploadersLib.OAuthControl.CompleteButtonClickedEventHandler(this.oauth2Picasa_CompleteButtonClicked);
this.oauth2Picasa.ClearButtonClicked += new ShareX.UploadersLib.OAuthControl.ClearButtonclickedEventHandler(this.oauth2Picasa_ClearButtonClicked);
this.oauth2Picasa.RefreshButtonClicked += new ShareX.UploadersLib.OAuthControl.RefreshButtonClickedEventHandler(this.oauth2Picasa_RefreshButtonClicked);
//
// oAuth2Gist
//
resources.ApplyResources(this.oAuth2Gist, "oAuth2Gist");
this.oAuth2Gist.IsRefreshable = false;
this.oAuth2Gist.Name = "oAuth2Gist";
this.oAuth2Gist.OpenButtonClicked += new ShareX.UploadersLib.OAuthControl.OpenButtonClickedEventHandler(this.oAuth2Gist_OpenButtonClicked);
this.oAuth2Gist.CompleteButtonClicked += new ShareX.UploadersLib.OAuthControl.CompleteButtonClickedEventHandler(this.oAuth2Gist_CompleteButtonClicked);
this.oAuth2Gist.ClearButtonClicked += new ShareX.UploadersLib.OAuthControl.ClearButtonclickedEventHandler(this.oAuth2Gist_ClearButtonClicked);
//
// atcGistAccountType
//
resources.ApplyResources(this.atcGistAccountType, "atcGistAccountType");
this.atcGistAccountType.Name = "atcGistAccountType";
this.atcGistAccountType.SelectedAccountType = ShareX.UploadersLib.AccountType.Anonymous;
this.atcGistAccountType.AccountTypeChanged += new ShareX.UploadersLib.AccountTypeControl.AccountTypeChangedEventHandler(this.atcGistAccountType_AccountTypeChanged);
//
// ucFTPAccounts
//
resources.ApplyResources(this.ucFTPAccounts, "ucFTPAccounts");
this.ucFTPAccounts.Name = "ucFTPAccounts";
//
// oauth2Dropbox
//
this.oauth2Dropbox.IsRefreshable = false;
resources.ApplyResources(this.oauth2Dropbox, "oauth2Dropbox");
this.oauth2Dropbox.Name = "oauth2Dropbox";
this.oauth2Dropbox.OpenButtonClicked += new ShareX.UploadersLib.OAuthControl.OpenButtonClickedEventHandler(this.oauth2Dropbox_OpenButtonClicked);
this.oauth2Dropbox.CompleteButtonClicked += new ShareX.UploadersLib.OAuthControl.CompleteButtonClickedEventHandler(this.oauth2Dropbox_CompleteButtonClicked);
this.oauth2Dropbox.ClearButtonClicked += new ShareX.UploadersLib.OAuthControl.ClearButtonclickedEventHandler(this.oauth2Dropbox_ClearButtonClicked);
//
// oAuth2OneDrive
//
resources.ApplyResources(this.oAuth2OneDrive, "oAuth2OneDrive");
this.oAuth2OneDrive.Name = "oAuth2OneDrive";
this.oAuth2OneDrive.OpenButtonClicked += new ShareX.UploadersLib.OAuthControl.OpenButtonClickedEventHandler(this.oAuth2OneDrive_OpenButtonClicked);
this.oAuth2OneDrive.CompleteButtonClicked += new ShareX.UploadersLib.OAuthControl.CompleteButtonClickedEventHandler(this.oAuth2OneDrive_CompleteButtonClicked);
this.oAuth2OneDrive.ClearButtonClicked += new ShareX.UploadersLib.OAuthControl.ClearButtonclickedEventHandler(this.oAuth2OneDrive_ClearButtonClicked);
this.oAuth2OneDrive.RefreshButtonClicked += new ShareX.UploadersLib.OAuthControl.RefreshButtonClickedEventHandler(this.oAuth2OneDrive_RefreshButtonClicked);
//
// oauth2GoogleDrive
//
resources.ApplyResources(this.oauth2GoogleDrive, "oauth2GoogleDrive");
this.oauth2GoogleDrive.Name = "oauth2GoogleDrive";
this.oauth2GoogleDrive.OpenButtonClicked += new ShareX.UploadersLib.OAuthControl.OpenButtonClickedEventHandler(this.oauth2GoogleDrive_OpenButtonClicked);
this.oauth2GoogleDrive.CompleteButtonClicked += new ShareX.UploadersLib.OAuthControl.CompleteButtonClickedEventHandler(this.oauth2GoogleDrive_CompleteButtonClicked);
this.oauth2GoogleDrive.ClearButtonClicked += new ShareX.UploadersLib.OAuthControl.ClearButtonclickedEventHandler(this.oauth2GoogleDrive_ClearButtonClicked);
this.oauth2GoogleDrive.RefreshButtonClicked += new ShareX.UploadersLib.OAuthControl.RefreshButtonClickedEventHandler(this.oauth2GoogleDrive_RefreshButtonClicked);
//
// oauth2Box
//
resources.ApplyResources(this.oauth2Box, "oauth2Box");
this.oauth2Box.Name = "oauth2Box";
this.oauth2Box.OpenButtonClicked += new ShareX.UploadersLib.OAuthControl.OpenButtonClickedEventHandler(this.oauth2Box_OpenButtonClicked);
this.oauth2Box.CompleteButtonClicked += new ShareX.UploadersLib.OAuthControl.CompleteButtonClickedEventHandler(this.oauth2Box_CompleteButtonClicked);
this.oauth2Box.ClearButtonClicked += new ShareX.UploadersLib.OAuthControl.ClearButtonclickedEventHandler(this.oauth2Box_ClearButtonClicked);
this.oauth2Box.RefreshButtonClicked += new ShareX.UploadersLib.OAuthControl.RefreshButtonClickedEventHandler(this.oauth2Box_RefreshButtonClicked);
//
// oAuthCopy
//
this.oAuthCopy.IsRefreshable = false;
resources.ApplyResources(this.oAuthCopy, "oAuthCopy");
this.oAuthCopy.Name = "oAuthCopy";
this.oAuthCopy.OpenButtonClicked += new ShareX.UploadersLib.OAuthControl.OpenButtonClickedEventHandler(this.oAuthCopy_OpenButtonClicked);
this.oAuthCopy.CompleteButtonClicked += new ShareX.UploadersLib.OAuthControl.CompleteButtonClickedEventHandler(this.oAuthCopy_CompleteButtonClicked);
this.oAuthCopy.ClearButtonClicked += new ShareX.UploadersLib.OAuthControl.ClearButtonclickedEventHandler(this.oAuthCopy_ClearButtonClicked);
//
// atcSendSpaceAccountType
//
resources.ApplyResources(this.atcSendSpaceAccountType, "atcSendSpaceAccountType");
this.atcSendSpaceAccountType.Name = "atcSendSpaceAccountType";
this.atcSendSpaceAccountType.SelectedAccountType = ShareX.UploadersLib.AccountType.Anonymous;
this.atcSendSpaceAccountType.AccountTypeChanged += new ShareX.UploadersLib.AccountTypeControl.AccountTypeChangedEventHandler(this.atcSendSpaceAccountType_AccountTypeChanged);
//
// oAuthJira
//
resources.ApplyResources(this.oAuthJira, "oAuthJira");
this.oAuthJira.Name = "oAuthJira";
this.oAuthJira.OpenButtonClicked += new ShareX.UploadersLib.OAuthControl.OpenButtonClickedEventHandler(this.oAuthJira_OpenButtonClicked);
this.oAuthJira.CompleteButtonClicked += new ShareX.UploadersLib.OAuthControl.CompleteButtonClickedEventHandler(this.oAuthJira_CompleteButtonClicked);
this.oAuthJira.ClearButtonClicked += new ShareX.UploadersLib.OAuthControl.ClearButtonclickedEventHandler(this.oAuthJira_ClearButtonClicked);
this.oAuthJira.RefreshButtonClicked += new ShareX.UploadersLib.OAuthControl.RefreshButtonClickedEventHandler(this.oAuthJira_RefreshButtonClicked);
//
// oauthTwitter
//
resources.ApplyResources(this.oauthTwitter, "oauthTwitter");
this.oauthTwitter.IsRefreshable = false;
this.oauthTwitter.Name = "oauthTwitter";
this.oauthTwitter.OpenButtonClicked += new ShareX.UploadersLib.OAuthControl.OpenButtonClickedEventHandler(this.oauthTwitter_OpenButtonClicked);
this.oauthTwitter.CompleteButtonClicked += new ShareX.UploadersLib.OAuthControl.CompleteButtonClickedEventHandler(this.oauthTwitter_CompleteButtonClicked);
this.oauthTwitter.ClearButtonClicked += new ShareX.UploadersLib.OAuthControl.ClearButtonclickedEventHandler(this.oauthTwitter_ClearButtonClicked);
//
// oauth2Bitly
//
this.oauth2Bitly.IsRefreshable = false;
resources.ApplyResources(this.oauth2Bitly, "oauth2Bitly");
this.oauth2Bitly.Name = "oauth2Bitly";
this.oauth2Bitly.OpenButtonClicked += new ShareX.UploadersLib.OAuthControl.OpenButtonClickedEventHandler(this.oauth2Bitly_OpenButtonClicked);
this.oauth2Bitly.CompleteButtonClicked += new ShareX.UploadersLib.OAuthControl.CompleteButtonClickedEventHandler(this.oauth2Bitly_CompleteButtonClicked);
this.oauth2Bitly.ClearButtonClicked += new ShareX.UploadersLib.OAuthControl.ClearButtonclickedEventHandler(this.oauth2Bitly_ClearButtonClicked);
//
// oauth2GoogleURLShortener
//
resources.ApplyResources(this.oauth2GoogleURLShortener, "oauth2GoogleURLShortener");
this.oauth2GoogleURLShortener.Name = "oauth2GoogleURLShortener";
this.oauth2GoogleURLShortener.OpenButtonClicked += new ShareX.UploadersLib.OAuthControl.OpenButtonClickedEventHandler(this.oauth2GoogleURLShortener_OpenButtonClicked);
this.oauth2GoogleURLShortener.CompleteButtonClicked += new ShareX.UploadersLib.OAuthControl.CompleteButtonClickedEventHandler(this.oauth2GoogleURLShortener_CompleteButtonClicked);
this.oauth2GoogleURLShortener.ClearButtonClicked += new ShareX.UploadersLib.OAuthControl.ClearButtonclickedEventHandler(this.oauth2GoogleURLShortener_ClearButtonClicked);
this.oauth2GoogleURLShortener.RefreshButtonClicked += new ShareX.UploadersLib.OAuthControl.RefreshButtonClickedEventHandler(this.oauth2GoogleURLShortener_RefreshButtonClicked);
//
// atcGoogleURLShortenerAccountType
//
resources.ApplyResources(this.atcGoogleURLShortenerAccountType, "atcGoogleURLShortenerAccountType");
this.atcGoogleURLShortenerAccountType.Name = "atcGoogleURLShortenerAccountType";
this.atcGoogleURLShortenerAccountType.SelectedAccountType = ShareX.UploadersLib.AccountType.Anonymous;
this.atcGoogleURLShortenerAccountType.AccountTypeChanged += new ShareX.UploadersLib.AccountTypeControl.AccountTypeChangedEventHandler(this.atcGoogleURLShortenerAccountType_AccountTypeChanged);
//
// ucLocalhostAccounts
//
resources.ApplyResources(this.ucLocalhostAccounts, "ucLocalhostAccounts");
this.ucLocalhostAccounts.Name = "ucLocalhostAccounts";
//
// actRapidShareAccountType
//
resources.ApplyResources(this.actRapidShareAccountType, "actRapidShareAccountType");
this.actRapidShareAccountType.Name = "actRapidShareAccountType";
this.actRapidShareAccountType.SelectedAccountType = ShareX.UploadersLib.AccountType.Anonymous;
//
// txtSulAPIKey
//
resources.ApplyResources(this.txtSulAPIKey, "txtSulAPIKey");
this.txtSulAPIKey.Name = "txtSulAPIKey";
//
// UploadersConfigForm
//
resources.ApplyResources(this, "$this");
@ -4271,6 +4300,8 @@ private void InitializeComponent()
((System.ComponentModel.ISupportInitialize)(this.nudEmailSmtpPort)).EndInit();
this.tpSharedFolder.ResumeLayout(false);
this.tpSharedFolder.PerformLayout();
this.tpSul.ResumeLayout(false);
this.tpSul.PerformLayout();
this.tpTextUploaders.ResumeLayout(false);
this.tcTextUploaders.ResumeLayout(false);
this.tpPastebin.ResumeLayout(false);
@ -4802,5 +4833,8 @@ private void InitializeComponent()
private System.Windows.Forms.Label lblCustomUploaderXPath;
private System.Windows.Forms.TextBox txtCustomUploaderXPath;
private System.Windows.Forms.Button btnCustomUploaderRegexHelp;
private System.Windows.Forms.TabPage tpSul;
private System.Windows.Forms.Label lblSulAPIKey;
private System.Windows.Forms.TextBox txtSulAPIKey;
}
}

View file

@ -109,6 +109,7 @@ private void FormSettings()
AddIconToTab(tpPomf, Resources.Pomf);
AddIconToTab(tpPushbullet, Resources.Pushbullet);
AddIconToTab(tpSeafile, Resources.Seafile);
AddIconToTab(tpSul, Resources.Sul);
AddIconToTab(tpStreamable, Resources.Streamable);
AddIconToTab(tpSendSpace, Resources.SendSpace);
AddIconToTab(tpSharedFolder, Resources.server_network);
@ -2114,6 +2115,15 @@ private void txtPomfResultURL_TextChanged(object sender, EventArgs e)
#endregion Pomf
#region Sul
private void txtSulAPIKey_TextChanged(object sender, EventArgs e)
{
Config.SulAPIKey = txtSulAPIKey.Text;
}
#endregion Sul
#region Seafile
private void cbSeafileAPIURL_TextChanged(object sender, EventArgs e)

View file

@ -486,7 +486,7 @@ For example, if your bucket is called bucket.example.com then URL will be http:/
</data>
<data name="tpTwitter.Text" xml:space="preserve">
<value>Twitter</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpTwitter.Name" xml:space="preserve">
<value>tpTwitter</value>
</data>
@ -513,7 +513,7 @@ For example, if your bucket is called bucket.example.com then URL will be http:/
</data>
<data name="btnCustomUploaderRegexHelp.Text" xml:space="preserve">
<value>?</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;btnCustomUploaderRegexHelp.Name" xml:space="preserve">
<value>btnCustomUploaderRegexHelp</value>
</data>
@ -696,7 +696,7 @@ For example, if your bucket is called bucket.example.com then URL will be http:/
</data>
<data name="tpCustomUploaderRegexParse.Text" xml:space="preserve">
<value>Regex</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpCustomUploaderRegexParse.Name" xml:space="preserve">
<value>tpCustomUploaderRegexParse</value>
</data>
@ -753,7 +753,7 @@ For example, if your bucket is called bucket.example.com then URL will be http:/
</data>
<data name="btnCustomUploadJsonPathHelp.Text" xml:space="preserve">
<value>?</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;btnCustomUploadJsonPathHelp.Name" xml:space="preserve">
<value>btnCustomUploadJsonPathHelp</value>
</data>
@ -816,7 +816,7 @@ store.book[0].title</value>
</data>
<data name="lblCustomUploaderJsonPath.Text" xml:space="preserve">
<value>JsonPath:</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;lblCustomUploaderJsonPath.Name" xml:space="preserve">
<value>lblCustomUploaderJsonPath</value>
</data>
@ -864,7 +864,7 @@ store.book[0].title</value>
</data>
<data name="tpCustomUploaderJsonParse.Text" xml:space="preserve">
<value>JSON</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpCustomUploaderJsonParse.Name" xml:space="preserve">
<value>tpCustomUploaderJsonParse</value>
</data>
@ -921,7 +921,7 @@ store.book[0].title</value>
</data>
<data name="btnCustomUploaderXPathHelp.Text" xml:space="preserve">
<value>?</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;btnCustomUploaderXPathHelp.Name" xml:space="preserve">
<value>btnCustomUploaderXPathHelp</value>
</data>
@ -984,7 +984,7 @@ store.book[0].title</value>
</data>
<data name="lblCustomUploaderXPath.Text" xml:space="preserve">
<value>XPath:</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;lblCustomUploaderXPath.Name" xml:space="preserve">
<value>lblCustomUploaderXPath</value>
</data>
@ -1032,7 +1032,7 @@ store.book[0].title</value>
</data>
<data name="tpCustomUploaderXmlParse.Text" xml:space="preserve">
<value>XML</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpCustomUploaderXmlParse.Name" xml:space="preserve">
<value>tpCustomUploaderXmlParse</value>
</data>
@ -2308,6 +2308,9 @@ store.book[0].title</value>
<data name="txtCustomUploaderLog.TabIndex" type="System.Int32, mscorlib">
<value>30</value>
</data>
<data name="txtCustomUploaderLog.Text" xml:space="preserve">
<value />
</data>
<data name="&gt;&gt;txtCustomUploaderLog.Name" xml:space="preserve">
<value>txtCustomUploaderLog</value>
</data>
@ -2469,7 +2472,7 @@ store.book[0].title</value>
</data>
<data name="lblCustomUploaderURL.Text" xml:space="preserve">
<value>URL:</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;lblCustomUploaderURL.Name" xml:space="preserve">
<value>lblCustomUploaderURL</value>
</data>
@ -2646,7 +2649,7 @@ store.book[0].title</value>
</data>
<data name="tpBitly.Text" xml:space="preserve">
<value>bit.ly</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpBitly.Name" xml:space="preserve">
<value>tpBitly</value>
</data>
@ -2715,7 +2718,7 @@ store.book[0].title</value>
</data>
<data name="tpGoogleURLShortener.Text" xml:space="preserve">
<value>Google</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpGoogleURLShortener.Name" xml:space="preserve">
<value>tpGoogleURLShortener</value>
</data>
@ -2949,7 +2952,7 @@ store.book[0].title</value>
</data>
<data name="lblYourlsAPIURL.Text" xml:space="preserve">
<value>API URL:</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;lblYourlsAPIURL.Name" xml:space="preserve">
<value>lblYourlsAPIURL</value>
</data>
@ -2976,7 +2979,7 @@ store.book[0].title</value>
</data>
<data name="tpYourls.Text" xml:space="preserve">
<value>YOURLS</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpYourls.Name" xml:space="preserve">
<value>tpYourls</value>
</data>
@ -3057,7 +3060,7 @@ store.book[0].title</value>
</data>
<data name="lblAdflyAPIUID.Text" xml:space="preserve">
<value>API UID:</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;lblAdflyAPIUID.Name" xml:space="preserve">
<value>lblAdflyAPIUID</value>
</data>
@ -3135,7 +3138,7 @@ store.book[0].title</value>
</data>
<data name="tpAdFly.Text" xml:space="preserve">
<value>adf.ly</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpAdFly.Name" xml:space="preserve">
<value>tpAdFly</value>
</data>
@ -3186,7 +3189,7 @@ store.book[0].title</value>
</data>
<data name="lblCoinURLUUID.Text" xml:space="preserve">
<value>UUID:</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;lblCoinURLUUID.Name" xml:space="preserve">
<value>lblCoinURLUUID</value>
</data>
@ -3210,7 +3213,7 @@ store.book[0].title</value>
</data>
<data name="tpCoinURL.Text" xml:space="preserve">
<value>CoinURL</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpCoinURL.Name" xml:space="preserve">
<value>tpCoinURL</value>
</data>
@ -3336,7 +3339,7 @@ store.book[0].title</value>
</data>
<data name="tpPolr.Text" xml:space="preserve">
<value>Polr</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpPolr.Name" xml:space="preserve">
<value>tpPolr</value>
</data>
@ -3642,7 +3645,7 @@ store.book[0].title</value>
</data>
<data name="tpFTP.Text" xml:space="preserve">
<value>FTP</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpFTP.Name" xml:space="preserve">
<value>tpFTP</value>
</data>
@ -4025,7 +4028,7 @@ store.book[0].title</value>
</data>
<data name="tpDropbox.Text" xml:space="preserve">
<value>Dropbox</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpDropbox.Name" xml:space="preserve">
<value>tpDropbox</value>
</data>
@ -4157,7 +4160,7 @@ store.book[0].title</value>
</data>
<data name="tpOneDrive.Text" xml:space="preserve">
<value>OneDrive</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpOneDrive.Name" xml:space="preserve">
<value>tpOneDrive</value>
</data>
@ -4379,7 +4382,7 @@ store.book[0].title</value>
</data>
<data name="tpGoogleDrive.Text" xml:space="preserve">
<value>Google Drive</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpGoogleDrive.Name" xml:space="preserve">
<value>tpGoogleDrive</value>
</data>
@ -4574,7 +4577,7 @@ store.book[0].title</value>
</data>
<data name="tpBox.Text" xml:space="preserve">
<value>Box</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpBox.Name" xml:space="preserve">
<value>tpBox</value>
</data>
@ -4868,7 +4871,7 @@ store.book[0].title</value>
</data>
<data name="tpCopy.Text" xml:space="preserve">
<value>Copy</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpCopy.Name" xml:space="preserve">
<value>tpCopy</value>
</data>
@ -4976,7 +4979,7 @@ store.book[0].title</value>
</data>
<data name="btnAmazonS3BucketNameOpen.Text" xml:space="preserve">
<value>...</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;btnAmazonS3BucketNameOpen.Name" xml:space="preserve">
<value>btnAmazonS3BucketNameOpen</value>
</data>
@ -5003,7 +5006,7 @@ store.book[0].title</value>
</data>
<data name="btnAmazonS3AccessKeyOpen.Text" xml:space="preserve">
<value>...</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;btnAmazonS3AccessKeyOpen.Name" xml:space="preserve">
<value>btnAmazonS3AccessKeyOpen</value>
</data>
@ -5285,7 +5288,7 @@ store.book[0].title</value>
</data>
<data name="tpAmazonS3.Text" xml:space="preserve">
<value>Amazon S3</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpAmazonS3.Name" xml:space="preserve">
<value>tpAmazonS3</value>
</data>
@ -5603,7 +5606,7 @@ store.book[0].title</value>
</data>
<data name="tpMega.Text" xml:space="preserve">
<value>Mega</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpMega.Name" xml:space="preserve">
<value>tpMega</value>
</data>
@ -5954,7 +5957,7 @@ store.book[0].title</value>
</data>
<data name="tpOwnCloud.Text" xml:space="preserve">
<value>ownCloud</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpOwnCloud.Name" xml:space="preserve">
<value>tpOwnCloud</value>
</data>
@ -6167,7 +6170,7 @@ store.book[0].title</value>
</data>
<data name="tpMediaFire.Text" xml:space="preserve">
<value>MediaFire</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpMediaFire.Name" xml:space="preserve">
<value>tpMediaFire</value>
</data>
@ -6329,7 +6332,7 @@ store.book[0].title</value>
</data>
<data name="tpPushbullet.Text" xml:space="preserve">
<value>Pushbullet</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpPushbullet.Name" xml:space="preserve">
<value>tpPushbullet</value>
</data>
@ -6506,7 +6509,7 @@ store.book[0].title</value>
</data>
<data name="tpSendSpace.Text" xml:space="preserve">
<value>SendSpace</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpSendSpace.Name" xml:space="preserve">
<value>tpSendSpace</value>
</data>
@ -6692,7 +6695,7 @@ store.book[0].title</value>
</data>
<data name="tpGe_tt.Text" xml:space="preserve">
<value>Ge.tt</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpGe_tt.Name" xml:space="preserve">
<value>tpGe_tt</value>
</data>
@ -6851,7 +6854,7 @@ store.book[0].title</value>
</data>
<data name="tpHostr.Text" xml:space="preserve">
<value>Hostr</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpHostr.Name" xml:space="preserve">
<value>tpHostr</value>
</data>
@ -7301,7 +7304,7 @@ store.book[0].title</value>
</data>
<data name="tpMinus.Text" xml:space="preserve">
<value>Minus</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpMinus.Name" xml:space="preserve">
<value>tpMinus</value>
</data>
@ -7325,7 +7328,7 @@ store.book[0].title</value>
</data>
<data name="txtJiraIssuePrefix.Text" xml:space="preserve">
<value>PROJECT-</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;txtJiraIssuePrefix.Name" xml:space="preserve">
<value>txtJiraIssuePrefix</value>
</data>
@ -7409,7 +7412,7 @@ store.book[0].title</value>
</data>
<data name="txtJiraHost.Text" xml:space="preserve">
<value>http://</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;txtJiraHost.Name" xml:space="preserve">
<value>txtJiraHost</value>
</data>
@ -7508,7 +7511,7 @@ store.book[0].title</value>
</data>
<data name="tpJira.Text" xml:space="preserve">
<value>Atlassian Jira</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpJira.Name" xml:space="preserve">
<value>tpJira</value>
</data>
@ -7667,7 +7670,7 @@ store.book[0].title</value>
</data>
<data name="tpLambda.Text" xml:space="preserve">
<value>Lambda</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpLambda.Name" xml:space="preserve">
<value>tpLambda</value>
</data>
@ -7874,7 +7877,7 @@ store.book[0].title</value>
</data>
<data name="tpPomf.Text" xml:space="preserve">
<value>Pomf</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpPomf.Name" xml:space="preserve">
<value>tpPomf</value>
</data>
@ -8015,7 +8018,7 @@ store.book[0].title</value>
</data>
<data name="tpUp1.Text" xml:space="preserve">
<value>Up1</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpUp1.Name" xml:space="preserve">
<value>tpUp1</value>
</data>
@ -8030,10 +8033,10 @@ store.book[0].title</value>
</data>
<data name="cbSeafileAPIURL.Items" xml:space="preserve">
<value>https://seacloud.cc/api2/</value>
<comment>@Invariant</comment></data>
</data>
<data name="cbSeafileAPIURL.Items1" xml:space="preserve">
<value>https://cloud.mein-seafile.de/api2/</value>
<comment>@Invariant</comment></data>
</data>
<data name="cbSeafileAPIURL.Location" type="System.Drawing.Point, System.Drawing">
<value>16, 32</value>
</data>
@ -8949,7 +8952,7 @@ Using an encrypted library disables sharing.</value>
</data>
<data name="lblSeafileAPIURL.Text" xml:space="preserve">
<value>API URL:</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;lblSeafileAPIURL.Name" xml:space="preserve">
<value>lblSeafileAPIURL</value>
</data>
@ -8976,7 +8979,7 @@ Using an encrypted library disables sharing.</value>
</data>
<data name="tpSeafile.Text" xml:space="preserve">
<value>Seafile</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpSeafile.Name" xml:space="preserve">
<value>tpSeafile</value>
</data>
@ -9147,7 +9150,7 @@ Using an encrypted library disables sharing.</value>
</data>
<data name="tpStreamable.Text" xml:space="preserve">
<value>Streamable</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpStreamable.Name" xml:space="preserve">
<value>tpStreamable</value>
</data>
@ -9766,6 +9769,81 @@ Using an encrypted library disables sharing.</value>
<data name="&gt;&gt;tpSharedFolder.ZOrder" xml:space="preserve">
<value>22</value>
</data>
<data name="txtSulAPIKey.Location" type="System.Drawing.Point, System.Drawing">
<value>20, 34</value>
</data>
<data name="txtSulAPIKey.Size" type="System.Drawing.Size, System.Drawing">
<value>409, 20</value>
</data>
<data name="txtSulAPIKey.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="&gt;&gt;txtSulAPIKey.Name" xml:space="preserve">
<value>txtSulAPIKey</value>
</data>
<data name="&gt;&gt;txtSulAPIKey.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;txtSulAPIKey.Parent" xml:space="preserve">
<value>tpSul</value>
</data>
<data name="&gt;&gt;txtSulAPIKey.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="lblSulAPIKey.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="lblSulAPIKey.Location" type="System.Drawing.Point, System.Drawing">
<value>17, 18</value>
</data>
<data name="lblSulAPIKey.Size" type="System.Drawing.Size, System.Drawing">
<value>47, 13</value>
</data>
<data name="lblSulAPIKey.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="lblSulAPIKey.Text" xml:space="preserve">
<value>API key:</value>
</data>
<data name="&gt;&gt;lblSulAPIKey.Name" xml:space="preserve">
<value>lblSulAPIKey</value>
</data>
<data name="&gt;&gt;lblSulAPIKey.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;lblSulAPIKey.Parent" xml:space="preserve">
<value>tpSul</value>
</data>
<data name="&gt;&gt;lblSulAPIKey.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="tpSul.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 40</value>
</data>
<data name="tpSul.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="tpSul.Size" type="System.Drawing.Size, System.Drawing">
<value>972, 475</value>
</data>
<data name="tpSul.TabIndex" type="System.Int32, mscorlib">
<value>25</value>
</data>
<data name="tpSul.Text" xml:space="preserve">
<value>s-ul</value>
</data>
<data name="&gt;&gt;tpSul.Name" xml:space="preserve">
<value>tpSul</value>
</data>
<data name="&gt;&gt;tpSul.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;tpSul.Parent" xml:space="preserve">
<value>tcFileUploaders</value>
</data>
<data name="&gt;&gt;tpSul.ZOrder" xml:space="preserve">
<value>23</value>
</data>
<data name="tcFileUploaders.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
@ -10239,7 +10317,7 @@ Using an encrypted library disables sharing.</value>
</data>
<data name="tpPastebin.Text" xml:space="preserve">
<value>Pastebin</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpPastebin.Name" xml:space="preserve">
<value>tpPastebin</value>
</data>
@ -10317,7 +10395,7 @@ Using an encrypted library disables sharing.</value>
</data>
<data name="tpPaste_ee.Text" xml:space="preserve">
<value>Paste.ee</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpPaste_ee.Name" xml:space="preserve">
<value>tpPaste_ee</value>
</data>
@ -10416,7 +10494,7 @@ Using an encrypted library disables sharing.</value>
</data>
<data name="tpGist.Text" xml:space="preserve">
<value>Gist</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpGist.Name" xml:space="preserve">
<value>tpGist</value>
</data>
@ -10524,7 +10602,7 @@ Using an encrypted library disables sharing.</value>
</data>
<data name="tpUpaste.Text" xml:space="preserve">
<value>uPaste</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpUpaste.Name" xml:space="preserve">
<value>tpUpaste</value>
</data>
@ -10653,7 +10731,7 @@ Using an encrypted library disables sharing.</value>
</data>
<data name="tpHastebin.Text" xml:space="preserve">
<value>Hastebin</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpHastebin.Name" xml:space="preserve">
<value>tpHastebin</value>
</data>
@ -10782,7 +10860,7 @@ Using an encrypted library disables sharing.</value>
</data>
<data name="tpOneTimeSecret.Text" xml:space="preserve">
<value>OneTimeSecret</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpOneTimeSecret.Name" xml:space="preserve">
<value>tpOneTimeSecret</value>
</data>
@ -10980,7 +11058,7 @@ Using an encrypted library disables sharing.</value>
</data>
<data name="chImgurID.Text" xml:space="preserve">
<value>ID</value>
<comment>@Invariant</comment></data>
</data>
<data name="chImgurTitle.Text" xml:space="preserve">
<value>Title</value>
</data>
@ -11109,7 +11187,7 @@ Using an encrypted library disables sharing.</value>
</data>
<data name="tpImgur.Text" xml:space="preserve">
<value>Imgur</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpImgur.Name" xml:space="preserve">
<value>tpImgur</value>
</data>
@ -11349,7 +11427,7 @@ Using an encrypted library disables sharing.</value>
</data>
<data name="tpImageShack.Text" xml:space="preserve">
<value>ImageShack</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpImageShack.Name" xml:space="preserve">
<value>tpImageShack</value>
</data>
@ -11553,7 +11631,7 @@ Using an encrypted library disables sharing.</value>
</data>
<data name="tpTinyPic.Text" xml:space="preserve">
<value>TinyPic</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpTinyPic.Name" xml:space="preserve">
<value>tpTinyPic</value>
</data>
@ -11733,7 +11811,7 @@ Using an encrypted library disables sharing.</value>
</data>
<data name="tpFlickr.Text" xml:space="preserve">
<value>Flickr</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpFlickr.Name" xml:space="preserve">
<value>tpFlickr</value>
</data>
@ -12225,7 +12303,7 @@ Using an encrypted library disables sharing.</value>
</data>
<data name="tpPhotobucket.Text" xml:space="preserve">
<value>Photobucket</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpPhotobucket.Name" xml:space="preserve">
<value>tpPhotobucket</value>
</data>
@ -12291,7 +12369,7 @@ Using an encrypted library disables sharing.</value>
</data>
<data name="chPicasaID.Text" xml:space="preserve">
<value>ID</value>
<comment>@Invariant</comment></data>
</data>
<data name="chPicasaID.Width" type="System.Int32, mscorlib">
<value>135</value>
</data>
@ -12393,7 +12471,7 @@ Using an encrypted library disables sharing.</value>
</data>
<data name="tpPicasa.Text" xml:space="preserve">
<value>Picasa</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpPicasa.Name" xml:space="preserve">
<value>tpPicasa</value>
</data>
@ -12453,7 +12531,7 @@ Using an encrypted library disables sharing.</value>
</data>
<data name="lblCheveretoWebsiteTip.Text" xml:space="preserve">
<value>/api/1/upload</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;lblCheveretoWebsiteTip.Name" xml:space="preserve">
<value>lblCheveretoWebsiteTip</value>
</data>
@ -12582,7 +12660,7 @@ Using an encrypted library disables sharing.</value>
</data>
<data name="tpChevereto.Text" xml:space="preserve">
<value>Chevereto</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;tpChevereto.Name" xml:space="preserve">
<value>tpChevereto</value>
</data>

View file

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

View file

@ -370,6 +370,9 @@ Created folders:</value>
</data>
<data name="Seafile" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Favicons\Seafile.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Sul" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Favicons\Sul.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="UploadersConfigForm_MinusUpdateControls_Not_logged_in_" xml:space="preserve">
<value>Not logged in.</value>

View file

@ -123,6 +123,7 @@
<Compile Include="FileUploaders\AmazonS3Region.cs" />
<Compile Include="FileUploaders\AmazonS3Settings.cs" />
<Compile Include="FileUploaders\Box.cs" />
<Compile Include="FileUploaders\Sul.cs" />
<Compile Include="FileUploaders\Dropfile.cs" />
<Compile Include="FileUploaders\Lambda.cs" />
<Compile Include="FileUploaders\Copy.cs" />
@ -886,6 +887,9 @@
<ItemGroup>
<Analyzer Include="..\packages\AWSSDK.S3.3.1.3.9\analyzers\dotnet\cs\AWSSDK.S3.CodeAnalysis.dll" />
</ItemGroup>
<ItemGroup>
<Content Include="Favicons\Sul.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
<PropertyGroup>

View file

@ -254,6 +254,10 @@ public class UploadersConfig : SettingsBase<UploadersConfig>
public PomfUploader PomfUploader = new PomfUploader("https://pomf.cat/upload.php", "http://a.pomf.cat");
// s-ul
public string SulAPIKey = string.Empty;
// Seafile
public string SeafileAPIURL = "";
@ -444,6 +448,8 @@ public bool IsValid(FileDestination destination)
return LambdaSettings != null && !string.IsNullOrEmpty(LambdaSettings.UserAPIKey);
case FileDestination.Pomf:
return PomfUploader != null && !string.IsNullOrEmpty(PomfUploader.UploadURL);
case FileDestination.Sul:
return !string.IsNullOrEmpty(SulAPIKey);
case FileDestination.Seafile:
return !string.IsNullOrEmpty(SeafileAPIURL) && !string.IsNullOrEmpty(SeafileAuthToken) && !string.IsNullOrEmpty(SeafileRepoID);
case FileDestination.SharedFolder:

View file

@ -1105,6 +1105,9 @@ public UploadResult UploadFile(Stream stream, string fileName)
case FileDestination.Up1:
fileUploader = new Up1(Program.UploadersConfig.Up1Host, Program.UploadersConfig.Up1Key);
break;
case FileDestination.Sul:
fileUploader = new SulUploader(Program.UploadersConfig.SulAPIKey);
break;
case FileDestination.Seafile:
fileUploader = new Seafile(Program.UploadersConfig.SeafileAPIURL, Program.UploadersConfig.SeafileAuthToken, Program.UploadersConfig.SeafileRepoID)
{