mirror of
https://github.com/ShareX/ShareX.git
synced 2024-10-03 02:36:50 +13:00
Merge pull request #5900 from IAmVisco/master
Add translator site dropdown for OCR window
This commit is contained in:
commit
640a29b423
4 changed files with 183 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.cbDefaultSite = new System.Windows.Forms.ComboBox();
|
||||
this.lblExternalSite = 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);
|
||||
//
|
||||
// cbDefaultSite
|
||||
//
|
||||
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);
|
||||
//
|
||||
// lblExternalSite
|
||||
//
|
||||
resources.ApplyResources(this.lblExternalSite, "lblExternalSite");
|
||||
this.lblExternalSite.Name = "lblExternalSite";
|
||||
//
|
||||
// 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.lblExternalSite);
|
||||
this.Controls.Add(this.cbDefaultSite);
|
||||
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 cbDefaultSite;
|
||||
private System.Windows.Forms.Label lblExternalSite;
|
||||
}
|
||||
}
|
|
@ -26,20 +26,46 @@ 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 OCRSpaceSites
|
||||
{
|
||||
[Description("Google Translate")]
|
||||
GoogleTranslate,
|
||||
[Description("DeepL Translate")]
|
||||
DeepL,
|
||||
[Description("Jisho")]
|
||||
Jisho,
|
||||
[Description("ichi.moe")]
|
||||
Ichi,
|
||||
[Description("Google")]
|
||||
Google
|
||||
}
|
||||
|
||||
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<OCRSpaceSites, string> SiteLinks =
|
||||
new Dictionary<OCRSpaceSites, string>()
|
||||
{
|
||||
{ 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=" }
|
||||
};
|
||||
|
||||
public OCRSpaceForm(OCROptions ocrOptions)
|
||||
{
|
||||
|
@ -49,6 +75,10 @@ public OCRSpaceForm(OCROptions ocrOptions)
|
|||
this.ocrOptions = ocrOptions;
|
||||
cbLanguages.Items.AddRange(Helpers.GetEnumDescriptions<OCRSpaceLanguages>());
|
||||
cbLanguages.SelectedIndex = (int)ocrOptions.DefaultLanguage;
|
||||
|
||||
cbDefaultSite.Items.AddRange(Helpers.GetEnumDescriptions<OCRSpaceSites>());
|
||||
cbDefaultSite.SelectedIndex = (int)ocrOptions.DefaultSite;
|
||||
|
||||
Language = ocrOptions.DefaultLanguage;
|
||||
txtResult.SupportSelectAll();
|
||||
}
|
||||
|
@ -85,7 +115,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 = cbDefaultSite.Enabled = false;
|
||||
pbProgress.Visible = true;
|
||||
|
||||
Result = await OCRSpace.DoOCRAsync(Language, stream, fileName);
|
||||
|
@ -98,10 +128,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 = cbDefaultSite.Enabled = true;
|
||||
pbProgress.Visible = false;
|
||||
txtResult.Focus();
|
||||
llGoogleTranslate.Enabled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -116,10 +145,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(SiteLinks[ocrOptions.DefaultSite] + Uri.EscapeDataString(txtResult.Text));
|
||||
Close();
|
||||
}
|
||||
|
||||
private void cbDefaultSite_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
// This doesn't work
|
||||
ocrOptions.DefaultSite = (OCRSpaceSites)cbDefaultSite.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="cbDefaultSite.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>371, 30</value>
|
||||
</data>
|
||||
<data name="cbDefaultSite.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>4, 4, 4, 4</value>
|
||||
</data>
|
||||
<data name="cbDefaultSite.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>169, 24</value>
|
||||
</data>
|
||||
<data name="cbDefaultSite.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name=">>cbDefaultSite.Name" xml:space="preserve">
|
||||
<value>cbDefaultSite</value>
|
||||
</data>
|
||||
<data name=">>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=">>cbDefaultSite.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>cbDefaultSite.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="lblExternalSite.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="lblExternalSite.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>370, 10</value>
|
||||
</data>
|
||||
<data name="lblExternalSite.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>89, 17</value>
|
||||
</data>
|
||||
<data name="lblExternalSite.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="lblExternalSite.Text" xml:space="preserve">
|
||||
<value>External site:</value>
|
||||
</data>
|
||||
<data name=">>lblExternalSite.Name" xml:space="preserve">
|
||||
<value>lblExternalSite</value>
|
||||
</data>
|
||||
<data name=">>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=">>lblExternalSite.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>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">
|
||||
<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 OCRSpaceSites DefaultSite { get; set; } = OCRSpaceSites.GoogleTranslate;
|
||||
public bool Silent { get; set; } = false;
|
||||
public bool ProcessOnLoad { get; set; } = true;
|
||||
public bool AutoCopy { get; set; } = false;
|
||||
|
|
Loading…
Reference in a new issue