Rename OCR sites variables, add more sites

Also fix sites dropdown style and enabled prop update
This commit is contained in:
Alexander 2021-10-29 23:22:06 +03:00
parent a9265ef093
commit 0d41bc8b8f
4 changed files with 63 additions and 51 deletions

View file

@ -36,8 +36,8 @@ private void InitializeComponent()
this.btnStartOCR = new System.Windows.Forms.Button();
this.pbProgress = new System.Windows.Forms.ProgressBar();
this.btnOpenInBrowser = new System.Windows.Forms.Button();
this.cbDefaultTLSite = new System.Windows.Forms.ComboBox();
this.lblTranslatorSite = new System.Windows.Forms.Label();
this.cbDefaultSite = new System.Windows.Forms.ComboBox();
this.lblExternalSite = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// cbLanguages
@ -84,25 +84,25 @@ private void InitializeComponent()
this.btnOpenInBrowser.UseVisualStyleBackColor = true;
this.btnOpenInBrowser.Click += new System.EventHandler(this.btnOpenInBrowser_Click);
//
// cbDefaultTLSite
// cbDefaultSite
//
this.cbDefaultTLSite.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbDefaultTLSite.FormattingEnabled = true;
resources.ApplyResources(this.cbDefaultTLSite, "cbDefaultTLSite");
this.cbDefaultTLSite.Name = "cbDefaultTLSite";
this.cbDefaultTLSite.SelectedIndexChanged += new System.EventHandler(this.cbDefaultTLSite_SelectedIndexChanged);
this.cbDefaultSite.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbDefaultSite.FormattingEnabled = true;
resources.ApplyResources(this.cbDefaultSite, "cbDefaultSite");
this.cbDefaultSite.Name = "cbDefaultSite";
this.cbDefaultSite.SelectedIndexChanged += new System.EventHandler(this.cbDefaultSite_SelectedIndexChanged);
//
// lblTranslatorSite
// lblExternalSite
//
resources.ApplyResources(this.lblTranslatorSite, "lblTranslatorSite");
this.lblTranslatorSite.Name = "lblTranslatorSite";
resources.ApplyResources(this.lblExternalSite, "lblExternalSite");
this.lblExternalSite.Name = "lblExternalSite";
//
// OCRSpaceForm
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.Controls.Add(this.lblTranslatorSite);
this.Controls.Add(this.cbDefaultTLSite);
this.Controls.Add(this.lblExternalSite);
this.Controls.Add(this.cbDefaultSite);
this.Controls.Add(this.btnOpenInBrowser);
this.Controls.Add(this.lblResult);
this.Controls.Add(this.txtResult);
@ -127,7 +127,7 @@ private void InitializeComponent()
private System.Windows.Forms.Button btnStartOCR;
private System.Windows.Forms.ProgressBar pbProgress;
private System.Windows.Forms.Button btnOpenInBrowser;
private System.Windows.Forms.ComboBox cbDefaultTLSite;
private System.Windows.Forms.Label lblTranslatorSite;
private System.Windows.Forms.ComboBox cbDefaultSite;
private System.Windows.Forms.Label lblExternalSite;
}
}

View file

@ -34,12 +34,20 @@
namespace ShareX.UploadersLib
{
public enum OCRSpaceTranslatorSites
public enum OCRSpaceSites
{
[Description("Google Translate")]
Google,
GoogleTranslate,
[Description("DeepL Translate")]
DeepL
DeepL,
[Description("Jisho")]
Jisho,
[Description("ichi.moe")]
Ichi,
[Description("Google")]
Google,
[Description("ekşi sözlük")]
Eksisozluk,
}
public partial class OCRSpaceForm : Form
@ -51,11 +59,15 @@ public partial class OCRSpaceForm : Form
private OCROptions ocrOptions;
private OCRSpaceLanguages Language { get; set; }
private Dictionary<OCRSpaceTranslatorSites, string> TranslatorSiteLinks =
new Dictionary<OCRSpaceTranslatorSites, string>()
private Dictionary<OCRSpaceSites, string> SiteLinks =
new Dictionary<OCRSpaceSites, string>()
{
{ OCRSpaceTranslatorSites.Google, "https://translate.google.com/#auto/en/" },
{ OCRSpaceTranslatorSites.DeepL, "https://www.deepl.com/translator#auto/en/" }
{ OCRSpaceSites.GoogleTranslate, "https://translate.google.com/#auto/en/" },
{ OCRSpaceSites.DeepL, "https://www.deepl.com/translator#auto/en/" },
{ OCRSpaceSites.Jisho, "https://jisho.org/search/" },
{ OCRSpaceSites.Ichi, "https://ichi.moe/cl/qr/?q=" },
{ OCRSpaceSites.Google, "https://www.google.com/search?q=" },
{ OCRSpaceSites.Eksisozluk, "https://eksisozluk.com/?q=" }
};
public OCRSpaceForm(OCROptions ocrOptions)
@ -67,8 +79,8 @@ public OCRSpaceForm(OCROptions ocrOptions)
cbLanguages.Items.AddRange(Helpers.GetEnumDescriptions<OCRSpaceLanguages>());
cbLanguages.SelectedIndex = (int)ocrOptions.DefaultLanguage;
cbDefaultTLSite.Items.AddRange(Helpers.GetEnumDescriptions<OCRSpaceTranslatorSites>());
cbDefaultTLSite.SelectedIndex = (int)ocrOptions.DefaultTranslatorSite;
cbDefaultSite.Items.AddRange(Helpers.GetEnumDescriptions<OCRSpaceSites>());
cbDefaultSite.SelectedIndex = (int)ocrOptions.DefaultSite;
Language = ocrOptions.DefaultLanguage;
txtResult.SupportSelectAll();
@ -106,7 +118,7 @@ public async Task StartOCR(Stream stream, string fileName)
{
if (stream != null && stream.Length > 0 && !string.IsNullOrEmpty(fileName))
{
cbLanguages.Enabled = btnStartOCR.Enabled = txtResult.Enabled = btnOpenInBrowser.Enabled = false;
cbLanguages.Enabled = btnStartOCR.Enabled = txtResult.Enabled = btnOpenInBrowser.Enabled = cbDefaultSite.Enabled = false;
pbProgress.Visible = true;
Result = await OCRSpace.DoOCRAsync(Language, stream, fileName);
@ -119,7 +131,7 @@ public async Task StartOCR(Stream stream, string fileName)
if (!IsDisposed)
{
UpdateControls();
cbLanguages.Enabled = btnStartOCR.Enabled = txtResult.Enabled = btnOpenInBrowser.Enabled = true;
cbLanguages.Enabled = btnStartOCR.Enabled = txtResult.Enabled = btnOpenInBrowser.Enabled = cbDefaultSite.Enabled = true;
pbProgress.Visible = false;
txtResult.Focus();
}
@ -138,14 +150,14 @@ private async void btnStartOCR_Click(object sender, EventArgs e)
private void btnOpenInBrowser_Click(object sender, EventArgs e)
{
URLHelpers.OpenURL(TranslatorSiteLinks[ocrOptions.DefaultTranslatorSite] + Uri.EscapeDataString(txtResult.Text));
URLHelpers.OpenURL(SiteLinks[ocrOptions.DefaultSite] + Uri.EscapeDataString(txtResult.Text));
Close();
}
private void cbDefaultTLSite_SelectedIndexChanged(object sender, EventArgs e)
private void cbDefaultSite_SelectedIndexChanged(object sender, EventArgs e)
{
// This doesn't work
ocrOptions.DefaultTranslatorSite = (OCRSpaceTranslatorSites)cbDefaultTLSite.SelectedIndex;
ocrOptions.DefaultSite = (OCRSpaceSites)cbDefaultSite.SelectedIndex;
}
}
}

View file

@ -321,55 +321,55 @@
<data name="&gt;&gt;btnOpenInBrowser.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="cbDefaultTLSite.Location" type="System.Drawing.Point, System.Drawing">
<data name="cbDefaultSite.Location" type="System.Drawing.Point, System.Drawing">
<value>371, 30</value>
</data>
<data name="cbDefaultTLSite.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<data name="cbDefaultSite.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="cbDefaultTLSite.Size" type="System.Drawing.Size, System.Drawing">
<data name="cbDefaultSite.Size" type="System.Drawing.Size, System.Drawing">
<value>169, 24</value>
</data>
<data name="cbDefaultTLSite.TabIndex" type="System.Int32, mscorlib">
<data name="cbDefaultSite.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
</data>
<data name="&gt;&gt;cbDefaultTLSite.Name" xml:space="preserve">
<value>cbDefaultTLSite</value>
<data name="&gt;&gt;cbDefaultSite.Name" xml:space="preserve">
<value>cbDefaultSite</value>
</data>
<data name="&gt;&gt;cbDefaultTLSite.Type" xml:space="preserve">
<data name="&gt;&gt;cbDefaultSite.Type" xml:space="preserve">
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;cbDefaultTLSite.Parent" xml:space="preserve">
<data name="&gt;&gt;cbDefaultSite.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;cbDefaultTLSite.ZOrder" xml:space="preserve">
<data name="&gt;&gt;cbDefaultSite.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="lblTranslatorSite.AutoSize" type="System.Boolean, mscorlib">
<data name="lblExternalSite.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="lblTranslatorSite.Location" type="System.Drawing.Point, System.Drawing">
<data name="lblExternalSite.Location" type="System.Drawing.Point, System.Drawing">
<value>370, 10</value>
</data>
<data name="lblTranslatorSite.Size" type="System.Drawing.Size, System.Drawing">
<value>103, 17</value>
<data name="lblExternalSite.Size" type="System.Drawing.Size, System.Drawing">
<value>89, 17</value>
</data>
<data name="lblTranslatorSite.TabIndex" type="System.Int32, mscorlib">
<data name="lblExternalSite.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
<data name="lblTranslatorSite.Text" xml:space="preserve">
<value>Translator site:</value>
<data name="lblExternalSite.Text" xml:space="preserve">
<value>External site:</value>
</data>
<data name="&gt;&gt;lblTranslatorSite.Name" xml:space="preserve">
<value>lblTranslatorSite</value>
<data name="&gt;&gt;lblExternalSite.Name" xml:space="preserve">
<value>lblExternalSite</value>
</data>
<data name="&gt;&gt;lblTranslatorSite.Type" xml:space="preserve">
<data name="&gt;&gt;lblExternalSite.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;lblTranslatorSite.Parent" xml:space="preserve">
<data name="&gt;&gt;lblExternalSite.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;lblTranslatorSite.ZOrder" xml:space="preserve">
<data name="&gt;&gt;lblExternalSite.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

View file

@ -31,7 +31,7 @@ public class OCROptions
{
public bool Permission { get; set; } = false;
public OCRSpaceLanguages DefaultLanguage { get; set; } = OCRSpaceLanguages.eng;
public OCRSpaceTranslatorSites DefaultTranslatorSite { get; set; } = OCRSpaceTranslatorSites.Google;
public OCRSpaceSites DefaultSite { get; set; } = OCRSpaceSites.GoogleTranslate;
public bool Silent { get; set; } = false;
public bool ProcessOnLoad { get; set; } = true;
public bool AutoCopy { get; set; } = false;