Introduce new file format flag "menu=export" to define which document formats the File > Export menu should list. All other formats are available via the "More Formats & Options ..." (former "Custom ...") dialog.

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
This commit is contained in:
Jürgen Spitzmüller 2011-02-13 09:34:10 +00:00
parent ab8645bc3f
commit 0489d3c496
8 changed files with 89 additions and 57 deletions

View 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:

View 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")
#

View 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
#

View 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_;

View 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 `"

View 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();
}

View 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:

View 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>
@ -61,13 +61,23 @@
</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>
@ -77,10 +87,10 @@
</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>
@ -90,21 +100,8 @@
</property>
</widget>
</item>
<item row="4" column="1" colspan="2">
<widget class="QLineEdit" name="extensionED"/>
</item>
<item row="5" column="0">
<widget class="QLabel" name="shortcutLA">
<property name="text">
<string>Shortc&amp;ut:</string>
</property>
<property name="buddy">
<cstring>shortcutED</cstring>
</property>
</widget>
</item>
<item row="5" column="1" colspan="2">
<widget class="QLineEdit" name="shortcutED"/>
<widget class="QLineEdit" name="extensionED"/>
</item>
<item row="6" column="0">
<widget class="QLabel" name="editorLA">
@ -116,17 +113,30 @@
</property>
</widget>
</item>
<item row="6" column="1">
<item row="7" column="0">
<widget class="QLabel" name="shortcutLA">
<property name="text">
<string>Shortc&amp;ut:</string>
</property>
<property name="buddy">
<cstring>shortcutED</cstring>
</property>
</widget>
</item>
<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>
@ -136,17 +146,17 @@
</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>
@ -156,10 +166,10 @@
</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>
@ -200,7 +210,7 @@
</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>