Removed Gfycat uploader

This commit is contained in:
Jaex 2023-10-13 01:25:35 +03:00
parent 9283e0bb87
commit 9526a384a0
29 changed files with 21 additions and 845 deletions

View File

@ -53,8 +53,6 @@ namespace ShareX.UploadersLib
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 = "";

View File

@ -101,8 +101,6 @@ namespace ShareX.UploadersLib
AzureStorage,
[Description("Backblaze B2")]
BackblazeB2,
[Description("Gfycat")]
Gfycat,
[Description("ownCloud / Nextcloud")]
OwnCloud,
[Description("MediaFire")]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 871 B

View File

@ -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 <http://www.gnu.org/licenses/>.
*/
#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<string, string> args = new Dictionary<string, string>();
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<OAuth2Token>(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<OAuth2Token>(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<string, string> args = new Dictionary<string, string>();
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<GfycatStatusResponse>(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<string, object> args = new Dictionary<string, object>();
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<GfycatCreateResponse>(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<OAuth2Token>(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; }
}
}

View File

@ -299,13 +299,6 @@ namespace ShareX.UploadersLib
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 @@ namespace ShareX.UploadersLib
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 @@ namespace ShareX.UploadersLib
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 @@ namespace ShareX.UploadersLib
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 @@ namespace ShareX.UploadersLib
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 @@ namespace ShareX.UploadersLib
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 @@ namespace ShareX.UploadersLib
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 @@ namespace ShareX.UploadersLib
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;

View File

@ -688,23 +688,6 @@ namespace ShareX.UploadersLib
#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 @@ namespace ShareX.UploadersLib
#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()

View File

@ -279,9 +279,6 @@
<data name="cbGoogleDriveIsPublic.Text" xml:space="preserve">
<value>¿Es enlace público?</value>
</data>
<data name="cbGfycatIsPublic.Text" xml:space="preserve">
<value>Subida pública</value>
</data>
<data name="cbImageShackIsPublic.Text" xml:space="preserve">
<value>¿Es enlace público?</value>
</data>
@ -1034,9 +1031,6 @@ Por ejemplo, si el bucket se llama bucket.example.com, la URL será http://bucke
<data name="tpFTP.Text" xml:space="preserve">
<value>FTP / FTPS / SFTP</value>
</data>
<data name="tpGfycat.Text" xml:space="preserve">
<value>Gfycat</value>
</data>
<data name="tpGist.Text" xml:space="preserve">
<value>GitHub Gist</value>
</data>
@ -1188,9 +1182,6 @@ Por ejemplo, si el bucket se llama bucket.example.com, la URL será http://bucke
<data name="cbB2CustomUrl.Text" xml:space="preserve">
<value>Usar enlace personalizado (se permiten patrones de formato):</value>
</data>
<data name="cbGfycatKeepAudio.Text" xml:space="preserve">
<value>Conservar audio</value>
</data>
<data name="cbGoogleCloudStorageSetPublicACL.Text" xml:space="preserve">
<value>Definir permiso de lectura pública al archivo</value>
</data>

View File

@ -804,9 +804,6 @@ Utiliser une bibliothèque chiffrée désactive le partage.</value>
<data name="lblAmazonS3Region.Text" xml:space="preserve">
<value>Région :</value>
</data>
<data name="cbGfycatIsPublic.Text" xml:space="preserve">
<value>Mise en ligne publique</value>
</data>
<data name="lblGistCustomURLExample.Text" xml:space="preserve">
<value>Exemple : https://api.github.com</value>
</data>
@ -1101,9 +1098,6 @@ Utiliser une bibliothèque chiffrée désactive le partage.</value>
<data name="btnPaste_eeGetUserKey.Text" xml:space="preserve">
<value>Obtenir la clé utilisateur...</value>
</data>
<data name="tpGfycat.Text" xml:space="preserve">
<value>Gfycat</value>
</data>
<data name="tpGist.Text" xml:space="preserve">
<value>GitHub Gist</value>
</data>
@ -1128,9 +1122,6 @@ Utiliser une bibliothèque chiffrée désactive le partage.</value>
<data name="cbKuttReuse.Text" xml:space="preserve">
<value>Si une URL avec la cible spécifiée existe, la retourner</value>
</data>
<data name="cbGfycatKeepAudio.Text" xml:space="preserve">
<value>Conserver l'audio</value>
</data>
<data name="tpLambda.Text" xml:space="preserve">
<value>Lambda</value>
</data>

View File

@ -126,9 +126,6 @@
<data name="cbPlikTTLUnit.Items" xml:space="preserve">
<value>ימים</value>
</data>
<data name="lblGfycatTitle.Text" xml:space="preserve">
<value>כותרת:</value>
</data>
<data name="cbOwnCloudAppendFileNameToURL.Text" xml:space="preserve">
<value>הוסף את שם הקובץ לקישור</value>
</data>
@ -399,9 +396,6 @@
<data name="lblPhotobucketAccountStatus.Text" xml:space="preserve">
<value>נדרשת התחברות.</value>
</data>
<data name="cbGfycatKeepAudio.Text" xml:space="preserve">
<value>שמור על שמע</value>
</data>
<data name="btnGooglePhotosCreateAlbum.Text" xml:space="preserve">
<value>צור</value>
</data>
@ -628,9 +622,6 @@
<data name="cbGooglePhotosIsPublic.Text" xml:space="preserve">
<value>העלאה ציבורית</value>
</data>
<data name="cbGfycatIsPublic.Text" xml:space="preserve">
<value>העלאה ציבורית</value>
</data>
<data name="lblFTPTransferMode.Text" xml:space="preserve">
<value>מצב העברה:</value>
</data>

View File

@ -459,9 +459,6 @@
<data name="tpFlickr.Text" xml:space="preserve">
<value>Flickr</value>
</data>
<data name="tpGfycat.Text" xml:space="preserve">
<value>Gfycat</value>
</data>
<data name="tpGist.Text" xml:space="preserve">
<value>GitHub Gist</value>
</data>
@ -906,9 +903,6 @@
<data name="cbGoogleDriveIsPublic.Text" xml:space="preserve">
<value>Apakah unggah publik?</value>
</data>
<data name="cbGfycatIsPublic.Text" xml:space="preserve">
<value>Apakah unggah publik?</value>
</data>
<data name="cbPastieIsPublic.Text" xml:space="preserve">
<value>Apakah unggah publik?</value>
</data>

View File

@ -309,9 +309,6 @@
<data name="lblFTPImage.Text" xml:space="preserve">
<value>Immagine:</value>
</data>
<data name="cbGfycatIsPublic.Text" xml:space="preserve">
<value>Caricamento Pubblico?</value>
</data>
<data name="cbImageShackIsPublic.Text" xml:space="preserve">
<value>Caricamento Pubblico?</value>
</data>

View File

@ -395,9 +395,6 @@
<data name="lblAzureStorageCustomDomain.Text" xml:space="preserve">
<value>独自のドメイン:</value>
</data>
<data name="cbGfycatIsPublic.Text" xml:space="preserve">
<value>公開する</value>
</data>
<data name="btnMegaRefreshFolders.Text" xml:space="preserve">
<value>更新</value>
</data>
@ -1017,12 +1014,6 @@
<data name="lblB2ApplicationKeyId.Text" xml:space="preserve">
<value>アプリケーション キー ID:</value>
</data>
<data name="cbGfycatKeepAudio.Text" xml:space="preserve">
<value>音声を維持</value>
</data>
<data name="lblGfycatTitle.Text" xml:space="preserve">
<value>題:</value>
</data>
<data name="cbOwnCloudAppendFileNameToURL.Text" xml:space="preserve">
<value>URLにファイル名を付与</value>
</data>

View File

@ -791,12 +791,6 @@
<data name="tpAzureStorage.Text" xml:space="preserve">
<value>Azure Storage</value>
</data>
<data name="cbGfycatIsPublic.Text" xml:space="preserve">
<value>공개 업로드</value>
</data>
<data name="tpGfycat.Text" xml:space="preserve">
<value>Gfycat</value>
</data>
<data name="tpMega.Text" xml:space="preserve">
<value>Mega</value>
</data>

View File

@ -279,9 +279,6 @@
<data name="lblFTPTransferMode.Text" xml:space="preserve">
<value>Tryb transferu:</value>
</data>
<data name="lblGfycatTitle.Text" xml:space="preserve">
<value>Tytuł:</value>
</data>
<data name="lblGoogleCloudStoragePathPreview.Text" xml:space="preserve">
<value>Podgląd</value>
</data>
@ -411,12 +408,6 @@
<data name="cbGistPublishPublic.Text" xml:space="preserve">
<value>Utwórz publiczny Gist</value>
</data>
<data name="cbGfycatKeepAudio.Text" xml:space="preserve">
<value>Zachowaj dźwięk</value>
</data>
<data name="cbGfycatIsPublic.Text" xml:space="preserve">
<value>Publiczne przesyłanie</value>
</data>
<data name="cbGoogleDriveIsPublic.Text" xml:space="preserve">
<value>Przesyłanie publiczne?</value>
</data>

View File

@ -1080,15 +1080,6 @@ Usar uma biblioteca encriptada desabilita o compartilhamento.</value>
<data name="lblB2ApplicationKeyId.Text" xml:space="preserve">
<value>ID da chave do aplicativo:</value>
</data>
<data name="lblGfycatTitle.Text" xml:space="preserve">
<value>Título:</value>
</data>
<data name="cbGfycatKeepAudio.Text" xml:space="preserve">
<value>Manter áudio</value>
</data>
<data name="cbGfycatIsPublic.Text" xml:space="preserve">
<value>Upload público</value>
</data>
<data name="cbOwnCloudAutoExpire.Text" xml:space="preserve">
<value>Links compartilhados com expiração automática</value>
</data>
@ -1272,9 +1263,6 @@ Usar uma biblioteca encriptada desabilita o compartilhamento.</value>
<data name="tpTeknik.Text" xml:space="preserve">
<value>Teknik</value>
</data>
<data name="tpGfycat.Text" xml:space="preserve">
<value>Gfycat</value>
</data>
<data name="tpKutt.Text" xml:space="preserve">
<value>Kutt</value>
</data>

View File

@ -500,12 +500,6 @@ Por exemplo, se o teu nome for 'bucket.example.com' a hiperligação será http:
<data name="lblB2ApplicationKeyId.Text" xml:space="preserve">
<value>ID da chave secreta:</value>
</data>
<data name="cbGfycatKeepAudio.Text" xml:space="preserve">
<value>Manter o aúdio</value>
</data>
<data name="cbGfycatIsPublic.Text" xml:space="preserve">
<value>Upload público</value>
</data>
<data name="btnMegaRefreshFolders.Text" xml:space="preserve">
<value>Actualizar</value>
</data>

View File

@ -6473,186 +6473,6 @@ For example, if your bucket is called "bucket.example.com" then URL will be "htt
<data name="&gt;&gt;tpBackblazeB2.ZOrder" xml:space="preserve">
<value>9</value>
</data>
<data name="txtGfycatTitle.Location" type="System.Drawing.Point, System.Drawing">
<value>16, 368</value>
</data>
<data name="txtGfycatTitle.Size" type="System.Drawing.Size, System.Drawing">
<value>320, 20</value>
</data>
<data name="txtGfycatTitle.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
</data>
<data name="&gt;&gt;txtGfycatTitle.Name" xml:space="preserve">
<value>txtGfycatTitle</value>
</data>
<data name="&gt;&gt;txtGfycatTitle.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;txtGfycatTitle.Parent" xml:space="preserve">
<value>tpGfycat</value>
</data>
<data name="&gt;&gt;txtGfycatTitle.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="lblGfycatTitle.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="lblGfycatTitle.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="lblGfycatTitle.Location" type="System.Drawing.Point, System.Drawing">
<value>13, 352</value>
</data>
<data name="lblGfycatTitle.Size" type="System.Drawing.Size, System.Drawing">
<value>30, 13</value>
</data>
<data name="lblGfycatTitle.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="lblGfycatTitle.Text" xml:space="preserve">
<value>Title:</value>
</data>
<data name="&gt;&gt;lblGfycatTitle.Name" xml:space="preserve">
<value>lblGfycatTitle</value>
</data>
<data name="&gt;&gt;lblGfycatTitle.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;lblGfycatTitle.Parent" xml:space="preserve">
<value>tpGfycat</value>
</data>
<data name="&gt;&gt;lblGfycatTitle.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="cbGfycatKeepAudio.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="cbGfycatKeepAudio.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="cbGfycatKeepAudio.Location" type="System.Drawing.Point, System.Drawing">
<value>16, 328</value>
</data>
<data name="cbGfycatKeepAudio.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 17</value>
</data>
<data name="cbGfycatKeepAudio.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="cbGfycatKeepAudio.Text" xml:space="preserve">
<value>Keep audio</value>
</data>
<data name="&gt;&gt;cbGfycatKeepAudio.Name" xml:space="preserve">
<value>cbGfycatKeepAudio</value>
</data>
<data name="&gt;&gt;cbGfycatKeepAudio.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;cbGfycatKeepAudio.Parent" xml:space="preserve">
<value>tpGfycat</value>
</data>
<data name="&gt;&gt;cbGfycatKeepAudio.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="cbGfycatIsPublic.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="cbGfycatIsPublic.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="cbGfycatIsPublic.Location" type="System.Drawing.Point, System.Drawing">
<value>16, 304</value>
</data>
<data name="cbGfycatIsPublic.Size" type="System.Drawing.Size, System.Drawing">
<value>90, 17</value>
</data>
<data name="cbGfycatIsPublic.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="cbGfycatIsPublic.Text" xml:space="preserve">
<value>Public upload</value>
</data>
<data name="&gt;&gt;cbGfycatIsPublic.Name" xml:space="preserve">
<value>cbGfycatIsPublic</value>
</data>
<data name="&gt;&gt;cbGfycatIsPublic.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;cbGfycatIsPublic.Parent" xml:space="preserve">
<value>tpGfycat</value>
</data>
<data name="&gt;&gt;cbGfycatIsPublic.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="atcGfycatAccountType.Location" type="System.Drawing.Point, System.Drawing">
<value>16, 16</value>
</data>
<data name="atcGfycatAccountType.Size" type="System.Drawing.Size, System.Drawing">
<value>208, 40</value>
</data>
<data name="atcGfycatAccountType.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;atcGfycatAccountType.Name" xml:space="preserve">
<value>atcGfycatAccountType</value>
</data>
<data name="&gt;&gt;atcGfycatAccountType.Type" xml:space="preserve">
<value>ShareX.UploadersLib.AccountTypeControl, ShareX.UploadersLib, Version=15.0.1.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;atcGfycatAccountType.Parent" xml:space="preserve">
<value>tpGfycat</value>
</data>
<data name="&gt;&gt;atcGfycatAccountType.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="oauth2Gfycat.Location" type="System.Drawing.Point, System.Drawing">
<value>16, 64</value>
</data>
<data name="oauth2Gfycat.Size" type="System.Drawing.Size, System.Drawing">
<value>328, 240</value>
</data>
<data name="oauth2Gfycat.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="&gt;&gt;oauth2Gfycat.Name" xml:space="preserve">
<value>oauth2Gfycat</value>
</data>
<data name="&gt;&gt;oauth2Gfycat.Type" xml:space="preserve">
<value>ShareX.UploadersLib.OAuthControl, ShareX.UploadersLib, Version=15.0.1.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;oauth2Gfycat.Parent" xml:space="preserve">
<value>tpGfycat</value>
</data>
<data name="&gt;&gt;oauth2Gfycat.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="tpGfycat.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 220</value>
</data>
<data name="tpGfycat.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="tpGfycat.Size" type="System.Drawing.Size, System.Drawing">
<value>178, 0</value>
</data>
<data name="tpGfycat.TabIndex" type="System.Int32, mscorlib">
<value>30</value>
</data>
<data name="tpGfycat.Text" xml:space="preserve">
<value>Gfycat</value>
</data>
<data name="&gt;&gt;tpGfycat.Name" xml:space="preserve">
<value>tpGfycat</value>
</data>
<data name="&gt;&gt;tpGfycat.Type" xml:space="preserve">
<value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tpGfycat.Parent" xml:space="preserve">
<value>tcFileUploaders</value>
</data>
<data name="&gt;&gt;tpGfycat.ZOrder" xml:space="preserve">
<value>10</value>
</data>
<data name="btnMegaRefreshFolders.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
@ -6969,7 +6789,7 @@ For example, if your bucket is called "bucket.example.com" then URL will be "htt
<value>tcFileUploaders</value>
</data>
<data name="&gt;&gt;tpMega.ZOrder" xml:space="preserve">
<value>11</value>
<value>10</value>
</data>
<data name="cbOwnCloudAppendFileNameToURL.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -7461,7 +7281,7 @@ For example, if your bucket is called "bucket.example.com" then URL will be "htt
<value>tcFileUploaders</value>
</data>
<data name="&gt;&gt;tpOwnCloud.ZOrder" xml:space="preserve">
<value>12</value>
<value>11</value>
</data>
<data name="cbMediaFireUseLongLink.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -7671,7 +7491,7 @@ For example, if your bucket is called "bucket.example.com" then URL will be "htt
<value>tcFileUploaders</value>
</data>
<data name="&gt;&gt;tpMediaFire.ZOrder" xml:space="preserve">
<value>13</value>
<value>12</value>
</data>
<data name="lblPushbulletDevices.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -7833,7 +7653,7 @@ For example, if your bucket is called "bucket.example.com" then URL will be "htt
<value>tcFileUploaders</value>
</data>
<data name="&gt;&gt;tpPushbullet.ZOrder" xml:space="preserve">
<value>14</value>
<value>13</value>
</data>
<data name="btnSendSpaceRegister.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
@ -8010,7 +7830,7 @@ For example, if your bucket is called "bucket.example.com" then URL will be "htt
<value>tcFileUploaders</value>
</data>
<data name="&gt;&gt;tpSendSpace.ZOrder" xml:space="preserve">
<value>15</value>
<value>14</value>
</data>
<data name="cbLocalhostrDirectURL.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -8169,7 +7989,7 @@ For example, if your bucket is called "bucket.example.com" then URL will be "htt
<value>tcFileUploaders</value>
</data>
<data name="&gt;&gt;tpHostr.ZOrder" xml:space="preserve">
<value>16</value>
<value>15</value>
</data>
<data name="txtJiraIssuePrefix.Location" type="System.Drawing.Point, System.Drawing">
<value>472, 277</value>
@ -8376,7 +8196,7 @@ For example, if your bucket is called "bucket.example.com" then URL will be "htt
<value>tcFileUploaders</value>
</data>
<data name="&gt;&gt;tpJira.ZOrder" xml:space="preserve">
<value>17</value>
<value>16</value>
</data>
<data name="lblLambdaInfo.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -8535,7 +8355,7 @@ For example, if your bucket is called "bucket.example.com" then URL will be "htt
<value>tcFileUploaders</value>
</data>
<data name="&gt;&gt;tpLambda.ZOrder" xml:space="preserve">
<value>18</value>
<value>17</value>
</data>
<data name="txtPomfResultURL.Location" type="System.Drawing.Point, System.Drawing">
<value>16, 80</value>
@ -8664,7 +8484,7 @@ For example, if your bucket is called "bucket.example.com" then URL will be "htt
<value>tcFileUploaders</value>
</data>
<data name="&gt;&gt;tpPomf.ZOrder" xml:space="preserve">
<value>19</value>
<value>18</value>
</data>
<data name="cbSeafileAPIURL.Items" xml:space="preserve">
<value>https://seacloud.cc/api2/</value>
@ -9655,7 +9475,7 @@ Using an encrypted library disables sharing.</value>
<value>tcFileUploaders</value>
</data>
<data name="&gt;&gt;tpSeafile.ZOrder" xml:space="preserve">
<value>20</value>
<value>19</value>
</data>
<data name="cbStreamableUseDirectURL.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -9823,7 +9643,7 @@ Using an encrypted library disables sharing.</value>
<value>tcFileUploaders</value>
</data>
<data name="&gt;&gt;tpStreamable.ZOrder" xml:space="preserve">
<value>21</value>
<value>20</value>
</data>
<data name="btnSulGetAPIKey.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
@ -9928,7 +9748,7 @@ Using an encrypted library disables sharing.</value>
<value>tcFileUploaders</value>
</data>
<data name="&gt;&gt;tpSul.ZOrder" xml:space="preserve">
<value>22</value>
<value>21</value>
</data>
<data name="btnLithiioFetchAPIKey.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
@ -10162,7 +9982,7 @@ Using an encrypted library disables sharing.</value>
<value>tcFileUploaders</value>
</data>
<data name="&gt;&gt;tpLithiio.ZOrder" xml:space="preserve">
<value>23</value>
<value>22</value>
</data>
<data name="cbPlikOneShot.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -10669,7 +10489,7 @@ Using an encrypted library disables sharing.</value>
<value>tcFileUploaders</value>
</data>
<data name="&gt;&gt;tpPlik.ZOrder" xml:space="preserve">
<value>24</value>
<value>23</value>
</data>
<data name="oauth2YouTube.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 8</value>
@ -10885,7 +10705,7 @@ Using an encrypted library disables sharing.</value>
<value>tcFileUploaders</value>
</data>
<data name="&gt;&gt;tpYouTube.ZOrder" xml:space="preserve">
<value>25</value>
<value>24</value>
</data>
<data name="lbSharedFolderAccounts.IntegralHeight" type="System.Boolean, mscorlib">
<value>False</value>
@ -11191,7 +11011,7 @@ Using an encrypted library disables sharing.</value>
<value>tcFileUploaders</value>
</data>
<data name="&gt;&gt;tpSharedFolder.ZOrder" xml:space="preserve">
<value>26</value>
<value>25</value>
</data>
<data name="txtEmailAutomaticSendTo.Location" type="System.Drawing.Point, System.Drawing">
<value>16, 408</value>
@ -11611,7 +11431,7 @@ Using an encrypted library disables sharing.</value>
<value>tcFileUploaders</value>
</data>
<data name="&gt;&gt;tpEmail.ZOrder" xml:space="preserve">
<value>27</value>
<value>26</value>
</data>
<data name="tcFileUploaders.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>

View File

@ -717,9 +717,6 @@
<data name="lblGistCustomURL.Text" xml:space="preserve">
<value>Пользовательский домен:</value>
</data>
<data name="cbGfycatIsPublic.Text" xml:space="preserve">
<value>Публичная загрузка</value>
</data>
<data name="lblPlikUsername.Text" xml:space="preserve">
<value>Имя пользователя:</value>
</data>
@ -1020,9 +1017,6 @@
<data name="lblGooglePhotosCreateAlbumName.Text" xml:space="preserve">
<value>Имя альбома:</value>
</data>
<data name="cbGfycatKeepAudio.Text" xml:space="preserve">
<value>Оставлять звук</value>
</data>
<data name="cbGooglePhotosIsPublic.Text" xml:space="preserve">
<value>Публичная загрузка</value>
</data>
@ -1068,9 +1062,6 @@
<data name="cbPlikTTLUnit.Items3" xml:space="preserve">
<value>никогда</value>
</data>
<data name="lblGfycatTitle.Text" xml:space="preserve">
<value>Заголовок:</value>
</data>
<data name="lblZWSToken.Text" xml:space="preserve">
<value>Токен:</value>
</data>

View File

@ -654,9 +654,6 @@ Mesela klasör ismi "bucket.example.com" ise o zaman adres "http://bucket.exampl
<data name="cbPastieIsPublic.Text" xml:space="preserve">
<value>Yükleme halka açık mı?</value>
</data>
<data name="cbGfycatIsPublic.Text" xml:space="preserve">
<value>Halka açık karşıya yükle</value>
</data>
<data name="cbPlikComment.Text" xml:space="preserve">
<value>Yorum (Markdown)</value>
</data>
@ -840,9 +837,6 @@ Mesela klasör ismi "bucket.example.com" ise o zaman adres "http://bucket.exampl
<data name="lblTeknikPasteAPIUrl.Text" xml:space="preserve">
<value>API adresini yapıştır:</value>
</data>
<data name="lblGfycatTitle.Text" xml:space="preserve">
<value>Başlık:</value>
</data>
<data name="lblTeknikUploadAPIUrl.Text" xml:space="preserve">
<value>Yükleme API adresi:</value>
</data>
@ -951,9 +945,6 @@ Mesela klasör ismi "bucket.example.com" ise o zaman adres "http://bucket.exampl
<data name="cbFirebaseIsShort.Text" xml:space="preserve">
<value>Kısa bağlantı</value>
</data>
<data name="cbGfycatKeepAudio.Text" xml:space="preserve">
<value>Sesi koru</value>
</data>
<data name="cbPlikRemovable.Text" xml:space="preserve">
<value>Silinebilir</value>
</data>

View File

@ -435,9 +435,6 @@
<data name="lblB2UploadPath.Text" xml:space="preserve">
<value>Шлях вивантаження:</value>
</data>
<data name="cbGfycatIsPublic.Text" xml:space="preserve">
<value>Публічне вивантаження</value>
</data>
<data name="btnMegaRefreshFolders.Text" xml:space="preserve">
<value>Оновити</value>
</data>

View File

@ -863,9 +863,6 @@ Ví dụ: nếu tên bucket là bucket.example.com thì URL sẽ là http://buck
<data name="btnPaste_eeGetUserKey.Text" xml:space="preserve">
<value>Lấy key user...</value>
</data>
<data name="tpGfycat.Text" xml:space="preserve">
<value>Gfycat</value>
</data>
<data name="tpGist.Text" xml:space="preserve">
<value>GitHub Gist</value>
</data>
@ -1082,9 +1079,6 @@ Ví dụ: nếu tên bucket là bucket.example.com thì URL sẽ là http://buck
<data name="cbPastieIsPublic.Text" xml:space="preserve">
<value>Tải lên công khai?</value>
</data>
<data name="cbGfycatIsPublic.Text" xml:space="preserve">
<value>Tải lên công khai?</value>
</data>
<data name="cbPolrIsSecret.Text" xml:space="preserve">
<value>Là URL bí mật</value>
</data>
@ -1221,9 +1215,6 @@ Sử dụng thư viện được mã hóa sẽ vô hiệu hóa chia sẻ.</value
<data name="cbGoogleCloudStorageStripExtensionImage.Text" xml:space="preserve">
<value>Ảnh</value>
</data>
<data name="cbGfycatKeepAudio.Text" xml:space="preserve">
<value>Giữ lại âm thanh</value>
</data>
<data name="cbGoogleCloudStorageSetPublicACL.Text" xml:space="preserve">
<value>Đặt quyền công khai cho tệp (public-read ACL)</value>
</data>
@ -1281,9 +1272,6 @@ Sử dụng thư viện được mã hóa sẽ vô hiệu hóa chia sẻ.</value
<data name="lblBoxShareAccessLevel.Text" xml:space="preserve">
<value>Cấp truy cập liên kết được chia sẻ:</value>
</data>
<data name="lblGfycatTitle.Text" xml:space="preserve">
<value>Tiêu đề:</value>
</data>
<data name="lblKuttDomain.Text" xml:space="preserve">
<value>Tên miền:</value>
</data>

View File

@ -747,9 +747,6 @@
<data name="lblAzureStorageAccountName.Text" xml:space="preserve">
<value>账户名称:</value>
</data>
<data name="cbGfycatIsPublic.Text" xml:space="preserve">
<value>公共上传</value>
</data>
<data name="cbOwnCloud81Compatibility.Text" xml:space="preserve">
<value>ownCloud 8.1+ 兼容性</value>
</data>
@ -1032,9 +1029,6 @@
<data name="cbGoogleCloudStorageStripExtensionImage.Text" xml:space="preserve">
<value>图片</value>
</data>
<data name="cbGfycatKeepAudio.Text" xml:space="preserve">
<value>保持声音</value>
</data>
<data name="lblKuttPassword.Text" xml:space="preserve">
<value>密码:</value>
</data>
@ -1149,9 +1143,6 @@
<data name="tpFlickr.Text" xml:space="preserve">
<value>Flickr</value>
</data>
<data name="tpGfycat.Text" xml:space="preserve">
<value>Gfycat</value>
</data>
<data name="tpHastebin.Text" xml:space="preserve">
<value>Hastebin</value>
</data>
@ -1278,9 +1269,6 @@
<data name="cbYouTubeShowDialog.Text" xml:space="preserve">
<value>显示视频选项对话框</value>
</data>
<data name="lblGfycatTitle.Text" xml:space="preserve">
<value>标题:</value>
</data>
<data name="lblYouTubePermissionsTip.Text" xml:space="preserve">
<value>您随时可通过该链接撤销您的访问权限:</value>
</data>

View File

@ -791,12 +791,6 @@
<data name="cbFTPRemoveFileExtension.Text" xml:space="preserve">
<value>從網址路徑移除檔案副檔名</value>
</data>
<data name="cbGfycatIsPublic.Text" xml:space="preserve">
<value>公開上傳</value>
</data>
<data name="cbGfycatKeepAudio.Text" xml:space="preserve">
<value>保留音訊</value>
</data>
<data name="cbGoogleCloudStorageSetPublicACL.Text" xml:space="preserve">
<value>在檔案中設定公開 ACL</value>
</data>

View File

@ -54,8 +54,6 @@ namespace ShareX.UploadersLib
}
}
public string CustomProgressText { get; set; }
private Stopwatch startTimer = new Stopwatch();
private Stopwatch smoothTimer = new Stopwatch();
private int smoothTime = 250;

View File

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

View File

@ -329,9 +329,6 @@ Created folders:</value>
<data name="Plik" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Favicons\Plik.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Gfycat" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Favicons\Gfycat.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="OAuthControl_OAuthControl_PasteVerificationCodeHere" xml:space="preserve">
<value>Paste verification code here</value>
</data>

View File

@ -248,7 +248,6 @@
<DependentUpon>UploadersConfigForm.cs</DependentUpon>
</Compile>
<Compile Include="FileUploaders\Pushbullet.cs" />
<Compile Include="FileUploaders\GfycatUploader.cs" />
<Compile Include="CustomUploader\CustomUploaderInput.cs" />
<Compile Include="Forms\YouTubeVideoOptionsForm.cs">
<SubType>Form</SubType>
@ -1248,7 +1247,6 @@
<None Include="Favicons\Pastie.png" />
<None Include="Favicons\AzureStorage.png" />
<None Include="Favicons\Plik.ico" />
<None Include="Favicons\Gfycat.png" />
<None Include="Favicons\BackblazeB2.ico" />
<None Include="Favicons\Firebase.ico" />
<None Include="Favicons\YouTube.ico" />

View File

@ -179,16 +179,6 @@ namespace ShareX.UploadersLib
#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;

View File

@ -200,20 +200,12 @@ namespace ShareX
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);