deleting custom gestalt tweaks

This commit is contained in:
leminlimez
2024-10-11 21:26:23 -04:00
parent 3e5197abab
commit 9022fc602a
2 changed files with 20 additions and 3 deletions

View File

@@ -1,4 +1,4 @@
from PySide6 import QtCore, QtWidgets
from PySide6 import QtCore, QtWidgets, QtGui
from enum import Enum
import webbrowser
import plistlib
@@ -423,6 +423,11 @@ class MainWindow(QtWidgets.QMainWindow):
# update the value
valueField.setText(new_str)
def delete_custom_gestalt_key(self, id: int, widget: QtWidgets.QWidget):
CustomGestaltTweaks.deactivate_tweak(id)
self.ui.customKeysLayout.removeWidget(widget)
widget.setParent(None)
def on_addGestaltKeyBtn_clicked(self):
# create a blank gestalt value with default value of 1
key_identifier = CustomGestaltTweaks.create_tweak()
@@ -439,10 +444,17 @@ class MainWindow(QtWidgets.QMainWindow):
keyField.setPlaceholderText("Key")
keyField.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeft)
keyField.setTextMargins(5, 0, 5, 0)
keyField.setContentsMargins(0, 0, 50, 0)
keyField.textEdited.connect(lambda txt, id=key_identifier: CustomGestaltTweaks.set_tweak_key(id, txt))
hlayout.addWidget(keyField)
# create the delete button
delBtn = QtWidgets.QToolButton(widget)
delBtn.setIcon(QtGui.QIcon(":/icon/trash.svg"))
delBtn.setStyleSheet("QToolButton { margin-right: 8px; background: none; border: none; }\nQToolButton:pressed { background: none; color: #FFFFFF; }")
delBtn.setContentsMargins(0, 0, 50, 0)
delBtn.clicked.connect(lambda _, id=key_identifier, w=widget: self.delete_custom_gestalt_key(id, w))
hlayout.addWidget(delBtn)
# create the type dropdown
valueTypeDrp = QtWidgets.QComboBox(widget)
valueTypeDrp.setStyleSheet("QComboBox {\n background-color: #3b3b3b;\n border: none;\n color: #e8e8e8;\n font-size: 14px;\n padding-left: 8px;\n border-radius: 8px;\n}\n\nQComboBox::drop-down {\n image: url(:/icon/caret-down-fill.svg);\n icon-size: 16px;\n subcontrol-position: right center;\n margin-right: 8px;\n}\n\nQComboBox QAbstractItemView {\n background-color: #3b3b3b;\n outline: none;\n margin-top: 1px;\n}\n\nQComboBox QAbstractItemView::item {\n background-color: #3b3b3b;\n color: #e8e8e8;\n padding-left: 8px;\n}\n\nQComboBox QAbstractItemView::item:hover {\n background-color: #535353;\n color: #ffffff;\n}")

View File

@@ -19,10 +19,11 @@ class CustomGestaltTweak:
def __init__(self, tweak: MobileGestaltTweak, value_type: ValueType):
self.tweak = tweak
self.value_type = value_type
self.deactivated = False
# TODO: change everything to not return the dict since it is passed by reference
def apply_tweak(self, plist: dict) -> dict:
if self.tweak.key == "":
if self.deactivated or self.tweak.key == "":
# key was not set, don't apply (maybe user added it by accident)
return plist
self.tweak.enabled = True
@@ -82,6 +83,10 @@ class CustomGestaltTweaks:
new_str = "{ }"
CustomGestaltTweaks.custom_tweaks[id].tweak.value = new_value
return new_str
def deactivate_tweak(id: int):
CustomGestaltTweaks.custom_tweaks[id].deactivated = True
CustomGestaltTweaks.custom_tweaks[id].tweak = None
def apply_tweaks(plist: dict):
for tweak in CustomGestaltTweaks.custom_tweaks: