mirror of
https://github.com/ShareX/ShareX.git
synced 2024-10-02 18:26:27 +13:00
Added Upload and Copy buttons to webpage capture
This commit is contained in:
parent
a3d654269a
commit
4849002eca
4 changed files with 122 additions and 15 deletions
20
ShareX/Forms/WebpageCaptureForm.Designer.cs
generated
20
ShareX/Forms/WebpageCaptureForm.Designer.cs
generated
|
@ -46,6 +46,8 @@ private void InitializeComponent()
|
|||
this.lblWebpageX = new System.Windows.Forms.Label();
|
||||
this.lblCaptureDelay = new System.Windows.Forms.Label();
|
||||
this.nudCaptureDelay = new System.Windows.Forms.NumericUpDown();
|
||||
this.btnCopy = new System.Windows.Forms.Button();
|
||||
this.btnUpload = new System.Windows.Forms.Button();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbResult)).BeginInit();
|
||||
this.pResult.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudWebpageWidth)).BeginInit();
|
||||
|
@ -160,11 +162,27 @@ private void InitializeComponent()
|
|||
this.nudCaptureDelay.Name = "nudCaptureDelay";
|
||||
this.nudCaptureDelay.ValueChanged += new System.EventHandler(this.nudCaptureDelay_ValueChanged);
|
||||
//
|
||||
// btnCopy
|
||||
//
|
||||
resources.ApplyResources(this.btnCopy, "btnCopy");
|
||||
this.btnCopy.Name = "btnCopy";
|
||||
this.btnCopy.UseVisualStyleBackColor = true;
|
||||
this.btnCopy.Click += new System.EventHandler(this.btnCopy_Click);
|
||||
//
|
||||
// btnUpload
|
||||
//
|
||||
resources.ApplyResources(this.btnUpload, "btnUpload");
|
||||
this.btnUpload.Name = "btnUpload";
|
||||
this.btnUpload.UseVisualStyleBackColor = true;
|
||||
this.btnUpload.Click += new System.EventHandler(this.btnUpload_Click);
|
||||
//
|
||||
// WebpageCaptureForm
|
||||
//
|
||||
this.AcceptButton = this.btnCapture;
|
||||
resources.ApplyResources(this, "$this");
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.btnUpload);
|
||||
this.Controls.Add(this.btnCopy);
|
||||
this.Controls.Add(this.nudCaptureDelay);
|
||||
this.Controls.Add(this.lblCaptureDelay);
|
||||
this.Controls.Add(this.nudWebpageHeight);
|
||||
|
@ -200,5 +218,7 @@ private void InitializeComponent()
|
|||
private System.Windows.Forms.Label lblWebpageX;
|
||||
private System.Windows.Forms.Label lblCaptureDelay;
|
||||
private System.Windows.Forms.NumericUpDown nudCaptureDelay;
|
||||
private System.Windows.Forms.Button btnCopy;
|
||||
private System.Windows.Forms.Button btnUpload;
|
||||
}
|
||||
}
|
|
@ -38,6 +38,9 @@ namespace ShareX
|
|||
{
|
||||
public partial class WebpageCaptureForm : Form
|
||||
{
|
||||
public event Action<Image> OnImageUploadRequested;
|
||||
public event Action<Image> OnImageCopyRequested;
|
||||
|
||||
public bool IsBusy { get; private set; }
|
||||
|
||||
private WebpageCapture webpageCapture;
|
||||
|
@ -70,15 +73,13 @@ private void LoadSettings()
|
|||
nudWebpageHeight.Value = browserSize.Height.Between((int)nudWebpageHeight.Minimum, (int)nudWebpageHeight.Maximum);
|
||||
|
||||
nudCaptureDelay.Value = (decimal)Program.Settings.WebpageCaptureDelay.Between((float)nudCaptureDelay.Minimum, (float)nudCaptureDelay.Maximum);
|
||||
|
||||
btnCapture.Enabled = txtURL.TextLength > 0;
|
||||
}
|
||||
|
||||
private void webpageCapture_CaptureCompleted(Bitmap bmp)
|
||||
{
|
||||
pbResult.Image = bmp;
|
||||
IsBusy = false;
|
||||
btnCapture.Enabled = txtURL.Enabled = !IsBusy;
|
||||
btnCapture.Enabled = txtURL.Enabled = btnUpload.Enabled = btnCopy.Enabled = !IsBusy;
|
||||
}
|
||||
|
||||
private void txtURL_TextChanged(object sender, EventArgs e)
|
||||
|
@ -104,7 +105,7 @@ private void nudCaptureDelay_ValueChanged(object sender, EventArgs e)
|
|||
private void btnCapture_Click(object sender, EventArgs e)
|
||||
{
|
||||
IsBusy = true;
|
||||
btnCapture.Enabled = txtURL.Enabled = !IsBusy;
|
||||
btnCapture.Enabled = txtURL.Enabled = btnUpload.Enabled = btnCopy.Enabled = !IsBusy;
|
||||
if (pbResult.Image != null)
|
||||
{
|
||||
pbResult.Image.Dispose();
|
||||
|
@ -114,5 +115,23 @@ private void btnCapture_Click(object sender, EventArgs e)
|
|||
webpageCapture.CaptureDelay = (int)nudCaptureDelay.Value * 1000;
|
||||
webpageCapture.CapturePage(txtURL.Text, new Size((int)nudWebpageWidth.Value, (int)nudWebpageWidth.Value));
|
||||
}
|
||||
|
||||
private void btnUpload_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (pbResult.Image != null)
|
||||
{
|
||||
Image img = (Image)pbResult.Image.Clone();
|
||||
OnImageUploadRequested(img);
|
||||
}
|
||||
}
|
||||
|
||||
private void btnCopy_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (pbResult.Image != null)
|
||||
{
|
||||
Image img = (Image)pbResult.Image.Clone();
|
||||
OnImageCopyRequested(img);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -142,7 +142,7 @@
|
|||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>txtURL.ZOrder" xml:space="preserve">
|
||||
<value>9</value>
|
||||
<value>11</value>
|
||||
</data>
|
||||
<data name="lblURL.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
|
@ -169,7 +169,10 @@
|
|||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>lblURL.ZOrder" xml:space="preserve">
|
||||
<value>8</value>
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="btnCapture.Enabled" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="btnCapture.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>336, 35</value>
|
||||
|
@ -193,7 +196,7 @@
|
|||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>btnCapture.ZOrder" xml:space="preserve">
|
||||
<value>7</value>
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name="pbResult.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
|
@ -244,7 +247,7 @@
|
|||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>pResult.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name="lblWebpageSize.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
|
@ -271,7 +274,7 @@
|
|||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>lblWebpageSize.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="nudWebpageWidth.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>80, 36</value>
|
||||
|
@ -295,7 +298,7 @@
|
|||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>nudWebpageWidth.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="nudWebpageHeight.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>168, 36</value>
|
||||
|
@ -319,7 +322,7 @@
|
|||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>nudWebpageHeight.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="lblWebpageX.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
|
@ -349,7 +352,7 @@
|
|||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>lblWebpageX.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="lblCaptureDelay.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
|
@ -376,7 +379,7 @@
|
|||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>lblCaptureDelay.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="nudCaptureDelay.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>280, 36</value>
|
||||
|
@ -400,6 +403,60 @@
|
|||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>nudCaptureDelay.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="btnCopy.Enabled" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="btnCopy.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>576, 35</value>
|
||||
</data>
|
||||
<data name="btnCopy.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>112, 23</value>
|
||||
</data>
|
||||
<data name="btnCopy.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>11</value>
|
||||
</data>
|
||||
<data name="btnCopy.Text" xml:space="preserve">
|
||||
<value>Copy</value>
|
||||
</data>
|
||||
<data name=">>btnCopy.Name" xml:space="preserve">
|
||||
<value>btnCopy</value>
|
||||
</data>
|
||||
<data name=">>btnCopy.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=">>btnCopy.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>btnCopy.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="btnUpload.Enabled" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="btnUpload.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>456, 35</value>
|
||||
</data>
|
||||
<data name="btnUpload.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>113, 23</value>
|
||||
</data>
|
||||
<data name="btnUpload.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>12</value>
|
||||
</data>
|
||||
<data name="btnUpload.Text" xml:space="preserve">
|
||||
<value>Upload</value>
|
||||
</data>
|
||||
<data name=">>btnUpload.Name" xml:space="preserve">
|
||||
<value>btnUpload</value>
|
||||
</data>
|
||||
<data name=">>btnUpload.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=">>btnUpload.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>btnUpload.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">
|
||||
|
|
|
@ -499,9 +499,20 @@ public static void OpenAutoCapture()
|
|||
AutoCaptureForm.Instance.ShowActivate();
|
||||
}
|
||||
|
||||
public static void OpenWebpageCapture()
|
||||
public static void OpenWebpageCapture(TaskSettings taskSettings = null)
|
||||
{
|
||||
new WebpageCaptureForm().Show();
|
||||
if (taskSettings == null) taskSettings = TaskSettings.GetDefaultTaskSettings();
|
||||
|
||||
WebpageCaptureForm webpageCaptureForm = new WebpageCaptureForm();
|
||||
webpageCaptureForm.OnImageUploadRequested += img => UploadManager.RunImageTask(img, taskSettings);
|
||||
webpageCaptureForm.OnImageCopyRequested += img =>
|
||||
{
|
||||
using (img)
|
||||
{
|
||||
ClipboardHelpers.CopyImage(img);
|
||||
}
|
||||
};
|
||||
webpageCaptureForm.Show();
|
||||
}
|
||||
|
||||
public static void StartAutoCapture()
|
||||
|
|
Loading…
Reference in a new issue