Speed up convert_captionlayouts. Part of #11200.

(cherry picked from commit 4cb209b121)
This commit is contained in:
Richard Kimberly Heck 2018-07-16 22:14:36 -04:00
parent c1945d27df
commit f57346dd6e

View File

@ -3656,23 +3656,22 @@ def convert_captionlayouts(document):
"Bicaption" : "Bicaption",
}
for captype in caption_dict.keys():
i = 0
while True:
i = find_token(document.body, "\\begin_layout", i)
i = find_token(document.body, "\\begin_layout " + captype, i)
if i == -1:
return
val = get_value(document.body, "\\begin_layout", i)
if val in list(caption_dict.keys()):
break
j = find_end_of_layout(document.body, i)
if j == -1:
document.warning("Malformed LyX document: Missing `\\end_layout'.")
return
break
document.body[j:j] = ["\\end_layout", "", "\\end_inset", "", ""]
document.body[i:i+1] = ["\\begin_layout %s" % document.default_layout,
"\\begin_inset Caption %s" % caption_dict[captype], "",
"\\begin_layout %s" % document.default_layout]
i += 1
i = j + 1
def revert_captionlayouts(document):