Skip to content

Commit 4360819

Browse files
author
Kabuto_W
committed
Focus on the next result after image deletion.
1 parent 9022042 commit 4360819

File tree

1 file changed

+38
-8
lines changed

1 file changed

+38
-8
lines changed

SimilarImages/SimilarImages/FormComparison.cs

Lines changed: 38 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System;
33
using System.Diagnostics;
44
using System.Drawing;
5+
using System.IO;
56
using System.Windows.Forms;
67

78
namespace SimilarImages
@@ -20,28 +21,29 @@ private void lvw_Result_SelectedIndexChanged(object sender, EventArgs e)
2021

2122
// Show images
2223
var selectedTuple = tuples[lvw_Result.SelectedIndices[0]];
23-
try
24+
if (File.Exists(selectedTuple.Item1))
2425
{
2526
pictureBox1.Image = new Bitmap(selectedTuple.Item1);
2627
lb_Image1.Text = selectedTuple.Item1.Substring(selectedTuple.Item1.LastIndexOf('\\') + 1);
2728
lb_Image1.Tag = selectedTuple.Item1;
2829
lb_Resolution1.Text = $"{pictureBox1.Image.Width}*{pictureBox1.Image.Height}";
2930
}
30-
catch (ArgumentException)
31+
else
3132
{
3233
pictureBox1.Image = null;
3334
lb_Image1.Text = Message.Deleted;
3435
lb_Image1.Tag = null;
3536
lb_Resolution1.Text = null;
3637
}
37-
try
38+
39+
if (File.Exists(selectedTuple.Item2))
3840
{
3941
pictureBox2.Image = new Bitmap(selectedTuple.Item2);
4042
lb_Image2.Text = selectedTuple.Item2.Substring(selectedTuple.Item2.LastIndexOf('\\') + 1);
4143
lb_Image2.Tag = selectedTuple.Item2;
4244
lb_Resolution2.Text = $"{pictureBox2.Image.Width}*{pictureBox2.Image.Height}";
4345
}
44-
catch (ArgumentException)
46+
else
4547
{
4648
pictureBox2.Image = null;
4749
lb_Image2.Text = Message.Deleted;
@@ -98,17 +100,23 @@ private void btn_Open2_Click(object sender, EventArgs e)
98100

99101
private void btn_Delete1_MouseDown(object sender, MouseEventArgs e)
100102
{
101-
DeleteImage(pictureBox1, lb_Image1, e.Button == MouseButtons.Right);
103+
if (DeleteImage(pictureBox1, lb_Image1, e.Button == MouseButtons.Right))
104+
{
105+
UpdateSelectedIndex();
106+
}
102107
}
103108

104109
private void btn_Delete2_MouseDown(object sender, MouseEventArgs e)
105110
{
106-
DeleteImage(pictureBox2, lb_Image2, e.Button == MouseButtons.Right);
111+
if (DeleteImage(pictureBox2, lb_Image2, e.Button == MouseButtons.Right))
112+
{
113+
UpdateSelectedIndex();
114+
}
107115
}
108116

109-
private void DeleteImage(PictureBox pictureBox, Label label, bool force)
117+
private bool DeleteImage(PictureBox pictureBox, Label label, bool force)
110118
{
111-
if (pictureBox.Image == null) { return; }
119+
if (pictureBox.Image == null) { return false; }
112120

113121
DialogResult dr = DialogResult.Cancel;
114122

@@ -126,7 +134,29 @@ private void DeleteImage(PictureBox pictureBox, Label label, bool force)
126134
FileSystem.DeleteFile(label.Tag.ToString(),
127135
UIOption.OnlyErrorDialogs, RecycleOption.SendToRecycleBin);
128136
label.Text = Message.Deleted;
137+
return true;
129138
}
139+
return false;
140+
}
141+
142+
private void UpdateSelectedIndex()
143+
{
144+
// Unselect current
145+
int currentSelectedIndex = lvw_Result.SelectedIndices[0];
146+
lvw_Result.Items[currentSelectedIndex].Selected = false;
147+
148+
// Select new
149+
if (currentSelectedIndex < lvw_Result.Items.Count - 1)
150+
{
151+
lvw_Result.Items[currentSelectedIndex + 1].Selected = true;
152+
}
153+
else
154+
{
155+
lvw_Result.Items[0].Selected = true;
156+
}
157+
158+
// Scroll to new
159+
lvw_Result.EnsureVisible(lvw_Result.SelectedIndices[0]);
130160
}
131161

132162
private void btn_Delete1_MouseHover(object sender, EventArgs e)

0 commit comments

Comments
 (0)