Added "Scroll method" option to scrolling capture
This commit is contained in:
parent
a83eecbd40
commit
01617b3c8d
36
ShareX.HelpersLib/Properties/Resources.Designer.cs
generated
36
ShareX.HelpersLib/Properties/Resources.Designer.cs
generated
@ -2966,6 +2966,42 @@ namespace ShareX.HelpersLib.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Down arrow.
|
||||
/// </summary>
|
||||
internal static string ScrollMethod_DownArrow {
|
||||
get {
|
||||
return ResourceManager.GetString("ScrollMethod_DownArrow", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Mouse wheel.
|
||||
/// </summary>
|
||||
internal static string ScrollMethod_MouseWheel {
|
||||
get {
|
||||
return ResourceManager.GetString("ScrollMethod_MouseWheel", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Page down.
|
||||
/// </summary>
|
||||
internal static string ScrollMethod_PageDown {
|
||||
get {
|
||||
return ResourceManager.GetString("ScrollMethod_PageDown", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Scroll message.
|
||||
/// </summary>
|
||||
internal static string ScrollMethod_ScrollMessage {
|
||||
get {
|
||||
return ResourceManager.GetString("ScrollMethod_ScrollMessage", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Arrow (A).
|
||||
/// </summary>
|
||||
|
@ -1302,4 +1302,16 @@ Would you like to download and install it?</value>
|
||||
<data name="HotkeyType_QRCodeScanRegion" xml:space="preserve">
|
||||
<value>QR code (Scan region)</value>
|
||||
</data>
|
||||
<data name="ScrollMethod_DownArrow" xml:space="preserve">
|
||||
<value>Down arrow</value>
|
||||
</data>
|
||||
<data name="ScrollMethod_MouseWheel" xml:space="preserve">
|
||||
<value>Mouse wheel</value>
|
||||
</data>
|
||||
<data name="ScrollMethod_PageDown" xml:space="preserve">
|
||||
<value>Page down</value>
|
||||
</data>
|
||||
<data name="ScrollMethod_ScrollMessage" xml:space="preserve">
|
||||
<value>Scroll message</value>
|
||||
</data>
|
||||
</root>
|
@ -371,4 +371,12 @@ namespace ShareX.ScreenCaptureLib
|
||||
PartiallySuccessful,
|
||||
Successful
|
||||
}
|
||||
|
||||
public enum ScrollMethod // Localized
|
||||
{
|
||||
MouseWheel,
|
||||
DownArrow,
|
||||
PageDown,
|
||||
ScrollMessage
|
||||
}
|
||||
}
|
@ -44,6 +44,8 @@
|
||||
this.btnCancel = new System.Windows.Forms.Button();
|
||||
this.cbShowRegion = new System.Windows.Forms.CheckBox();
|
||||
this.cbAutoIgnoreBottomEdge = new System.Windows.Forms.CheckBox();
|
||||
this.cbScrollMethod = new System.Windows.Forms.ComboBox();
|
||||
this.lblScrollMethod = new System.Windows.Forms.Label();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudStartDelay)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudScrollDelay)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudScrollAmount)).BeginInit();
|
||||
@ -124,7 +126,7 @@
|
||||
//
|
||||
resources.ApplyResources(this.nudScrollAmount, "nudScrollAmount");
|
||||
this.nudScrollAmount.Maximum = new decimal(new int[] {
|
||||
5,
|
||||
6,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
@ -187,10 +189,25 @@
|
||||
this.cbAutoIgnoreBottomEdge.Name = "cbAutoIgnoreBottomEdge";
|
||||
this.cbAutoIgnoreBottomEdge.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// cbScrollMethod
|
||||
//
|
||||
this.cbScrollMethod.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.cbScrollMethod.FormattingEnabled = true;
|
||||
resources.ApplyResources(this.cbScrollMethod, "cbScrollMethod");
|
||||
this.cbScrollMethod.Name = "cbScrollMethod";
|
||||
this.cbScrollMethod.SelectedIndexChanged += new System.EventHandler(this.cbScrollMethod_SelectedIndexChanged);
|
||||
//
|
||||
// lblScrollMethod
|
||||
//
|
||||
resources.ApplyResources(this.lblScrollMethod, "lblScrollMethod");
|
||||
this.lblScrollMethod.Name = "lblScrollMethod";
|
||||
//
|
||||
// ScrollingCaptureOptionsForm
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
|
||||
this.Controls.Add(this.lblScrollMethod);
|
||||
this.Controls.Add(this.cbScrollMethod);
|
||||
this.Controls.Add(this.cbAutoIgnoreBottomEdge);
|
||||
this.Controls.Add(this.cbShowRegion);
|
||||
this.Controls.Add(this.btnCancel);
|
||||
@ -234,5 +251,7 @@
|
||||
private System.Windows.Forms.Button btnCancel;
|
||||
private System.Windows.Forms.CheckBox cbShowRegion;
|
||||
private System.Windows.Forms.CheckBox cbAutoIgnoreBottomEdge;
|
||||
private System.Windows.Forms.ComboBox cbScrollMethod;
|
||||
private System.Windows.Forms.Label lblScrollMethod;
|
||||
}
|
||||
}
|
@ -39,6 +39,7 @@ namespace ShareX.ScreenCaptureLib
|
||||
|
||||
InitializeComponent();
|
||||
ShareXResources.ApplyTheme(this, true);
|
||||
cbScrollMethod.Items.AddRange(Helpers.GetLocalizedEnumDescriptions<ScrollMethod>());
|
||||
|
||||
LoadOptions();
|
||||
}
|
||||
@ -48,6 +49,7 @@ namespace ShareX.ScreenCaptureLib
|
||||
nudStartDelay.SetValue(Options.StartDelay);
|
||||
cbAutoScrollTop.Checked = Options.AutoScrollTop;
|
||||
nudScrollDelay.SetValue(Options.ScrollDelay);
|
||||
cbScrollMethod.SelectedIndex = (int)Options.ScrollMethod;
|
||||
nudScrollAmount.SetValue(Options.ScrollAmount);
|
||||
cbAutoUpload.Checked = Options.AutoUpload;
|
||||
cbShowRegion.Checked = Options.ShowRegion;
|
||||
@ -59,12 +61,22 @@ namespace ShareX.ScreenCaptureLib
|
||||
Options.StartDelay = (int)nudStartDelay.Value;
|
||||
Options.AutoScrollTop = cbAutoScrollTop.Checked;
|
||||
Options.ScrollDelay = (int)nudScrollDelay.Value;
|
||||
Options.ScrollMethod = (ScrollMethod)cbScrollMethod.SelectedIndex;
|
||||
Options.ScrollAmount = (int)nudScrollAmount.Value;
|
||||
Options.AutoUpload = cbAutoUpload.Checked;
|
||||
Options.ShowRegion = cbShowRegion.Checked;
|
||||
Options.AutoIgnoreBottomEdge = cbAutoIgnoreBottomEdge.Checked;
|
||||
}
|
||||
|
||||
private void cbScrollMethod_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
bool hideScrollAmount = (ScrollMethod)cbScrollMethod.SelectedIndex == ScrollMethod.PageDown;
|
||||
|
||||
lblScrollAmount.Visible = !hideScrollAmount;
|
||||
nudScrollAmount.Visible = !hideScrollAmount;
|
||||
lblScrollAmountHint.Visible = !hideScrollAmount;
|
||||
}
|
||||
|
||||
private void btnOK_Click(object sender, EventArgs e)
|
||||
{
|
||||
SaveOptions();
|
||||
|
@ -144,7 +144,7 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>lblStartDelay.ZOrder" xml:space="preserve">
|
||||
<value>14</value>
|
||||
<value>16</value>
|
||||
</data>
|
||||
<data name="nudStartDelay.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>16, 40</value>
|
||||
@ -169,7 +169,7 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>nudStartDelay.ZOrder" xml:space="preserve">
|
||||
<value>13</value>
|
||||
<value>15</value>
|
||||
</data>
|
||||
<data name="lblScrollDelay.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@ -196,7 +196,7 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>lblScrollDelay.ZOrder" xml:space="preserve">
|
||||
<value>12</value>
|
||||
<value>14</value>
|
||||
</data>
|
||||
<data name="nudScrollDelay.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>16, 136</value>
|
||||
@ -220,7 +220,7 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>nudScrollDelay.ZOrder" xml:space="preserve">
|
||||
<value>11</value>
|
||||
<value>13</value>
|
||||
</data>
|
||||
<data name="cbAutoScrollTop.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@ -247,19 +247,19 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>cbAutoScrollTop.ZOrder" xml:space="preserve">
|
||||
<value>10</value>
|
||||
<value>12</value>
|
||||
</data>
|
||||
<data name="lblScrollAmount.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="lblScrollAmount.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>13, 176</value>
|
||||
<value>165, 176</value>
|
||||
</data>
|
||||
<data name="lblScrollAmount.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>91, 16</value>
|
||||
</data>
|
||||
<data name="lblScrollAmount.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>7</value>
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name="lblScrollAmount.Text" xml:space="preserve">
|
||||
<value>Scroll amount:</value>
|
||||
@ -274,16 +274,16 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>lblScrollAmount.ZOrder" xml:space="preserve">
|
||||
<value>9</value>
|
||||
<value>11</value>
|
||||
</data>
|
||||
<data name="nudScrollAmount.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>16, 200</value>
|
||||
<value>168, 201</value>
|
||||
</data>
|
||||
<data name="nudScrollAmount.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>80, 22</value>
|
||||
<value>64, 22</value>
|
||||
</data>
|
||||
<data name="nudScrollAmount.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>8</value>
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="nudScrollAmount.TextAlign" type="System.Windows.Forms.HorizontalAlignment, System.Windows.Forms">
|
||||
<value>Center</value>
|
||||
@ -298,19 +298,19 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>nudScrollAmount.ZOrder" xml:space="preserve">
|
||||
<value>8</value>
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="cbAutoUpload.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="cbAutoUpload.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>16, 240</value>
|
||||
<value>16, 304</value>
|
||||
</data>
|
||||
<data name="cbAutoUpload.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>191, 20</value>
|
||||
</data>
|
||||
<data name="cbAutoUpload.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>10</value>
|
||||
<value>14</value>
|
||||
</data>
|
||||
<data name="cbAutoUpload.Text" xml:space="preserve">
|
||||
<value>Automatically upload / save</value>
|
||||
@ -325,7 +325,7 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>cbAutoUpload.ZOrder" xml:space="preserve">
|
||||
<value>7</value>
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name="lblStartDelayHint.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@ -352,7 +352,7 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>lblStartDelayHint.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name="lblScrollDelayHint.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@ -379,19 +379,19 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>lblScrollDelayHint.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="lblScrollAmountHint.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="lblScrollAmountHint.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>101, 203</value>
|
||||
<value>237, 204</value>
|
||||
</data>
|
||||
<data name="lblScrollAmountHint.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>39, 16</value>
|
||||
</data>
|
||||
<data name="lblScrollAmountHint.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>9</value>
|
||||
<value>11</value>
|
||||
</data>
|
||||
<data name="lblScrollAmountHint.Text" xml:space="preserve">
|
||||
<value>times</value>
|
||||
@ -406,7 +406,7 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>lblScrollAmountHint.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="btnOK.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>152, 336</value>
|
||||
@ -415,7 +415,7 @@
|
||||
<value>104, 32</value>
|
||||
</data>
|
||||
<data name="btnOK.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>13</value>
|
||||
<value>15</value>
|
||||
</data>
|
||||
<data name="btnOK.Text" xml:space="preserve">
|
||||
<value>OK</value>
|
||||
@ -430,7 +430,7 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>btnOK.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="btnCancel.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>264, 336</value>
|
||||
@ -439,7 +439,7 @@
|
||||
<value>104, 32</value>
|
||||
</data>
|
||||
<data name="btnCancel.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>14</value>
|
||||
<value>16</value>
|
||||
</data>
|
||||
<data name="btnCancel.Text" xml:space="preserve">
|
||||
<value>Cancel</value>
|
||||
@ -454,7 +454,7 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>btnCancel.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="cbShowRegion.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@ -466,7 +466,7 @@
|
||||
<value>201, 20</value>
|
||||
</data>
|
||||
<data name="cbShowRegion.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>11</value>
|
||||
<value>13</value>
|
||||
</data>
|
||||
<data name="cbShowRegion.Text" xml:space="preserve">
|
||||
<value>Show scrolling capture region</value>
|
||||
@ -481,13 +481,13 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>cbShowRegion.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="cbAutoIgnoreBottomEdge.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="cbAutoIgnoreBottomEdge.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>16, 304</value>
|
||||
<value>16, 240</value>
|
||||
</data>
|
||||
<data name="cbAutoIgnoreBottomEdge.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>173, 20</value>
|
||||
@ -508,6 +508,54 @@
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>cbAutoIgnoreBottomEdge.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="cbScrollMethod.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>16, 200</value>
|
||||
</data>
|
||||
<data name="cbScrollMethod.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>144, 24</value>
|
||||
</data>
|
||||
<data name="cbScrollMethod.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name=">>cbScrollMethod.Name" xml:space="preserve">
|
||||
<value>cbScrollMethod</value>
|
||||
</data>
|
||||
<data name=">>cbScrollMethod.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=">>cbScrollMethod.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>cbScrollMethod.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="lblScrollMethod.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="lblScrollMethod.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>13, 176</value>
|
||||
</data>
|
||||
<data name="lblScrollMethod.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>92, 16</value>
|
||||
</data>
|
||||
<data name="lblScrollMethod.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="lblScrollMethod.Text" xml:space="preserve">
|
||||
<value>Scroll method:</value>
|
||||
</data>
|
||||
<data name=">>lblScrollMethod.Name" xml:space="preserve">
|
||||
<value>lblScrollMethod</value>
|
||||
</data>
|
||||
<data name=">>lblScrollMethod.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=">>lblScrollMethod.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>lblScrollMethod.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">
|
||||
|
@ -127,7 +127,27 @@ namespace ShareX.ScreenCaptureLib
|
||||
break;
|
||||
}
|
||||
|
||||
switch (Options.ScrollMethod)
|
||||
{
|
||||
case ScrollMethod.MouseWheel:
|
||||
InputHelpers.SendMouseWheel(-120 * Options.ScrollAmount);
|
||||
break;
|
||||
case ScrollMethod.DownArrow:
|
||||
for (int i = 0; i < Options.ScrollAmount; i++)
|
||||
{
|
||||
InputHelpers.SendKeyPress(VirtualKeyCode.DOWN);
|
||||
}
|
||||
break;
|
||||
case ScrollMethod.PageDown:
|
||||
InputHelpers.SendKeyPress(VirtualKeyCode.NEXT);
|
||||
break;
|
||||
case ScrollMethod.ScrollMessage:
|
||||
for (int i = 0; i < Options.ScrollAmount; i++)
|
||||
{
|
||||
NativeMethods.SendMessage(selectedWindow.Handle, (int)WindowsMessages.VSCROLL, (int)ScrollBarCommands.SB_LINEDOWN, 0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
Stopwatch timer = Stopwatch.StartNew();
|
||||
|
||||
|
@ -30,6 +30,7 @@ namespace ShareX.ScreenCaptureLib
|
||||
public int StartDelay { get; set; } = 300;
|
||||
public bool AutoScrollTop { get; set; } = false;
|
||||
public int ScrollDelay { get; set; } = 300;
|
||||
public ScrollMethod ScrollMethod { get; set; } = ScrollMethod.MouseWheel;
|
||||
public int ScrollAmount { get; set; } = 2;
|
||||
public bool AutoIgnoreBottomEdge { get; set; } = true;
|
||||
public bool AutoUpload { get; set; } = false;
|
||||
|
Loading…
x
Reference in New Issue
Block a user