mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-30 01:07:21 +13:00
Add default translator site drop-down to OCR form
This commit is contained in:
parent
a917884224
commit
c71bfe9d9c
4 changed files with 174 additions and 63 deletions
36
ShareX.UploadersLib/Forms/OCRSpaceForm.Designer.cs
generated
36
ShareX.UploadersLib/Forms/OCRSpaceForm.Designer.cs
generated
|
@ -35,7 +35,9 @@ private void InitializeComponent()
|
|||
this.lblResult = new System.Windows.Forms.Label();
|
||||
this.btnStartOCR = new System.Windows.Forms.Button();
|
||||
this.pbProgress = new System.Windows.Forms.ProgressBar();
|
||||
this.llGoogleTranslate = new System.Windows.Forms.LinkLabel();
|
||||
this.btnOpenInBrowser = new System.Windows.Forms.Button();
|
||||
this.cbDefaultTLSite = new System.Windows.Forms.ComboBox();
|
||||
this.lblTranslatorSite = new System.Windows.Forms.Label();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// cbLanguages
|
||||
|
@ -75,19 +77,33 @@ private void InitializeComponent()
|
|||
this.pbProgress.Name = "pbProgress";
|
||||
this.pbProgress.Style = System.Windows.Forms.ProgressBarStyle.Marquee;
|
||||
//
|
||||
// llGoogleTranslate
|
||||
// btnOpenInBrowser
|
||||
//
|
||||
resources.ApplyResources(this.llGoogleTranslate, "llGoogleTranslate");
|
||||
this.llGoogleTranslate.Name = "llGoogleTranslate";
|
||||
this.llGoogleTranslate.TabStop = true;
|
||||
this.llGoogleTranslate.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.llGoogleTranslate_LinkClicked);
|
||||
resources.ApplyResources(this.btnOpenInBrowser, "btnOpenInBrowser");
|
||||
this.btnOpenInBrowser.Name = "btnOpenInBrowser";
|
||||
this.btnOpenInBrowser.UseVisualStyleBackColor = true;
|
||||
this.btnOpenInBrowser.Click += new System.EventHandler(this.btnOpenInBrowser_Click);
|
||||
//
|
||||
// cbDefaultTLSite
|
||||
//
|
||||
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);
|
||||
//
|
||||
// lblTranslatorSite
|
||||
//
|
||||
resources.ApplyResources(this.lblTranslatorSite, "lblTranslatorSite");
|
||||
this.lblTranslatorSite.Name = "lblTranslatorSite";
|
||||
//
|
||||
// OCRSpaceForm
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
|
||||
this.Controls.Add(this.llGoogleTranslate);
|
||||
this.Controls.Add(this.lblTranslatorSite);
|
||||
this.Controls.Add(this.cbDefaultTLSite);
|
||||
this.Controls.Add(this.btnOpenInBrowser);
|
||||
this.Controls.Add(this.lblResult);
|
||||
this.Controls.Add(this.txtResult);
|
||||
this.Controls.Add(this.lblLanguage);
|
||||
|
@ -110,6 +126,8 @@ private void InitializeComponent()
|
|||
private System.Windows.Forms.Label lblResult;
|
||||
private System.Windows.Forms.Button btnStartOCR;
|
||||
private System.Windows.Forms.ProgressBar pbProgress;
|
||||
private System.Windows.Forms.LinkLabel llGoogleTranslate;
|
||||
private System.Windows.Forms.Button btnOpenInBrowser;
|
||||
private System.Windows.Forms.ComboBox cbDefaultTLSite;
|
||||
private System.Windows.Forms.Label lblTranslatorSite;
|
||||
}
|
||||
}
|
|
@ -26,20 +26,37 @@ You should have received a copy of the GNU General Public License
|
|||
using ShareX.HelpersLib;
|
||||
using ShareX.UploadersLib.OtherServices;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace ShareX.UploadersLib
|
||||
{
|
||||
public enum OCRSpaceTranslatorSites
|
||||
{
|
||||
[Description("Google Translate")]
|
||||
Google,
|
||||
[Description("DeepL Translate")]
|
||||
DeepL
|
||||
}
|
||||
|
||||
public partial class OCRSpaceForm : Form
|
||||
{
|
||||
public OCRSpaceLanguages Language { get; set; }
|
||||
public string Result { get; private set; }
|
||||
|
||||
private Stream data;
|
||||
private string fileName;
|
||||
private OCROptions ocrOptions;
|
||||
private OCRSpaceLanguages Language { get; set; }
|
||||
|
||||
private Dictionary<OCRSpaceTranslatorSites, string> TranslatorSiteLinks =
|
||||
new Dictionary<OCRSpaceTranslatorSites, string>()
|
||||
{
|
||||
{ OCRSpaceTranslatorSites.Google, "https://translate.google.com/#auto/en/" },
|
||||
{ OCRSpaceTranslatorSites.DeepL, "https://www.deepl.com/translator#auto/en/" }
|
||||
};
|
||||
|
||||
public OCRSpaceForm(OCROptions ocrOptions)
|
||||
{
|
||||
|
@ -49,6 +66,10 @@ public OCRSpaceForm(OCROptions ocrOptions)
|
|||
this.ocrOptions = ocrOptions;
|
||||
cbLanguages.Items.AddRange(Helpers.GetEnumDescriptions<OCRSpaceLanguages>());
|
||||
cbLanguages.SelectedIndex = (int)ocrOptions.DefaultLanguage;
|
||||
|
||||
cbDefaultTLSite.Items.AddRange(Helpers.GetEnumDescriptions<OCRSpaceTranslatorSites>());
|
||||
cbDefaultTLSite.SelectedIndex = (int)ocrOptions.DefaultTranslatorSite;
|
||||
|
||||
Language = ocrOptions.DefaultLanguage;
|
||||
txtResult.SupportSelectAll();
|
||||
}
|
||||
|
@ -85,7 +106,7 @@ public async Task StartOCR(Stream stream, string fileName)
|
|||
{
|
||||
if (stream != null && stream.Length > 0 && !string.IsNullOrEmpty(fileName))
|
||||
{
|
||||
cbLanguages.Enabled = btnStartOCR.Enabled = txtResult.Enabled = false;
|
||||
cbLanguages.Enabled = btnStartOCR.Enabled = txtResult.Enabled = btnOpenInBrowser.Enabled = false;
|
||||
pbProgress.Visible = true;
|
||||
|
||||
Result = await OCRSpace.DoOCRAsync(Language, stream, fileName);
|
||||
|
@ -98,10 +119,9 @@ public async Task StartOCR(Stream stream, string fileName)
|
|||
if (!IsDisposed)
|
||||
{
|
||||
UpdateControls();
|
||||
cbLanguages.Enabled = btnStartOCR.Enabled = txtResult.Enabled = true;
|
||||
cbLanguages.Enabled = btnStartOCR.Enabled = txtResult.Enabled = btnOpenInBrowser.Enabled = true;
|
||||
pbProgress.Visible = false;
|
||||
txtResult.Focus();
|
||||
llGoogleTranslate.Enabled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -116,10 +136,16 @@ private async void btnStartOCR_Click(object sender, EventArgs e)
|
|||
await StartOCR(data, fileName);
|
||||
}
|
||||
|
||||
private void llGoogleTranslate_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
private void btnOpenInBrowser_Click(object sender, EventArgs e)
|
||||
{
|
||||
URLHelpers.OpenURL("https://translate.google.com/#auto/en/" + Uri.EscapeDataString(txtResult.Text));
|
||||
URLHelpers.OpenURL(TranslatorSiteLinks[ocrOptions.DefaultTranslatorSite] + Uri.EscapeDataString(txtResult.Text));
|
||||
Close();
|
||||
}
|
||||
|
||||
private void cbDefaultTLSite_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
// This doesn't work
|
||||
ocrOptions.DefaultTranslatorSite = (OCRSpaceTranslatorSites)cbDefaultTLSite.SelectedIndex;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -119,10 +119,14 @@
|
|||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="cbLanguages.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>8, 24</value>
|
||||
<value>10, 30</value>
|
||||
</data>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="cbLanguages.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>4, 4, 4, 4</value>
|
||||
</data>
|
||||
<data name="cbLanguages.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>152, 21</value>
|
||||
<value>189, 24</value>
|
||||
</data>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="cbLanguages.TabIndex" type="System.Int32, mscorlib">
|
||||
|
@ -138,16 +142,19 @@
|
|||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>cbLanguages.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="lblLanguage.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="lblLanguage.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>5, 8</value>
|
||||
<value>6, 10</value>
|
||||
</data>
|
||||
<data name="lblLanguage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>4, 0, 4, 0</value>
|
||||
</data>
|
||||
<data name="lblLanguage.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>58, 13</value>
|
||||
<value>76, 17</value>
|
||||
</data>
|
||||
<data name="lblLanguage.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
|
@ -165,14 +172,16 @@
|
|||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>lblLanguage.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
<value>5</value>
|
||||
</data>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="txtResult.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Bottom, Left, Right</value>
|
||||
</data>
|
||||
<data name="txtResult.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>8, 72</value>
|
||||
<value>10, 90</value>
|
||||
</data>
|
||||
<data name="txtResult.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>4, 4, 4, 4</value>
|
||||
</data>
|
||||
<data name="txtResult.Multiline" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
|
@ -181,7 +190,7 @@
|
|||
<value>Both</value>
|
||||
</data>
|
||||
<data name="txtResult.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>544, 368</value>
|
||||
<value>679, 459</value>
|
||||
</data>
|
||||
<data name="txtResult.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
|
@ -196,16 +205,19 @@
|
|||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>txtResult.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="lblResult.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="lblResult.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>5, 56</value>
|
||||
<value>6, 70</value>
|
||||
</data>
|
||||
<data name="lblResult.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>4, 0, 4, 0</value>
|
||||
</data>
|
||||
<data name="lblResult.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>40, 13</value>
|
||||
<value>52, 17</value>
|
||||
</data>
|
||||
<data name="lblResult.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
|
@ -223,13 +235,16 @@
|
|||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>lblResult.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="btnStartOCR.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>168, 22</value>
|
||||
<value>206, 28</value>
|
||||
</data>
|
||||
<data name="btnStartOCR.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>4, 4, 4, 4</value>
|
||||
</data>
|
||||
<data name="btnStartOCR.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>136, 24</value>
|
||||
<value>158, 30</value>
|
||||
</data>
|
||||
<data name="btnStartOCR.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
|
@ -247,13 +262,19 @@
|
|||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>btnStartOCR.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name="pbProgress.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="pbProgress.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>168, 22</value>
|
||||
<value>206, 27</value>
|
||||
</data>
|
||||
<data name="pbProgress.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>4, 4, 4, 4</value>
|
||||
</data>
|
||||
<data name="pbProgress.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>136, 24</value>
|
||||
<value>158, 30</value>
|
||||
</data>
|
||||
<data name="pbProgress.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
|
@ -271,52 +292,97 @@
|
|||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>pbProgress.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="llGoogleTranslate.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Right</value>
|
||||
</data>
|
||||
<data name="llGoogleTranslate.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="llGoogleTranslate.Enabled" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="llGoogleTranslate.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>336, 56</value>
|
||||
</data>
|
||||
<data name="llGoogleTranslate.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>216, 13</value>
|
||||
</data>
|
||||
<data name="llGoogleTranslate.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="llGoogleTranslate.Text" xml:space="preserve">
|
||||
<value>Open in Google Translate and close window</value>
|
||||
<data name="btnOpenInBrowser.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>547, 28</value>
|
||||
</data>
|
||||
<data name="llGoogleTranslate.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>TopRight</value>
|
||||
<data name="btnOpenInBrowser.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>4, 4, 4, 4</value>
|
||||
</data>
|
||||
<data name=">>llGoogleTranslate.Name" xml:space="preserve">
|
||||
<value>llGoogleTranslate</value>
|
||||
<data name="btnOpenInBrowser.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>142, 30</value>
|
||||
</data>
|
||||
<data name=">>llGoogleTranslate.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<data name="btnOpenInBrowser.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name=">>llGoogleTranslate.Parent" xml:space="preserve">
|
||||
<data name="btnOpenInBrowser.Text" xml:space="preserve">
|
||||
<value>Open in browser</value>
|
||||
</data>
|
||||
<data name=">>btnOpenInBrowser.Name" xml:space="preserve">
|
||||
<value>btnOpenInBrowser</value>
|
||||
</data>
|
||||
<data name=">>btnOpenInBrowser.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>btnOpenInBrowser.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>llGoogleTranslate.ZOrder" xml:space="preserve">
|
||||
<data name=">>btnOpenInBrowser.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="cbDefaultTLSite.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>371, 30</value>
|
||||
</data>
|
||||
<data name="cbDefaultTLSite.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">
|
||||
<value>169, 24</value>
|
||||
</data>
|
||||
<data name="cbDefaultTLSite.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name=">>cbDefaultTLSite.Name" xml:space="preserve">
|
||||
<value>cbDefaultTLSite</value>
|
||||
</data>
|
||||
<data name=">>cbDefaultTLSite.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=">>cbDefaultTLSite.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>cbDefaultTLSite.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="lblTranslatorSite.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="lblTranslatorSite.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>
|
||||
<data name="lblTranslatorSite.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="lblTranslatorSite.Text" xml:space="preserve">
|
||||
<value>Translator site:</value>
|
||||
</data>
|
||||
<data name=">>lblTranslatorSite.Name" xml:space="preserve">
|
||||
<value>lblTranslatorSite</value>
|
||||
</data>
|
||||
<data name=">>lblTranslatorSite.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=">>lblTranslatorSite.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>lblTranslatorSite.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">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
||||
<value>6, 13</value>
|
||||
<value>120, 120</value>
|
||||
</data>
|
||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>560, 448</value>
|
||||
<value>700, 560</value>
|
||||
</data>
|
||||
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>4, 4, 4, 4</value>
|
||||
</data>
|
||||
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
|
||||
<value>CenterScreen</value>
|
||||
|
|
|
@ -31,6 +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 bool Silent { get; set; } = false;
|
||||
public bool ProcessOnLoad { get; set; } = true;
|
||||
public bool AutoCopy { get; set; } = false;
|
||||
|
|
Loading…
Reference in a new issue