All hard coded strings which require translation moved to resources

This commit is contained in:
Jaex 2014-10-17 15:19:28 +03:00
parent e75c8ecf33
commit 1c8b184f6f
21 changed files with 154 additions and 83 deletions

View file

@ -133,7 +133,7 @@ private void SendPing(string ip)
TaskEx.Run(() => TaskEx.Run(() =>
{ {
PingResult pingResult = PingHelper.PingHost(ip); PingResult pingResult = PingHelper.PingHost(ip);
MessageBox.Show(pingResult.ToString(), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(pingResult.ToString(), "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
}, },
() => () =>
{ {

View file

@ -55,7 +55,7 @@ public static bool CheckStartWithWindows()
{ {
try try
{ {
return CheckRegistry(WindowsStartupRun, Application.ProductName, StartupPath); return CheckRegistry(WindowsStartupRun, ApplicationName, StartupPath);
} }
catch (Exception e) catch (Exception e)
{ {
@ -75,11 +75,11 @@ public static void SetStartWithWindows(bool startWithWindows)
{ {
if (startWithWindows) if (startWithWindows)
{ {
regkey.SetValue(Application.ProductName, StartupPath, RegistryValueKind.String); regkey.SetValue(ApplicationName, StartupPath, RegistryValueKind.String);
} }
else else
{ {
regkey.DeleteValue(Application.ProductName, false); regkey.DeleteValue(ApplicationName, false);
} }
} }
} }

View file

@ -95,7 +95,7 @@ public static bool CheckShortcut(Environment.SpecialFolder specialFolder)
private static string GetShortcutPath(Environment.SpecialFolder specialFolder) private static string GetShortcutPath(Environment.SpecialFolder specialFolder)
{ {
string folderPath = Environment.GetFolderPath(specialFolder); string folderPath = Environment.GetFolderPath(specialFolder);
string shortcutPath = Path.Combine(folderPath, Application.ProductName); string shortcutPath = Path.Combine(folderPath, "ShareX");
if (!Path.GetExtension(shortcutPath).Equals(".lnk", StringComparison.InvariantCultureIgnoreCase)) if (!Path.GetExtension(shortcutPath).Equals(".lnk", StringComparison.InvariantCultureIgnoreCase))
{ {

View file

@ -25,11 +25,9 @@ You should have received a copy of the GNU General Public License
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel;
namespace HelpersLib namespace HelpersLib
{ {
[Localizable(false)]
public static class MimeTypes public static class MimeTypes
{ {
public static readonly string DefaultMimeType = "application/octet-stream"; public static readonly string DefaultMimeType = "application/octet-stream";

View file

@ -24,14 +24,12 @@ You should have received a copy of the GNU General Public License
#endregion License Information (GPL v3) #endregion License Information (GPL v3)
using System; using System;
using System.ComponentModel;
using System.Drawing; using System.Drawing;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Text; using System.Text;
namespace HelpersLib namespace HelpersLib
{ {
[Localizable(false)]
public static partial class NativeMethods public static partial class NativeMethods
{ {
#region Delegates #region Delegates

View file

@ -73,7 +73,7 @@ public static bool CreateSingleInstance(EventHandler<InstanceCallbackEventArgs>
{ {
try try
{ {
return CreateSingleInstance(Application.ProductName, callback, args); return CreateSingleInstance("ShareX", callback, args);
} }
catch catch
{ {

View file

@ -124,8 +124,7 @@ protected override string GetFileNameRow(FileInfo fi, int level)
protected override string GetFooter() protected override string GetFooter()
{ {
return string.Format("Generated by {0} on {1}.", string.Format("<a href=\"{0}\">{1}</a>", Links.URL_WEBSITE, return string.Format("Generated by {0} on {1}.", string.Format("<a href=\"{0}\">{1}</a>", Links.URL_WEBSITE, "ShareX " + Application.ProductVersion),
string.Format("{0} v{1}", Application.ProductName, Application.ProductVersion)),
DateTime.UtcNow.ToString("yyyy-MM-dd 'at' HH:mm:ss 'UTC'")); DateTime.UtcNow.ToString("yyyy-MM-dd 'at' HH:mm:ss 'UTC'"));
} }
} }

View file

@ -306,11 +306,11 @@ private void DownloaderForm_InstallRequested(string filePath)
UpdateUI(); UpdateUI();
}); });
MessageBox.Show(Resources.FFmpegOptionsForm_DownloaderForm_InstallRequested_Successfully_downloaded_FFmpeg_, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.FFmpegOptionsForm_DownloaderForm_InstallRequested_Successfully_downloaded_FFmpeg_, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
else else
{ {
MessageBox.Show(Resources.FFmpegOptionsForm_DownloaderForm_InstallRequested_Download_of_FFmpeg_failed_, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(Resources.FFmpegOptionsForm_DownloaderForm_InstallRequested_Download_of_FFmpeg_failed_, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
} }

View file

@ -79,14 +79,14 @@ public void StartRecording(TaskSettings taskSettings)
if (!Program.Settings.VideoEncoders.IsValidIndex(taskSettings.CaptureSettings.VideoEncoderSelected)) if (!Program.Settings.VideoEncoders.IsValidIndex(taskSettings.CaptureSettings.VideoEncoderSelected))
{ {
MessageBox.Show(Resources.ScreenRecordForm_StartRecording_There_is_no_valid_CLI_video_encoder_selected_, MessageBox.Show(Resources.ScreenRecordForm_StartRecording_There_is_no_valid_CLI_video_encoder_selected_,
Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Warning); "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return; return;
} }
else if (!Program.Settings.VideoEncoders[taskSettings.CaptureSettings.VideoEncoderSelected].IsValid()) else if (!Program.Settings.VideoEncoders[taskSettings.CaptureSettings.VideoEncoderSelected].IsValid())
{ {
MessageBox.Show(Resources.ScreenRecordForm_StartRecording_CLI_video_encoder_file_does_not_exist__ + MessageBox.Show(Resources.ScreenRecordForm_StartRecording_CLI_video_encoder_file_does_not_exist__ +
Program.Settings.VideoEncoders[taskSettings.CaptureSettings.VideoEncoderSelected].Path, Program.Settings.VideoEncoders[taskSettings.CaptureSettings.VideoEncoderSelected].Path,
Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Warning); "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return; return;
} }
} }
@ -278,11 +278,11 @@ private void DownloaderForm_InstallRequested(string filePath)
if (result) if (result)
{ {
MessageBox.Show(Resources.ScreenRecordForm_DownloaderForm_InstallRequested_FFmpeg_successfully_downloaded_, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.ScreenRecordForm_DownloaderForm_InstallRequested_FFmpeg_successfully_downloaded_, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
else else
{ {
MessageBox.Show(Resources.ScreenRecordForm_DownloaderForm_InstallRequested_Download_of_FFmpeg_failed_, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(Resources.ScreenRecordForm_DownloaderForm_InstallRequested_Download_of_FFmpeg_failed_, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
} }

View file

@ -751,7 +751,7 @@ private void btnScreenRecorderOptions_Click(object sender, EventArgs e)
catch (Exception ex) catch (Exception ex)
{ {
TaskSettings.CaptureSettings.AVIOptions.CompressOptions = new AVICOMPRESSOPTIONS(); TaskSettings.CaptureSettings.AVIOptions.CompressOptions = new AVICOMPRESSOPTIONS();
MessageBox.Show(ex.ToString(), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(ex.ToString(), "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
break; break;
case ScreenRecordOutput.FFmpeg: case ScreenRecordOutput.FFmpeg:

View file

@ -32,6 +32,7 @@ You should have received a copy of the GNU General Public License
using System.Net.FtpClient; using System.Net.FtpClient;
using System.Windows.Forms; using System.Windows.Forms;
using UploadersLib.FileUploaders; using UploadersLib.FileUploaders;
using UploadersLib.Properties;
namespace UploadersLib namespace UploadersLib
{ {
@ -60,8 +61,8 @@ public FTPClientForm(FTPAccount account)
Client = new FTP(account); Client = new FTP(account);
pgAccount.SelectedObject = Client.Account; pgAccount.SelectedObject = Client.Account;
Text = "ShareX FTP client - " + account.Name; Text = Resources.FTPClientForm_FTPClientForm_ShareX_FTP_client + " - " + account.Name;
lblConnecting.Text = "Connecting to " + account.FTPAddress; lblConnecting.Text = string.Format(Resources.FTPClientForm_FTPClientForm_Connecting_to__0_, account.FTPAddress);
TaskEx.Run(() => TaskEx.Run(() =>
{ {
@ -291,7 +292,7 @@ private void FTPDelete()
private void FTPCreateDirectory() private void FTPCreateDirectory()
{ {
using (InputBox ib = new InputBox("Directory name to create")) using (InputBox ib = new InputBox(Resources.FTPClientForm_FTPCreateDirectory_Directory_name_to_create))
{ {
ib.ShowDialog(); ib.ShowDialog();
this.ShowActivate(); this.ShowActivate();

View file

@ -156,7 +156,7 @@ public List<MinusFolder> ReadFolderList()
} }
else else
{ {
MinusFolder mf = CreateFolder(Application.ProductName, true); MinusFolder mf = CreateFolder("ShareX", true);
if (mf != null) if (mf != null)
{ {
Config.FolderList.Add(mf); Config.FolderList.Add(mf);

View file

@ -460,7 +460,7 @@ public void LoadSettings(UploadersConfig uploadersConfig)
- Consumer Name: {1} - Consumer Name: {1}
- Public Key (without quotes): '{3}' - Public Key (without quotes): '{3}'
- You can now authenticate to Jira", Links.URL_WEBSITE, Application.ProductName, APIKeys.JiraConsumerKey, Jira.PublicKey); - You can now authenticate to Jira", Links.URL_WEBSITE, "ShareX", APIKeys.JiraConsumerKey, Jira.PublicKey);
if (OAuthInfo.CheckOAuth(Config.JiraOAuthInfo)) if (OAuthInfo.CheckOAuth(Config.JiraOAuthInfo))
{ {
@ -664,11 +664,11 @@ private void btnImageShackLogin_Click(object sender, EventArgs e)
{ {
if (imageShackUploader.GetAccessToken()) if (imageShackUploader.GetAccessToken())
{ {
MessageBox.Show(Resources.UploadersConfigForm_Login_successful, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.UploadersConfigForm_Login_successful, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
else else
{ {
MessageBox.Show(Resources.UploadersConfigForm_Login_failed, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(Resources.UploadersConfigForm_Login_failed, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
} }
catch (Exception ex) catch (Exception ex)
@ -740,11 +740,11 @@ private void btnTinyPicLogin_Click(object sender, EventArgs e)
if (!string.IsNullOrEmpty(registrationCode)) if (!string.IsNullOrEmpty(registrationCode))
{ {
Config.TinyPicRegistrationCode = registrationCode; Config.TinyPicRegistrationCode = registrationCode;
MessageBox.Show(Resources.UploadersConfigForm_Login_successful, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.UploadersConfigForm_Login_successful, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
else else
{ {
MessageBox.Show(Resources.UploadersConfigForm_Login_failed, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(Resources.UploadersConfigForm_Login_failed, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
} }
catch (Exception ex) catch (Exception ex)
@ -1607,7 +1607,7 @@ private void oAuthJira_ClearButtonClicked()
private void oAuthJira_RefreshButtonClicked() private void oAuthJira_RefreshButtonClicked()
{ {
MessageBox.Show(Resources.UploadersConfigForm_oAuthJira_RefreshButtonClicked_Refresh_authorization_is_not_supported_, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.UploadersConfigForm_oAuthJira_RefreshButtonClicked_Refresh_authorization_is_not_supported_, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
#endregion Jira #endregion Jira

View file

@ -81,12 +81,12 @@ public void ImgurAuthComplete(string code)
if (result) if (result)
{ {
oauth2Imgur.Status = OAuthLoginStatus.LoginSuccessful; oauth2Imgur.Status = OAuthLoginStatus.LoginSuccessful;
MessageBox.Show(Resources.UploadersConfigForm_Login_successful, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.UploadersConfigForm_Login_successful, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
else else
{ {
oauth2Imgur.Status = OAuthLoginStatus.LoginFailed; oauth2Imgur.Status = OAuthLoginStatus.LoginFailed;
MessageBox.Show(Resources.UploadersConfigForm_Login_failed, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(Resources.UploadersConfigForm_Login_failed, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
atcImgurAccountType.SelectedAccountType = AccountType.Anonymous; atcImgurAccountType.SelectedAccountType = AccountType.Anonymous;
} }
@ -110,12 +110,12 @@ public void ImgurAuthRefresh()
if (result) if (result)
{ {
oauth2Imgur.Status = OAuthLoginStatus.LoginSuccessful; oauth2Imgur.Status = OAuthLoginStatus.LoginSuccessful;
MessageBox.Show(Resources.UploadersConfigForm_Login_successful, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.UploadersConfigForm_Login_successful, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
else else
{ {
oauth2Imgur.Status = OAuthLoginStatus.LoginFailed; oauth2Imgur.Status = OAuthLoginStatus.LoginFailed;
MessageBox.Show(Resources.UploadersConfigForm_Login_failed, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(Resources.UploadersConfigForm_Login_failed, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
atcImgurAccountType.SelectedAccountType = AccountType.Anonymous; atcImgurAccountType.SelectedAccountType = AccountType.Anonymous;
} }
@ -198,7 +198,7 @@ public void FlickrAuthComplete()
Config.FlickrAuthInfo = flickr.GetToken(token); Config.FlickrAuthInfo = flickr.GetToken(token);
pgFlickrAuthInfo.SelectedObject = Config.FlickrAuthInfo; pgFlickrAuthInfo.SelectedObject = Config.FlickrAuthInfo;
// btnFlickrOpenImages.Text = string.Format("{0}'s photostream", Config.FlickrAuthInfo.Username); // btnFlickrOpenImages.Text = string.Format("{0}'s photostream", Config.FlickrAuthInfo.Username);
MessageBox.Show(Resources.UploadersConfigForm_Login_successful, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.UploadersConfigForm_Login_successful, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
} }
catch (Exception ex) catch (Exception ex)
@ -219,7 +219,7 @@ public void FlickrCheckToken()
FlickrUploader flickr = new FlickrUploader(APIKeys.FlickrKey, APIKeys.FlickrSecret); FlickrUploader flickr = new FlickrUploader(APIKeys.FlickrKey, APIKeys.FlickrSecret);
Config.FlickrAuthInfo = flickr.CheckToken(token); Config.FlickrAuthInfo = flickr.CheckToken(token);
pgFlickrAuthInfo.SelectedObject = Config.FlickrAuthInfo; pgFlickrAuthInfo.SelectedObject = Config.FlickrAuthInfo;
MessageBox.Show(Resources.UploadersConfigForm_Login_successful, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.UploadersConfigForm_Login_successful, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
} }
} }
@ -290,12 +290,12 @@ public void PhotobucketAuthComplete()
Config.PhotobucketAccountInfo.AlbumList.Add(Config.PhotobucketAccountInfo.AlbumID); Config.PhotobucketAccountInfo.AlbumList.Add(Config.PhotobucketAccountInfo.AlbumID);
cboPhotobucketAlbumPaths.Items.Add(Config.PhotobucketAccountInfo.AlbumID); cboPhotobucketAlbumPaths.Items.Add(Config.PhotobucketAccountInfo.AlbumID);
cboPhotobucketAlbumPaths.SelectedIndex = 0; cboPhotobucketAlbumPaths.SelectedIndex = 0;
MessageBox.Show(Resources.UploadersConfigForm_Login_successful, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.UploadersConfigForm_Login_successful, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
else else
{ {
lblPhotobucketAccountStatus.Text = Resources.UploadersConfigForm_Login_failed; lblPhotobucketAccountStatus.Text = Resources.UploadersConfigForm_Login_failed;
MessageBox.Show(Resources.UploadersConfigForm_Login_failed, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(Resources.UploadersConfigForm_Login_failed, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
} }
} }
@ -313,7 +313,7 @@ public void PhotobucketCreateAlbum()
string albumPath = txtPhotobucketParentAlbumPath.Text + "/" + txtPhotobucketNewAlbumName.Text; string albumPath = txtPhotobucketParentAlbumPath.Text + "/" + txtPhotobucketNewAlbumName.Text;
Config.PhotobucketAccountInfo.AlbumList.Add(albumPath); Config.PhotobucketAccountInfo.AlbumList.Add(albumPath);
cboPhotobucketAlbumPaths.Items.Add(albumPath); cboPhotobucketAlbumPaths.Items.Add(albumPath);
MessageBox.Show(string.Format(Resources.UploadersConfigForm_PhotobucketCreateAlbum__0__successfully_created_, albumPath), Application.ProductName, MessageBox.Show(string.Format(Resources.UploadersConfigForm_PhotobucketCreateAlbum__0__successfully_created_, albumPath), "ShareX",
MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
} }
@ -358,12 +358,12 @@ public void PicasaAuthComplete(string code)
if (result) if (result)
{ {
oauth2Picasa.Status = OAuthLoginStatus.LoginSuccessful; oauth2Picasa.Status = OAuthLoginStatus.LoginSuccessful;
MessageBox.Show(Resources.UploadersConfigForm_Login_successful, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.UploadersConfigForm_Login_successful, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
else else
{ {
oauth2Picasa.Status = OAuthLoginStatus.LoginFailed; oauth2Picasa.Status = OAuthLoginStatus.LoginFailed;
MessageBox.Show(Resources.UploadersConfigForm_Login_failed, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(Resources.UploadersConfigForm_Login_failed, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
btnPicasaRefreshAlbumList.Enabled = result; btnPicasaRefreshAlbumList.Enabled = result;
@ -386,12 +386,12 @@ public void PicasaAuthRefresh()
if (result) if (result)
{ {
oauth2Picasa.Status = OAuthLoginStatus.LoginSuccessful; oauth2Picasa.Status = OAuthLoginStatus.LoginSuccessful;
MessageBox.Show(Resources.UploadersConfigForm_Login_successful, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.UploadersConfigForm_Login_successful, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
else else
{ {
oauth2Picasa.Status = OAuthLoginStatus.LoginFailed; oauth2Picasa.Status = OAuthLoginStatus.LoginFailed;
MessageBox.Show(Resources.UploadersConfigForm_Login_failed, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(Resources.UploadersConfigForm_Login_failed, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
btnPicasaRefreshAlbumList.Enabled = result; btnPicasaRefreshAlbumList.Enabled = result;
@ -493,11 +493,11 @@ public void DropboxAuthComplete(string code)
if (Config.DropboxAccountInfo != null) if (Config.DropboxAccountInfo != null)
{ {
MessageBox.Show(Resources.UploadersConfigForm_Login_successful, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.UploadersConfigForm_Login_successful, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
else else
{ {
MessageBox.Show(Resources.UploadersConfigForm_DropboxAuthComplete_Login_successful_but_getting_account_info_failed_, Application.ProductName, MessageBox.Show(Resources.UploadersConfigForm_DropboxAuthComplete_Login_successful_but_getting_account_info_failed_, "ShareX",
MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
@ -506,7 +506,7 @@ public void DropboxAuthComplete(string code)
else else
{ {
oauth2Dropbox.Status = OAuthLoginStatus.LoginFailed; oauth2Dropbox.Status = OAuthLoginStatus.LoginFailed;
MessageBox.Show(Resources.UploadersConfigForm_Login_failed, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(Resources.UploadersConfigForm_Login_failed, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
} }
@ -592,11 +592,11 @@ public void CopyAuthComplete(string code)
if (Config.CopyAccountInfo != null) if (Config.CopyAccountInfo != null)
{ {
MessageBox.Show(Resources.UploadersConfigForm_Login_successful, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.UploadersConfigForm_Login_successful, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
else else
{ {
MessageBox.Show(Resources.UploadersConfigForm_DropboxAuthComplete_Login_successful_but_getting_account_info_failed_, Application.ProductName, MessageBox.Show(Resources.UploadersConfigForm_DropboxAuthComplete_Login_successful_but_getting_account_info_failed_, "ShareX",
MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
@ -605,7 +605,7 @@ public void CopyAuthComplete(string code)
else else
{ {
oAuthCopy.Status = OAuthLoginStatus.LoginFailed; oAuthCopy.Status = OAuthLoginStatus.LoginFailed;
MessageBox.Show(Resources.UploadersConfigForm_Login_failed, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(Resources.UploadersConfigForm_Login_failed, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
} }
@ -690,12 +690,12 @@ public void GoogleDriveAuthComplete(string code)
if (result) if (result)
{ {
oauth2GoogleDrive.Status = OAuthLoginStatus.LoginSuccessful; oauth2GoogleDrive.Status = OAuthLoginStatus.LoginSuccessful;
MessageBox.Show(Resources.UploadersConfigForm_Login_successful, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.UploadersConfigForm_Login_successful, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
else else
{ {
oauth2GoogleDrive.Status = OAuthLoginStatus.LoginFailed; oauth2GoogleDrive.Status = OAuthLoginStatus.LoginFailed;
MessageBox.Show(Resources.UploadersConfigForm_Login_failed, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(Resources.UploadersConfigForm_Login_failed, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
btnGoogleDriveRefreshFolders.Enabled = result; btnGoogleDriveRefreshFolders.Enabled = result;
@ -718,12 +718,12 @@ public void GoogleDriveAuthRefresh()
if (result) if (result)
{ {
oauth2GoogleDrive.Status = OAuthLoginStatus.LoginSuccessful; oauth2GoogleDrive.Status = OAuthLoginStatus.LoginSuccessful;
MessageBox.Show(Resources.UploadersConfigForm_Login_successful, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.UploadersConfigForm_Login_successful, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
else else
{ {
oauth2GoogleDrive.Status = OAuthLoginStatus.LoginFailed; oauth2GoogleDrive.Status = OAuthLoginStatus.LoginFailed;
MessageBox.Show(Resources.UploadersConfigForm_Login_failed, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(Resources.UploadersConfigForm_Login_failed, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
btnGoogleDriveRefreshFolders.Enabled = result; btnGoogleDriveRefreshFolders.Enabled = result;
@ -812,12 +812,12 @@ public void BoxAuthComplete(string code)
if (result) if (result)
{ {
oauth2Box.Status = OAuthLoginStatus.LoginSuccessful; oauth2Box.Status = OAuthLoginStatus.LoginSuccessful;
MessageBox.Show(Resources.UploadersConfigForm_Login_successful, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.UploadersConfigForm_Login_successful, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
else else
{ {
oauth2Box.Status = OAuthLoginStatus.LoginFailed; oauth2Box.Status = OAuthLoginStatus.LoginFailed;
MessageBox.Show(Resources.UploadersConfigForm_Login_failed, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(Resources.UploadersConfigForm_Login_failed, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
btnBoxRefreshFolders.Enabled = result; btnBoxRefreshFolders.Enabled = result;
@ -840,12 +840,12 @@ public void BoxAuthRefresh()
if (result) if (result)
{ {
oauth2Box.Status = OAuthLoginStatus.LoginSuccessful; oauth2Box.Status = OAuthLoginStatus.LoginSuccessful;
MessageBox.Show(Resources.UploadersConfigForm_Login_successful, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.UploadersConfigForm_Login_successful, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
else else
{ {
oauth2Box.Status = OAuthLoginStatus.LoginFailed; oauth2Box.Status = OAuthLoginStatus.LoginFailed;
MessageBox.Show(Resources.UploadersConfigForm_Login_failed, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(Resources.UploadersConfigForm_Login_failed, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
btnBoxRefreshFolders.Enabled = result; btnBoxRefreshFolders.Enabled = result;
@ -932,13 +932,13 @@ public void OneDriveAuthComplete(string code)
{ {
Config.OneDriveOAuth2Info = onedrive.AuthInfo; Config.OneDriveOAuth2Info = onedrive.AuthInfo;
oAuth2OneDrive.Status = OAuthLoginStatus.LoginSuccessful; oAuth2OneDrive.Status = OAuthLoginStatus.LoginSuccessful;
MessageBox.Show(Resources.UploadersConfigForm_Login_successful, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.UploadersConfigForm_Login_successful, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
else else
{ {
Config.OneDriveOAuth2Info = null; Config.OneDriveOAuth2Info = null;
oAuth2OneDrive.Status = OAuthLoginStatus.LoginFailed; oAuth2OneDrive.Status = OAuthLoginStatus.LoginFailed;
MessageBox.Show(Resources.UploadersConfigForm_Login_failed, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(Resources.UploadersConfigForm_Login_failed, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
} }
} }
@ -971,16 +971,16 @@ public void MinusAuth()
{ {
minus.ReadFolderList(); minus.ReadFolderList();
MinusUpdateControls(); MinusUpdateControls();
MessageBox.Show(Resources.UploadersConfigForm_Login_successful, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.UploadersConfigForm_Login_successful, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
else else
{ {
MessageBox.Show(Resources.UploadersConfigForm_Login_failed, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(Resources.UploadersConfigForm_Login_failed, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
} }
catch (Exception ex) catch (Exception ex)
{ {
MessageBox.Show(Resources.UploadersConfigForm_Error + ": " + ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(Resources.UploadersConfigForm_Error + ": " + ex.Message, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
finally finally
{ {
@ -1003,11 +1003,11 @@ public void MinusAuthRefresh()
if (result) if (result)
{ {
MessageBox.Show(Resources.UploadersConfigForm_Login_successful, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.UploadersConfigForm_Login_successful, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
else else
{ {
MessageBox.Show(Resources.UploadersConfigForm_Login_failed, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(Resources.UploadersConfigForm_Login_failed, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
} }
} }
@ -1169,7 +1169,7 @@ public static void TestFTPAccount(FTPAccount account)
msg = e.Message; msg = e.Message;
} }
MessageBox.Show(msg, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(msg, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
#endregion FTP #endregion FTP
@ -1228,12 +1228,12 @@ public void PastebinLogin()
if (pastebin.Login()) if (pastebin.Login())
{ {
UpdatePastebinStatus(); UpdatePastebinStatus();
MessageBox.Show(Resources.UploadersConfigForm_Login_successful, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.UploadersConfigForm_Login_successful, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
else else
{ {
UpdatePastebinStatus(); UpdatePastebinStatus();
MessageBox.Show(Resources.UploadersConfigForm_Login_failed, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(Resources.UploadersConfigForm_Login_failed, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
} }
catch (Exception ex) catch (Exception ex)
@ -1326,11 +1326,11 @@ public void TwitterAuthComplete()
acc.AuthVerifier = string.Empty; acc.AuthVerifier = string.Empty;
Config.TwitterOAuthInfoList[Config.TwitterSelectedAccount] = acc; Config.TwitterOAuthInfoList[Config.TwitterSelectedAccount] = acc;
ucTwitterAccounts.pgSettings.SelectedObject = acc; ucTwitterAccounts.pgSettings.SelectedObject = acc;
MessageBox.Show(Resources.UploadersConfigForm_Login_successful, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.UploadersConfigForm_Login_successful, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
else else
{ {
MessageBox.Show(Resources.UploadersConfigForm_Login_failed, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(Resources.UploadersConfigForm_Login_failed, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
} }
} }
@ -1376,12 +1376,12 @@ public void GoogleURLShortenerAuthComplete(string code)
if (result) if (result)
{ {
oauth2GoogleURLShortener.Status = OAuthLoginStatus.LoginSuccessful; oauth2GoogleURLShortener.Status = OAuthLoginStatus.LoginSuccessful;
MessageBox.Show(Resources.UploadersConfigForm_Login_successful, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.UploadersConfigForm_Login_successful, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
else else
{ {
oauth2GoogleURLShortener.Status = OAuthLoginStatus.LoginFailed; oauth2GoogleURLShortener.Status = OAuthLoginStatus.LoginFailed;
MessageBox.Show(Resources.UploadersConfigForm_Login_failed, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(Resources.UploadersConfigForm_Login_failed, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
} }
} }
@ -1402,12 +1402,12 @@ public void GoogleURLShortenerAuthRefresh()
if (result) if (result)
{ {
oauth2GoogleURLShortener.Status = OAuthLoginStatus.LoginSuccessful; oauth2GoogleURLShortener.Status = OAuthLoginStatus.LoginSuccessful;
MessageBox.Show(Resources.UploadersConfigForm_Login_successful, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.UploadersConfigForm_Login_successful, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
else else
{ {
oauth2GoogleURLShortener.Status = OAuthLoginStatus.LoginFailed; oauth2GoogleURLShortener.Status = OAuthLoginStatus.LoginFailed;
MessageBox.Show(Resources.UploadersConfigForm_Login_failed, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(Resources.UploadersConfigForm_Login_failed, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
} }
} }
@ -1457,12 +1457,12 @@ public void BitlyAuthComplete(string code)
if (result) if (result)
{ {
oauth2Bitly.Status = OAuthLoginStatus.LoginSuccessful; oauth2Bitly.Status = OAuthLoginStatus.LoginSuccessful;
MessageBox.Show(Resources.UploadersConfigForm_Login_successful, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.UploadersConfigForm_Login_successful, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
else else
{ {
oauth2Bitly.Status = OAuthLoginStatus.LoginFailed; oauth2Bitly.Status = OAuthLoginStatus.LoginFailed;
MessageBox.Show(Resources.UploadersConfigForm_Login_failed, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(Resources.UploadersConfigForm_Login_failed, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
} }
} }
@ -1727,12 +1727,12 @@ public void JiraAuthComplete(string code)
if (result) if (result)
{ {
oAuthJira.Status = OAuthLoginStatus.LoginSuccessful; oAuthJira.Status = OAuthLoginStatus.LoginSuccessful;
MessageBox.Show(Resources.UploadersConfigForm_Login_successful, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.UploadersConfigForm_Login_successful, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
else else
{ {
oAuthJira.Status = OAuthLoginStatus.LoginFailed; oAuthJira.Status = OAuthLoginStatus.LoginFailed;
MessageBox.Show(Resources.UploadersConfigForm_Login_failed, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(Resources.UploadersConfigForm_Login_failed, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
} }
} }
@ -1776,12 +1776,12 @@ public void GistAuthComplete(string code)
if (result) if (result)
{ {
oAuth2Gist.Status = OAuthLoginStatus.LoginSuccessful; oAuth2Gist.Status = OAuthLoginStatus.LoginSuccessful;
MessageBox.Show(Resources.UploadersConfigForm_Login_successful, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(Resources.UploadersConfigForm_Login_successful, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
else else
{ {
oAuth2Gist.Status = OAuthLoginStatus.LoginFailed; oAuth2Gist.Status = OAuthLoginStatus.LoginFailed;
MessageBox.Show(Resources.UploadersConfigForm_Login_failed, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(Resources.UploadersConfigForm_Login_failed, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Error);
atcGistAccountType.SelectedAccountType = AccountType.Anonymous; atcGistAccountType.SelectedAccountType = AccountType.Anonymous;
} }
} }

View file

@ -27,6 +27,7 @@ You should have received a copy of the GNU General Public License
using System.ComponentModel; using System.ComponentModel;
using System.Windows.Forms; using System.Windows.Forms;
using System.Windows.Forms.Design; using System.Windows.Forms.Design;
using UploadersLib.Properties;
namespace UploadersLib.HelperClasses namespace UploadersLib.HelperClasses
{ {
@ -40,7 +41,7 @@ public override object EditValue(ITypeDescriptorContext context, IServiceProvide
} }
using (OpenFileDialog dlg = new OpenFileDialog()) using (OpenFileDialog dlg = new OpenFileDialog())
{ {
dlg.Title = "Browse for a certificate file..."; dlg.Title = Resources.CertFileNameEditor_EditValue_Browse_for_a_certificate_file___;
dlg.Filter = "Certification (*.cer)|*.cer"; dlg.Filter = "Certification (*.cer)|*.cer";
if (dlg.ShowDialog() == DialogResult.OK) if (dlg.ShowDialog() == DialogResult.OK)
{ {

View file

@ -27,6 +27,7 @@ You should have received a copy of the GNU General Public License
using System.ComponentModel; using System.ComponentModel;
using System.Windows.Forms; using System.Windows.Forms;
using System.Windows.Forms.Design; using System.Windows.Forms.Design;
using UploadersLib.Properties;
namespace UploadersLib.HelperClasses namespace UploadersLib.HelperClasses
{ {
@ -40,7 +41,7 @@ public override object EditValue(ITypeDescriptorContext context, IServiceProvide
} }
using (OpenFileDialog dlg = new OpenFileDialog()) using (OpenFileDialog dlg = new OpenFileDialog())
{ {
dlg.Title = "Browse for a key File..."; dlg.Title = Resources.KeyFileNameEditor_EditValue_Browse_for_a_key_file___;
dlg.Filter = "Keyfile (*.*)|*.*"; dlg.Filter = "Keyfile (*.*)|*.*";
if (dlg.ShowDialog() == DialogResult.OK) if (dlg.ShowDialog() == DialogResult.OK)
{ {

View file

@ -25,6 +25,7 @@ You should have received a copy of the GNU General Public License
using System; using System;
using System.ComponentModel; using System.ComponentModel;
using UploadersLib.Properties;
namespace UploadersLib.HelperClasses namespace UploadersLib.HelperClasses
{ {
@ -72,7 +73,7 @@ public enum OAuthInfoSignatureMethod
public OAuthInfo() public OAuthInfo()
{ {
Description = "New account"; Description = Resources.OAuthInfo_OAuthInfo_New_account;
OAuthVersion = "1.0"; OAuthVersion = "1.0";
} }

View file

@ -100,6 +100,15 @@ internal static System.Drawing.Icon Box {
} }
} }
/// <summary>
/// Looks up a localized string similar to Browse for a certificate file....
/// </summary>
internal static string CertFileNameEditor_EditValue_Browse_for_a_certificate_file___ {
get {
return ResourceManager.GetString("CertFileNameEditor_EditValue_Browse_for_a_certificate_file___", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap. /// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary> /// </summary>
@ -247,6 +256,33 @@ internal static System.Drawing.Bitmap folder_user {
} }
} }
/// <summary>
/// Looks up a localized string similar to Connecting to {0}.
/// </summary>
internal static string FTPClientForm_FTPClientForm_Connecting_to__0_ {
get {
return ResourceManager.GetString("FTPClientForm_FTPClientForm_Connecting_to__0_", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to ShareX FTP client.
/// </summary>
internal static string FTPClientForm_FTPClientForm_ShareX_FTP_client {
get {
return ResourceManager.GetString("FTPClientForm_FTPClientForm_ShareX_FTP_client", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Directory name to create.
/// </summary>
internal static string FTPClientForm_FTPCreateDirectory_Directory_name_to_create {
get {
return ResourceManager.GetString("FTPClientForm_FTPCreateDirectory_Directory_name_to_create", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
/// </summary> /// </summary>
@ -356,6 +392,15 @@ internal static string JiraUpload_ValidateIssueId_Issue_not_found {
} }
} }
/// <summary>
/// Looks up a localized string similar to Browse for a key file....
/// </summary>
internal static string KeyFileNameEditor_EditValue_Browse_for_a_key_file___ {
get {
return ResourceManager.GetString("KeyFileNameEditor_EditValue_Browse_for_a_key_file___", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap. /// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary> /// </summary>
@ -433,6 +478,15 @@ internal static string OAuthControl_Status_Status__Not_logged_in_ {
} }
} }
/// <summary>
/// Looks up a localized string similar to New account.
/// </summary>
internal static string OAuthInfo_OAuthInfo_New_account {
get {
return ResourceManager.GetString("OAuthInfo_OAuthInfo_New_account", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
/// </summary> /// </summary>

View file

@ -440,4 +440,22 @@ Created folders:</value>
<data name="UploadersConfigForm_UpdateDropboxStatus_Download_path_" xml:space="preserve"> <data name="UploadersConfigForm_UpdateDropboxStatus_Download_path_" xml:space="preserve">
<value>Download path:</value> <value>Download path:</value>
</data> </data>
<data name="FTPClientForm_FTPClientForm_ShareX_FTP_client" xml:space="preserve">
<value>ShareX FTP client</value>
</data>
<data name="FTPClientForm_FTPClientForm_Connecting_to__0_" xml:space="preserve">
<value>Connecting to {0}</value>
</data>
<data name="FTPClientForm_FTPCreateDirectory_Directory_name_to_create" xml:space="preserve">
<value>Directory name to create</value>
</data>
<data name="KeyFileNameEditor_EditValue_Browse_for_a_key_file___" xml:space="preserve">
<value>Browse for a key file...</value>
</data>
<data name="CertFileNameEditor_EditValue_Browse_for_a_certificate_file___" xml:space="preserve">
<value>Browse for a certificate file...</value>
</data>
<data name="OAuthInfo_OAuthInfo_New_account" xml:space="preserve">
<value>New account</value>
</data>
</root> </root>

View file

@ -40,7 +40,7 @@ namespace UploadersLib
{ {
public class Uploader public class Uploader
{ {
private static readonly string UserAgent = string.Format("{0} {1}", Application.ProductName, Application.ProductVersion); private static readonly string UserAgent = "ShareX " + Application.ProductVersion;
public delegate void ProgressEventHandler(ProgressManager progress); public delegate void ProgressEventHandler(ProgressManager progress);
public event ProgressEventHandler ProgressChanged; public event ProgressEventHandler ProgressChanged;

View file

@ -196,7 +196,7 @@ public class UploadersConfig : SettingsBase<UploadersConfig>
public bool EmailRememberLastTo = true; public bool EmailRememberLastTo = true;
public bool EmailConfirmSend = true; public bool EmailConfirmSend = true;
public string EmailLastTo = string.Empty; public string EmailLastTo = string.Empty;
public string EmailDefaultSubject = "Sending email from " + Application.ProductName; public string EmailDefaultSubject = "Sending email from ShareX";
public string EmailDefaultBody = "Screenshot is attached."; public string EmailDefaultBody = "Screenshot is attached.";
// Jira // Jira