]> git.lyx.org Git - lyx.git/blobdiff - lib/lyx2lyx/lyx_2_2.py
EmbeddedObjects.lyx: more updates for the box description
[lyx.git] / lib / lyx2lyx / lyx_2_2.py
index 6e237fba4bd468569a304888da043996d4c9cd80..562507be9c12d6a1f327dccc8fc59bf17da0c5eb 100644 (file)
@@ -1096,7 +1096,7 @@ def revert_colorbox(document):
 
     i = 0
     defaultframecolor = "black"
-    defaultbackcolor = "white"
+    defaultbackcolor = "none"
     while True:
         i = find_token(document.body, "framecolor", i)
         if i == -1:
@@ -1108,17 +1108,26 @@ def revert_colorbox(document):
         beg = document.body[i+1].find('"');
         end = document.body[i+1].rfind('"');
         backcolor = document.body[i+1][beg+1:end];
+        j = find_end_of_inset(document.body, i)
+        if j == -1:
+            document.warning("Malformed LyX document: Can't find end of box inset!")
+            i += 1
+            continue
         # delete the specification
         del document.body[i:i+2]
         # output TeX code
         # first output the closing brace
         if framecolor != defaultframecolor or backcolor != defaultbackcolor:
-            document.body[i + 9 : i + 9] = put_cmd_in_ert("}")
+            document.body[j + 1 : j + 1] = put_cmd_in_ert("}")
         # now output the box commands
         if framecolor != defaultframecolor or backcolor != defaultbackcolor:
             document.body[i - 14 : i - 14] = put_cmd_in_ert("{")
         if framecolor != defaultframecolor:
-            document.body[i - 9 : i - 8] = ["\\backslash fboxcolor{" + framecolor + "}{" + backcolor + "}{"]
+            document.body[i - 9 : i - 8] = ["\\backslash fcolorbox{" + framecolor + "}{" + backcolor + "}{"]
+            k = find_token(document.body, "\\begin_inset Box Boxed", i - 16)
+            if k != -1:
+                # \fcolorbox is already framed box thus remove the frame
+                document.body[k : k + 1] = ["\\begin_inset Box Frameless"]
         if backcolor != defaultbackcolor and framecolor == defaultframecolor:
             document.body[i - 9 : i - 8] = ["\\backslash colorbox{" + backcolor + "}{"]
         i = i + 11
@@ -1160,53 +1169,6 @@ def revert_mathmulticol(document):
             i = j
 
 
-def revert_Argument_to_TeX_brace(document, line, endline, n, nmax, environment, opt):
-    '''
-    Reverts an InsetArgument to TeX-code
-    usage:
-    revert_Argument_to_TeX_brace(document, LineOfBegin, LineOfEnd, StartArgument, EndArgument, isEnvironment, isOpt)
-    LineOfBegin is the line  of the \begin_layout or \begin_inset statement
-    LineOfEnd is the line  of the \end_layout or \end_inset statement, if "0" is given, the end of the file is used instead
-    StartArgument is the number of the first argument that needs to be converted
-    EndArgument is the number of the last argument that needs to be converted or the last defined one
-    isEnvironment must be true, if the layout is for a LaTeX environment
-    isOpt must be true, if the argument is an optional one
-    '''
-    lineArg = 0
-    wasOpt = False
-    while lineArg != -1 and n < nmax + 1:
-      lineArg = find_token(document.body, "\\begin_inset Argument " + str(n), line)
-      if lineArg > endline and endline != 0:
-        return wasOpt
-      if lineArg != -1:
-        beginPlain = find_token(document.body, "\\begin_layout Plain Layout", lineArg)
-        # we have to assure that no other inset is in the Argument
-        beginInset = find_token(document.body, "\\begin_inset", beginPlain)
-        endInset = find_token(document.body, "\\end_inset", beginPlain)
-        k = beginPlain + 1
-        l = k
-        while beginInset < endInset and beginInset != -1:
-          beginInset = find_token(document.body, "\\begin_inset", k)
-          endInset = find_token(document.body, "\\end_inset", l)
-          k = beginInset + 1
-          l = endInset + 1
-        if environment == False:
-          if opt == False:
-            document.body[endInset - 2 : endInset + 1] = put_cmd_in_ert("}{")
-            del(document.body[lineArg : beginPlain + 1])
-            wasOpt = False
-          else:
-            document.body[endInset - 2 : endInset + 1] = put_cmd_in_ert("]")
-            document.body[lineArg : beginPlain + 1] = put_cmd_in_ert("[")
-            wasOpt = True
-        else:
-          document.body[endInset - 2 : endInset + 1] = put_cmd_in_ert("}")
-          document.body[lineArg : beginPlain + 1] = put_cmd_in_ert("{")
-          wasOpt = False
-        n += 1
-    return wasOpt
-
-
 def revert_jss(document):
     " Reverts JSS In_Preamble commands to ERT in preamble "