Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
accessibility_movie_2
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵心治
accessibility_movie_2
Commits
93b9f63c
Commit
93b9f63c
authored
Nov 15, 2022
by
xuanweiace
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix 修改两个槽函数的顺序关系,以保证修改的旁白先存到内存,再写入历史记录
add 【编辑表格】时,增加对前后记录的时间合法性校验
parent
1d2f2b64
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
26 additions
and
6 deletions
+26
-6
main_window.py
main_window.py
+6
-5
operation_dialog.py
operation_dialog.py
+20
-1
No files found.
main_window.py
View file @
93b9f63c
...
@@ -229,10 +229,10 @@ class MainWindow(QMainWindow, Ui_MainWindow):
...
@@ -229,10 +229,10 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self
.
pb_tableWidget
.
itemDoubleClicked
.
connect
(
self
.
writeHistory
)
self
.
pb_tableWidget
.
itemDoubleClicked
.
connect
(
self
.
writeHistory
)
self
.
pb_tableWidget
.
itemDoubleClicked
.
connect
(
self
.
pb_item_changed_by_double_clicked_slot
)
self
.
pb_tableWidget
.
itemDoubleClicked
.
connect
(
self
.
pb_item_changed_by_double_clicked_slot
)
self
.
pb_tableWidget
.
itemChanged
.
connect
(
self
.
rewriteHistory
)
self
.
pb_tableWidget
.
itemChanged
.
connect
(
self
.
generate_audio_slot
)
# todo 现在只在【旁白】tab上双击修改,会保存表格到本地,【字幕旁白】tab上不行。(【字幕旁白】tab上无法修改旁白)
# todo 现在只在【旁白】tab上双击修改,会保存表格到本地,【字幕旁白】tab上不行。(【字幕旁白】tab上无法修改旁白)
self
.
pb_tableWidget
.
itemChanged
.
connect
(
self
.
write2ProjectFromAside
)
self
.
pb_tableWidget
.
itemChanged
.
connect
(
self
.
write2ProjectFromAside
)
self
.
pb_tableWidget
.
itemChanged
.
connect
(
self
.
generate_audio_slot
)
self
.
pb_tableWidget
.
itemChanged
.
connect
(
self
.
rewriteHistory
)
self
.
pb_tableWidget
.
itemDoubleClicked
.
connect
(
self
.
change_video_time
)
self
.
pb_tableWidget
.
itemDoubleClicked
.
connect
(
self
.
change_video_time
)
# 其他变量
# 其他变量
...
@@ -968,8 +968,8 @@ class MainWindow(QMainWindow, Ui_MainWindow):
...
@@ -968,8 +968,8 @@ class MainWindow(QMainWindow, Ui_MainWindow):
return
return
if
self
.
is_user_editing
()
==
False
:
if
self
.
is_user_editing
()
==
False
:
return
return
# 这里不需要加,因为按照槽函数的顺序 还有一个要执行的
#
self.set_user_edit(False)
self
.
set_user_edit
(
False
)
if
item
is
None
:
if
item
is
None
:
print
(
"WRONG!!!! item Is None"
)
print
(
"WRONG!!!! item Is None"
)
return
return
...
@@ -1035,7 +1035,8 @@ class MainWindow(QMainWindow, Ui_MainWindow):
...
@@ -1035,7 +1035,8 @@ class MainWindow(QMainWindow, Ui_MainWindow):
return
return
if
self
.
is_user_editing
()
==
False
:
if
self
.
is_user_editing
()
==
False
:
return
return
self
.
set_user_edit
(
False
)
# 这里不需要加,因为按照槽函数的顺序 还有一个要执行的
# self.set_user_edit(False)
if
item
is
None
:
if
item
is
None
:
print
(
"WRONG!!!! item Is None"
)
print
(
"WRONG!!!! item Is None"
)
return
return
...
...
operation_dialog.py
View file @
93b9f63c
...
@@ -81,6 +81,8 @@ class Operation_Dialog(QDialog, Ui_Dialog):
...
@@ -81,6 +81,8 @@ class Operation_Dialog(QDialog, Ui_Dialog):
else
:
else
:
for
i
in
range
(
1
,
len
(
self
.
lineEdits
)):
for
i
in
range
(
1
,
len
(
self
.
lineEdits
)):
self
.
lineEdits
[
i
]
.
setEnabled
(
False
)
self
.
lineEdits
[
i
]
.
setEnabled
(
False
)
for
timeEdit
in
self
.
timeEdits
:
timeEdit
.
setEnabled
(
False
)
# 修改完后需要重新检测
# 修改完后需要重新检测
def
remake_slot
(
self
):
def
remake_slot
(
self
):
...
@@ -89,6 +91,7 @@ class Operation_Dialog(QDialog, Ui_Dialog):
...
@@ -89,6 +91,7 @@ class Operation_Dialog(QDialog, Ui_Dialog):
def
check_validate_slot
(
self
):
def
check_validate_slot
(
self
):
# 校验行数
# 校验行数
# todo 用tableWidget还是用all_element?
rowCount
=
self
.
mainWindow
.
all_tableWidget
.
rowCount
()
rowCount
=
self
.
mainWindow
.
all_tableWidget
.
rowCount
()
try
:
try
:
row_number
=
int
(
self
.
lineEdit
.
text
())
row_number
=
int
(
self
.
lineEdit
.
text
())
...
@@ -118,7 +121,7 @@ class Operation_Dialog(QDialog, Ui_Dialog):
...
@@ -118,7 +121,7 @@ class Operation_Dialog(QDialog, Ui_Dialog):
return
False
return
False
# 这些是只有【add】才需要检测的
# 这些是只有【add】才需要检测的
if
self
.
comboBox_2
.
currentText
()
==
"增加一行"
:
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
:
...
@@ -128,7 +131,21 @@ class Operation_Dialog(QDialog, Ui_Dialog):
...
@@ -128,7 +131,21 @@ class Operation_Dialog(QDialog, Ui_Dialog):
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
:
assert
float
(
self
.
mainWindow
.
projectContext
.
all_elements
[
row_number
+
1
]
.
st_time_sec
)
>
end_time_f
# 要求起始时间在上一行后面,在下一行前面
if
row_number
>=
1
:
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
[
row_number
+
1
]
.
st_time_sec
)
>
start_time_f
# 要求start_time_f小于总时长
assert
start_time_f
<
self
.
mainWindow
.
player
.
duration
()
/
1000
except
Exception
as
e
:
except
Exception
as
e
:
import
traceback
exc_traceback
=
''
.
join
(
traceback
.
format_exception
(
*
sys
.
exc_info
()))
print
(
"[Catch Exception in start.py]"
,
exc_traceback
)
self
.
mainWindow
.
prompt_dialog
.
show_with_msg
(
self
.
mainWindow
.
prompt_dialog
.
show_with_msg
(
"校验失败!起始时间或结束时间输入有误!!"
)
"校验失败!起始时间或结束时间输入有误!!"
)
return
False
return
False
...
@@ -165,6 +182,8 @@ class Operation_Dialog(QDialog, Ui_Dialog):
...
@@ -165,6 +182,8 @@ class Operation_Dialog(QDialog, Ui_Dialog):
def
set_all_user_component_status
(
self
,
status
:
bool
):
def
set_all_user_component_status
(
self
,
status
:
bool
):
for
lineEdit
in
self
.
lineEdits
:
for
lineEdit
in
self
.
lineEdits
:
lineEdit
.
setEnabled
(
status
)
lineEdit
.
setEnabled
(
status
)
for
timeEdit
in
self
.
timeEdits
:
timeEdit
.
setEnabled
(
status
)
self
.
comboBox
.
setEnabled
(
status
)
self
.
comboBox
.
setEnabled
(
status
)
self
.
comboBox_2
.
setEnabled
(
status
)
self
.
comboBox_2
.
setEnabled
(
status
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment