diff --git a/README.md b/README.md index 771e52f..056e855 100644 --- a/README.md +++ b/README.md @@ -119,7 +119,7 @@ If you would like to read more about the inner workings of the exploit and iOS r ## Credits - [JJTech](https://github.com/JJTech0130) for Sparserestore/[TrollRestore](https://github.com/JJTech0130/TrollRestore) - [PosterRestore](https://discord.gg/gWtzTVhMvh) for their help with PosterBoard - - Special thanks to dootskyre, [Middo](https://twitter.com/MWRevamped), [dulark](https://github.com/dularkian), and pingubow for their work on this. It would not have been possible without them! + - Special thanks to dootskyre, [Middo](https://twitter.com/MWRevamped), [dulark](https://github.com/dularkian), forcequitOS, and pingubow for their work on this. It would not have been possible without them! - [disfordottie](https://x.com/disfordottie) for some global flag features - [Mikasa-san](https://github.com/Mikasa-san) for [Quiet Daemon](https://github.com/Mikasa-san/QuietDaemon) - [sneakyf1shy](https://github.com/f1shy-dev) for [AI Eligibility](https://gist.github.com/f1shy-dev/23b4a78dc283edd30ae2b2e6429129b5) (iOS 18.1 beta 4 and below) diff --git a/gui/main_window.py b/gui/main_window.py index 06c4f99..6ecfbeb 100644 --- a/gui/main_window.py +++ b/gui/main_window.py @@ -19,7 +19,7 @@ from tweaks.custom_gestalt_tweaks import CustomGestaltTweaks, ValueTypeStrings from tweaks.daemons_tweak import Daemon App_Version = "5.0" -App_Build = 4 +App_Build = 5 class Page(Enum): Home = 0 @@ -160,7 +160,7 @@ class MainWindow(QtWidgets.QMainWindow): ## POSTERBOARD PAGE ACTIONS self.ui.modifyPosterboardsChk.toggled.connect(self.on_modifyPosterboardsChk_clicked) - self.ui.selectPosterboardBtn.clicked.connect(self.on_selectPosterboardBtn_clicked) + self.ui.importTendiesBtn.clicked.connect(self.on_importTendiesBtn_clicked) self.ui.resetPRBExtBtn.clicked.connect(self.on_resetPRBExtBtn_clicked) self.ui.deleteAllDescriptorsBtn.clicked.connect(self.on_deleteAllDescriptorsBtn_clicked) @@ -219,6 +219,7 @@ class MainWindow(QtWidgets.QMainWindow): self.ui.resChangerContent.hide() self.ui.resHeightWarningLbl.hide() self.ui.resWidthWarningLbl.hide() + self.ui.pbActionLbl.hide() ## GENERAL INTERFACE FUNCTIONS @@ -834,38 +835,125 @@ class MainWindow(QtWidgets.QMainWindow): tweaks["Daemons"].set_multiple_values(Daemon.VoiceControl.value, value=checked) ## PosterBoard Page + def delete_pb_file(self, file): + if file in tweaks["PosterBoard"].zip_paths: + tweaks["PosterBoard"].zip_paths.remove(file) + #self.load_posterboard() + + def load_posterboard(self): + # Clear the layout + layout = self.ui.pbFilesList.layout() + if layout: + while layout.count(): + child = layout.takeAt(0) + widget = child.widget() + if widget: + widget.deleteLater() + del child + del layout + self.ui.pbFilesList.setLayout(None) + + # Clear the widget contents + for child in self.ui.pbFilesList.children(): + child.deleteLater() + + if len(tweaks["PosterBoard"].zip_paths) == 0: + return + + # Create scroll layout + mainLayout = QtWidgets.QVBoxLayout() + mainLayout.setContentsMargins(0, 0, 0, 0) + mainLayout.setAlignment(QtCore.Qt.AlignmentFlag.AlignTop) + + # Iterate through the files + for tendie in tweaks["PosterBoard"].zip_paths: + widget = QtWidgets.QWidget() + + # create the icon/label + titleBtn = QtWidgets.QToolButton(widget) + titleBtn.setIcon(QtGui.QIcon(":/icon/photo-stack.svg")) + titleBtn.setIconSize(QtCore.QSize(20, 20)) + titleBtn.setText(f" {tendie}") + titleBtn.setStyleSheet("QToolButton {\n background-color: transparent;\n icon-size: 20px;\n}") + titleBtn.setToolButtonStyle(QtCore.Qt.ToolButtonStyle.ToolButtonTextBesideIcon) + titleBtn.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) + + delBtn = QtWidgets.QToolButton(widget) + delBtn.setIcon(QtGui.QIcon(":/icon/trash.svg")) + delBtn.clicked.connect(lambda _, file=tendie: self.delete_pb_file(file)) + + spacer = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + # main layout + layout = QtWidgets.QHBoxLayout(widget) + layout.setContentsMargins(0, 0, 0, 9) + layout.addWidget(titleBtn) + layout.addItem(spacer) + layout.addWidget(delBtn) + # Add the widget to the mainLayout + widget.setLayout(layout) + mainLayout.addWidget(widget) + + # Create a QWidget to act as the container for the scroll area + scrollWidget = QtWidgets.QWidget() + + # Set the main layout (containing all the widgets) on the scroll widget + scrollWidget.setLayout(mainLayout) + + # Create a QScrollArea to hold the content widget (scrollWidget) + scrollArea = QtWidgets.QScrollArea() + scrollArea.setWidgetResizable(True) # Allow the content widget to resize within the scroll area + scrollArea.setFrameStyle(QtWidgets.QScrollArea.NoFrame) # Remove the outline from the scroll area + + # Set the scrollWidget as the content widget of the scroll area + scrollArea.setWidget(scrollWidget) + + # Set the size policy of the scroll area to expand in both directions + scrollArea.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) + + # Set the scroll area as the central widget of the main window + scrollLayout = QtWidgets.QVBoxLayout() + scrollLayout.setContentsMargins(0, 0, 0, 0) + scrollLayout.addWidget(scrollArea) + self.ui.pbFilesList.setLayout(scrollLayout) + def on_modifyPosterboardsChk_clicked(self, checked: bool): tweaks["PosterBoard"].set_enabled(checked) self.ui.posterboardPageContent.setDisabled(not checked) - def on_selectPosterboardBtn_clicked(self): - selected_file, _ = QtWidgets.QFileDialog.getOpenFileName(self, "Select PosterBoard File", "", "Zip Files (*.tendies)", options=QtWidgets.QFileDialog.ReadOnly) + def on_importTendiesBtn_clicked(self): + selected_files, _ = QtWidgets.QFileDialog.getOpenFileNames(self, "Select PosterBoard Files", "", "Zip Files (*.tendies)", options=QtWidgets.QFileDialog.ReadOnly) tweaks["PosterBoard"].resetting = False - if selected_file == "" or selected_file == None: - tweaks["PosterBoard"].zip_path = None - self.ui.currentPosterboardLbl.setText("None") - else: - # user selected zip, set it - tweaks["PosterBoard"].zip_path = selected_file - self.ui.currentPosterboardLbl.setText(selected_file) + if selected_files != None and len(selected_files) > 0: + # user selected files, add them + # but limit to 15 + if len(selected_files) + len(tweaks["PosterBoard"].zip_paths) > 15: + # alert that there are too many + detailsBox = QtWidgets.QMessageBox() + detailsBox.setIcon(QtWidgets.QMessageBox.Critical) + detailsBox.setWindowTitle("Error!") + detailsBox.setText("You selected too many descriptors! The limit is 15.") + detailsBox.exec() + else: + tweaks["PosterBoard"].zip_paths.extend(selected_files) + self.load_posterboard() def on_deleteAllDescriptorsBtn_clicked(self): if tweaks["PosterBoard"].resetting and tweaks["PosterBoard"].resetType == 0: tweaks["PosterBoard"].resetting = False - self.ui.currentPosterboardLbl.setText("None") + self.ui.pbActionLbl.hide() else: tweaks["PosterBoard"].resetting = True - tweaks["PosterBoard"].zip_path = None tweaks["PosterBoard"].resetType = 0 - self.ui.currentPosterboardLbl.setText("Clearing Collections Wallpapers") + self.ui.pbActionLbl.setText("! Clearing Collections Wallpapers") + self.ui.pbActionLbl.show() def on_resetPRBExtBtn_clicked(self): if tweaks["PosterBoard"].resetting and tweaks["PosterBoard"].resetType == 1: tweaks["PosterBoard"].resetting = False - self.ui.currentPosterboardLbl.setText("None") + self.ui.pbActionLbl.hide() else: tweaks["PosterBoard"].resetting = True - tweaks["PosterBoard"].zip_path = None tweaks["PosterBoard"].resetType = 1 - self.ui.currentPosterboardLbl.setText("Resetting PRB Extension") + self.ui.pbActionLbl.setText("! Resetting PRB Extension") + self.ui.pbActionLbl.show() ## Risky Options Page def on_disableOTAChk_clicked(self, checked: bool): diff --git a/icon/photo.svg b/icon/photo.svg new file mode 100644 index 0000000..8bef22d --- /dev/null +++ b/icon/photo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/icon/questionmark.circle.svg b/icon/questionmark.circle.svg new file mode 100644 index 0000000..aa4aa28 --- /dev/null +++ b/icon/questionmark.circle.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/icon/shippingbox.svg b/icon/shippingbox.svg new file mode 100644 index 0000000..422c984 --- /dev/null +++ b/icon/shippingbox.svg @@ -0,0 +1,11 @@ + + + + + + + + + diff --git a/icon/wallpaper.svg b/icon/wallpaper.svg new file mode 100644 index 0000000..0698721 --- /dev/null +++ b/icon/wallpaper.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/mainwindow_ui.py b/mainwindow_ui.py index 7c67033..3aac6d9 100644 --- a/mainwindow_ui.py +++ b/mainwindow_ui.py @@ -407,7 +407,7 @@ class Ui_Nugget(object): sizePolicy2.setHeightForWidth(self.posterboardPageBtn.sizePolicy().hasHeightForWidth()) self.posterboardPageBtn.setSizePolicy(sizePolicy2) icon9 = QIcon() - icon9.addFile(u":/icon/photo-stack.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off) + icon9.addFile(u":/icon/wallpaper.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off) self.posterboardPageBtn.setIcon(icon9) self.posterboardPageBtn.setCheckable(True) self.posterboardPageBtn.setAutoExclusive(True) @@ -764,12 +764,12 @@ class Ui_Nugget(object): self.horizontalLayout_2.addWidget(self.helpFromBtn) - self.jjtechBtn = QToolButton(self.horizontalWidget_21) - self.jjtechBtn.setObjectName(u"jjtechBtn") - sizePolicy2.setHeightForWidth(self.jjtechBtn.sizePolicy().hasHeightForWidth()) - self.jjtechBtn.setSizePolicy(sizePolicy2) - self.jjtechBtn.setMinimumSize(QSize(0, 37)) - self.jjtechBtn.setStyleSheet(u"QToolButton {\n" + self.posterRestoreBtn = QToolButton(self.horizontalWidget_21) + self.posterRestoreBtn.setObjectName(u"posterRestoreBtn") + sizePolicy2.setHeightForWidth(self.posterRestoreBtn.sizePolicy().hasHeightForWidth()) + self.posterRestoreBtn.setSizePolicy(sizePolicy2) + self.posterRestoreBtn.setMinimumSize(QSize(0, 37)) + self.posterRestoreBtn.setStyleSheet(u"QToolButton {\n" " border-top-right-radius: 0px;\n" " border-bottom-right-radius: 0px;\n" " background: none;\n" @@ -781,7 +781,7 @@ class Ui_Nugget(object): " color: #FFFFFF;\n" "}") - self.horizontalLayout_2.addWidget(self.jjtechBtn) + self.horizontalLayout_2.addWidget(self.posterRestoreBtn) self.disfordottieBtn = QToolButton(self.horizontalWidget_21) self.disfordottieBtn.setObjectName(u"disfordottieBtn") @@ -859,6 +859,24 @@ class Ui_Nugget(object): self.horizontalLayout_24.addWidget(self.libiBtn) + self.jjtechBtn = QToolButton(self.horizontalWidget3) + self.jjtechBtn.setObjectName(u"jjtechBtn") + sizePolicy2.setHeightForWidth(self.jjtechBtn.sizePolicy().hasHeightForWidth()) + self.jjtechBtn.setSizePolicy(sizePolicy2) + self.jjtechBtn.setStyleSheet(u"QToolButton {\n" +" border-radius: 0px;\n" +" background: none;\n" +" border: 1px solid #3b3b3b;\n" +" border-left: none;\n" +"}\n" +"\n" +"QToolButton:pressed {\n" +" background-color: #535353;\n" +" color: #FFFFFF;\n" +"}") + + self.horizontalLayout_24.addWidget(self.jjtechBtn) + self.qtBtn = QToolButton(self.horizontalWidget3) self.qtBtn.setObjectName(u"qtBtn") sizePolicy2.setHeightForWidth(self.qtBtn.sizePolicy().hasHeightForWidth()) @@ -2192,6 +2210,17 @@ class Ui_Nugget(object): self.horizontalLayout_203.addItem(self.horizontalSpacer_73) + self.pbHelpBtn = QToolButton(self.horizontalWidget_53) + self.pbHelpBtn.setObjectName(u"pbHelpBtn") + self.pbHelpBtn.setMinimumSize(QSize(35, 35)) + self.pbHelpBtn.setMaximumSize(QSize(35, 35)) + icon20 = QIcon() + icon20.addFile(u":/icon/questionmark.circle.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off) + self.pbHelpBtn.setIcon(icon20) + self.pbHelpBtn.setIconSize(QSize(20, 20)) + + self.horizontalLayout_203.addWidget(self.pbHelpBtn) + self.verticalLayout_143.addWidget(self.horizontalWidget_53) @@ -2211,27 +2240,9 @@ class Ui_Nugget(object): self.verticalLayout_133 = QVBoxLayout(self.posterboardPageContent) self.verticalLayout_133.setObjectName(u"verticalLayout_133") self.verticalLayout_133.setContentsMargins(0, 0, 0, 0) - self.regularDomainsLbl_2 = QLabel(self.posterboardPageContent) - self.regularDomainsLbl_2.setObjectName(u"regularDomainsLbl_2") - sizePolicy1.setHeightForWidth(self.regularDomainsLbl_2.sizePolicy().hasHeightForWidth()) - self.regularDomainsLbl_2.setSizePolicy(sizePolicy1) - - self.verticalLayout_133.addWidget(self.regularDomainsLbl_2) - - self.currentPosterboardLbl = QLabel(self.posterboardPageContent) - self.currentPosterboardLbl.setObjectName(u"currentPosterboardLbl") - - self.verticalLayout_133.addWidget(self.currentPosterboardLbl) - - self.selectPosterboardBtn = QToolButton(self.posterboardPageContent) - self.selectPosterboardBtn.setObjectName(u"selectPosterboardBtn") - icon20 = QIcon() - icon20.addFile(u":/icon/file-earmark-zip.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off) - self.selectPosterboardBtn.setIcon(icon20) - self.selectPosterboardBtn.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) - - self.verticalLayout_133.addWidget(self.selectPosterboardBtn) - + self.horizontalLayout_12 = QHBoxLayout() + self.horizontalLayout_12.setObjectName(u"horizontalLayout_12") + self.horizontalLayout_12.setContentsMargins(-1, -1, -1, 0) self.deleteAllDescriptorsBtn = QToolButton(self.posterboardPageContent) self.deleteAllDescriptorsBtn.setObjectName(u"deleteAllDescriptorsBtn") icon21 = QIcon() @@ -2239,7 +2250,51 @@ class Ui_Nugget(object): self.deleteAllDescriptorsBtn.setIcon(icon21) self.deleteAllDescriptorsBtn.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) - self.verticalLayout_133.addWidget(self.deleteAllDescriptorsBtn) + self.horizontalLayout_12.addWidget(self.deleteAllDescriptorsBtn) + + self.horizontalSpacer_18 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + + self.horizontalLayout_12.addItem(self.horizontalSpacer_18) + + self.importTendiesBtn = QToolButton(self.posterboardPageContent) + self.importTendiesBtn.setObjectName(u"importTendiesBtn") + self.importTendiesBtn.setLayoutDirection(Qt.RightToLeft) + icon22 = QIcon() + icon22.addFile(u":/icon/import.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off) + self.importTendiesBtn.setIcon(icon22) + self.importTendiesBtn.setIconSize(QSize(20, 20)) + self.importTendiesBtn.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) + + self.horizontalLayout_12.addWidget(self.importTendiesBtn) + + + self.verticalLayout_133.addLayout(self.horizontalLayout_12) + + self.pbActionLbl = QLabel(self.posterboardPageContent) + self.pbActionLbl.setObjectName(u"pbActionLbl") + + self.verticalLayout_133.addWidget(self.pbActionLbl) + + self.line_27 = QFrame(self.posterboardPageContent) + self.line_27.setObjectName(u"line_27") + self.line_27.setStyleSheet(u"QFrame {\n" +" color: #414141;\n" +"}") + self.line_27.setFrameShadow(QFrame.Plain) + self.line_27.setFrameShape(QFrame.Shape.HLine) + + self.verticalLayout_133.addWidget(self.line_27) + + self.pbFilesList = QWidget(self.posterboardPageContent) + self.pbFilesList.setObjectName(u"pbFilesList") + sizePolicy5 = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding) + sizePolicy5.setHorizontalStretch(0) + sizePolicy5.setVerticalStretch(0) + sizePolicy5.setHeightForWidth(self.pbFilesList.sizePolicy().hasHeightForWidth()) + self.pbFilesList.setSizePolicy(sizePolicy5) + self.pbFilesList.setMinimumSize(QSize(200, 35)) + + self.verticalLayout_133.addWidget(self.pbFilesList) self.resetPRBExtBtn = QToolButton(self.posterboardPageContent) self.resetPRBExtBtn.setObjectName(u"resetPRBExtBtn") @@ -2248,10 +2303,6 @@ class Ui_Nugget(object): self.verticalLayout_133.addWidget(self.resetPRBExtBtn) - self.verticalSpacer_22 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding) - - self.verticalLayout_133.addItem(self.verticalSpacer_22) - self.verticalLayout_143.addWidget(self.posterboardPageContent) @@ -2535,9 +2586,9 @@ class Ui_Nugget(object): self.horizontalLayout_7.setContentsMargins(-1, 10, -1, 0) self.chooseGestaltBtn = QToolButton(self.verticalWidget2) self.chooseGestaltBtn.setObjectName(u"chooseGestaltBtn") - icon22 = QIcon() - icon22.addFile(u":/icon/folder.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off) - self.chooseGestaltBtn.setIcon(icon22) + icon23 = QIcon() + icon23.addFile(u":/icon/folder.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off) + self.chooseGestaltBtn.setIcon(icon23) self.chooseGestaltBtn.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) self.horizontalLayout_7.addWidget(self.chooseGestaltBtn) @@ -2951,9 +3002,9 @@ class Ui_Nugget(object): " padding-right: 5px;\n" " border-radius: 0px;\n" "}") - icon23 = QIcon() - icon23.addFile(u":/icon/pencil.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off) - self.toolButton_12.setIcon(icon23) + icon24 = QIcon() + icon24.addFile(u":/icon/pencil.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off) + self.toolButton_12.setIcon(icon24) self.toolButton_12.setIconSize(QSize(25, 25)) self.horizontalLayout_22.addWidget(self.toolButton_12) @@ -3014,9 +3065,7 @@ class Ui_Nugget(object): self.importOperationBtn = QToolButton(self.customOperationsPageContent) self.importOperationBtn.setObjectName(u"importOperationBtn") self.importOperationBtn.setEnabled(True) - icon24 = QIcon() - icon24.addFile(u":/icon/import.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off) - self.importOperationBtn.setIcon(icon24) + self.importOperationBtn.setIcon(icon22) self.importOperationBtn.setIconSize(QSize(20, 20)) self.importOperationBtn.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) @@ -3042,9 +3091,6 @@ class Ui_Nugget(object): self.operationsCnt = QWidget(self.customOperationsPageContent) self.operationsCnt.setObjectName(u"operationsCnt") self.operationsCnt.setEnabled(True) - sizePolicy5 = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding) - sizePolicy5.setHorizontalStretch(0) - sizePolicy5.setVerticalStretch(0) sizePolicy5.setHeightForWidth(self.operationsCnt.sizePolicy().hasHeightForWidth()) self.operationsCnt.setSizePolicy(sizePolicy5) @@ -3187,13 +3233,15 @@ class Ui_Nugget(object): self.importThemeFolderBtn = QToolButton(self.horizontalWidget7) self.importThemeFolderBtn.setObjectName(u"importThemeFolderBtn") - self.importThemeFolderBtn.setIcon(icon22) + self.importThemeFolderBtn.setIcon(icon23) self.horizontalLayout_26.addWidget(self.importThemeFolderBtn) self.importThemeZipBtn = QToolButton(self.horizontalWidget7) self.importThemeZipBtn.setObjectName(u"importThemeZipBtn") - self.importThemeZipBtn.setIcon(icon20) + icon26 = QIcon() + icon26.addFile(u":/icon/file-earmark-zip.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off) + self.importThemeZipBtn.setIcon(icon26) self.horizontalLayout_26.addWidget(self.importThemeZipBtn) @@ -3346,14 +3394,16 @@ class Ui_Nugget(object): self.leminKoFiBtn.setText(QCoreApplication.translate("Nugget", u"...", None)) self.toolButton_14.setText(QCoreApplication.translate("Nugget", u"Main Developer", None)) self.helpFromBtn.setText(QCoreApplication.translate("Nugget", u"With Help From", None)) - self.jjtechBtn.setText(QCoreApplication.translate("Nugget", u"JJTech\n" -"Sparserestore", None)) + self.posterRestoreBtn.setText(QCoreApplication.translate("Nugget", u"PosterRestore Team\n" +"Posterboard", None)) self.disfordottieBtn.setText(QCoreApplication.translate("Nugget", u"disfordottie\n" "Clock Anim, Photos UI", None)) self.mikasaBtn.setText(QCoreApplication.translate("Nugget", u"Mikasa\n" "Quiet Daemon", None)) self.toolButton_15.setText(QCoreApplication.translate("Nugget", u"Additional Thanks", None)) self.libiBtn.setText(QCoreApplication.translate("Nugget", u"pymobiledevice3", None)) + self.jjtechBtn.setText(QCoreApplication.translate("Nugget", u"JJTech\n" +"Sparserestore", None)) self.qtBtn.setText(QCoreApplication.translate("Nugget", u"Qt Creator", None)) self.appVersionLbl.setText(QCoreApplication.translate("Nugget", u"Nugget GUI - Version %VERSION %BETATAG", None)) self.statusBarLbl.setText(QCoreApplication.translate("Nugget", u"Mobile Gestalt", None)) @@ -3604,10 +3654,21 @@ class Ui_Nugget(object): self.voiceControlChk.setText(QCoreApplication.translate("Nugget", u"Disable Voice Control", None)) self.posterboardLbl.setText(QCoreApplication.translate("Nugget", u"Posterboard", None)) self.modifyPosterboardsChk.setText(QCoreApplication.translate("Nugget", u"Modify", None)) - 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.pbHelpBtn.setText(QCoreApplication.translate("Nugget", u"...", None)) +#if QT_CONFIG(tooltip) + self.deleteAllDescriptorsBtn.setToolTip(QCoreApplication.translate("Nugget", u"Clears all the wallpapers in the Collections section so that you can import more.", None)) +#endif // QT_CONFIG(tooltip) + self.deleteAllDescriptorsBtn.setText(QCoreApplication.translate("Nugget", u" Clear Collections Wallpapers", None)) +#if QT_CONFIG(tooltip) + self.importTendiesBtn.setToolTip(QCoreApplication.translate("Nugget", u"Select a wallpaper file with the .tendies extension.", None)) +#endif // QT_CONFIG(tooltip) + self.importTendiesBtn.setText(QCoreApplication.translate("Nugget", u" Import Files (.tendies)", None)) + self.pbActionLbl.setText(QCoreApplication.translate("Nugget", u"None", None)) +#if QT_CONFIG(tooltip) + self.resetPRBExtBtn.setToolTip(QCoreApplication.translate("Nugget", u"Wipes the PRB Extension folder.\n" +"\n" +"Warning: This will remove all of your wallpapers and will restrict you from adding new ones until you restore again.", None)) +#endif // QT_CONFIG(tooltip) 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" diff --git a/qt/mainwindow.ui b/qt/mainwindow.ui index 573f028..a2e3557 100644 --- a/qt/mainwindow.ui +++ b/qt/mainwindow.ui @@ -243,7 +243,7 @@ QSlider::tick:horizontal { } - + :/icon/phone.svg:/icon/phone.svg @@ -308,7 +308,7 @@ QSlider::tick:horizontal { } - + :/icon/arrow-clockwise.svg:/icon/arrow-clockwise.svg @@ -415,7 +415,7 @@ QSlider::tick:horizontal { Home - + :/icon/house.svg:/icon/house.svg @@ -462,7 +462,7 @@ QSlider::tick:horizontal { Mobile Gestalt - + :/icon/iphone-island.svg:/icon/iphone-island.svg @@ -506,7 +506,7 @@ QSlider::tick:horizontal { Feature Flags - + :/icon/flag.svg:/icon/flag.svg @@ -535,7 +535,7 @@ QSlider::tick:horizontal { Eligibility - + :/icon/geo-alt.svg:/icon/geo-alt.svg @@ -564,7 +564,7 @@ QSlider::tick:horizontal { Springboard Options - + :/icon/app-indicator.svg:/icon/app-indicator.svg @@ -593,7 +593,7 @@ QSlider::tick:horizontal { Internal Options - + :/icon/hdd.svg:/icon/hdd.svg @@ -625,7 +625,7 @@ QSlider::tick:horizontal { Daemons - + :/icon/toggles.svg:/icon/toggles.svg @@ -657,8 +657,8 @@ QSlider::tick:horizontal { Posterboard - - :/icon/photo-stack.svg:/icon/photo-stack.svg + + :/icon/wallpaper.svg:/icon/wallpaper.svg true @@ -686,7 +686,7 @@ QSlider::tick:horizontal { Risky Options - + :/icon/star.svg:/icon/star.svg @@ -730,7 +730,7 @@ QSlider::tick:horizontal { Apply - + :/icon/check-circle.svg:/icon/check-circle.svg @@ -759,7 +759,7 @@ QSlider::tick:horizontal { Settings - + :/icon/gear.svg:/icon/gear.svg @@ -873,7 +873,7 @@ QSlider::tick:horizontal { } - + :/icon/phone.svg:/icon/phone.svg @@ -1002,7 +1002,7 @@ QSlider::tick:horizontal { ... - + :/credits/big_nugget.png:/credits/big_nugget.png @@ -1089,7 +1089,7 @@ QSlider::tick:horizontal { Join the Discord - + :/icon/discord.svg:/icon/discord.svg @@ -1103,7 +1103,7 @@ QSlider::tick:horizontal { Star on Github - + :/icon/star.svg:/icon/star.svg @@ -1207,7 +1207,7 @@ QSlider::tick:horizontal { LeminLimez - + :/credits/LeminLimez.png:/credits/LeminLimez.png @@ -1234,7 +1234,7 @@ QToolButton:pressed { ... - + :/icon/twitter.svg:/icon/twitter.svg @@ -1258,7 +1258,7 @@ QToolButton:pressed { ... - + :/icon/github.svg:/icon/github.svg @@ -1283,7 +1283,7 @@ QToolButton:pressed { ... - + :/icon/currency-dollar.svg:/icon/currency-dollar.svg @@ -1683,7 +1683,7 @@ QToolButton:pressed { } - + :/icon/iphone-island.svg:/icon/iphone-island.svg @@ -2221,7 +2221,7 @@ Note: OTA updates will be broken until this is disabled. Add Key - + :/icon/plus.svg:/icon/plus.svg @@ -2338,7 +2338,7 @@ what you are doing. } - + :/icon/flag.svg:/icon/flag.svg @@ -2570,7 +2570,7 @@ Only works on iOS 18.0 beta 1-2. } - + :/icon/geo-alt.svg:/icon/geo-alt.svg @@ -3210,7 +3210,7 @@ QComboBox QAbstractItemView::item:hover { } - + :/icon/app-indicator.svg:/icon/app-indicator.svg @@ -3462,7 +3462,7 @@ QComboBox QAbstractItemView::item:hover { } - + :/icon/hdd.svg:/icon/hdd.svg @@ -3785,7 +3785,7 @@ QComboBox QAbstractItemView::item:hover { } - + :/icon/toggles.svg:/icon/toggles.svg @@ -4144,8 +4144,8 @@ To work properly, also disable the daemon using the toggle above. } - - :/icon/photo-stack.svg:/icon/photo-stack.svg + + :/icon/wallpaper.svg:/icon/wallpaper.svg @@ -4203,6 +4203,35 @@ To work properly, also disable the daemon using the toggle above. + + + + + 35 + 35 + + + + + 35 + 35 + + + + ... + + + + :/icon/questionmark.circle.svg:/icon/questionmark.circle.svg + + + + 20 + 20 + + + + @@ -4240,56 +4269,103 @@ To work properly, also disable the daemon using the toggle above. 0 - - - - 0 - 0 - + + + 0 - - Current File: - - + + + + Clears all the wallpapers in the Collections section so that you can import more. + + + Clear Collections Wallpapers + + + + :/icon/trash.svg:/icon/trash.svg + + + Qt::ToolButtonTextBesideIcon + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Select a wallpaper file with the .tendies extension. + + + Qt::RightToLeft + + + Import Files (.tendies) + + + + :/icon/import.svg:/icon/import.svg + + + + 20 + 20 + + + + Qt::ToolButtonTextBesideIcon + + + + - + None - - - Select a wallpaper file with the .tendies extension. + + + QFrame { + color: #414141; +} - - Select File (.tendies) + + QFrame::Plain - - - :/icon/file-earmark-zip.svg:/icon/file-earmark-zip.svg - - - Qt::ToolButtonTextBesideIcon + + Qt::Horizontal - - - Clears all the wallpapers in the Collections section so that you can import more. + + + + 0 + 0 + - - Clear Collections Wallpapers - - - - :/icon/trash.svg:/icon/trash.svg - - - Qt::ToolButtonTextBesideIcon + + + 200 + 35 + @@ -4304,7 +4380,7 @@ Warning: This will remove all of your wallpapers and will restrict you from addi Reset PRB Extension - + :/icon/trash.svg:/icon/trash.svg @@ -4312,19 +4388,6 @@ Warning: This will remove all of your wallpapers and will restrict you from addi - - - - Qt::Vertical - - - - 20 - 40 - - - - @@ -4377,7 +4440,7 @@ Warning: This will remove all of your wallpapers and will restrict you from addi } - + :/icon/star.svg:/icon/star.svg @@ -4760,7 +4823,7 @@ Warning: Disabling will cause the battery to show "Unknown Part" or &q } - + :/icon/check-circle.svg:/icon/check-circle.svg @@ -4884,7 +4947,7 @@ Warning: Disabling will cause the battery to show "Unknown Part" or &q Choose Gestalt File - + :/icon/folder.svg:/icon/folder.svg @@ -4915,7 +4978,7 @@ Warning: Disabling will cause the battery to show "Unknown Part" or &q Apply Changes - + :/icon/check-circle.svg:/icon/check-circle.svg @@ -5097,7 +5160,7 @@ Warning: Disabling will cause the battery to show "Unknown Part" or &q } - + :/icon/gear.svg:/icon/gear.svg @@ -5434,7 +5497,7 @@ Warning: Disabling will cause the battery to show "Unknown Part" or &q } - + :/icon/geo-alt.svg:/icon/geo-alt.svg @@ -5719,7 +5782,7 @@ Warning: Disabling will cause the battery to show "Unknown Part" or &q } - + :/icon/pencil.svg:/icon/pencil.svg @@ -5850,7 +5913,7 @@ Warning: Disabling will cause the battery to show "Unknown Part" or &q Import .cowperation - + :/icon/import.svg:/icon/import.svg @@ -5885,7 +5948,7 @@ Warning: Disabling will cause the battery to show "Unknown Part" or &q New Operation - + :/icon/plus.svg:/icon/plus.svg @@ -5966,7 +6029,7 @@ Warning: Disabling will cause the battery to show "Unknown Part" or &q } - + :/icon/compass.svg:/icon/compass.svg @@ -6102,7 +6165,7 @@ Warning: Disabling will cause the battery to show "Unknown Part" or &q } - + :/icon/iphone-island.svg:/icon/iphone-island.svg @@ -6196,7 +6259,7 @@ Warning: Disabling will cause the battery to show "Unknown Part" or &q ... - + :/icon/folder.svg:/icon/folder.svg @@ -6207,7 +6270,7 @@ Warning: Disabling will cause the battery to show "Unknown Part" or &q ... - + :/icon/file-earmark-zip.svg:/icon/file-earmark-zip.svg diff --git a/qt/mainwindow_ui.py b/qt/mainwindow_ui.py index 04fdc97..3aac6d9 100644 --- a/qt/mainwindow_ui.py +++ b/qt/mainwindow_ui.py @@ -407,7 +407,7 @@ class Ui_Nugget(object): sizePolicy2.setHeightForWidth(self.posterboardPageBtn.sizePolicy().hasHeightForWidth()) self.posterboardPageBtn.setSizePolicy(sizePolicy2) icon9 = QIcon() - icon9.addFile(u":/icon/photo-stack.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off) + icon9.addFile(u":/icon/wallpaper.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off) self.posterboardPageBtn.setIcon(icon9) self.posterboardPageBtn.setCheckable(True) self.posterboardPageBtn.setAutoExclusive(True) @@ -2210,6 +2210,17 @@ class Ui_Nugget(object): self.horizontalLayout_203.addItem(self.horizontalSpacer_73) + self.pbHelpBtn = QToolButton(self.horizontalWidget_53) + self.pbHelpBtn.setObjectName(u"pbHelpBtn") + self.pbHelpBtn.setMinimumSize(QSize(35, 35)) + self.pbHelpBtn.setMaximumSize(QSize(35, 35)) + icon20 = QIcon() + icon20.addFile(u":/icon/questionmark.circle.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off) + self.pbHelpBtn.setIcon(icon20) + self.pbHelpBtn.setIconSize(QSize(20, 20)) + + self.horizontalLayout_203.addWidget(self.pbHelpBtn) + self.verticalLayout_143.addWidget(self.horizontalWidget_53) @@ -2229,27 +2240,9 @@ class Ui_Nugget(object): self.verticalLayout_133 = QVBoxLayout(self.posterboardPageContent) self.verticalLayout_133.setObjectName(u"verticalLayout_133") self.verticalLayout_133.setContentsMargins(0, 0, 0, 0) - self.currentPBLbl = QLabel(self.posterboardPageContent) - self.currentPBLbl.setObjectName(u"currentPBLbl") - sizePolicy1.setHeightForWidth(self.currentPBLbl.sizePolicy().hasHeightForWidth()) - self.currentPBLbl.setSizePolicy(sizePolicy1) - - self.verticalLayout_133.addWidget(self.currentPBLbl) - - self.currentPosterboardLbl = QLabel(self.posterboardPageContent) - self.currentPosterboardLbl.setObjectName(u"currentPosterboardLbl") - - self.verticalLayout_133.addWidget(self.currentPosterboardLbl) - - self.selectPosterboardBtn = QToolButton(self.posterboardPageContent) - self.selectPosterboardBtn.setObjectName(u"selectPosterboardBtn") - icon20 = QIcon() - icon20.addFile(u":/icon/file-earmark-zip.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off) - self.selectPosterboardBtn.setIcon(icon20) - self.selectPosterboardBtn.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) - - self.verticalLayout_133.addWidget(self.selectPosterboardBtn) - + self.horizontalLayout_12 = QHBoxLayout() + self.horizontalLayout_12.setObjectName(u"horizontalLayout_12") + self.horizontalLayout_12.setContentsMargins(-1, -1, -1, 0) self.deleteAllDescriptorsBtn = QToolButton(self.posterboardPageContent) self.deleteAllDescriptorsBtn.setObjectName(u"deleteAllDescriptorsBtn") icon21 = QIcon() @@ -2257,7 +2250,51 @@ class Ui_Nugget(object): self.deleteAllDescriptorsBtn.setIcon(icon21) self.deleteAllDescriptorsBtn.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) - self.verticalLayout_133.addWidget(self.deleteAllDescriptorsBtn) + self.horizontalLayout_12.addWidget(self.deleteAllDescriptorsBtn) + + self.horizontalSpacer_18 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + + self.horizontalLayout_12.addItem(self.horizontalSpacer_18) + + self.importTendiesBtn = QToolButton(self.posterboardPageContent) + self.importTendiesBtn.setObjectName(u"importTendiesBtn") + self.importTendiesBtn.setLayoutDirection(Qt.RightToLeft) + icon22 = QIcon() + icon22.addFile(u":/icon/import.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off) + self.importTendiesBtn.setIcon(icon22) + self.importTendiesBtn.setIconSize(QSize(20, 20)) + self.importTendiesBtn.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) + + self.horizontalLayout_12.addWidget(self.importTendiesBtn) + + + self.verticalLayout_133.addLayout(self.horizontalLayout_12) + + self.pbActionLbl = QLabel(self.posterboardPageContent) + self.pbActionLbl.setObjectName(u"pbActionLbl") + + self.verticalLayout_133.addWidget(self.pbActionLbl) + + self.line_27 = QFrame(self.posterboardPageContent) + self.line_27.setObjectName(u"line_27") + self.line_27.setStyleSheet(u"QFrame {\n" +" color: #414141;\n" +"}") + self.line_27.setFrameShadow(QFrame.Plain) + self.line_27.setFrameShape(QFrame.Shape.HLine) + + self.verticalLayout_133.addWidget(self.line_27) + + self.pbFilesList = QWidget(self.posterboardPageContent) + self.pbFilesList.setObjectName(u"pbFilesList") + sizePolicy5 = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding) + sizePolicy5.setHorizontalStretch(0) + sizePolicy5.setVerticalStretch(0) + sizePolicy5.setHeightForWidth(self.pbFilesList.sizePolicy().hasHeightForWidth()) + self.pbFilesList.setSizePolicy(sizePolicy5) + self.pbFilesList.setMinimumSize(QSize(200, 35)) + + self.verticalLayout_133.addWidget(self.pbFilesList) self.resetPRBExtBtn = QToolButton(self.posterboardPageContent) self.resetPRBExtBtn.setObjectName(u"resetPRBExtBtn") @@ -2266,10 +2303,6 @@ class Ui_Nugget(object): self.verticalLayout_133.addWidget(self.resetPRBExtBtn) - self.verticalSpacer_22 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding) - - self.verticalLayout_133.addItem(self.verticalSpacer_22) - self.verticalLayout_143.addWidget(self.posterboardPageContent) @@ -2553,9 +2586,9 @@ class Ui_Nugget(object): self.horizontalLayout_7.setContentsMargins(-1, 10, -1, 0) self.chooseGestaltBtn = QToolButton(self.verticalWidget2) self.chooseGestaltBtn.setObjectName(u"chooseGestaltBtn") - icon22 = QIcon() - icon22.addFile(u":/icon/folder.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off) - self.chooseGestaltBtn.setIcon(icon22) + icon23 = QIcon() + icon23.addFile(u":/icon/folder.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off) + self.chooseGestaltBtn.setIcon(icon23) self.chooseGestaltBtn.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) self.horizontalLayout_7.addWidget(self.chooseGestaltBtn) @@ -2969,9 +3002,9 @@ class Ui_Nugget(object): " padding-right: 5px;\n" " border-radius: 0px;\n" "}") - icon23 = QIcon() - icon23.addFile(u":/icon/pencil.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off) - self.toolButton_12.setIcon(icon23) + icon24 = QIcon() + icon24.addFile(u":/icon/pencil.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off) + self.toolButton_12.setIcon(icon24) self.toolButton_12.setIconSize(QSize(25, 25)) self.horizontalLayout_22.addWidget(self.toolButton_12) @@ -3032,9 +3065,7 @@ class Ui_Nugget(object): self.importOperationBtn = QToolButton(self.customOperationsPageContent) self.importOperationBtn.setObjectName(u"importOperationBtn") self.importOperationBtn.setEnabled(True) - icon24 = QIcon() - icon24.addFile(u":/icon/import.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off) - self.importOperationBtn.setIcon(icon24) + self.importOperationBtn.setIcon(icon22) self.importOperationBtn.setIconSize(QSize(20, 20)) self.importOperationBtn.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) @@ -3060,9 +3091,6 @@ class Ui_Nugget(object): self.operationsCnt = QWidget(self.customOperationsPageContent) self.operationsCnt.setObjectName(u"operationsCnt") self.operationsCnt.setEnabled(True) - sizePolicy5 = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding) - sizePolicy5.setHorizontalStretch(0) - sizePolicy5.setVerticalStretch(0) sizePolicy5.setHeightForWidth(self.operationsCnt.sizePolicy().hasHeightForWidth()) self.operationsCnt.setSizePolicy(sizePolicy5) @@ -3205,13 +3233,15 @@ class Ui_Nugget(object): self.importThemeFolderBtn = QToolButton(self.horizontalWidget7) self.importThemeFolderBtn.setObjectName(u"importThemeFolderBtn") - self.importThemeFolderBtn.setIcon(icon22) + self.importThemeFolderBtn.setIcon(icon23) self.horizontalLayout_26.addWidget(self.importThemeFolderBtn) self.importThemeZipBtn = QToolButton(self.horizontalWidget7) self.importThemeZipBtn.setObjectName(u"importThemeZipBtn") - self.importThemeZipBtn.setIcon(icon20) + icon26 = QIcon() + icon26.addFile(u":/icon/file-earmark-zip.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off) + self.importThemeZipBtn.setIcon(icon26) self.horizontalLayout_26.addWidget(self.importThemeZipBtn) @@ -3624,16 +3654,16 @@ class Ui_Nugget(object): self.voiceControlChk.setText(QCoreApplication.translate("Nugget", u"Disable Voice Control", None)) self.posterboardLbl.setText(QCoreApplication.translate("Nugget", u"Posterboard", None)) self.modifyPosterboardsChk.setText(QCoreApplication.translate("Nugget", u"Modify", None)) - self.currentPBLbl.setText(QCoreApplication.translate("Nugget", u"Current File:", None)) - self.currentPosterboardLbl.setText(QCoreApplication.translate("Nugget", u"None", None)) -#if QT_CONFIG(tooltip) - self.selectPosterboardBtn.setToolTip(QCoreApplication.translate("Nugget", u"Select a wallpaper file with the .tendies extension.", None)) -#endif // QT_CONFIG(tooltip) - self.selectPosterboardBtn.setText(QCoreApplication.translate("Nugget", u" Select File (.tendies)", None)) + self.pbHelpBtn.setText(QCoreApplication.translate("Nugget", u"...", None)) #if QT_CONFIG(tooltip) self.deleteAllDescriptorsBtn.setToolTip(QCoreApplication.translate("Nugget", u"Clears all the wallpapers in the Collections section so that you can import more.", None)) #endif // QT_CONFIG(tooltip) self.deleteAllDescriptorsBtn.setText(QCoreApplication.translate("Nugget", u" Clear Collections Wallpapers", None)) +#if QT_CONFIG(tooltip) + self.importTendiesBtn.setToolTip(QCoreApplication.translate("Nugget", u"Select a wallpaper file with the .tendies extension.", None)) +#endif // QT_CONFIG(tooltip) + self.importTendiesBtn.setText(QCoreApplication.translate("Nugget", u" Import Files (.tendies)", None)) + self.pbActionLbl.setText(QCoreApplication.translate("Nugget", u"None", None)) #if QT_CONFIG(tooltip) self.resetPRBExtBtn.setToolTip(QCoreApplication.translate("Nugget", u"Wipes the PRB Extension folder.\n" "\n" diff --git a/qt/resources.qrc b/qt/resources.qrc index 06b6366..bced537 100644 --- a/qt/resources.qrc +++ b/qt/resources.qrc @@ -31,5 +31,9 @@ icon/flag.svg credits/big_nugget.png icon/photo-stack.svg + icon/photo.svg + icon/shippingbox.svg + icon/wallpaper.svg + icon/questionmark.circle.svg diff --git a/qt/ui_mainwindow.py b/qt/ui_mainwindow.py index 9fa3b48..b4f34b6 100644 --- a/qt/ui_mainwindow.py +++ b/qt/ui_mainwindow.py @@ -407,7 +407,7 @@ class Ui_Nugget(object): sizePolicy2.setHeightForWidth(self.posterboardPageBtn.sizePolicy().hasHeightForWidth()) self.posterboardPageBtn.setSizePolicy(sizePolicy2) icon9 = QIcon() - icon9.addFile(u":/icon/photo-stack.svg", QSize(), QIcon.Normal, QIcon.Off) + icon9.addFile(u":/icon/wallpaper.svg", QSize(), QIcon.Normal, QIcon.Off) self.posterboardPageBtn.setIcon(icon9) self.posterboardPageBtn.setCheckable(True) self.posterboardPageBtn.setAutoExclusive(True) @@ -2210,6 +2210,17 @@ class Ui_Nugget(object): self.horizontalLayout_203.addItem(self.horizontalSpacer_73) + self.pbHelpBtn = QToolButton(self.horizontalWidget_53) + self.pbHelpBtn.setObjectName(u"pbHelpBtn") + self.pbHelpBtn.setMinimumSize(QSize(35, 35)) + self.pbHelpBtn.setMaximumSize(QSize(35, 35)) + icon20 = QIcon() + icon20.addFile(u":/icon/questionmark.circle.svg", QSize(), QIcon.Normal, QIcon.Off) + self.pbHelpBtn.setIcon(icon20) + self.pbHelpBtn.setIconSize(QSize(20, 20)) + + self.horizontalLayout_203.addWidget(self.pbHelpBtn) + self.verticalLayout_143.addWidget(self.horizontalWidget_53) @@ -2229,27 +2240,9 @@ class Ui_Nugget(object): self.verticalLayout_133 = QVBoxLayout(self.posterboardPageContent) self.verticalLayout_133.setObjectName(u"verticalLayout_133") self.verticalLayout_133.setContentsMargins(0, 0, 0, 0) - self.currentPBLbl = QLabel(self.posterboardPageContent) - self.currentPBLbl.setObjectName(u"currentPBLbl") - sizePolicy1.setHeightForWidth(self.currentPBLbl.sizePolicy().hasHeightForWidth()) - self.currentPBLbl.setSizePolicy(sizePolicy1) - - self.verticalLayout_133.addWidget(self.currentPBLbl) - - self.currentPosterboardLbl = QLabel(self.posterboardPageContent) - self.currentPosterboardLbl.setObjectName(u"currentPosterboardLbl") - - self.verticalLayout_133.addWidget(self.currentPosterboardLbl) - - self.selectPosterboardBtn = QToolButton(self.posterboardPageContent) - self.selectPosterboardBtn.setObjectName(u"selectPosterboardBtn") - icon20 = QIcon() - icon20.addFile(u":/icon/file-earmark-zip.svg", QSize(), QIcon.Normal, QIcon.Off) - self.selectPosterboardBtn.setIcon(icon20) - self.selectPosterboardBtn.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) - - self.verticalLayout_133.addWidget(self.selectPosterboardBtn) - + self.horizontalLayout_12 = QHBoxLayout() + self.horizontalLayout_12.setObjectName(u"horizontalLayout_12") + self.horizontalLayout_12.setContentsMargins(-1, -1, -1, 0) self.deleteAllDescriptorsBtn = QToolButton(self.posterboardPageContent) self.deleteAllDescriptorsBtn.setObjectName(u"deleteAllDescriptorsBtn") icon21 = QIcon() @@ -2257,7 +2250,51 @@ class Ui_Nugget(object): self.deleteAllDescriptorsBtn.setIcon(icon21) self.deleteAllDescriptorsBtn.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) - self.verticalLayout_133.addWidget(self.deleteAllDescriptorsBtn) + self.horizontalLayout_12.addWidget(self.deleteAllDescriptorsBtn) + + self.horizontalSpacer_18 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + + self.horizontalLayout_12.addItem(self.horizontalSpacer_18) + + self.importTendiesBtn = QToolButton(self.posterboardPageContent) + self.importTendiesBtn.setObjectName(u"importTendiesBtn") + self.importTendiesBtn.setLayoutDirection(Qt.RightToLeft) + icon22 = QIcon() + icon22.addFile(u":/icon/import.svg", QSize(), QIcon.Normal, QIcon.Off) + self.importTendiesBtn.setIcon(icon22) + self.importTendiesBtn.setIconSize(QSize(20, 20)) + self.importTendiesBtn.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) + + self.horizontalLayout_12.addWidget(self.importTendiesBtn) + + + self.verticalLayout_133.addLayout(self.horizontalLayout_12) + + self.pbActionLbl = QLabel(self.posterboardPageContent) + self.pbActionLbl.setObjectName(u"pbActionLbl") + + self.verticalLayout_133.addWidget(self.pbActionLbl) + + self.line_27 = QFrame(self.posterboardPageContent) + self.line_27.setObjectName(u"line_27") + self.line_27.setStyleSheet(u"QFrame {\n" +" color: #414141;\n" +"}") + self.line_27.setFrameShadow(QFrame.Plain) + self.line_27.setFrameShape(QFrame.HLine) + + self.verticalLayout_133.addWidget(self.line_27) + + self.pbFilesList = QWidget(self.posterboardPageContent) + self.pbFilesList.setObjectName(u"pbFilesList") + sizePolicy5 = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding) + sizePolicy5.setHorizontalStretch(0) + sizePolicy5.setVerticalStretch(0) + sizePolicy5.setHeightForWidth(self.pbFilesList.sizePolicy().hasHeightForWidth()) + self.pbFilesList.setSizePolicy(sizePolicy5) + self.pbFilesList.setMinimumSize(QSize(200, 35)) + + self.verticalLayout_133.addWidget(self.pbFilesList) self.resetPRBExtBtn = QToolButton(self.posterboardPageContent) self.resetPRBExtBtn.setObjectName(u"resetPRBExtBtn") @@ -2266,10 +2303,6 @@ class Ui_Nugget(object): self.verticalLayout_133.addWidget(self.resetPRBExtBtn) - self.verticalSpacer_22 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding) - - self.verticalLayout_133.addItem(self.verticalSpacer_22) - self.verticalLayout_143.addWidget(self.posterboardPageContent) @@ -2553,9 +2586,9 @@ class Ui_Nugget(object): self.horizontalLayout_7.setContentsMargins(-1, 10, -1, 0) self.chooseGestaltBtn = QToolButton(self.verticalWidget2) self.chooseGestaltBtn.setObjectName(u"chooseGestaltBtn") - icon22 = QIcon() - icon22.addFile(u":/icon/folder.svg", QSize(), QIcon.Normal, QIcon.Off) - self.chooseGestaltBtn.setIcon(icon22) + icon23 = QIcon() + icon23.addFile(u":/icon/folder.svg", QSize(), QIcon.Normal, QIcon.Off) + self.chooseGestaltBtn.setIcon(icon23) self.chooseGestaltBtn.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) self.horizontalLayout_7.addWidget(self.chooseGestaltBtn) @@ -2969,9 +3002,9 @@ class Ui_Nugget(object): " padding-right: 5px;\n" " border-radius: 0px;\n" "}") - icon23 = QIcon() - icon23.addFile(u":/icon/pencil.svg", QSize(), QIcon.Normal, QIcon.Off) - self.toolButton_12.setIcon(icon23) + icon24 = QIcon() + icon24.addFile(u":/icon/pencil.svg", QSize(), QIcon.Normal, QIcon.Off) + self.toolButton_12.setIcon(icon24) self.toolButton_12.setIconSize(QSize(25, 25)) self.horizontalLayout_22.addWidget(self.toolButton_12) @@ -3032,9 +3065,7 @@ class Ui_Nugget(object): self.importOperationBtn = QToolButton(self.customOperationsPageContent) self.importOperationBtn.setObjectName(u"importOperationBtn") self.importOperationBtn.setEnabled(True) - icon24 = QIcon() - icon24.addFile(u":/icon/import.svg", QSize(), QIcon.Normal, QIcon.Off) - self.importOperationBtn.setIcon(icon24) + self.importOperationBtn.setIcon(icon22) self.importOperationBtn.setIconSize(QSize(20, 20)) self.importOperationBtn.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) @@ -3060,9 +3091,6 @@ class Ui_Nugget(object): self.operationsCnt = QWidget(self.customOperationsPageContent) self.operationsCnt.setObjectName(u"operationsCnt") self.operationsCnt.setEnabled(True) - sizePolicy5 = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding) - sizePolicy5.setHorizontalStretch(0) - sizePolicy5.setVerticalStretch(0) sizePolicy5.setHeightForWidth(self.operationsCnt.sizePolicy().hasHeightForWidth()) self.operationsCnt.setSizePolicy(sizePolicy5) @@ -3205,13 +3233,15 @@ class Ui_Nugget(object): self.importThemeFolderBtn = QToolButton(self.horizontalWidget7) self.importThemeFolderBtn.setObjectName(u"importThemeFolderBtn") - self.importThemeFolderBtn.setIcon(icon22) + self.importThemeFolderBtn.setIcon(icon23) self.horizontalLayout_26.addWidget(self.importThemeFolderBtn) self.importThemeZipBtn = QToolButton(self.horizontalWidget7) self.importThemeZipBtn.setObjectName(u"importThemeZipBtn") - self.importThemeZipBtn.setIcon(icon20) + icon26 = QIcon() + icon26.addFile(u":/icon/file-earmark-zip.svg", QSize(), QIcon.Normal, QIcon.Off) + self.importThemeZipBtn.setIcon(icon26) self.horizontalLayout_26.addWidget(self.importThemeZipBtn) @@ -3624,16 +3654,16 @@ class Ui_Nugget(object): self.voiceControlChk.setText(QCoreApplication.translate("Nugget", u"Disable Voice Control", None)) self.posterboardLbl.setText(QCoreApplication.translate("Nugget", u"Posterboard", None)) self.modifyPosterboardsChk.setText(QCoreApplication.translate("Nugget", u"Modify", None)) - self.currentPBLbl.setText(QCoreApplication.translate("Nugget", u"Current File:", None)) - self.currentPosterboardLbl.setText(QCoreApplication.translate("Nugget", u"None", None)) -#if QT_CONFIG(tooltip) - self.selectPosterboardBtn.setToolTip(QCoreApplication.translate("Nugget", u"Select a wallpaper file with the .tendies extension.", None)) -#endif // QT_CONFIG(tooltip) - self.selectPosterboardBtn.setText(QCoreApplication.translate("Nugget", u" Select File (.tendies)", None)) + self.pbHelpBtn.setText(QCoreApplication.translate("Nugget", u"...", None)) #if QT_CONFIG(tooltip) self.deleteAllDescriptorsBtn.setToolTip(QCoreApplication.translate("Nugget", u"Clears all the wallpapers in the Collections section so that you can import more.", None)) #endif // QT_CONFIG(tooltip) self.deleteAllDescriptorsBtn.setText(QCoreApplication.translate("Nugget", u" Clear Collections Wallpapers", None)) +#if QT_CONFIG(tooltip) + self.importTendiesBtn.setToolTip(QCoreApplication.translate("Nugget", u"Select a wallpaper file with the .tendies extension.", None)) +#endif // QT_CONFIG(tooltip) + self.importTendiesBtn.setText(QCoreApplication.translate("Nugget", u" Import Files (.tendies)", None)) + self.pbActionLbl.setText(QCoreApplication.translate("Nugget", u"None", None)) #if QT_CONFIG(tooltip) self.resetPRBExtBtn.setToolTip(QCoreApplication.translate("Nugget", u"Wipes the PRB Extension folder.\n" "\n" diff --git a/resources_rc.py b/resources_rc.py index 791ebdd..7cd62e3 100644 --- a/resources_rc.py +++ b/resources_rc.py @@ -6,6 +6,153 @@ from PySide6 import QtCore qt_resource_data = b"\ +\x00\x00\x09\x08\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22utf\ +-8\x22?>\x0a\x0a \x0a <\ +style>.defaults{\ +-sfsymbols-rotat\ +es-clockwise:tru\ +e;}.hierarchical\ +-0:primary{-sfsy\ +mbols-motion-gro\ +up:0;-sfsymbols-\ +layer-tags:apple\ +.photos;}.monoch\ +rome-0{-sfsymbol\ +s-motion-group:0\ +;-sfsymbols-laye\ +r-tags:apple.pho\ +tos;}.multicolor\ +-0:tintColor{-sf\ +symbols-motion-g\ +roup:0;-sfsymbol\ +s-layer-tags:app\ +le.photos;}\x0a \x0a \ +\x0a \x0a \ +\x0a\ \x00\x00\x05\xf3\ <\ svg xmlns=\x22http:\ @@ -290,6 +437,82 @@ Box=\x220 0 14.209 \ =\x22white\x22 fill-op\ acity=\x220.85\x22/>\x0a \ \x0a\x0a\ +\x00\x00\x04\x93\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\ +\x0a\x0a\x0a \x0a\ + \x0a \x0a \x0a\x0a\ \x00\x00\x02\xc5\ <\ svg xmlns=\x22http:\ @@ -765,6 +988,110 @@ ockwise\x22 viewBox\ 41 4.658A.25.25 \ 0 0 1 8 4.466z\x22/\ >\x0a\ +\x00\x00\x06`\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\ +\x0a\x0a\x0a \x0a\ + \x0a \x0a \x0a \x0a\x0a\ \x00\x00\x06\x0c\ <\ ?xml version=\x221.\ @@ -1164,6 +1491,96 @@ c0 .862-.305 1.8\ m0 1a3 3 0 1 0 0\ -6 3 3 0 0 0 0 6\ z\x22/>\x0a\ +\x00\x00\x05x\ +<\ +?xml version=\x221.\ +0\x22 encoding=\x22UTF\ +-8\x22?>\x0a\ +\x0a\x0a\x0a \x0a\ + \x0a \x0a \x0a \x0a\ +\x0a\ \x00\x00\x01\x03\ <\ svg xmlns=\x22http:\ @@ -9743,6 +10160,10 @@ qt_resource_name = b"\ \x00\x06\xfa^\ \x00i\ \x00c\x00o\x00n\ +\x00\x0d\ +\x0d\xc36'\ +\x00w\ +\x00a\x00l\x00l\x00p\x00a\x00p\x00e\x00r\x00.\x00s\x00v\x00g\ \x00\x08\ \x0b\x85Wg\ \x00g\ @@ -9759,6 +10180,10 @@ qt_resource_name = b"\ \x02zWg\ \x00f\ \x00l\x00a\x00g\x00.\x00s\x00v\x00g\ +\x00\x0f\ +\x09\x874\xa7\ +\x00s\ +\x00h\x00i\x00p\x00p\x00i\x00n\x00g\x00b\x00o\x00x\x00.\x00s\x00v\x00g\ \x00\x0a\ \x0f\xb8\x9b\x87\ \x00g\ @@ -9814,6 +10239,11 @@ qt_resource_name = b"\ \x00a\ \x00r\x00r\x00o\x00w\x00-\x00c\x00l\x00o\x00c\x00k\x00w\x00i\x00s\x00e\x00.\x00s\ \x00v\x00g\ +\x00\x17\ +\x03\xb5\xb0\xa7\ +\x00q\ +\x00u\x00e\x00s\x00t\x00i\x00o\x00n\x00m\x00a\x00r\x00k\x00.\x00c\x00i\x00r\x00c\ +\x00l\x00e\x00.\x00s\x00v\x00g\ \x00\x0a\ \x09\xf1\x82G\ \x00p\ @@ -9840,6 +10270,10 @@ qt_resource_name = b"\ \x08\xec\xde\xa7\ \x00g\ \x00e\x00o\x00-\x00a\x00l\x00t\x00.\x00s\x00v\x00g\ +\x00\x09\ +\x06\xb2\xb7'\ +\x00p\ +\x00h\x00o\x00t\x00o\x00.\x00s\x00v\x00g\ \x00\x13\ \x00\xd0b\x87\ \x00c\ @@ -9878,71 +10312,79 @@ qt_resource_name = b"\ qt_resource_struct = b"\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x01\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x14\x00\x02\x00\x00\x00\x1d\x00\x00\x00\x05\ +\x00\x00\x00\x14\x00\x02\x00\x00\x00!\x00\x00\x00\x05\ \x00\x00\x00\x00\x00\x00\x00\x00\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x03\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x03|\x00\x00\x00\x00\x00\x01\x00\x00X\xe7\ +\x00\x00\x04\x0c\x00\x00\x00\x00\x00\x01\x00\x00rj\ \x00\x00\x01\x95\x82z\xa7C\ -\x00\x00\x03\x9e\x00\x00\x00\x00\x00\x01\x00\x02N\xa4\ +\x00\x00\x04.\x00\x00\x00\x00\x00\x01\x00\x02h'\ \x00\x00\x01\x95\x82z\xa7C\ -\x00\x00\x02\xc8\x00\x00\x00\x00\x00\x01\x00\x00E\x1f\ +\x00\x00\x03X\x00\x00\x00\x00\x00\x01\x00\x00^\xa2\ \x00\x00\x01\x95\x82z\xa7D\ -\x00\x00\x02n\x00\x00\x00\x00\x00\x01\x00\x009`\ +\x00\x00\x02\xe6\x00\x00\x00\x00\x00\x01\x00\x00Mg\ \x00\x00\x01\x95\x82z\xa7E\ -\x00\x00\x01\xb4\x00\x00\x00\x00\x00\x01\x00\x00(i\ +\x00\x00\x01\xf8\x00\x00\x00\x00\x00\x01\x00\x006\x0c\ \x00\x00\x01\x95\x82z\xa7F\ -\x00\x00\x00v\x00\x00\x00\x00\x00\x01\x00\x00\x0b\xde\ +\x00\x00\x00\x96\x00\x00\x00\x00\x00\x01\x00\x00\x14\xea\ \x00\x00\x01\x95\x82z\xa7E\ -\x00\x00\x03f\x00\x00\x00\x00\x00\x01\x00\x00U\xab\ +\x00\x00\x02X\x00\x00\x00\x00\x00\x01\x00\x00:\xa8\ +\x00\x00\x01\x95\xb5\xd7\xa9\xce\ +\x00\x00\x03\xf6\x00\x00\x00\x00\x00\x01\x00\x00o.\ \x00\x00\x01\x95\x82z\xa7F\ -\x00\x00\x01`\x00\x00\x00\x00\x00\x01\x00\x00$\x9d\ +\x00\x00\x01\xa4\x00\x00\x00\x00\x00\x01\x00\x002@\ \x00\x00\x01\x95\x82z\xa7E\ -\x00\x00\x00\xd4\x00\x00\x00\x00\x00\x01\x00\x00\x18z\ +\x00\x00\x01\x18\x00\x00\x00\x00\x00\x01\x00\x00&\x1d\ \x00\x00\x01\x95\x82z\xa7F\ -\x00\x00\x02\xf4\x00\x00\x00\x00\x00\x01\x00\x00F&\ +\x00\x00\x03\x84\x00\x00\x00\x00\x00\x01\x00\x00_\xa9\ \x00\x00\x01\x95\x82z\xa7F\ -\x00\x00\x008\x00\x00\x00\x00\x00\x01\x00\x00\x05\xf7\ +\x00\x00\x00X\x00\x00\x00\x00\x00\x01\x00\x00\x0f\x03\ \x00\x00\x01\x95\x82z\xa7E\ -\x00\x00\x030\x00\x00\x00\x00\x00\x01\x00\x00N\xbd\ +\x00\x00\x03\xc0\x00\x00\x00\x00\x00\x01\x00\x00h@\ \x00\x00\x01\x95\x82z\xa7E\ -\x00\x00\x01\xe8\x00\x00\x00\x00\x00\x01\x00\x00+\xa8\ +\x00\x00\x02,\x00\x00\x00\x00\x00\x01\x00\x009K\ \x00\x00\x01\x95\x82z\xa7D\ -\x00\x00\x03J\x00\x00\x00\x00\x00\x01\x00\x00TH\ +\x00\x00\x03@\x00\x00\x00\x00\x00\x01\x00\x00Y&\ +\x00\x00\x01\x95\xb5\xbe\x09k\ +\x00\x00\x03\xda\x00\x00\x00\x00\x00\x01\x00\x00m\xcb\ \x00\x00\x01\x95\x82z\xa7E\ -\x00\x00\x01\x1c\x00\x00\x00\x00\x00\x01\x00\x00\x1f\xe8\ +\x00\x00\x01`\x00\x00\x00\x00\x00\x01\x00\x00-\x8b\ \x00\x00\x01\x95\x82z\xa7F\ -\x00\x00\x02\xac\x00\x00\x00\x00\x00\x01\x00\x00C?\ +\x00\x00\x03$\x00\x00\x00\x00\x00\x01\x00\x00WF\ \x00\x00\x01\x95\x82z\xa7E\ -\x00\x00\x02\x14\x00\x00\x00\x00\x00\x01\x00\x00-\x05\ +\x00\x00\x00\xac\x00\x00\x00\x00\x00\x01\x00\x00\x1a;\ +\x00\x00\x01\x95\xb5\xbeP\xac\ +\x00\x00\x02\x8c\x00\x00\x00\x00\x00\x01\x00\x00A\x0c\ \x00\x00\x01\x95\x82z\xa7E\ -\x00\x00\x01\x00\x00\x00\x00\x00\x00\x01\x00\x00\x1dk\ +\x00\x00\x01D\x00\x00\x00\x00\x00\x01\x00\x00+\x0e\ \x00\x00\x01\x95\x82z\xa7F\ -\x00\x00\x02.\x00\x00\x00\x00\x00\x01\x00\x003\x15\ +\x00\x00\x02\xa6\x00\x00\x00\x00\x00\x01\x00\x00G\x1c\ \x00\x00\x01\x95\x82z\xa7D\ -\x00\x00\x02\x96\x00\x00\x00\x00\x00\x01\x00\x00@\xc7\ +\x00\x00\x03\x0e\x00\x00\x00\x00\x00\x01\x00\x00T\xce\ \x00\x00\x01\x95\x82z\xa7F\ -\x00\x00\x00\xba\x00\x00\x00\x00\x00\x01\x00\x00\x16Q\ +\x00\x00\x00\xfe\x00\x00\x00\x00\x00\x01\x00\x00#\xf4\ \x00\x00\x01\x95\x82z\xa7E\ -\x00\x00\x03\x0c\x00\x00\x00\x00\x00\x01\x00\x00Gr\ +\x00\x00\x03\x9c\x00\x00\x00\x00\x00\x01\x00\x00`\xf5\ \x00\x00\x01\x95\x90n~e\ -\x00\x00\x00T\x00\x00\x00\x00\x00\x01\x00\x00\x0a\xef\ +\x00\x00\x00t\x00\x00\x00\x00\x00\x01\x00\x00\x13\xfb\ \x00\x00\x01\x95\x82z\xa7E\ -\x00\x00\x00\x22\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x00B\x00\x00\x00\x00\x00\x01\x00\x00\x09\x0c\ \x00\x00\x01\x95\x82z\xa7E\ -\x00\x00\x014\x00\x00\x00\x00\x00\x01\x00\x00\x22\x10\ +\x00\x00\x01x\x00\x00\x00\x00\x00\x01\x00\x00/\xb3\ \x00\x00\x01\x95\x82z\xa7E\ -\x00\x00\x01\xd0\x00\x00\x00\x00\x00\x01\x00\x00)\xfe\ +\x00\x00\x02\x14\x00\x00\x00\x00\x00\x01\x00\x007\xa1\ \x00\x00\x01\x95\x82z\xa7E\ -\x00\x00\x02V\x00\x00\x00\x00\x00\x01\x00\x004\x95\ +\x00\x00\x02\xce\x00\x00\x00\x00\x00\x01\x00\x00H\x9c\ \x00\x00\x01\x95\x82z\xa7D\ -\x00\x00\x01\x8e\x00\x00\x00\x00\x00\x01\x00\x00&\xe9\ +\x00\x00\x00\x22\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01\x95\xb5\xc5\xe4J\ +\x00\x00\x01\xd2\x00\x00\x00\x00\x00\x01\x00\x004\x8c\ \x00\x00\x01\x95\x82z\xa7E\ -\x00\x00\x00\xa6\x00\x00\x00\x00\x00\x01\x00\x00\x13\xf8\ +\x00\x00\x00\xea\x00\x00\x00\x00\x00\x01\x00\x00!\x9b\ \x00\x00\x01\x95\x82z\xa7E\ -\x00\x00\x00\x8c\x00\x00\x00\x00\x00\x01\x00\x00\x11/\ +\x00\x00\x00\xd0\x00\x00\x00\x00\x00\x01\x00\x00\x1e\xd2\ \x00\x00\x01\x95\x82z\xa7E\ -\x00\x00\x00\xea\x00\x00\x00\x00\x00\x01\x00\x00\x19\xb7\ +\x00\x00\x01.\x00\x00\x00\x00\x00\x01\x00\x00'Z\ \x00\x00\x01\x95\x82z\xa7F\ " diff --git a/tweaks/posterboard_tweak.py b/tweaks/posterboard_tweak.py index 7a1f01b..d01d432 100644 --- a/tweaks/posterboard_tweak.py +++ b/tweaks/posterboard_tweak.py @@ -1,15 +1,18 @@ -from .tweak_classes import Tweak -from Sparserestore.restore import FileToRestore -from controllers.plist_handler import set_plist_value import os import zipfile import uuid from random import randint +from PySide6 import QtWidgets, QtCore, QtGui + +from .tweak_classes import Tweak +from Sparserestore.restore import FileToRestore +from controllers.plist_handler import set_plist_value +from qt.ui_mainwindow import Ui_Nugget class PosterboardTweak(Tweak): def __init__(self): super().__init__(key=None) - self.zip_path = None + self.zip_paths: list[str] = [] self.bundle_id = "com.apple.PosterBoard" self.resetting = False self.resetType = 0 # 0 for descriptor 1 for prb @@ -93,12 +96,13 @@ class PosterboardTweak(Tweak): domain=f"AppDomain-{self.bundle_id}" )) return - elif self.zip_path == None: + elif self.zip_paths == None or len(self.zip_paths) == 0: return - with zipfile.ZipFile(self.zip_path, 'r') as zip_ref: - zip_ref.extractall(output_dir) - if os.name == "nt": - # try to get past directory name limit on windows - output_dir = "\\\\?\\" + output_dir - # add the files - self.recursive_add(files_to_restore, curr_path=output_dir) \ No newline at end of file + for zip_path in self.zip_paths: + with zipfile.ZipFile(zip_path, 'r') as zip_ref: + zip_ref.extractall(output_dir) + if os.name == "nt": + # try to get past directory name limit on windows + output_dir = "\\\\?\\" + output_dir + # add the files + self.recursive_add(files_to_restore, curr_path=output_dir)