delete all descriptors button

This commit is contained in:
leminlimez
2025-03-13 21:57:42 -04:00
parent 87ccfd57fe
commit dd978b4786
7 changed files with 70 additions and 11 deletions

View File

@@ -161,6 +161,7 @@ class MainWindow(QtWidgets.QMainWindow):
self.ui.modifyPosterboardsChk.toggled.connect(self.on_modifyPosterboardsChk_clicked)
self.ui.selectPosterboardBtn.clicked.connect(self.on_selectPosterboardBtn_clicked)
self.ui.resetPRBExtBtn.clicked.connect(self.on_resetPRBExtBtn_clicked)
self.ui.deleteAllDescriptorsBtn.clicked.connect(self.on_deleteAllDescriptorsBtn_clicked)
## RISKY OPTIONS PAGE ACTIONS
self.ui.disableOTAChk.toggled.connect(self.on_disableOTAChk_clicked)
@@ -280,9 +281,11 @@ class MainWindow(QtWidgets.QMainWindow):
if self.device_manager.allow_risky_tweaks:
self.ui.advancedPageBtn.show()
self.ui.deleteAllDescriptorsBtn.show()
self.ui.resetPRBExtBtn.show()
else:
self.ui.advancedPageBtn.hide()
self.ui.deleteAllDescriptorsBtn.hide()
self.ui.resetPRBExtBtn.hide()
self.ui.sidebarDiv2.show()
@@ -843,13 +846,24 @@ class MainWindow(QtWidgets.QMainWindow):
# user selected zip, set it
tweaks["PosterBoard"].zip_path = selected_file
self.ui.currentPosterboardLbl.setText(selected_file)
def on_resetPRBExtBtn_clicked(self):
if tweaks["PosterBoard"].resetting:
def on_deleteAllDescriptorsBtn_clicked(self):
if tweaks["PosterBoard"].resetting and tweaks["PosterBoard"].resetType == 0:
tweaks["PosterBoard"].resetting = False
self.ui.currentPosterboardLbl.setText("None")
else:
tweaks["PosterBoard"].resetting = True
tweaks["PosterBoard"].zip_path = None
tweaks["PosterBoard"].resetType = 0
self.ui.currentPosterboardLbl.setText("Removing All Descriptors")
def on_resetPRBExtBtn_clicked(self):
if tweaks["PosterBoard"].resetting and tweaks["PosterBoard"].resetType == 1:
tweaks["PosterBoard"].resetting = False
self.ui.currentPosterboardLbl.setText("None")
else:
tweaks["PosterBoard"].resetting = True
tweaks["PosterBoard"].zip_path = None
tweaks["PosterBoard"].resetType = 1
self.ui.currentPosterboardLbl.setText("Resetting PRB Extension")
## Risky Options Page
@@ -901,9 +915,11 @@ class MainWindow(QtWidgets.QMainWindow):
# toggle the button visibility
if checked:
self.ui.advancedPageBtn.show()
self.ui.deleteAllDescriptorsBtn.show()
self.ui.resetPRBExtBtn.show()
else:
self.ui.advancedPageBtn.hide()
self.ui.deleteAllDescriptorsBtn.hide()
self.ui.resetPRBExtBtn.hide()
def on_showAllSpoofableChk_toggled(self, checked: bool):
self.device_manager.show_all_spoofable_models = checked

View File

@@ -2232,10 +2232,17 @@ class Ui_Nugget(object):
self.verticalLayout_133.addWidget(self.selectPosterboardBtn)
self.resetPRBExtBtn = QToolButton(self.posterboardPageContent)
self.resetPRBExtBtn.setObjectName(u"resetPRBExtBtn")
self.deleteAllDescriptorsBtn = QToolButton(self.posterboardPageContent)
self.deleteAllDescriptorsBtn.setObjectName(u"deleteAllDescriptorsBtn")
icon21 = QIcon()
icon21.addFile(u":/icon/trash.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
self.deleteAllDescriptorsBtn.setIcon(icon21)
self.deleteAllDescriptorsBtn.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)
self.verticalLayout_133.addWidget(self.deleteAllDescriptorsBtn)
self.resetPRBExtBtn = QToolButton(self.posterboardPageContent)
self.resetPRBExtBtn.setObjectName(u"resetPRBExtBtn")
self.resetPRBExtBtn.setIcon(icon21)
self.resetPRBExtBtn.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)
@@ -3600,6 +3607,7 @@ class Ui_Nugget(object):
self.regularDomainsLbl_2.setText(QCoreApplication.translate("Nugget", u"Current File:", None))
self.currentPosterboardLbl.setText(QCoreApplication.translate("Nugget", u"None", None))
self.selectPosterboardBtn.setText(QCoreApplication.translate("Nugget", u" Select File", None))
self.deleteAllDescriptorsBtn.setText(QCoreApplication.translate("Nugget", u" Delete All Descriptors", None))
self.resetPRBExtBtn.setText(QCoreApplication.translate("Nugget", u" Reset PRB Extension", None))
self.advancedOptionsLbl.setText(QCoreApplication.translate("Nugget", u"Risky Options", None))
self.label_17.setText(QCoreApplication.translate("Nugget", u"Disclaimer:\n"

View File

@@ -4246,6 +4246,20 @@ To work properly, also disable the daemon using the toggle above.</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="deleteAllDescriptorsBtn">
<property name="text">
<string> Delete All Descriptors</string>
</property>
<property name="icon">
<iconset resource="resources.qrc">
<normaloff>:/icon/trash.svg</normaloff>:/icon/trash.svg</iconset>
</property>
<property name="toolButtonStyle">
<enum>Qt::ToolButtonTextBesideIcon</enum>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="resetPRBExtBtn">
<property name="text">

View File

@@ -2232,10 +2232,17 @@ class Ui_Nugget(object):
self.verticalLayout_133.addWidget(self.selectPosterboardBtn)
self.resetPRBExtBtn = QToolButton(self.posterboardPageContent)
self.resetPRBExtBtn.setObjectName(u"resetPRBExtBtn")
self.deleteAllDescriptorsBtn = QToolButton(self.posterboardPageContent)
self.deleteAllDescriptorsBtn.setObjectName(u"deleteAllDescriptorsBtn")
icon21 = QIcon()
icon21.addFile(u":/icon/trash.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
self.deleteAllDescriptorsBtn.setIcon(icon21)
self.deleteAllDescriptorsBtn.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)
self.verticalLayout_133.addWidget(self.deleteAllDescriptorsBtn)
self.resetPRBExtBtn = QToolButton(self.posterboardPageContent)
self.resetPRBExtBtn.setObjectName(u"resetPRBExtBtn")
self.resetPRBExtBtn.setIcon(icon21)
self.resetPRBExtBtn.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)
@@ -3600,6 +3607,7 @@ class Ui_Nugget(object):
self.regularDomainsLbl_2.setText(QCoreApplication.translate("Nugget", u"Current File:", None))
self.currentPosterboardLbl.setText(QCoreApplication.translate("Nugget", u"None", None))
self.selectPosterboardBtn.setText(QCoreApplication.translate("Nugget", u" Select File", None))
self.deleteAllDescriptorsBtn.setText(QCoreApplication.translate("Nugget", u" Delete All Descriptors", None))
self.resetPRBExtBtn.setText(QCoreApplication.translate("Nugget", u" Reset PRB Extension", None))
self.advancedOptionsLbl.setText(QCoreApplication.translate("Nugget", u"Risky Options", None))
self.label_17.setText(QCoreApplication.translate("Nugget", u"Disclaimer:\n"

View File

@@ -2232,10 +2232,17 @@ class Ui_Nugget(object):
self.verticalLayout_133.addWidget(self.selectPosterboardBtn)
self.resetPRBExtBtn = QToolButton(self.posterboardPageContent)
self.resetPRBExtBtn.setObjectName(u"resetPRBExtBtn")
self.deleteAllDescriptorsBtn = QToolButton(self.posterboardPageContent)
self.deleteAllDescriptorsBtn.setObjectName(u"deleteAllDescriptorsBtn")
icon21 = QIcon()
icon21.addFile(u":/icon/trash.svg", QSize(), QIcon.Normal, QIcon.Off)
self.deleteAllDescriptorsBtn.setIcon(icon21)
self.deleteAllDescriptorsBtn.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)
self.verticalLayout_133.addWidget(self.deleteAllDescriptorsBtn)
self.resetPRBExtBtn = QToolButton(self.posterboardPageContent)
self.resetPRBExtBtn.setObjectName(u"resetPRBExtBtn")
self.resetPRBExtBtn.setIcon(icon21)
self.resetPRBExtBtn.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)
@@ -3600,6 +3607,7 @@ class Ui_Nugget(object):
self.regularDomainsLbl_2.setText(QCoreApplication.translate("Nugget", u"Current File:", None))
self.currentPosterboardLbl.setText(QCoreApplication.translate("Nugget", u"None", None))
self.selectPosterboardBtn.setText(QCoreApplication.translate("Nugget", u" Select File", None))
self.deleteAllDescriptorsBtn.setText(QCoreApplication.translate("Nugget", u" Delete All Descriptors", None))
self.resetPRBExtBtn.setText(QCoreApplication.translate("Nugget", u" Reset PRB Extension", None))
self.advancedOptionsLbl.setText(QCoreApplication.translate("Nugget", u"Risky Options", None))
self.label_17.setText(QCoreApplication.translate("Nugget", u"Disclaimer:\n"

View File

@@ -1,6 +1,6 @@
# Resource object code (Python 3)
# Created by: object code
# Created by: The Resource Compiler for Qt version 6.6.3
# Created by: The Resource Compiler for Qt version 6.8.2
# WARNING! All changes made in this file will be lost!
from PySide6 import QtCore

View File

@@ -9,6 +9,7 @@ class PosterboardTweak(Tweak):
self.zip_path = None
self.bundle_id = "com.apple.PosterBoard"
self.resetting = False
self.resetType = 0 # 0 for descriptor 1 for prb
def recursive_add(self, files_to_restore: list[FileToRestore], curr_path: str, restore_path: str = "", isAdding: bool = False):
for folder in sorted(os.listdir(curr_path)):
@@ -49,10 +50,14 @@ class PosterboardTweak(Tweak):
if not self.enabled:
return
if self.resetting:
# null out the prb folder
# null out the folder
file_path = ""
if self.resetType == 0:
# resetting descriptors
file_path = "/61/Extensions/com.apple.WallpaperKit.CollectionsPoster/descriptors"
files_to_restore.append(FileToRestore(
contents=b"",
restore_path="/Library/Application Support/PRBPosterExtensionDataStore",
restore_path=f"/Library/Application Support/PRBPosterExtensionDataStore{file_path}",
domain=f"AppDomain-{self.bundle_id}"
))
return