mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-24 21:55:29 +00:00
Added html export for LinuxDoc and DocBook. LinuxDoc import now available in file menus.
The LinuxDoc and DocBook export now are controled by lyxrc flags. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@623 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
90343c7ade
commit
91a2ea274e
15
ChangeLog
15
ChangeLog
@ -1,3 +1,18 @@
|
||||
2000-03-20 José Abílio Matos <jamatos@lyx.org>
|
||||
|
||||
* src/lyxrc.[Ch] Removed \sgml_extra_options, added 6 other flags
|
||||
for linuxdoc and docbook import and export format options.
|
||||
|
||||
* lib/lyxrc.example Example of default values for the previous flags.
|
||||
|
||||
* src/lyx_cb.C Use those flags instead of the hardwired values for
|
||||
linuxdoc and docbook export.
|
||||
|
||||
* src/lyxfunc.[Ch] Added HTML export for linuxdoc and docbook, added
|
||||
linuxdoc import.
|
||||
|
||||
* src/menus.C Added menus entries for the new import/exports formats.
|
||||
|
||||
2000-03-09 André Pönitz <poenitz@mathematik.tu-chemnitz.de>
|
||||
|
||||
* src/lyxrc.*: Added support for running without Gui
|
||||
|
@ -150,11 +150,6 @@
|
||||
# Example: use this to let math be italic with tth.
|
||||
#\html_command "tth -t -i < '$$FName' > '$$OutName'"
|
||||
|
||||
# If you want to pass extra flags to the LinuxDoc sgml scripts, insert them
|
||||
# here.
|
||||
# Example: the next line activates iso-latin1 support:
|
||||
#\sgml_extra_options -l
|
||||
|
||||
# Keyboard Mapping. Use this to set the correct mapping file for your
|
||||
# keyboard, that is if you need one. You'll need one if you for instance
|
||||
# want to type German documents on an American keyboard. In that case,
|
||||
@ -460,6 +455,36 @@
|
||||
#\font_encoding default
|
||||
|
||||
|
||||
#
|
||||
# LINUXDOC SECTION #######################################################
|
||||
#
|
||||
|
||||
# If you want to pass extra flags to the LinuxDoc sgml scripts, insert them
|
||||
# here.
|
||||
# Example: the next line activates iso-latin1 support:
|
||||
#\linuxdoc_to_latex_command "sgml2latex -c latin"
|
||||
|
||||
# Here you have the command to convert from linuxdoc to html.
|
||||
# Example: one html file only.
|
||||
#\linuxdoc_to_html_command "sgml2html -s 0"
|
||||
|
||||
# The LinuxDoc to LyX converter
|
||||
#\linuxdoc_to_lyx_command "sgml2lyx"
|
||||
|
||||
#
|
||||
# DOCBOOK SECTION ########################################################
|
||||
#
|
||||
|
||||
# Command to convert a docbook file to dvi
|
||||
#\docbook_to_dvi_command "sgmltools -b dvi"
|
||||
|
||||
# Command to convert a docbook file to html
|
||||
#\docbook_to_html_command "sgmltools -b html"
|
||||
|
||||
# Command to convert a docbook file to pdf
|
||||
#\docbook_to_pdf_command ""
|
||||
|
||||
|
||||
#
|
||||
# FILE SECTION ##########################################################
|
||||
#
|
||||
|
69
src/lyx_cb.C
69
src/lyx_cb.C
@ -11,6 +11,7 @@
|
||||
#include <config.h>
|
||||
|
||||
#include <fstream>
|
||||
#include <algorithm>
|
||||
|
||||
using std::ifstream;
|
||||
using std::copy;
|
||||
@ -947,6 +948,57 @@ void MenuMakeHTML(Buffer * buffer)
|
||||
|
||||
}
|
||||
|
||||
void MenuMakeHTML_LinuxDoc(Buffer * buffer)
|
||||
{
|
||||
// First, create LinuxDoc file
|
||||
MenuMakeLinuxDoc(buffer);
|
||||
|
||||
// And now, run the converter
|
||||
string file = buffer->fileName();
|
||||
|
||||
string result = ChangeExtension(file, ".html", false);
|
||||
string infile = ChangeExtension(file, ".sgml", false);
|
||||
string tmp = lyxrc.linuxdoc_to_html_command;
|
||||
tmp = subst(tmp, "$$FName", infile);
|
||||
tmp = subst(tmp, "$$OutName", result);
|
||||
Systemcalls one;
|
||||
int res = one.startscript(Systemcalls::System, tmp);
|
||||
if (res == 0) {
|
||||
ShowMessage(buffer,_("Document exported as HTML to file `")
|
||||
+ MakeDisplayPath(result) +'\'');
|
||||
} else {
|
||||
ShowMessage(buffer,_("Unable to convert to HTML the file `")
|
||||
+ MakeDisplayPath(infile)
|
||||
+ '\'');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void MenuMakeHTML_DocBook(Buffer * buffer)
|
||||
{
|
||||
// First, create LaTeX file
|
||||
MenuMakeDocBook(buffer);
|
||||
|
||||
// And now, run the converter
|
||||
string file = buffer->fileName();
|
||||
string result = ChangeExtension(file, ".html", false);
|
||||
string infile = ChangeExtension(file, ".sgml", false);
|
||||
string tmp = lyxrc.docbook_to_html_command;
|
||||
tmp = subst(tmp, "$$FName", infile);
|
||||
tmp = subst(tmp, "$$OutName", result);
|
||||
Systemcalls one;
|
||||
int res = one.startscript(Systemcalls::System, tmp);
|
||||
if (res == 0) {
|
||||
ShowMessage(buffer,_("Document exported as HTML to file `")
|
||||
+ MakeDisplayPath(result) +'\'');
|
||||
} else {
|
||||
ShowMessage(buffer,_("Unable to convert to HTML the file `")
|
||||
+ MakeDisplayPath(infile)
|
||||
+ '\'');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void MenuExport(Buffer * buffer, string const & extyp)
|
||||
{
|
||||
// latex
|
||||
@ -996,6 +1048,14 @@ void MenuExport(Buffer * buffer, string const & extyp)
|
||||
else if (extyp == "html") {
|
||||
MenuMakeHTML(buffer);
|
||||
}
|
||||
// HTML from linuxdoc
|
||||
else if (extyp == "html-linuxdoc") {
|
||||
MenuMakeHTML_LinuxDoc(buffer);
|
||||
}
|
||||
// HTML from docbook
|
||||
else if (extyp == "html-docbook") {
|
||||
MenuMakeHTML_DocBook(buffer);
|
||||
}
|
||||
else {
|
||||
ShowMessage(buffer, _("Unknown export type: ") + extyp);
|
||||
}
|
||||
@ -1327,15 +1387,13 @@ int RunLinuxDoc(BufferView * bv, int flag, string const & filename)
|
||||
switch (flag) {
|
||||
case 0: /* TeX output asked */
|
||||
bv->owner()->getMiniBuffer()->Set(_("Converting LinuxDoc SGML to TeX file..."));
|
||||
s2 = "sgml2latex " + add_flags + " -o tex "
|
||||
+ lyxrc.sgml_extra_options + ' ' + name;
|
||||
s2 = lyxrc.linuxdoc_to_latex_command + ' ' + add_flags + " -o tex " + ' ' + name;
|
||||
if (one.startscript(Systemcalls::System, s2))
|
||||
errorcode = 1;
|
||||
break;
|
||||
case 1: /* dvi output asked */
|
||||
bv->owner()->getMiniBuffer()->Set(_("Converting LinuxDoc SGML to dvi file..."));
|
||||
s2 = "sgml2latex " + add_flags + " -o dvi "
|
||||
+ lyxrc.sgml_extra_options + ' ' + name;
|
||||
s2 = lyxrc.linuxdoc_to_latex_command + ' ' + add_flags + " -o dvi " + ' ' + name;
|
||||
if (one.startscript(Systemcalls::System, s2)) {
|
||||
errorcode = 1;
|
||||
} else
|
||||
@ -1372,6 +1430,7 @@ int RunDocBook(int flag, string const & filename)
|
||||
current_view->buffer()->makeDocBookFile(name, 0);
|
||||
|
||||
// Shall this code go or should it stay? (Lgb)
|
||||
// This code is a placeholder for future implementation. (Jose')
|
||||
// string add_flags;
|
||||
// LYX_PAPER_SIZE ps = (LYX_PAPER_SIZE) current_view->buffer()->params.papersize;
|
||||
// switch (ps) {
|
||||
@ -1387,7 +1446,7 @@ int RunDocBook(int flag, string const & filename)
|
||||
case 1: /* dvi output asked */
|
||||
{
|
||||
current_view->owner()->getMiniBuffer()->Set(_("Converting DocBook SGML to dvi file..."));
|
||||
string s2 = "sgmltools --backend dvi " + name;
|
||||
string s2 = lyxrc.docbook_to_dvi_command + ' ' + name;
|
||||
if (one.startscript(Systemcalls::System, s2)) {
|
||||
errorcode = 1;
|
||||
} else
|
||||
|
@ -356,12 +356,18 @@ LyXFunc::func_status LyXFunc::getStatus(int ac) const
|
||||
case LFUN_IMPORT:
|
||||
if (argument == "latex")
|
||||
disable = lyxrc.relyx_command == "none";
|
||||
if (argument == "linuxdoc")
|
||||
disable = lyxrc.linuxdoc_to_lyx_command == "none";
|
||||
break;
|
||||
case LFUN_EXPORT:
|
||||
if (argument == "dvi" || argument == "postscript")
|
||||
disable = noLaTeX;
|
||||
if (argument == "html")
|
||||
disable = lyxrc.html_command == "none";
|
||||
if (argument == "html-linuxdoc")
|
||||
disable = lyxrc.linuxdoc_to_html_command == "none";
|
||||
if (argument == "html-docbook")
|
||||
disable = lyxrc.docbook_to_html_command == "none";
|
||||
break;
|
||||
case LFUN_UNDO:
|
||||
disable = buf->undostack.empty();
|
||||
@ -769,6 +775,8 @@ string LyXFunc::Dispatch(int ac,
|
||||
// noweb
|
||||
} else if (imtyp == "noweb") {
|
||||
doImportLaTeX(true);
|
||||
} else if (imtyp == "linuxdoc") {
|
||||
doImportLinuxDoc();
|
||||
} else {
|
||||
setErrorMessage(string(N_("Unknown import type: "))
|
||||
+ imtyp);
|
||||
@ -2922,6 +2930,95 @@ void LyXFunc::doImportLaTeX(bool isnoweb)
|
||||
}
|
||||
|
||||
|
||||
void LyXFunc::doImportLinuxDoc()
|
||||
{
|
||||
string initpath = lyxrc.document_path;
|
||||
LyXFileDlg fileDlg;
|
||||
|
||||
if (owner->view()->available()) {
|
||||
string trypath = owner->buffer()->filepath;
|
||||
// If directory is writeable, use this as default.
|
||||
if (IsDirWriteable(trypath) == 1)
|
||||
initpath = trypath;
|
||||
}
|
||||
|
||||
// launches dialog
|
||||
ProhibitInput();
|
||||
fileDlg.SetButton(0, _("Documents"), lyxrc.document_path);
|
||||
fileDlg.SetButton(1, _("Examples"),
|
||||
AddPath(system_lyxdir, "examples"));
|
||||
|
||||
string filename = fileDlg.Select(_("Select LinuxDoc file to Import"),
|
||||
initpath, "*.sgml");
|
||||
|
||||
AllowInput();
|
||||
|
||||
// check selected filename
|
||||
if (filename.empty()) {
|
||||
owner->getMiniBuffer()->Set(_("Canceled."));
|
||||
return;
|
||||
}
|
||||
|
||||
// get absolute path of file
|
||||
filename = MakeAbsPath(filename);
|
||||
|
||||
// Check if the document already is open
|
||||
string LyXfilename = ChangeExtension(filename, ".lyx", false);
|
||||
if (bufferlist.exists(LyXfilename)){
|
||||
switch(AskConfirmation(_("Document is already open:"),
|
||||
MakeDisplayPath(LyXfilename, 50),
|
||||
_("Do you want to close that document now?\n"
|
||||
"('No' will just switch to the open version)")))
|
||||
{
|
||||
case 1: // Yes: close the document
|
||||
if (!bufferlist.close(bufferlist.getBuffer(LyXfilename)))
|
||||
// If close is canceled, we cancel here too.
|
||||
return;
|
||||
break;
|
||||
case 2: // No: switch to the open document
|
||||
owner->view()->buffer(
|
||||
bufferlist.getBuffer(LyXfilename));
|
||||
return;
|
||||
case 3: // Cancel: Do nothing
|
||||
owner->getMiniBuffer()->Set(_("Canceled."));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Check if a LyX document by the same root exists in filesystem
|
||||
FileInfo f(LyXfilename, true);
|
||||
if (f.exist() && !AskQuestion(_("A document by the name"),
|
||||
MakeDisplayPath(LyXfilename),
|
||||
_("already exists. Overwrite?"))) {
|
||||
owner->getMiniBuffer()->Set(_("Canceled."));
|
||||
return;
|
||||
}
|
||||
|
||||
// loads document
|
||||
owner->getMiniBuffer()->Set(_("Importing LinuxDoc file"),
|
||||
MakeDisplayPath(filename), "...");
|
||||
|
||||
// run sgml2lyx
|
||||
string tmp = lyxrc.linuxdoc_to_lyx_command + filename;
|
||||
Systemcalls one;
|
||||
Buffer * buf = 0;
|
||||
|
||||
int result = one.startscript(Systemcalls::System, tmp);
|
||||
if (result == 0) {
|
||||
string filename = ChangeExtension(filename, ".lyx", false);
|
||||
// File was generated without problems. Load it.
|
||||
buf = bufferlist.loadLyXFile(filename);
|
||||
owner->view()->buffer(buf);
|
||||
owner->getMiniBuffer()->Set(_("LinuxDoc file "),
|
||||
MakeDisplayPath(filename),
|
||||
_("imported."));
|
||||
} else {
|
||||
owner->getMiniBuffer()->Set(_("Could not import LinuxDoc file"),
|
||||
MakeDisplayPath(filename));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void LyXFunc::MenuInsertLyXFile(string const & filen)
|
||||
{
|
||||
string filename = filen;
|
||||
|
@ -114,6 +114,9 @@ private:
|
||||
///
|
||||
void doImportASCII(bool);
|
||||
|
||||
///
|
||||
void doImportLinuxDoc();
|
||||
|
||||
///
|
||||
void MenuInsertLyXFile(string const &);
|
||||
|
||||
|
74
src/lyxrc.C
74
src/lyxrc.C
@ -86,7 +86,6 @@ enum LyXRCTags {
|
||||
RC_SCREEN_FONT_ENCODING,
|
||||
RC_SCREEN_FONT_ENCODING_MENU,
|
||||
RC_AUTOSAVE,
|
||||
RC_SGML_EXTRA_OPTIONS,
|
||||
RC_DOCUMENTPATH,
|
||||
RC_TEMPLATEPATH,
|
||||
RC_TEMPDIRPATH,
|
||||
@ -148,6 +147,12 @@ enum LyXRCTags {
|
||||
RC_DATE_INSERT_FORMAT,
|
||||
RC_SHOW_BANNER,
|
||||
RC_USE_GUI,
|
||||
RC_LINUXDOC_TO_LYX_COMMAND,
|
||||
RC_LINUXDOC_TO_HTML_COMMAND,
|
||||
RC_LINUXDOC_TO_LATEX_COMMAND,
|
||||
RC_DOCBOOK_TO_DVI_COMMAND,
|
||||
RC_DOCBOOK_TO_HTML_COMMAND,
|
||||
RC_DOCBOOK_TO_PDF_COMMAND,
|
||||
RC_LAST
|
||||
};
|
||||
|
||||
@ -176,6 +181,9 @@ keyword_item lyxrcTags[] = {
|
||||
{ "\\date_insert_format", RC_DATE_INSERT_FORMAT },
|
||||
{ "\\default_papersize", RC_DEFAULT_PAPERSIZE },
|
||||
{ "\\display_shortcuts", RC_DISPLAY_SHORTCUTS },
|
||||
{ "\\docbook_to_dvi_command", RC_DOCBOOK_TO_DVI_COMMAND },
|
||||
{ "\\docbook_to_html_command", RC_DOCBOOK_TO_HTML_COMMAND },
|
||||
{ "\\docbook_to_pdf_command", RC_DOCBOOK_TO_PDF_COMMAND },
|
||||
{ "\\document_path", RC_DOCUMENTPATH },
|
||||
{ "\\dvi_to_ps_command", RC_DVI_TO_PS_COMMAND },
|
||||
{ "\\escape_chars", RC_ESC_CHARS },
|
||||
@ -195,6 +203,9 @@ keyword_item lyxrcTags[] = {
|
||||
{ "\\language_package", RC_LANGUAGE_PACKAGE },
|
||||
{ "\\lastfiles", RC_LASTFILES },
|
||||
{ "\\latex_command", RC_LATEX_COMMAND },
|
||||
{ "\\linuxdoc_to_html_command", RC_LINUXDOC_TO_HTML_COMMAND },
|
||||
{ "\\linuxdoc_to_latex_command", RC_LINUXDOC_TO_LATEX_COMMAND },
|
||||
{ "\\linuxdoc_to_lyx_command", RC_LINUXDOC_TO_LYX_COMMAND },
|
||||
{ "\\literate_command", RC_LITERATE_COMMAND },
|
||||
{ "\\literate_error_filter", RC_LITERATE_ERROR_FILTER },
|
||||
{ "\\literate_extension", RC_LITERATE_EXTENSION },
|
||||
@ -239,7 +250,6 @@ keyword_item lyxrcTags[] = {
|
||||
{ "\\screen_zoom", RC_SCREEN_ZOOM },
|
||||
{ "\\selection_color", RC_SELECTION_COLOR },
|
||||
{ "\\serverpipe", RC_SERVERPIPE },
|
||||
{ "\\sgml_extra_options", RC_SGML_EXTRA_OPTIONS },
|
||||
{ "\\show_banner", RC_SHOW_BANNER },
|
||||
{ "\\spell_command", RC_SPELL_COMMAND },
|
||||
{ "\\tempdir_path", RC_TEMPDIRPATH },
|
||||
@ -362,6 +372,16 @@ void LyXRC::setDefaults() {
|
||||
date_insert_format = "%A, %e %B %Y";
|
||||
show_banner = true;
|
||||
use_gui = true;
|
||||
|
||||
///
|
||||
linuxdoc_to_latex_command="none";
|
||||
linuxdoc_to_lyx_command="none";
|
||||
linuxdoc_to_html_command="none";
|
||||
|
||||
docbook_to_dvi_command="none";
|
||||
docbook_to_html_command="none";
|
||||
docbook_to_pdf_command="none";
|
||||
|
||||
//
|
||||
defaultKeyBindings();
|
||||
}
|
||||
@ -740,11 +760,6 @@ int LyXRC::read(string const & filename)
|
||||
autosave = lexrc.GetInteger();
|
||||
break;
|
||||
|
||||
case RC_SGML_EXTRA_OPTIONS:
|
||||
if (lexrc.next())
|
||||
sgml_extra_options = lexrc.GetString();
|
||||
break;
|
||||
|
||||
case RC_DOCUMENTPATH:
|
||||
if (lexrc.next()) {
|
||||
document_path = ExpandPath(lexrc.GetString());
|
||||
@ -997,6 +1012,30 @@ int LyXRC::read(string const & filename)
|
||||
if (lexrc.next())
|
||||
use_gui = lexrc.GetBool();
|
||||
break;
|
||||
case RC_LINUXDOC_TO_LYX_COMMAND:
|
||||
if ( lexrc.next())
|
||||
linuxdoc_to_lyx_command = lexrc.GetString();
|
||||
break;
|
||||
case RC_LINUXDOC_TO_HTML_COMMAND:
|
||||
if ( lexrc.next())
|
||||
linuxdoc_to_html_command = lexrc.GetString();
|
||||
break;
|
||||
case RC_LINUXDOC_TO_LATEX_COMMAND:
|
||||
if ( lexrc.next())
|
||||
linuxdoc_to_latex_command = lexrc.GetString();
|
||||
break;
|
||||
case RC_DOCBOOK_TO_DVI_COMMAND:
|
||||
if ( lexrc.next())
|
||||
docbook_to_dvi_command = lexrc.GetString();
|
||||
break;
|
||||
case RC_DOCBOOK_TO_HTML_COMMAND:
|
||||
if ( lexrc.next())
|
||||
docbook_to_html_command = lexrc.GetString();
|
||||
break;
|
||||
case RC_DOCBOOK_TO_PDF_COMMAND:
|
||||
if ( lexrc.next())
|
||||
docbook_to_pdf_command = lexrc.GetString();
|
||||
break;
|
||||
case RC_LAST: break; // this is just a dummy
|
||||
}
|
||||
}
|
||||
@ -1201,9 +1240,6 @@ void LyXRC::output(ostream & os) const
|
||||
os << "\\chktex_command \"" << chktex_command << "\"\n";
|
||||
case RC_HTML_COMMAND:
|
||||
os << "\\html_command \"" << html_command << "\"\n";
|
||||
case RC_SGML_EXTRA_OPTIONS:
|
||||
os << "\\sgml_extra_options \"" << sgml_extra_options
|
||||
<< "\"\n";
|
||||
case RC_KBMAP:
|
||||
os << "\\kbmap " << tostr(use_kbmap) << "\n";
|
||||
case RC_KBMAP_PRIMARY:
|
||||
@ -1316,6 +1352,24 @@ void LyXRC::output(ostream & os) const
|
||||
os << "\\show_banner " << tostr(show_banner) << "\n";
|
||||
case RC_USE_GUI:
|
||||
os << "\\use_gui " << tostr(show_banner) << "\n";
|
||||
case RC_LINUXDOC_TO_LYX_COMMAND:
|
||||
os << "\\linuxdoc_to_lyx_command \"" << linuxdoc_to_lyx_command
|
||||
<< "\"\n";
|
||||
case RC_LINUXDOC_TO_HTML_COMMAND:
|
||||
os << "\\linuxdoc_to_html_command \"" << linuxdoc_to_html_command
|
||||
<< "\"\n";
|
||||
case RC_LINUXDOC_TO_LATEX_COMMAND:
|
||||
os << "\\linuxdoc_to_latex_command \"" << linuxdoc_to_latex_command
|
||||
<< "\"\n";
|
||||
case RC_DOCBOOK_TO_DVI_COMMAND:
|
||||
os << "\\docbook_to_dvi_command \"" << docbook_to_dvi_command
|
||||
<< "\"\n";
|
||||
case RC_DOCBOOK_TO_HTML_COMMAND:
|
||||
os << "\\docbook_to_html_command \"" << docbook_to_html_command
|
||||
<< "\"\n";
|
||||
case RC_DOCBOOK_TO_PDF_COMMAND:
|
||||
os << "\\docbook_to_pdf_command \"" << docbook_to_pdf_command
|
||||
<< "\"\n";
|
||||
}
|
||||
os.flush();
|
||||
}
|
||||
|
14
src/lyxrc.h
14
src/lyxrc.h
@ -121,8 +121,6 @@ public:
|
||||
/// command to run an html converter incl. options
|
||||
string html_command;
|
||||
///
|
||||
string sgml_extra_options;
|
||||
///
|
||||
string document_path;
|
||||
///
|
||||
string template_path;
|
||||
@ -229,6 +227,18 @@ public:
|
||||
/// Do we have to use a GUI?
|
||||
bool use_gui;
|
||||
///
|
||||
string linuxdoc_to_lyx_command;
|
||||
///
|
||||
string linuxdoc_to_html_command;
|
||||
///
|
||||
string linuxdoc_to_latex_command;
|
||||
///
|
||||
string docbook_to_dvi_command;
|
||||
///
|
||||
string docbook_to_html_command;
|
||||
///
|
||||
string docbook_to_pdf_command;
|
||||
///
|
||||
typedef map<string, int> Bindings;
|
||||
///
|
||||
Bindings bindings;
|
||||
|
41
src/menus.C
41
src/menus.C
@ -467,12 +467,14 @@ void Menus::ShowFileMenu(FL_OBJECT * ob, long)
|
||||
"|LaTeX...%x30"
|
||||
"|Ascii Text as Lines...%x31"
|
||||
"|Ascii Text as Paragraphs%x32"
|
||||
"|Noweb%x33"));
|
||||
|
||||
"|Noweb%x33"
|
||||
"|LinuxDoc%x34"));
|
||||
|
||||
fl_setpup_shortcut(SubFileImport, 30, scex(_("FIM|Ll#l#L")));
|
||||
fl_setpup_shortcut(SubFileImport, 31, scex(_("FIM|Aa#a#A")));
|
||||
fl_setpup_shortcut(SubFileImport, 32, scex(_("FIM|Pp#p#P")));
|
||||
fl_setpup_shortcut(SubFileImport, 33, scex(_("FIM|Nn#n#N")));
|
||||
fl_setpup_shortcut(SubFileImport, 34, scex(_("FIM|Dd#d#D")));
|
||||
|
||||
// Export sub-menu
|
||||
|
||||
@ -494,21 +496,24 @@ void Menus::ShowFileMenu(FL_OBJECT * ob, long)
|
||||
"|as LinuxDoc...%x40"
|
||||
"|as DVI...%x41"
|
||||
"|as PostScript...%x42"
|
||||
"|as Ascii Text...%x43"));
|
||||
"|as Ascii Text...%x43"
|
||||
"|as HTML...%x44"));
|
||||
else if(DocBook)
|
||||
SubFileExport= fl_defpup(FL_ObjWin(ob),
|
||||
_("Export%t"
|
||||
"|as DocBook...%x40"
|
||||
"|as DVI...%x41"
|
||||
"|as PostScript...%x42"
|
||||
"|as Ascii Text...%x43"));
|
||||
"|as Ascii Text...%x43"
|
||||
"|as HTML...%x44"));
|
||||
|
||||
fl_setpup_shortcut(SubFileExport, 40, scex(_("FEX|Ll#l#L")));
|
||||
fl_setpup_shortcut(SubFileExport, 41, scex(_("FEX|Dd#d#D")));
|
||||
fl_setpup_shortcut(SubFileExport, 42, scex(_("FEX|Pp#p#P")));
|
||||
fl_setpup_shortcut(SubFileExport, 43, scex(_("FEX|Tt#t#T")));
|
||||
fl_setpup_shortcut(SubFileExport, 44, scex(_("FEX|Hh#h#H")));
|
||||
|
||||
if (!LinuxDoc && !DocBook) {
|
||||
fl_setpup_shortcut(SubFileExport, 44, scex(_("FEX|Hh#h#H")));
|
||||
fl_setpup_shortcut(SubFileExport, 45, scex(_("FEX|mM#m#M")));
|
||||
}
|
||||
|
||||
@ -575,13 +580,18 @@ void Menus::ShowFileMenu(FL_OBJECT * ob, long)
|
||||
fl_setpup_mode(SubFileImport, 33, FL_PUP_GREY);
|
||||
}
|
||||
|
||||
if ( lyxrc.linuxdoc_to_lyx_command == "none")
|
||||
fl_setpup_mode(SubFileImport, 34, FL_PUP_GREY);
|
||||
|
||||
if (!hasLaTeX) {
|
||||
// Disable export dvi and export postscript
|
||||
fl_setpup_mode(SubFileExport, 41, FL_PUP_GREY);
|
||||
fl_setpup_mode(SubFileExport, 42, FL_PUP_GREY);
|
||||
}
|
||||
|
||||
if (lyxrc.html_command == "none") {
|
||||
if ((!LinuxDoc && !DocBook && lyxrc.html_command == "none") ||
|
||||
( LinuxDoc && lyxrc.linuxdoc_to_html_command == "none") ||
|
||||
( DocBook && lyxrc.docbook_to_html_command == "none")) {
|
||||
// Disable export HTML
|
||||
fl_setpup_mode(SubFileExport, 44, FL_PUP_GREY);
|
||||
}
|
||||
@ -644,6 +654,8 @@ void Menus::ShowFileMenu(FL_OBJECT * ob, long)
|
||||
break;
|
||||
case 33: tmpfunc->Dispatch(LFUN_IMPORT, "noweb");
|
||||
break;
|
||||
case 34: tmpfunc->Dispatch(LFUN_IMPORT, "linuxdoc");
|
||||
break;
|
||||
case 16: // export menu
|
||||
case 40:
|
||||
if (!LinuxDoc && !DocBook)
|
||||
@ -659,7 +671,13 @@ void Menus::ShowFileMenu(FL_OBJECT * ob, long)
|
||||
break;
|
||||
case 43: tmpfunc->Dispatch(LFUN_EXPORT, "ascii");
|
||||
break;
|
||||
case 44: tmpfunc->Dispatch(LFUN_EXPORT, "html");
|
||||
case 44:
|
||||
if (!LinuxDoc && !DocBook)
|
||||
tmpfunc->Dispatch(LFUN_EXPORT, "html");
|
||||
else if(LinuxDoc)
|
||||
tmpfunc->Dispatch(LFUN_EXPORT, "html-linuxdoc");
|
||||
else
|
||||
tmpfunc->Dispatch(LFUN_EXPORT, "html-docbook");
|
||||
break;
|
||||
case 45: tmpfunc->Dispatch(LFUN_EXPORT, "custom");
|
||||
break;
|
||||
@ -706,12 +724,14 @@ void Menus::ShowFileMenu2(FL_OBJECT * ob, long)
|
||||
"|LaTeX...%x15"
|
||||
"|Ascii Text as Lines...%x16"
|
||||
"|Ascii Text as Paragraphs...%x17"
|
||||
"|Noweb...%x18"));
|
||||
"|Noweb...%x18"
|
||||
"|LinuxDoc...%x19"));
|
||||
|
||||
fl_setpup_shortcut(SubFileImport, 15, scex(_("FIM|Ll#l#L")));
|
||||
fl_setpup_shortcut(SubFileImport, 16, scex(_("FIM|Aa#a#A")));
|
||||
fl_setpup_shortcut(SubFileImport, 17, scex(_("FIM|Pp#p#P")));
|
||||
fl_setpup_shortcut(SubFileImport, 18, scex(_("FIM|Nn#n#N")));
|
||||
fl_setpup_shortcut(SubFileImport, 19, scex(_("FIM|Dd#d#D")));
|
||||
|
||||
bool hasReLyX = lyxrc.relyx_command != "none";
|
||||
if (!hasReLyX) {
|
||||
@ -720,6 +740,9 @@ void Menus::ShowFileMenu2(FL_OBJECT * ob, long)
|
||||
fl_setpup_mode(SubFileImport, 18, FL_PUP_GREY);
|
||||
}
|
||||
|
||||
if ( lyxrc.linuxdoc_to_lyx_command == "none")
|
||||
fl_setpup_mode(SubFileImport, 19, FL_PUP_GREY);
|
||||
|
||||
// This can be done cleaner later.
|
||||
int FileMenu = fl_defpup(FL_ObjWin(ob),
|
||||
_("New..."
|
||||
@ -777,6 +800,8 @@ void Menus::ShowFileMenu2(FL_OBJECT * ob, long)
|
||||
break;
|
||||
case 18: tmpfunc->Dispatch(LFUN_IMPORT, "noweb");
|
||||
break;
|
||||
case 19: tmpfunc->Dispatch(LFUN_IMPORT, "linuxdoc");
|
||||
break;
|
||||
case 5:
|
||||
tmpfunc->Dispatch(LFUN_QUIT);
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user