@@ -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