From 9498f9758fcfd317c74969b12397b753846eb2f6 Mon Sep 17 00:00:00 2001 From: Angus Leeming Date: Wed, 3 Sep 2003 17:28:39 +0000 Subject: [PATCH] src/support/ChangeLog git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7650 a592a061-630c-0410-9148-cb99ea01b6c8 --- lib/lyx2lyx/lyxconvert_224.py | 71 ++- lib/scripts/lyxpreview2bitmap.sh | 168 ++++--- src/factory.C | 12 +- src/frontends/controllers/ChangeLog | 4 + src/frontends/controllers/ControlBibtex.C | 32 +- src/frontends/controllers/ControlBibtex.h | 22 +- src/frontends/qt2/QBibtex.C | 85 ++-- src/frontends/xforms/FormBibtex.C | 560 ++++++++++++++++------ src/frontends/xforms/FormBibtex.h | 23 + src/frontends/xforms/forms/form_bibtex.fd | 244 ++++++---- src/insets/insetbibtex.C | 432 +++++++++++++---- src/insets/insetbibtex.h | 74 ++- src/lyxfunc.C | 6 +- src/support/ChangeLog | 1 + 14 files changed, 1253 insertions(+), 481 deletions(-) diff --git a/lib/lyx2lyx/lyxconvert_224.py b/lib/lyx2lyx/lyxconvert_224.py index 02fe77ebc3..a391c3c2af 100644 --- a/lib/lyx2lyx/lyxconvert_224.py +++ b/lib/lyx2lyx/lyxconvert_224.py @@ -18,7 +18,8 @@ import re from parser_tools import find_token, find_tokens, find_end_of_inset from sys import stderr -from string import replace, split +from string import replace, split, strip +import re def add_end_layout(lines): i = find_token(lines, '\\layout', 0) @@ -104,12 +105,78 @@ def end_document(lines): lines.append("\\end_document") return lines[i] = "\\end_document" - + +def convert_bibtex(lines): + bibtex_header = "\\begin_inset LatexCommand \\bibtex" + i = 0 + while 1: + i = find_token(lines, bibtex_header, i) + if i == -1: + break + # We've found a bibtex inset. + # I'd like to strip bibtex_header from the front of lines[i] + lines[i] = replace(lines[i], bibtex_header, "") + + # Trim any space at extremes + lines[i] = strip(lines[i]) + + # Does the thing have an opt arg? + optarg_rexp = re.compile(r'^\[([^]]*)\]') + optarg = optarg_rexp.search(lines[i]) + optarg_contents = '' + if optarg: + optarg_contents = optarg.group(1) + # strip [] from the front of lines[i] + lines[i] = replace (lines[i], '[' + optarg.group(0) + ']', '') + + # lines[i] should now contain "{}" + mainarg_rexp = re.compile(r'{([^}]*)}') + mainarg = mainarg_rexp.search(lines[i]) + mainarg_contents = '' + if mainarg: + mainarg_contents = mainarg.group(1) + else: + # complain about a mal-formed lyx file. + stderr.write("Mal-formed bibitem\n") + + # optarg will contain either + # "bibtotoc,