Support image preview navigation in history form

This commit is contained in:
Jaex 2022-03-16 23:53:19 +03:00
parent 2a9600edd4
commit bc09cc131e
4 changed files with 469 additions and 260 deletions

View file

@ -34,7 +34,7 @@ public class ImageViewer : Form
{
public Image CurrentImage { get; private set; }
public string CurrentImageFilePath { get; private set; }
public bool SupportsImageNavigation => Images != null && Images.Length > 0;
public bool SupportImageNavigation => Images != null && Images.Length > 0;
public string[] Images { get; private set; }
public int CurrentImageIndex { get; private set; }
@ -66,7 +66,7 @@ private void LoadImage(Image img)
private void LoadCurrentImage()
{
if (!SupportsImageNavigation) return;
if (!SupportImageNavigation) return;
CurrentImageIndex = CurrentImageIndex.Clamp(0, Images.Length - 1);
CurrentImageFilePath = Images[CurrentImageIndex];
@ -77,7 +77,7 @@ private void LoadCurrentImage()
private void NavigateImage(int position)
{
if (!SupportsImageNavigation || Images.Length < 2) return;
if (!SupportImageNavigation || Images.Length < 2) return;
int nextImageIndex = CurrentImageIndex + position;
@ -130,7 +130,7 @@ private void FilterImageFiles()
private void UpdateIndexLabel()
{
if (!SupportsImageNavigation || Images.Length < 2) return;
if (!SupportImageNavigation || Images.Length < 2) return;
string status = CurrentImageIndex + 1 + " / " + Images.Length;
string fileName = Helpers.GetFileNameSafe(CurrentImageFilePath);

View file

@ -31,21 +31,6 @@ private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(HistoryForm));
this.tscHistory = new System.Windows.Forms.ToolStripContainer();
this.gbAdvancedSearch = new System.Windows.Forms.GroupBox();
this.btnAdvancedSearchReset = new System.Windows.Forms.Button();
this.lblURLFilter = new System.Windows.Forms.Label();
this.txtURLFilter = new System.Windows.Forms.TextBox();
this.lblFilenameFilter = new System.Windows.Forms.Label();
this.cbHostFilterSelection = new System.Windows.Forms.ComboBox();
this.cbTypeFilterSelection = new System.Windows.Forms.ComboBox();
this.cbHostFilter = new System.Windows.Forms.CheckBox();
this.cbTypeFilter = new System.Windows.Forms.CheckBox();
this.dtpFilterFrom = new System.Windows.Forms.DateTimePicker();
this.lblFilterFrom = new System.Windows.Forms.Label();
this.lblFilterTo = new System.Windows.Forms.Label();
this.cbDateFilter = new System.Windows.Forms.CheckBox();
this.dtpFilterTo = new System.Windows.Forms.DateTimePicker();
this.txtFilenameFilter = new System.Windows.Forms.TextBox();
this.lvHistory = new ShareX.HelpersLib.MyListView();
this.chIcon = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.chDateTime = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
@ -61,16 +46,31 @@ private void InitializeComponent()
this.tsbShowStats = new System.Windows.Forms.ToolStripButton();
this.tss2 = new System.Windows.Forms.ToolStripSeparator();
this.tsbSettings = new System.Windows.Forms.ToolStripButton();
this.gbAdvancedSearch = new System.Windows.Forms.GroupBox();
this.btnAdvancedSearchClose = new System.Windows.Forms.Button();
this.btnAdvancedSearchReset = new System.Windows.Forms.Button();
this.lblURLFilter = new System.Windows.Forms.Label();
this.txtURLFilter = new System.Windows.Forms.TextBox();
this.lblFilenameFilter = new System.Windows.Forms.Label();
this.cbHostFilterSelection = new System.Windows.Forms.ComboBox();
this.cbTypeFilterSelection = new System.Windows.Forms.ComboBox();
this.cbHostFilter = new System.Windows.Forms.CheckBox();
this.cbTypeFilter = new System.Windows.Forms.CheckBox();
this.dtpFilterFrom = new System.Windows.Forms.DateTimePicker();
this.lblFilterFrom = new System.Windows.Forms.Label();
this.lblFilterTo = new System.Windows.Forms.Label();
this.cbDateFilter = new System.Windows.Forms.CheckBox();
this.dtpFilterTo = new System.Windows.Forms.DateTimePicker();
this.txtFilenameFilter = new System.Windows.Forms.TextBox();
this.scMain = new ShareX.HelpersLib.SplitContainerCustomSplitter();
this.scHistoryItemInfo = new ShareX.HelpersLib.SplitContainerCustomSplitter();
this.pbThumbnail = new ShareX.HelpersLib.MyPictureBox();
this.pgHistoryItemInfo = new System.Windows.Forms.PropertyGrid();
this.btnAdvancedSearchClose = new System.Windows.Forms.Button();
this.tscHistory.ContentPanel.SuspendLayout();
this.tscHistory.TopToolStripPanel.SuspendLayout();
this.tscHistory.SuspendLayout();
this.gbAdvancedSearch.SuspendLayout();
this.tsHistory.SuspendLayout();
this.gbAdvancedSearch.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.scMain)).BeginInit();
this.scMain.Panel1.SuspendLayout();
this.scMain.Panel2.SuspendLayout();
@ -95,114 +95,6 @@ private void InitializeComponent()
//
this.tscHistory.TopToolStripPanel.Controls.Add(this.tsHistory);
//
// gbAdvancedSearch
//
this.gbAdvancedSearch.Controls.Add(this.btnAdvancedSearchClose);
this.gbAdvancedSearch.Controls.Add(this.btnAdvancedSearchReset);
this.gbAdvancedSearch.Controls.Add(this.lblURLFilter);
this.gbAdvancedSearch.Controls.Add(this.txtURLFilter);
this.gbAdvancedSearch.Controls.Add(this.lblFilenameFilter);
this.gbAdvancedSearch.Controls.Add(this.cbHostFilterSelection);
this.gbAdvancedSearch.Controls.Add(this.cbTypeFilterSelection);
this.gbAdvancedSearch.Controls.Add(this.cbHostFilter);
this.gbAdvancedSearch.Controls.Add(this.cbTypeFilter);
this.gbAdvancedSearch.Controls.Add(this.dtpFilterFrom);
this.gbAdvancedSearch.Controls.Add(this.lblFilterFrom);
this.gbAdvancedSearch.Controls.Add(this.lblFilterTo);
this.gbAdvancedSearch.Controls.Add(this.cbDateFilter);
this.gbAdvancedSearch.Controls.Add(this.dtpFilterTo);
this.gbAdvancedSearch.Controls.Add(this.txtFilenameFilter);
resources.ApplyResources(this.gbAdvancedSearch, "gbAdvancedSearch");
this.gbAdvancedSearch.Name = "gbAdvancedSearch";
this.gbAdvancedSearch.TabStop = false;
//
// btnAdvancedSearchReset
//
resources.ApplyResources(this.btnAdvancedSearchReset, "btnAdvancedSearchReset");
this.btnAdvancedSearchReset.Name = "btnAdvancedSearchReset";
this.btnAdvancedSearchReset.UseVisualStyleBackColor = true;
this.btnAdvancedSearchReset.Click += new System.EventHandler(this.btnAdvancedSearchReset_Click);
//
// lblURLFilter
//
resources.ApplyResources(this.lblURLFilter, "lblURLFilter");
this.lblURLFilter.Name = "lblURLFilter";
//
// txtURLFilter
//
resources.ApplyResources(this.txtURLFilter, "txtURLFilter");
this.txtURLFilter.Name = "txtURLFilter";
this.txtURLFilter.TextChanged += new System.EventHandler(this.AdvancedFilter_ValueChanged);
//
// lblFilenameFilter
//
resources.ApplyResources(this.lblFilenameFilter, "lblFilenameFilter");
this.lblFilenameFilter.Name = "lblFilenameFilter";
//
// cbHostFilterSelection
//
this.cbHostFilterSelection.FormattingEnabled = true;
resources.ApplyResources(this.cbHostFilterSelection, "cbHostFilterSelection");
this.cbHostFilterSelection.Name = "cbHostFilterSelection";
this.cbHostFilterSelection.SelectedIndexChanged += new System.EventHandler(this.AdvancedFilter_ValueChanged);
//
// cbTypeFilterSelection
//
this.cbTypeFilterSelection.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbTypeFilterSelection.FormattingEnabled = true;
resources.ApplyResources(this.cbTypeFilterSelection, "cbTypeFilterSelection");
this.cbTypeFilterSelection.Name = "cbTypeFilterSelection";
this.cbTypeFilterSelection.SelectedIndexChanged += new System.EventHandler(this.AdvancedFilter_ValueChanged);
//
// cbHostFilter
//
resources.ApplyResources(this.cbHostFilter, "cbHostFilter");
this.cbHostFilter.Name = "cbHostFilter";
this.cbHostFilter.UseVisualStyleBackColor = true;
this.cbHostFilter.CheckedChanged += new System.EventHandler(this.AdvancedFilter_ValueChanged);
//
// cbTypeFilter
//
resources.ApplyResources(this.cbTypeFilter, "cbTypeFilter");
this.cbTypeFilter.Name = "cbTypeFilter";
this.cbTypeFilter.UseVisualStyleBackColor = true;
this.cbTypeFilter.CheckedChanged += new System.EventHandler(this.AdvancedFilter_ValueChanged);
//
// dtpFilterFrom
//
resources.ApplyResources(this.dtpFilterFrom, "dtpFilterFrom");
this.dtpFilterFrom.Name = "dtpFilterFrom";
this.dtpFilterFrom.ValueChanged += new System.EventHandler(this.AdvancedFilter_ValueChanged);
//
// lblFilterFrom
//
resources.ApplyResources(this.lblFilterFrom, "lblFilterFrom");
this.lblFilterFrom.Name = "lblFilterFrom";
//
// lblFilterTo
//
resources.ApplyResources(this.lblFilterTo, "lblFilterTo");
this.lblFilterTo.Name = "lblFilterTo";
//
// cbDateFilter
//
resources.ApplyResources(this.cbDateFilter, "cbDateFilter");
this.cbDateFilter.Name = "cbDateFilter";
this.cbDateFilter.UseVisualStyleBackColor = true;
this.cbDateFilter.CheckedChanged += new System.EventHandler(this.AdvancedFilter_ValueChanged);
//
// dtpFilterTo
//
resources.ApplyResources(this.dtpFilterTo, "dtpFilterTo");
this.dtpFilterTo.Name = "dtpFilterTo";
this.dtpFilterTo.ValueChanged += new System.EventHandler(this.AdvancedFilter_ValueChanged);
//
// txtFilenameFilter
//
resources.ApplyResources(this.txtFilenameFilter, "txtFilenameFilter");
this.txtFilenameFilter.Name = "txtFilenameFilter";
this.txtFilenameFilter.TextChanged += new System.EventHandler(this.AdvancedFilter_ValueChanged);
//
// lvHistory
//
this.lvHistory.AutoFillColumn = true;
@ -321,6 +213,121 @@ private void InitializeComponent()
this.tsbSettings.Name = "tsbSettings";
this.tsbSettings.Click += new System.EventHandler(this.tsbSettings_Click);
//
// gbAdvancedSearch
//
this.gbAdvancedSearch.Controls.Add(this.btnAdvancedSearchClose);
this.gbAdvancedSearch.Controls.Add(this.btnAdvancedSearchReset);
this.gbAdvancedSearch.Controls.Add(this.lblURLFilter);
this.gbAdvancedSearch.Controls.Add(this.txtURLFilter);
this.gbAdvancedSearch.Controls.Add(this.lblFilenameFilter);
this.gbAdvancedSearch.Controls.Add(this.cbHostFilterSelection);
this.gbAdvancedSearch.Controls.Add(this.cbTypeFilterSelection);
this.gbAdvancedSearch.Controls.Add(this.cbHostFilter);
this.gbAdvancedSearch.Controls.Add(this.cbTypeFilter);
this.gbAdvancedSearch.Controls.Add(this.dtpFilterFrom);
this.gbAdvancedSearch.Controls.Add(this.lblFilterFrom);
this.gbAdvancedSearch.Controls.Add(this.lblFilterTo);
this.gbAdvancedSearch.Controls.Add(this.cbDateFilter);
this.gbAdvancedSearch.Controls.Add(this.dtpFilterTo);
this.gbAdvancedSearch.Controls.Add(this.txtFilenameFilter);
resources.ApplyResources(this.gbAdvancedSearch, "gbAdvancedSearch");
this.gbAdvancedSearch.Name = "gbAdvancedSearch";
this.gbAdvancedSearch.TabStop = false;
//
// btnAdvancedSearchClose
//
resources.ApplyResources(this.btnAdvancedSearchClose, "btnAdvancedSearchClose");
this.btnAdvancedSearchClose.Name = "btnAdvancedSearchClose";
this.btnAdvancedSearchClose.UseVisualStyleBackColor = true;
this.btnAdvancedSearchClose.Click += new System.EventHandler(this.btnAdvancedSearchClose_Click);
//
// btnAdvancedSearchReset
//
resources.ApplyResources(this.btnAdvancedSearchReset, "btnAdvancedSearchReset");
this.btnAdvancedSearchReset.Name = "btnAdvancedSearchReset";
this.btnAdvancedSearchReset.UseVisualStyleBackColor = true;
this.btnAdvancedSearchReset.Click += new System.EventHandler(this.btnAdvancedSearchReset_Click);
//
// lblURLFilter
//
resources.ApplyResources(this.lblURLFilter, "lblURLFilter");
this.lblURLFilter.Name = "lblURLFilter";
//
// txtURLFilter
//
resources.ApplyResources(this.txtURLFilter, "txtURLFilter");
this.txtURLFilter.Name = "txtURLFilter";
this.txtURLFilter.TextChanged += new System.EventHandler(this.AdvancedFilter_ValueChanged);
//
// lblFilenameFilter
//
resources.ApplyResources(this.lblFilenameFilter, "lblFilenameFilter");
this.lblFilenameFilter.Name = "lblFilenameFilter";
//
// cbHostFilterSelection
//
this.cbHostFilterSelection.FormattingEnabled = true;
resources.ApplyResources(this.cbHostFilterSelection, "cbHostFilterSelection");
this.cbHostFilterSelection.Name = "cbHostFilterSelection";
this.cbHostFilterSelection.SelectedIndexChanged += new System.EventHandler(this.AdvancedFilter_ValueChanged);
//
// cbTypeFilterSelection
//
this.cbTypeFilterSelection.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbTypeFilterSelection.FormattingEnabled = true;
resources.ApplyResources(this.cbTypeFilterSelection, "cbTypeFilterSelection");
this.cbTypeFilterSelection.Name = "cbTypeFilterSelection";
this.cbTypeFilterSelection.SelectedIndexChanged += new System.EventHandler(this.AdvancedFilter_ValueChanged);
//
// cbHostFilter
//
resources.ApplyResources(this.cbHostFilter, "cbHostFilter");
this.cbHostFilter.Name = "cbHostFilter";
this.cbHostFilter.UseVisualStyleBackColor = true;
this.cbHostFilter.CheckedChanged += new System.EventHandler(this.AdvancedFilter_ValueChanged);
//
// cbTypeFilter
//
resources.ApplyResources(this.cbTypeFilter, "cbTypeFilter");
this.cbTypeFilter.Name = "cbTypeFilter";
this.cbTypeFilter.UseVisualStyleBackColor = true;
this.cbTypeFilter.CheckedChanged += new System.EventHandler(this.AdvancedFilter_ValueChanged);
//
// dtpFilterFrom
//
resources.ApplyResources(this.dtpFilterFrom, "dtpFilterFrom");
this.dtpFilterFrom.Name = "dtpFilterFrom";
this.dtpFilterFrom.ValueChanged += new System.EventHandler(this.AdvancedFilter_ValueChanged);
//
// lblFilterFrom
//
resources.ApplyResources(this.lblFilterFrom, "lblFilterFrom");
this.lblFilterFrom.Name = "lblFilterFrom";
//
// lblFilterTo
//
resources.ApplyResources(this.lblFilterTo, "lblFilterTo");
this.lblFilterTo.Name = "lblFilterTo";
//
// cbDateFilter
//
resources.ApplyResources(this.cbDateFilter, "cbDateFilter");
this.cbDateFilter.Name = "cbDateFilter";
this.cbDateFilter.UseVisualStyleBackColor = true;
this.cbDateFilter.CheckedChanged += new System.EventHandler(this.AdvancedFilter_ValueChanged);
//
// dtpFilterTo
//
resources.ApplyResources(this.dtpFilterTo, "dtpFilterTo");
this.dtpFilterTo.Name = "dtpFilterTo";
this.dtpFilterTo.ValueChanged += new System.EventHandler(this.AdvancedFilter_ValueChanged);
//
// txtFilenameFilter
//
resources.ApplyResources(this.txtFilenameFilter, "txtFilenameFilter");
this.txtFilenameFilter.Name = "txtFilenameFilter";
this.txtFilenameFilter.TextChanged += new System.EventHandler(this.AdvancedFilter_ValueChanged);
//
// scMain
//
resources.ApplyResources(this.scMain, "scMain");
@ -359,10 +366,10 @@ private void InitializeComponent()
this.pbThumbnail.BackColor = System.Drawing.SystemColors.Window;
resources.ApplyResources(this.pbThumbnail, "pbThumbnail");
this.pbThumbnail.DrawCheckeredBackground = true;
this.pbThumbnail.FullscreenOnClick = true;
this.pbThumbnail.Name = "pbThumbnail";
this.pbThumbnail.PictureBoxBackColor = System.Drawing.SystemColors.Control;
this.pbThumbnail.ShowImageSizeLabel = true;
this.pbThumbnail.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbThumbnail_MouseDown);
//
// pgHistoryItemInfo
//
@ -371,13 +378,6 @@ private void InitializeComponent()
this.pgHistoryItemInfo.PropertySort = System.Windows.Forms.PropertySort.NoSort;
this.pgHistoryItemInfo.ToolbarVisible = false;
//
// btnAdvancedSearchClose
//
resources.ApplyResources(this.btnAdvancedSearchClose, "btnAdvancedSearchClose");
this.btnAdvancedSearchClose.Name = "btnAdvancedSearchClose";
this.btnAdvancedSearchClose.UseVisualStyleBackColor = true;
this.btnAdvancedSearchClose.Click += new System.EventHandler(this.btnAdvancedSearchClose_Click);
//
// HistoryForm
//
resources.ApplyResources(this, "$this");
@ -395,10 +395,10 @@ private void InitializeComponent()
this.tscHistory.TopToolStripPanel.PerformLayout();
this.tscHistory.ResumeLayout(false);
this.tscHistory.PerformLayout();
this.gbAdvancedSearch.ResumeLayout(false);
this.gbAdvancedSearch.PerformLayout();
this.tsHistory.ResumeLayout(false);
this.tsHistory.PerformLayout();
this.gbAdvancedSearch.ResumeLayout(false);
this.gbAdvancedSearch.PerformLayout();
this.scMain.Panel1.ResumeLayout(false);
this.scMain.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.scMain)).EndInit();

View file

@ -543,6 +543,35 @@ private void lvHistory_ItemDrag(object sender, ItemDragEventArgs e)
}
}
private void pbThumbnail_MouseDown(object sender, MouseEventArgs e)
{
pbThumbnail.Enabled = false;
int currentImageIndex = lvHistory.SelectedIndex;
int modifiedImageIndex = 0;
int halfRange = 100;
int startIndex = Math.Max(currentImageIndex - halfRange, 0);
int endIndex = Math.Min(startIndex + (halfRange * 2) + 1, filteredHistoryItems.Length);
List<string> filteredImages = new List<string>();
for (int i = startIndex; i < endIndex; i++)
{
string imageFilePath = filteredHistoryItems[i].FilePath;
if (i == currentImageIndex)
{
modifiedImageIndex = filteredImages.Count;
}
filteredImages.Add(imageFilePath);
}
ImageViewer.ShowImage(filteredImages.ToArray(), modifiedImageIndex);
pbThumbnail.Enabled = true;
}
#endregion Form events
}
}

View file

@ -148,7 +148,7 @@
<value>lvHistory</value>
</data>
<data name="&gt;&gt;lvHistory.Type" xml:space="preserve">
<value>ShareX.HelpersLib.MyListView, ShareX.HelpersLib, Version=13.7.1.0, Culture=neutral, PublicKeyToken=null</value>
<value>ShareX.HelpersLib.MyListView, ShareX.HelpersLib, Version=13.7.2.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;lvHistory.Parent" xml:space="preserve">
<value>tscHistory.ContentPanel</value>
@ -258,6 +258,300 @@
<data name="&gt;&gt;tscHistory.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="chIcon.Text" xml:space="preserve">
<value />
</data>
<data name="chIcon.Width" type="System.Int32, mscorlib">
<value>24</value>
</data>
<data name="chDateTime.Text" xml:space="preserve">
<value>Date</value>
</data>
<data name="chDateTime.Width" type="System.Int32, mscorlib">
<value>115</value>
</data>
<data name="chFilename.Text" xml:space="preserve">
<value>Filename</value>
</data>
<data name="chFilename.Width" type="System.Int32, mscorlib">
<value>170</value>
</data>
<data name="chURL.Text" xml:space="preserve">
<value>URL</value>
</data>
<data name="chURL.Width" type="System.Int32, mscorlib">
<value>230</value>
</data>
<data name="tslSearch.Size" type="System.Drawing.Size, System.Drawing">
<value>45, 22</value>
</data>
<data name="tslSearch.Text" xml:space="preserve">
<value>Search:</value>
</data>
<data name="tstbSearch.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="tstbSearch.Size" type="System.Drawing.Size, System.Drawing">
<value>300, 25</value>
</data>
<data name="tsbSearch.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
<data name="tsbSearch.Size" type="System.Drawing.Size, System.Drawing">
<value>23, 22</value>
</data>
<data name="tsbSearch.Text" xml:space="preserve">
<value>Search</value>
</data>
<data name="tsbAdvancedSearch.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
<data name="tsbAdvancedSearch.Size" type="System.Drawing.Size, System.Drawing">
<value>23, 22</value>
</data>
<data name="tsbAdvancedSearch.Text" xml:space="preserve">
<value>Advanced search...</value>
</data>
<data name="tss1.Size" type="System.Drawing.Size, System.Drawing">
<value>6, 25</value>
</data>
<data name="tsbToggleMoreInfo.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
<data name="tsbToggleMoreInfo.Size" type="System.Drawing.Size, System.Drawing">
<value>23, 22</value>
</data>
<data name="tsbToggleMoreInfo.Text" xml:space="preserve">
<value>Toggle more info</value>
</data>
<data name="tsbShowStats.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
<data name="tsbShowStats.Size" type="System.Drawing.Size, System.Drawing">
<value>23, 22</value>
</data>
<data name="tsbShowStats.Text" xml:space="preserve">
<value>Show stats...</value>
</data>
<data name="tss2.Size" type="System.Drawing.Size, System.Drawing">
<value>6, 25</value>
</data>
<data name="tsbSettings.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
<data name="tsbSettings.Size" type="System.Drawing.Size, System.Drawing">
<value>23, 22</value>
</data>
<data name="tsbSettings.Text" xml:space="preserve">
<value>Settings...</value>
</data>
<data name="&gt;&gt;btnAdvancedSearchClose.Name" xml:space="preserve">
<value>btnAdvancedSearchClose</value>
</data>
<data name="&gt;&gt;btnAdvancedSearchClose.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="&gt;&gt;btnAdvancedSearchClose.Parent" xml:space="preserve">
<value>gbAdvancedSearch</value>
</data>
<data name="&gt;&gt;btnAdvancedSearchClose.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;btnAdvancedSearchReset.Name" xml:space="preserve">
<value>btnAdvancedSearchReset</value>
</data>
<data name="&gt;&gt;btnAdvancedSearchReset.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="&gt;&gt;btnAdvancedSearchReset.Parent" xml:space="preserve">
<value>gbAdvancedSearch</value>
</data>
<data name="&gt;&gt;btnAdvancedSearchReset.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;lblURLFilter.Name" xml:space="preserve">
<value>lblURLFilter</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;lblURLFilter.Parent" xml:space="preserve">
<value>gbAdvancedSearch</value>
</data>
<data name="&gt;&gt;lblURLFilter.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;txtURLFilter.Name" xml:space="preserve">
<value>txtURLFilter</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;txtURLFilter.Parent" xml:space="preserve">
<value>gbAdvancedSearch</value>
</data>
<data name="&gt;&gt;txtURLFilter.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="&gt;&gt;lblFilenameFilter.Name" xml:space="preserve">
<value>lblFilenameFilter</value>
</data>
<data name="&gt;&gt;lblFilenameFilter.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="&gt;&gt;lblFilenameFilter.Parent" xml:space="preserve">
<value>gbAdvancedSearch</value>
</data>
<data name="&gt;&gt;lblFilenameFilter.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="&gt;&gt;cbHostFilterSelection.Name" xml:space="preserve">
<value>cbHostFilterSelection</value>
</data>
<data name="&gt;&gt;cbHostFilterSelection.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="&gt;&gt;cbHostFilterSelection.Parent" xml:space="preserve">
<value>gbAdvancedSearch</value>
</data>
<data name="&gt;&gt;cbHostFilterSelection.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="&gt;&gt;cbTypeFilterSelection.Name" xml:space="preserve">
<value>cbTypeFilterSelection</value>
</data>
<data name="&gt;&gt;cbTypeFilterSelection.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="&gt;&gt;cbTypeFilterSelection.Parent" xml:space="preserve">
<value>gbAdvancedSearch</value>
</data>
<data name="&gt;&gt;cbTypeFilterSelection.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="&gt;&gt;cbHostFilter.Name" xml:space="preserve">
<value>cbHostFilter</value>
</data>
<data name="&gt;&gt;cbHostFilter.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;cbHostFilter.Parent" xml:space="preserve">
<value>gbAdvancedSearch</value>
</data>
<data name="&gt;&gt;cbHostFilter.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="&gt;&gt;cbTypeFilter.Name" xml:space="preserve">
<value>cbTypeFilter</value>
</data>
<data name="&gt;&gt;cbTypeFilter.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;cbTypeFilter.Parent" xml:space="preserve">
<value>gbAdvancedSearch</value>
</data>
<data name="&gt;&gt;cbTypeFilter.ZOrder" xml:space="preserve">
<value>8</value>
</data>
<data name="&gt;&gt;dtpFilterFrom.Name" xml:space="preserve">
<value>dtpFilterFrom</value>
</data>
<data name="&gt;&gt;dtpFilterFrom.Type" xml:space="preserve">
<value>System.Windows.Forms.DateTimePicker, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;dtpFilterFrom.Parent" xml:space="preserve">
<value>gbAdvancedSearch</value>
</data>
<data name="&gt;&gt;dtpFilterFrom.ZOrder" xml:space="preserve">
<value>9</value>
</data>
<data name="&gt;&gt;lblFilterFrom.Name" xml:space="preserve">
<value>lblFilterFrom</value>
</data>
<data name="&gt;&gt;lblFilterFrom.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="&gt;&gt;lblFilterFrom.Parent" xml:space="preserve">
<value>gbAdvancedSearch</value>
</data>
<data name="&gt;&gt;lblFilterFrom.ZOrder" xml:space="preserve">
<value>10</value>
</data>
<data name="&gt;&gt;lblFilterTo.Name" xml:space="preserve">
<value>lblFilterTo</value>
</data>
<data name="&gt;&gt;lblFilterTo.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="&gt;&gt;lblFilterTo.Parent" xml:space="preserve">
<value>gbAdvancedSearch</value>
</data>
<data name="&gt;&gt;lblFilterTo.ZOrder" xml:space="preserve">
<value>11</value>
</data>
<data name="&gt;&gt;cbDateFilter.Name" xml:space="preserve">
<value>cbDateFilter</value>
</data>
<data name="&gt;&gt;cbDateFilter.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;cbDateFilter.Parent" xml:space="preserve">
<value>gbAdvancedSearch</value>
</data>
<data name="&gt;&gt;cbDateFilter.ZOrder" xml:space="preserve">
<value>12</value>
</data>
<data name="&gt;&gt;dtpFilterTo.Name" xml:space="preserve">
<value>dtpFilterTo</value>
</data>
<data name="&gt;&gt;dtpFilterTo.Type" xml:space="preserve">
<value>System.Windows.Forms.DateTimePicker, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;dtpFilterTo.Parent" xml:space="preserve">
<value>gbAdvancedSearch</value>
</data>
<data name="&gt;&gt;dtpFilterTo.ZOrder" xml:space="preserve">
<value>13</value>
</data>
<data name="&gt;&gt;txtFilenameFilter.Name" xml:space="preserve">
<value>txtFilenameFilter</value>
</data>
<data name="&gt;&gt;txtFilenameFilter.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="&gt;&gt;txtFilenameFilter.Parent" xml:space="preserve">
<value>gbAdvancedSearch</value>
</data>
<data name="&gt;&gt;txtFilenameFilter.ZOrder" xml:space="preserve">
<value>14</value>
</data>
<data name="gbAdvancedSearch.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="gbAdvancedSearch.Size" type="System.Drawing.Size, System.Drawing">
<value>409, 213</value>
</data>
<data name="gbAdvancedSearch.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="gbAdvancedSearch.Text" xml:space="preserve">
<value>Advanced search</value>
</data>
<data name="gbAdvancedSearch.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="&gt;&gt;gbAdvancedSearch.Name" xml:space="preserve">
<value>gbAdvancedSearch</value>
</data>
<data name="&gt;&gt;gbAdvancedSearch.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;gbAdvancedSearch.Parent" xml:space="preserve">
<value>scHistoryItemInfo.Panel1</value>
</data>
<data name="&gt;&gt;gbAdvancedSearch.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="btnAdvancedSearchClose.Location" type="System.Drawing.Point, System.Drawing">
<value>272, 176</value>
</data>
@ -642,120 +936,6 @@
<data name="&gt;&gt;txtFilenameFilter.ZOrder" xml:space="preserve">
<value>14</value>
</data>
<data name="gbAdvancedSearch.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="gbAdvancedSearch.Size" type="System.Drawing.Size, System.Drawing">
<value>409, 213</value>
</data>
<data name="gbAdvancedSearch.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="gbAdvancedSearch.Text" xml:space="preserve">
<value>Advanced search</value>
</data>
<data name="gbAdvancedSearch.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="&gt;&gt;gbAdvancedSearch.Name" xml:space="preserve">
<value>gbAdvancedSearch</value>
</data>
<data name="&gt;&gt;gbAdvancedSearch.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;gbAdvancedSearch.Parent" xml:space="preserve">
<value>scHistoryItemInfo.Panel1</value>
</data>
<data name="&gt;&gt;gbAdvancedSearch.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="chIcon.Text" xml:space="preserve">
<value />
</data>
<data name="chIcon.Width" type="System.Int32, mscorlib">
<value>24</value>
</data>
<data name="chDateTime.Text" xml:space="preserve">
<value>Date</value>
</data>
<data name="chDateTime.Width" type="System.Int32, mscorlib">
<value>115</value>
</data>
<data name="chFilename.Text" xml:space="preserve">
<value>Filename</value>
</data>
<data name="chFilename.Width" type="System.Int32, mscorlib">
<value>170</value>
</data>
<data name="chURL.Text" xml:space="preserve">
<value>URL</value>
</data>
<data name="chURL.Width" type="System.Int32, mscorlib">
<value>230</value>
</data>
<data name="tslSearch.Size" type="System.Drawing.Size, System.Drawing">
<value>45, 22</value>
</data>
<data name="tslSearch.Text" xml:space="preserve">
<value>Search:</value>
</data>
<data name="tstbSearch.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="tstbSearch.Size" type="System.Drawing.Size, System.Drawing">
<value>300, 25</value>
</data>
<data name="tsbSearch.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
<data name="tsbSearch.Size" type="System.Drawing.Size, System.Drawing">
<value>23, 22</value>
</data>
<data name="tsbSearch.Text" xml:space="preserve">
<value>Search</value>
</data>
<data name="tsbAdvancedSearch.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
<data name="tsbAdvancedSearch.Size" type="System.Drawing.Size, System.Drawing">
<value>23, 22</value>
</data>
<data name="tsbAdvancedSearch.Text" xml:space="preserve">
<value>Advanced search...</value>
</data>
<data name="tss1.Size" type="System.Drawing.Size, System.Drawing">
<value>6, 25</value>
</data>
<data name="tsbToggleMoreInfo.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
<data name="tsbToggleMoreInfo.Size" type="System.Drawing.Size, System.Drawing">
<value>23, 22</value>
</data>
<data name="tsbToggleMoreInfo.Text" xml:space="preserve">
<value>Toggle more info</value>
</data>
<data name="tsbShowStats.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
<data name="tsbShowStats.Size" type="System.Drawing.Size, System.Drawing">
<value>23, 22</value>
</data>
<data name="tsbShowStats.Text" xml:space="preserve">
<value>Show stats...</value>
</data>
<data name="tss2.Size" type="System.Drawing.Size, System.Drawing">
<value>6, 25</value>
</data>
<data name="tsbSettings.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
<data name="tsbSettings.Size" type="System.Drawing.Size, System.Drawing">
<value>23, 22</value>
</data>
<data name="tsbSettings.Text" xml:space="preserve">
<value>Settings...</value>
</data>
<data name="scMain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
@ -796,7 +976,7 @@
<value>0, 0</value>
</data>
<data name="pbThumbnail.Size" type="System.Drawing.Size, System.Drawing">
<value>627, 433</value>
<value>627, 430</value>
</data>
<data name="pbThumbnail.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
@ -805,7 +985,7 @@
<value>pbThumbnail</value>
</data>
<data name="&gt;&gt;pbThumbnail.Type" xml:space="preserve">
<value>ShareX.HelpersLib.MyPictureBox, ShareX.HelpersLib, Version=13.7.1.0, Culture=neutral, PublicKeyToken=null</value>
<value>ShareX.HelpersLib.MyPictureBox, ShareX.HelpersLib, Version=13.7.2.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;pbThumbnail.Parent" xml:space="preserve">
<value>scHistoryItemInfo.Panel1</value>
@ -835,7 +1015,7 @@
<value>0, 0</value>
</data>
<data name="pgHistoryItemInfo.Size" type="System.Drawing.Size, System.Drawing">
<value>627, 221</value>
<value>627, 224</value>
</data>
<data name="pgHistoryItemInfo.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -868,7 +1048,7 @@
<value>627, 661</value>
</data>
<data name="scHistoryItemInfo.SplitterDistance" type="System.Int32, mscorlib">
<value>433</value>
<value>430</value>
</data>
<data name="scHistoryItemInfo.SplitterWidth" type="System.Int32, mscorlib">
<value>7</value>
@ -880,7 +1060,7 @@
<value>scHistoryItemInfo</value>
</data>
<data name="&gt;&gt;scHistoryItemInfo.Type" xml:space="preserve">
<value>ShareX.HelpersLib.SplitContainerCustomSplitter, ShareX.HelpersLib, Version=13.7.1.0, Culture=neutral, PublicKeyToken=null</value>
<value>ShareX.HelpersLib.SplitContainerCustomSplitter, ShareX.HelpersLib, Version=13.7.2.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;scHistoryItemInfo.Parent" xml:space="preserve">
<value>scMain.Panel2</value>
@ -919,7 +1099,7 @@
<value>scMain</value>
</data>
<data name="&gt;&gt;scMain.Type" xml:space="preserve">
<value>ShareX.HelpersLib.SplitContainerCustomSplitter, ShareX.HelpersLib, Version=13.7.1.0, Culture=neutral, PublicKeyToken=null</value>
<value>ShareX.HelpersLib.SplitContainerCustomSplitter, ShareX.HelpersLib, Version=13.7.2.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;scMain.Parent" xml:space="preserve">
<value>$this</value>