diff options
author | Oleksii Kovalov <OleksiiKovalov@users.noreply.github.com> | 2014-08-18 12:51:24 +0000 |
---|---|---|
committer | Oleksii Kovalov <OleksiiKovalov@users.noreply.github.com> | 2014-08-18 12:51:24 +0000 |
commit | 505704ed931d97088d09fb5b13396e0799313c21 (patch) | |
tree | aa1855426def2dfc921ea1b3b3fdd0cb5d32dad7 | |
parent | 3e9a535c1fb3f6604facb74bd4c662936006839f (diff) | |
download | expressprofiler-505704ed931d97088d09fb5b13396e0799313c21.zip expressprofiler-505704ed931d97088d09fb5b13396e0799313c21.tar.gz expressprofiler-505704ed931d97088d09fb5b13396e0799313c21.tar.bz2 |
[*] added find options from patch 16706 by MarkStoren (next/prev/case/pattern search)
[*] added "stay on top", "transparent" buttons
[*] added ability to delete selected/unselected events only
-rw-r--r-- | ExpressProfiler/ExpressProfiler/FindForm.Designer.cs | 77 | ||||
-rw-r--r-- | ExpressProfiler/ExpressProfiler/FindForm.cs | 32 | ||||
-rw-r--r-- | ExpressProfiler/ExpressProfiler/MainForm.Designer.cs | 92 | ||||
-rw-r--r-- | ExpressProfiler/ExpressProfiler/MainForm.cs | 109 | ||||
-rw-r--r-- | ExpressProfiler/ExpressProfiler/MainForm.resx | 35 |
5 files changed, 300 insertions, 45 deletions
diff --git a/ExpressProfiler/ExpressProfiler/FindForm.Designer.cs b/ExpressProfiler/ExpressProfiler/FindForm.Designer.cs index 8643852..1b1e5fb 100644 --- a/ExpressProfiler/ExpressProfiler/FindForm.Designer.cs +++ b/ExpressProfiler/ExpressProfiler/FindForm.Designer.cs @@ -30,8 +30,11 @@ {
this.edPattern = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
- this.btnFind = new System.Windows.Forms.Button();
+ this.btnFindNext = new System.Windows.Forms.Button();
this.btnClose = new System.Windows.Forms.Button();
+ this.chkCase = new System.Windows.Forms.CheckBox();
+ this.chkWholeWord = new System.Windows.Forms.CheckBox();
+ this.btnFindPrevious = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// edPattern
@@ -39,7 +42,7 @@ this.edPattern.Location = new System.Drawing.Point(4, 20);
this.edPattern.Name = "edPattern";
this.edPattern.Size = new System.Drawing.Size(300, 20);
- this.edPattern.TabIndex = 0;
+ this.edPattern.TabIndex = 1;
this.edPattern.TextChanged += new System.EventHandler(this.edPattern_TextChanged);
//
// label1
@@ -48,46 +51,79 @@ this.label1.Location = new System.Drawing.Point(3, 3);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(56, 13);
- this.label1.TabIndex = 1;
+ this.label1.TabIndex = 0;
this.label1.Text = "&Find what:";
//
- // btnFind
+ // btnFindNext
//
- this.btnFind.Location = new System.Drawing.Point(309, 19);
- this.btnFind.Name = "btnFind";
- this.btnFind.Size = new System.Drawing.Size(75, 23);
- this.btnFind.TabIndex = 2;
- this.btnFind.Text = "Find next";
- this.btnFind.UseVisualStyleBackColor = true;
- this.btnFind.Click += new System.EventHandler(this.btnFind_Click);
+ this.btnFindNext.Location = new System.Drawing.Point(309, 19);
+ this.btnFindNext.Name = "btnFindNext";
+ this.btnFindNext.Size = new System.Drawing.Size(78, 23);
+ this.btnFindNext.TabIndex = 2;
+ this.btnFindNext.Text = "Find &next";
+ this.btnFindNext.UseVisualStyleBackColor = true;
+ this.btnFindNext.Click += new System.EventHandler(this.btnFindNext_Click);
//
// btnClose
//
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
- this.btnClose.Location = new System.Drawing.Point(309, 48);
+ this.btnClose.Location = new System.Drawing.Point(309, 77);
this.btnClose.Name = "btnClose";
- this.btnClose.Size = new System.Drawing.Size(75, 23);
- this.btnClose.TabIndex = 3;
+ this.btnClose.Size = new System.Drawing.Size(78, 23);
+ this.btnClose.TabIndex = 4;
this.btnClose.Text = "Close";
this.btnClose.UseVisualStyleBackColor = true;
//
+ // chkCase
+ //
+ this.chkCase.AutoSize = true;
+ this.chkCase.Location = new System.Drawing.Point(6, 48);
+ this.chkCase.Name = "chkCase";
+ this.chkCase.Size = new System.Drawing.Size(83, 17);
+ this.chkCase.TabIndex = 5;
+ this.chkCase.Text = "&Match Case";
+ this.chkCase.UseVisualStyleBackColor = true;
+ //
+ // chkWholeWord
+ //
+ this.chkWholeWord.AutoSize = true;
+ this.chkWholeWord.Location = new System.Drawing.Point(6, 71);
+ this.chkWholeWord.Name = "chkWholeWord";
+ this.chkWholeWord.Size = new System.Drawing.Size(86, 17);
+ this.chkWholeWord.TabIndex = 6;
+ this.chkWholeWord.Text = "&Whole Word";
+ this.chkWholeWord.UseVisualStyleBackColor = true;
+ //
+ // btnFindPrevious
+ //
+ this.btnFindPrevious.Location = new System.Drawing.Point(309, 48);
+ this.btnFindPrevious.Name = "btnFindPrevious";
+ this.btnFindPrevious.Size = new System.Drawing.Size(78, 23);
+ this.btnFindPrevious.TabIndex = 3;
+ this.btnFindPrevious.Text = "Find &previous";
+ this.btnFindPrevious.UseVisualStyleBackColor = true;
+ this.btnFindPrevious.Click += new System.EventHandler(this.btnFindPrevious_Click);
+ //
// FindForm
//
- this.AcceptButton = this.btnFind;
+ this.AcceptButton = this.btnFindNext;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.btnClose;
- this.ClientSize = new System.Drawing.Size(386, 74);
+ this.ClientSize = new System.Drawing.Size(399, 107);
this.ControlBox = false;
+ this.Controls.Add(this.btnFindPrevious);
+ this.Controls.Add(this.chkWholeWord);
+ this.Controls.Add(this.chkCase);
this.Controls.Add(this.btnClose);
- this.Controls.Add(this.btnFind);
+ this.Controls.Add(this.btnFindNext);
this.Controls.Add(this.label1);
this.Controls.Add(this.edPattern);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "FindForm";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
- this.Text = "FindForm";
+ this.Text = "Find";
this.ResumeLayout(false);
this.PerformLayout();
@@ -97,7 +133,10 @@ private System.Windows.Forms.TextBox edPattern;
private System.Windows.Forms.Label label1;
- private System.Windows.Forms.Button btnFind;
+ private System.Windows.Forms.Button btnFindNext;
private System.Windows.Forms.Button btnClose;
+ private System.Windows.Forms.CheckBox chkCase;
+ private System.Windows.Forms.CheckBox chkWholeWord;
+ private System.Windows.Forms.Button btnFindPrevious;
}
}
\ No newline at end of file diff --git a/ExpressProfiler/ExpressProfiler/FindForm.cs b/ExpressProfiler/ExpressProfiler/FindForm.cs index 2495fc7..6da1192 100644 --- a/ExpressProfiler/ExpressProfiler/FindForm.cs +++ b/ExpressProfiler/ExpressProfiler/FindForm.cs @@ -5,21 +5,41 @@ namespace ExpressProfiler {
public partial class FindForm : Form
{
- internal MainForm mainForm;
- public FindForm()
+ private MainForm m_mainForm;
+
+ public FindForm(MainForm f)
{
InitializeComponent();
+
+ m_mainForm = f;
+
+ // Set the control values to the last find performed.
+ edPattern.Text = m_mainForm.lastpattern;
+ chkCase.Checked = m_mainForm.matchCase;
+ chkWholeWord.Checked = m_mainForm.wholeWord;
+ }
+
+ private void btnFindNext_Click(object sender, EventArgs e)
+ {
+ DoFind(true);
+ }
+
+ private void btnFindPrevious_Click(object sender, EventArgs e)
+ {
+ DoFind(false);
}
- private void btnFind_Click(object sender, EventArgs e)
+ private void DoFind(bool forwards)
{
- mainForm.lastpattern = edPattern.Text;
- mainForm.PerformFind();
+ m_mainForm.lastpattern = edPattern.Text;
+ m_mainForm.matchCase = chkCase.Checked;
+ m_mainForm.wholeWord = chkWholeWord.Checked;
+ m_mainForm.PerformFind(forwards);
}
private void edPattern_TextChanged(object sender, EventArgs e)
{
- mainForm.lastpos = -1;
+ m_mainForm.lastpos = -1;
}
}
}
diff --git a/ExpressProfiler/ExpressProfiler/MainForm.Designer.cs b/ExpressProfiler/ExpressProfiler/MainForm.Designer.cs index 128c0ca..00e73a9 100644 --- a/ExpressProfiler/ExpressProfiler/MainForm.Designer.cs +++ b/ExpressProfiler/ExpressProfiler/MainForm.Designer.cs @@ -52,6 +52,8 @@ this.toolStripLabel3 = new System.Windows.Forms.ToolStripLabel();
this.edPassword = new System.Windows.Forms.ToolStripTextBox();
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
+ this.tbStayOnTop = new System.Windows.Forms.ToolStripButton();
+ this.tbTransparent = new System.Windows.Forms.ToolStripButton();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.reTextData = new System.Windows.Forms.RichTextBox();
this.timer1 = new System.Windows.Forms.Timer(this.components);
@@ -80,6 +82,11 @@ this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripSeparator();
this.clearTraceWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.mnAbout = new System.Windows.Forms.ToolStripMenuItem();
+ this.viewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.stayOnTopToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.transparentToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.deleteSelectedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.keepSelectedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.statusStrip1.SuspendLayout();
this.toolStrip1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
@@ -122,7 +129,9 @@ this.edUser,
this.toolStripLabel3,
this.edPassword,
- this.toolStripSeparator3});
+ this.toolStripSeparator3,
+ this.tbStayOnTop,
+ this.tbTransparent});
this.toolStrip1.Location = new System.Drawing.Point(0, 24);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(979, 25);
@@ -267,6 +276,28 @@ this.toolStripSeparator3.Name = "toolStripSeparator3";
this.toolStripSeparator3.Size = new System.Drawing.Size(6, 25);
//
+ // tbStayOnTop
+ //
+ this.tbStayOnTop.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
+ this.tbStayOnTop.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+ this.tbStayOnTop.Image = ((System.Drawing.Image)(resources.GetObject("tbStayOnTop.Image")));
+ this.tbStayOnTop.ImageTransparentColor = System.Drawing.Color.Magenta;
+ this.tbStayOnTop.Name = "tbStayOnTop";
+ this.tbStayOnTop.Size = new System.Drawing.Size(23, 22);
+ this.tbStayOnTop.Text = "Stay on top";
+ this.tbStayOnTop.Click += new System.EventHandler(this.tbStayOnTop_Click);
+ //
+ // tbTransparent
+ //
+ this.tbTransparent.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
+ this.tbTransparent.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+ this.tbTransparent.Image = ((System.Drawing.Image)(resources.GetObject("tbTransparent.Image")));
+ this.tbTransparent.ImageTransparentColor = System.Drawing.Color.Magenta;
+ this.tbTransparent.Name = "tbTransparent";
+ this.tbTransparent.Size = new System.Drawing.Size(23, 22);
+ this.tbTransparent.Text = "Transparent";
+ this.tbTransparent.Click += new System.EventHandler(this.toolStripButton1_Click);
+ //
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
@@ -337,7 +368,8 @@ this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.fileToolStripMenuItem,
this.editToolStripMenuItem,
- this.mnAbout});
+ this.mnAbout,
+ this.viewToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(979, 24);
@@ -374,14 +406,14 @@ //
this.mnRun.Name = "mnRun";
this.mnRun.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.S)));
- this.mnRun.Size = new System.Drawing.Size(152, 22);
+ this.mnRun.Size = new System.Drawing.Size(146, 22);
this.mnRun.Text = "Run";
this.mnRun.Click += new System.EventHandler(this.tbStart_Click);
//
// mnRunWithFilters
//
this.mnRunWithFilters.Name = "mnRunWithFilters";
- this.mnRunWithFilters.Size = new System.Drawing.Size(152, 22);
+ this.mnRunWithFilters.Size = new System.Drawing.Size(146, 22);
this.mnRunWithFilters.Text = "Run with filters";
this.mnRunWithFilters.Click += new System.EventHandler(this.tbRunWithFilters_Click);
//
@@ -453,7 +485,9 @@ this.findToolStripMenuItem,
this.findNextToolStripMenuItem,
this.toolStripMenuItem4,
- this.clearTraceWindowToolStripMenuItem});
+ this.clearTraceWindowToolStripMenuItem,
+ this.deleteSelectedToolStripMenuItem,
+ this.keepSelectedToolStripMenuItem});
this.editToolStripMenuItem.Name = "editToolStripMenuItem";
this.editToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
this.editToolStripMenuItem.Text = "&Edit";
@@ -505,6 +539,47 @@ this.mnAbout.Text = "About";
this.mnAbout.Click += new System.EventHandler(this.mnAbout_Click);
//
+ // viewToolStripMenuItem
+ //
+ this.viewToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.stayOnTopToolStripMenuItem,
+ this.transparentToolStripMenuItem});
+ this.viewToolStripMenuItem.Name = "viewToolStripMenuItem";
+ this.viewToolStripMenuItem.Size = new System.Drawing.Size(41, 20);
+ this.viewToolStripMenuItem.Text = "View";
+ //
+ // stayOnTopToolStripMenuItem
+ //
+ this.stayOnTopToolStripMenuItem.Name = "stayOnTopToolStripMenuItem";
+ this.stayOnTopToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.T)));
+ this.stayOnTopToolStripMenuItem.Size = new System.Drawing.Size(172, 22);
+ this.stayOnTopToolStripMenuItem.Text = "Stay on top";
+ this.stayOnTopToolStripMenuItem.Click += new System.EventHandler(this.stayOnTopToolStripMenuItem_Click);
+ //
+ // transparentToolStripMenuItem
+ //
+ this.transparentToolStripMenuItem.Name = "transparentToolStripMenuItem";
+ this.transparentToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.G)));
+ this.transparentToolStripMenuItem.Size = new System.Drawing.Size(172, 22);
+ this.transparentToolStripMenuItem.Text = "Transparent";
+ this.transparentToolStripMenuItem.Click += new System.EventHandler(this.transparentToolStripMenuItem_Click);
+ //
+ // deleteSelectedToolStripMenuItem
+ //
+ this.deleteSelectedToolStripMenuItem.Name = "deleteSelectedToolStripMenuItem";
+ this.deleteSelectedToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Delete)));
+ this.deleteSelectedToolStripMenuItem.Size = new System.Drawing.Size(247, 22);
+ this.deleteSelectedToolStripMenuItem.Text = "Delete selected";
+ this.deleteSelectedToolStripMenuItem.Click += new System.EventHandler(this.deleteSelectedToolStripMenuItem_Click);
+ //
+ // keepSelectedToolStripMenuItem
+ //
+ this.keepSelectedToolStripMenuItem.Name = "keepSelectedToolStripMenuItem";
+ this.keepSelectedToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.Delete)));
+ this.keepSelectedToolStripMenuItem.Size = new System.Drawing.Size(247, 22);
+ this.keepSelectedToolStripMenuItem.Text = "Keep selected";
+ this.keepSelectedToolStripMenuItem.Click += new System.EventHandler(this.keepSelectedToolStripMenuItem_Click);
+ //
// MainForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@@ -586,6 +661,13 @@ private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem mnAbout;
private System.Windows.Forms.ToolStripMenuItem copyAllForExcelToolStripMenuItem;
+ private System.Windows.Forms.ToolStripButton tbStayOnTop;
+ private System.Windows.Forms.ToolStripButton tbTransparent;
+ private System.Windows.Forms.ToolStripMenuItem viewToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem stayOnTopToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem transparentToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem deleteSelectedToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem keepSelectedToolStripMenuItem;
}
}
diff --git a/ExpressProfiler/ExpressProfiler/MainForm.cs b/ExpressProfiler/ExpressProfiler/MainForm.cs index f4d9e8a..a1ab3da 100644 --- a/ExpressProfiler/ExpressProfiler/MainForm.cs +++ b/ExpressProfiler/ExpressProfiler/MainForm.cs @@ -8,9 +8,9 @@ using System.Data.SqlClient; using System.Globalization;
using System.IO;
using System.Text;
+using System.Text.RegularExpressions;
using System.Threading;
using System.Windows.Forms;
-using System.Windows.Forms.VisualStyles;
using System.Xml;
using System.Xml.Serialization;
@@ -65,6 +65,8 @@ namespace ExpressProfiler private PerfInfo m_first, m_prev;
internal TraceProperties.TraceSettings m_currentsettings;
private readonly List<PerfColumn> m_columns = new List<PerfColumn>();
+ internal bool matchCase = false;
+ internal bool wholeWord = false;
public MainForm()
{
@@ -993,9 +995,8 @@ namespace ExpressProfiler MessageBoxIcon.Information);
return;
}
- using (FindForm f = new FindForm())
+ using (FindForm f = new FindForm(this))
{
- f.mainForm = this;
f.ShowDialog();
}
}
@@ -1013,25 +1014,50 @@ namespace ExpressProfiler }
}
- internal void PerformFind()
+ internal void PerformFind(bool forwards)
{
if(String.IsNullOrEmpty(lastpattern)) return;
- for (int i = lastpos = lvEvents.Items.IndexOf(lvEvents.FocusedItem) + 1; i < m_Cached.Count; i++)
+
+ if (forwards)
{
- ListViewItem lvi = m_Cached[i];
- ProfilerEvent evt = (ProfilerEvent)lvi.Tag;
- if (evt.TextData.IndexOf(lastpattern,StringComparison.CurrentCultureIgnoreCase)>=0)
+ for (int i = lastpos = lvEvents.Items.IndexOf(lvEvents.FocusedItem) + 1; i < m_Cached.Count; i++)
{
- lvi.Focused = true;
- lastpos = i;
- SelectAllEvents(false);
- FocusLVI(lvi,true);
- return;
+ if (FindText(i))
+ {
+ return;
+ }
+ }
+ }
+ else
+ {
+ for (int i = lastpos = lvEvents.Items.IndexOf(lvEvents.FocusedItem) - 1; i > 0; i--)
+ {
+ if (FindText(i))
+ {
+ return;
+ }
}
}
MessageBox.Show(String.Format("Failed to find \"{0}\". Searched to the end of data. ", lastpattern), "ExpressProfiler", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
+ private bool FindText(int i)
+ {
+ ListViewItem lvi = m_Cached[i];
+ ProfilerEvent evt = (ProfilerEvent) lvi.Tag;
+ string pattern = (wholeWord ? "\\b" + lastpattern + "\\b" : lastpattern);
+ if (Regex.IsMatch(evt.TextData, pattern, (matchCase ? RegexOptions.None : RegexOptions.IgnoreCase)))
+ {
+ lvi.Focused = true;
+ lastpos = i;
+ SelectAllEvents(false);
+ FocusLVI(lvi, true);
+ return true;
+ }
+
+ return false;
+ }
+
private void findNextToolStripMenuItem_Click(object sender, EventArgs e)
{
if (m_ProfilingState == ProfilingStateEnum.psProfiling)
@@ -1040,7 +1066,7 @@ namespace ExpressProfiler MessageBoxIcon.Information);
return;
}
- PerformFind();
+ PerformFind(true);
}
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
@@ -1187,5 +1213,60 @@ namespace ExpressProfiler MessageBox.Show(versionString+"\nhttps://expressprofiler.codeplex.com/", "About", MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
+
+ private void tbStayOnTop_Click(object sender, EventArgs e)
+ {
+ SetStayOnTop();
+ }
+
+ private void SetStayOnTop()
+ {
+ tbStayOnTop.Checked = !tbStayOnTop.Checked;
+ this.TopMost = tbStayOnTop.Checked;
+ }
+
+ private void toolStripButton1_Click(object sender, EventArgs e)
+ {
+ SetTransparent();
+ }
+
+ private void SetTransparent()
+ {
+ tbTransparent.Checked = !tbTransparent.Checked;
+ this.Opacity = tbTransparent.Checked ? 0.50 : 1;
+ }
+
+ private void stayOnTopToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ SetStayOnTop();
+ }
+
+ private void transparentToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ SetTransparent();
+ }
+
+ private void deleteSelectedToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ for (int i = lvEvents.SelectedIndices.Count-1; i >= 0; i--)
+ {
+ m_Cached.RemoveAt(lvEvents.SelectedIndices[i]);
+ }
+ lvEvents.VirtualListSize = m_Cached.Count;
+ lvEvents.SelectedIndices.Clear();
+ }
+
+ private void keepSelectedToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ for (int i = m_Cached.Count - 1; i >= 0; i--)
+ {
+ if (!lvEvents.SelectedIndices.Contains(i))
+ {
+ m_Cached.RemoveAt(i);
+ }
+ }
+ lvEvents.VirtualListSize = m_Cached.Count;
+ lvEvents.SelectedIndices.Clear();
+ }
}
}
diff --git a/ExpressProfiler/ExpressProfiler/MainForm.resx b/ExpressProfiler/ExpressProfiler/MainForm.resx index f6a0f95..d408c0b 100644 --- a/ExpressProfiler/ExpressProfiler/MainForm.resx +++ b/ExpressProfiler/ExpressProfiler/MainForm.resx @@ -123,6 +123,40 @@ <metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>127, 17</value>
</metadata>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="tbStayOnTop.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKySURBVDhPldH/L9RxHAfw+w/uxGHnxMeJcN+0u/xkJ5qN
+ 0bGYNZG+qOZLndAp1j6pnDt3O1+SupwLd0zoSFk1HFNTE+dbkbqOloWZ2/SLX+wZ+vxi62Y9fnvv/Xy+
+ 9t7rTduP3+mmDP3shmNibRPN8xv2vOEVkrraHyeuNiHG9BWGaQf0kw7oJtbxcHwd5NCKRWCwM6iYc8H5
+ r+2RjTZcf7WEgt4l5L34iSvPfyDbvIjTJpuFijnHu/YG4srPOG+yIb5mBrGVU4hWT+C40opIxRgkZVYZ
+ Ff03bmqrVXR3AvKndqRoJyGUDYGfawE3qx/Bl/vAzR60U9G/wi6ZSLJxxHqzZRyhWe124qwR6VWT6B1b
+ RffIMkQX+3EwwQx2fCdYse3wlXaBqtJoATld1lvv19Bl+438hlEItVMgzhlRXN2H6rY5HD3VCdFJM/wi
+ e+AuaoArvwaHwlsdu2U/iTpDoP8G+cAyFO9WkaIahlg1g2D5W7hJysAWlsBLoISXUAF26GOIol9CVvIR
+ Ta2zGbsDApP15JHaL0hrW0BmxwKS1CPgy4YRsP1k/6QWeIUVwpN7FR6Btx1M73uWkLA6c77cHLFb3hGY
+ qCfFmk+oHfoFadU0ora3zE/vABH1BES4FoRED5+IRrC4ci1V2YvFvCCUGecx+n0Dmm4bBLmD4GVb4H/C
+ ABZPCXdOOZiCYjCFN5z/fd+HRUuhYQ7inAFwknvgIzXDO+4Z2DEd8DzWBAavFAyiwPkAaWpFRECCCZxE
+ MzjRzfAMq8cBQT1ceDq4hNTBJagGrhzSQMX3KioqilZWaJCZQ4IQqRzsUPX2xsvA4t8H8/ADMIN08ODV
+ O+j0M75UZa9mY8uWzmBCSalii06XMtzc02Su3kVWpo8KbkSlw5XQGJyWdzxqMIK8U75JHf8DjfYHscFs
+ 1r/hln8AAAAASUVORK5CYII=
+</value>
+ </data>
+ <data name="tbTransparent.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIiSURBVDhPjVPdbhJhEOUN9FKfw2jiC/gSvoc/fQD/GjXR
+ eCHLz1qvrImlUG+MMdDERli2wC7LwsKWfyjWGzEVE2OOc2YJNa0mfslk5sycOTP77W7s9EknM88S8a1F
+ Mp7B61fvQE/M/JLy95NO566njG0UdssIwh4GkzH647F6YuZZN83stWXLyWHzhvkWfhBiNJ1iOJ1oc284
+ Uk/MPOvknRFJirLfCpVsmltYu/0Yt248Qm80wk3xxMyzTh75y9bomfOFMrqDIdoHXRjJTYkHCLtdtMMD
+ 9d1BH0ZiU+vkkb+6k6Tx5kfQ6aHZCWXFNvzDr2jNgWA2h9cK0Pk8RyC4JZh18shn31IgIxc1geu3UG+2
+ cfQTuHzhHKQHXjPAN/FXBH/5BeE0lUc++04E5NmqdR+1RiB04OrF8+qrXlP9CpMjOfL/ENhWxf26B9ut
+ 43ixUPLx4jusmqs+wgutkxdtsLzIlYDjYd/1UPhoaWzX6isjLuxZqEid8RmBoSTKVVeLT56+hFVxZFWu
+ Gxnx+sMUKlInj/yVAL8ufiilqgPbqeN9YQ937sdxb91Qu/sgLvi55suyTbFSOyWQyGIyO8SHfBH53ZJc
+ XAMNeV1Fy0HJdjQO+31YMuCTVYPf7uhADlYBM5WDXWlogla2ZU2xlJFFKhFhS4wT+WOVLBfToxnSMlgF
+ NswdvEjnCC7RKEj7N87CTGalZycSkKOFKNTzv1gsFvsNNOWcYbMlcwcAAAAASUVORK5CYII=
+</value>
+ </data>
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>226, 17</value>
</metadata>
@@ -132,7 +166,6 @@ <metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>454, 17</value>
</metadata>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAMDAAAAAAAACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAgAoAAAAAAAAAAAAAAAAAAAAA
|