added Seafile class, added to designer, etc. only thing nonfunctional is sharing URLs

This commit is contained in:
unknown 2015-10-12 21:24:49 -04:00
parent 2d38aa6d6e
commit d17c3c0478
11 changed files with 3157 additions and 706 deletions

View file

@ -129,6 +129,8 @@ public enum FileDestination
Dropfile,
[Description("Up1")]
Up1,
[Description("Seafile")]
Seafile,
SharedFolder, // Localized
Email, // Localized
CustomFileUploader // Localized

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

View file

@ -0,0 +1,545 @@
#region License Information (GPL v3)
/*
ShareX - A program that allows you to take screenshots and share any file type
Copyright (c) 2007-2015 ShareX Team
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)
// Credits: https://github.com/zikeji
using Newtonsoft.Json;
using ShareX.HelpersLib;
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
namespace ShareX.UploadersLib.FileUploaders
{
public sealed class Seafile : FileUploader
{
public string APIURL { get; set; }
public string AuthToken { get; set; }
public string RepoID { get; set; }
public string Path { get; set; }
public bool IsLibraryEncrypted { get; set; }
public string EncryptedLibraryPassword { get; set; }
public bool CreateShareableURL { get; set; }
public bool IgnoreInvalidCert { get; set; }
public Seafile(string apiurl, string authtoken, string repoid)
{
APIURL = apiurl;
AuthToken = authtoken;
RepoID = repoid;
}
#region SeafileAuth
public string GetAuthToken(string username, string password)
{
string url = URLHelpers.FixPrefix(APIURL);
url = URLHelpers.CombineURL(APIURL, "auth-token/?format=json");
Dictionary<string, string> args = new Dictionary<string, string>
{
{ "username", username },
{ "password", password }
};
string response = SendRequest(HttpMethod.POST, url, args);
if (!string.IsNullOrEmpty(response))
{
SeafileAuthResponse AuthResult = JsonConvert.DeserializeObject<SeafileAuthResponse>(response);
return AuthResult.token;
}
return string.Empty;
}
public class SeafileAuthResponse
{
public string token { get; set; }
}
#endregion SeafileAuth
#region SeafileChecks
public bool CheckAPIURL()
{
string url = URLHelpers.FixPrefix(APIURL);
url = URLHelpers.CombineURL(APIURL, "ping/?format=json");
SSLBypassHelper sslBypassHelper = null;
try
{
if (IgnoreInvalidCert)
{
sslBypassHelper = new SSLBypassHelper();
}
string response = SendRequest(HttpMethod.GET, url);
if (!string.IsNullOrEmpty(response))
{
if (response == "\"pong\"")
{
return true;
}
}
return false;
}
finally
{
if (sslBypassHelper != null)
{
sslBypassHelper.Dispose();
}
}
}
public bool CheckAuthToken()
{
string url = URLHelpers.FixPrefix(APIURL);
url = URLHelpers.CombineURL(APIURL, "auth/ping/?format=json");
NameValueCollection headers = new NameValueCollection();
headers.Add("Authorization", "Token " + AuthToken);
SSLBypassHelper sslBypassHelper = null;
try
{
if (IgnoreInvalidCert)
{
sslBypassHelper = new SSLBypassHelper();
}
string response = SendRequest(HttpMethod.GET, url, null, headers);
if (!string.IsNullOrEmpty(response))
{
if (response == "\"pong\"")
{
return true;
}
}
return false;
}
finally
{
if (sslBypassHelper != null)
{
sslBypassHelper.Dispose();
}
}
}
#endregion
#region SeafileAccountInformation
public SeafileCheckAccInfoResponse GetAccountInfo()
{
string url = URLHelpers.FixPrefix(APIURL);
url = URLHelpers.CombineURL(APIURL, "account/info/?format=json");
NameValueCollection headers = new NameValueCollection();
headers.Add("Authorization", "Token " + AuthToken);
SSLBypassHelper sslBypassHelper = null;
try
{
if (IgnoreInvalidCert)
{
sslBypassHelper = new SSLBypassHelper();
}
string response = SendRequest(HttpMethod.GET, url, null, headers);
if (!string.IsNullOrEmpty(response))
{
SeafileCheckAccInfoResponse AccInfoResponse = JsonConvert.DeserializeObject<SeafileCheckAccInfoResponse>(response);
return AccInfoResponse;
}
return null;
}
finally
{
if (sslBypassHelper != null)
{
sslBypassHelper.Dispose();
}
}
}
public class SeafileCheckAccInfoResponse
{
public long usage { get; set; }
public long total { get; set; }
public string email { get; set; }
}
#endregion
#region SeafileLibraries
public string GetOrMakeDefaultLibrary(string authtoken = null)
{
string url = URLHelpers.FixPrefix(APIURL);
url = URLHelpers.CombineURL(APIURL, "default-repo/?format=json");
NameValueCollection headers = new NameValueCollection();
headers.Add("Authorization", "Token " + (authtoken==null?AuthToken: authtoken));
SSLBypassHelper sslBypassHelper = null;
try
{
if (IgnoreInvalidCert)
{
sslBypassHelper = new SSLBypassHelper();
}
string response = SendRequest(HttpMethod.GET, url, null, headers);
if (!string.IsNullOrEmpty(response))
{
SeafileDefaultLibraryObj JsonResponse = JsonConvert.DeserializeObject<SeafileDefaultLibraryObj>(response);
return JsonResponse.repo_id;
}
return null;
}
finally
{
if (sslBypassHelper != null)
{
sslBypassHelper.Dispose();
}
}
}
public class SeafileDefaultLibraryObj
{
public string repo_id { get; set; }
public bool exists { get; set; }
}
public List<SeafileLibraryObj> GetLibraries()
{
string url = URLHelpers.FixPrefix(APIURL);
url = URLHelpers.CombineURL(APIURL, "repos/?format=json");
NameValueCollection headers = new NameValueCollection();
headers.Add("Authorization", "Token " + AuthToken);
SSLBypassHelper sslBypassHelper = null;
try
{
if (IgnoreInvalidCert)
{
sslBypassHelper = new SSLBypassHelper();
}
string response = SendRequest(HttpMethod.GET, url, null, headers);
if (!string.IsNullOrEmpty(response))
{
List<SeafileLibraryObj> JsonResponse = JsonConvert.DeserializeObject<List<SeafileLibraryObj>>(response);
return JsonResponse;
}
return null;
}
finally
{
if (sslBypassHelper != null)
{
sslBypassHelper.Dispose();
}
}
}
public bool ValidatePath(string path)
{
string url = URLHelpers.FixPrefix(APIURL);
url = URLHelpers.CombineURL(APIURL, "repos/" + RepoID + "/dir/?p=" + path + "&format=json");
NameValueCollection headers = new NameValueCollection();
headers.Add("Authorization", "Token " + AuthToken);
SSLBypassHelper sslBypassHelper = null;
try
{
if (IgnoreInvalidCert)
{
sslBypassHelper = new SSLBypassHelper();
}
string response = SendRequest(HttpMethod.GET, url, null, headers);
if (!string.IsNullOrEmpty(response))
{
//List<SeafileLibraryObj> JsonResponse = JsonConvert.DeserializeObject<List<SeafileLibraryObj>>(response);
DebugHelper.WriteLine(response);
return true;
}
return false;
}
finally
{
if (sslBypassHelper != null)
{
sslBypassHelper.Dispose();
}
}
}
public class SeafileLibraryObj
{
public string permission { get; set; }
public bool encrypted { get; set; }
public long mtime { get; set; }
public string owner { get; set; }
public string id { get; set; }
public long size { get; set; }
public string name { get; set; }
public string type { get; set; }
[JsonProperty("virtual")]
public string _virtual { get; set; }
public string desc { get; set; }
public string root { get; set; }
}
#endregion
#region SeafileEncryptedLibrary
public bool DecryptLibrary(string libraryPassword)
{
string url = URLHelpers.FixPrefix(APIURL);
url = URLHelpers.CombineURL(APIURL, "repos/" + RepoID + "/?format=json");
NameValueCollection headers = new NameValueCollection();
headers.Add("Authorization", "Token " + AuthToken);
Dictionary<string, string> args = new Dictionary<string, string>();
args.Add("password", libraryPassword);
SSLBypassHelper sslBypassHelper = null;
try
{
if (IgnoreInvalidCert)
{
sslBypassHelper = new SSLBypassHelper();
}
string response = SendRequest(HttpMethod.POST, url, args, headers);
if (!string.IsNullOrEmpty(response))
{
if (response=="\"success\"")
{
return true;
}
else
{
return false;
}
}
return false;
}
finally
{
if (sslBypassHelper != null)
{
sslBypassHelper.Dispose();
}
}
}
#endregion
#region SeafileUpload
public override UploadResult Upload(Stream stream, string fileName)
{
if (string.IsNullOrEmpty(APIURL))
{
throw new Exception("Seafile API URL is empty.");
}
if (string.IsNullOrEmpty(AuthToken))
{
throw new Exception("Seafile Authentication Token is empty.");
}
if (string.IsNullOrEmpty(Path))
{
Path = "/";
}
else
{
char pathLast = Path[Path.Length - 1];
if (pathLast!='/')
{
Path += "/";
}
}
string url = URLHelpers.FixPrefix(APIURL);
url = URLHelpers.CombineURL(APIURL, "repos/" + RepoID + "/upload-link/?format=json");
NameValueCollection headers = new NameValueCollection();
headers.Add("Authorization", "Token " + AuthToken);
SSLBypassHelper sslBypassHelper = null;
try
{
if (IgnoreInvalidCert)
{
sslBypassHelper = new SSLBypassHelper();
}
string response = SendRequest(HttpMethod.GET, url, null, headers);
string responseURL = response.Trim('"');
Dictionary<string, string> args = new Dictionary<string, string>();
args.Add("filename", fileName);
args.Add("parent_dir", Path);
UploadResult result = UploadData(stream, responseURL, fileName, "file", args, headers);
if (!IsError)
{
if (CreateShareableURL)
{
AllowReportProgress = false;
result.URL = ShareFile(Path+fileName, result.Response.Trim('"'));
}
else
{
result.IsURLExpected = false;
}
}
return result;
}
finally
{
if (sslBypassHelper != null)
{
sslBypassHelper.Dispose();
}
}
}
public string ShareFile(string path, string id = null)
{
string url = URLHelpers.FixPrefix(APIURL);
url = URLHelpers.CombineURL(APIURL, "repos/" + RepoID + "/file/shared-link/");
Dictionary<string, string> args = new Dictionary<string, string>();
if (IsLibraryEncrypted) args.Add("password", EncryptedLibraryPassword);
args.Add("p", path);
args.Add("format", "json");
args.Add("expire", "7");
NameValueCollection headers = new NameValueCollection();
headers.Add("Authorization", "Token " + AuthToken);
SSLBypassHelper sslBypassHelper = null;
try
{
if (IgnoreInvalidCert)
{
sslBypassHelper = new SSLBypassHelper();
}
//had to do this to get the ContentLength header to use for the PUT request
HttpWebResponse response = null;
url = url + "?" + string.Join("&", args.Select(x => x.Key + "=" + x.Value).ToArray());
DebugHelper.WriteLine(url);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.ContentLength = 0;
request.Method = "PUT";
request.Headers.Add(headers);
IWebProxy proxy = HelpersOptions.CurrentProxy.GetWebProxy();
if (proxy != null) request.Proxy = proxy;
request.UserAgent = "ShareX";
response = (HttpWebResponse)request.GetResponse();
string textResponse;
using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
{
textResponse = reader.ReadToEnd();
}
DebugHelper.WriteLine(textResponse);
response.Close();
//string response = SendRequest(HttpMethod.PUT, url, args, headers);
if (!string.IsNullOrEmpty(textResponse))
{
DebugHelper.WriteLine(textResponse);
return null;
}
return null;
}
finally
{
if (sslBypassHelper != null)
{
sslBypassHelper.Dispose();
}
}
}
#endregion SeafileUpload
}
}

View file

@ -42,7 +42,6 @@ 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();
@ -110,10 +109,7 @@ 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();
@ -149,9 +145,7 @@ 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();
@ -164,7 +158,6 @@ 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();
@ -174,7 +167,6 @@ 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();
@ -182,7 +174,6 @@ 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();
@ -190,7 +181,6 @@ 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();
@ -252,7 +242,6 @@ 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();
@ -290,7 +279,6 @@ 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();
@ -307,6 +295,37 @@ private void InitializeComponent()
this.txtUp1Host = new System.Windows.Forms.TextBox();
this.lblUp1Key = new System.Windows.Forms.Label();
this.lblUp1Host = new System.Windows.Forms.Label();
this.tpSeafile = new System.Windows.Forms.TabPage();
this.lvSeafileLibraries = new ShareX.HelpersLib.MyListView();
this.colSeafileLibraryName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.btnSeafilePathValidate = new System.Windows.Forms.Button();
this.txtSeafileDirectoryPath = new System.Windows.Forms.TextBox();
this.lblSeafileWritePermNotif = new System.Windows.Forms.Label();
this.lblSeafilePath = new System.Windows.Forms.Label();
this.txtSeafileUploadLocationRefresh = new System.Windows.Forms.Button();
this.lblSeafileSelectLibrary = new System.Windows.Forms.Label();
this.grpSeafileAccInfo = new System.Windows.Forms.GroupBox();
this.myListView1 = new ShareX.HelpersLib.MyListView();
this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.btnRefreshSeafileAccInfo = new System.Windows.Forms.Button();
this.txtSeafileAccInfoUsage = new System.Windows.Forms.TextBox();
this.txtSeafileAccInfoEmail = new System.Windows.Forms.TextBox();
this.lblSeafileAccInfoEmail = new System.Windows.Forms.Label();
this.lblSeafileAccInfoUsage = new System.Windows.Forms.Label();
this.btnSeafileCheckAuthToken = new System.Windows.Forms.Button();
this.btnSeafileCheckAPIURL = new System.Windows.Forms.Button();
this.grpSeafileObtainAuthToken = new System.Windows.Forms.GroupBox();
this.btnSeafileGetAuthToken = new System.Windows.Forms.Button();
this.txtSeafilePassword = new System.Windows.Forms.TextBox();
this.txtSeafileUsername = new System.Windows.Forms.TextBox();
this.lblSeafileUsername = new System.Windows.Forms.Label();
this.lblSeafilePassword = new System.Windows.Forms.Label();
this.cbSeafileIgnoreInvalidCert = new System.Windows.Forms.CheckBox();
this.cbSeafileCreateShareableURL = new System.Windows.Forms.CheckBox();
this.txtSeafileAuthToken = new System.Windows.Forms.TextBox();
this.txtSeafileAPIURL = new System.Windows.Forms.TextBox();
this.lblSeafileAuthToken = new System.Windows.Forms.Label();
this.lblSeafileAPIURL = new System.Windows.Forms.Label();
this.tpEmail = new System.Windows.Forms.TabPage();
this.chkEmailConfirm = new System.Windows.Forms.CheckBox();
this.lblEmailSmtpServer = new System.Windows.Forms.Label();
@ -329,7 +348,6 @@ 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.btnCopyShowFiles = new System.Windows.Forms.Button();
this.tpTextUploaders = new System.Windows.Forms.TabPage();
this.tcTextUploaders = new System.Windows.Forms.TabControl();
@ -354,8 +372,6 @@ 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();
@ -376,8 +392,6 @@ 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()));
@ -395,7 +409,6 @@ 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();
@ -436,7 +449,6 @@ 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();
@ -447,7 +459,31 @@ private void InitializeComponent()
this.tcUploaders = new System.Windows.Forms.TabControl();
this.lblWidthHint = new System.Windows.Forms.Label();
this.ttlvMain = new ShareX.HelpersLib.TabToListView();
this.colSeafileLibrarySize = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
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.colSeafileLibraryEncrypted = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.btnSeafileLibraryPasswordValidate = new System.Windows.Forms.Button();
this.txtSeafileLibraryPassword = new System.Windows.Forms.TextBox();
this.lblSeafileLibraryPassword = new System.Windows.Forms.Label();
this.tpOtherUploaders.SuspendLayout();
this.tcOtherUploaders.SuspendLayout();
this.tpTwitter.SuspendLayout();
@ -489,6 +525,9 @@ private void InitializeComponent()
this.tpLambda.SuspendLayout();
this.tpPomf.SuspendLayout();
this.tpUp1.SuspendLayout();
this.tpSeafile.SuspendLayout();
this.grpSeafileAccInfo.SuspendLayout();
this.grpSeafileObtainAuthToken.SuspendLayout();
this.tpEmail.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.nudEmailSmtpPort)).BeginInit();
this.tpSharedFolder.SuspendLayout();
@ -610,15 +649,6 @@ 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");
@ -1115,15 +1145,6 @@ 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);
@ -1132,22 +1153,6 @@ 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);
@ -1335,6 +1340,7 @@ private void InitializeComponent()
this.tcFileUploaders.Controls.Add(this.tpLambda);
this.tcFileUploaders.Controls.Add(this.tpPomf);
this.tcFileUploaders.Controls.Add(this.tpUp1);
this.tcFileUploaders.Controls.Add(this.tpSeafile);
this.tcFileUploaders.Controls.Add(this.tpEmail);
this.tcFileUploaders.Controls.Add(this.tpSharedFolder);
resources.ApplyResources(this.tcFileUploaders, "tcFileUploaders");
@ -1411,11 +1417,6 @@ 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);
@ -1431,15 +1432,6 @@ 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;
@ -1520,15 +1512,6 @@ 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);
@ -1596,15 +1579,6 @@ 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);
@ -1658,15 +1632,6 @@ 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);
@ -1717,15 +1682,6 @@ 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);
@ -2150,13 +2106,6 @@ 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);
@ -2412,15 +2361,6 @@ 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);
@ -2527,6 +2467,239 @@ private void InitializeComponent()
resources.ApplyResources(this.lblUp1Host, "lblUp1Host");
this.lblUp1Host.Name = "lblUp1Host";
//
// tpSeafile
//
this.tpSeafile.Controls.Add(this.btnSeafileLibraryPasswordValidate);
this.tpSeafile.Controls.Add(this.txtSeafileLibraryPassword);
this.tpSeafile.Controls.Add(this.lblSeafileLibraryPassword);
this.tpSeafile.Controls.Add(this.lvSeafileLibraries);
this.tpSeafile.Controls.Add(this.btnSeafilePathValidate);
this.tpSeafile.Controls.Add(this.txtSeafileDirectoryPath);
this.tpSeafile.Controls.Add(this.lblSeafileWritePermNotif);
this.tpSeafile.Controls.Add(this.lblSeafilePath);
this.tpSeafile.Controls.Add(this.txtSeafileUploadLocationRefresh);
this.tpSeafile.Controls.Add(this.lblSeafileSelectLibrary);
this.tpSeafile.Controls.Add(this.grpSeafileAccInfo);
this.tpSeafile.Controls.Add(this.btnSeafileCheckAuthToken);
this.tpSeafile.Controls.Add(this.btnSeafileCheckAPIURL);
this.tpSeafile.Controls.Add(this.grpSeafileObtainAuthToken);
this.tpSeafile.Controls.Add(this.cbSeafileIgnoreInvalidCert);
this.tpSeafile.Controls.Add(this.cbSeafileCreateShareableURL);
this.tpSeafile.Controls.Add(this.txtSeafileAuthToken);
this.tpSeafile.Controls.Add(this.txtSeafileAPIURL);
this.tpSeafile.Controls.Add(this.lblSeafileAuthToken);
this.tpSeafile.Controls.Add(this.lblSeafileAPIURL);
resources.ApplyResources(this.tpSeafile, "tpSeafile");
this.tpSeafile.Name = "tpSeafile";
this.tpSeafile.UseVisualStyleBackColor = true;
//
// lvSeafileLibraries
//
this.lvSeafileLibraries.AllowColumnSort = true;
this.lvSeafileLibraries.AutoFillColumn = true;
this.lvSeafileLibraries.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.colSeafileLibraryName,
this.colSeafileLibrarySize,
this.colSeafileLibraryEncrypted});
this.lvSeafileLibraries.DisableDeselect = true;
this.lvSeafileLibraries.FullRowSelect = true;
this.lvSeafileLibraries.HideSelection = false;
resources.ApplyResources(this.lvSeafileLibraries, "lvSeafileLibraries");
this.lvSeafileLibraries.Name = "lvSeafileLibraries";
this.lvSeafileLibraries.UseCompatibleStateImageBehavior = false;
this.lvSeafileLibraries.View = System.Windows.Forms.View.Details;
this.lvSeafileLibraries.SelectedIndexChanged += new System.EventHandler(this.lvSeafileLibraries_SelectedIndexChanged);
//
// colSeafileLibraryName
//
resources.ApplyResources(this.colSeafileLibraryName, "colSeafileLibraryName");
//
// btnSeafilePathValidate
//
resources.ApplyResources(this.btnSeafilePathValidate, "btnSeafilePathValidate");
this.btnSeafilePathValidate.Name = "btnSeafilePathValidate";
this.btnSeafilePathValidate.UseVisualStyleBackColor = true;
this.btnSeafilePathValidate.Click += new System.EventHandler(this.btnSeafilePathValidate_Click);
//
// txtSeafileDirectoryPath
//
resources.ApplyResources(this.txtSeafileDirectoryPath, "txtSeafileDirectoryPath");
this.txtSeafileDirectoryPath.Name = "txtSeafileDirectoryPath";
this.txtSeafileDirectoryPath.TextChanged += new System.EventHandler(this.txtSeafileDirectoryPath_TextChanged);
//
// lblSeafileWritePermNotif
//
resources.ApplyResources(this.lblSeafileWritePermNotif, "lblSeafileWritePermNotif");
this.lblSeafileWritePermNotif.Name = "lblSeafileWritePermNotif";
//
// lblSeafilePath
//
resources.ApplyResources(this.lblSeafilePath, "lblSeafilePath");
this.lblSeafilePath.Name = "lblSeafilePath";
//
// txtSeafileUploadLocationRefresh
//
resources.ApplyResources(this.txtSeafileUploadLocationRefresh, "txtSeafileUploadLocationRefresh");
this.txtSeafileUploadLocationRefresh.Name = "txtSeafileUploadLocationRefresh";
this.txtSeafileUploadLocationRefresh.UseVisualStyleBackColor = true;
this.txtSeafileUploadLocationRefresh.Click += new System.EventHandler(this.txtSeafileUploadLocationRefresh_Click);
//
// lblSeafileSelectLibrary
//
resources.ApplyResources(this.lblSeafileSelectLibrary, "lblSeafileSelectLibrary");
this.lblSeafileSelectLibrary.Name = "lblSeafileSelectLibrary";
//
// grpSeafileAccInfo
//
this.grpSeafileAccInfo.Controls.Add(this.myListView1);
this.grpSeafileAccInfo.Controls.Add(this.btnRefreshSeafileAccInfo);
this.grpSeafileAccInfo.Controls.Add(this.txtSeafileAccInfoUsage);
this.grpSeafileAccInfo.Controls.Add(this.txtSeafileAccInfoEmail);
this.grpSeafileAccInfo.Controls.Add(this.lblSeafileAccInfoEmail);
this.grpSeafileAccInfo.Controls.Add(this.lblSeafileAccInfoUsage);
resources.ApplyResources(this.grpSeafileAccInfo, "grpSeafileAccInfo");
this.grpSeafileAccInfo.Name = "grpSeafileAccInfo";
this.grpSeafileAccInfo.TabStop = false;
//
// myListView1
//
this.myListView1.AutoFillColumn = true;
this.myListView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.columnHeader1});
this.myListView1.FullRowSelect = true;
resources.ApplyResources(this.myListView1, "myListView1");
this.myListView1.Name = "myListView1";
this.myListView1.UseCompatibleStateImageBehavior = false;
this.myListView1.View = System.Windows.Forms.View.Details;
//
// columnHeader1
//
resources.ApplyResources(this.columnHeader1, "columnHeader1");
//
// btnRefreshSeafileAccInfo
//
resources.ApplyResources(this.btnRefreshSeafileAccInfo, "btnRefreshSeafileAccInfo");
this.btnRefreshSeafileAccInfo.Name = "btnRefreshSeafileAccInfo";
this.btnRefreshSeafileAccInfo.UseVisualStyleBackColor = true;
this.btnRefreshSeafileAccInfo.Click += new System.EventHandler(this.btnRefreshSeafileAccInfo_Click);
//
// txtSeafileAccInfoUsage
//
resources.ApplyResources(this.txtSeafileAccInfoUsage, "txtSeafileAccInfoUsage");
this.txtSeafileAccInfoUsage.Name = "txtSeafileAccInfoUsage";
this.txtSeafileAccInfoUsage.ReadOnly = true;
//
// txtSeafileAccInfoEmail
//
resources.ApplyResources(this.txtSeafileAccInfoEmail, "txtSeafileAccInfoEmail");
this.txtSeafileAccInfoEmail.Name = "txtSeafileAccInfoEmail";
this.txtSeafileAccInfoEmail.ReadOnly = true;
//
// lblSeafileAccInfoEmail
//
resources.ApplyResources(this.lblSeafileAccInfoEmail, "lblSeafileAccInfoEmail");
this.lblSeafileAccInfoEmail.Name = "lblSeafileAccInfoEmail";
//
// lblSeafileAccInfoUsage
//
resources.ApplyResources(this.lblSeafileAccInfoUsage, "lblSeafileAccInfoUsage");
this.lblSeafileAccInfoUsage.Name = "lblSeafileAccInfoUsage";
//
// btnSeafileCheckAuthToken
//
resources.ApplyResources(this.btnSeafileCheckAuthToken, "btnSeafileCheckAuthToken");
this.btnSeafileCheckAuthToken.Name = "btnSeafileCheckAuthToken";
this.btnSeafileCheckAuthToken.UseVisualStyleBackColor = true;
this.btnSeafileCheckAuthToken.Click += new System.EventHandler(this.btnSeafileCheckAuthToken_Click);
//
// btnSeafileCheckAPIURL
//
resources.ApplyResources(this.btnSeafileCheckAPIURL, "btnSeafileCheckAPIURL");
this.btnSeafileCheckAPIURL.Name = "btnSeafileCheckAPIURL";
this.btnSeafileCheckAPIURL.UseVisualStyleBackColor = true;
this.btnSeafileCheckAPIURL.Click += new System.EventHandler(this.btnSeafileCheckAPIURL_Click);
//
// grpSeafileObtainAuthToken
//
this.grpSeafileObtainAuthToken.Controls.Add(this.btnSeafileGetAuthToken);
this.grpSeafileObtainAuthToken.Controls.Add(this.txtSeafilePassword);
this.grpSeafileObtainAuthToken.Controls.Add(this.txtSeafileUsername);
this.grpSeafileObtainAuthToken.Controls.Add(this.lblSeafileUsername);
this.grpSeafileObtainAuthToken.Controls.Add(this.lblSeafilePassword);
resources.ApplyResources(this.grpSeafileObtainAuthToken, "grpSeafileObtainAuthToken");
this.grpSeafileObtainAuthToken.Name = "grpSeafileObtainAuthToken";
this.grpSeafileObtainAuthToken.TabStop = false;
//
// btnSeafileGetAuthToken
//
resources.ApplyResources(this.btnSeafileGetAuthToken, "btnSeafileGetAuthToken");
this.btnSeafileGetAuthToken.Name = "btnSeafileGetAuthToken";
this.btnSeafileGetAuthToken.UseVisualStyleBackColor = true;
this.btnSeafileGetAuthToken.Click += new System.EventHandler(this.btnSeafileGetAuthToken_Click);
//
// txtSeafilePassword
//
resources.ApplyResources(this.txtSeafilePassword, "txtSeafilePassword");
this.txtSeafilePassword.Name = "txtSeafilePassword";
this.txtSeafilePassword.UseSystemPasswordChar = true;
this.txtSeafilePassword.KeyUp += new System.Windows.Forms.KeyEventHandler(this.txtSeafilePassword_KeyUp);
//
// txtSeafileUsername
//
resources.ApplyResources(this.txtSeafileUsername, "txtSeafileUsername");
this.txtSeafileUsername.Name = "txtSeafileUsername";
//
// lblSeafileUsername
//
resources.ApplyResources(this.lblSeafileUsername, "lblSeafileUsername");
this.lblSeafileUsername.Name = "lblSeafileUsername";
//
// lblSeafilePassword
//
resources.ApplyResources(this.lblSeafilePassword, "lblSeafilePassword");
this.lblSeafilePassword.Name = "lblSeafilePassword";
//
// cbSeafileIgnoreInvalidCert
//
resources.ApplyResources(this.cbSeafileIgnoreInvalidCert, "cbSeafileIgnoreInvalidCert");
this.cbSeafileIgnoreInvalidCert.Name = "cbSeafileIgnoreInvalidCert";
this.cbSeafileIgnoreInvalidCert.UseVisualStyleBackColor = true;
this.cbSeafileIgnoreInvalidCert.CheckedChanged += new System.EventHandler(this.cbSeafileIgnoreInvalidCert_CheckedChanged);
//
// cbSeafileCreateShareableURL
//
resources.ApplyResources(this.cbSeafileCreateShareableURL, "cbSeafileCreateShareableURL");
this.cbSeafileCreateShareableURL.Name = "cbSeafileCreateShareableURL";
this.cbSeafileCreateShareableURL.UseVisualStyleBackColor = true;
this.cbSeafileCreateShareableURL.CheckedChanged += new System.EventHandler(this.cbSeafileCreateShareableURL_CheckedChanged);
//
// txtSeafileAuthToken
//
resources.ApplyResources(this.txtSeafileAuthToken, "txtSeafileAuthToken");
this.txtSeafileAuthToken.Name = "txtSeafileAuthToken";
this.txtSeafileAuthToken.TextChanged += new System.EventHandler(this.txtSeafileAuthToken_TextChanged);
//
// txtSeafileAPIURL
//
this.txtSeafileAPIURL.AutoCompleteCustomSource.AddRange(new string[] {
resources.GetString("txtSeafileAPIURL.AutoCompleteCustomSource"),
resources.GetString("txtSeafileAPIURL.AutoCompleteCustomSource1")});
this.txtSeafileAPIURL.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest;
this.txtSeafileAPIURL.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource;
resources.ApplyResources(this.txtSeafileAPIURL, "txtSeafileAPIURL");
this.txtSeafileAPIURL.Name = "txtSeafileAPIURL";
this.txtSeafileAPIURL.TextChanged += new System.EventHandler(this.txtSeafileAPIURL_TextChanged);
//
// lblSeafileAuthToken
//
resources.ApplyResources(this.lblSeafileAuthToken, "lblSeafileAuthToken");
this.lblSeafileAuthToken.Name = "lblSeafileAuthToken";
//
// lblSeafileAPIURL
//
resources.ApplyResources(this.lblSeafileAPIURL, "lblSeafileAPIURL");
this.lblSeafileAPIURL.Name = "lblSeafileAPIURL";
//
// tpEmail
//
this.tpEmail.Controls.Add(this.chkEmailConfirm);
@ -2690,11 +2863,6 @@ 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";
//
// btnCopyShowFiles
//
resources.ApplyResources(this.btnCopyShowFiles, "btnCopyShowFiles");
@ -2868,22 +3036,6 @@ 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);
@ -3033,22 +3185,6 @@ 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[] {
@ -3175,13 +3311,6 @@ 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");
@ -3462,15 +3591,6 @@ 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);
@ -3542,12 +3662,192 @@ private void InitializeComponent()
this.ttlvMain.MainTabControl = null;
this.ttlvMain.Name = "ttlvMain";
//
// colSeafileLibrarySize
//
resources.ApplyResources(this.colSeafileLibrarySize, "colSeafileLibrarySize");
//
// 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;
//
// colSeafileLibraryEncrypted
//
resources.ApplyResources(this.colSeafileLibraryEncrypted, "colSeafileLibraryEncrypted");
//
// btnSeafileLibraryPasswordValidate
//
resources.ApplyResources(this.btnSeafileLibraryPasswordValidate, "btnSeafileLibraryPasswordValidate");
this.btnSeafileLibraryPasswordValidate.Name = "btnSeafileLibraryPasswordValidate";
this.btnSeafileLibraryPasswordValidate.UseVisualStyleBackColor = true;
this.btnSeafileLibraryPasswordValidate.Click += new System.EventHandler(this.btnSeafileLibraryPasswordValidate_Click);
//
// txtSeafileLibraryPassword
//
resources.ApplyResources(this.txtSeafileLibraryPassword, "txtSeafileLibraryPassword");
this.txtSeafileLibraryPassword.Name = "txtSeafileLibraryPassword";
this.txtSeafileLibraryPassword.UseSystemPasswordChar = true;
this.txtSeafileLibraryPassword.TextChanged += new System.EventHandler(this.txtSeafileLibraryPassword_TextChanged);
//
// lblSeafileLibraryPassword
//
resources.ApplyResources(this.lblSeafileLibraryPassword, "lblSeafileLibraryPassword");
this.lblSeafileLibraryPassword.Name = "lblSeafileLibraryPassword";
//
// UploadersConfigForm
//
resources.ApplyResources(this, "$this");
@ -3633,6 +3933,12 @@ private void InitializeComponent()
this.tpPomf.PerformLayout();
this.tpUp1.ResumeLayout(false);
this.tpUp1.PerformLayout();
this.tpSeafile.ResumeLayout(false);
this.tpSeafile.PerformLayout();
this.grpSeafileAccInfo.ResumeLayout(false);
this.grpSeafileAccInfo.PerformLayout();
this.grpSeafileObtainAuthToken.ResumeLayout(false);
this.grpSeafileObtainAuthToken.PerformLayout();
this.tpEmail.ResumeLayout(false);
this.tpEmail.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.nudEmailSmtpPort)).EndInit();
@ -4097,5 +4403,41 @@ private void InitializeComponent()
private System.Windows.Forms.ComboBox cbPomfUploaders;
private System.Windows.Forms.TextBox txtPomfUploadURL;
private System.Windows.Forms.TextBox txtPomfResultURL;
private System.Windows.Forms.TabPage tpSeafile;
private System.Windows.Forms.Button btnSeafileCheckAuthToken;
private System.Windows.Forms.Button btnSeafileCheckAPIURL;
private System.Windows.Forms.GroupBox grpSeafileObtainAuthToken;
private System.Windows.Forms.Button btnSeafileGetAuthToken;
private System.Windows.Forms.TextBox txtSeafilePassword;
private System.Windows.Forms.TextBox txtSeafileUsername;
private System.Windows.Forms.Label lblSeafileUsername;
private System.Windows.Forms.Label lblSeafilePassword;
private System.Windows.Forms.CheckBox cbSeafileIgnoreInvalidCert;
private System.Windows.Forms.CheckBox cbSeafileCreateShareableURL;
private System.Windows.Forms.TextBox txtSeafileAuthToken;
private System.Windows.Forms.TextBox txtSeafileAPIURL;
private System.Windows.Forms.Label lblSeafileAuthToken;
private System.Windows.Forms.Label lblSeafileAPIURL;
private System.Windows.Forms.GroupBox grpSeafileAccInfo;
private System.Windows.Forms.Button btnRefreshSeafileAccInfo;
private System.Windows.Forms.TextBox txtSeafileAccInfoUsage;
private System.Windows.Forms.TextBox txtSeafileAccInfoEmail;
private System.Windows.Forms.Label lblSeafileAccInfoEmail;
private System.Windows.Forms.Label lblSeafileAccInfoUsage;
private System.Windows.Forms.Button txtSeafileUploadLocationRefresh;
private System.Windows.Forms.Label lblSeafileSelectLibrary;
private System.Windows.Forms.Label lblSeafileWritePermNotif;
private HelpersLib.MyListView lvSeafileLibraries;
private System.Windows.Forms.ColumnHeader colSeafileLibraryName;
private System.Windows.Forms.Button btnSeafilePathValidate;
private System.Windows.Forms.TextBox txtSeafileDirectoryPath;
private System.Windows.Forms.Label lblSeafilePath;
private HelpersLib.MyListView myListView1;
private System.Windows.Forms.ColumnHeader columnHeader1;
private System.Windows.Forms.ColumnHeader colSeafileLibrarySize;
private System.Windows.Forms.ColumnHeader colSeafileLibraryEncrypted;
private System.Windows.Forms.Button btnSeafileLibraryPasswordValidate;
private System.Windows.Forms.TextBox txtSeafileLibraryPassword;
private System.Windows.Forms.Label lblSeafileLibraryPassword;
}
}

View file

@ -107,6 +107,7 @@ private void FormSettings()
AddIconToTab(tpPolr, Resources.Polr);
AddIconToTab(tpPomf, Resources.Pomf);
AddIconToTab(tpPushbullet, Resources.Pushbullet);
AddIconToTab(tpSeafile, Resources.Seafile);
AddIconToTab(tpSendSpace, Resources.SendSpace);
AddIconToTab(tpSharedFolder, Resources.server_network);
AddIconToTab(tpTinyPic, Resources.TinyPic);
@ -558,6 +559,19 @@ public void LoadSettings()
txtPomfUploadURL.Text = Config.PomfUploader.UploadURL;
txtPomfResultURL.Text = Config.PomfUploader.ResultURL;
// Seafile
txtSeafileAPIURL.Text = Config.SeafileAPIURL;
txtSeafileAuthToken.Text = Config.SeafileAuthToken;
txtSeafileDirectoryPath.Text = Config.SeafilePath;
txtSeafileLibraryPassword.Text = Config.SeafileEncryptedLibraryPassword;
txtSeafileLibraryPassword.ReadOnly = (Config.SeafileIsLibraryEncrypted ? true : false);
btnSeafileLibraryPasswordValidate.Enabled = (Config.SeafileIsLibraryEncrypted ? false : true);
cbSeafileCreateShareableURL.Checked = Config.SeafileCreateShareableURL;
cbSeafileIgnoreInvalidCert.Checked = Config.SeafileIgnoreInvalidCert;
txtSeafileAccInfoEmail.Text = Config.SeafileAccInfoEmail;
txtSeafileAccInfoUsage.Text = Config.SeafileAccInfoUsage;
#endregion File uploaders
#region URL Shorteners
@ -2044,6 +2058,243 @@ private void txtPomfResultURL_TextChanged(object sender, EventArgs e)
#endregion Pomf
#region Seafile
private void txtSeafileAPIURL_TextChanged(object sender, EventArgs e)
{
Config.SeafileAPIURL = txtSeafileAPIURL.Text;
}
private void btnSeafileCheckAPIURL_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(txtSeafileAPIURL.Text))
{
return;
}
Seafile sf = new Seafile(txtSeafileAPIURL.Text, null, null);
bool checkReturned = sf.CheckAPIURL();
if (checkReturned)
{
MessageBox.Show(Resources.UploadersConfigForm_TestFTPAccount_Connected_, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show(Resources.UploadersConfigForm_Error, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void txtSeafileAuthToken_TextChanged(object sender, EventArgs e)
{
Config.SeafileAuthToken = txtSeafileAuthToken.Text;
}
private void btnSeafileCheckAuthToken_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(txtSeafileAuthToken.Text) || string.IsNullOrEmpty(txtSeafileAPIURL.Text))
{
return;
}
Seafile sf = new Seafile(txtSeafileAPIURL.Text, txtSeafileAuthToken.Text, null);
bool checkReturned = sf.CheckAuthToken();
if (checkReturned)
{
MessageBox.Show(Resources.UploadersConfigForm_Login_successful, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show(Resources.UploadersConfigForm_Error, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void txtSeafilePassword_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Return) {
btnSeafileGetAuthToken.PerformClick();
}
}
private void btnSeafileGetAuthToken_Click(object sender, EventArgs e)
{
string username = txtSeafileUsername.Text;
string password = txtSeafilePassword.Text;
if (!string.IsNullOrEmpty(username) && !string.IsNullOrEmpty(password))
{
try
{
Seafile sf = new Seafile(txtSeafileAPIURL.Text, null, null);
string authToken = sf.GetAuthToken(username, password);
if (!string.IsNullOrEmpty(authToken))
{
txtSeafileUsername.Text = "";
txtSeafilePassword.Text = "";
Config.SeafileAuthToken = authToken;
txtSeafileAuthToken.Text = authToken;
btnRefreshSeafileAccInfo.PerformClick();
Config.SeafileRepoID = sf.GetOrMakeDefaultLibrary(authToken);
txtSeafileUploadLocationRefresh.PerformClick();
MessageBox.Show(Resources.UploadersConfigForm_Login_successful, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show(Resources.UploadersConfigForm_Login_failed, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
catch (Exception ex)
{
DebugHelper.WriteException(ex);
MessageBox.Show(ex.ToString(), Resources.UploadersConfigForm_Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
private void cbSeafileCreateShareableURL_CheckedChanged(object sender, EventArgs e)
{
Config.SeafileCreateShareableURL = cbSeafileCreateShareableURL.Checked;
}
private void cbSeafileIgnoreInvalidCert_CheckedChanged(object sender, EventArgs e)
{
Config.SeafileIgnoreInvalidCert = cbSeafileIgnoreInvalidCert.Checked;
}
private void btnRefreshSeafileAccInfo_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(txtSeafileAuthToken.Text) || string.IsNullOrEmpty(txtSeafileAPIURL.Text))
{
return;
}
Seafile sf = new Seafile(txtSeafileAPIURL.Text, txtSeafileAuthToken.Text, null);
Seafile.SeafileCheckAccInfoResponse SeafileCheckAccInfoResponse = sf.GetAccountInfo();
if (SeafileCheckAccInfoResponse == null)
{
MessageBox.Show(Resources.UploadersConfigForm_Login_failed, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
txtSeafileAccInfoEmail.Text = SeafileCheckAccInfoResponse.email;
txtSeafileAccInfoUsage.Text = HelpersLib.NumberExtensions.ToSizeString(SeafileCheckAccInfoResponse.usage).ToString() + " / " + HelpersLib.NumberExtensions.ToSizeString(SeafileCheckAccInfoResponse.total).ToString();
}
private void txtSeafileUploadLocationRefresh_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(txtSeafileAuthToken.Text) || string.IsNullOrEmpty(txtSeafileAPIURL.Text))
{
return;
}
lvSeafileLibraries.Items.Clear();
Seafile sf = new Seafile(txtSeafileAPIURL.Text, txtSeafileAuthToken.Text, null);
List<Seafile.SeafileLibraryObj> SeafileLibraries = sf.GetLibraries();
foreach (var SeafileLibrary in SeafileLibraries)
{
if (SeafileLibrary.permission=="rw")
{
ListViewItem libraryItem = lvSeafileLibraries.Items.Add(SeafileLibrary.name);
libraryItem.Name = SeafileLibrary.id;
libraryItem.Tag = SeafileLibrary;
libraryItem.SubItems.Add(HelpersLib.NumberExtensions.ToSizeString(SeafileLibrary.size));
if (SeafileLibrary.encrypted)
{
ListViewItem.ListViewSubItem isEncrypt = libraryItem.SubItems.Add("\u221A");
}
if (SeafileLibrary.id==Config.SeafileRepoID)
{
libraryItem.Selected = true;
}
}
}
}
private void lvSeafileLibraries_SelectedIndexChanged(object sender, EventArgs e)
{
int selIndex = lvSeafileLibraries.SelectedIndex;
if (selIndex > -1)
{
ListViewItem selectedItem = lvSeafileLibraries.Items[selIndex];
Config.SeafileRepoID = selectedItem.Name;
Seafile.SeafileLibraryObj SealileLibraryInfo = (Seafile.SeafileLibraryObj)selectedItem.Tag;
if (SealileLibraryInfo.encrypted)
{
Config.SeafileIsLibraryEncrypted = true;
txtSeafileLibraryPassword.ReadOnly = false;
btnSeafileLibraryPasswordValidate.Enabled = true;
}
else
{
Config.SeafileIsLibraryEncrypted = false;
txtSeafileLibraryPassword.ReadOnly = true;
txtSeafileLibraryPassword.Text = "";
Config.SeafileEncryptedLibraryPassword = "";
btnSeafileLibraryPasswordValidate.Enabled = false;
}
}
}
private void txtSeafileDirectoryPath_TextChanged(object sender, EventArgs e)
{
Config.SeafilePath = txtSeafileDirectoryPath.Text;
}
private void btnSeafilePathValidate_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(Config.SeafilePath) || string.IsNullOrEmpty(Config.SeafileAPIURL) || string.IsNullOrEmpty(Config.SeafileAuthToken) || string.IsNullOrEmpty(Config.SeafileRepoID))
{
return;
}
Seafile sf = new Seafile(txtSeafileAPIURL.Text, txtSeafileAuthToken.Text, Config.SeafileRepoID);
bool checkReturned = sf.ValidatePath(txtSeafileDirectoryPath.Text);
if (checkReturned)
{
MessageBox.Show(Resources.UploadersConfigForm_TestFTPAccount_Connected_, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show(Resources.UploadersConfigForm_Error, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void txtSeafileLibraryPassword_TextChanged(object sender, EventArgs e)
{
if (Config.SeafileIsLibraryEncrypted)
{
Config.SeafileEncryptedLibraryPassword = txtSeafileLibraryPassword.Text;
}
}
private void btnSeafileLibraryPasswordValidate_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(Config.SeafileEncryptedLibraryPassword) || string.IsNullOrEmpty(Config.SeafileAPIURL) || string.IsNullOrEmpty(Config.SeafileAuthToken) || string.IsNullOrEmpty(Config.SeafileRepoID))
{
return;
}
Seafile sf = new Seafile(txtSeafileAPIURL.Text, txtSeafileAuthToken.Text, Config.SeafileRepoID);
bool checkReturned = sf.DecryptLibrary(txtSeafileLibraryPassword.Text);
if (checkReturned)
{
MessageBox.Show(Resources.UploadersConfigForm_TestFTPAccount_Connected_, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show(Resources.UploadersConfigForm_Error, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
#endregion Seafile
#endregion File Uploaders
#region URL Shorteners

File diff suppressed because it is too large Load diff

View file

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

View file

@ -479,4 +479,7 @@ Created folders:</value>
<data name="Pomf_Upload_Please_select_one_of_the_Pomf_uploaders_from__Destination_settings_window____Pomf_tab__" xml:space="preserve">
<value>Please select one of the Pomf uploaders from "Destination settings window -&gt; Pomf tab".</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>
</root>

View file

@ -135,6 +135,7 @@
<Compile Include="FileUploaders\MediaFire.cs" />
<Compile Include="FileUploaders\Mega.cs" />
<Compile Include="FileUploaders\OneDrive.cs" />
<Compile Include="FileUploaders\Seafile.cs" />
<Compile Include="FileUploaders\OwnCloud.cs" />
<Compile Include="FileUploaders\Pomf.cs" />
<Compile Include="FileUploaders\PomfUploader.cs" />
@ -800,6 +801,9 @@
<ItemGroup>
<None Include="Favicons\Pomf.ico" />
</ItemGroup>
<ItemGroup>
<None Include="Favicons\Seafile.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,19 @@ public class UploadersConfig : SettingsBase<UploadersConfig>
public PomfUploader PomfUploader = Pomf.DefaultUploader;
// Seafile
public string SeafileAPIURL = "";
public string SeafileAuthToken = "";
public string SeafileRepoID = "";
public string SeafilePath = "/";
public bool SeafileIsLibraryEncrypted = false;
public string SeafileEncryptedLibraryPassword = "";
public bool SeafileCreateShareableURL = true;
public bool SeafileIgnoreInvalidCert = false;
public string SeafileAccInfoEmail = "";
public string SeafileAccInfoUsage = "";
#endregion File uploaders
#region URL shorteners

View file

@ -1078,6 +1078,16 @@ public UploadResult UploadFile(Stream stream, string fileName)
case FileDestination.Up1:
fileUploader = new Up1(Program.UploadersConfig.Up1Host, Program.UploadersConfig.Up1Key);
break;
case FileDestination.Seafile:
fileUploader = new Seafile(Program.UploadersConfig.SeafileAPIURL, Program.UploadersConfig.SeafileAuthToken, Program.UploadersConfig.SeafileRepoID)
{
Path = Program.UploadersConfig.SeafilePath,
IsLibraryEncrypted = Program.UploadersConfig.SeafileIsLibraryEncrypted,
EncryptedLibraryPassword = Program.UploadersConfig.SeafileEncryptedLibraryPassword,
CreateShareableURL = Program.UploadersConfig.SeafileCreateShareableURL,
IgnoreInvalidCert = Program.UploadersConfig.SeafileIgnoreInvalidCert
};
break;
}
if (fileUploader != null)