]> git.lyx.org Git - lyx.git/blobdiff - lib/lyx2lyx/lyx_1_6.py
Fileformat change.
[lyx.git] / lib / lyx2lyx / lyx_1_6.py
index 69bbebf6bfa88603b57ca573faee1f61349015cc..7095e0962f661bd1468fe90e580ea9fba18cd0eb 100644 (file)
@@ -1647,11 +1647,34 @@ def revert_local_layout(document):
 
 def convert_pagebreaks(document):
     ' Convert inline Newpage insets to new format '
-    for i in range(len(document.body)):
-        document.body[i] = document.body[i].replace('\\newpage', '\\begin_inset Newpage newpage\n\\end_inset')
-        document.body[i] = document.body[i].replace('\\pagebreak', '\\begin_inset Newpage pagebreak\n\\end_inset')
-        document.body[i] = document.body[i].replace('\\clearpage', '\\begin_inset Newpage clearpage\n\\end_inset')
-        document.body[i] = document.body[i].replace('\\cleardoublepage', '\\begin_inset Newpage cleardoublepage\n\\end_inset')
+    i = 0
+    while True:
+        i = find_token(document.body, '\\newpage', i)
+        if i == -1:
+            break
+        document.body[i:i+1] = ['\\begin_inset Newpage newpage',
+                             '\\end_inset']
+    i = 0
+    while True:
+        i = find_token(document.body, '\\pagebreak', i)
+        if i == -1:
+            break
+        document.body[i:i+1] = ['\\begin_inset Newpage pagebreak',
+                             '\\end_inset']
+    i = 0
+    while True:
+        i = find_token(document.body, '\\clearpage', i)
+        if i == -1:
+            break
+        document.body[i:i+1] = ['\\begin_inset Newpage clearpage',
+                             '\\end_inset']
+    i = 0
+    while True:
+        i = find_token(document.body, '\\cleardoublepage', i)
+        if i == -1:
+            break
+        document.body[i:i+1] = ['\\begin_inset Newpage cleardoublepage',
+                             '\\end_inset']
 
 
 def revert_pagebreaks(document):
@@ -1672,6 +1695,57 @@ def revert_pagebreaks(document):
         document.body[i] = document.body[i].replace('\\begin_inset Newpage cleardoublepage', '\\cleardoublepage')
 
 
+def convert_linebreaks(document):
+    ' Convert inline Newline insets to new format '
+    i = 0
+    while True:
+        i = find_token(document.body, '\\newline', i)
+        if i == -1:
+            break
+        document.body[i:i+1] = ['\\begin_inset Newline newline',
+                             '\\end_inset']
+    i = 0
+    while True:
+        i = find_token(document.body, '\\linebreak', i)
+        if i == -1:
+            break
+        document.body[i:i+1] = ['\\begin_inset Newline linebreak',
+                             '\\end_inset']
+
+
+def revert_linebreaks(document):
+    ' Revert \\begin_inset Newline to previous inline format '
+    i = 0
+    while True:
+        i = find_token(document.body, '\\begin_inset Newline', i)
+        if i == -1:
+            return
+        j = find_end_of_inset(document.body, i)
+        if j == -1:
+            document.warning("Malformed LyX document: Could not find end of Newline inset.")
+            continue
+        del document.body[j]
+        document.body[i] = document.body[i].replace('\\begin_inset Newline newline', '\\newline')
+        document.body[i] = document.body[i].replace('\\begin_inset Newline linebreak', '\\linebreak')
+
+
+def convert_japanese_plain(document):
+    "Set language japanese-plain to japanese"
+    i = 0
+    if document.language == "japanese-plain":
+        document.language = "japanese"
+        i = find_token(document.header, "\\language", 0)
+        if i != -1:
+            document.header[i] = "\\language japanese"
+    j = 0
+    while True:
+        j = find_token(document.body, "\\lang japanese-plain", j)
+        if j == -1:
+            return
+        document.body[j] = document.body[j].replace("\\lang japanese-plain", "\\lang japanese")
+        j = j + 1
+
+
 ##
 # Conversion hub
 #
@@ -1723,10 +1797,14 @@ convert = [[277, [fix_wrong_tables]],
            [320, []],
            [321, [convert_tablines]],
            [322, []],
-           [323, [convert_pagebreaks]]
+           [323, [convert_pagebreaks]],
+           [324, [convert_linebreaks]],
+           [325, [convert_japanese_plain]],
           ]
 
-revert =  [[322, [revert_pagebreaks]],
+revert =  [[324, []],
+           [323, [revert_linebreaks]],
+           [322, [revert_pagebreaks]],
            [321, [revert_local_layout]],
            [320, [revert_tablines]],
            [319, [revert_protected_hfill]],