Skip to content

Commit 954ae3e

Browse files
committed
fixed title, current image kept after shuffle
1 parent 634bb0b commit 954ae3e

File tree

1 file changed

+24
-25
lines changed

1 file changed

+24
-25
lines changed

image_in_window_screensaver/image_widget.py

+24-25
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)