diff --git a/gui/main_window.py b/gui/main_window.py
index 7314f8c..0e88d9d 100644
--- a/gui/main_window.py
+++ b/gui/main_window.py
@@ -116,6 +116,9 @@ class MainWindow(QtWidgets.QMainWindow):
## RISKY OPTIONS PAGE ACTIONS
self.ui.disableOTAChk.toggled.connect(self.on_disableOTAChk_clicked)
+ self.ui.enableResolutionChk.toggled.connect(self.on_enableResolutionChk_clicked)
+ self.ui.resHeightTxt.textEdited.connect(self.on_resHeightTxt_textEdited)
+ self.ui.resWidthTxt.textEdited.connect(self.on_resWidthTxt_textEdited)
## APPLY PAGE ACTIONS
self.ui.applyTweaksBtn.clicked.connect(self.on_applyPageBtn_clicked)
@@ -159,6 +162,9 @@ class MainWindow(QtWidgets.QMainWindow):
self.ui.addGestaltKeyBtn.clicked.connect(self.on_addGestaltKeyBtn_clicked)
self.ui.aiEnablerContent.hide()
+ self.ui.resChangerContent.hide()
+ self.ui.resHeightWarningLbl.hide()
+ self.ui.resWidthWarningLbl.hide()
## GENERAL INTERFACE FUNCTIONS
@@ -678,6 +684,38 @@ class MainWindow(QtWidgets.QMainWindow):
def on_disableOTAChk_clicked(self, checked: bool):
tweaks["DisableOTA"].set_enabled(checked)
+ def on_enableResolutionChk_clicked(self, checked: bool):
+ tweaks["CustomResolution"].set_enabled(checked)
+ # toggle the ui content
+ if checked:
+ self.ui.resChangerContent.show()
+ else:
+ self.ui.resChangerContent.hide()
+ def on_resHeightTxt_textEdited(self, txt: str):
+ if txt == "":
+ # remove the canvas_height value
+ tweaks["CustomResolution"].value.pop("canvas_height", None)
+ self.ui.resHeightWarningLbl.hide()
+ return
+ try:
+ val = int(txt)
+ tweaks["CustomResolution"].value["canvas_height"] = val
+ self.ui.resHeightWarningLbl.hide()
+ except:
+ self.ui.resHeightWarningLbl.show()
+ def on_resWidthTxt_textEdited(self, txt: str):
+ if txt == "":
+ # remove the canvas_width value
+ tweaks["CustomResolution"].value.pop("canvas_width", None)
+ self.ui.resWidthWarningLbl.hide()
+ return
+ try:
+ val = int(txt)
+ tweaks["CustomResolution"].value["canvas_width"] = val
+ self.ui.resWidthWarningLbl.hide()
+ except:
+ self.ui.resWidthWarningLbl.show()
+
## SETTINGS PAGE
def on_allowWifiApplyingChk_toggled(self, checked: bool):
diff --git a/qt/mainwindow.ui b/qt/mainwindow.ui
index 7097342..0f9fad2 100644
--- a/qt/mainwindow.ui
+++ b/qt/mainwindow.ui
@@ -3686,7 +3686,7 @@ QComboBox QAbstractItemView::item:hover {
-
- false
+ true
@@ -3758,45 +3758,135 @@ Nugget is not responsible if you mess up your device, especially with resolution
-
-
-
- 10
+
+
+ true
-
-
-
-
- false
-
-
- Height:
-
-
-
- -
-
-
- false
-
-
- Resolution Height
-
-
-
- -
-
-
- Width:
-
-
-
- -
-
-
- Resolution Width
-
-
-
-
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+ -
+
+
+ false
+
+
+ Height:
+
+
+
+ -
+
+
+ 5
+
+
-
+
+
+ true
+
+
+ Resolution Height
+
+
+
+ -
+
+
+
+ 22
+ 0
+
+
+
+ QLabel {
+ border: 2px solid red;
+ border-radius: 25px;
+ color: red;
+}
+
+
+ QFrame::NoFrame
+
+
+ QFrame::Plain
+
+
+ !
+
+
+ false
+
+
+ Qt::AlignCenter
+
+
+
+
+
+ -
+
+
+ Width:
+
+
+
+ -
+
+
+ 0
+
+
-
+
+
+ 5
+
+
-
+
+
+ Resolution Width
+
+
+
+ -
+
+
+
+ 22
+ 0
+
+
+
+ QLabel {
+ border: 2px solid red;
+ border-radius: 25px;
+ color: red;
+}
+
+
+ !
+
+
+ Qt::AlignCenter
+
+
+
+
+
+
+
+
+
-
diff --git a/qt/mainwindow_ui.py b/qt/mainwindow_ui.py
index d15c1a5..8ebf9df 100644
--- a/qt/mainwindow_ui.py
+++ b/qt/mainwindow_ui.py
@@ -1968,7 +1968,7 @@ class Ui_Nugget(object):
self.advancedOptionsPageContent = QWidget(self.advancedOptionsPage)
self.advancedOptionsPageContent.setObjectName(u"advancedOptionsPageContent")
- self.advancedOptionsPageContent.setEnabled(False)
+ self.advancedOptionsPageContent.setEnabled(True)
self.verticalLayout_132 = QVBoxLayout(self.advancedOptionsPageContent)
self.verticalLayout_132.setObjectName(u"verticalLayout_132")
self.verticalLayout_132.setContentsMargins(0, 0, 0, 0)
@@ -2007,33 +2007,81 @@ class Ui_Nugget(object):
self.verticalLayout_132.addWidget(self.enableResolutionChk)
- self.resolutionContent = QVBoxLayout()
- self.resolutionContent.setObjectName(u"resolutionContent")
- self.resolutionContent.setContentsMargins(-1, -1, -1, 10)
- self.resHeightLbl = QLabel(self.advancedOptionsPageContent)
+ self.resChangerContent = QWidget(self.advancedOptionsPageContent)
+ self.resChangerContent.setObjectName(u"resChangerContent")
+ self.resChangerContent.setEnabled(True)
+ self.verticalLayout_35 = QVBoxLayout(self.resChangerContent)
+ self.verticalLayout_35.setObjectName(u"verticalLayout_35")
+ self.verticalLayout_35.setContentsMargins(0, 0, 0, 0)
+ self.resHeightLbl = QLabel(self.resChangerContent)
self.resHeightLbl.setObjectName(u"resHeightLbl")
self.resHeightLbl.setEnabled(False)
- self.resolutionContent.addWidget(self.resHeightLbl)
+ self.verticalLayout_35.addWidget(self.resHeightLbl)
- self.resHeightTxt = QLineEdit(self.advancedOptionsPageContent)
+ self.horizontalLayout_9 = QHBoxLayout()
+ self.horizontalLayout_9.setObjectName(u"horizontalLayout_9")
+ self.horizontalLayout_9.setContentsMargins(-1, -1, -1, 5)
+ self.resHeightTxt = QLineEdit(self.resChangerContent)
self.resHeightTxt.setObjectName(u"resHeightTxt")
- self.resHeightTxt.setEnabled(False)
+ self.resHeightTxt.setEnabled(True)
- self.resolutionContent.addWidget(self.resHeightTxt)
+ self.horizontalLayout_9.addWidget(self.resHeightTxt)
- self.resWidthLbl = QLabel(self.advancedOptionsPageContent)
+ self.resHeightWarningLbl = QLabel(self.resChangerContent)
+ self.resHeightWarningLbl.setObjectName(u"resHeightWarningLbl")
+ self.resHeightWarningLbl.setMinimumSize(QSize(22, 0))
+ self.resHeightWarningLbl.setStyleSheet(u"QLabel {\n"
+" border: 2px solid red;\n"
+" border-radius: 25px;\n"
+" color: red;\n"
+"}")
+ self.resHeightWarningLbl.setFrameShape(QFrame.NoFrame)
+ self.resHeightWarningLbl.setFrameShadow(QFrame.Plain)
+ self.resHeightWarningLbl.setScaledContents(False)
+ self.resHeightWarningLbl.setAlignment(Qt.AlignCenter)
+
+ self.horizontalLayout_9.addWidget(self.resHeightWarningLbl)
+
+
+ self.verticalLayout_35.addLayout(self.horizontalLayout_9)
+
+ self.resWidthLbl = QLabel(self.resChangerContent)
self.resWidthLbl.setObjectName(u"resWidthLbl")
- self.resolutionContent.addWidget(self.resWidthLbl)
+ self.verticalLayout_35.addWidget(self.resWidthLbl)
- self.resWidthTxt = QLineEdit(self.advancedOptionsPageContent)
+ self.resolutionContent = QVBoxLayout()
+ self.resolutionContent.setObjectName(u"resolutionContent")
+ self.resolutionContent.setContentsMargins(-1, -1, -1, 0)
+ self.horizontalLayout_10 = QHBoxLayout()
+ self.horizontalLayout_10.setObjectName(u"horizontalLayout_10")
+ self.horizontalLayout_10.setContentsMargins(-1, -1, -1, 5)
+ self.resWidthTxt = QLineEdit(self.resChangerContent)
self.resWidthTxt.setObjectName(u"resWidthTxt")
- self.resolutionContent.addWidget(self.resWidthTxt)
+ self.horizontalLayout_10.addWidget(self.resWidthTxt)
+
+ self.resWidthWarningLbl = QLabel(self.resChangerContent)
+ self.resWidthWarningLbl.setObjectName(u"resWidthWarningLbl")
+ self.resWidthWarningLbl.setMinimumSize(QSize(22, 0))
+ self.resWidthWarningLbl.setStyleSheet(u"QLabel {\n"
+" border: 2px solid red;\n"
+" border-radius: 25px;\n"
+" color: red;\n"
+"}")
+ self.resWidthWarningLbl.setAlignment(Qt.AlignCenter)
+
+ self.horizontalLayout_10.addWidget(self.resWidthWarningLbl)
- self.verticalLayout_132.addLayout(self.resolutionContent)
+ self.resolutionContent.addLayout(self.horizontalLayout_10)
+
+
+ self.verticalLayout_35.addLayout(self.resolutionContent)
+
+
+ self.verticalLayout_132.addWidget(self.resChangerContent)
self.verticalSpacer_62 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
@@ -3046,8 +3094,10 @@ class Ui_Nugget(object):
self.enableResolutionChk.setText(QCoreApplication.translate("Nugget", u"Set a Custom Device Resolution", None))
self.resHeightLbl.setText(QCoreApplication.translate("Nugget", u"Height:", None))
self.resHeightTxt.setPlaceholderText(QCoreApplication.translate("Nugget", u"Resolution Height", None))
+ self.resHeightWarningLbl.setText(QCoreApplication.translate("Nugget", u"!", None))
self.resWidthLbl.setText(QCoreApplication.translate("Nugget", u"Width:", None))
self.resWidthTxt.setPlaceholderText(QCoreApplication.translate("Nugget", u"Resolution Width", None))
+ self.resWidthWarningLbl.setText(QCoreApplication.translate("Nugget", u"!", None))
self.statusBarLbl_5.setText(QCoreApplication.translate("Nugget", u"Apply", None))
self.label_16.setText("")
self.modifiedTweaksLbl.setText(QCoreApplication.translate("Nugget", u"Current gestalt file location:", None))
diff --git a/qt/ui_mainwindow.py b/qt/ui_mainwindow.py
index 1cb5769..9fe90be 100644
--- a/qt/ui_mainwindow.py
+++ b/qt/ui_mainwindow.py
@@ -1968,7 +1968,7 @@ class Ui_Nugget(object):
self.advancedOptionsPageContent = QWidget(self.advancedOptionsPage)
self.advancedOptionsPageContent.setObjectName(u"advancedOptionsPageContent")
- self.advancedOptionsPageContent.setEnabled(False)
+ self.advancedOptionsPageContent.setEnabled(True)
self.verticalLayout_132 = QVBoxLayout(self.advancedOptionsPageContent)
self.verticalLayout_132.setObjectName(u"verticalLayout_132")
self.verticalLayout_132.setContentsMargins(0, 0, 0, 0)
@@ -2007,33 +2007,81 @@ class Ui_Nugget(object):
self.verticalLayout_132.addWidget(self.enableResolutionChk)
- self.resolutionContent = QVBoxLayout()
- self.resolutionContent.setObjectName(u"resolutionContent")
- self.resolutionContent.setContentsMargins(-1, -1, -1, 10)
- self.resHeightLbl = QLabel(self.advancedOptionsPageContent)
+ self.resChangerContent = QWidget(self.advancedOptionsPageContent)
+ self.resChangerContent.setObjectName(u"resChangerContent")
+ self.resChangerContent.setEnabled(True)
+ self.verticalLayout_35 = QVBoxLayout(self.resChangerContent)
+ self.verticalLayout_35.setObjectName(u"verticalLayout_35")
+ self.verticalLayout_35.setContentsMargins(0, 0, 0, 0)
+ self.resHeightLbl = QLabel(self.resChangerContent)
self.resHeightLbl.setObjectName(u"resHeightLbl")
self.resHeightLbl.setEnabled(False)
- self.resolutionContent.addWidget(self.resHeightLbl)
+ self.verticalLayout_35.addWidget(self.resHeightLbl)
- self.resHeightTxt = QLineEdit(self.advancedOptionsPageContent)
+ self.horizontalLayout_9 = QHBoxLayout()
+ self.horizontalLayout_9.setObjectName(u"horizontalLayout_9")
+ self.horizontalLayout_9.setContentsMargins(-1, -1, -1, 5)
+ self.resHeightTxt = QLineEdit(self.resChangerContent)
self.resHeightTxt.setObjectName(u"resHeightTxt")
- self.resHeightTxt.setEnabled(False)
+ self.resHeightTxt.setEnabled(True)
- self.resolutionContent.addWidget(self.resHeightTxt)
+ self.horizontalLayout_9.addWidget(self.resHeightTxt)
- self.resWidthLbl = QLabel(self.advancedOptionsPageContent)
+ self.resHeightWarningLbl = QLabel(self.resChangerContent)
+ self.resHeightWarningLbl.setObjectName(u"resHeightWarningLbl")
+ self.resHeightWarningLbl.setMinimumSize(QSize(22, 0))
+ self.resHeightWarningLbl.setStyleSheet(u"QLabel {\n"
+" border: 2px solid red;\n"
+" border-radius: 25px;\n"
+" color: red;\n"
+"}")
+ self.resHeightWarningLbl.setFrameShape(QFrame.NoFrame)
+ self.resHeightWarningLbl.setFrameShadow(QFrame.Plain)
+ self.resHeightWarningLbl.setScaledContents(False)
+ self.resHeightWarningLbl.setAlignment(Qt.AlignCenter)
+
+ self.horizontalLayout_9.addWidget(self.resHeightWarningLbl)
+
+
+ self.verticalLayout_35.addLayout(self.horizontalLayout_9)
+
+ self.resWidthLbl = QLabel(self.resChangerContent)
self.resWidthLbl.setObjectName(u"resWidthLbl")
- self.resolutionContent.addWidget(self.resWidthLbl)
+ self.verticalLayout_35.addWidget(self.resWidthLbl)
- self.resWidthTxt = QLineEdit(self.advancedOptionsPageContent)
+ self.resolutionContent = QVBoxLayout()
+ self.resolutionContent.setObjectName(u"resolutionContent")
+ self.resolutionContent.setContentsMargins(-1, -1, -1, 0)
+ self.horizontalLayout_10 = QHBoxLayout()
+ self.horizontalLayout_10.setObjectName(u"horizontalLayout_10")
+ self.horizontalLayout_10.setContentsMargins(-1, -1, -1, 5)
+ self.resWidthTxt = QLineEdit(self.resChangerContent)
self.resWidthTxt.setObjectName(u"resWidthTxt")
- self.resolutionContent.addWidget(self.resWidthTxt)
+ self.horizontalLayout_10.addWidget(self.resWidthTxt)
+
+ self.resWidthWarningLbl = QLabel(self.resChangerContent)
+ self.resWidthWarningLbl.setObjectName(u"resWidthWarningLbl")
+ self.resWidthWarningLbl.setMinimumSize(QSize(22, 0))
+ self.resWidthWarningLbl.setStyleSheet(u"QLabel {\n"
+" border: 2px solid red;\n"
+" border-radius: 25px;\n"
+" color: red;\n"
+"}")
+ self.resWidthWarningLbl.setAlignment(Qt.AlignCenter)
+
+ self.horizontalLayout_10.addWidget(self.resWidthWarningLbl)
- self.verticalLayout_132.addLayout(self.resolutionContent)
+ self.resolutionContent.addLayout(self.horizontalLayout_10)
+
+
+ self.verticalLayout_35.addLayout(self.resolutionContent)
+
+
+ self.verticalLayout_132.addWidget(self.resChangerContent)
self.verticalSpacer_62 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
@@ -3046,8 +3094,10 @@ class Ui_Nugget(object):
self.enableResolutionChk.setText(QCoreApplication.translate("Nugget", u"Set a Custom Device Resolution", None))
self.resHeightLbl.setText(QCoreApplication.translate("Nugget", u"Height:", None))
self.resHeightTxt.setPlaceholderText(QCoreApplication.translate("Nugget", u"Resolution Height", None))
+ self.resHeightWarningLbl.setText(QCoreApplication.translate("Nugget", u"!", None))
self.resWidthLbl.setText(QCoreApplication.translate("Nugget", u"Width:", None))
self.resWidthTxt.setPlaceholderText(QCoreApplication.translate("Nugget", u"Resolution Width", None))
+ self.resWidthWarningLbl.setText(QCoreApplication.translate("Nugget", u"!", None))
self.statusBarLbl_5.setText(QCoreApplication.translate("Nugget", u"Apply", None))
self.label_16.setText("")
self.modifiedTweaksLbl.setText(QCoreApplication.translate("Nugget", u"Current gestalt file location:", None))
diff --git a/tweaks/tweaks.py b/tweaks/tweaks.py
index b5a35c8..3882f6d 100644
--- a/tweaks/tweaks.py
+++ b/tweaks/tweaks.py
@@ -281,6 +281,12 @@ tweaks = {
"MobileAssetServerURL-com.apple.MobileAsset.RecoveryOSUpdateBrain": "https://mesu.apple.com/assets/tvOS16DeveloperSeed",
"MobileAssetServerURL-com.apple.MobileAsset.SoftwareUpdate": "https://mesu.apple.com/assets/tvOS16DeveloperSeed",
"MobileAssetAssetAudience": "65254ac3-f331-4c19-8559-cbe22f5bc1a6"
- }
+ }, is_risky=True
+ ),
+ "CustomResolution": AdvancedPlistTweak(
+ "Set Custom Resolution real",
+ FileLocation.resolution,
+ {}, # empty as to not cause issues when only 1 value is inputted
+ is_risky=True
)
}
\ No newline at end of file