]> git.lyx.org Git - lyx.git/commitdiff
Introduce new file format flag "menu=export" to define which document formats the...
authorJürgen Spitzmüller <spitz@lyx.org>
Sun, 13 Feb 2011 09:34:10 +0000 (09:34 +0000)
committerJürgen Spitzmüller <spitz@lyx.org>
Sun, 13 Feb 2011 09:34:10 +0000 (09:34 +0000)
The actual selection of formats needs to be audited.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37616 a592a061-630c-0410-9148-cb99ea01b6c8

RELEASE-NOTES
lib/configure.py
lib/ui/stdmenus.inc
src/Format.h
src/LyXRC.cpp
src/frontends/qt4/GuiPrefs.cpp
src/frontends/qt4/Menus.cpp
src/frontends/qt4/ui/PrefFileformatsUi.ui

index 1f5cee758a909345331e7eb1be9a3604149dce89..a06afb54c1a4cb969751f87c373ecb6f86071fb7 100644 (file)
@@ -17,7 +17,16 @@ the default print settings (which, of course, have to have been configured
 already). At present, not many commands can be used this way, but there will
 be more eventually.
 
-Bash completion script was added to the tarball.
+A bash completion script was added to the tarball.
+
+We have introduced a new flag to decide whether or not a given "document"
+format shall be listed in the File > Export menu. This was necessary since
+this menu got too large. If the flag "menu=export" is not explicitly set,
+the formats are not included in the menu. This means that you might need
+to click "Show in export menu" in Preferences > File Formats for your
+customized file formats if you want them to appear in the menu.
+Note, though, that you still can export to any possible format via
+File > Export > More Formats and Options ...
 
 The following pref variables were changed in 2.0:
 
index 9fd21c819f785b309e8d20d275c9803b8e955592..0961d8b3560e800fd019e2b677be13e7912dccf5 100644 (file)
@@ -498,19 +498,19 @@ def checkFormatEntries(dtl_tools):
 \Format asciiimage asc    "Plain text (image)"         "" ""   "%%"    ""
 \Format asciixfig  asc    "Plain text (Xfig output)"   "" ""   "%%"    ""
 \Format dateout    tmp    "date (output)"         "" ""        "%%"    ""
-\Format docbook    sgml    DocBook                B  ""        "%%"    "document"
-\Format docbook-xml xml   "Docbook (XML)"         "" ""        "%%"    "document"
+\Format docbook    sgml    DocBook                B  ""        "%%"    "document,menu=export"
+\Format docbook-xml xml   "Docbook (XML)"         "" ""        "%%"    "document,menu=export"
 \Format dot        dot    "Graphviz Dot"          "" ""        "%%"    "vector"
-\Format platex     tex    "LaTeX (pLaTeX)"        "" "" "%%"    "document"
-\Format literate   nw      NoWeb                  N  ""        "%%"    "document"
-\Format sweave     Rnw    "Sweave"                S  "" "%%"    "document"
+\Format platex     tex    "LaTeX (pLaTeX)"        "" "" "%%"    "document,menu=export"
+\Format literate   nw      NoWeb                  N  ""        "%%"    "document,menu=export"
+\Format sweave     Rnw    "Sweave"                S  "" "%%"    "document,menu=export"
 \Format lilypond   ly     "LilyPond music"        "" ""        "%%"    "vector"
 \Format lilypond-book    lytex "LilyPond book (LaTeX)"   "" "" "%%"    "document"
-\Format latex      tex    "LaTeX (plain)"         L  ""        "%%"    "document"
-\Format luatex     tex    "LaTeX (LuaTeX)"        "" ""        "%%"    "document"
-\Format pdflatex   tex    "LaTeX (pdflatex)"      "" ""        "%%"    "document"
-\Format xetex      tex    "LaTeX (XeTeX)"         "" ""        "%%"    "document"
-\Format text       txt    "Plain text"            a  ""        "%%"    "document"
+\Format latex      tex    "LaTeX (plain)"         L  ""        "%%"    "document,menu=export"
+\Format luatex     tex    "LaTeX (LuaTeX)"        "" ""        "%%"    "document,menu=export"
+\Format pdflatex   tex    "LaTeX (pdflatex)"      "" ""        "%%"    "document,menu=export"
+\Format xetex      tex    "LaTeX (XeTeX)"         "" ""        "%%"    "document,menu=export"
+\Format text       txt    "Plain text"            a  ""        "%%"    "document,menu=export"
 \Format text2      txt    "Plain text (pstotext)" "" ""        "%%"    "document"
 \Format text3      txt    "Plain text (ps2ascii)" "" ""        "%%"    "document"
 \Format text4      txt    "Plain text (catdvi)"   "" ""        "%%"    "document"
@@ -522,9 +522,9 @@ def checkFormatEntries(dtl_tools):
 \Format oocalc     ods    "OpenOffice spreadsheet" "" "" "%%"    "document"''']) 
  #
     path, xhtmlview = checkViewer('an HTML previewer', ['firefox', 'mozilla file://$$p$$i', 'netscape'],
-        rc_entry = [r'\Format xhtml      xhtml   "LyXHTML"              y "%%" ""    "document"'])
+        rc_entry = [r'\Format xhtml      xhtml   "LyXHTML"              y "%%" ""    "document,menu=export"'])
     if xhtmlview == "":
-        addToRC(r'\Format xhtml      xhtml   "LyXHTML"              y "" ""  "document"')
+        addToRC(r'\Format xhtml      xhtml   "LyXHTML"              y "" ""  "document,menu=export"')
  #
     checkEditor('a BibTeX editor', ['sensible-editor', 'jabref', 'JabRef', \
         'pybliographic', 'bibdesk', 'gbib', 'kbib', \
@@ -541,32 +541,32 @@ def checkFormatEntries(dtl_tools):
     # for xdg-open issues look here: http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg151818.html
     checkViewer('a PDF previewer', ['kpdf', 'okular', 'evince', 'kghostview', 'xpdf', 'acrobat', 'acroread', \
                    'gv', 'ghostview'],
-        rc_entry = [r'''\Format pdf        pdf    "PDF (ps2pdf)"          P  "%%"      ""      "document,vector"
-\Format pdf2       pdf    "PDF (pdflatex)"        F  "%%"      ""      "document,vector"
-\Format pdf3       pdf    "PDF (dvipdfm)"         m  "%%"      ""      "document,vector"
-\Format pdf4       pdf    "PDF (XeTeX)"           X  "%%"      ""      "document,vector"
-\Format pdf5       pdf    "PDF (LuaTeX)"          u  "%%"      ""      "document,vector"'''])
+        rc_entry = [r'''\Format pdf        pdf    "PDF (ps2pdf)"          P  "%%"      ""      "document,vector,menu=export"
+\Format pdf2       pdf    "PDF (pdflatex)"        F  "%%"      ""      "document,vector,menu=export"
+\Format pdf3       pdf    "PDF (dvipdfm)"         m  "%%"      ""      "document,vector,menu=export"
+\Format pdf4       pdf    "PDF (XeTeX)"           X  "%%"      ""      "document,vector,menu=export"
+\Format pdf5       pdf    "PDF (LuaTeX)"          u  "%%"      ""      "document,vector,menu=export"'''])
     #
     checkViewer('a DVI previewer', ['xdvi', 'kdvi', 'okular', 'yap', 'dviout -Set=!m'],
-        rc_entry = [r'''\Format dvi        dvi     DVI                    D  "%%"      ""      "document,vector"
-\Format dvi3       dvi     "DVI (LuaTeX)"          V  "%%"     ""      "document,vector"'''])
+        rc_entry = [r'''\Format dvi        dvi     DVI                    D  "%%"      ""      "document,vector,menu=export"
+\Format dvi3       dvi     "DVI (LuaTeX)"          V  "%%"     ""      "document,vector,menu=export"'''])
     if dtl_tools:
         # Windows only: DraftDVI
         addToRC(r'\Format dvi2       dvi     DraftDVI               "" ""      ""      "vector"')
     #
     checkViewer('an HTML previewer', ['firefox', 'mozilla file://$$p$$i', 'netscape'],
-        rc_entry = [r'\Format html       html    HTML                   H  "%%"        ""      "document"'])
+        rc_entry = [r'\Format html       html    HTML                   H  "%%"        ""      "document,menu=export"'])
     #
     checkViewerEditor('Noteedit', ['noteedit'],
         rc_entry = [r'\Format noteedit   not     Noteedit               "" "%%"        "%%"    "vector"'])
     #
     checkViewerEditor('an OpenDocument/OpenOffice viewer', ['swriter', 'oowriter', 'abiword'],
-        rc_entry = [r'''\Format odt        odt     OpenDocument           "" "%%"      "%%"    "document,vector"
+        rc_entry = [r'''\Format odt        odt     OpenDocument           "" "%%"      "%%"    "document,vector,menu=export"
 \Format sxw        sxw    "OpenOffice.Org (sxw)"  "" ""        ""      "document,vector"'''])
     # 
     checkViewerEditor('a Rich Text and Word viewer', ['swriter', 'oowriter', 'abiword'],
-        rc_entry = [r'''\Format rtf        rtf    "Rich Text Format"      "" "%%"      "%%"    "document,vector"
-\Format word       doc    "MS Word"               W  "%%"      "%%"    "document,vector"'''])
+        rc_entry = [r'''\Format rtf        rtf    "Rich Text Format"      "" "%%"      "%%"    "document,vector,menu=export"
+\Format word       doc    "MS Word"               W  "%%"      "%%"    "document,vector,menu=export"'''])
     #
     # entries that do not need checkProg
     addToRC(r'''\Format date       ""     "date command"          "" ""        ""      ""
@@ -576,7 +576,7 @@ def checkFormatEntries(dtl_tools):
 \Format lyx13x     13.lyx  "LyX 1.3.x"             "" ""       ""      "document"
 \Format lyx14x     14.lyx  "LyX 1.4.x"             "" ""       ""      "document"
 \Format lyx15x     15.lyx  "LyX 1.5.x"             "" ""       ""      "document"
-\Format lyx16x     16.lyx  "LyX 1.6.x"             "" ""       ""      "document"
+\Format lyx16x     16.lyx  "LyX 1.6.x"             "" ""       ""      "document,menu=export"
 \Format clyx       cjklyx "CJK LyX 1.4.x (big5)"  "" ""        ""      "document"
 \Format jlyx       cjklyx "CJK LyX 1.4.x (euc-jp)" "" ""       ""      "document"
 \Format klyx       cjklyx "CJK LyX 1.4.x (euc-kr)" "" ""       ""      "document"
@@ -873,10 +873,10 @@ def checkConverterEntries():
     # So, we configure the appropriate version according to the platform.
     cmd = r'\converter lyx %s "python -tt $$s/scripts/lyxpak.py $$r/$$i" ""'
     if os.name == 'nt':
-        addToRC(r'\Format lyxzip     zip    "LyX Archive (zip)"     "" "" ""  "document"')
+        addToRC(r'\Format lyxzip     zip    "LyX Archive (zip)"     "" "" ""  "document,menu=export"')
         addToRC(cmd % "lyxzip")
     else:
-        addToRC(r'\Format lyxgz      gz     "LyX Archive (tar.gz)"  "" "" ""  "document"')
+        addToRC(r'\Format lyxgz      gz     "LyX Archive (tar.gz)"  "" "" ""  "document,menu=export"')
         addToRC(cmd % "lyxgz")
         
     #
index 38b13b59aa1de3b0eb4bcda3b492a93d9551b6a2..41aea69f020e1cd1aea1717eeb1128bc5e5b8cd9 100644 (file)
@@ -88,7 +88,7 @@ Menuset
 
        Menu "file_export"
                ExportFormats
-               Item "Custom...|C" "buffer-export custom"
+               Item "More Formats & Options...|F" "buffer-export custom"
        End
 
 #
index 21fa27bc91801396d6a4db3102e65bfc6b4ad81b..07a9c1b9f9ab612cd91ff6c08c762eb30cef2747 100644 (file)
@@ -33,7 +33,9 @@ public:
                /// Some formats are both (e.g. pdf), they have this flag set.
                document = 1,
                /// Set if this format can contain vector graphics.
-               vector = 2
+               vector = 2,
+               /// This format should  appear in the File > Export menu
+               export_menu = 4
        };
        ///
        Format(std::string const & n, std::string const & e, std::string const & p,
@@ -76,6 +78,8 @@ public:
        bool vectorFormat() const { return flags_ & vector; }
        ///
        void setFlags(int v) { flags_ = v; }
+       ///
+       bool inExportMenu() const { return flags_ & export_menu; }
 private:
        /// Internal name. Needs to be unique.
        std::string name_;
index 94edf1715498d14c06faee57710a3ba5de2085b1..185067100abce56f2e71e11b1a00ed092f2ba609 100644 (file)
@@ -1090,6 +1090,8 @@ LyXRC::ReturnValues LyXRC::read(Lexer & lexrc, bool check_format)
                                        flgs |= Format::document;
                                else if (flag == "vector")
                                        flgs |= Format::vector;
+                               else if (flag == "menu=export")
+                                       flgs |= Format::export_menu;
                                else
                                        LYXERR0("Ignoring unknown flag `"
                                               << flag << "' for format `"
index a98d9f128cf962be24f4837866560c279e408d69..18f27b1068b26b792db13e0b82edded29f086243 100644 (file)
@@ -1830,6 +1830,8 @@ PrefFileformats::PrefFileformats(GuiPreferences * form)
                this, SLOT(setFlags()));
        connect(vectorCB, SIGNAL(clicked()),
                this, SLOT(setFlags()));
+       connect(exportMenuCB, SIGNAL(clicked()),
+               this, SLOT(setFlags()));
        connect(formatsCB->lineEdit(), SIGNAL(editingFinished()),
                this, SLOT(updatePrettyname()));
        connect(formatsCB->lineEdit(), SIGNAL(textEdited(QString)),
@@ -1927,6 +1929,8 @@ void PrefFileformats::on_formatsCB_currentIndexChanged(int i)
                toqstr(l10n_shortcut(f.prettyname(), f.shortcut())));
        documentCB->setChecked((f.documentFormat()));
        vectorCB->setChecked((f.vectorFormat()));
+       exportMenuCB->setChecked((f.inExportMenu()));
+       exportMenuCB->setEnabled((f.documentFormat()));
        updateViewers();
        updateEditors();
 }
@@ -1939,7 +1943,10 @@ void PrefFileformats::setFlags()
                flags |= Format::document;
        if (vectorCB->isChecked())
                flags |= Format::vector;
+       if (exportMenuCB->isChecked())
+               flags |= Format::export_menu;
        currentFormat().setFlags(flags);
+       exportMenuCB->setEnabled(documentCB->isChecked());
        changed();
 }
 
index ecca97a22c5fa2eb8f1fe334c1339413dfd42a28..598486adc373ef73e15688ca3dbd8b400a598654 100644 (file)
@@ -1055,7 +1055,7 @@ void MenuDefinition::expandFormats(MenuItem::Kind kind, Buffer const * buf)
                                continue;
                        }
                case MenuItem::ExportFormats:
-                       if (!(*fit)->documentFormat())
+                       if (!(*fit)->inExportMenu())
                                continue;
                        break;
                default:
index 77e62368700c5e0d3e591a49dbcfa3f54def308f..b700fee22df2020e94a7e19a56f973236fe32870 100644 (file)
@@ -23,7 +23,7 @@
      </property>
     </widget>
    </item>
-   <item row="0" column="1" colspan="2">
+   <item row="0" column="1">
     <widget class="QComboBox" name="formatsCB">
      <property name="editable">
       <bool>true</bool>
     </widget>
    </item>
    <item row="2" column="1" colspan="2">
+    <widget class="QCheckBox" name="exportMenuCB">
+     <property name="toolTip">
+      <string>Check this to show the current format in the File &gt; Export menu</string>
+     </property>
+     <property name="text">
+      <string>Sho&amp;w in export menu</string>
+     </property>
+    </widget>
+   </item>
+   <item row="3" column="1" colspan="2">
     <widget class="QCheckBox" name="vectorCB">
      <property name="text">
       <string>Vector &amp;graphics format</string>
      </property>
     </widget>
    </item>
-   <item row="3" column="0">
+   <item row="4" column="0">
     <widget class="QLabel" name="formatLA">
      <property name="text">
       <string>S&amp;hort Name:</string>
      </property>
     </widget>
    </item>
-   <item row="3" column="1" colspan="2">
+   <item row="4" column="1" colspan="2">
     <widget class="QLineEdit" name="formatED"/>
    </item>
-   <item row="4" column="0">
+   <item row="5" column="0">
     <widget class="QLabel" name="extensionLA">
      <property name="text">
       <string>E&amp;xtension:</string>
      </property>
     </widget>
    </item>
-   <item row="4" column="1" colspan="2">
+   <item row="5" column="1" colspan="2">
     <widget class="QLineEdit" name="extensionED"/>
    </item>
-   <item row="5" column="0">
-    <widget class="QLabel" name="shortcutLA">
+   <item row="6" column="0">
+    <widget class="QLabel" name="editorLA">
      <property name="text">
-      <string>Shortc&amp;ut:</string>
+      <string>Ed&amp;itor:</string>
      </property>
      <property name="buddy">
-      <cstring>shortcutED</cstring>
+      <cstring>editorCO</cstring>
      </property>
     </widget>
    </item>
-   <item row="5" column="1" colspan="2">
-    <widget class="QLineEdit" name="shortcutED"/>
-   </item>
-   <item row="6" column="0">
-    <widget class="QLabel" name="editorLA">
+   <item row="7" column="0">
+    <widget class="QLabel" name="shortcutLA">
      <property name="text">
-      <string>Ed&amp;itor:</string>
+      <string>Shortc&amp;ut:</string>
      </property>
      <property name="buddy">
-      <cstring>editorCO</cstring>
+      <cstring>shortcutED</cstring>
      </property>
     </widget>
    </item>
-   <item row="6" column="1">
+   <item row="7" column="1" colspan="2">
+    <widget class="QLineEdit" name="shortcutED"/>
+   </item>
+   <item row="8" column="1">
     <widget class="QComboBox" name="editorCO">
      <property name="sizeAdjustPolicy">
       <enum>QComboBox::AdjustToContents</enum>
      </property>
     </widget>
    </item>
-   <item row="6" column="2" colspan="2">
+   <item row="8" column="2" colspan="2">
     <widget class="QLineEdit" name="editorED"/>
    </item>
-   <item row="7" column="0">
+   <item row="9" column="0">
     <widget class="QLabel" name="viewerLA">
      <property name="text">
       <string>&amp;Viewer:</string>
      </property>
     </widget>
    </item>
-   <item row="7" column="1">
+   <item row="9" column="1">
     <widget class="QComboBox" name="viewerCO">
      <property name="sizeAdjustPolicy">
       <enum>QComboBox::AdjustToContents</enum>
      </property>
     </widget>
    </item>
-   <item row="7" column="2" colspan="2">
+   <item row="9" column="2" colspan="2">
     <widget class="QLineEdit" name="viewerED"/>
    </item>
-   <item row="8" column="0">
+   <item row="10" column="0">
     <widget class="QLabel" name="label">
      <property name="text">
       <string>Co&amp;pier:</string>
      </property>
     </widget>
    </item>
-   <item row="8" column="1" colspan="2">
+   <item row="10" column="1" colspan="2">
     <widget class="QLineEdit" name="copierED"/>
    </item>
-   <item row="9" column="0" colspan="5">
+   <item row="11" column="0" colspan="5">
     <widget class="QGroupBox" name="defaultFormatGB">
      <property name="toolTip">
       <string>Specify the default output format when using (PDF)LaTeX</string>
      </layout>
     </widget>
    </item>
-   <item row="10" column="1" colspan="2">
+   <item row="12" column="1" colspan="2">
     <spacer>
      <property name="orientation">
       <enum>Qt::Vertical</enum>