diff --git a/ShareX.HelpersLib/Properties/Resources.Designer.cs b/ShareX.HelpersLib/Properties/Resources.Designer.cs
index 878ea3807..792532e19 100644
--- a/ShareX.HelpersLib/Properties/Resources.Designer.cs
+++ b/ShareX.HelpersLib/Properties/Resources.Designer.cs
@@ -753,6 +753,24 @@ internal static string HotkeyType_Automate_Category {
}
}
+ ///
+ /// Looks up a localized string similar to Webpage capture.
+ ///
+ internal static string HotkeyType_CaptureWebpage {
+ get {
+ return ResourceManager.GetString("HotkeyType_CaptureWebpage", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Screen capture.
+ ///
+ internal static string HotkeyType_CaptureWebpage_Category {
+ get {
+ return ResourceManager.GetString("HotkeyType_CaptureWebpage_Category", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Upload from clipboard.
///
diff --git a/ShareX.HelpersLib/Properties/Resources.resx b/ShareX.HelpersLib/Properties/Resources.resx
index 54b9e09c2..9a8b38dc4 100644
--- a/ShareX.HelpersLib/Properties/Resources.resx
+++ b/ShareX.HelpersLib/Properties/Resources.resx
@@ -796,4 +796,10 @@ Would you like to download and install it?
Tools
+
+ Webpage capture
+
+
+ Screen capture
+
\ No newline at end of file
diff --git a/ShareX/Enums.cs b/ShareX/Enums.cs
index 6a492ca4a..f2090ebb1 100644
--- a/ShareX/Enums.cs
+++ b/ShareX/Enums.cs
@@ -165,6 +165,9 @@ public enum HotkeyType // Localized + Category
FreeHandRegion,
CustomRegion,
LastRegion,
+ CaptureWebpage,
+ AutoCapture,
+ StartAutoCapture,
// Screen record
ScreenRecorder,
ScreenRecorderActiveWindow,
@@ -173,8 +176,6 @@ public enum HotkeyType // Localized + Category
ScreenRecorderGIFActiveWindow,
StartScreenRecorderGIF,
// Tools
- AutoCapture,
- StartAutoCapture,
ColorPicker,
ScreenColorPicker,
ImageEditor,
diff --git a/ShareX/Forms/MainForm.Designer.cs b/ShareX/Forms/MainForm.Designer.cs
index b36be8b68..842dba69d 100644
--- a/ShareX/Forms/MainForm.Designer.cs
+++ b/ShareX/Forms/MainForm.Designer.cs
@@ -183,6 +183,7 @@ private void InitializeComponent()
this.tsmiTrayScreenRecordingFFmpeg = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayScreenRecordingGIF = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayAutoCapture = new System.Windows.Forms.ToolStripMenuItem();
+ this.tsmiTrayWebpageCapture = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayUpload = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayUploadFile = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayUploadFolder = new System.Windows.Forms.ToolStripMenuItem();
@@ -228,7 +229,6 @@ private void InitializeComponent()
this.tsmiTrayRecentItems = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayShow = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayExit = new System.Windows.Forms.ToolStripMenuItem();
- this.tsmiTrayWebpageCapture = new System.Windows.Forms.ToolStripMenuItem();
((System.ComponentModel.ISupportInitialize)(this.scMain)).BeginInit();
this.scMain.Panel1.SuspendLayout();
this.scMain.Panel2.SuspendLayout();
@@ -382,8 +382,8 @@ private void InitializeComponent()
this.tsmiLastRegion,
this.tsmiScreenRecordingFFmpeg,
this.tsmiScreenRecordingGIF,
- this.tsmiAutoCapture,
- this.tsmiWebpageCapture});
+ this.tsmiWebpageCapture,
+ this.tsmiAutoCapture});
this.tsddbCapture.Image = global::ShareX.Properties.Resources.camera;
resources.ApplyResources(this.tsddbCapture, "tsddbCapture");
this.tsddbCapture.Name = "tsddbCapture";
@@ -1296,8 +1296,8 @@ private void InitializeComponent()
this.tsmiTrayLastRegion,
this.tsmiTrayScreenRecordingFFmpeg,
this.tsmiTrayScreenRecordingGIF,
- this.tsmiTrayAutoCapture,
- this.tsmiTrayWebpageCapture});
+ this.tsmiTrayWebpageCapture,
+ this.tsmiTrayAutoCapture});
this.tsmiTrayCapture.Image = global::ShareX.Properties.Resources.camera;
this.tsmiTrayCapture.Name = "tsmiTrayCapture";
resources.ApplyResources(this.tsmiTrayCapture, "tsmiTrayCapture");
@@ -1427,6 +1427,13 @@ private void InitializeComponent()
resources.ApplyResources(this.tsmiTrayAutoCapture, "tsmiTrayAutoCapture");
this.tsmiTrayAutoCapture.Click += new System.EventHandler(this.tsmiAutoCapture_Click);
//
+ // tsmiTrayWebpageCapture
+ //
+ this.tsmiTrayWebpageCapture.Image = global::ShareX.Properties.Resources.document_globe;
+ this.tsmiTrayWebpageCapture.Name = "tsmiTrayWebpageCapture";
+ resources.ApplyResources(this.tsmiTrayWebpageCapture, "tsmiTrayWebpageCapture");
+ this.tsmiTrayWebpageCapture.Click += new System.EventHandler(this.tsmiWebpageCapture_Click);
+ //
// tsmiTrayUpload
//
this.tsmiTrayUpload.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
@@ -1751,13 +1758,6 @@ private void InitializeComponent()
resources.ApplyResources(this.tsmiTrayExit, "tsmiTrayExit");
this.tsmiTrayExit.Click += new System.EventHandler(this.tsmiTrayExit_Click);
//
- // tsmiTrayWebpageCapture
- //
- this.tsmiTrayWebpageCapture.Image = global::ShareX.Properties.Resources.document_globe;
- this.tsmiTrayWebpageCapture.Name = "tsmiTrayWebpageCapture";
- resources.ApplyResources(this.tsmiTrayWebpageCapture, "tsmiTrayWebpageCapture");
- this.tsmiTrayWebpageCapture.Click += new System.EventHandler(this.tsmiWebpageCapture_Click);
- //
// MainForm
//
this.AllowDrop = true;
diff --git a/ShareX/Forms/MainForm.cs b/ShareX/Forms/MainForm.cs
index 4e40d1199..05a45dc16 100644
--- a/ShareX/Forms/MainForm.cs
+++ b/ShareX/Forms/MainForm.cs
@@ -1576,6 +1576,15 @@ private void ExecuteJob(TaskSettings taskSettings, HotkeyType job)
case HotkeyType.LastRegion:
CaptureScreenshot(CaptureType.LastRegion, safeTaskSettings, false);
break;
+ case HotkeyType.CaptureWebpage:
+ TaskHelpers.OpenWebpageCapture(safeTaskSettings);
+ break;
+ case HotkeyType.AutoCapture:
+ TaskHelpers.OpenAutoCapture();
+ break;
+ case HotkeyType.StartAutoCapture:
+ TaskHelpers.StartAutoCapture();
+ break;
// Screen record
case HotkeyType.ScreenRecorder:
TaskHelpers.StartScreenRecording(ScreenRecordOutput.FFmpeg, ScreenRecordStartMethod.Region, safeTaskSettings);
@@ -1596,12 +1605,6 @@ private void ExecuteJob(TaskSettings taskSettings, HotkeyType job)
TaskHelpers.StartScreenRecording(ScreenRecordOutput.GIF, ScreenRecordStartMethod.LastRegion, safeTaskSettings);
break;
// Tools
- case HotkeyType.AutoCapture:
- TaskHelpers.OpenAutoCapture();
- break;
- case HotkeyType.StartAutoCapture:
- TaskHelpers.StartAutoCapture();
- break;
case HotkeyType.ColorPicker:
TaskHelpers.OpenColorPicker();
break;
diff --git a/ShareX/Forms/MainForm.resx b/ShareX/Forms/MainForm.resx
index 96c3b9e8e..cdcc5b0e3 100644
--- a/ShareX/Forms/MainForm.resx
+++ b/ShareX/Forms/MainForm.resx
@@ -180,6 +180,45 @@
1
+
+ Filename
+
+
+ 150
+
+
+ Status
+
+
+ Progress
+
+
+ 125
+
+
+ Speed
+
+
+ 75
+
+
+ Elapsed
+
+
+ 45
+
+
+ Remaining
+
+
+ 45
+
+
+ URL
+
+
+ 145
+
Fill
@@ -276,45 +315,6 @@
2
-
- Filename
-
-
- 150
-
-
- Status
-
-
- Progress
-
-
- 125
-
-
- Speed
-
-
- 75
-
-
- Elapsed
-
-
- 45
-
-
- Remaining
-
-
- 45
-
-
- URL
-
-
- 145
-
17, 17
@@ -324,42 +324,6 @@
Left
-
- 0, 0
-
-
- 6, 6, 6, 6
-
-
- 160, 407
-
-
- 1
-
-
- tsMain
-
-
- System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 3
-
-
- MiddleLeft
-
-
- Magenta
-
-
- 147, 20
-
-
- Capture
-
199, 22
@@ -462,29 +426,29 @@
Screen recording (GIF)
-
- 199, 22
-
-
- Auto capture...
-
199, 22
Webpage capture...
-
+
+ 199, 22
+
+
+ Auto capture...
+
+
MiddleLeft
-
+
Magenta
-
+
147, 20
-
- Upload
+
+ Capture
203, 22
@@ -516,6 +480,18 @@
Drag and drop upload...
+
+ MiddleLeft
+
+
+ Magenta
+
+
+ 147, 20
+
+
+ Upload
+
BottomLeft
@@ -528,18 +504,6 @@
Workflows
-
- MiddleLeft
-
-
- Magenta
-
-
- 147, 20
-
-
- Tools
-
183, 22
@@ -618,6 +582,18 @@
Monitor test...
+
+ MiddleLeft
+
+
+ Magenta
+
+
+ 147, 20
+
+
+ Tools
+
147, 6
@@ -645,18 +621,6 @@
After upload tasks
-
- MiddleLeft
-
-
- Magenta
-
-
- 147, 20
-
-
- Destinations
-
187, 22
@@ -696,6 +660,18 @@
Destination settings...
+
+ MiddleLeft
+
+
+ Magenta
+
+
+ 147, 20
+
+
+ Destinations
+
MiddleLeft
@@ -771,18 +747,6 @@
Image history...
-
- MiddleLeft
-
-
- Magenta
-
-
- 147, 20
-
-
- Debug
-
172, 22
@@ -819,6 +783,18 @@
Test URL sharing
+
+ MiddleLeft
+
+
+ Magenta
+
+
+ 147, 20
+
+
+ Debug
+
MiddleLeft
@@ -843,18 +819,33 @@
About...
+
+ 0, 0
+
+
+ 6, 6, 6, 6
+
+
+ 160, 407
+
+
+ 1
+
+
+ tsMain
+
+
+ System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 3
+
286, 17
-
- 173, 318
-
-
- cmsTaskInfo
-
-
- System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
172, 22
@@ -867,12 +858,6 @@
Stop upload
-
- 172, 22
-
-
- Open
-
156, 22
@@ -918,11 +903,11 @@
Thumbnail file
-
+
172, 22
-
- Copy
+
+ Open
233, 22
@@ -1056,6 +1041,12 @@
False
+
+ 172, 22
+
+
+ Copy
+
172, 22
@@ -1113,12 +1104,6 @@
Hide menu
-
- 172, 22
-
-
- Image preview
-
130, 22
@@ -1137,6 +1122,21 @@
Automatic
+
+ 172, 22
+
+
+ Image preview
+
+
+ 173, 318
+
+
+ cmsTaskInfo
+
+
+ System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
105, 17
@@ -1245,24 +1245,54 @@
Screen recording (GIF)
-
- 199, 22
-
-
- Auto capture...
-
199, 22
Webpage capture...
+
+ 199, 22
+
+
+ Auto capture...
+
188, 22
Capture
+
+ 203, 22
+
+
+ Upload file...
+
+
+ 203, 22
+
+
+ Upload folder...
+
+
+ 203, 22
+
+
+ Upload from clipboard...
+
+
+ 203, 22
+
+
+ Upload from URL...
+
+
+ 203, 22
+
+
+ Drag and drop upload...
+
188, 22
@@ -1275,6 +1305,84 @@
Workflows
+
+ 183, 22
+
+
+ Color picker...
+
+
+ 183, 22
+
+
+ Screen color picker...
+
+
+ 183, 22
+
+
+ Image editor...
+
+
+ 183, 22
+
+
+ Image effects...
+
+
+ 183, 22
+
+
+ Hash check...
+
+
+ 183, 22
+
+
+ DNS changer...
+
+
+ 183, 22
+
+
+ QR code...
+
+
+ 183, 22
+
+
+ Ruler...
+
+
+ 183, 22
+
+
+ Automate...
+
+
+ 183, 22
+
+
+ Index folder...
+
+
+ 183, 22
+
+
+ FTP client...
+
+
+ 183, 22
+
+
+ Tweet message...
+
+
+ 183, 22
+
+
+ Monitor test...
+
188, 22
@@ -1296,6 +1404,45 @@
After upload
+
+ 187, 22
+
+
+ Image uploaders
+
+
+ 187, 22
+
+
+ Text uploaders
+
+
+ 187, 22
+
+
+ File uploaders
+
+
+ 187, 22
+
+
+ URL shorteners
+
+
+ 187, 22
+
+
+ URL sharing services
+
+
+ 184, 6
+
+
+ 187, 22
+
+
+ Destination settings...
+
188, 22
@@ -1378,7 +1525,7 @@
Exit
- 189, 440
+ 189, 418
cmsTray
@@ -1389,153 +1536,6 @@
ShareX
-
- 203, 22
-
-
- Upload file...
-
-
- 203, 22
-
-
- Upload folder...
-
-
- 203, 22
-
-
- Upload from clipboard...
-
-
- 203, 22
-
-
- Upload from URL...
-
-
- 203, 22
-
-
- Drag and drop upload...
-
-
- 183, 22
-
-
- Color picker...
-
-
- 183, 22
-
-
- Screen color picker...
-
-
- 183, 22
-
-
- Image editor...
-
-
- 183, 22
-
-
- Image effects...
-
-
- 183, 22
-
-
- Hash check...
-
-
- 183, 22
-
-
- DNS changer...
-
-
- 183, 22
-
-
- QR code...
-
-
- 183, 22
-
-
- Ruler...
-
-
- 183, 22
-
-
- Automate...
-
-
- 183, 22
-
-
- Index folder...
-
-
- 183, 22
-
-
- FTP client...
-
-
- 183, 22
-
-
- Tweet message...
-
-
- 183, 22
-
-
- Monitor test...
-
-
- 187, 22
-
-
- Image uploaders
-
-
- 187, 22
-
-
- Text uploaders
-
-
- 187, 22
-
-
- File uploaders
-
-
- 187, 22
-
-
- URL shorteners
-
-
- 187, 22
-
-
- URL sharing services
-
-
- 184, 6
-
-
- 187, 22
-
-
- Destination settings...
-
True
@@ -2427,6 +2427,12 @@
System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ tsmiTrayWebpageCapture
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
tsmiTrayUpload
@@ -2697,12 +2703,6 @@
System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- tsmiTrayWebpageCapture
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
MainForm
diff --git a/ShareX/Forms/WebpageCaptureForm.cs b/ShareX/Forms/WebpageCaptureForm.cs
index ca5901e5c..46eceb1b6 100644
--- a/ShareX/Forms/WebpageCaptureForm.cs
+++ b/ShareX/Forms/WebpageCaptureForm.cs
@@ -56,15 +56,7 @@ public WebpageCaptureForm()
private void LoadSettings()
{
- if (Clipboard.ContainsText())
- {
- string text = Clipboard.GetText();
-
- if (!string.IsNullOrEmpty(text) && URLHelpers.IsValidURLRegex(text))
- {
- txtURL.Text = text;
- }
- }
+ CheckClipboardURL();
Size browserSize = Program.Settings.WebpageCaptureBrowserSize;
if (browserSize.Width == 0) browserSize.Width = Screen.PrimaryScreen.Bounds.Width;
@@ -75,11 +67,37 @@ private void LoadSettings()
nudCaptureDelay.Value = (decimal)Program.Settings.WebpageCaptureDelay.Between((float)nudCaptureDelay.Minimum, (float)nudCaptureDelay.Maximum);
}
+ private void CheckClipboardURL()
+ {
+ if (Clipboard.ContainsText())
+ {
+ string text = Clipboard.GetText();
+
+ if (!string.IsNullOrEmpty(text) && URLHelpers.IsValidURLRegex(text))
+ {
+ txtURL.Text = text;
+ }
+ }
+ }
+
+ private void CleanPictureBox()
+ {
+ if (pbResult.Image != null)
+ {
+ pbResult.Image.Dispose();
+ pbResult.Image = null;
+ }
+ }
+
private void webpageCapture_CaptureCompleted(Bitmap bmp)
{
- pbResult.Image = bmp;
- IsBusy = false;
- btnCapture.Enabled = txtURL.Enabled = btnUpload.Enabled = btnCopy.Enabled = !IsBusy;
+ if (!IsDisposed)
+ {
+ CleanPictureBox();
+ pbResult.Image = bmp;
+ btnCapture.Enabled = txtURL.Enabled = btnUpload.Enabled = btnCopy.Enabled = true;
+ IsBusy = false;
+ }
}
private void txtURL_TextChanged(object sender, EventArgs e)
@@ -105,12 +123,8 @@ private void nudCaptureDelay_ValueChanged(object sender, EventArgs e)
private void btnCapture_Click(object sender, EventArgs e)
{
IsBusy = true;
- btnCapture.Enabled = txtURL.Enabled = btnUpload.Enabled = btnCopy.Enabled = !IsBusy;
- if (pbResult.Image != null)
- {
- pbResult.Image.Dispose();
- pbResult.Image = null;
- }
+ btnCapture.Enabled = txtURL.Enabled = btnUpload.Enabled = btnCopy.Enabled = false;
+ CleanPictureBox();
webpageCapture.CaptureDelay = (int)nudCaptureDelay.Value * 1000;
webpageCapture.CapturePage(txtURL.Text, new Size((int)nudWebpageWidth.Value, (int)nudWebpageWidth.Value));