From fecc3b830551e3a65b25732b42aebe823df94f71 Mon Sep 17 00:00:00 2001 From: Richard Heck Date: Thu, 4 Nov 2010 16:09:35 +0000 Subject: [PATCH] Fix up fontcolor reversion, and also fix a problem with the note color reversion. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36070 a592a061-630c-0410-9148-cb99ea01b6c8 --- lib/lyx2lyx/lyx_2_0.py | 61 +++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 34 deletions(-) diff --git a/lib/lyx2lyx/lyx_2_0.py b/lib/lyx2lyx/lyx_2_0.py index 922d7484f4..5825f7f67d 100644 --- a/lib/lyx2lyx/lyx_2_0.py +++ b/lib/lyx2lyx/lyx_2_0.py @@ -1157,6 +1157,13 @@ def revert_notefontcolor(document): i = find_token(document.header, "\\notefontcolor", 0) if i == -1: return + + # are there any grey notes? + if find_token(document.body, "\\begin_inset Note Greyedout", 0) == -1: + # no need to do anything, and \renewcommand will throw an error + # since lyxgreyedout will not exist. + return + colorcode = get_value(document.header, '\\notefontcolor', i) del document.header[i] # the color code is in the form #rrggbb where every character denotes a hex number @@ -1195,40 +1202,26 @@ def revert_turkmen(document): def revert_fontcolor(document): " Reverts font color to preamble code " - i = 0 - colorcode = "" - while True: - i = find_token(document.header, "\\fontcolor", i) - if i == -1: - return - colorcode = get_value(document.header, '\\fontcolor', 0) - del document.header[i] - # don't clutter the preamble if backgroundcolor is not set - if colorcode == "#000000": - continue - # the color code is in the form #rrggbb where every character denotes a hex number - # convert the string to an int - red = string.atoi(colorcode[1:3],16) - # we want the output "0.5" for the value "127" therefore add here - if red != 0: - red = red + 1 - redout = float(red) / 256 - green = string.atoi(colorcode[3:5],16) - if green != 0: - green = green + 1 - greenout = float(green) / 256 - blue = string.atoi(colorcode[5:7],16) - if blue != 0: - blue = blue + 1 - blueout = float(blue) / 256 - # write the preamble - insert_to_preamble(0, document, - '% Commands inserted by lyx2lyx to set the font color\n' - + '\\@ifundefined{definecolor}{\\usepackage{color}}{}\n' - + '\\definecolor{document_fontcolor}{rgb}{' - + str(redout) + ', ' + str(greenout) - + ', ' + str(blueout) + '}\n' - + '\\color{document_fontcolor}\n') + i = find_token(document.header, "\\fontcolor", 0) + if i == -1: + return + colorcode = get_value(document.header, '\\fontcolor', i) + del document.header[i] + # don't clutter the preamble if font color is not set + if colorcode == "#000000": + return + # the color code is in the form #rrggbb where every character denotes a hex number + red = hex2ratio(colorcode[1:3]) + green = hex2ratio(colorcode[3:5]) + blue = hex2ratio(colorcode[5:7]) + # write the preamble + insert_to_preamble(0, document, + ['% Commands inserted by lyx2lyx to set the font color', + '\\@ifundefined{definecolor}{\\usepackage{color}}{}', + '\\definecolor{document_fontcolor}{rgb}{' + + str(red) + ', ' + str(green) + ', ' + str(blue) + '}', + '\\color{document_fontcolor}']) + def revert_shadedboxcolor(document): " Reverts shaded box color to preamble code " -- 2.39.2