Commit c7b385c9 authored by xuanweiace's avatar xuanweiace

fix 校验前后行的起始时间的逻辑

parent 5d3fc565
...@@ -119,26 +119,34 @@ class Operation_Dialog(QDialog, Ui_Dialog): ...@@ -119,26 +119,34 @@ class Operation_Dialog(QDialog, Ui_Dialog):
self.mainWindow.prompt_dialog.show_with_msg( self.mainWindow.prompt_dialog.show_with_msg(
"校验失败!起始或结束时间输入的格式有误!应该为hh:mm:ss.zzz!!") "校验失败!起始或结束时间输入的格式有误!应该为hh:mm:ss.zzz!!")
return False return False
list_idx = row_number-1
# 这些是只有【add】才需要检测的 # 这些是只有【add】才需要检测的
if self.comboBox_2.currentText() in ["增加一行", "修改一行"]: if self.comboBox_2.currentText() in ["增加一行", "修改一行"]:
# 校验起始时间、结束时间 # 校验起始时间、结束时间
start_time_f, end_time_f = 0.0, 0.0 start_time_f, end_time_f = 0.0, 0.0
try: try:
print("start_time_f:", self.timeEdit.time().toString("hh:mm:ss.qq"))
start_time_f = float( start_time_f = float(
utils.trans_to_seconds(self.timeEdit.time().toString("hh:mm:ss"))) utils.trans_to_seconds(self.timeEdit.time().toString("hh:mm:ss:qq")))
if self.comboBox.currentText() == "字幕": if self.comboBox.currentText() == "字幕":
end_time_f = float( end_time_f = float(
utils.trans_to_seconds(self.timeEdit_2.time().toString("hh:mm:ss"))) utils.trans_to_seconds(self.timeEdit_2.time().toString("hh:mm:ss")))
assert start_time_f < end_time_f assert start_time_f < end_time_f
if row_number < rowCount: if row_number < rowCount:
assert float(self.mainWindow.projectContext.all_elements[row_number+1].st_time_sec) > end_time_f # 要求结束时间在下一行的起始时间前面,对增加和修改都适用
assert float(self.mainWindow.projectContext.all_elements[list_idx+1].st_time_sec) > end_time_f
# 要求起始时间在上一行后面,在下一行前面 # 要求起始时间在上一行后面,在下一行前面
if row_number >= 1: if self.comboBox_2.currentText() == "增加一行":
assert float(self.mainWindow.projectContext.all_elements[row_number-1].st_time_sec) < start_time_f if row_number >= 1:
if row_number < rowCount: assert float(self.mainWindow.projectContext.all_elements[list_idx].st_time_sec) < start_time_f
assert float(self.mainWindow.projectContext.all_elements[row_number+1].st_time_sec) > start_time_f if row_number < rowCount:
assert float(self.mainWindow.projectContext.all_elements[list_idx+1].st_time_sec) > start_time_f
elif self.comboBox_2.currentText() == "修改一行":
if row_number >= 1:
assert float(self.mainWindow.projectContext.all_elements[list_idx-1].st_time_sec) < start_time_f
if row_number < rowCount:
assert float(self.mainWindow.projectContext.all_elements[list_idx+1].st_time_sec) > start_time_f
# 要求start_time_f小于总时长 # 要求start_time_f小于总时长
assert start_time_f < self.mainWindow.player.duration()/1000 assert start_time_f < self.mainWindow.player.duration()/1000
except Exception as e: except Exception as e:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment