diff --git a/ShareX.UploadersLib/APIKeys/APIKeys.cs b/ShareX.UploadersLib/APIKeys/APIKeys.cs index 3a93a95cc..789ce258c 100644 --- a/ShareX.UploadersLib/APIKeys/APIKeys.cs +++ b/ShareX.UploadersLib/APIKeys/APIKeys.cs @@ -53,8 +53,6 @@ internal static partial class APIKeys public static readonly string MediaFireApiKey = ""; public static readonly string OneDriveClientID = ""; public static readonly string OneDriveClientSecret = ""; - public static readonly string GfycatClientID = ""; - public static readonly string GfycatClientSecret = ""; // URL shorteners public static readonly string BitlyClientID = ""; diff --git a/ShareX.UploadersLib/Enums.cs b/ShareX.UploadersLib/Enums.cs index 71d8b16ab..240da62b8 100644 --- a/ShareX.UploadersLib/Enums.cs +++ b/ShareX.UploadersLib/Enums.cs @@ -101,8 +101,6 @@ public enum FileDestination AzureStorage, [Description("Backblaze B2")] BackblazeB2, - [Description("Gfycat")] - Gfycat, [Description("ownCloud / Nextcloud")] OwnCloud, [Description("MediaFire")] diff --git a/ShareX.UploadersLib/Favicons/Gfycat.png b/ShareX.UploadersLib/Favicons/Gfycat.png deleted file mode 100644 index 2dabc7acf..000000000 Binary files a/ShareX.UploadersLib/Favicons/Gfycat.png and /dev/null differ diff --git a/ShareX.UploadersLib/FileUploaders/GfycatUploader.cs b/ShareX.UploadersLib/FileUploaders/GfycatUploader.cs deleted file mode 100644 index 173e5f7d6..000000000 --- a/ShareX.UploadersLib/FileUploaders/GfycatUploader.cs +++ /dev/null @@ -1,341 +0,0 @@ -#region License Information (GPL v3) - -/* - ShareX - A program that allows you to take screenshots and share any file type - Copyright (c) 2007-2023 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 . -*/ - -#endregion License Information (GPL v3) - -using Newtonsoft.Json; -using ShareX.HelpersLib; -using ShareX.UploadersLib.Properties; -using System; -using System.Collections.Generic; -using System.Collections.Specialized; -using System.Drawing; -using System.IO; -using System.Threading; -using System.Windows.Forms; - -namespace ShareX.UploadersLib.FileUploaders -{ - public class GfycatFileUploaderService : FileUploaderService - { - public override FileDestination EnumValue { get; } = FileDestination.Gfycat; - - public override Image ServiceImage => Resources.Gfycat; - - public override bool CheckConfig(UploadersConfig config) - { - return config.GfycatAccountType == AccountType.Anonymous || OAuth2Info.CheckOAuth(config.GfycatOAuth2Info); - } - - public override GenericUploader CreateUploader(UploadersConfig config, TaskReferenceHelper taskInfo) - { - if (config.GfycatOAuth2Info == null) - { - config.GfycatOAuth2Info = new OAuth2Info(APIKeys.GfycatClientID, APIKeys.GfycatClientSecret); - } - - return new GfycatUploader(config.GfycatOAuth2Info) - { - UploadMethod = config.GfycatAccountType, - Private = !config.GfycatIsPublic, - KeepAudio = config.GfycatKeepAudio, - Title = config.GfycatTitle - }; - } - - public override TabPage GetUploadersConfigTabPage(UploadersConfigForm form) => form.tpGfycat; - } - - public class GfycatUploader : FileUploader, IOAuth2 - { - public OAuth2Info AuthInfo { get; set; } - public AccountType UploadMethod { get; set; } - public OAuth2Token AnonymousToken { get; set; } - public bool NoResize { get; set; } = true; - public bool IgnoreExisting { get; set; } = true; - public bool Private { get; set; } = true; - public bool KeepAudio { get; set; } = true; - public string Title { get; set; } - - private const string URL_AUTHORIZE = "https://gfycat.com/oauth/authorize"; - private const string URL_UPLOAD = "https://filedrop.gfycat.com"; - private const string URL_API = "https://api.gfycat.com/v1"; - private const string URL_API_TOKEN = URL_API + "/oauth/token"; - private const string URL_API_CREATE_GFY = URL_API + "/gfycats"; - private const string URL_API_STATUS = URL_API + "/gfycats/fetch/status/"; - - public GfycatUploader(OAuth2Info oauth) - { - AuthInfo = oauth; - } - - public string GetAuthorizationURL() - { - Dictionary args = new Dictionary(); - args.Add("client_id", AuthInfo.Client_ID); - args.Add("scope", "all"); - args.Add("state", "ShareX"); - args.Add("response_type", "code"); - args.Add("redirect_uri", Links.Callback); - - return URLHelpers.CreateQueryString(URL_AUTHORIZE, args); - } - - public bool GetAccessToken(string code) - { - string request = JsonConvert.SerializeObject(new - { - client_id = AuthInfo.Client_ID, - client_secret = AuthInfo.Client_Secret, - grant_type = "authorization_code", - redirect_uri = Links.Callback, - code = code - }); - - string response = SendRequest(HttpMethod.POST, URL_API_TOKEN, request, RequestHelpers.ContentTypeJSON); - - if (!string.IsNullOrEmpty(response)) - { - OAuth2Token token = JsonConvert.DeserializeObject(response); - - if (token != null && !string.IsNullOrEmpty(token.access_token)) - { - token.UpdateExpireDate(); - AuthInfo.Token = token; - return true; - } - } - - return false; - } - - public bool RefreshAccessToken() - { - if (OAuth2Info.CheckOAuth(AuthInfo) && !string.IsNullOrEmpty(AuthInfo.Token.refresh_token)) - { - string request = JsonConvert.SerializeObject(new - { - refresh_token = AuthInfo.Token.refresh_token, - client_id = AuthInfo.Client_ID, - client_secret = AuthInfo.Client_Secret, - grant_type = "refresh" - }); - - string response = SendRequest(HttpMethod.POST, URL_API_TOKEN, request, RequestHelpers.ContentTypeJSON); - - if (!string.IsNullOrEmpty(response)) - { - OAuth2Token token = JsonConvert.DeserializeObject(response); - - if (token != null && !string.IsNullOrEmpty(token.access_token)) - { - token.UpdateExpireDate(); - AuthInfo.Token = token; - return true; - } - } - } - - return false; - } - - public bool CheckAuthorization() - { - if (OAuth2Info.CheckOAuth(AuthInfo)) - { - if (AuthInfo.Token.IsExpired && !RefreshAccessToken()) - { - Errors.Add("Refresh access token failed."); - return false; - } - } - else - { - Errors.Add("Gfycat login is required."); - return false; - } - - return true; - } - - public override UploadResult Upload(Stream stream, string fileName) - { - AllowReportProgress = false; - - OAuth2Token token = GetOrCreateToken(); - if (token == null) - { - return null; - } - - NameValueCollection headers = new NameValueCollection(); - headers.Add("Authorization", "Bearer " + token.access_token); - - GfycatCreateResponse gfy = CreateGfycat(headers); - if (gfy == null) - { - return null; - } - - Dictionary args = new Dictionary(); - args.Add("key", gfy.GfyName); - - AllowReportProgress = true; - - UploadResult result = SendRequestFile(URL_UPLOAD, stream, fileName, "file", args); - if (!result.IsError) - { - WaitForTranscode(gfy.GfyName, result); - } - - return result; - } - - private void WaitForTranscode(string name, UploadResult result) - { - ProgressManager progress = new ProgressManager(10000); - progress.CustomProgressText = "Gfycat encoding..."; - OnProgressChanged(progress); - - int iterations = 0; - - while (!StopUploadRequested) - { - string statusJson = SendRequest(HttpMethod.GET, URL_API_STATUS + name); - GfycatStatusResponse response = JsonConvert.DeserializeObject(statusJson); - - if (response.Error != null) - { - Errors.Add(response.Error); - result.IsSuccess = false; - break; - } - else if (response.Task.Equals("error", StringComparison.OrdinalIgnoreCase)) - { - Errors.Add(response.Description); - result.IsSuccess = false; - break; - } - else if (response.GfyName != null) - { - result.IsSuccess = true; - result.URL = "https://gfycat.com/" + response.GfyName; - break; - } - else if ((response.Task.Equals("NotFoundo", StringComparison.OrdinalIgnoreCase) || - response.Task.Equals("NotFound", StringComparison.OrdinalIgnoreCase)) && iterations > 5) - { - Errors.Add("Gfy not found"); - result.IsSuccess = false; - break; - } - - if (progress.UpdateProgress((progress.Length - progress.Position) / response.Time)) - { - OnProgressChanged(progress); - } - - iterations++; - Thread.Sleep(500); - } - - progress.CustomProgressText = ""; - OnProgressChanged(progress); - } - - private GfycatCreateResponse CreateGfycat(NameValueCollection headers) - { - Dictionary args = new Dictionary(); - args.Add("private", Private); - args.Add("noResize", NoResize); - args.Add("noMd5", IgnoreExisting); - args.Add("keepAudio", KeepAudio); - if (!string.IsNullOrEmpty(Title)) args.Add("title", Title); - - string json = JsonConvert.SerializeObject(args); - - string response = SendRequest(HttpMethod.POST, URL_API_CREATE_GFY, json, RequestHelpers.ContentTypeJSON, null, headers); - - if (!string.IsNullOrEmpty(response)) - { - return JsonConvert.DeserializeObject(response); - } - - return null; - } - - private OAuth2Token GetOrCreateToken() - { - if (UploadMethod == AccountType.User) - { - if (!CheckAuthorization()) - { - return null; - } - - return AuthInfo.Token; - } - else - { - if (AnonymousToken == null || AnonymousToken.IsExpired) - { - string request = JsonConvert.SerializeObject(new - { - client_id = AuthInfo.Client_ID, - client_secret = AuthInfo.Client_Secret, - grant_type = "client_credentials", - }); - - string response = SendRequest(HttpMethod.POST, URL_API_TOKEN, request, RequestHelpers.ContentTypeJSON); - - if (!string.IsNullOrEmpty(response)) - { - AnonymousToken = JsonConvert.DeserializeObject(response); - - if (AnonymousToken != null && !string.IsNullOrEmpty(AnonymousToken.access_token)) - { - AnonymousToken.UpdateExpireDate(); - } - } - } - - return AnonymousToken; - } - } - } - - public class GfycatCreateResponse - { - public string GfyName { get; set; } - public string Secret { get; set; } - } - - public class GfycatStatusResponse - { - public string Task { get; set; } - public int Time { get; set; } - public string GfyName { get; set; } - public string Error { get; set; } - public string Description { get; set; } - } -} \ No newline at end of file diff --git a/ShareX.UploadersLib/Forms/UploadersConfigForm.Designer.cs b/ShareX.UploadersLib/Forms/UploadersConfigForm.Designer.cs index ed0eef404..216670e27 100644 --- a/ShareX.UploadersLib/Forms/UploadersConfigForm.Designer.cs +++ b/ShareX.UploadersLib/Forms/UploadersConfigForm.Designer.cs @@ -299,13 +299,6 @@ private void InitializeComponent() this.lblB2UploadPath = new System.Windows.Forms.Label(); this.lblB2ApplicationKey = new System.Windows.Forms.Label(); this.lblB2ApplicationKeyId = new System.Windows.Forms.Label(); - this.tpGfycat = new System.Windows.Forms.TabPage(); - this.txtGfycatTitle = new System.Windows.Forms.TextBox(); - this.lblGfycatTitle = new System.Windows.Forms.Label(); - this.cbGfycatKeepAudio = new System.Windows.Forms.CheckBox(); - this.cbGfycatIsPublic = new System.Windows.Forms.CheckBox(); - this.atcGfycatAccountType = new ShareX.UploadersLib.AccountTypeControl(); - this.oauth2Gfycat = new ShareX.UploadersLib.OAuthControl(); this.tpMega = new System.Windows.Forms.TabPage(); this.btnMegaRefreshFolders = new System.Windows.Forms.Button(); this.lblMegaStatus = new System.Windows.Forms.Label(); @@ -650,7 +643,6 @@ private void InitializeComponent() this.gbGoogleCloudStorageAdvanced.SuspendLayout(); this.tpAzureStorage.SuspendLayout(); this.tpBackblazeB2.SuspendLayout(); - this.tpGfycat.SuspendLayout(); this.tpMega.SuspendLayout(); this.tpOwnCloud.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.txtOwnCloudExpiryTime)).BeginInit(); @@ -1232,7 +1224,6 @@ private void InitializeComponent() this.tcFileUploaders.Controls.Add(this.tpGoogleCloudStorage); this.tcFileUploaders.Controls.Add(this.tpAzureStorage); this.tcFileUploaders.Controls.Add(this.tpBackblazeB2); - this.tcFileUploaders.Controls.Add(this.tpGfycat); this.tcFileUploaders.Controls.Add(this.tpMega); this.tcFileUploaders.Controls.Add(this.tpOwnCloud); this.tcFileUploaders.Controls.Add(this.tpMediaFire); @@ -2496,60 +2487,6 @@ private void InitializeComponent() resources.ApplyResources(this.lblB2ApplicationKeyId, "lblB2ApplicationKeyId"); this.lblB2ApplicationKeyId.Name = "lblB2ApplicationKeyId"; // - // tpGfycat - // - this.tpGfycat.BackColor = System.Drawing.SystemColors.Window; - this.tpGfycat.Controls.Add(this.txtGfycatTitle); - this.tpGfycat.Controls.Add(this.lblGfycatTitle); - this.tpGfycat.Controls.Add(this.cbGfycatKeepAudio); - this.tpGfycat.Controls.Add(this.cbGfycatIsPublic); - this.tpGfycat.Controls.Add(this.atcGfycatAccountType); - this.tpGfycat.Controls.Add(this.oauth2Gfycat); - resources.ApplyResources(this.tpGfycat, "tpGfycat"); - this.tpGfycat.Name = "tpGfycat"; - // - // txtGfycatTitle - // - resources.ApplyResources(this.txtGfycatTitle, "txtGfycatTitle"); - this.txtGfycatTitle.Name = "txtGfycatTitle"; - this.txtGfycatTitle.TextChanged += new System.EventHandler(this.txtGfycatTitle_TextChanged); - // - // lblGfycatTitle - // - resources.ApplyResources(this.lblGfycatTitle, "lblGfycatTitle"); - this.lblGfycatTitle.Name = "lblGfycatTitle"; - // - // cbGfycatKeepAudio - // - resources.ApplyResources(this.cbGfycatKeepAudio, "cbGfycatKeepAudio"); - this.cbGfycatKeepAudio.Name = "cbGfycatKeepAudio"; - this.cbGfycatKeepAudio.UseVisualStyleBackColor = true; - this.cbGfycatKeepAudio.CheckedChanged += new System.EventHandler(this.cbGfycatKeepAudio_CheckedChanged); - // - // cbGfycatIsPublic - // - resources.ApplyResources(this.cbGfycatIsPublic, "cbGfycatIsPublic"); - this.cbGfycatIsPublic.Name = "cbGfycatIsPublic"; - this.cbGfycatIsPublic.UseVisualStyleBackColor = true; - this.cbGfycatIsPublic.CheckedChanged += new System.EventHandler(this.cbGfycatIsPublic_CheckedChanged); - // - // atcGfycatAccountType - // - resources.ApplyResources(this.atcGfycatAccountType, "atcGfycatAccountType"); - this.atcGfycatAccountType.Name = "atcGfycatAccountType"; - this.atcGfycatAccountType.SelectedAccountType = ShareX.UploadersLib.AccountType.Anonymous; - this.atcGfycatAccountType.AccountTypeChanged += new ShareX.UploadersLib.AccountTypeControl.AccountTypeChangedEventHandler(this.atcGfycatAccountType_AccountTypeChanged); - // - // oauth2Gfycat - // - resources.ApplyResources(this.oauth2Gfycat, "oauth2Gfycat"); - this.oauth2Gfycat.Name = "oauth2Gfycat"; - this.oauth2Gfycat.UserInfo = null; - this.oauth2Gfycat.OpenButtonClicked += new ShareX.UploadersLib.OAuthControl.OpenButtonClickedEventHandler(this.oauth2Gfycat_OpenButtonClicked); - this.oauth2Gfycat.CompleteButtonClicked += new ShareX.UploadersLib.OAuthControl.CompleteButtonClickedEventHandler(this.oauth2Gfycat_CompleteButtonClicked); - this.oauth2Gfycat.ClearButtonClicked += new ShareX.UploadersLib.OAuthControl.ClearButtonclickedEventHandler(this.oauth2Gfycat_ClearButtonClicked); - this.oauth2Gfycat.RefreshButtonClicked += new ShareX.UploadersLib.OAuthControl.RefreshButtonClickedEventHandler(this.oauth2Gfycat_RefreshButtonClicked); - // // tpMega // this.tpMega.BackColor = System.Drawing.SystemColors.Window; @@ -4899,8 +4836,6 @@ private void InitializeComponent() this.tpAzureStorage.PerformLayout(); this.tpBackblazeB2.ResumeLayout(false); this.tpBackblazeB2.PerformLayout(); - this.tpGfycat.ResumeLayout(false); - this.tpGfycat.PerformLayout(); this.tpMega.ResumeLayout(false); this.tpMega.PerformLayout(); this.tpOwnCloud.ResumeLayout(false); @@ -5400,10 +5335,6 @@ private void InitializeComponent() private System.Windows.Forms.Label lblAmazonS3Endpoint; private System.Windows.Forms.CheckBox cbDropboxUseDirectLink; private System.Windows.Forms.CheckBox cbAmazonS3UsePathStyle; - private OAuthControl oauth2Gfycat; - private AccountTypeControl atcGfycatAccountType; - private System.Windows.Forms.CheckBox cbGfycatIsPublic; - internal System.Windows.Forms.TabPage tpGfycat; private System.Windows.Forms.Panel pFTPTransferMode; private System.Windows.Forms.RadioButton rbFTPTransferModeActive; private System.Windows.Forms.RadioButton rbFTPTransferModePassive; @@ -5528,7 +5459,6 @@ private void InitializeComponent() private System.Windows.Forms.Label lblGooglePhotosCreateAlbumName; private System.Windows.Forms.TextBox txtGooglePhotosCreateAlbumName; private System.Windows.Forms.Button btnGooglePhotosCreateAlbum; - private System.Windows.Forms.CheckBox cbGfycatKeepAudio; private System.Windows.Forms.GroupBox gbGoogleCloudStorageAdvanced; private System.Windows.Forms.Label lblGoogleCloudStorageStripExtension; private System.Windows.Forms.CheckBox cbGoogleCloudStorageStripExtensionText; @@ -5540,8 +5470,6 @@ private void InitializeComponent() private System.Windows.Forms.ComboBox cbGoogleDriveSharedDrive; private System.Windows.Forms.TextBox txtKuttDomain; private System.Windows.Forms.Label lblKuttDomain; - private System.Windows.Forms.TextBox txtGfycatTitle; - private System.Windows.Forms.Label lblGfycatTitle; internal System.Windows.Forms.TabPage tpZeroWidthShortener; private System.Windows.Forms.TextBox txtZWSToken; private System.Windows.Forms.TextBox txtZWSURL; diff --git a/ShareX.UploadersLib/Forms/UploadersConfigForm.cs b/ShareX.UploadersLib/Forms/UploadersConfigForm.cs index e7637444d..4d261109c 100644 --- a/ShareX.UploadersLib/Forms/UploadersConfigForm.cs +++ b/ShareX.UploadersLib/Forms/UploadersConfigForm.cs @@ -688,23 +688,6 @@ private void LoadFileUploaderSettings() #endregion Plik - #region Gfycat - - atcGfycatAccountType.SelectedAccountType = Config.GfycatAccountType; - - oauth2Gfycat.Enabled = Config.GfycatAccountType == AccountType.User; - - if (OAuth2Info.CheckOAuth(Config.GfycatOAuth2Info)) - { - oauth2Gfycat.Status = OAuthLoginStatus.LoginSuccessful; - } - - cbGfycatIsPublic.Checked = Config.GfycatIsPublic; - cbGfycatKeepAudio.Checked = Config.GfycatKeepAudio; - txtGfycatTitle.Text = Config.GfycatTitle; - - #endregion Gfycat - #region YouTube oauth2YouTube.UpdateStatus(Config.YouTubeOAuth2Info, Config.YouTubeUserInfo); @@ -2892,52 +2875,6 @@ private void nudPlikTTL_ValueChanged(object sender, EventArgs e) #endregion Plik - #region Gfycat - - private void atcGfycatAccountType_AccountTypeChanged(AccountType accountType) - { - Config.GfycatAccountType = accountType; - oauth2Gfycat.Enabled = Config.GfycatAccountType == AccountType.User; - } - - private void oauth2Gfycat_OpenButtonClicked() - { - OAuth2Info oauth = new OAuth2Info(APIKeys.GfycatClientID, APIKeys.GfycatClientSecret); - Config.GfycatOAuth2Info = OAuth2Open(new GfycatUploader(oauth)); - } - - private void oauth2Gfycat_CompleteButtonClicked(string code) - { - OAuth2Complete(new GfycatUploader(Config.GfycatOAuth2Info), code, oauth2Gfycat); - } - - private void oauth2Gfycat_ClearButtonClicked() - { - Config.GfycatOAuth2Info = null; - } - - private void oauth2Gfycat_RefreshButtonClicked() - { - OAuth2Refresh(new GfycatUploader(Config.GfycatOAuth2Info), oauth2Gfycat); - } - - private void cbGfycatIsPublic_CheckedChanged(object sender, EventArgs e) - { - Config.GfycatIsPublic = cbGfycatIsPublic.Checked; - } - - private void cbGfycatKeepAudio_CheckedChanged(object sender, EventArgs e) - { - Config.GfycatKeepAudio = cbGfycatKeepAudio.Checked; - } - - private void txtGfycatTitle_TextChanged(object sender, EventArgs e) - { - Config.GfycatTitle = txtGfycatTitle.Text; - } - - #endregion Gfycat - #region YouTube private void oauth2YouTube_ConnectButtonClicked() diff --git a/ShareX.UploadersLib/Forms/UploadersConfigForm.es-MX.resx b/ShareX.UploadersLib/Forms/UploadersConfigForm.es-MX.resx index 0172947fc..6225fcf6d 100644 --- a/ShareX.UploadersLib/Forms/UploadersConfigForm.es-MX.resx +++ b/ShareX.UploadersLib/Forms/UploadersConfigForm.es-MX.resx @@ -279,9 +279,6 @@ ¿Es enlace público? - - Subida pública - ¿Es enlace público? @@ -1034,9 +1031,6 @@ Por ejemplo, si el bucket se llama bucket.example.com, la URL será http://bucke FTP / FTPS / SFTP - - Gfycat - GitHub Gist @@ -1188,9 +1182,6 @@ Por ejemplo, si el bucket se llama bucket.example.com, la URL será http://bucke Usar enlace personalizado (se permiten patrones de formato): - - Conservar audio - Definir permiso de lectura pública al archivo diff --git a/ShareX.UploadersLib/Forms/UploadersConfigForm.fr.resx b/ShareX.UploadersLib/Forms/UploadersConfigForm.fr.resx index 6e3cc5645..bf9a33eb0 100644 --- a/ShareX.UploadersLib/Forms/UploadersConfigForm.fr.resx +++ b/ShareX.UploadersLib/Forms/UploadersConfigForm.fr.resx @@ -804,9 +804,6 @@ Utiliser une bibliothèque chiffrée désactive le partage. Région : - - Mise en ligne publique - Exemple : https://api.github.com @@ -1101,9 +1098,6 @@ Utiliser une bibliothèque chiffrée désactive le partage. Obtenir la clé utilisateur... - - Gfycat - GitHub Gist @@ -1128,9 +1122,6 @@ Utiliser une bibliothèque chiffrée désactive le partage. Si une URL avec la cible spécifiée existe, la retourner - - Conserver l'audio - Lambda diff --git a/ShareX.UploadersLib/Forms/UploadersConfigForm.he-IL.resx b/ShareX.UploadersLib/Forms/UploadersConfigForm.he-IL.resx index c4fbe00bb..2d09945b2 100644 --- a/ShareX.UploadersLib/Forms/UploadersConfigForm.he-IL.resx +++ b/ShareX.UploadersLib/Forms/UploadersConfigForm.he-IL.resx @@ -126,9 +126,6 @@ ימים - - כותרת: - הוסף את שם הקובץ לקישור @@ -399,9 +396,6 @@ נדרשת התחברות. - - שמור על שמע - צור @@ -628,9 +622,6 @@ העלאה ציבורית - - העלאה ציבורית - מצב העברה: diff --git a/ShareX.UploadersLib/Forms/UploadersConfigForm.id-ID.resx b/ShareX.UploadersLib/Forms/UploadersConfigForm.id-ID.resx index c85da544b..b95a4ba42 100644 --- a/ShareX.UploadersLib/Forms/UploadersConfigForm.id-ID.resx +++ b/ShareX.UploadersLib/Forms/UploadersConfigForm.id-ID.resx @@ -459,9 +459,6 @@ Flickr - - Gfycat - GitHub Gist @@ -906,9 +903,6 @@ Apakah unggah publik? - - Apakah unggah publik? - Apakah unggah publik? diff --git a/ShareX.UploadersLib/Forms/UploadersConfigForm.it-IT.resx b/ShareX.UploadersLib/Forms/UploadersConfigForm.it-IT.resx index ecc00a740..e1322b4c9 100644 --- a/ShareX.UploadersLib/Forms/UploadersConfigForm.it-IT.resx +++ b/ShareX.UploadersLib/Forms/UploadersConfigForm.it-IT.resx @@ -309,9 +309,6 @@ Immagine: - - Caricamento Pubblico? - Caricamento Pubblico? diff --git a/ShareX.UploadersLib/Forms/UploadersConfigForm.ja-JP.resx b/ShareX.UploadersLib/Forms/UploadersConfigForm.ja-JP.resx index 8db54bfa2..dd0373a99 100644 --- a/ShareX.UploadersLib/Forms/UploadersConfigForm.ja-JP.resx +++ b/ShareX.UploadersLib/Forms/UploadersConfigForm.ja-JP.resx @@ -395,9 +395,6 @@ 独自のドメイン: - - 公開する - 更新 @@ -1017,12 +1014,6 @@ アプリケーション キー ID: - - 音声を維持 - - - 題: - URLにファイル名を付与 diff --git a/ShareX.UploadersLib/Forms/UploadersConfigForm.ko-KR.resx b/ShareX.UploadersLib/Forms/UploadersConfigForm.ko-KR.resx index 1155233a9..b282da6f8 100644 --- a/ShareX.UploadersLib/Forms/UploadersConfigForm.ko-KR.resx +++ b/ShareX.UploadersLib/Forms/UploadersConfigForm.ko-KR.resx @@ -791,12 +791,6 @@ Azure Storage - - 공개 업로드 - - - Gfycat - Mega diff --git a/ShareX.UploadersLib/Forms/UploadersConfigForm.pl.resx b/ShareX.UploadersLib/Forms/UploadersConfigForm.pl.resx index 58c9b2d44..b447970df 100644 --- a/ShareX.UploadersLib/Forms/UploadersConfigForm.pl.resx +++ b/ShareX.UploadersLib/Forms/UploadersConfigForm.pl.resx @@ -279,9 +279,6 @@ Tryb transferu: - - Tytuł: - Podgląd @@ -411,12 +408,6 @@ Utwórz publiczny Gist - - Zachowaj dźwięk - - - Publiczne przesyłanie - Przesyłanie publiczne? diff --git a/ShareX.UploadersLib/Forms/UploadersConfigForm.pt-BR.resx b/ShareX.UploadersLib/Forms/UploadersConfigForm.pt-BR.resx index 0d3436290..07cf049ee 100644 --- a/ShareX.UploadersLib/Forms/UploadersConfigForm.pt-BR.resx +++ b/ShareX.UploadersLib/Forms/UploadersConfigForm.pt-BR.resx @@ -1080,15 +1080,6 @@ Usar uma biblioteca encriptada desabilita o compartilhamento. ID da chave do aplicativo: - - Título: - - - Manter áudio - - - Upload público - Links compartilhados com expiração automática @@ -1272,9 +1263,6 @@ Usar uma biblioteca encriptada desabilita o compartilhamento. Teknik - - Gfycat - Kutt diff --git a/ShareX.UploadersLib/Forms/UploadersConfigForm.pt-PT.resx b/ShareX.UploadersLib/Forms/UploadersConfigForm.pt-PT.resx index 82ef678e7..c2cb0141d 100644 --- a/ShareX.UploadersLib/Forms/UploadersConfigForm.pt-PT.resx +++ b/ShareX.UploadersLib/Forms/UploadersConfigForm.pt-PT.resx @@ -500,12 +500,6 @@ Por exemplo, se o teu nome for 'bucket.example.com' a hiperligação será http: ID da chave secreta: - - Manter o aúdio - - - Upload público - Actualizar diff --git a/ShareX.UploadersLib/Forms/UploadersConfigForm.resx b/ShareX.UploadersLib/Forms/UploadersConfigForm.resx index 3adb27d17..97a99c94b 100644 --- a/ShareX.UploadersLib/Forms/UploadersConfigForm.resx +++ b/ShareX.UploadersLib/Forms/UploadersConfigForm.resx @@ -6473,186 +6473,6 @@ For example, if your bucket is called "bucket.example.com" then URL will be "htt 9 - - 16, 368 - - - 320, 20 - - - 9 - - - txtGfycatTitle - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tpGfycat - - - 0 - - - True - - - NoControl - - - 13, 352 - - - 30, 13 - - - 8 - - - Title: - - - lblGfycatTitle - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tpGfycat - - - 1 - - - True - - - NoControl - - - 16, 328 - - - 80, 17 - - - 7 - - - Keep audio - - - cbGfycatKeepAudio - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tpGfycat - - - 2 - - - True - - - NoControl - - - 16, 304 - - - 90, 17 - - - 6 - - - Public upload - - - cbGfycatIsPublic - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tpGfycat - - - 3 - - - 16, 16 - - - 208, 40 - - - 3 - - - atcGfycatAccountType - - - ShareX.UploadersLib.AccountTypeControl, ShareX.UploadersLib, Version=15.0.1.0, Culture=neutral, PublicKeyToken=null - - - tpGfycat - - - 4 - - - 16, 64 - - - 328, 240 - - - 2 - - - oauth2Gfycat - - - ShareX.UploadersLib.OAuthControl, ShareX.UploadersLib, Version=15.0.1.0, Culture=neutral, PublicKeyToken=null - - - tpGfycat - - - 5 - - - 4, 220 - - - 3, 3, 3, 3 - - - 178, 0 - - - 30 - - - Gfycat - - - tpGfycat - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tcFileUploaders - - - 10 - NoControl @@ -6969,7 +6789,7 @@ For example, if your bucket is called "bucket.example.com" then URL will be "htt tcFileUploaders - 11 + 10 True @@ -7461,7 +7281,7 @@ For example, if your bucket is called "bucket.example.com" then URL will be "htt tcFileUploaders - 12 + 11 True @@ -7671,7 +7491,7 @@ For example, if your bucket is called "bucket.example.com" then URL will be "htt tcFileUploaders - 13 + 12 True @@ -7833,7 +7653,7 @@ For example, if your bucket is called "bucket.example.com" then URL will be "htt tcFileUploaders - 14 + 13 NoControl @@ -8010,7 +7830,7 @@ For example, if your bucket is called "bucket.example.com" then URL will be "htt tcFileUploaders - 15 + 14 True @@ -8169,7 +7989,7 @@ For example, if your bucket is called "bucket.example.com" then URL will be "htt tcFileUploaders - 16 + 15 472, 277 @@ -8376,7 +8196,7 @@ For example, if your bucket is called "bucket.example.com" then URL will be "htt tcFileUploaders - 17 + 16 True @@ -8535,7 +8355,7 @@ For example, if your bucket is called "bucket.example.com" then URL will be "htt tcFileUploaders - 18 + 17 16, 80 @@ -8664,7 +8484,7 @@ For example, if your bucket is called "bucket.example.com" then URL will be "htt tcFileUploaders - 19 + 18 https://seacloud.cc/api2/ @@ -9655,7 +9475,7 @@ Using an encrypted library disables sharing. tcFileUploaders - 20 + 19 True @@ -9823,7 +9643,7 @@ Using an encrypted library disables sharing. tcFileUploaders - 21 + 20 NoControl @@ -9928,7 +9748,7 @@ Using an encrypted library disables sharing. tcFileUploaders - 22 + 21 NoControl @@ -10162,7 +9982,7 @@ Using an encrypted library disables sharing. tcFileUploaders - 23 + 22 True @@ -10669,7 +10489,7 @@ Using an encrypted library disables sharing. tcFileUploaders - 24 + 23 8, 8 @@ -10885,7 +10705,7 @@ Using an encrypted library disables sharing. tcFileUploaders - 25 + 24 False @@ -11191,7 +11011,7 @@ Using an encrypted library disables sharing. tcFileUploaders - 26 + 25 16, 408 @@ -11611,7 +11431,7 @@ Using an encrypted library disables sharing. tcFileUploaders - 27 + 26 Fill diff --git a/ShareX.UploadersLib/Forms/UploadersConfigForm.ru.resx b/ShareX.UploadersLib/Forms/UploadersConfigForm.ru.resx index 77c85eba7..f23c0d587 100644 --- a/ShareX.UploadersLib/Forms/UploadersConfigForm.ru.resx +++ b/ShareX.UploadersLib/Forms/UploadersConfigForm.ru.resx @@ -717,9 +717,6 @@ Пользовательский домен: - - Публичная загрузка - Имя пользователя: @@ -1020,9 +1017,6 @@ Имя альбома: - - Оставлять звук - Публичная загрузка @@ -1068,9 +1062,6 @@ никогда - - Заголовок: - Токен: diff --git a/ShareX.UploadersLib/Forms/UploadersConfigForm.tr.resx b/ShareX.UploadersLib/Forms/UploadersConfigForm.tr.resx index 123d56706..87cd71875 100644 --- a/ShareX.UploadersLib/Forms/UploadersConfigForm.tr.resx +++ b/ShareX.UploadersLib/Forms/UploadersConfigForm.tr.resx @@ -654,9 +654,6 @@ Mesela klasör ismi "bucket.example.com" ise o zaman adres "http://bucket.exampl Yükleme halka açık mı? - - Halka açık karşıya yükle - Yorum (Markdown) @@ -840,9 +837,6 @@ Mesela klasör ismi "bucket.example.com" ise o zaman adres "http://bucket.exampl API adresini yapıştır: - - Başlık: - Yükleme API adresi: @@ -951,9 +945,6 @@ Mesela klasör ismi "bucket.example.com" ise o zaman adres "http://bucket.exampl Kısa bağlantı - - Sesi koru - Silinebilir diff --git a/ShareX.UploadersLib/Forms/UploadersConfigForm.uk.resx b/ShareX.UploadersLib/Forms/UploadersConfigForm.uk.resx index aa669c4d6..b92494f4d 100644 --- a/ShareX.UploadersLib/Forms/UploadersConfigForm.uk.resx +++ b/ShareX.UploadersLib/Forms/UploadersConfigForm.uk.resx @@ -435,9 +435,6 @@ Шлях вивантаження: - - Публічне вивантаження - Оновити diff --git a/ShareX.UploadersLib/Forms/UploadersConfigForm.vi-VN.resx b/ShareX.UploadersLib/Forms/UploadersConfigForm.vi-VN.resx index 6bfe1f368..1e70f0a9e 100644 --- a/ShareX.UploadersLib/Forms/UploadersConfigForm.vi-VN.resx +++ b/ShareX.UploadersLib/Forms/UploadersConfigForm.vi-VN.resx @@ -863,9 +863,6 @@ Ví dụ: nếu tên bucket là bucket.example.com thì URL sẽ là http://buck Lấy key user... - - Gfycat - GitHub Gist @@ -1082,9 +1079,6 @@ Ví dụ: nếu tên bucket là bucket.example.com thì URL sẽ là http://buck Tải lên công khai? - - Tải lên công khai? - Là URL bí mật @@ -1221,9 +1215,6 @@ Sử dụng thư viện được mã hóa sẽ vô hiệu hóa chia sẻ. Ảnh - - Giữ lại âm thanh - Đặt quyền công khai cho tệp (public-read ACL) @@ -1281,9 +1272,6 @@ Sử dụng thư viện được mã hóa sẽ vô hiệu hóa chia sẻ. Cấp truy cập liên kết được chia sẻ: - - Tiêu đề: - Tên miền: diff --git a/ShareX.UploadersLib/Forms/UploadersConfigForm.zh-CN.resx b/ShareX.UploadersLib/Forms/UploadersConfigForm.zh-CN.resx index 41b566ba6..47bc08f15 100644 --- a/ShareX.UploadersLib/Forms/UploadersConfigForm.zh-CN.resx +++ b/ShareX.UploadersLib/Forms/UploadersConfigForm.zh-CN.resx @@ -747,9 +747,6 @@ 账户名称: - - 公共上传 - ownCloud 8.1+ 兼容性 @@ -1032,9 +1029,6 @@ 图片 - - 保持声音 - 密码: @@ -1149,9 +1143,6 @@ Flickr - - Gfycat - Hastebin @@ -1278,9 +1269,6 @@ 显示视频选项对话框 - - 标题: - 您随时可通过该链接撤销您的访问权限: diff --git a/ShareX.UploadersLib/Forms/UploadersConfigForm.zh-TW.resx b/ShareX.UploadersLib/Forms/UploadersConfigForm.zh-TW.resx index 2acb2da73..77e15b29f 100644 --- a/ShareX.UploadersLib/Forms/UploadersConfigForm.zh-TW.resx +++ b/ShareX.UploadersLib/Forms/UploadersConfigForm.zh-TW.resx @@ -791,12 +791,6 @@ 從網址路徑移除檔案副檔名 - - 公開上傳 - - - 保留音訊 - 在檔案中設定公開 ACL diff --git a/ShareX.UploadersLib/Helpers/ProgressManager.cs b/ShareX.UploadersLib/Helpers/ProgressManager.cs index 1bcf31a69..2721aed63 100644 --- a/ShareX.UploadersLib/Helpers/ProgressManager.cs +++ b/ShareX.UploadersLib/Helpers/ProgressManager.cs @@ -54,8 +54,6 @@ public TimeSpan Remaining } } - public string CustomProgressText { get; set; } - private Stopwatch startTimer = new Stopwatch(); private Stopwatch smoothTimer = new Stopwatch(); private int smoothTime = 250; diff --git a/ShareX.UploadersLib/Properties/Resources.Designer.cs b/ShareX.UploadersLib/Properties/Resources.Designer.cs index 5fbcd4851..b814ad2e5 100644 --- a/ShareX.UploadersLib/Properties/Resources.Designer.cs +++ b/ShareX.UploadersLib/Properties/Resources.Designer.cs @@ -289,16 +289,6 @@ internal class Resources { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap Gfycat { - get { - object obj = ResourceManager.GetObject("Gfycat", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - /// /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). /// diff --git a/ShareX.UploadersLib/Properties/Resources.resx b/ShareX.UploadersLib/Properties/Resources.resx index 6d754950c..cdef86de1 100644 --- a/ShareX.UploadersLib/Properties/Resources.resx +++ b/ShareX.UploadersLib/Properties/Resources.resx @@ -329,9 +329,6 @@ Created folders: ..\Favicons\Plik.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Favicons\Gfycat.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - Paste verification code here diff --git a/ShareX.UploadersLib/ShareX.UploadersLib.csproj b/ShareX.UploadersLib/ShareX.UploadersLib.csproj index 5593911ce..fbd8b4f38 100644 --- a/ShareX.UploadersLib/ShareX.UploadersLib.csproj +++ b/ShareX.UploadersLib/ShareX.UploadersLib.csproj @@ -248,7 +248,6 @@ UploadersConfigForm.cs - Form @@ -1248,7 +1247,6 @@ - diff --git a/ShareX.UploadersLib/UploadersConfig.cs b/ShareX.UploadersLib/UploadersConfig.cs index 2e14cdf4a..2b16d6a8b 100644 --- a/ShareX.UploadersLib/UploadersConfig.cs +++ b/ShareX.UploadersLib/UploadersConfig.cs @@ -179,16 +179,6 @@ public class UploadersConfig : SettingsBase #endregion OneDrive - #region Gfycat - - public OAuth2Info GfycatOAuth2Info { get; set; } = null; - public AccountType GfycatAccountType { get; set; } = AccountType.Anonymous; - public bool GfycatIsPublic { get; set; } = false; - public bool GfycatKeepAudio { get; set; } = true; - public string GfycatTitle { get; set; } = "ShareX"; - - #endregion Gfycat - #region Google Drive public OAuth2Info GoogleDriveOAuth2Info { get; set; } = null; diff --git a/ShareX/TaskManager.cs b/ShareX/TaskManager.cs index 47eac4dc0..758019a0e 100644 --- a/ShareX/TaskManager.cs +++ b/ShareX/TaskManager.cs @@ -200,20 +200,12 @@ private static void Task_UploadProgressChanged(WorkerTask task) if (lvi != null) { lvi.SubItems[1].Text = string.Format("{0:0.0}%", info.Progress.Percentage); + lvi.SubItems[2].Text = string.Format("{0} / {1}", info.Progress.Position.ToSizeString(Program.Settings.BinaryUnits), + info.Progress.Length.ToSizeString(Program.Settings.BinaryUnits)); - if (info.Progress.CustomProgressText != null) + if (info.Progress.Speed > 0) { - lvi.SubItems[2].Text = info.Progress.CustomProgressText; - lvi.SubItems[3].Text = ""; - } - else - { - lvi.SubItems[2].Text = string.Format("{0} / {1}", info.Progress.Position.ToSizeString(Program.Settings.BinaryUnits), info.Progress.Length.ToSizeString(Program.Settings.BinaryUnits)); - - if (info.Progress.Speed > 0) - { - lvi.SubItems[3].Text = ((long)info.Progress.Speed).ToSizeString(Program.Settings.BinaryUnits) + "/s"; - } + lvi.SubItems[3].Text = ((long)info.Progress.Speed).ToSizeString(Program.Settings.BinaryUnits) + "/s"; } lvi.SubItems[4].Text = Helpers.ProperTimeSpan(info.Progress.Elapsed);