Skip to content

Commit a84011b

Browse files
committed
Page turning
1 parent 88a6508 commit a84011b

File tree

4 files changed

+45
-6
lines changed

4 files changed

+45
-6
lines changed

Widgets/Skins/ColourfulWidget.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ class ColourfulWidget(SkinBaseWidget):
2727

2828
def __init__(self, *args, **kwargs):
2929
super(ColourfulWidget, self).__init__(*args, **kwargs)
30+
self._index = 0
3031
Signals.colourfulItemAdded.connect(self.onColourfulItemAdded)
3132
Signals.colourfulItemAddFinished.connect(
3233
self.onColourfulItemAddFinished)
@@ -37,14 +38,25 @@ def init(self):
3738
if self.gridLayout.count() > 0:
3839
return
3940
ColourfulThread.start(PixmapWidth, PixmapHeight)
40-
41+
4142
def doPreviewPrevious(self):
4243
"""上一个
4344
"""
44-
45+
self._index -= 1
46+
self._index = max(self._index, 0)
47+
self.doPreview()
48+
4549
def doPreviewNext(self):
4650
"""下一个
4751
"""
52+
self._index += 1
53+
self._index = min(self._index, self.gridLayout.count() - 1)
54+
self.doPreview()
55+
56+
def doPreview(self):
57+
"""主动发送预览信号
58+
"""
59+
self.gridLayout.itemAt(self._index).widget().click()
4860

4961
def onColourfulItemAddFinished(self):
5062
"""添加完成

Widgets/Skins/PictureWidget.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,16 +55,28 @@ class PictureWidget(SkinBaseWidget):
5555

5656
def __init__(self, category, *args, **kwargs):
5757
super(PictureWidget, self).__init__(*args, **kwargs)
58+
self._index = 0
5859
self.category = category
5960
self._items = []
60-
61+
6162
def doPreviewPrevious(self):
6263
"""上一个
6364
"""
64-
65+
self._index -= 1
66+
self._index = max(self._index, 0)
67+
self.doPreview()
68+
6569
def doPreviewNext(self):
6670
"""下一个
6771
"""
72+
self._index += 1
73+
self._index = min(self._index, self.gridLayout.count() - 1)
74+
self.doPreview()
75+
76+
def doPreview(self):
77+
"""主动发送预览信号
78+
"""
79+
self.gridLayout.itemAt(self._index).widget().click()
6880

6981
def showWaiting(self, show=True):
7082
self.setEnabled(not show)

Widgets/Skins/SkinBaseWidget.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ def __init__(self, name, colorimg, signal, *args, **kwargs):
4848
PixmapWidth, PixmapHeight,
4949
Qt.IgnoreAspectRatio, Qt.SmoothTransformation)
5050

51+
def click(self):
52+
self.signal.emit(self.name, self.colorimg)
53+
5154
def mousePressEvent(self, event):
5255
super(SkinBaseItemWidget, self).mousePressEvent(event)
5356
self.hovered = True

Widgets/Skins/ThemeWidget.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ class ThemeWidget(SkinBaseWidget):
2525

2626
def __init__(self, *args, **kwargs):
2727
super(ThemeWidget, self).__init__(*args, **kwargs)
28+
self._index = 0
2829
Signals.themeItemAdded.connect(self.onThemeItemAdded)
2930
Signals.themeItemAddFinished.connect(
3031
self.onThemeItemAddFinished)
@@ -35,14 +36,25 @@ def init(self):
3536
if self.gridLayout.count() > 0:
3637
return
3738
ThemeThread.start(PixmapWidth, PixmapHeight)
38-
39+
3940
def doPreviewPrevious(self):
4041
"""上一个
4142
"""
42-
43+
self._index -= 1
44+
self._index = max(self._index, 0)
45+
self.doPreview()
46+
4347
def doPreviewNext(self):
4448
"""下一个
4549
"""
50+
self._index += 1
51+
self._index = min(self._index, self.gridLayout.count() - 1)
52+
self.doPreview()
53+
54+
def doPreview(self):
55+
"""主动发送预览信号
56+
"""
57+
self.gridLayout.itemAt(self._index).widget().click()
4658

4759
def onThemeItemAddFinished(self):
4860
"""添加完成

0 commit comments

Comments
 (0)