Skip to content

Commit d5ab07f

Browse files
committed
feat:检查更新
1 parent e4461d7 commit d5ab07f

4 files changed

Lines changed: 53 additions & 17 deletions

File tree

src/CheckUpdateGui.py

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from PyQt5.QtWidgets import QWidget, QScrollArea, QLabel, QVBoxLayout, QApplication, QHBoxLayout, QSpacerItem, \
1+
from PyQt5.QtWidgets import QWidget, QDialog, QScrollArea, QLabel, QVBoxLayout, QApplication, QHBoxLayout, QSpacerItem, \
22
QSizePolicy, QPushButton, QFrame, QMessageBox, QFormLayout, QProgressDialog, QTextEdit, QComboBox
33
from githubApi import GitHub, Release, SourceManager, PingThread
44
from PyQt5.QtCore import QObject, pyqtSlot, Qt, pyqtSignal, QUrl, QPropertyAnimation, \
@@ -47,12 +47,12 @@ def animationStart(self, check):
4747
class ReleaseFrame(QFrame):
4848
downLoadFile = pyqtSignal(Release)
4949

50-
def __init__(self, release: Release, mode=">", parent=None):
50+
def __init__(self, release: Release, mode=">", parent=None, r_path=""):
5151
super().__init__(parent)
5252
self.release: Release = release
5353
self.showButton = AnimationButton()
5454
self.showButton.setCheckable(True)
55-
self.showButton.pixmap = QPixmap("media/unfold.png")
55+
self.showButton.pixmap = QPixmap(str(r_path.with_name('media').joinpath('unfold.png')).replace("\\", "/"))
5656
self.dateTimeLabel = QLabel()
5757
self.titleWidget = QWidget()
5858
self.formWidget = QWidget()
@@ -169,9 +169,10 @@ def downLoadButtonClicked(self):
169169
self.downLoadFile.emit(self.release)
170170

171171

172-
class CheckUpdateGui(QWidget):
172+
class CheckUpdateGui(QDialog):
173173
def __init__(self, github: GitHub, parent=None):
174-
super().__init__(parent)
174+
super().__init__(parent.mainWindow)
175+
self.r_path = parent.r_path
175176
self.github: GitHub = github
176177
self.github.setParent(self)
177178
self.checkUpdateButton = QPushButton(
@@ -253,7 +254,7 @@ def checkUpdate(self, releases: list):
253254
layout.setContentsMargins(0, 0, 0, 0)
254255
for release in releases:
255256
frame = ReleaseFrame(
256-
release, self.github.compareVersion(release.tag_name))
257+
release, self.github.compareVersion(release.tag_name), r_path=self.r_path)
257258
layout.addWidget(frame)
258259
frame.downLoadFile.connect(self.github.downloadRelease)
259260
# 底部加一个空白区域
@@ -300,14 +301,14 @@ def downloadCancel(self):
300301
self.processDialog.close()
301302
self.processDialog = None
302303

303-
if __name__ == '__main__':
304-
import sys
305-
app = QApplication(sys.argv)
306-
data = {
307-
"Github": "https://api.github.com/repos/",
308-
"fff666": "https://fff666.top/",
309-
}
310-
w = CheckUpdateGui(GitHub(SourceManager(data), "eee555",
311-
"Solvable-Minesweeper", "3.1.9", "(\d+\.\d+\.\d+)"))
312-
w.show()
313-
sys.exit(app.exec_())
304+
# if __name__ == '__main__':
305+
# import sys
306+
# app = QApplication(sys.argv)
307+
# data = {
308+
# "Github": "https://api.github.com/repos/",
309+
# "fff666": "https://fff666.top/",
310+
# }
311+
# w = CheckUpdateGui(GitHub(SourceManager(data), "eee555",
312+
# "Solvable-Minesweeper", "3.1.9", "(\d+\.\d+\.\d+)"))
313+
# w.show()
314+
# sys.exit(app.exec_())

src/mineSweeperGUI.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
import gameDefinedParameter
77
import superGUI, gameAbout, gameSettings, gameSettingShortcuts,\
88
captureScreen, mine_num_bar, videoControl, gameRecordPop
9+
from CheckUpdateGui import CheckUpdateGui
10+
from githubApi import GitHub, SourceManager
911
import minesweeper_master as mm
1012
import ms_toollib as ms
1113
import configparser
@@ -61,6 +63,7 @@ def save_evf_file_integrated():
6163
self.action_kuaijiejian.triggered.connect(self.action_QEvent)
6264
self.action_mouse.triggered.connect(self.action_mouse_setting)
6365
self.actiongaun_yv.triggered.connect(self.action_AEvent)
66+
self.actionauto_update.triggered.connect(self.auto_Update)
6467
self.actionopen.triggered.connect(self.action_OpenFile)
6568
self.english_action.triggered.connect(lambda: self.trans_language("en_US"))
6669
self.chinese_action.triggered.connect(lambda: self.trans_language("zh_CN"))
@@ -1128,6 +1131,17 @@ def action_AEvent(self):
11281131
ui.Dialog.show()
11291132
ui.Dialog.exec_()
11301133

1134+
def auto_Update(self):
1135+
data = {
1136+
"Github": "https://api.github.com/repos/",
1137+
"fff666": "https://fff666.top/",
1138+
}
1139+
update_dialog = CheckUpdateGui(GitHub(SourceManager(data), "eee555",
1140+
"Solvable-Minesweeper", superGUI.version.decode( "UTF-8" ), "(\d+\.\d+\.\d+)"), parent = self)
1141+
update_dialog.setModal(True)
1142+
update_dialog.show()
1143+
update_dialog.exec_()
1144+
11311145
def screenShot(self):
11321146
# ‘ctrl’ + ‘space’ 事件,启动截图
11331147

src/ui/ui_main_board.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,7 @@ def setupUi(self, MainWindow):
237237
font.setFamily("微软雅黑")
238238
font.setPointSize(12)
239239
self.menu.setFont(font)
240+
self.menu.setStyleSheet("")
240241
self.menu.setObjectName("menu")
241242
self.menu_2 = QtWidgets.QMenu(self.menubar)
242243
font = QtGui.QFont()
@@ -418,6 +419,12 @@ def setupUi(self, MainWindow):
418419
self.action_save.setObjectName("action_save")
419420
self.action_replay = QtWidgets.QAction(MainWindow)
420421
self.action_replay.setObjectName("action_replay")
422+
self.actionauto_update = QtWidgets.QAction(MainWindow)
423+
font = QtGui.QFont()
424+
font.setFamily("微软雅黑")
425+
font.setPointSize(12)
426+
self.actionauto_update.setFont(font)
427+
self.actionauto_update.setObjectName("actionauto_update")
421428
self.menu.addAction(self.actionopen)
422429
self.menu.addSeparator()
423430
self.menu.addAction(self.actionnew_game)
@@ -440,6 +447,7 @@ def setupUi(self, MainWindow):
440447
self.menu_2.addAction(self.action_mouse)
441448
self.menu_2.addAction(self.language_menu.menuAction())
442449
self.menu_3.addAction(self.actiongaun_yv)
450+
self.menu_3.addAction(self.actionauto_update)
443451
self.menubar.addAction(self.menu.menuAction())
444452
self.menubar.addAction(self.menu_2.menuAction())
445453
self.menubar.addAction(self.menu_3.menuAction())
@@ -475,6 +483,7 @@ def retranslateUi(self, MainWindow):
475483
self.action_save.setShortcut(_translate("MainWindow", "Ctrl+S"))
476484
self.action_replay.setText(_translate("MainWindow", "回放"))
477485
self.action_replay.setShortcut(_translate("MainWindow", "R"))
486+
self.actionauto_update.setText(_translate("MainWindow", "检查更新"))
478487
from ui.mineLabel import mineLabel
479488
from ui.mineNumLabel import mineNumLabel
480489
from ui.uiComponents import StatusLabel

uiFiles/main_board.ui

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -677,6 +677,7 @@
677677
<string>帮助</string>
678678
</property>
679679
<addaction name="actiongaun_yv"/>
680+
<addaction name="actionauto_update"/>
680681
</widget>
681682
<addaction name="menu"/>
682683
<addaction name="menu_2"/>
@@ -1034,6 +1035,17 @@
10341035
<string>R</string>
10351036
</property>
10361037
</action>
1038+
<action name="actionauto_update">
1039+
<property name="text">
1040+
<string>检查更新</string>
1041+
</property>
1042+
<property name="font">
1043+
<font>
1044+
<family>微软雅黑</family>
1045+
<pointsize>12</pointsize>
1046+
</font>
1047+
</property>
1048+
</action>
10371049
</widget>
10381050
<customwidgets>
10391051
<customwidget>

0 commit comments

Comments
 (0)