From 0dbe28914de7a70e2f0947350e081ae1d6fa2e6e Mon Sep 17 00:00:00 2001
From: yeah-its-gloria <32610623+yeah-its-gloria@users.noreply.github.com>
Date: Sat, 19 Oct 2024 18:07:42 +0200
Subject: [PATCH 1/5] Add batch downloading with NUSD scripts
---
NUSGet.py | 67 +++++++++++++++++++++++++++++++++++++++--
modules/download_dsi.py | 13 +++++++-
modules/download_wii.py | 14 ++++++++-
qt/py/ui_MainMenu.py | 15 +++++++--
qt/ui/MainMenu.ui | 21 ++++++++++---
5 files changed, 118 insertions(+), 12 deletions(-)
diff --git a/NUSGet.py b/NUSGet.py
index b0c014e..1848d34 100644
--- a/NUSGet.py
+++ b/NUSGet.py
@@ -11,14 +11,14 @@ from importlib.metadata import version
from PySide6.QtGui import QIcon
from PySide6.QtWidgets import (QApplication, QMainWindow, QMessageBox, QTreeWidgetItem, QHeaderView, QStyle,
- QStyleFactory)
+ QStyleFactory, QFileDialog)
from PySide6.QtCore import QRunnable, Slot, QThreadPool, Signal, QObject, QLibraryInfo, QTranslator, QLocale
from qt.py.ui_MainMenu import Ui_MainWindow
from modules.core import *
-from modules.download_wii import run_nus_download_wii
-from modules.download_dsi import run_nus_download_dsi
+from modules.download_wii import run_nus_download_wii, run_nus_download_wii_batch
+from modules.download_dsi import run_nus_download_dsi, run_nus_download_dsi_batch
nusget_version = "1.2.0"
@@ -63,6 +63,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.ui.setupUi(self)
self.threadpool = QThreadPool()
self.ui.download_btn.clicked.connect(self.download_btn_pressed)
+ self.ui.script_btn.clicked.connect(self.script_btn_pressed)
self.ui.pack_archive_chkbox.clicked.connect(self.pack_wad_chkbox_toggled)
self.ui.tid_entry.textChanged.connect(self.tid_updated)
# noinspection PyUnresolvedReferences
@@ -248,6 +249,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.ui.tid_entry.setEnabled(False)
self.ui.version_entry.setEnabled(False)
self.ui.download_btn.setEnabled(False)
+ self.ui.script_btn.setEnabled(False)
self.ui.pack_archive_chkbox.setEnabled(False)
self.ui.keep_enc_chkbox.setEnabled(False)
self.ui.create_dec_chkbox.setEnabled(False)
@@ -318,6 +320,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.ui.tid_entry.setEnabled(True)
self.ui.version_entry.setEnabled(True)
self.ui.download_btn.setEnabled(True)
+ self.ui.script_btn.setEnabled(True)
self.ui.pack_archive_chkbox.setEnabled(True)
self.ui.keep_enc_chkbox.setEnabled(True)
self.ui.create_dec_chkbox.setEnabled(True)
@@ -347,6 +350,64 @@ class MainWindow(QMainWindow, Ui_MainWindow):
elif self.ui.console_select_dropdown.currentText() == "DSi":
self.ui.pack_vwii_mode_chkbox.setEnabled(False)
+ def script_btn_pressed(self):
+ file_name = QFileDialog.getOpenFileName(self, caption=app.translate("MainWindow", "Open NUS script"), filter=app.translate("MainWindow", "NUS Scripts (*.nus *.txt)"), options=QFileDialog.Option.ReadOnly)
+ if len(file_name[0]) == 0:
+ return
+
+ try:
+ file = open(file_name[0], "r")
+ except:
+ QMessageBox.critical(self, app.translate("MainWindow", "Script Failure"), app.translate("MainWindow", "Failed to open the script."), buttons=QMessageBox.StandardButton.Ok, defaultButton=QMessageBox.StandardButton.Ok)
+ return
+
+ content = file.readlines()
+
+ titles = []
+ for title in content:
+ decoded = title.replace("\n", "").split(" ", 1)
+ if len(decoded[0]) != 16 or len(decoded[1]) != 4:
+ QMessageBox.critical(self, app.translate("MainWindow", "Script Failure"), app.translate("MainWindow", "This script is invalid."), buttons=QMessageBox.StandardButton.Ok, defaultButton=QMessageBox.StandardButton.Ok)
+ return
+
+ try:
+ version = int(decoded[1], 16)
+ except:
+ QMessageBox.critical(self, app.translate("MainWindow", "Script Failure"), app.translate("MainWindow", "This script is invalid."), buttons=QMessageBox.StandardButton.Ok, defaultButton=QMessageBox.StandardButton.Ok)
+
+ titles.append((decoded[0], str(version)))
+
+ self.ui.tid_entry.setEnabled(False)
+ self.ui.version_entry.setEnabled(False)
+ self.ui.download_btn.setEnabled(False)
+ self.ui.script_btn.setEnabled(False)
+ self.ui.pack_archive_chkbox.setEnabled(False)
+ self.ui.keep_enc_chkbox.setEnabled(False)
+ self.ui.create_dec_chkbox.setEnabled(False)
+ self.ui.use_local_chkbox.setEnabled(False)
+ self.ui.use_wiiu_nus_chkbox.setEnabled(False)
+ self.ui.pack_vwii_mode_chkbox.setEnabled(False)
+ self.ui.archive_file_entry.setEnabled(False)
+ self.ui.console_select_dropdown.setEnabled(False)
+ self.log_text = ""
+ self.ui.log_text_browser.setText(self.log_text)
+
+ self.update_log_text(f"Found {len(titles)} titles, starting batch download.")
+
+ if self.ui.console_select_dropdown.currentText() == "DSi":
+ worker = Worker(run_nus_download_dsi_batch, out_folder, titles, self.ui.pack_archive_chkbox.isChecked(),
+ self.ui.keep_enc_chkbox.isChecked(), self.ui.create_dec_chkbox.isChecked(),
+ self.ui.use_local_chkbox.isChecked(), self.ui.archive_file_entry.text())
+ else:
+ worker = Worker(run_nus_download_wii_batch, out_folder, titles, self.ui.pack_archive_chkbox.isChecked(),
+ self.ui.keep_enc_chkbox.isChecked(), self.ui.create_dec_chkbox.isChecked(),
+ self.ui.use_wiiu_nus_chkbox.isChecked(), self.ui.use_local_chkbox.isChecked(),
+ self.ui.pack_vwii_mode_chkbox.isChecked(), self.ui.patch_ios_chkbox.isChecked())
+
+ worker.signals.result.connect(self.check_download_result)
+ worker.signals.progress.connect(self.update_log_text)
+ self.threadpool.start(worker)
+
if __name__ == "__main__":
app = QApplication(sys.argv)
diff --git a/modules/download_dsi.py b/modules/download_dsi.py
index 9084883..bfecbd3 100644
--- a/modules/download_dsi.py
+++ b/modules/download_dsi.py
@@ -3,6 +3,7 @@
import os
import pathlib
+from typing import List, Tuple
import libTWLPy
@@ -116,7 +117,7 @@ def run_nus_download_dsi(out_folder: pathlib.Path, tid: str, version: str, pack_
title.tad.set_cert_data(libTWLPy.download_cert())
# Use a typed TAD name if there is one, and auto generate one based on the TID and version if there isn't.
progress_callback.emit("Packing TAD...")
- if tad_file_name != "":
+ if tad_file_name != "" and tad_file_name is not None:
if tad_file_name[-4:] != ".tad":
tad_file_name = tad_file_name + ".tad"
else:
@@ -132,3 +133,13 @@ def run_nus_download_dsi(out_folder: pathlib.Path, tid: str, version: str, pack_
if (not pack_tad_enabled and pack_tad_chkbox) or (not decrypt_contents_enabled and decrypt_contents_chkbox):
return 1
return 0
+
+def run_nus_download_dsi_batch(out_folder: pathlib.Path, titles: List[Tuple[str, str]], pack_tad_chkbox: bool, keep_enc_chkbox: bool,
+ decrypt_contents_chkbox: bool, use_local_chkbox: bool, progress_callback=None):
+ for title in titles:
+ result = run_nus_download_dsi(out_folder, title[0], title[1], pack_tad_chkbox, keep_enc_chkbox, decrypt_contents_chkbox, use_local_chkbox, None, progress_callback)
+ if result != 0:
+ return result
+
+ progress_callback.emit(f"Batch download finished.")
+ return 0
diff --git a/modules/download_wii.py b/modules/download_wii.py
index f8126a7..0592e1e 100644
--- a/modules/download_wii.py
+++ b/modules/download_wii.py
@@ -3,6 +3,7 @@
import os
import pathlib
+from typing import List, Tuple
import libWiiPy
@@ -138,7 +139,7 @@ def run_nus_download_wii(out_folder: pathlib.Path, tid: str, version: str, pack_
title.wad.set_cert_data(libWiiPy.title.download_cert(wiiu_endpoint=wiiu_nus_enabled))
# Use a typed WAD name if there is one, and auto generate one based on the TID and version if there isn't.
progress_callback.emit(" - Packing WAD...")
- if wad_file_name != "":
+ if wad_file_name != "" and wad_file_name is not None:
if wad_file_name[-4:] != ".wad":
wad_file_name = wad_file_name + ".wad"
else:
@@ -165,3 +166,14 @@ def run_nus_download_wii(out_folder: pathlib.Path, tid: str, version: str, pack_
if (not pack_wad_enabled and pack_wad_chkbox) or (not decrypt_contents_enabled and decrypt_contents_chkbox):
return 1
return 0
+
+def run_nus_download_wii_batch(out_folder: pathlib.Path, titles: List[Tuple[str, str]], pack_wad_chkbox: bool, keep_enc_chkbox: bool,
+ decrypt_contents_chkbox: bool, wiiu_nus_chkbox: bool, use_local_chkbox: bool,
+ repack_vwii_chkbox: bool, patch_ios: bool, progress_callback=None):
+ for title in titles:
+ result = run_nus_download_wii(out_folder, title[0], title[1], pack_wad_chkbox, keep_enc_chkbox, decrypt_contents_chkbox, wiiu_nus_chkbox, use_local_chkbox, repack_vwii_chkbox, patch_ios, None, progress_callback)
+ if result != 0:
+ return result
+
+ progress_callback.emit(f"Batch download finished.")
+ return 0
diff --git a/qt/py/ui_MainMenu.py b/qt/py/ui_MainMenu.py
index 91562f7..5a2e36a 100644
--- a/qt/py/ui_MainMenu.py
+++ b/qt/py/ui_MainMenu.py
@@ -3,7 +3,7 @@
################################################################################
## Form generated from reading UI file 'MainMenu.ui'
##
-## Created by: Qt User Interface Compiler version 6.7.2
+## Created by: Qt User Interface Compiler version 6.8.0
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################
@@ -145,10 +145,20 @@ class Ui_MainWindow(object):
self.vertical_layout_controls.addLayout(self.horizontal_layout_title_entry)
+ self.horizontalLayout = QHBoxLayout()
+ self.horizontalLayout.setObjectName(u"horizontalLayout")
self.download_btn = QPushButton(self.centralwidget)
self.download_btn.setObjectName(u"download_btn")
- self.vertical_layout_controls.addWidget(self.download_btn)
+ self.horizontalLayout.addWidget(self.download_btn)
+
+ self.script_btn = QPushButton(self.centralwidget)
+ self.script_btn.setObjectName(u"script_btn")
+
+ self.horizontalLayout.addWidget(self.script_btn)
+
+
+ self.vertical_layout_controls.addLayout(self.horizontalLayout)
self.horizontalLayout_5 = QHBoxLayout()
self.horizontalLayout_5.setObjectName(u"horizontalLayout_5")
@@ -380,6 +390,7 @@ class Ui_MainWindow(object):
self.label_5.setText(QCoreApplication.translate("MainWindow", u"Console:", None))
self.console_select_dropdown.setCurrentText("")
self.download_btn.setText(QCoreApplication.translate("MainWindow", u"Start Download", None))
+ self.script_btn.setText(QCoreApplication.translate("MainWindow", u"Run Script", None))
self.label_3.setText(QCoreApplication.translate("MainWindow", u"General Settings", None))
self.label_7.setText(QCoreApplication.translate("MainWindow", u"Pack installable archive (WAD/TAD)", None))
self.archive_file_entry.setPlaceholderText(QCoreApplication.translate("MainWindow", u"File Name", None))
diff --git a/qt/ui/MainMenu.ui b/qt/ui/MainMenu.ui
index f6b4bdd..46c38a6 100644
--- a/qt/ui/MainMenu.ui
+++ b/qt/ui/MainMenu.ui
@@ -222,11 +222,22 @@
-
-
-
- Start Download
-
-
+
+
-
+
+
+ Start Download
+
+
+
+ -
+
+
+ Run Script
+
+
+
+
-
From 9c15eac1fd0799553de4d7d413c0f1abad377739 Mon Sep 17 00:00:00 2001
From: yeah-its-gloria <32610623+yeah-its-gloria@users.noreply.github.com>
Date: Mon, 21 Oct 2024 14:03:07 +0200
Subject: [PATCH 2/5] Verify titles Name archives properly using the database
Fix UI problems on macOS
---
NUSGet.py | 110 ++++++++++++++++++++++++++++------------
modules/download_dsi.py | 4 +-
modules/download_wii.py | 4 +-
qt/py/ui_MainMenu.py | 59 +++++++++++++--------
qt/ui/MainMenu.ui | 45 +++++++++++-----
5 files changed, 151 insertions(+), 71 deletions(-)
diff --git a/NUSGet.py b/NUSGet.py
index 1848d34..cd6f5c1 100644
--- a/NUSGet.py
+++ b/NUSGet.py
@@ -231,21 +231,9 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.log_text = f"{tid} - {selected_title.name}\nVersion: {selected_title.version}\n\n{danger_text}\n"
self.ui.log_text_browser.setText(self.log_text)
- def download_btn_pressed(self):
- # Throw an error and make a message box appear if you haven't selected any options to output the title.
- if (self.ui.pack_archive_chkbox.isChecked() is False and self.ui.keep_enc_chkbox.isChecked() is False and
- self.ui.create_dec_chkbox.isChecked() is False):
- msg_box = QMessageBox()
- msg_box.setIcon(QMessageBox.Icon.Critical)
- msg_box.setStandardButtons(QMessageBox.StandardButton.Ok)
- msg_box.setDefaultButton(QMessageBox.StandardButton.Ok)
- msg_box.setWindowTitle(app.translate("MainWindow", "No Output Selected"))
- msg_box.setText(app.translate("MainWindow", "You have not selected any format to output the data in!"))
- msg_box.setInformativeText(app.translate("MainWindow", "Please select at least one option for how you would "
- "like the download to be saved."))
- msg_box.exec()
- return
+ def lock_ui_for_download(self):
# Lock the UI prior to the download beginning to avoid spawning multiple threads or changing info part way in.
+ # Also resets the log.
self.ui.tid_entry.setEnabled(False)
self.ui.version_entry.setEnabled(False)
self.ui.download_btn.setEnabled(False)
@@ -260,6 +248,24 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.ui.console_select_dropdown.setEnabled(False)
self.log_text = ""
self.ui.log_text_browser.setText(self.log_text)
+
+ def download_btn_pressed(self):
+ # Throw an error and make a message box appear if you haven't selected any options to output the title.
+ if (self.ui.pack_archive_chkbox.isChecked() is False and self.ui.keep_enc_chkbox.isChecked() is False and
+ self.ui.create_dec_chkbox.isChecked() is False):
+ msg_box = QMessageBox()
+ msg_box.setIcon(QMessageBox.Icon.Critical)
+ msg_box.setStandardButtons(QMessageBox.StandardButton.Ok)
+ msg_box.setDefaultButton(QMessageBox.StandardButton.Ok)
+ msg_box.setWindowTitle(app.translate("MainWindow", "No Output Selected"))
+ msg_box.setText(app.translate("MainWindow", "You have not selected any format to output the data in!"))
+ msg_box.setInformativeText(app.translate("MainWindow", "Please select at least one option for how you would "
+ "like the download to be saved."))
+ msg_box.exec()
+ return
+
+ self.lock_ui_for_download()
+
# Create a new worker object to handle the download in a new thread.
if self.ui.console_select_dropdown.currentText() == "DSi":
worker = Worker(run_nus_download_dsi, out_folder, self.ui.tid_entry.text(),
@@ -363,34 +369,72 @@ class MainWindow(QMainWindow, Ui_MainWindow):
content = file.readlines()
+ # Decoding NUS Scripts
+ # NUS Scripts are plaintext UTF-8 files that list a title per line, terminated with newlines.
+ # Every title is its u64 TID, a space and its u16 version, *both* written in hexadecimal.
+ # NUS itself expects versions as decimal notation, so they need to be decoded first, but TIDs are always written in hexadecimal notation.
+
titles = []
- for title in content:
+
+ for index, title in enumerate(content):
decoded = title.replace("\n", "").split(" ", 1)
- if len(decoded[0]) != 16 or len(decoded[1]) != 4:
- QMessageBox.critical(self, app.translate("MainWindow", "Script Failure"), app.translate("MainWindow", "This script is invalid."), buttons=QMessageBox.StandardButton.Ok, defaultButton=QMessageBox.StandardButton.Ok)
+ if len(decoded[0]) != 16:
+ QMessageBox.critical(self, app.translate("MainWindow", "Script Failure"), app.translate("MainWindow", "The TID for title #%n is not valid.", "", index+1), buttons=QMessageBox.StandardButton.Ok, defaultButton=QMessageBox.StandardButton.Ok)
return
+ elif len(decoded[1]) != 4:
+ QMessageBox.critical(self, app.translate("MainWindow", "Script Failure"), app.translate("MainWindow", "The version for title #%n is not valid.", "", index+1), buttons=QMessageBox.StandardButton.Ok, defaultButton=QMessageBox.StandardButton.Ok)
+ return
+
+ tid = decoded[0]
try:
version = int(decoded[1], 16)
except:
- QMessageBox.critical(self, app.translate("MainWindow", "Script Failure"), app.translate("MainWindow", "This script is invalid."), buttons=QMessageBox.StandardButton.Ok, defaultButton=QMessageBox.StandardButton.Ok)
+ QMessageBox.critical(self, app.translate("MainWindow", "Script Failure"), app.translate("MainWindow", "The version for title #%n is not valid.", "", index+1), buttons=QMessageBox.StandardButton.Ok, defaultButton=QMessageBox.StandardButton.Ok)
+ return
- titles.append((decoded[0], str(version)))
+ title = None
+ for category in self.trees[self.ui.platform_tabs.currentIndex()][1]:
+ for title_ in self.trees[self.ui.platform_tabs.currentIndex()][1][category]:
+ # The last two digits are either identifying the title type (e.g IOS slot, BC type, etc) or a region code; in case of the latter, skip the region here to match it
+ if not ((title_["TID"][-2:] == "XX" and title_["TID"][:-2] == tid[:-2]) or title_["TID"] == tid):
+ continue
- self.ui.tid_entry.setEnabled(False)
- self.ui.version_entry.setEnabled(False)
- self.ui.download_btn.setEnabled(False)
- self.ui.script_btn.setEnabled(False)
- self.ui.pack_archive_chkbox.setEnabled(False)
- self.ui.keep_enc_chkbox.setEnabled(False)
- self.ui.create_dec_chkbox.setEnabled(False)
- self.ui.use_local_chkbox.setEnabled(False)
- self.ui.use_wiiu_nus_chkbox.setEnabled(False)
- self.ui.pack_vwii_mode_chkbox.setEnabled(False)
- self.ui.archive_file_entry.setEnabled(False)
- self.ui.console_select_dropdown.setEnabled(False)
- self.log_text = ""
- self.ui.log_text_browser.setText(self.log_text)
+ region = None
+ found_ver = False
+ if title_["TID"][-2:] == "XX":
+ global regions
+ for region_ in regions:
+ for code in regions[region_]:
+ if code == tid[:-2]:
+ region = region_
+ break
+
+ if region is None:
+ QMessageBox.critical(self, app.translate("MainWindow", "Script Failure"), app.translate("MainWindow", "Title #%n belongs to an unknown region.", "", index+1), buttons=QMessageBox.StandardButton.Ok, defaultButton=QMessageBox.StandardButton.Ok)
+ return
+ else:
+ region = "World"
+
+ for db_version in title_["Versions"][region]:
+ if db_version == version:
+ found_ver = True
+ break
+
+ if not found_ver:
+ QMessageBox.critical(self, app.translate("MainWindow", "Script Failure"), app.translate("MainWindow", "The version for title #%n could not be discovered in the database.", "", index+1), buttons=QMessageBox.StandardButton.Ok, defaultButton=QMessageBox.StandardButton.Ok)
+ return
+
+ title = title_
+ break
+
+ if title == None:
+ QMessageBox.critical(self, app.translate("MainWindow", "Script Failure"), app.translate("MainWindow", "Title #%n could not be discovered in the database.", "", index+1), buttons=QMessageBox.StandardButton.Ok, defaultButton=QMessageBox.StandardButton.Ok)
+ return
+
+ titles.append((title["TID"], str(version), title["Archive Name"]))
+
+ self.lock_ui_for_download()
self.update_log_text(f"Found {len(titles)} titles, starting batch download.")
diff --git a/modules/download_dsi.py b/modules/download_dsi.py
index bfecbd3..ab58339 100644
--- a/modules/download_dsi.py
+++ b/modules/download_dsi.py
@@ -134,10 +134,10 @@ def run_nus_download_dsi(out_folder: pathlib.Path, tid: str, version: str, pack_
return 1
return 0
-def run_nus_download_dsi_batch(out_folder: pathlib.Path, titles: List[Tuple[str, str]], pack_tad_chkbox: bool, keep_enc_chkbox: bool,
+def run_nus_download_dsi_batch(out_folder: pathlib.Path, titles: List[Tuple[str, str, str]], pack_tad_chkbox: bool, keep_enc_chkbox: bool,
decrypt_contents_chkbox: bool, use_local_chkbox: bool, progress_callback=None):
for title in titles:
- result = run_nus_download_dsi(out_folder, title[0], title[1], pack_tad_chkbox, keep_enc_chkbox, decrypt_contents_chkbox, use_local_chkbox, None, progress_callback)
+ result = run_nus_download_dsi(out_folder, title[0], title[1], pack_tad_chkbox, keep_enc_chkbox, decrypt_contents_chkbox, use_local_chkbox, f"{title[2]}-{title[1]}.tad", progress_callback)
if result != 0:
return result
diff --git a/modules/download_wii.py b/modules/download_wii.py
index 0592e1e..becad70 100644
--- a/modules/download_wii.py
+++ b/modules/download_wii.py
@@ -167,11 +167,11 @@ def run_nus_download_wii(out_folder: pathlib.Path, tid: str, version: str, pack_
return 1
return 0
-def run_nus_download_wii_batch(out_folder: pathlib.Path, titles: List[Tuple[str, str]], pack_wad_chkbox: bool, keep_enc_chkbox: bool,
+def run_nus_download_wii_batch(out_folder: pathlib.Path, titles: List[Tuple[str, str, str]], pack_wad_chkbox: bool, keep_enc_chkbox: bool,
decrypt_contents_chkbox: bool, wiiu_nus_chkbox: bool, use_local_chkbox: bool,
repack_vwii_chkbox: bool, patch_ios: bool, progress_callback=None):
for title in titles:
- result = run_nus_download_wii(out_folder, title[0], title[1], pack_wad_chkbox, keep_enc_chkbox, decrypt_contents_chkbox, wiiu_nus_chkbox, use_local_chkbox, repack_vwii_chkbox, patch_ios, None, progress_callback)
+ result = run_nus_download_wii(out_folder, title[0], title[1], pack_wad_chkbox, keep_enc_chkbox, decrypt_contents_chkbox, wiiu_nus_chkbox, use_local_chkbox, repack_vwii_chkbox, patch_ios, f"{title[2]}-{title[1]}.wad", progress_callback)
if result != 0:
return result
diff --git a/qt/py/ui_MainMenu.py b/qt/py/ui_MainMenu.py
index 5a2e36a..42ef40d 100644
--- a/qt/py/ui_MainMenu.py
+++ b/qt/py/ui_MainMenu.py
@@ -111,7 +111,7 @@ class Ui_MainWindow(object):
self.vertical_layout_controls = QVBoxLayout()
self.vertical_layout_controls.setObjectName(u"vertical_layout_controls")
- self.vertical_layout_controls.setSizeConstraint(QLayout.SetDefaultConstraint)
+ self.vertical_layout_controls.setSizeConstraint(QLayout.SizeConstraint.SetDefaultConstraint)
self.horizontal_layout_title_entry = QHBoxLayout()
self.horizontal_layout_title_entry.setObjectName(u"horizontal_layout_title_entry")
self.tid_entry = QLineEdit(self.centralwidget)
@@ -149,11 +149,21 @@ class Ui_MainWindow(object):
self.horizontalLayout.setObjectName(u"horizontalLayout")
self.download_btn = QPushButton(self.centralwidget)
self.download_btn.setObjectName(u"download_btn")
+ sizePolicy1 = QSizePolicy(QSizePolicy.Policy.MinimumExpanding, QSizePolicy.Policy.Fixed)
+ sizePolicy1.setHorizontalStretch(0)
+ sizePolicy1.setVerticalStretch(0)
+ sizePolicy1.setHeightForWidth(self.download_btn.sizePolicy().hasHeightForWidth())
+ self.download_btn.setSizePolicy(sizePolicy1)
self.horizontalLayout.addWidget(self.download_btn)
self.script_btn = QPushButton(self.centralwidget)
self.script_btn.setObjectName(u"script_btn")
+ sizePolicy2 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Fixed)
+ sizePolicy2.setHorizontalStretch(0)
+ sizePolicy2.setVerticalStretch(0)
+ sizePolicy2.setHeightForWidth(self.script_btn.sizePolicy().hasHeightForWidth())
+ self.script_btn.setSizePolicy(sizePolicy2)
self.horizontalLayout.addWidget(self.script_btn)
@@ -163,7 +173,9 @@ class Ui_MainWindow(object):
self.horizontalLayout_5 = QHBoxLayout()
self.horizontalLayout_5.setObjectName(u"horizontalLayout_5")
self.verticalLayout_7 = QVBoxLayout()
+ self.verticalLayout_7.setSpacing(10)
self.verticalLayout_7.setObjectName(u"verticalLayout_7")
+ self.verticalLayout_7.setSizeConstraint(QLayout.SizeConstraint.SetNoConstraint)
self.label_3 = QLabel(self.centralwidget)
self.label_3.setObjectName(u"label_3")
self.label_3.setFont(font)
@@ -174,11 +186,11 @@ class Ui_MainWindow(object):
self.pack_archive_row.setObjectName(u"pack_archive_row")
self.pack_archive_chkbox = QCheckBox(self.centralwidget)
self.pack_archive_chkbox.setObjectName(u"pack_archive_chkbox")
- sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Maximum, QSizePolicy.Policy.Fixed)
- sizePolicy1.setHorizontalStretch(0)
- sizePolicy1.setVerticalStretch(0)
- sizePolicy1.setHeightForWidth(self.pack_archive_chkbox.sizePolicy().hasHeightForWidth())
- self.pack_archive_chkbox.setSizePolicy(sizePolicy1)
+ sizePolicy3 = QSizePolicy(QSizePolicy.Policy.Maximum, QSizePolicy.Policy.Fixed)
+ sizePolicy3.setHorizontalStretch(0)
+ sizePolicy3.setVerticalStretch(0)
+ sizePolicy3.setHeightForWidth(self.pack_archive_chkbox.sizePolicy().hasHeightForWidth())
+ self.pack_archive_chkbox.setSizePolicy(sizePolicy3)
self.pack_archive_chkbox.setText(u"")
self.pack_archive_row.addWidget(self.pack_archive_chkbox)
@@ -202,8 +214,8 @@ class Ui_MainWindow(object):
self.keep_enc_row.setObjectName(u"keep_enc_row")
self.keep_enc_chkbox = QCheckBox(self.centralwidget)
self.keep_enc_chkbox.setObjectName(u"keep_enc_chkbox")
- sizePolicy1.setHeightForWidth(self.keep_enc_chkbox.sizePolicy().hasHeightForWidth())
- self.keep_enc_chkbox.setSizePolicy(sizePolicy1)
+ sizePolicy3.setHeightForWidth(self.keep_enc_chkbox.sizePolicy().hasHeightForWidth())
+ self.keep_enc_chkbox.setSizePolicy(sizePolicy3)
self.keep_enc_chkbox.setText(u"")
self.keep_enc_chkbox.setChecked(True)
@@ -222,8 +234,8 @@ class Ui_MainWindow(object):
self.create_dec_row.setObjectName(u"create_dec_row")
self.create_dec_chkbox = QCheckBox(self.centralwidget)
self.create_dec_chkbox.setObjectName(u"create_dec_chkbox")
- sizePolicy1.setHeightForWidth(self.create_dec_chkbox.sizePolicy().hasHeightForWidth())
- self.create_dec_chkbox.setSizePolicy(sizePolicy1)
+ sizePolicy3.setHeightForWidth(self.create_dec_chkbox.sizePolicy().hasHeightForWidth())
+ self.create_dec_chkbox.setSizePolicy(sizePolicy3)
self.create_dec_chkbox.setText(u"")
self.create_dec_row.addWidget(self.create_dec_chkbox)
@@ -242,8 +254,8 @@ class Ui_MainWindow(object):
self.use_local_chkbox = QCheckBox(self.centralwidget)
self.use_local_chkbox.setObjectName(u"use_local_chkbox")
self.use_local_chkbox.setEnabled(True)
- sizePolicy1.setHeightForWidth(self.use_local_chkbox.sizePolicy().hasHeightForWidth())
- self.use_local_chkbox.setSizePolicy(sizePolicy1)
+ sizePolicy3.setHeightForWidth(self.use_local_chkbox.sizePolicy().hasHeightForWidth())
+ self.use_local_chkbox.setSizePolicy(sizePolicy3)
self.use_local_chkbox.setText(u"")
self.use_local_row.addWidget(self.use_local_chkbox)
@@ -261,9 +273,12 @@ class Ui_MainWindow(object):
self.use_wiiu_nus_row.setObjectName(u"use_wiiu_nus_row")
self.use_wiiu_nus_chkbox = QCheckBox(self.centralwidget)
self.use_wiiu_nus_chkbox.setObjectName(u"use_wiiu_nus_chkbox")
- sizePolicy1.setHeightForWidth(self.use_wiiu_nus_chkbox.sizePolicy().hasHeightForWidth())
- self.use_wiiu_nus_chkbox.setSizePolicy(sizePolicy1)
- self.use_wiiu_nus_chkbox.setLayoutDirection(Qt.LeftToRight)
+ sizePolicy4 = QSizePolicy(QSizePolicy.Policy.Maximum, QSizePolicy.Policy.Preferred)
+ sizePolicy4.setHorizontalStretch(0)
+ sizePolicy4.setVerticalStretch(0)
+ sizePolicy4.setHeightForWidth(self.use_wiiu_nus_chkbox.sizePolicy().hasHeightForWidth())
+ self.use_wiiu_nus_chkbox.setSizePolicy(sizePolicy4)
+ self.use_wiiu_nus_chkbox.setLayoutDirection(Qt.LayoutDirection.LeftToRight)
self.use_wiiu_nus_chkbox.setText(u"")
self.use_wiiu_nus_chkbox.setChecked(True)
@@ -283,8 +298,8 @@ class Ui_MainWindow(object):
self.patch_ios_chkbox = QCheckBox(self.centralwidget)
self.patch_ios_chkbox.setObjectName(u"patch_ios_chkbox")
self.patch_ios_chkbox.setEnabled(False)
- sizePolicy1.setHeightForWidth(self.patch_ios_chkbox.sizePolicy().hasHeightForWidth())
- self.patch_ios_chkbox.setSizePolicy(sizePolicy1)
+ sizePolicy3.setHeightForWidth(self.patch_ios_chkbox.sizePolicy().hasHeightForWidth())
+ self.patch_ios_chkbox.setSizePolicy(sizePolicy3)
self.patch_ios_chkbox.setText(u"")
self.patch_ios_row.addWidget(self.patch_ios_chkbox)
@@ -299,11 +314,11 @@ class Ui_MainWindow(object):
self.verticalLayout_7.addLayout(self.patch_ios_row)
- self.verticalSpacer_2 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
+ self.verticalSpacer_2 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Ignored)
self.verticalLayout_7.addItem(self.verticalSpacer_2)
- self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
+ self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Minimum)
self.verticalLayout_7.addItem(self.horizontalSpacer)
@@ -323,8 +338,8 @@ class Ui_MainWindow(object):
self.pack_vwii_mode_chkbox = QCheckBox(self.centralwidget)
self.pack_vwii_mode_chkbox.setObjectName(u"pack_vwii_mode_chkbox")
self.pack_vwii_mode_chkbox.setEnabled(False)
- sizePolicy1.setHeightForWidth(self.pack_vwii_mode_chkbox.sizePolicy().hasHeightForWidth())
- self.pack_vwii_mode_chkbox.setSizePolicy(sizePolicy1)
+ sizePolicy3.setHeightForWidth(self.pack_vwii_mode_chkbox.sizePolicy().hasHeightForWidth())
+ self.pack_vwii_mode_chkbox.setSizePolicy(sizePolicy3)
self.pack_vwii_mode_chkbox.setText(u"")
self.pack_vwii_mode_row.addWidget(self.pack_vwii_mode_chkbox)
@@ -343,7 +358,7 @@ class Ui_MainWindow(object):
self.verticalLayout_8.addItem(self.verticalSpacer)
- self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
+ self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Minimum)
self.verticalLayout_8.addItem(self.horizontalSpacer_2)
diff --git a/qt/ui/MainMenu.ui b/qt/ui/MainMenu.ui
index 46c38a6..9c1cc4b 100644
--- a/qt/ui/MainMenu.ui
+++ b/qt/ui/MainMenu.ui
@@ -33,7 +33,6 @@
- 75
true
@@ -159,7 +158,7 @@
-
- QLayout::SetDefaultConstraint
+ QLayout::SizeConstraint::SetDefaultConstraint
-
@@ -225,6 +224,12 @@
-
+
+
+ 0
+ 0
+
+
Start Download
@@ -232,6 +237,12 @@
-
+
+
+ 0
+ 0
+
+
Run Script
@@ -243,11 +254,16 @@
-
+
+ 10
+
+
+ QLayout::SizeConstraint::SetNoConstraint
+
-
- 75
true
@@ -385,13 +401,13 @@
-
-
+
0
0
- Qt::LeftToRight
+ Qt::LayoutDirection::LeftToRight
@@ -449,10 +465,10 @@
-
- Qt::Vertical
+ Qt::Orientation::Vertical
- QSizePolicy::Expanding
+ QSizePolicy::Policy::Ignored
@@ -465,7 +481,10 @@
-
- Qt::Horizontal
+ Qt::Orientation::Horizontal
+
+
+ QSizePolicy::Policy::Preferred
@@ -483,7 +502,6 @@
- 75
true
@@ -528,10 +546,10 @@
-
- Qt::Vertical
+ Qt::Orientation::Vertical
- QSizePolicy::Expanding
+ QSizePolicy::Policy::Expanding
@@ -544,7 +562,10 @@
-
- Qt::Horizontal
+ Qt::Orientation::Horizontal
+
+
+ QSizePolicy::Policy::Preferred
From dd79be0b48cf23624af62f6e48ec2de68e7e3cb1 Mon Sep 17 00:00:00 2001
From: yeah-its-gloria <32610623+yeah-its-gloria@users.noreply.github.com>
Date: Mon, 21 Oct 2024 23:22:51 +0200
Subject: [PATCH 3/5] Fix version lookup
Checking regions was pretty superfluous anyway, since it only served to *potentially* speed up the lookup.
---
NUSGet.py | 24 +++++-------------------
1 file changed, 5 insertions(+), 19 deletions(-)
diff --git a/NUSGet.py b/NUSGet.py
index cd6f5c1..d100eff 100644
--- a/NUSGet.py
+++ b/NUSGet.py
@@ -400,26 +400,12 @@ class MainWindow(QMainWindow, Ui_MainWindow):
if not ((title_["TID"][-2:] == "XX" and title_["TID"][:-2] == tid[:-2]) or title_["TID"] == tid):
continue
- region = None
found_ver = False
- if title_["TID"][-2:] == "XX":
- global regions
- for region_ in regions:
- for code in regions[region_]:
- if code == tid[:-2]:
- region = region_
- break
-
- if region is None:
- QMessageBox.critical(self, app.translate("MainWindow", "Script Failure"), app.translate("MainWindow", "Title #%n belongs to an unknown region.", "", index+1), buttons=QMessageBox.StandardButton.Ok, defaultButton=QMessageBox.StandardButton.Ok)
- return
- else:
- region = "World"
-
- for db_version in title_["Versions"][region]:
- if db_version == version:
- found_ver = True
- break
+ for region in title_["Versions"]:
+ for db_version in title_["Versions"][region]:
+ if db_version == version:
+ found_ver = True
+ break
if not found_ver:
QMessageBox.critical(self, app.translate("MainWindow", "Script Failure"), app.translate("MainWindow", "The version for title #%n could not be discovered in the database.", "", index+1), buttons=QMessageBox.StandardButton.Ok, defaultButton=QMessageBox.StandardButton.Ok)
From 33b30b4aa59cbddcd7dab6cea3762a2df70b5e71 Mon Sep 17 00:00:00 2001
From: yeah-its-gloria <32610623+yeah-its-gloria@users.noreply.github.com>
Date: Mon, 21 Oct 2024 23:44:27 +0200
Subject: [PATCH 4/5] Clean up the UI
---
NUSGet.py | 4 +++
qt/py/ui_MainMenu.py | 85 +++++++++++++++++++++++---------------------
qt/ui/MainMenu.ui | 28 ++++++---------
3 files changed, 59 insertions(+), 58 deletions(-)
diff --git a/NUSGet.py b/NUSGet.py
index d100eff..fe90675 100644
--- a/NUSGet.py
+++ b/NUSGet.py
@@ -125,6 +125,10 @@ class MainWindow(QMainWindow, Ui_MainWindow):
tree[0].insertTopLevelItems(0, self.tree_categories)
# Connect the double click signal for handling when titles are selected.
tree[0].itemDoubleClicked.connect(self.onItemClicked)
+
+ # Prevent resizing, Qt makes us look stupid here
+ self.setFixedSize(self.size())
+
# Do a quick check to see if there's a newer release available, and inform the user if there is.
worker = Worker(check_nusget_updates, app, nusget_version)
worker.signals.result.connect(self.prompt_for_update)
diff --git a/qt/py/ui_MainMenu.py b/qt/py/ui_MainMenu.py
index 42ef40d..58e8640 100644
--- a/qt/py/ui_MainMenu.py
+++ b/qt/py/ui_MainMenu.py
@@ -25,9 +25,12 @@ class Ui_MainWindow(object):
def setupUi(self, MainWindow):
if not MainWindow.objectName():
MainWindow.setObjectName(u"MainWindow")
- MainWindow.resize(1010, 625)
- MainWindow.setMinimumSize(QSize(1010, 625))
- MainWindow.setMaximumSize(QSize(1010, 625))
+ MainWindow.resize(1077, 784)
+ sizePolicy = QSizePolicy(QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth())
+ MainWindow.setSizePolicy(sizePolicy)
self.centralwidget = QWidget(MainWindow)
self.centralwidget.setObjectName(u"centralwidget")
self.horizontalLayout_3 = QHBoxLayout(self.centralwidget)
@@ -44,11 +47,11 @@ class Ui_MainWindow(object):
self.platform_tabs = QTabWidget(self.centralwidget)
self.platform_tabs.setObjectName(u"platform_tabs")
- sizePolicy = QSizePolicy(QSizePolicy.Policy.Maximum, QSizePolicy.Policy.Expanding)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.platform_tabs.sizePolicy().hasHeightForWidth())
- self.platform_tabs.setSizePolicy(sizePolicy)
+ sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Maximum, QSizePolicy.Policy.Expanding)
+ sizePolicy1.setHorizontalStretch(0)
+ sizePolicy1.setVerticalStretch(0)
+ sizePolicy1.setHeightForWidth(self.platform_tabs.sizePolicy().hasHeightForWidth())
+ self.platform_tabs.setSizePolicy(sizePolicy1)
self.platform_tabs.setMinimumSize(QSize(410, 0))
self.platform_tabs.setMaximumSize(QSize(410, 16777215))
self.wii_tab = QWidget()
@@ -149,21 +152,21 @@ class Ui_MainWindow(object):
self.horizontalLayout.setObjectName(u"horizontalLayout")
self.download_btn = QPushButton(self.centralwidget)
self.download_btn.setObjectName(u"download_btn")
- sizePolicy1 = QSizePolicy(QSizePolicy.Policy.MinimumExpanding, QSizePolicy.Policy.Fixed)
- sizePolicy1.setHorizontalStretch(0)
- sizePolicy1.setVerticalStretch(0)
- sizePolicy1.setHeightForWidth(self.download_btn.sizePolicy().hasHeightForWidth())
- self.download_btn.setSizePolicy(sizePolicy1)
+ sizePolicy2 = QSizePolicy(QSizePolicy.Policy.MinimumExpanding, QSizePolicy.Policy.Fixed)
+ sizePolicy2.setHorizontalStretch(0)
+ sizePolicy2.setVerticalStretch(0)
+ sizePolicy2.setHeightForWidth(self.download_btn.sizePolicy().hasHeightForWidth())
+ self.download_btn.setSizePolicy(sizePolicy2)
self.horizontalLayout.addWidget(self.download_btn)
self.script_btn = QPushButton(self.centralwidget)
self.script_btn.setObjectName(u"script_btn")
- sizePolicy2 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Fixed)
- sizePolicy2.setHorizontalStretch(0)
- sizePolicy2.setVerticalStretch(0)
- sizePolicy2.setHeightForWidth(self.script_btn.sizePolicy().hasHeightForWidth())
- self.script_btn.setSizePolicy(sizePolicy2)
+ sizePolicy3 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Fixed)
+ sizePolicy3.setHorizontalStretch(0)
+ sizePolicy3.setVerticalStretch(0)
+ sizePolicy3.setHeightForWidth(self.script_btn.sizePolicy().hasHeightForWidth())
+ self.script_btn.setSizePolicy(sizePolicy3)
self.horizontalLayout.addWidget(self.script_btn)
@@ -186,11 +189,11 @@ class Ui_MainWindow(object):
self.pack_archive_row.setObjectName(u"pack_archive_row")
self.pack_archive_chkbox = QCheckBox(self.centralwidget)
self.pack_archive_chkbox.setObjectName(u"pack_archive_chkbox")
- sizePolicy3 = QSizePolicy(QSizePolicy.Policy.Maximum, QSizePolicy.Policy.Fixed)
- sizePolicy3.setHorizontalStretch(0)
- sizePolicy3.setVerticalStretch(0)
- sizePolicy3.setHeightForWidth(self.pack_archive_chkbox.sizePolicy().hasHeightForWidth())
- self.pack_archive_chkbox.setSizePolicy(sizePolicy3)
+ sizePolicy4 = QSizePolicy(QSizePolicy.Policy.Maximum, QSizePolicy.Policy.Fixed)
+ sizePolicy4.setHorizontalStretch(0)
+ sizePolicy4.setVerticalStretch(0)
+ sizePolicy4.setHeightForWidth(self.pack_archive_chkbox.sizePolicy().hasHeightForWidth())
+ self.pack_archive_chkbox.setSizePolicy(sizePolicy4)
self.pack_archive_chkbox.setText(u"")
self.pack_archive_row.addWidget(self.pack_archive_chkbox)
@@ -214,8 +217,8 @@ class Ui_MainWindow(object):
self.keep_enc_row.setObjectName(u"keep_enc_row")
self.keep_enc_chkbox = QCheckBox(self.centralwidget)
self.keep_enc_chkbox.setObjectName(u"keep_enc_chkbox")
- sizePolicy3.setHeightForWidth(self.keep_enc_chkbox.sizePolicy().hasHeightForWidth())
- self.keep_enc_chkbox.setSizePolicy(sizePolicy3)
+ sizePolicy4.setHeightForWidth(self.keep_enc_chkbox.sizePolicy().hasHeightForWidth())
+ self.keep_enc_chkbox.setSizePolicy(sizePolicy4)
self.keep_enc_chkbox.setText(u"")
self.keep_enc_chkbox.setChecked(True)
@@ -234,8 +237,8 @@ class Ui_MainWindow(object):
self.create_dec_row.setObjectName(u"create_dec_row")
self.create_dec_chkbox = QCheckBox(self.centralwidget)
self.create_dec_chkbox.setObjectName(u"create_dec_chkbox")
- sizePolicy3.setHeightForWidth(self.create_dec_chkbox.sizePolicy().hasHeightForWidth())
- self.create_dec_chkbox.setSizePolicy(sizePolicy3)
+ sizePolicy4.setHeightForWidth(self.create_dec_chkbox.sizePolicy().hasHeightForWidth())
+ self.create_dec_chkbox.setSizePolicy(sizePolicy4)
self.create_dec_chkbox.setText(u"")
self.create_dec_row.addWidget(self.create_dec_chkbox)
@@ -254,8 +257,8 @@ class Ui_MainWindow(object):
self.use_local_chkbox = QCheckBox(self.centralwidget)
self.use_local_chkbox.setObjectName(u"use_local_chkbox")
self.use_local_chkbox.setEnabled(True)
- sizePolicy3.setHeightForWidth(self.use_local_chkbox.sizePolicy().hasHeightForWidth())
- self.use_local_chkbox.setSizePolicy(sizePolicy3)
+ sizePolicy4.setHeightForWidth(self.use_local_chkbox.sizePolicy().hasHeightForWidth())
+ self.use_local_chkbox.setSizePolicy(sizePolicy4)
self.use_local_chkbox.setText(u"")
self.use_local_row.addWidget(self.use_local_chkbox)
@@ -273,11 +276,11 @@ class Ui_MainWindow(object):
self.use_wiiu_nus_row.setObjectName(u"use_wiiu_nus_row")
self.use_wiiu_nus_chkbox = QCheckBox(self.centralwidget)
self.use_wiiu_nus_chkbox.setObjectName(u"use_wiiu_nus_chkbox")
- sizePolicy4 = QSizePolicy(QSizePolicy.Policy.Maximum, QSizePolicy.Policy.Preferred)
- sizePolicy4.setHorizontalStretch(0)
- sizePolicy4.setVerticalStretch(0)
- sizePolicy4.setHeightForWidth(self.use_wiiu_nus_chkbox.sizePolicy().hasHeightForWidth())
- self.use_wiiu_nus_chkbox.setSizePolicy(sizePolicy4)
+ sizePolicy5 = QSizePolicy(QSizePolicy.Policy.Maximum, QSizePolicy.Policy.Preferred)
+ sizePolicy5.setHorizontalStretch(0)
+ sizePolicy5.setVerticalStretch(0)
+ sizePolicy5.setHeightForWidth(self.use_wiiu_nus_chkbox.sizePolicy().hasHeightForWidth())
+ self.use_wiiu_nus_chkbox.setSizePolicy(sizePolicy5)
self.use_wiiu_nus_chkbox.setLayoutDirection(Qt.LayoutDirection.LeftToRight)
self.use_wiiu_nus_chkbox.setText(u"")
self.use_wiiu_nus_chkbox.setChecked(True)
@@ -298,8 +301,8 @@ class Ui_MainWindow(object):
self.patch_ios_chkbox = QCheckBox(self.centralwidget)
self.patch_ios_chkbox.setObjectName(u"patch_ios_chkbox")
self.patch_ios_chkbox.setEnabled(False)
- sizePolicy3.setHeightForWidth(self.patch_ios_chkbox.sizePolicy().hasHeightForWidth())
- self.patch_ios_chkbox.setSizePolicy(sizePolicy3)
+ sizePolicy4.setHeightForWidth(self.patch_ios_chkbox.sizePolicy().hasHeightForWidth())
+ self.patch_ios_chkbox.setSizePolicy(sizePolicy4)
self.patch_ios_chkbox.setText(u"")
self.patch_ios_row.addWidget(self.patch_ios_chkbox)
@@ -314,7 +317,7 @@ class Ui_MainWindow(object):
self.verticalLayout_7.addLayout(self.patch_ios_row)
- self.verticalSpacer_2 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Ignored)
+ self.verticalSpacer_2 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Preferred)
self.verticalLayout_7.addItem(self.verticalSpacer_2)
@@ -338,8 +341,8 @@ class Ui_MainWindow(object):
self.pack_vwii_mode_chkbox = QCheckBox(self.centralwidget)
self.pack_vwii_mode_chkbox.setObjectName(u"pack_vwii_mode_chkbox")
self.pack_vwii_mode_chkbox.setEnabled(False)
- sizePolicy3.setHeightForWidth(self.pack_vwii_mode_chkbox.sizePolicy().hasHeightForWidth())
- self.pack_vwii_mode_chkbox.setSizePolicy(sizePolicy3)
+ sizePolicy4.setHeightForWidth(self.pack_vwii_mode_chkbox.sizePolicy().hasHeightForWidth())
+ self.pack_vwii_mode_chkbox.setSizePolicy(sizePolicy4)
self.pack_vwii_mode_chkbox.setText(u"")
self.pack_vwii_mode_row.addWidget(self.pack_vwii_mode_chkbox)
@@ -358,7 +361,7 @@ class Ui_MainWindow(object):
self.verticalLayout_8.addItem(self.verticalSpacer)
- self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Minimum)
+ self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Policy.MinimumExpanding, QSizePolicy.Policy.Minimum)
self.verticalLayout_8.addItem(self.horizontalSpacer_2)
@@ -380,7 +383,7 @@ class Ui_MainWindow(object):
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QMenuBar(MainWindow)
self.menubar.setObjectName(u"menubar")
- self.menubar.setGeometry(QRect(0, 0, 1010, 30))
+ self.menubar.setGeometry(QRect(0, 0, 1077, 24))
MainWindow.setMenuBar(self.menubar)
self.retranslateUi(MainWindow)
diff --git a/qt/ui/MainMenu.ui b/qt/ui/MainMenu.ui
index 9c1cc4b..09afa9c 100644
--- a/qt/ui/MainMenu.ui
+++ b/qt/ui/MainMenu.ui
@@ -6,21 +6,15 @@
0
0
- 1010
- 625
+ 1077
+ 784
-
-
- 1010
- 625
-
-
-
-
- 1010
- 625
-
+
+
+ 0
+ 0
+
MainWindow
@@ -468,7 +462,7 @@
Qt::Orientation::Vertical
- QSizePolicy::Policy::Ignored
+ QSizePolicy::Policy::Preferred
@@ -565,7 +559,7 @@
Qt::Orientation::Horizontal
- QSizePolicy::Policy::Preferred
+ QSizePolicy::Policy::MinimumExpanding
@@ -608,8 +602,8 @@ p, li { white-space: pre-wrap; }
0
0
- 1010
- 30
+ 1077
+ 24
From f55cb0570369304121cdbe3a47f872f29e76337e Mon Sep 17 00:00:00 2001
From: yeah-its-gloria <32610623+yeah-its-gloria@users.noreply.github.com>
Date: Tue, 22 Oct 2024 09:46:58 +0200
Subject: [PATCH 5/5] Apply UI fixes
---
qt/py/ui_MainMenu.py | 123 ++++++++++++++++++++++++++-----------------
qt/ui/MainMenu.ui | 113 +++++++++++++++++++++++++++++++++------
2 files changed, 172 insertions(+), 64 deletions(-)
mode change 100644 => 100755 qt/ui/MainMenu.ui
diff --git a/qt/py/ui_MainMenu.py b/qt/py/ui_MainMenu.py
index 58e8640..9454195 100644
--- a/qt/py/ui_MainMenu.py
+++ b/qt/py/ui_MainMenu.py
@@ -25,16 +25,14 @@ class Ui_MainWindow(object):
def setupUi(self, MainWindow):
if not MainWindow.objectName():
MainWindow.setObjectName(u"MainWindow")
- MainWindow.resize(1077, 784)
- sizePolicy = QSizePolicy(QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Fixed)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth())
- MainWindow.setSizePolicy(sizePolicy)
+ MainWindow.resize(1010, 625)
+ MainWindow.setMinimumSize(QSize(1010, 625))
+ MainWindow.setMaximumSize(QSize(1010, 625))
self.centralwidget = QWidget(MainWindow)
self.centralwidget.setObjectName(u"centralwidget")
self.horizontalLayout_3 = QHBoxLayout(self.centralwidget)
self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
+ self.horizontalLayout_3.setSizeConstraint(QLayout.SizeConstraint.SetDefaultConstraint)
self.vertical_layout_trees = QVBoxLayout()
self.vertical_layout_trees.setObjectName(u"vertical_layout_trees")
self.label_2 = QLabel(self.centralwidget)
@@ -47,11 +45,11 @@ class Ui_MainWindow(object):
self.platform_tabs = QTabWidget(self.centralwidget)
self.platform_tabs.setObjectName(u"platform_tabs")
- sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Maximum, QSizePolicy.Policy.Expanding)
- sizePolicy1.setHorizontalStretch(0)
- sizePolicy1.setVerticalStretch(0)
- sizePolicy1.setHeightForWidth(self.platform_tabs.sizePolicy().hasHeightForWidth())
- self.platform_tabs.setSizePolicy(sizePolicy1)
+ sizePolicy = QSizePolicy(QSizePolicy.Policy.Maximum, QSizePolicy.Policy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.platform_tabs.sizePolicy().hasHeightForWidth())
+ self.platform_tabs.setSizePolicy(sizePolicy)
self.platform_tabs.setMinimumSize(QSize(410, 0))
self.platform_tabs.setMaximumSize(QSize(410, 16777215))
self.wii_tab = QWidget()
@@ -152,21 +150,21 @@ class Ui_MainWindow(object):
self.horizontalLayout.setObjectName(u"horizontalLayout")
self.download_btn = QPushButton(self.centralwidget)
self.download_btn.setObjectName(u"download_btn")
- sizePolicy2 = QSizePolicy(QSizePolicy.Policy.MinimumExpanding, QSizePolicy.Policy.Fixed)
- sizePolicy2.setHorizontalStretch(0)
- sizePolicy2.setVerticalStretch(0)
- sizePolicy2.setHeightForWidth(self.download_btn.sizePolicy().hasHeightForWidth())
- self.download_btn.setSizePolicy(sizePolicy2)
+ sizePolicy1 = QSizePolicy(QSizePolicy.Policy.MinimumExpanding, QSizePolicy.Policy.Fixed)
+ sizePolicy1.setHorizontalStretch(0)
+ sizePolicy1.setVerticalStretch(0)
+ sizePolicy1.setHeightForWidth(self.download_btn.sizePolicy().hasHeightForWidth())
+ self.download_btn.setSizePolicy(sizePolicy1)
self.horizontalLayout.addWidget(self.download_btn)
self.script_btn = QPushButton(self.centralwidget)
self.script_btn.setObjectName(u"script_btn")
- sizePolicy3 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Fixed)
- sizePolicy3.setHorizontalStretch(0)
- sizePolicy3.setVerticalStretch(0)
- sizePolicy3.setHeightForWidth(self.script_btn.sizePolicy().hasHeightForWidth())
- self.script_btn.setSizePolicy(sizePolicy3)
+ sizePolicy2 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Fixed)
+ sizePolicy2.setHorizontalStretch(0)
+ sizePolicy2.setVerticalStretch(0)
+ sizePolicy2.setHeightForWidth(self.script_btn.sizePolicy().hasHeightForWidth())
+ self.script_btn.setSizePolicy(sizePolicy2)
self.horizontalLayout.addWidget(self.script_btn)
@@ -175,10 +173,11 @@ class Ui_MainWindow(object):
self.horizontalLayout_5 = QHBoxLayout()
self.horizontalLayout_5.setObjectName(u"horizontalLayout_5")
+ self.horizontalLayout_5.setSizeConstraint(QLayout.SizeConstraint.SetMinimumSize)
self.verticalLayout_7 = QVBoxLayout()
- self.verticalLayout_7.setSpacing(10)
+ self.verticalLayout_7.setSpacing(5)
self.verticalLayout_7.setObjectName(u"verticalLayout_7")
- self.verticalLayout_7.setSizeConstraint(QLayout.SizeConstraint.SetNoConstraint)
+ self.verticalLayout_7.setSizeConstraint(QLayout.SizeConstraint.SetMinimumSize)
self.label_3 = QLabel(self.centralwidget)
self.label_3.setObjectName(u"label_3")
self.label_3.setFont(font)
@@ -186,20 +185,26 @@ class Ui_MainWindow(object):
self.verticalLayout_7.addWidget(self.label_3)
self.pack_archive_row = QHBoxLayout()
+ self.pack_archive_row.setSpacing(10)
self.pack_archive_row.setObjectName(u"pack_archive_row")
self.pack_archive_chkbox = QCheckBox(self.centralwidget)
self.pack_archive_chkbox.setObjectName(u"pack_archive_chkbox")
- sizePolicy4 = QSizePolicy(QSizePolicy.Policy.Maximum, QSizePolicy.Policy.Fixed)
- sizePolicy4.setHorizontalStretch(0)
- sizePolicy4.setVerticalStretch(0)
- sizePolicy4.setHeightForWidth(self.pack_archive_chkbox.sizePolicy().hasHeightForWidth())
- self.pack_archive_chkbox.setSizePolicy(sizePolicy4)
+ sizePolicy3 = QSizePolicy(QSizePolicy.Policy.Maximum, QSizePolicy.Policy.Fixed)
+ sizePolicy3.setHorizontalStretch(0)
+ sizePolicy3.setVerticalStretch(0)
+ sizePolicy3.setHeightForWidth(self.pack_archive_chkbox.sizePolicy().hasHeightForWidth())
+ self.pack_archive_chkbox.setSizePolicy(sizePolicy3)
self.pack_archive_chkbox.setText(u"")
self.pack_archive_row.addWidget(self.pack_archive_chkbox)
self.label_7 = QLabel(self.centralwidget)
self.label_7.setObjectName(u"label_7")
+ sizePolicy4 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.MinimumExpanding)
+ sizePolicy4.setHorizontalStretch(0)
+ sizePolicy4.setVerticalStretch(0)
+ sizePolicy4.setHeightForWidth(self.label_7.sizePolicy().hasHeightForWidth())
+ self.label_7.setSizePolicy(sizePolicy4)
self.label_7.setWordWrap(True)
self.pack_archive_row.addWidget(self.label_7)
@@ -214,11 +219,12 @@ class Ui_MainWindow(object):
self.verticalLayout_7.addWidget(self.archive_file_entry)
self.keep_enc_row = QHBoxLayout()
+ self.keep_enc_row.setSpacing(10)
self.keep_enc_row.setObjectName(u"keep_enc_row")
self.keep_enc_chkbox = QCheckBox(self.centralwidget)
self.keep_enc_chkbox.setObjectName(u"keep_enc_chkbox")
- sizePolicy4.setHeightForWidth(self.keep_enc_chkbox.sizePolicy().hasHeightForWidth())
- self.keep_enc_chkbox.setSizePolicy(sizePolicy4)
+ sizePolicy3.setHeightForWidth(self.keep_enc_chkbox.sizePolicy().hasHeightForWidth())
+ self.keep_enc_chkbox.setSizePolicy(sizePolicy3)
self.keep_enc_chkbox.setText(u"")
self.keep_enc_chkbox.setChecked(True)
@@ -226,6 +232,8 @@ class Ui_MainWindow(object):
self.label_6 = QLabel(self.centralwidget)
self.label_6.setObjectName(u"label_6")
+ sizePolicy4.setHeightForWidth(self.label_6.sizePolicy().hasHeightForWidth())
+ self.label_6.setSizePolicy(sizePolicy4)
self.label_6.setWordWrap(True)
self.keep_enc_row.addWidget(self.label_6)
@@ -234,17 +242,20 @@ class Ui_MainWindow(object):
self.verticalLayout_7.addLayout(self.keep_enc_row)
self.create_dec_row = QHBoxLayout()
+ self.create_dec_row.setSpacing(10)
self.create_dec_row.setObjectName(u"create_dec_row")
self.create_dec_chkbox = QCheckBox(self.centralwidget)
self.create_dec_chkbox.setObjectName(u"create_dec_chkbox")
- sizePolicy4.setHeightForWidth(self.create_dec_chkbox.sizePolicy().hasHeightForWidth())
- self.create_dec_chkbox.setSizePolicy(sizePolicy4)
+ sizePolicy3.setHeightForWidth(self.create_dec_chkbox.sizePolicy().hasHeightForWidth())
+ self.create_dec_chkbox.setSizePolicy(sizePolicy3)
self.create_dec_chkbox.setText(u"")
self.create_dec_row.addWidget(self.create_dec_chkbox)
self.create_dec_chkbox_lbl = QLabel(self.centralwidget)
self.create_dec_chkbox_lbl.setObjectName(u"create_dec_chkbox_lbl")
+ sizePolicy4.setHeightForWidth(self.create_dec_chkbox_lbl.sizePolicy().hasHeightForWidth())
+ self.create_dec_chkbox_lbl.setSizePolicy(sizePolicy4)
self.create_dec_chkbox_lbl.setWordWrap(True)
self.create_dec_row.addWidget(self.create_dec_chkbox_lbl)
@@ -253,18 +264,21 @@ class Ui_MainWindow(object):
self.verticalLayout_7.addLayout(self.create_dec_row)
self.use_local_row = QHBoxLayout()
+ self.use_local_row.setSpacing(10)
self.use_local_row.setObjectName(u"use_local_row")
self.use_local_chkbox = QCheckBox(self.centralwidget)
self.use_local_chkbox.setObjectName(u"use_local_chkbox")
self.use_local_chkbox.setEnabled(True)
- sizePolicy4.setHeightForWidth(self.use_local_chkbox.sizePolicy().hasHeightForWidth())
- self.use_local_chkbox.setSizePolicy(sizePolicy4)
+ sizePolicy3.setHeightForWidth(self.use_local_chkbox.sizePolicy().hasHeightForWidth())
+ self.use_local_chkbox.setSizePolicy(sizePolicy3)
self.use_local_chkbox.setText(u"")
self.use_local_row.addWidget(self.use_local_chkbox)
self.use_local_chkbox_lbl = QLabel(self.centralwidget)
self.use_local_chkbox_lbl.setObjectName(u"use_local_chkbox_lbl")
+ sizePolicy4.setHeightForWidth(self.use_local_chkbox_lbl.sizePolicy().hasHeightForWidth())
+ self.use_local_chkbox_lbl.setSizePolicy(sizePolicy4)
self.use_local_chkbox_lbl.setWordWrap(True)
self.use_local_row.addWidget(self.use_local_chkbox_lbl)
@@ -273,14 +287,13 @@ class Ui_MainWindow(object):
self.verticalLayout_7.addLayout(self.use_local_row)
self.use_wiiu_nus_row = QHBoxLayout()
+ self.use_wiiu_nus_row.setSpacing(10)
self.use_wiiu_nus_row.setObjectName(u"use_wiiu_nus_row")
+ self.use_wiiu_nus_row.setSizeConstraint(QLayout.SizeConstraint.SetDefaultConstraint)
self.use_wiiu_nus_chkbox = QCheckBox(self.centralwidget)
self.use_wiiu_nus_chkbox.setObjectName(u"use_wiiu_nus_chkbox")
- sizePolicy5 = QSizePolicy(QSizePolicy.Policy.Maximum, QSizePolicy.Policy.Preferred)
- sizePolicy5.setHorizontalStretch(0)
- sizePolicy5.setVerticalStretch(0)
- sizePolicy5.setHeightForWidth(self.use_wiiu_nus_chkbox.sizePolicy().hasHeightForWidth())
- self.use_wiiu_nus_chkbox.setSizePolicy(sizePolicy5)
+ sizePolicy.setHeightForWidth(self.use_wiiu_nus_chkbox.sizePolicy().hasHeightForWidth())
+ self.use_wiiu_nus_chkbox.setSizePolicy(sizePolicy)
self.use_wiiu_nus_chkbox.setLayoutDirection(Qt.LayoutDirection.LeftToRight)
self.use_wiiu_nus_chkbox.setText(u"")
self.use_wiiu_nus_chkbox.setChecked(True)
@@ -289,6 +302,8 @@ class Ui_MainWindow(object):
self.use_wiiu_nus_chkbox_lbl = QLabel(self.centralwidget)
self.use_wiiu_nus_chkbox_lbl.setObjectName(u"use_wiiu_nus_chkbox_lbl")
+ sizePolicy4.setHeightForWidth(self.use_wiiu_nus_chkbox_lbl.sizePolicy().hasHeightForWidth())
+ self.use_wiiu_nus_chkbox_lbl.setSizePolicy(sizePolicy4)
self.use_wiiu_nus_chkbox_lbl.setWordWrap(True)
self.use_wiiu_nus_row.addWidget(self.use_wiiu_nus_chkbox_lbl)
@@ -297,12 +312,13 @@ class Ui_MainWindow(object):
self.verticalLayout_7.addLayout(self.use_wiiu_nus_row)
self.patch_ios_row = QHBoxLayout()
+ self.patch_ios_row.setSpacing(10)
self.patch_ios_row.setObjectName(u"patch_ios_row")
self.patch_ios_chkbox = QCheckBox(self.centralwidget)
self.patch_ios_chkbox.setObjectName(u"patch_ios_chkbox")
self.patch_ios_chkbox.setEnabled(False)
- sizePolicy4.setHeightForWidth(self.patch_ios_chkbox.sizePolicy().hasHeightForWidth())
- self.patch_ios_chkbox.setSizePolicy(sizePolicy4)
+ sizePolicy3.setHeightForWidth(self.patch_ios_chkbox.sizePolicy().hasHeightForWidth())
+ self.patch_ios_chkbox.setSizePolicy(sizePolicy3)
self.patch_ios_chkbox.setText(u"")
self.patch_ios_row.addWidget(self.patch_ios_chkbox)
@@ -310,6 +326,8 @@ class Ui_MainWindow(object):
self.patch_ios_lbl = QLabel(self.centralwidget)
self.patch_ios_lbl.setObjectName(u"patch_ios_lbl")
self.patch_ios_lbl.setEnabled(True)
+ sizePolicy4.setHeightForWidth(self.patch_ios_lbl.sizePolicy().hasHeightForWidth())
+ self.patch_ios_lbl.setSizePolicy(sizePolicy4)
self.patch_ios_lbl.setWordWrap(True)
self.patch_ios_row.addWidget(self.patch_ios_lbl)
@@ -317,11 +335,11 @@ class Ui_MainWindow(object):
self.verticalLayout_7.addLayout(self.patch_ios_row)
- self.verticalSpacer_2 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Preferred)
+ self.verticalSpacer_2 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Ignored)
self.verticalLayout_7.addItem(self.verticalSpacer_2)
- self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Minimum)
+ self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.MinimumExpanding, QSizePolicy.Policy.Minimum)
self.verticalLayout_7.addItem(self.horizontalSpacer)
@@ -330,6 +348,7 @@ class Ui_MainWindow(object):
self.verticalLayout_8 = QVBoxLayout()
self.verticalLayout_8.setObjectName(u"verticalLayout_8")
+ self.verticalLayout_8.setSizeConstraint(QLayout.SizeConstraint.SetMinimumSize)
self.label_4 = QLabel(self.centralwidget)
self.label_4.setObjectName(u"label_4")
self.label_4.setFont(font)
@@ -341,8 +360,8 @@ class Ui_MainWindow(object):
self.pack_vwii_mode_chkbox = QCheckBox(self.centralwidget)
self.pack_vwii_mode_chkbox.setObjectName(u"pack_vwii_mode_chkbox")
self.pack_vwii_mode_chkbox.setEnabled(False)
- sizePolicy4.setHeightForWidth(self.pack_vwii_mode_chkbox.sizePolicy().hasHeightForWidth())
- self.pack_vwii_mode_chkbox.setSizePolicy(sizePolicy4)
+ sizePolicy3.setHeightForWidth(self.pack_vwii_mode_chkbox.sizePolicy().hasHeightForWidth())
+ self.pack_vwii_mode_chkbox.setSizePolicy(sizePolicy3)
self.pack_vwii_mode_chkbox.setText(u"")
self.pack_vwii_mode_row.addWidget(self.pack_vwii_mode_chkbox)
@@ -350,6 +369,11 @@ class Ui_MainWindow(object):
self.pack_vwii_mode_lbl = QLabel(self.centralwidget)
self.pack_vwii_mode_lbl.setObjectName(u"pack_vwii_mode_lbl")
self.pack_vwii_mode_lbl.setEnabled(True)
+ sizePolicy5 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Preferred)
+ sizePolicy5.setHorizontalStretch(0)
+ sizePolicy5.setVerticalStretch(0)
+ sizePolicy5.setHeightForWidth(self.pack_vwii_mode_lbl.sizePolicy().hasHeightForWidth())
+ self.pack_vwii_mode_lbl.setSizePolicy(sizePolicy5)
self.pack_vwii_mode_lbl.setWordWrap(True)
self.pack_vwii_mode_row.addWidget(self.pack_vwii_mode_lbl)
@@ -357,7 +381,7 @@ class Ui_MainWindow(object):
self.verticalLayout_8.addLayout(self.pack_vwii_mode_row)
- self.verticalSpacer = QSpacerItem(20, 50, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
+ self.verticalSpacer = QSpacerItem(20, 50, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.MinimumExpanding)
self.verticalLayout_8.addItem(self.verticalSpacer)
@@ -383,7 +407,7 @@ class Ui_MainWindow(object):
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QMenuBar(MainWindow)
self.menubar.setObjectName(u"menubar")
- self.menubar.setGeometry(QRect(0, 0, 1077, 24))
+ self.menubar.setGeometry(QRect(0, 0, 1010, 30))
MainWindow.setMenuBar(self.menubar)
self.retranslateUi(MainWindow)
@@ -421,8 +445,11 @@ class Ui_MainWindow(object):
self.pack_vwii_mode_lbl.setText(QCoreApplication.translate("MainWindow", u"Re-encrypt title using the Wii Common Key", None))
self.log_text_browser.setMarkdown("")
self.log_text_browser.setHtml(QCoreApplication.translate("MainWindow", u"\n"
-"\n"
"
", None))
# retranslateUi
diff --git a/qt/ui/MainMenu.ui b/qt/ui/MainMenu.ui
old mode 100644
new mode 100755
index 09afa9c..8b900c7
--- a/qt/ui/MainMenu.ui
+++ b/qt/ui/MainMenu.ui
@@ -6,21 +6,30 @@
0
0
- 1077
- 784
+ 1010
+ 625
-
-
- 0
- 0
-
+
+
+ 1010
+ 625
+
+
+
+
+ 1010
+ 625
+
MainWindow
+
+ QLayout::SizeConstraint::SetDefaultConstraint
+
-
-
@@ -246,13 +255,16 @@
-
+
+ QLayout::SizeConstraint::SetMinimumSize
+
-
- 10
+ 5
- QLayout::SizeConstraint::SetNoConstraint
+ QLayout::SizeConstraint::SetMinimumSize
-
@@ -268,6 +280,9 @@
-
+
+ 10
+
-
@@ -283,6 +298,12 @@
-
+
+
+ 0
+ 0
+
+
Pack installable archive (WAD/TAD)
@@ -305,6 +326,9 @@
-
+
+ 10
+
-
@@ -323,6 +347,12 @@
-
+
+
+ 0
+ 0
+
+
Keep encrypted contents
@@ -335,6 +365,9 @@
-
+
+ 10
+
-
@@ -350,6 +383,12 @@
-
+
+
+ 0
+ 0
+
+
Create decrypted contents (*.app)
@@ -362,6 +401,9 @@
-
+
+ 10
+
-
@@ -380,6 +422,12 @@
-
+
+
+ 0
+ 0
+
+
Use local files, if they exist
@@ -392,10 +440,16 @@
-
+
+ 10
+
+
+ QLayout::SizeConstraint::SetDefaultConstraint
+
-
-
+
0
0
@@ -413,6 +467,12 @@
-
+
+
+ 0
+ 0
+
+
Use the Wii U NUS (faster, only effects Wii/vWii)
@@ -425,6 +485,9 @@
-
+
+ 10
+
-
@@ -446,6 +509,12 @@
true
+
+
+ 0
+ 0
+
+
Apply patches to IOS (Applies to WADs only)
@@ -462,7 +531,7 @@
Qt::Orientation::Vertical
- QSizePolicy::Policy::Preferred
+ QSizePolicy::Policy::Ignored
@@ -478,7 +547,7 @@
Qt::Orientation::Horizontal
- QSizePolicy::Policy::Preferred
+ QSizePolicy::Policy::MinimumExpanding
@@ -492,6 +561,9 @@
-
+
+ QLayout::SizeConstraint::SetMinimumSize
+
-
@@ -527,6 +599,12 @@
true
+
+
+ 0
+ 0
+
+
Re-encrypt title using the Wii Common Key
@@ -543,7 +621,7 @@
Qt::Orientation::Vertical
- QSizePolicy::Policy::Expanding
+ QSizePolicy::Policy::MinimumExpanding
@@ -586,8 +664,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
p, li { white-space: pre-wrap; }
+hr { height: 1px; border-width: 0; }
+li.unchecked::marker { content: "\2610"; }
+li.checked::marker { content: "\2612"; }
</style></head><body style=" font-family:'Noto Sans'; font-size:10pt; font-weight:400; font-style:normal;">
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;"><br /></p></body></html>
@@ -602,8 +683,8 @@ p, li { white-space: pre-wrap; }
0
0
- 1077
- 24
+ 1010
+ 30