mirror of
https://github.com/ShareX/ShareX.git
synced 2024-06-28 19:20:27 +12:00
Added URL filtering support to history form
This commit is contained in:
parent
04ebf946a1
commit
8ea4829e7e
16
ShareX.HistoryLib/Forms/HistoryForm.Designer.cs
generated
16
ShareX.HistoryLib/Forms/HistoryForm.Designer.cs
generated
|
@ -53,6 +53,8 @@ private void InitializeComponent()
|
|||
this.dtpFilterTo = new System.Windows.Forms.DateTimePicker();
|
||||
this.txtFilenameFilter = new System.Windows.Forms.TextBox();
|
||||
this.cbFilenameFilterMethod = new System.Windows.Forms.ComboBox();
|
||||
this.txtURLFilter = new System.Windows.Forms.TextBox();
|
||||
this.lblURLFilter = new System.Windows.Forms.Label();
|
||||
((System.ComponentModel.ISupportInitialize)(this.scMain)).BeginInit();
|
||||
this.scMain.Panel1.SuspendLayout();
|
||||
this.scMain.Panel2.SuspendLayout();
|
||||
|
@ -134,6 +136,8 @@ private void InitializeComponent()
|
|||
// gbFilters
|
||||
//
|
||||
resources.ApplyResources(this.gbFilters, "gbFilters");
|
||||
this.gbFilters.Controls.Add(this.lblURLFilter);
|
||||
this.gbFilters.Controls.Add(this.txtURLFilter);
|
||||
this.gbFilters.Controls.Add(this.lblFilenameFilter);
|
||||
this.gbFilters.Controls.Add(this.cbHostFilterSelection);
|
||||
this.gbFilters.Controls.Add(this.btnRemoveFilters);
|
||||
|
@ -238,6 +242,16 @@ private void InitializeComponent()
|
|||
resources.ApplyResources(this.cbFilenameFilterMethod, "cbFilenameFilterMethod");
|
||||
this.cbFilenameFilterMethod.Name = "cbFilenameFilterMethod";
|
||||
//
|
||||
// txtURLFilter
|
||||
//
|
||||
resources.ApplyResources(this.txtURLFilter, "txtURLFilter");
|
||||
this.txtURLFilter.Name = "txtURLFilter";
|
||||
//
|
||||
// lblURLFilter
|
||||
//
|
||||
resources.ApplyResources(this.lblURLFilter, "lblURLFilter");
|
||||
this.lblURLFilter.Name = "lblURLFilter";
|
||||
//
|
||||
// HistoryForm
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
|
@ -285,5 +299,7 @@ private void InitializeComponent()
|
|||
private System.Windows.Forms.TextBox txtFilenameFilter;
|
||||
private System.Windows.Forms.ComboBox cbFilenameFilterMethod;
|
||||
private System.Windows.Forms.Label lblFilenameFilter;
|
||||
private System.Windows.Forms.Label lblURLFilter;
|
||||
private System.Windows.Forms.TextBox txtURLFilter;
|
||||
}
|
||||
}
|
|
@ -119,7 +119,7 @@ private void ApplyFiltersAndAdd()
|
|||
|
||||
private HistoryItem[] ApplyFilters(HistoryItem[] historyItems)
|
||||
{
|
||||
if (!cbTypeFilter.Checked && !cbHostFilter.Checked && string.IsNullOrEmpty(txtFilenameFilter.Text) && !cbDateFilter.Checked)
|
||||
if (!cbTypeFilter.Checked && !cbHostFilter.Checked && string.IsNullOrEmpty(txtFilenameFilter.Text) && string.IsNullOrEmpty(txtURLFilter.Text) && !cbDateFilter.Checked)
|
||||
{
|
||||
return historyItems;
|
||||
}
|
||||
|
@ -146,33 +146,37 @@ private HistoryItem[] ApplyFilters(HistoryItem[] historyItems)
|
|||
}
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(txtFilenameFilter.Text))
|
||||
string filenameFilter = txtFilenameFilter.Text;
|
||||
|
||||
if (!string.IsNullOrEmpty(filenameFilter))
|
||||
{
|
||||
string filenameFilter = txtFilenameFilter.Text;
|
||||
StringComparison filenameRule = StringComparison.InvariantCultureIgnoreCase;
|
||||
|
||||
if (!string.IsNullOrEmpty(filenameFilter))
|
||||
switch (cbFilenameFilterMethod.SelectedIndex)
|
||||
{
|
||||
StringComparison filenameRule = StringComparison.InvariantCultureIgnoreCase;
|
||||
|
||||
switch (cbFilenameFilterMethod.SelectedIndex)
|
||||
{
|
||||
default:
|
||||
case 0: // Contains
|
||||
result = result.Where(x => x.Filename.Contains(filenameFilter, filenameRule));
|
||||
break;
|
||||
case 1: // Starts with
|
||||
result = result.Where(x => x.Filename.StartsWith(filenameFilter, filenameRule));
|
||||
break;
|
||||
case 2: // Ends with
|
||||
result = result.Where(x => x.Filename.EndsWith(filenameFilter, filenameRule));
|
||||
break;
|
||||
case 3: // Exact match
|
||||
result = result.Where(x => x.Filename.Equals(filenameFilter, filenameRule));
|
||||
break;
|
||||
}
|
||||
default:
|
||||
case 0: // Contains
|
||||
result = result.Where(x => x.Filename.Contains(filenameFilter, filenameRule));
|
||||
break;
|
||||
case 1: // Starts with
|
||||
result = result.Where(x => x.Filename.StartsWith(filenameFilter, filenameRule));
|
||||
break;
|
||||
case 2: // Ends with
|
||||
result = result.Where(x => x.Filename.EndsWith(filenameFilter, filenameRule));
|
||||
break;
|
||||
case 3: // Exact match
|
||||
result = result.Where(x => x.Filename.Equals(filenameFilter, filenameRule));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
string urlFilter = txtURLFilter.Text;
|
||||
|
||||
if (!string.IsNullOrEmpty(urlFilter))
|
||||
{
|
||||
result = result.Where(x => x.URL != null && x.URL.Contains(urlFilter, StringComparison.InvariantCultureIgnoreCase));
|
||||
}
|
||||
|
||||
if (cbDateFilter.Checked)
|
||||
{
|
||||
DateTime fromDate = dtpFilterFrom.Value.Date;
|
||||
|
|
|
@ -127,7 +127,6 @@
|
|||
</data>
|
||||
<data name="chIcon.Text" xml:space="preserve">
|
||||
<value />
|
||||
<comment>@Invariant</comment>
|
||||
</data>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="chIcon.Width" type="System.Int32, mscorlib">
|
||||
|
@ -197,7 +196,7 @@
|
|||
<value>8, 8</value>
|
||||
</data>
|
||||
<data name="pbThumbnail.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>408, 368</value>
|
||||
<value>408, 352</value>
|
||||
</data>
|
||||
<data name="pbThumbnail.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
|
@ -217,6 +216,54 @@
|
|||
<data name="gbFilters.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Bottom, Left, Right</value>
|
||||
</data>
|
||||
<data name="lblURLFilter.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="lblURLFilter.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>13, 203</value>
|
||||
</data>
|
||||
<data name="lblURLFilter.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>32, 13</value>
|
||||
</data>
|
||||
<data name="lblURLFilter.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>20</value>
|
||||
</data>
|
||||
<data name="lblURLFilter.Text" xml:space="preserve">
|
||||
<value>URL:</value>
|
||||
</data>
|
||||
<data name=">>lblURLFilter.Name" xml:space="preserve">
|
||||
<value>lblURLFilter</value>
|
||||
</data>
|
||||
<data name=">>lblURLFilter.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=">>lblURLFilter.Parent" xml:space="preserve">
|
||||
<value>gbFilters</value>
|
||||
</data>
|
||||
<data name=">>lblURLFilter.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="txtURLFilter.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>168, 199</value>
|
||||
</data>
|
||||
<data name="txtURLFilter.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>144, 20</value>
|
||||
</data>
|
||||
<data name="txtURLFilter.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>19</value>
|
||||
</data>
|
||||
<data name=">>txtURLFilter.Name" xml:space="preserve">
|
||||
<value>txtURLFilter</value>
|
||||
</data>
|
||||
<data name=">>txtURLFilter.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>txtURLFilter.Parent" xml:space="preserve">
|
||||
<value>gbFilters</value>
|
||||
</data>
|
||||
<data name=">>txtURLFilter.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="lblFilenameFilter.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
|
@ -242,10 +289,10 @@
|
|||
<value>gbFilters</value>
|
||||
</data>
|
||||
<data name=">>lblFilenameFilter.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="cbHostFilterSelection.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>168, 176</value>
|
||||
<value>168, 174</value>
|
||||
</data>
|
||||
<data name="cbHostFilterSelection.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>144, 21</value>
|
||||
|
@ -263,13 +310,13 @@
|
|||
<value>gbFilters</value>
|
||||
</data>
|
||||
<data name=">>cbHostFilterSelection.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="btnRemoveFilters.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="btnRemoveFilters.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>168, 210</value>
|
||||
<value>168, 232</value>
|
||||
</data>
|
||||
<data name="btnRemoveFilters.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>144, 24</value>
|
||||
|
@ -290,13 +337,13 @@
|
|||
<value>gbFilters</value>
|
||||
</data>
|
||||
<data name=">>btnRemoveFilters.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="btnApplyFilters.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="btnApplyFilters.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>16, 210</value>
|
||||
<value>16, 232</value>
|
||||
</data>
|
||||
<data name="btnApplyFilters.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>144, 24</value>
|
||||
|
@ -317,7 +364,7 @@
|
|||
<value>gbFilters</value>
|
||||
</data>
|
||||
<data name=">>btnApplyFilters.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="cbTypeFilterSelection.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>168, 150</value>
|
||||
|
@ -338,7 +385,7 @@
|
|||
<value>gbFilters</value>
|
||||
</data>
|
||||
<data name=">>cbTypeFilterSelection.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="cbHostFilter.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
|
@ -347,7 +394,7 @@
|
|||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="cbHostFilter.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>16, 179</value>
|
||||
<value>16, 176</value>
|
||||
</data>
|
||||
<data name="cbHostFilter.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>51, 17</value>
|
||||
|
@ -368,7 +415,7 @@
|
|||
<value>gbFilters</value>
|
||||
</data>
|
||||
<data name=">>cbHostFilter.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="cbTypeFilter.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
|
@ -398,7 +445,7 @@
|
|||
<value>gbFilters</value>
|
||||
</data>
|
||||
<data name=">>cbTypeFilter.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name="dtpFilterFrom.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>88, 94</value>
|
||||
|
@ -419,7 +466,7 @@
|
|||
<value>gbFilters</value>
|
||||
</data>
|
||||
<data name=">>dtpFilterFrom.ZOrder" xml:space="preserve">
|
||||
<value>7</value>
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name="lblFilterFrom.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
|
@ -449,7 +496,7 @@
|
|||
<value>gbFilters</value>
|
||||
</data>
|
||||
<data name=">>lblFilterFrom.ZOrder" xml:space="preserve">
|
||||
<value>8</value>
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="lblFilterTo.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
|
@ -479,7 +526,7 @@
|
|||
<value>gbFilters</value>
|
||||
</data>
|
||||
<data name=">>lblFilterTo.ZOrder" xml:space="preserve">
|
||||
<value>9</value>
|
||||
<value>11</value>
|
||||
</data>
|
||||
<data name="cbDateFilter.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
|
@ -509,7 +556,7 @@
|
|||
<value>gbFilters</value>
|
||||
</data>
|
||||
<data name=">>cbDateFilter.ZOrder" xml:space="preserve">
|
||||
<value>10</value>
|
||||
<value>12</value>
|
||||
</data>
|
||||
<data name="dtpFilterTo.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>88, 118</value>
|
||||
|
@ -530,7 +577,7 @@
|
|||
<value>gbFilters</value>
|
||||
</data>
|
||||
<data name=">>dtpFilterTo.ZOrder" xml:space="preserve">
|
||||
<value>11</value>
|
||||
<value>13</value>
|
||||
</data>
|
||||
<data name="txtFilenameFilter.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>16, 46</value>
|
||||
|
@ -551,7 +598,7 @@
|
|||
<value>gbFilters</value>
|
||||
</data>
|
||||
<data name=">>txtFilenameFilter.ZOrder" xml:space="preserve">
|
||||
<value>12</value>
|
||||
<value>14</value>
|
||||
</data>
|
||||
<data name="cbFilenameFilterMethod.Items" xml:space="preserve">
|
||||
<value>Contains</value>
|
||||
|
@ -584,13 +631,13 @@
|
|||
<value>gbFilters</value>
|
||||
</data>
|
||||
<data name=">>cbFilenameFilterMethod.ZOrder" xml:space="preserve">
|
||||
<value>13</value>
|
||||
<value>15</value>
|
||||
</data>
|
||||
<data name="gbFilters.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>8, 384</value>
|
||||
<value>8, 368</value>
|
||||
</data>
|
||||
<data name="gbFilters.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>408, 250</value>
|
||||
<value>408, 266</value>
|
||||
</data>
|
||||
<data name="gbFilters.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
|
|
Loading…
Reference in a new issue