更新配置

This commit is contained in:
yuruo
2024-05-23 13:33:30 +08:00
parent e0baa91b5e
commit 5c67bc3cf8
3 changed files with 11 additions and 2 deletions

View File

@@ -75,7 +75,7 @@ class ActionList(QListWidget):
def get_parent(self):
if self.level == 0:
return GlobalUtil.current_page
return GlobalUtil.get_widget_by_uuid(self.parent_uuid, "action_list")
return GlobalUtil.get_widget_by_uuid(self.parent_uuid, "action_list_item")
def init(self):

View File

@@ -35,7 +35,7 @@ class ActionListItem(QListWidgetItem):
from actions.action_list import ActionList
# 如果子元素不是 action_list 则加载
if not isinstance(self.data(QtCore.Qt.ItemDataRole.UserRole), ActionList):
action_list = ActionList.load({"action_list": self.action.args.action_list, "parent_uuid": self.get_parent().uuid}, self.get_parent().level + 1)
action_list = ActionList.load({"action_list": self.action.args.action_list, "parent_uuid": self.uuid}, self.get_parent().level + 1)
action_list.action_signal.size_changed.connect(self._adjust_ui)
self.setData(QtCore.Qt.ItemDataRole.UserRole, action_list)
action_list.setGeometry(QtCore.QRect(20, 30, widget.width() - 20, 20))

View File

@@ -14,6 +14,8 @@ class ActionListAddCommand(QUndoCommand):
def redo(self):
self.action_list.insertItem(self.row, self.action_item)
if self.action_list.level > 0:
self.action_list.get_parent().action.args.action_list.append(self.action_item.action)
self.action_item.render()
self.action_list.adjust_ui()
@@ -25,6 +27,8 @@ class ActionListAddCommand(QUndoCommand):
# GlobalUtil.all_widget["action_list"].remove(self.action_item.data(QtCore.Qt.ItemDataRole.UserRole))
del GlobalUtil.all_widget["action_list"][self.action_item.data(QtCore.Qt.ItemDataRole.UserRole).uuid]
del GlobalUtil.all_widget["action_list_item"][self.action_item.uuid]
if self.action_list.level > 0:
self.action_list.get_parent().action.args.action_list.remove(self.action_item.action)
from actions.action_list_item import ActionListItem
# 重新加载,避免被 pyqt GC
action_list_item = ActionListItem.load(self.action_item.dump())
@@ -49,6 +53,8 @@ class ActionListDeleteCommand(QUndoCommand):
if self.delete_action_list_item.type == "include":
del GlobalUtil.all_widget["action_list"][self.action_list.item(self.row).data(QtCore.Qt.ItemDataRole.UserRole).uuid]
del GlobalUtil.all_widget["action_list_item"][self.delete_action_list_item.uuid]
if self.action_list.level > 0:
self.action_list.get_parent().action.args.action_list.remove(self.delete_action_list_item.action)
self.action_list.takeItem(self.row)
self.action_list.adjust_ui()
@@ -56,6 +62,9 @@ class ActionListDeleteCommand(QUndoCommand):
def undo(self):
self.action_list.insertItem(self.row, self.delete_action_list_item)
if self.action_list.level > 0:
self.action_list.get_parent().action.args.action_list.append(self.delete_action_list_item.action)
self.delete_action_list_item.render()
self.action_list.adjust_ui()