2 Commits

Author SHA1 Message Date
Andrew
aed41431f2 bugfix 2025-11-09 13:38:03 +03:00
Andrew
e05e9e576b file and protocol handling made more safe 2025-11-09 13:11:19 +03:00
2 changed files with 19 additions and 6 deletions

View File

@@ -11,7 +11,18 @@ def main():
app.setDesktopFileName(DESKTOP_FILE_NAME)
app.setWindowIcon(QIcon(AE_ICON_PATH))
mainWindow = MainWindow()
mainWindow.show()
show_window = True
quit_after_handling_args = False
for arg in sys.argv:
if 'misterhorsepm://' in arg or '.aep' in arg:
show_window = False
quit_after_handling_args = True
break
mainWindow = MainWindow(quit_after_handling_args)
if show_window:
mainWindow.show()
return app.exec()

View File

@@ -21,11 +21,12 @@ from src.types import DownloadMethod
class MainWindow(MainWindowUI):
def __init__(self):
def __init__(self, quit_after_handling_args: bool = False):
super().__init__()
self.ran_from_aep_file = False
self.ran_from_mhtb_link = False
self.quit_after_handling_args = quit_after_handling_args
self.setWindowTitle(gls('welcome_win_title'))
self.install_button.clicked.connect(self.install_button_clicked)
@@ -99,14 +100,13 @@ class MainWindow(MainWindowUI):
gls('mhtb_not_found_title'),
gls('mhtb_not_found_text')
)
return
exit(0)
self.run_mhtb_thread = RunExeThread([f'{mhtb_dir.as_posix()}/ProductManager.exe', mhtb_link])
self.run_mhtb_thread.log_signal.connect(self._log)
self.run_mhtb_thread.finished_signal.connect(self._finished)
self.run_mhtb_thread.start()
exit(0)
def try_autoopen_aep(self):
self.run_ae_thread.clear_aep_file_arg()
@@ -127,7 +127,6 @@ class MainWindow(MainWindowUI):
self.run_ae_thread.add_aep_file_arg(aep_file)
self.run_ae_button_clicked()
exit(0)
def init_installation(self):
if check_aegnux_installed():
@@ -189,6 +188,9 @@ class MainWindow(MainWindowUI):
@Slot(bool)
def _finished(self, success: bool):
if self.quit_after_handling_args:
exit(0)
self.lock_ui(False)
self.progress_bar.hide()
self.init_installation()