hide eu on ios 18 + improve min version code

This commit is contained in:
leminlimez
2024-10-25 13:50:01 -04:00
parent 98de30aa46
commit c6a431a669
4 changed files with 168 additions and 108 deletions

View File

@@ -221,6 +221,15 @@ class MainWindow(QtWidgets.QMainWindow):
self.device_manager.set_current_device(index=index) self.device_manager.set_current_device(index=index)
# hide options that are for newer versions # hide options that are for newer versions
# remove the new dynamic island options # remove the new dynamic island options
MinTweakVersions = {
"exploit": [("18.0", self.ui.featureFlagsPageBtn)],
"18.1": [self.ui.enableAIChk, self.ui.aiEnablerContent],
"18.0": [self.ui.aodChk, self.ui.iphone16SettingsChk]
}
MaxTweakVersions = {
"17.7": [self.ui.euEnablerContent]
}
try: try:
self.ui.dynamicIslandDrp.removeItem(6) self.ui.dynamicIslandDrp.removeItem(6)
self.ui.dynamicIslandDrp.removeItem(5) self.ui.dynamicIslandDrp.removeItem(5)
@@ -232,24 +241,41 @@ class MainWindow(QtWidgets.QMainWindow):
else: else:
self.ui.rdarFixChk.show() self.ui.rdarFixChk.show()
self.ui.rdarFixChk.setText(f"{rdar_title} (modifies resolution)") self.ui.rdarFixChk.setText(f"{rdar_title} (modifies resolution)")
if Version(self.device_manager.data_singleton.current_device.version) >= Version("18.1"): device_ver = Version(self.device_manager.data_singleton.current_device.version)
self.ui.enableAIChk.show() # toggle option visibility for the minimum versions
self.ui.aiEnablerContent.hide() for version in MinTweakVersions.keys():
if version == "exploit":
# disable if the exploit is not available
for pair in MinTweakVersions[version]:
if self.device_manager.data_singleton.current_device.has_exploit() and device_ver >= Version(pair[0]):
pair[1].show()
else: else:
self.ui.enableAIChk.hide() pair[1].hide()
self.ui.aiEnablerContent.hide() else:
if Version(self.device_manager.data_singleton.current_device.version) >= Version("18.0"): # show views if the version is higher
self.ui.aodChk.show() parsed_ver = Version(version)
self.ui.iphone16SettingsChk.show() for view in MinTweakVersions[version]:
if self.device_manager.data_singleton.current_device.has_exploit(): if device_ver >= parsed_ver:
self.ui.featureFlagsPageBtn.show() view.show()
else:
view.hide()
# toggle option visibility for the max versions
for version in MaxTweakVersions.keys():
parsed_ver = Version(version)
for view in MaxTweakVersions[version]:
if device_ver <= parsed_ver:
view.show()
else:
view.hide()
if device_ver >= Version("18.0"):
# show the other dynamic island options # show the other dynamic island options
self.ui.dynamicIslandDrp.addItem("2622 (iPhone 16 Pro Dynamic Island)") self.ui.dynamicIslandDrp.addItem("2622 (iPhone 16 Pro Dynamic Island)")
self.ui.dynamicIslandDrp.addItem("2868 (iPhone 16 Pro Max Dynamic Island)") self.ui.dynamicIslandDrp.addItem("2868 (iPhone 16 Pro Max Dynamic Island)")
# eligibility page button
if device_ver >= Version("17.4") and (device_ver <= Version("17.7") or device_ver >= Version("18.1")):
self.ui.euEnablerPageBtn.show()
else: else:
self.ui.aodChk.hide() self.ui.euEnablerPageBtn.hide()
self.ui.iphone16SettingsChk.hide()
self.ui.featureFlagsPageBtn.hide()
else: else:
self.device_manager.set_current_device(index=None) self.device_manager.set_current_device(index=None)

View File

@@ -2510,13 +2510,6 @@ what you are doing.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QCheckBox" name="euEnablerEnabledChk">
<property name="text">
<string>Enable EU Enabler</string>
</property>
</widget>
</item>
<item> <item>
<widget class="QWidget" name="euEnablerPageContent" native="true"> <widget class="QWidget" name="euEnablerPageContent" native="true">
<property name="enabled"> <property name="enabled">
@@ -2535,6 +2528,28 @@ what you are doing.</string>
<property name="bottomMargin"> <property name="bottomMargin">
<number>0</number> <number>0</number>
</property> </property>
<item>
<widget class="QWidget" name="euEnablerContent" native="true">
<layout class="QVBoxLayout" name="verticalLayout_36">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QCheckBox" name="euEnablerEnabledChk">
<property name="text">
<string>Enable EU Enabler</string>
</property>
</widget>
</item>
<item> <item>
<widget class="QLabel" name="label_5"> <widget class="QLabel" name="label_5">
<property name="text"> <property name="text">
@@ -2628,6 +2643,9 @@ QComboBox QAbstractItemView::item:hover {
</property> </property>
</widget> </widget>
</item> </item>
</layout>
</widget>
</item>
<item> <item>
<widget class="QCheckBox" name="enableAIChk"> <widget class="QCheckBox" name="enableAIChk">
<property name="text"> <property name="text">

View File

@@ -1374,23 +1374,28 @@ class Ui_Nugget(object):
self.verticalLayout_17.addWidget(self.line_13) self.verticalLayout_17.addWidget(self.line_13)
self.euEnablerEnabledChk = QCheckBox(self.euEnablerPage)
self.euEnablerEnabledChk.setObjectName(u"euEnablerEnabledChk")
self.verticalLayout_17.addWidget(self.euEnablerEnabledChk)
self.euEnablerPageContent = QWidget(self.euEnablerPage) self.euEnablerPageContent = QWidget(self.euEnablerPage)
self.euEnablerPageContent.setObjectName(u"euEnablerPageContent") self.euEnablerPageContent.setObjectName(u"euEnablerPageContent")
self.euEnablerPageContent.setEnabled(False) self.euEnablerPageContent.setEnabled(False)
self.verticalLayout_16 = QVBoxLayout(self.euEnablerPageContent) self.verticalLayout_16 = QVBoxLayout(self.euEnablerPageContent)
self.verticalLayout_16.setObjectName(u"verticalLayout_16") self.verticalLayout_16.setObjectName(u"verticalLayout_16")
self.verticalLayout_16.setContentsMargins(0, 0, 0, 0) self.verticalLayout_16.setContentsMargins(0, 0, 0, 0)
self.label_5 = QLabel(self.euEnablerPageContent) self.euEnablerContent = QWidget(self.euEnablerPageContent)
self.euEnablerContent.setObjectName(u"euEnablerContent")
self.verticalLayout_36 = QVBoxLayout(self.euEnablerContent)
self.verticalLayout_36.setObjectName(u"verticalLayout_36")
self.verticalLayout_36.setContentsMargins(0, 0, 0, 0)
self.euEnablerEnabledChk = QCheckBox(self.euEnablerContent)
self.euEnablerEnabledChk.setObjectName(u"euEnablerEnabledChk")
self.verticalLayout_36.addWidget(self.euEnablerEnabledChk)
self.label_5 = QLabel(self.euEnablerContent)
self.label_5.setObjectName(u"label_5") self.label_5.setObjectName(u"label_5")
self.verticalLayout_16.addWidget(self.label_5) self.verticalLayout_36.addWidget(self.label_5)
self.methodChoiceDrp = QComboBox(self.euEnablerPageContent) self.methodChoiceDrp = QComboBox(self.euEnablerContent)
self.methodChoiceDrp.addItem("") self.methodChoiceDrp.addItem("")
self.methodChoiceDrp.addItem("") self.methodChoiceDrp.addItem("")
self.methodChoiceDrp.setObjectName(u"methodChoiceDrp") self.methodChoiceDrp.setObjectName(u"methodChoiceDrp")
@@ -1428,19 +1433,19 @@ class Ui_Nugget(object):
" color: #ffffff;\n" " color: #ffffff;\n"
"}") "}")
self.verticalLayout_16.addWidget(self.methodChoiceDrp) self.verticalLayout_36.addWidget(self.methodChoiceDrp)
self.label_6 = QLabel(self.euEnablerPageContent) self.label_6 = QLabel(self.euEnablerContent)
self.label_6.setObjectName(u"label_6") self.label_6.setObjectName(u"label_6")
self.verticalLayout_16.addWidget(self.label_6) self.verticalLayout_36.addWidget(self.label_6)
self.regionCodeTxt = QLineEdit(self.euEnablerPageContent) self.regionCodeTxt = QLineEdit(self.euEnablerContent)
self.regionCodeTxt.setObjectName(u"regionCodeTxt") self.regionCodeTxt.setObjectName(u"regionCodeTxt")
self.verticalLayout_16.addWidget(self.regionCodeTxt) self.verticalLayout_36.addWidget(self.regionCodeTxt)
self.line_16 = QFrame(self.euEnablerPageContent) self.line_16 = QFrame(self.euEnablerContent)
self.line_16.setObjectName(u"line_16") self.line_16.setObjectName(u"line_16")
self.line_16.setEnabled(False) self.line_16.setEnabled(False)
self.line_16.setStyleSheet(u"QFrame {\n" self.line_16.setStyleSheet(u"QFrame {\n"
@@ -1449,7 +1454,10 @@ class Ui_Nugget(object):
self.line_16.setFrameShadow(QFrame.Plain) self.line_16.setFrameShadow(QFrame.Plain)
self.line_16.setFrameShape(QFrame.HLine) self.line_16.setFrameShape(QFrame.HLine)
self.verticalLayout_16.addWidget(self.line_16) self.verticalLayout_36.addWidget(self.line_16)
self.verticalLayout_16.addWidget(self.euEnablerContent)
self.enableAIChk = QCheckBox(self.euEnablerPageContent) self.enableAIChk = QCheckBox(self.euEnablerPageContent)
self.enableAIChk.setObjectName(u"enableAIChk") self.enableAIChk.setObjectName(u"enableAIChk")

View File

@@ -1374,23 +1374,28 @@ class Ui_Nugget(object):
self.verticalLayout_17.addWidget(self.line_13) self.verticalLayout_17.addWidget(self.line_13)
self.euEnablerEnabledChk = QCheckBox(self.euEnablerPage)
self.euEnablerEnabledChk.setObjectName(u"euEnablerEnabledChk")
self.verticalLayout_17.addWidget(self.euEnablerEnabledChk)
self.euEnablerPageContent = QWidget(self.euEnablerPage) self.euEnablerPageContent = QWidget(self.euEnablerPage)
self.euEnablerPageContent.setObjectName(u"euEnablerPageContent") self.euEnablerPageContent.setObjectName(u"euEnablerPageContent")
self.euEnablerPageContent.setEnabled(False) self.euEnablerPageContent.setEnabled(False)
self.verticalLayout_16 = QVBoxLayout(self.euEnablerPageContent) self.verticalLayout_16 = QVBoxLayout(self.euEnablerPageContent)
self.verticalLayout_16.setObjectName(u"verticalLayout_16") self.verticalLayout_16.setObjectName(u"verticalLayout_16")
self.verticalLayout_16.setContentsMargins(0, 0, 0, 0) self.verticalLayout_16.setContentsMargins(0, 0, 0, 0)
self.label_5 = QLabel(self.euEnablerPageContent) self.euEnablerContent = QWidget(self.euEnablerPageContent)
self.euEnablerContent.setObjectName(u"euEnablerContent")
self.verticalLayout_36 = QVBoxLayout(self.euEnablerContent)
self.verticalLayout_36.setObjectName(u"verticalLayout_36")
self.verticalLayout_36.setContentsMargins(0, 0, 0, 0)
self.euEnablerEnabledChk = QCheckBox(self.euEnablerContent)
self.euEnablerEnabledChk.setObjectName(u"euEnablerEnabledChk")
self.verticalLayout_36.addWidget(self.euEnablerEnabledChk)
self.label_5 = QLabel(self.euEnablerContent)
self.label_5.setObjectName(u"label_5") self.label_5.setObjectName(u"label_5")
self.verticalLayout_16.addWidget(self.label_5) self.verticalLayout_36.addWidget(self.label_5)
self.methodChoiceDrp = QComboBox(self.euEnablerPageContent) self.methodChoiceDrp = QComboBox(self.euEnablerContent)
self.methodChoiceDrp.addItem("") self.methodChoiceDrp.addItem("")
self.methodChoiceDrp.addItem("") self.methodChoiceDrp.addItem("")
self.methodChoiceDrp.setObjectName(u"methodChoiceDrp") self.methodChoiceDrp.setObjectName(u"methodChoiceDrp")
@@ -1428,19 +1433,19 @@ class Ui_Nugget(object):
" color: #ffffff;\n" " color: #ffffff;\n"
"}") "}")
self.verticalLayout_16.addWidget(self.methodChoiceDrp) self.verticalLayout_36.addWidget(self.methodChoiceDrp)
self.label_6 = QLabel(self.euEnablerPageContent) self.label_6 = QLabel(self.euEnablerContent)
self.label_6.setObjectName(u"label_6") self.label_6.setObjectName(u"label_6")
self.verticalLayout_16.addWidget(self.label_6) self.verticalLayout_36.addWidget(self.label_6)
self.regionCodeTxt = QLineEdit(self.euEnablerPageContent) self.regionCodeTxt = QLineEdit(self.euEnablerContent)
self.regionCodeTxt.setObjectName(u"regionCodeTxt") self.regionCodeTxt.setObjectName(u"regionCodeTxt")
self.verticalLayout_16.addWidget(self.regionCodeTxt) self.verticalLayout_36.addWidget(self.regionCodeTxt)
self.line_16 = QFrame(self.euEnablerPageContent) self.line_16 = QFrame(self.euEnablerContent)
self.line_16.setObjectName(u"line_16") self.line_16.setObjectName(u"line_16")
self.line_16.setEnabled(False) self.line_16.setEnabled(False)
self.line_16.setStyleSheet(u"QFrame {\n" self.line_16.setStyleSheet(u"QFrame {\n"
@@ -1449,7 +1454,10 @@ class Ui_Nugget(object):
self.line_16.setFrameShadow(QFrame.Plain) self.line_16.setFrameShadow(QFrame.Plain)
self.line_16.setFrameShape(QFrame.Shape.HLine) self.line_16.setFrameShape(QFrame.Shape.HLine)
self.verticalLayout_16.addWidget(self.line_16) self.verticalLayout_36.addWidget(self.line_16)
self.verticalLayout_16.addWidget(self.euEnablerContent)
self.enableAIChk = QCheckBox(self.euEnablerPageContent) self.enableAIChk = QCheckBox(self.euEnablerPageContent)
self.enableAIChk.setObjectName(u"enableAIChk") self.enableAIChk.setObjectName(u"enableAIChk")