@@ -21,13 +21,8 @@ def __init__(self):
2121 self ._image_label .setSizePolicy (QSizePolicy .Ignored , QSizePolicy .Ignored )
2222 self ._image_label .setScaledContents (True )
2323 self .is_full_screen : bool = False
24- # self._size_method = None
2524 self ._seed = time .time ()
26- # self._line_edit: QLineEdit = None
27- # self.setSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum)
28-
29- # self.setSizePolicy(QSizePolicy.MinimumExpanding, QSizePolicy.Minimum)
30- # self.sizeHint()
25+
3126 random .seed (self ._seed )
3227
3328 # self._all_images: List = file_walker.walk(sys.argv[1])
@@ -37,27 +32,44 @@ def __init__(self):
3732 self .setLayout (self ._layout )
3833 self .initialize_images ()
3934
40- def initialize_images (self , mode = None ):
35+ def initialize_images (self , mode = None , current_image_path = None ):
4136 self ._all_images : List = file_walker .walk (mode )
4237 self ._current_index = 0
43- self .image_shuffle ()
44-
38+ if current_image_path :
39+ self ._current_index = self .get_index_from_image_path (current_image_path )
40+ # self.image_shuffle()
41+ self ._set_image (self ._current_index )
4542
43+
4644
4745 def is_image_landscape (self , image : QPixmap ):
4846 if image .width ()/ image .height () > 1 :
4947 return True
5048 else :
5149 return False
5250
51+ def get_index_from_image_path (self , image_path : str ):
52+ for i in range (0 , len (self ._all_images )):
53+ if self ._all_images [i ] is image_path :
54+ return i
55+
5356 def image_shuffle (self ):
5457 l .log ("shuffle" )
58+ image_path = self ._all_images [self ._current_index ]
5559 self ._seed = time .time ()
5660 random .seed (self ._seed )
5761 random .shuffle (self ._all_images )
58- self ._current_index = 0
62+ self ._current_index = self . get_index_from_image_path ( image_path )
5963 self ._set_image (self ._current_index )
64+
65+ # self._current_index = 0
66+ # self._set_image(self._current_index)
6067
68+ def revert_shuffle (self ):
69+ l .log ("revert shuffle" )
70+ current_image_path = self ._all_images [self ._current_index ]
71+ self .initialize_images (file_walker .get_mode (), current_image_path )
72+
6173 def image_next (self ):
6274 l .log ("next" )
6375 self ._current_index += 1
@@ -82,23 +94,10 @@ def _set_image(self, index):
8294 l .log ("error: shuffling again" )
8395 self .image_shuffle ()
8496 l .log ("setting image" )
85-
8697 image_pix_map = QPixmap (self ._all_images [index ])
87-
88-
89- # if self.is_image_landscape(image_pix_map):
90- # self._image_label.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Ignored)
91- # else:
92- # self._image_label.setSizePolicy(QSizePolicy.Ignored, QSizePolicy.Fixed)
9398 print ("image: " , image_pix_map .width (), image_pix_map .height ())
94-
95- # image_pix_map = image_pix_map.scaled(900, 900, Qt.KeepAspectRatio)
96- # print(self.width(), self.height())
97-
98- #
9999 self ._image_label .setPixmap (image_pix_map )
100- # if self._line_edit:
101- # self._line_edit.setText(self._all_images[index])
100+ self .set_title (self ._all_images [index ])
102101
103102 # def set_line_edit(self, edit_line: QLineEdit):
104103 # self._line_edit = edit_line
@@ -160,7 +159,7 @@ def keyReleaseEvent(self, event: QKeyEvent):
160159 self .initialize_images ()
161160
162161 self .setFocus ()
163- self .set_title (self .get_current_image_path_str ())
162+ # self.set_title(self.get_current_image_path_str())
164163
165164 def get_current_image_path_str (self ) -> str :
166165 return self ._all_images [self ._current_index ]
0 commit comments