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():
else: if version == "exploit":
self.ui.enableAIChk.hide() # disable if the exploit is not available
self.ui.aiEnablerContent.hide() for pair in MinTweakVersions[version]:
if Version(self.device_manager.data_singleton.current_device.version) >= Version("18.0"): if self.device_manager.data_singleton.current_device.has_exploit() and device_ver >= Version(pair[0]):
self.ui.aodChk.show() pair[1].show()
self.ui.iphone16SettingsChk.show() else:
if self.device_manager.data_singleton.current_device.has_exploit(): pair[1].hide()
self.ui.featureFlagsPageBtn.show() else:
# show views if the version is higher
parsed_ver = Version(version)
for view in MinTweakVersions[version]:
if device_ver >= parsed_ver:
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">
@@ -2536,22 +2529,44 @@ what you are doing.</string>
<number>0</number> <number>0</number>
</property> </property>
<item> <item>
<widget class="QLabel" name="label_5"> <widget class="QWidget" name="euEnablerContent" native="true">
<property name="text"> <layout class="QVBoxLayout" name="verticalLayout_36">
<string>Method Type</string> <property name="leftMargin">
</property> <number>0</number>
</widget> </property>
</item> <property name="topMargin">
<item> <number>0</number>
<widget class="QComboBox" name="methodChoiceDrp"> </property>
<property name="maximumSize"> <property name="rightMargin">
<size> <number>0</number>
<width>150</width> </property>
<height>16777215</height> <property name="bottomMargin">
</size> <number>0</number>
</property> </property>
<property name="styleSheet"> <item>
<string notr="true">QComboBox { <widget class="QCheckBox" name="euEnablerEnabledChk">
<property name="text">
<string>Enable EU Enabler</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_5">
<property name="text">
<string>Method Type</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="methodChoiceDrp">
<property name="maximumSize">
<size>
<width>150</width>
<height>16777215</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QComboBox {
background-color: #3b3b3b; background-color: #3b3b3b;
border: none; border: none;
color: #e8e8e8; color: #e8e8e8;
@@ -2583,49 +2598,52 @@ QComboBox QAbstractItemView::item:hover {
background-color: #535353; background-color: #535353;
color: #ffffff; color: #ffffff;
}</string> }</string>
</property> </property>
<item> <item>
<property name="text"> <property name="text">
<string>Method 1</string> <string>Method 1</string>
</property> </property>
</item> </item>
<item> <item>
<property name="text"> <property name="text">
<string>Method 2</string> <string>Method 2</string>
</property> </property>
</item> </item>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLabel" name="label_6"> <widget class="QLabel" name="label_6">
<property name="text"> <property name="text">
<string>Region Code (Should be 2 letters)</string> <string>Region Code (Should be 2 letters)</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLineEdit" name="regionCodeTxt"> <widget class="QLineEdit" name="regionCodeTxt">
<property name="placeholderText"> <property name="placeholderText">
<string>Region Code (Default: US)</string> <string>Region Code (Default: US)</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="Line" name="line_16"> <widget class="Line" name="line_16">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true">QFrame { <string notr="true">QFrame {
color: #414141; color: #414141;
}</string> }</string>
</property> </property>
<property name="frameShadow"> <property name="frameShadow">
<enum>QFrame::Plain</enum> <enum>QFrame::Plain</enum>
</property> </property>
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
</widget>
</item>
</layout>
</widget> </widget>
</item> </item>
<item> <item>

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")