Skip to content

Commit ede5db9

Browse files
author
Kabuto_W
committed
closes #5; Show similar image count and optimize some code.
1 parent 4360819 commit ede5db9

File tree

13 files changed

+415
-485
lines changed

13 files changed

+415
-485
lines changed

SimilarImages/SimilarImages/FormComparison.cs

Lines changed: 33 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -9,52 +9,54 @@ namespace SimilarImages
99
{
1010
public partial class FormMain
1111
{
12+
private string[] currentImagePathPair = new string[2];
13+
1214
private void lvw_Result_SelectedIndexChanged(object sender, EventArgs e)
1315
{
1416
if (lvw_Result.SelectedItems.Count < 1 ||
1517
lvw_Result.SelectedItems[0].Text == Message.NoResult)
1618
{ return; }
1719

1820
// Dispose previous images
19-
pictureBox1.Image?.Dispose();
20-
pictureBox2.Image?.Dispose();
21+
pic_Image1.Image?.Dispose();
22+
pic_Image2.Image?.Dispose();
2123

2224
// Show images
23-
var selectedTuple = tuples[lvw_Result.SelectedIndices[0]];
25+
var selectedTuple = similarityTuples[lvw_Result.SelectedIndices[0]];
2426
if (File.Exists(selectedTuple.Item1))
2527
{
26-
pictureBox1.Image = new Bitmap(selectedTuple.Item1);
28+
pic_Image1.Image = new Bitmap(selectedTuple.Item1);
2729
lb_Image1.Text = selectedTuple.Item1.Substring(selectedTuple.Item1.LastIndexOf('\\') + 1);
28-
lb_Image1.Tag = selectedTuple.Item1;
29-
lb_Resolution1.Text = $"{pictureBox1.Image.Width}*{pictureBox1.Image.Height}";
30+
currentImagePathPair[0] = selectedTuple.Item1;
31+
lb_Resolution1.Text = $"{pic_Image1.Image.Width}*{pic_Image1.Image.Height}";
3032
}
3133
else
3234
{
33-
pictureBox1.Image = null;
35+
pic_Image1.Image = null;
3436
lb_Image1.Text = Message.Deleted;
35-
lb_Image1.Tag = null;
37+
currentImagePathPair[0] = null;
3638
lb_Resolution1.Text = null;
3739
}
3840

3941
if (File.Exists(selectedTuple.Item2))
4042
{
41-
pictureBox2.Image = new Bitmap(selectedTuple.Item2);
43+
pic_Image2.Image = new Bitmap(selectedTuple.Item2);
4244
lb_Image2.Text = selectedTuple.Item2.Substring(selectedTuple.Item2.LastIndexOf('\\') + 1);
43-
lb_Image2.Tag = selectedTuple.Item2;
44-
lb_Resolution2.Text = $"{pictureBox2.Image.Width}*{pictureBox2.Image.Height}";
45+
currentImagePathPair[1] = selectedTuple.Item2;
46+
lb_Resolution2.Text = $"{pic_Image2.Image.Width}*{pic_Image2.Image.Height}";
4547
}
4648
else
4749
{
48-
pictureBox2.Image = null;
50+
pic_Image2.Image = null;
4951
lb_Image2.Text = Message.Deleted;
50-
lb_Image2.Tag = null;
52+
currentImagePathPair[1] = null;
5153
lb_Resolution2.Text = null;
5254
}
5355

5456
// Compare resolution
55-
if (pictureBox1.Image != null && pictureBox2.Image != null &&
56-
pictureBox1.Image.Width * pictureBox1.Image.Height >=
57-
pictureBox2.Image.Width * pictureBox2.Image.Height)
57+
if (pic_Image1.Image != null && pic_Image2.Image != null &&
58+
pic_Image1.Image.Width * pic_Image1.Image.Height >=
59+
pic_Image2.Image.Width * pic_Image2.Image.Height)
5860
{
5961
lb_Resolution1.ForeColor = Color.Green;
6062
lb_Resolution2.ForeColor = Color.Black;
@@ -68,53 +70,53 @@ private void lvw_Result_SelectedIndexChanged(object sender, EventArgs e)
6870

6971
private void lb_Image1_MouseHover(object sender, EventArgs e)
7072
{
71-
if (lb_Image1.Tag != null)
73+
if (currentImagePathPair[0] != null)
7274
{
73-
toolTipMisc.SetToolTip((Control)sender, lb_Image1.Tag.ToString());
75+
tip_Misc.SetToolTip((Control)sender, currentImagePathPair[0]);
7476
}
7577
}
7678

7779
private void lb_Image2_MouseHover(object sender, EventArgs e)
7880
{
79-
if (lb_Image2.Tag != null)
81+
if (currentImagePathPair[1] != null)
8082
{
81-
toolTipMisc.SetToolTip((Control)sender, lb_Image2.Tag.ToString());
83+
tip_Misc.SetToolTip((Control)sender, currentImagePathPair[1]);
8284
}
8385
}
8486

8587
private void btn_Open1_Click(object sender, EventArgs e)
8688
{
87-
if (pictureBox1.Image != null)
89+
if (pic_Image1.Image != null && currentImagePathPair[0] != null)
8890
{
89-
Process.Start(lb_Image1.Tag.ToString());
91+
Process.Start(currentImagePathPair[0]);
9092
}
9193
}
9294

9395
private void btn_Open2_Click(object sender, EventArgs e)
9496
{
95-
if (pictureBox2.Image != null)
97+
if (pic_Image2.Image != null && currentImagePathPair[1] != null)
9698
{
97-
Process.Start(lb_Image2.Tag.ToString());
99+
Process.Start(currentImagePathPair[1]);
98100
}
99101
}
100102

101103
private void btn_Delete1_MouseDown(object sender, MouseEventArgs e)
102104
{
103-
if (DeleteImage(pictureBox1, lb_Image1, e.Button == MouseButtons.Right))
105+
if (DeleteImage(pic_Image1, lb_Image1, currentImagePathPair[0], e.Button == MouseButtons.Right))
104106
{
105107
UpdateSelectedIndex();
106108
}
107109
}
108110

109111
private void btn_Delete2_MouseDown(object sender, MouseEventArgs e)
110112
{
111-
if (DeleteImage(pictureBox2, lb_Image2, e.Button == MouseButtons.Right))
113+
if (DeleteImage(pic_Image2, lb_Image2, currentImagePathPair[1], e.Button == MouseButtons.Right))
112114
{
113115
UpdateSelectedIndex();
114116
}
115117
}
116118

117-
private bool DeleteImage(PictureBox pictureBox, Label label, bool force)
119+
private bool DeleteImage(PictureBox pictureBox, Label label, string imagePath, bool force)
118120
{
119121
if (pictureBox.Image == null) { return false; }
120122

@@ -131,8 +133,7 @@ private bool DeleteImage(PictureBox pictureBox, Label label, bool force)
131133
{
132134
pictureBox.Image.Dispose();
133135
pictureBox.Image = null;
134-
FileSystem.DeleteFile(label.Tag.ToString(),
135-
UIOption.OnlyErrorDialogs, RecycleOption.SendToRecycleBin);
136+
FileSystem.DeleteFile(imagePath, UIOption.OnlyErrorDialogs, RecycleOption.SendToRecycleBin);
136137
label.Text = Message.Deleted;
137138
return true;
138139
}
@@ -142,31 +143,12 @@ private bool DeleteImage(PictureBox pictureBox, Label label, bool force)
142143
private void UpdateSelectedIndex()
143144
{
144145
// Unselect current
145-
int currentSelectedIndex = lvw_Result.SelectedIndices[0];
146-
lvw_Result.Items[currentSelectedIndex].Selected = false;
147-
146+
int currentIndex = lvw_Result.SelectedIndices[0];
147+
lvw_Result.Items[currentIndex].Selected = false;
148148
// 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-
149+
lvw_Result.Items[currentIndex < lvw_Result.Items.Count - 1 ? currentIndex + 1 : 0].Selected = true;
158150
// Scroll to new
159151
lvw_Result.EnsureVisible(lvw_Result.SelectedIndices[0]);
160152
}
161-
162-
private void btn_Delete1_MouseHover(object sender, EventArgs e)
163-
{
164-
toolTipMisc.SetToolTip((Control)sender, Message.DeleteHelp);
165-
}
166-
167-
private void btn_Delete2_MouseHover(object sender, EventArgs e)
168-
{
169-
toolTipMisc.SetToolTip((Control)sender, Message.DeleteHelp);
170-
}
171153
}
172154
}

0 commit comments

Comments
 (0)