1、修复了其他几个模块的Permission Denied时无法正确提示的问题

2、为这些模块重新添加了手动保存的功能,当内容尚未成功保存到磁盘时,内容将暂存到内存中,正确操作后手动点击手动保存将能正确保存结果
This commit is contained in:
2025-06-04 20:12:28 +08:00
parent 65f8bef694
commit 56149d47e9
14 changed files with 256 additions and 47 deletions

View File

@ -33,6 +33,7 @@ ButtonState = {
"Default": {
"pushButton_input_setting": True,
"pushButton_input": True,
"pushButton_save": False,
"pushButton_prev_move": False,
"pushButton_pause": False,
"pushButton_next_move": False
@ -40,6 +41,7 @@ ButtonState = {
"Current": {
"pushButton_input_setting": True,
"pushButton_input": True,
"pushButton_save": False,
"pushButton_prev_move": False,
"pushButton_pause": False,
"pushButton_next_move": False
@ -306,6 +308,7 @@ class MainWindow_label_check(QMainWindow):
self.ui.pushButton_input.clicked.connect(self.__slot_btn_input__)
self.ui.pushButton_input_setting.clicked.connect(self.setting.show)
self.ui.pushButton_save.clicked.connect(self.__slot_btn_save__)
self.ui.pushButton_prev_move.clicked.connect(self.__slot_btn_move__)
self.ui.pushButton_pause.clicked.connect(self.__slot_btn_move__)
self.ui.pushButton_next_move.clicked.connect(self.__slot_btn_move__)
@ -547,11 +550,29 @@ class MainWindow_label_check(QMainWindow):
action.setEnabled(True)
ButtonState["Current"]["pushButton_input"] = False
ButtonState["Current"]["pushButton_input_setting"] = False
ButtonState["Current"]["pushButton_save"] = True
ButtonState["Current"]["pushButton_prev_move"] = True
ButtonState["Current"]["pushButton_next_move"] = True
ButtonState["Current"]["pushButton_pause"] = True
PublicFunc.finish_operation(self, ButtonState)
def __slot_btn_save__(self):
PublicFunc.__disableAllButton__(self, ButtonState)
# 保存
PublicFunc.progressbar_update(self, 1, 1, Constants.SAVING_DATA, 0)
result = self.data.save()
if not result.status:
PublicFunc.text_output(self.ui, "(1/1)" + result.info, Constants.TIPS_TYPE_ERROR)
PublicFunc.msgbox_output(self, result.info, Constants.MSGBOX_TYPE_ERROR)
PublicFunc.finish_operation(self, ButtonState)
return
else:
PublicFunc.text_output(self.ui, "(1/1)" + result.info, Constants.TIPS_TYPE_INFO)
PublicFunc.msgbox_output(self, result.info, Constants.TIPS_TYPE_INFO)
PublicFunc.finish_operation(self, ButtonState)
def __slot_btn_move__(self):
if self.data is None:
return
@ -825,12 +846,13 @@ class MainWindow_label_check(QMainWindow):
self.__update_tableWidget_and_info__()
result = self.data.save()
if not result.status:
PublicFunc.text_output(self.ui, result.info, Constants.TIPS_TYPE_ERROR)
PublicFunc.msgbox_output(self, result.info, Constants.MSGBOX_TYPE_ERROR)
PublicFunc.finish_operation(self, ButtonState)
return
info = f"未成功保存,错误提示:{result.info},结果已暂存到缓存中,请正确操作后重试。"
PublicFunc.text_output(self.ui, info, Constants.TIPS_TYPE_ERROR)
PublicFunc.msgbox_output(self, info, Constants.MSGBOX_TYPE_ERROR)
else:
PublicFunc.text_output(self.ui, result.info, Constants.TIPS_TYPE_INFO)
info = result.info
PublicFunc.text_output(self.ui, info, Constants.TIPS_TYPE_INFO)
# 移除矩形patch
if self.figToolbar.rect_patch_ax0 is not None and self.figToolbar.rect_patch_ax1 is not None:
self.figToolbar.rect_patch_ax0.remove()