diff --git a/MainForm.Designer.cs b/MainForm.Designer.cs
index 6be232e..e550bb0 100644
--- a/MainForm.Designer.cs
+++ b/MainForm.Designer.cs
@@ -73,8 +73,6 @@ namespace VideoPreview
this.label1.TabIndex = 3;
this.label1.Text = "File Name";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
- this.label1.DragDrop += new System.Windows.Forms.DragEventHandler(this.Form1_DragDrop);
- this.label1.DragOver += new System.Windows.Forms.DragEventHandler(this.Form1_DragOver);
//
// label2
//
@@ -85,8 +83,6 @@ namespace VideoPreview
this.label2.TabIndex = 5;
this.label2.Text = "-";
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
- this.label2.DragDrop += new System.Windows.Forms.DragEventHandler(this.Form1_DragDrop);
- this.label2.DragOver += new System.Windows.Forms.DragEventHandler(this.Form1_DragOver);
//
// button1
//
@@ -120,8 +116,6 @@ namespace VideoPreview
this.tHorizontalSeparator1.Size = new System.Drawing.Size(454, 22);
this.tHorizontalSeparator1.TabIndex = 9;
this.tHorizontalSeparator1.TabStop = false;
- this.tHorizontalSeparator1.DragDrop += new System.Windows.Forms.DragEventHandler(this.Form1_DragDrop);
- this.tHorizontalSeparator1.DragOver += new System.Windows.Forms.DragEventHandler(this.Form1_DragOver);
//
// tHorizontalSeparator3
//
@@ -152,8 +146,6 @@ namespace VideoPreview
this.flowLayoutPanel1.Size = new System.Drawing.Size(433, 540);
this.flowLayoutPanel1.TabIndex = 1;
this.flowLayoutPanel1.WrapContents = false;
- this.flowLayoutPanel1.DragDrop += new System.Windows.Forms.DragEventHandler(this.Form1_DragDrop);
- this.flowLayoutPanel1.DragOver += new System.Windows.Forms.DragEventHandler(this.Form1_DragOver);
//
// pictureBox1
//
@@ -200,7 +192,6 @@ namespace VideoPreview
this.button2.Size = new System.Drawing.Size(37, 37);
this.button2.TabIndex = 2;
this.toolTip1.SetToolTip(this.button2, "Options");
- this.button2.MouseClick += new System.Windows.Forms.MouseEventHandler(this.button2_MouseClick);
//
// button3
//
@@ -217,7 +208,6 @@ namespace VideoPreview
this.button3.Size = new System.Drawing.Size(35, 37);
this.button3.TabIndex = 3;
this.toolTip1.SetToolTip(this.button3, "Refresh");
- this.button3.MouseClick += new System.Windows.Forms.MouseEventHandler(this.button3_MouseClick);
//
// button4
//
@@ -234,7 +224,6 @@ namespace VideoPreview
this.button4.Size = new System.Drawing.Size(37, 37);
this.button4.TabIndex = 4;
this.toolTip1.SetToolTip(this.button4, "Next");
- this.button4.MouseClick += new System.Windows.Forms.MouseEventHandler(this.button4_MouseClick);
//
// label4
//
@@ -420,8 +409,6 @@ namespace VideoPreview
this.MainMenuStrip = this.menuStrip1;
this.Name = "MainForm";
this.Text = "Video Preview";
- this.DragDrop += new System.Windows.Forms.DragEventHandler(this.Form1_DragDrop);
- this.DragOver += new System.Windows.Forms.DragEventHandler(this.Form1_DragOver);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();
diff --git a/MainForm.cs b/MainForm.cs
index d5a1263..d0f4e21 100644
--- a/MainForm.cs
+++ b/MainForm.cs
@@ -27,6 +27,10 @@ namespace VideoPreview
{
InitializeComponent();
+ button3.Click += delegate { refreshToolStripMenuItem_Click(null, null); };
+ button4.Click += delegate { loadNextFileToolStripMenuItem_Click(null, null); };
+ button2.Click += delegate { optionsToolStripMenuItem_Click(null, null); };
+
button2.SetIcon("settings");
button3.SetIcon("refresh-cw");
button4.SetIcon("arrow-right-circle");
@@ -56,31 +60,17 @@ namespace VideoPreview
base.OnFormClosing(e);
}
-
- public bool IsBusy
+ protected override void OnDragOver(DragEventArgs e)
{
- get => isBusy;
- set
- {
- isBusy = value;
+ base.OnDragOver(e);
- ThreadControl.SetValue(pictureBox1, (isBusy ? UIcon.GetImage("loading_block") : null));
- ThreadControl.SetEnable(textBox1, !isBusy);
- ThreadControl.SetEnable(button1, !isBusy);
- ThreadControl.SetEnable(button2, !isBusy);
- ThreadControl.SetEnable(button3, !isBusy);
- ThreadControl.SetEnable(button4, !isBusy);
- }
- }
-
-
- private void Form1_DragOver(object sender, DragEventArgs e)
- {
e.Effect = (e.Data.GetDataPresent(DataFormats.FileDrop) ? DragDropEffects.Copy : DragDropEffects.None);
}
- private async void Form1_DragDrop(object sender, DragEventArgs e)
+ protected override async void OnDragDrop(DragEventArgs e)
{
+ base.OnDragDrop(e);
+
string[] fileList = e.Data.GetData(DataFormats.FileDrop) as string[];
if (fileList == null)
{
@@ -110,31 +100,101 @@ namespace VideoPreview
}
+ public bool IsBusy
+ {
+ get => isBusy;
+ set
+ {
+ isBusy = value;
+
+ ThreadControl.SetValue(pictureBox1, (isBusy ? UIcon.GetImage("loading_block") : null));
+ ThreadControl.SetEnable(textBox1, !isBusy);
+ ThreadControl.SetEnable(button1, !isBusy);
+ ThreadControl.SetEnable(button2, !isBusy);
+ ThreadControl.SetEnable(button3, !isBusy);
+ ThreadControl.SetEnable(button4, !isBusy);
+ }
+ }
+
public AppSession CurrentSession { get; set; } = new AppSession();
-#region main menu
-
///
/// Refresh
///
///
///
- private void refreshToolStripMenuItem_Click(object sender, EventArgs e) => button3_MouseClick(null, null);
+ private async void refreshToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (this.IsBusy)
+ {
+ return;
+ }
+
+ if (string.IsNullOrWhiteSpace(textBox1.Text))
+ {
+ return;
+ }
+
+ await ReadVideoFile(textBox1.Text);
+ }
///
/// Load next file
///
///
///
- private void loadNextFileToolStripMenuItem_Click(object sender, EventArgs e) => button4_MouseClick(null, null);
+ private async void loadNextFileToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (this.IsBusy)
+ {
+ return;
+ }
+
+ if (string.IsNullOrWhiteSpace(textBox1.Text))
+ {
+ return;
+ }
+
+ await Task.Run(() =>
+ {
+ string path = AccessibleDirectory.GetNextFile(textBox1.Text, "*.avi;*.mkv;*.mp4;*.ogm;*.mov;*.mpg;*.mpeg");
+ if (string.IsNullOrWhiteSpace(path)) return;
+
+ textBox1.Text = path;
+ });
+ }
///
/// Options
///
///
///
- private void optionsToolStripMenuItem_Click(object sender, EventArgs e) => button2_MouseClick(null, null);
+ private void optionsToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (this.IsBusy)
+ {
+ return;
+ }
+
+ if (optionsForm == null) optionsForm = new OptionsForm(this.CurrentSession);
+ if (optionsForm.ShowDialog() == DialogResult.OK)
+ {
+ this.CurrentSession = optionsForm.Session;
+
+ this.TopMost = this.CurrentSession.AlwaysOnTop;
+ }
+ }
+
+ ///
+ /// Always-On-Top
+ ///
+ ///
+ ///
+ private void toolStripMenuItem3_Click(object sender, EventArgs e)
+ {
+ this.TopMost = this.CurrentSession.AlwaysOnTop = !this.TopMost;
+ }
///
/// View help
@@ -167,61 +227,6 @@ namespace VideoPreview
MessageBox.Show(Application.ProductName + " v" + Application.ProductVersion, "About", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
-#endregion
-
- ///
- /// Refresh
- ///
- ///
- ///
- private async void button3_MouseClick(object sender, MouseEventArgs e)
- {
- if (this.IsBusy) return;
- if (string.IsNullOrWhiteSpace(textBox1.Text)) return;
-
- await ReadVideoFile(textBox1.Text);
- }
-
- ///
- /// Options
- ///
- ///
- ///
- private void button2_MouseClick(object sender, MouseEventArgs e)
- {
- if (this.IsBusy)
- {
- return;
- }
-
- if (optionsForm == null) optionsForm = new OptionsForm(this.CurrentSession);
- if (optionsForm.ShowDialog() == DialogResult.OK)
- {
- this.CurrentSession = optionsForm.Session;
-
- this.TopMost = this.CurrentSession.AlwaysOnTop;
- }
- }
-
- ///
- /// Next file
- ///
- ///
- ///
- private async void button4_MouseClick(object sender, MouseEventArgs e)
- {
- await Task.Run(() =>
- {
- if (this.IsBusy) return;
- if (string.IsNullOrWhiteSpace(textBox1.Text)) return;
-
- string path = AccessibleDirectory.GetNextFile(textBox1.Text, "*.avi;*.mkv;*.mp4;*.ogm;*.mov;*.mpg;*.mpeg");
- if (string.IsNullOrWhiteSpace(path)) return;
-
- textBox1.Text = path;
- });
- }
-
///
/// Close
///
@@ -329,10 +334,13 @@ namespace VideoPreview
protected async Task ReadVideoFile(string filename)
{
+ if (this.IsBusy)
+ {
+ return;
+ }
+
await Task.Run(() =>
{
- if (this.IsBusy) return;
-
this.IsBusy = true;
Clear();
@@ -415,9 +423,5 @@ namespace VideoPreview
});
}
- private void toolStripMenuItem3_Click(object sender, EventArgs e)
- {
- this.TopMost = !this.TopMost;
- }
}
}