add check and dialog when update is available

This commit is contained in:
leminlimez
2024-12-04 15:29:22 -05:00
parent 79d70e1c13
commit 6549691f22
4 changed files with 115 additions and 28 deletions

68
gui/dialogs.py Normal file
View 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()