this should be the proper lyx2lyx conversion needed for completing
last pdf fixes. i made tests, but please overlook it.

thanks for your help with that,
pavel
Index: development/FORMAT
===================================================================
--- development/FORMAT  (revision 20918)
+++ development/FORMAT  (working copy)
@@ -1,6 +1,10 @@
 LyX file-format changes
 -----------------------
 
+2007-10-11 Pavel Sanda <[EMAIL PROTECTED]>
+       * Format incremented to 294: PDFOptions: add usetitle,
+         fix leftovers
+
 2007-10-11 Bo Peng <[EMAIL PROTECTED]>
        * Format incremented to 293: Add InsetInfo.
 
Index: src/PDFOptions.cpp
===================================================================
--- src/PDFOptions.cpp  (revision 20918)
+++ src/PDFOptions.cpp  (working copy)
@@ -70,7 +70,7 @@
        os << "\\pdf_bookmarks " << convert<string>(bookmarks) << '\n';
        os << "\\pdf_bookmarksnumbered " << convert<string>(bookmarksnumbered) 
<< '\n';
        os << "\\pdf_bookmarksopen " << convert<string>(bookmarksopen) << '\n';
-       os << "\\pdf_bookmarksopenlevel \"" << bookmarksopenlevel << "\"\n";
+       os << "\\pdf_bookmarksopenlevel " << bookmarksopenlevel << '\n';
        
        os << "\\pdf_breaklinks "  << convert<string>(breaklinks)  << '\n';
        os << "\\pdf_pdfborder "   << convert<string>(pdfborder)   << '\n';
@@ -188,8 +188,6 @@
                lex >> pagemode;
        } else if (token == "\\pdf_quoted_options") {
                lex >> quoted_options;
-       } else if (token == "\\pdf_store_options") {
-               //leftover from previous option; intended for later removal
        } else {
                return token;
        }
Index: src/Buffer.cpp
===================================================================
--- src/Buffer.cpp      (revision 20918)
+++ src/Buffer.cpp      (working copy)
@@ -154,7 +154,7 @@
 
 namespace {
 
-int const LYX_FORMAT = 293;
+int const LYX_FORMAT = 294; //ps, pdfoptions
 
 } // namespace anon
 
Index: lib/lyx2lyx/LyX.py
===================================================================
--- lib/lyx2lyx/LyX.py  (revision 20918)
+++ lib/lyx2lyx/LyX.py  (working copy)
@@ -80,7 +80,7 @@
                    ("1_3",     [221], minor_versions("1.3" , 7)),
                    ("1_4", range(222,246), minor_versions("1.4" , 5)),
                    ("1_5", range(246,277), minor_versions("1.5" , 1)),
-                   ("1_6", range(277,294), minor_versions("1.6" , 0))]
+                   ("1_6", range(277,295), minor_versions("1.6" , 0))] # Pavel 
Sanda
 
 
 def formats_list():
Index: lib/lyx2lyx/lyx_1_6.py
===================================================================
--- lib/lyx2lyx/lyx_1_6.py      (revision 20918)
+++ lib/lyx2lyx/lyx_1_6.py      (working copy)
@@ -22,7 +22,7 @@
 import unicodedata
 import sys, os
 
-from parser_tools import find_token, find_end_of, find_tokens
+from parser_tools import find_token, find_end_of, find_tokens, get_value
 
 ####################################################################
 # Private helper functions
@@ -480,6 +480,36 @@
             document.body[i : (j + 1)] = [type + ':' + arg]
 
 
+def upgrade_pdf_options(document):
+    has_hr = get_value(document.header, "\\use_hyperref", 0, default = "0")
+    if has_hr == "1":
+        k = find_token(document.header, "\\use_hyperref", 0)
+        document.header.insert(k + 1, "\\pdf_pdfusetitle true")
+
+    k = find_token(document.header, "\\pdf_store_options", 0)
+    if k != -1:
+        del document.header[k]
+
+    i = find_token(document.header, "\\pdf_bookmarksopenlevel", k)
+    if i == -1: return
+    document.header[i] = document.header[i].replace('"', '')
+
+
+def downgrade_pdf_options(document):
+    k = find_token(document.header, "\\use_hyperref", 0)
+
+    i = find_token(document.header, "\\pdf_pdfusetitle", k)
+    if i != -1:
+        del document.header[i]
+
+    i = find_token(document.header, "\\pdf_bookmarksopenlevel", k)
+    if i == -1: return
+    values = document.header[i].split()
+    values[1] = ' "' + values[1] + '"'
+
+    document.header[i] = ''.join(values)
+
+
 ##
 # Conversion hub
 #
@@ -501,10 +531,12 @@
            [290, []],
            [291, []],
            [292, []],
-           [293, []]
+           [293, []],
+           [294, [upgrade_pdf_options]]
           ]
 
-revert =  [[292, [revert_inset_info]],
+revert =  [[293, [downgrade_pdf_options]],
+           [292, [revert_inset_info]],
            [291, [revert_japanese, revert_japanese_encoding]],
            [290, [revert_vietnamese]],
            [289, [revert_wraptable]],

Reply via email to