mirror of
https://github.com/leminlimez/Nugget.git
synced 2025-04-08 04:23:05 +08:00
add check and dialog when update is available
This commit is contained in:
68
gui/dialogs.py
Normal file
68
gui/dialogs.py
Normal file
@@ -0,0 +1,68 @@
|
||||
from PySide6.QtWidgets import QDialog, QDialogButtonBox, QLabel, QVBoxLayout
|
||||
from PySide6.QtGui import QFont
|
||||
|
||||
from webbrowser import open_new_tab
|
||||
|
||||
from controllers.web_request_handler import Nugget_Repo_URL, get_latest_version
|
||||
|
||||
class GestaltDialog(QDialog):
|
||||
def __init__(self, device_manager, gestalt_label, selected_file, parent=None):
|
||||
super().__init__(parent)
|
||||
self.device_manager = device_manager
|
||||
self.gestalt_label = gestalt_label
|
||||
self.selected_file = selected_file
|
||||
|
||||
QBtn = (
|
||||
QDialogButtonBox.Ok | QDialogButtonBox.Cancel
|
||||
)
|
||||
|
||||
self.buttonBox = QDialogButtonBox(QBtn)
|
||||
self.buttonBox.accepted.connect(self.accept)
|
||||
self.buttonBox.rejected.connect(self.reject)
|
||||
|
||||
layout = QVBoxLayout()
|
||||
message = QLabel("The gestalt file looks like it was made for a different device.\nAre you sure you want to use this one?")
|
||||
layout.addWidget(message)
|
||||
layout.addWidget(self.buttonBox)
|
||||
self.setLayout(layout)
|
||||
|
||||
def accept(self):
|
||||
self.device_manager.data_singleton.gestalt_path = self.selected_file
|
||||
self.gestalt_label.setText(self.selected_file)
|
||||
super().accept()
|
||||
|
||||
|
||||
class UpdateAppDialog(QDialog):
|
||||
def __init__(self, parent=None):
|
||||
super.__init__(parent)
|
||||
|
||||
QBtn = (
|
||||
QDialogButtonBox.Ok | QDialogButtonBox.Cancel
|
||||
)
|
||||
|
||||
self.buttonBox = QDialogButtonBox(QBtn)
|
||||
self.buttonBox.accepted.connect(self.accept)
|
||||
self.buttonBox.rejected.connect(self.reject)
|
||||
|
||||
layout = QVBoxLayout()
|
||||
title = QLabel("Update Available")
|
||||
title_font = QFont()
|
||||
title_font.setBold(True)
|
||||
title.setFont(title_font)
|
||||
|
||||
message_text = ""
|
||||
latest_version = get_latest_version()
|
||||
if latest_version != None:
|
||||
message_text += f"Nugget v{latest_version} is available. "
|
||||
message_text += "Would you like to go to the download on GitHub?"
|
||||
message = QLabel(message_text)
|
||||
|
||||
layout.addWidget(title)
|
||||
layout.addWidget(message)
|
||||
layout.addWidget(self.buttonBox)
|
||||
self.setLayout(layout)
|
||||
|
||||
def accept(self):
|
||||
# open up the repo page
|
||||
open_new_tab(Nugget_Repo_URL)
|
||||
super().accept()
|
||||
Reference in New Issue
Block a user