def delete_group(self, group_item: ProtocolTreeItem):
if self.rootItem.childCount() == 1:
QMessageBox.critical(self.controller, self.tr("Group not deletable"),
self.tr(
"You can't delete the last group. Think about the children, they would be homeless!"))
return
group_id = self.rootItem.index_of(group_item)
if group_id == 0:
new_group_index = 1
else:
new_group_index = group_id - 1
new_group = self.rootItem.children[new_group_index]
for i in reversed(range(group_item.childCount())):
new_group.appendChild(group_item.children[i])
self.removeRow(group_id, QModelIndex())
self.group_deleted.emit(group_id, new_group_index)
评论列表
文章目录