mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 01:59:02 +00:00
Two patches from Claus; two patches from Andre' (with additional bugfixes)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@703 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
c3ac97d951
commit
8d478c5e29
30
ChangeLog
30
ChangeLog
@ -1,3 +1,33 @@
|
||||
2000-04-27 Claus Hentschel <claus.hentschel@mbau.fh-hannover.de>
|
||||
|
||||
* intl/loadmsgcat.c (_nl_load_domain): pass O_BINARY as flag to
|
||||
open under CYGWIN
|
||||
|
||||
* lib/lyxrc.example: smallish typo in description of
|
||||
\view_dvi_paper_option
|
||||
|
||||
2000-04-26 André Pönitz <poenitz@mathematik.tu-chemnitz.de>
|
||||
|
||||
* src/lyxfunc.h:
|
||||
* src/lyxfunc.C: doImportHelper to factor out common code of the
|
||||
various import methods. New functions doImportASCIIasLines,
|
||||
doImportASCIIasParagraphs, doImportLaTeX, doImportNoWeb,
|
||||
doImportLinuxDoc for the format specific parts.
|
||||
|
||||
* buffer.h:
|
||||
* buffer.C: Dispatch returns now a bool to indicate success
|
||||
|
||||
* lyx_gui.h:
|
||||
* lyx_gui.C: Add getLyXView() for member access
|
||||
|
||||
* lyx_main.C: Change logic for batch commands: First try
|
||||
Buffer::Dispatch (possibly without GUI), if that fails, use
|
||||
LyXFunc::Dispatch
|
||||
|
||||
* lyx_main.C: Add support for --import command line switch.
|
||||
Now 'lyx --import ascii file.txt' opens the GUI with file.txt loaded.
|
||||
Available Formats: Everything accepted by 'buffer-import <format>'
|
||||
|
||||
2000-04-27 Lars Gullik Bjønnes <larsbj@lyx.org>
|
||||
|
||||
* src/lyx_gui.C (create_forms): small oneliner from Garst to have
|
||||
|
2
NEWS
2
NEWS
@ -133,7 +133,7 @@ branch (which is now extinct). So while on the surface this version is
|
||||
very similar to version 1.0.4, many things happened under the hood. As
|
||||
a consequence of this: expect that some new bugs have crept in.
|
||||
|
||||
User visible changes in lyx 1.0.1:
|
||||
User visible changes in lyx 1.1.1:
|
||||
|
||||
- New export to HTML feature
|
||||
|
||||
|
@ -85,7 +85,11 @@ _nl_load_domain (domain_file)
|
||||
return;
|
||||
|
||||
/* Try to open the addressed file. */
|
||||
#ifdef CYGWIN32
|
||||
fd = open (domain_file->filename, O_RDONLY | O_BINARY);
|
||||
#else
|
||||
fd = open (domain_file->filename, O_RDONLY);
|
||||
#endif
|
||||
if (fd == -1)
|
||||
return;
|
||||
|
||||
|
@ -100,7 +100,7 @@
|
||||
# not append the -paper option to the dvi command at all. This case is
|
||||
# especially useful when viewing your documents on Windows with yap,
|
||||
# because yap does not allow a command line option for the paper size.
|
||||
#\view_dvi_paper ""
|
||||
#\view_dvi_paper_option ""
|
||||
|
||||
# LyX assumes that the default papersize should be usletter. If this is not
|
||||
# true for your site, use the next line to specify usletter, legal,
|
||||
|
14
src/buffer.C
14
src/buffer.C
@ -3843,28 +3843,28 @@ void Buffer::markDepClean(string const & name)
|
||||
}
|
||||
|
||||
|
||||
void Buffer::Dispatch(string const & command)
|
||||
bool Buffer::Dispatch(string const & command)
|
||||
{
|
||||
// Split command string into command and argument
|
||||
string cmd, line = frontStrip(command);
|
||||
string arg = strip(frontStrip(split(line, cmd, ' ')));
|
||||
|
||||
Dispatch(lyxaction.LookupFunc(cmd.c_str()), arg.c_str());
|
||||
return Dispatch(lyxaction.LookupFunc(cmd.c_str()), arg.c_str());
|
||||
}
|
||||
|
||||
|
||||
void Buffer::Dispatch(int action, string const & argument)
|
||||
bool Buffer::Dispatch(int action, string const & argument)
|
||||
{
|
||||
bool dispatched = true;
|
||||
switch (action) {
|
||||
case LFUN_EXPORT:
|
||||
MenuExport(this, argument);
|
||||
break;
|
||||
|
||||
default:
|
||||
lyxerr << "A truly unknown func!" << endl;
|
||||
break;
|
||||
|
||||
} // end of switch
|
||||
dispatched = false;
|
||||
}
|
||||
return dispatched;
|
||||
}
|
||||
|
||||
|
||||
|
@ -80,10 +80,10 @@ public:
|
||||
/** high-level interface to buffer functionality
|
||||
This function parses a command string and executes it
|
||||
*/
|
||||
void Dispatch(string const & command);
|
||||
bool Dispatch(string const & command);
|
||||
|
||||
/// Maybe we know the function already by number...
|
||||
void Dispatch(int ac, string const & argument);
|
||||
bool Dispatch(int ac, string const & argument);
|
||||
|
||||
/// should be changed to work for a list.
|
||||
void resize() {
|
||||
|
@ -630,3 +630,8 @@ void LyXGUI::regBuf(Buffer * b)
|
||||
{
|
||||
lyxViews->view()->buffer(b);
|
||||
}
|
||||
|
||||
LyXView * LyXGUI::getLyXView() const
|
||||
{
|
||||
return lyxViews;
|
||||
}
|
||||
|
@ -52,8 +52,12 @@ public:
|
||||
*/
|
||||
void init();
|
||||
|
||||
/// Register the buffer with the first fount LyXView in lyxViews
|
||||
/// Register the buffer with the first found LyXView in lyxViews
|
||||
void regBuf(Buffer*);
|
||||
|
||||
/// Access to (first?) LyXView
|
||||
LyXView * getLyXView() const;
|
||||
|
||||
//@}
|
||||
private:
|
||||
/**@name Construcor */
|
||||
|
@ -16,6 +16,8 @@
|
||||
#include "version.h"
|
||||
#include "lyx_main.h"
|
||||
#include "lyx_gui.h"
|
||||
#include "LyXView.h"
|
||||
#include "lyxfunc.h"
|
||||
#include "lyx_gui_misc.h"
|
||||
#include "lyxrc.h"
|
||||
#include "support/path.h"
|
||||
@ -121,13 +123,28 @@ LyX::LyX(int * argc, char * argv[])
|
||||
}
|
||||
|
||||
// Execute batch commands if available
|
||||
if (!batch_command.empty() && last_loaded) {
|
||||
if (!batch_command.empty()) {
|
||||
lyxerr << "About to handle -x '" << batch_command << "'" << endl;
|
||||
//Buffer buffer("Script Buffer");
|
||||
//buffer.Dispatch(batch_command);
|
||||
last_loaded->Dispatch(batch_command);
|
||||
lyxerr << "We are done!" << endl;
|
||||
return; // Maybe we could do something more clever than aborting..
|
||||
|
||||
// no buffer loaded, create one
|
||||
if (!last_loaded)
|
||||
last_loaded = bufferlist.newFile("tmpfile", string());
|
||||
|
||||
// try to dispatch to last loaded buffer first
|
||||
bool dispatched = last_loaded->Dispatch(batch_command);
|
||||
|
||||
// if this was successful, return.
|
||||
// Maybe we could do something more clever than aborting...
|
||||
if (dispatched) {
|
||||
lyxerr << "We are done!" << endl;
|
||||
return;
|
||||
}
|
||||
|
||||
// otherwise, let the GUI handle the batch command
|
||||
lyxGUI->regBuf(last_loaded);
|
||||
lyxGUI->getLyXView()->getLyXFunc()->Dispatch(batch_command);
|
||||
|
||||
// fall through...
|
||||
}
|
||||
|
||||
// Let the ball begin...
|
||||
@ -573,7 +590,27 @@ bool LyX::easyParse(int * argc, char * argv[])
|
||||
"ps...] after ")
|
||||
<< arg << _(" switch!") << endl;
|
||||
}
|
||||
|
||||
else if (arg == "--import") {
|
||||
if (i + 1 < *argc) {
|
||||
string type(argv[i+1]);
|
||||
string file(argv[i+2]);
|
||||
|
||||
(*argc) -= 3;
|
||||
for (int j = i; j < (*argc); ++j)
|
||||
argv[j] = argv[j + 3];
|
||||
--i; // After shift, check this number again.
|
||||
|
||||
batch_command = "buffer-import " + type + " " + file;
|
||||
cerr << "batch_command: " << batch_command << endl;
|
||||
|
||||
} else
|
||||
lyxerr << _("Missing type [eg latex, "
|
||||
"ps...] after ")
|
||||
<< arg << _(" switch!") << endl;
|
||||
}
|
||||
}
|
||||
|
||||
return gui;
|
||||
}
|
||||
|
||||
|
345
src/lyxfunc.C
345
src/lyxfunc.C
@ -744,7 +744,7 @@ string LyXFunc::Dispatch(int ac,
|
||||
MakeDisplayPath(owner->buffer()->fileName()),
|
||||
"...");
|
||||
MenuWrite(owner->buffer());
|
||||
//owner->getMiniBuffer()->
|
||||
//owner->getMiniBuffer()-> {
|
||||
// Set(_("Document saved as"),
|
||||
// MakeDisplayPath(owner->buffer()->fileName()));
|
||||
//} else {
|
||||
@ -797,30 +797,8 @@ string LyXFunc::Dispatch(int ac,
|
||||
break;
|
||||
|
||||
case LFUN_IMPORT:
|
||||
{
|
||||
//needs argument as string
|
||||
string imtyp = argument;
|
||||
|
||||
// latex
|
||||
if (imtyp == "latex") {
|
||||
doImportLaTeX(false);
|
||||
}
|
||||
// ascii
|
||||
else if (imtyp == "ascii") {
|
||||
doImportASCII(false);
|
||||
} else if (imtyp == "asciiparagraph") {
|
||||
doImportASCII(true);
|
||||
// noweb
|
||||
} else if (imtyp == "noweb") {
|
||||
doImportLaTeX(true);
|
||||
} else if (imtyp == "linuxdoc") {
|
||||
doImportLinuxDoc();
|
||||
} else {
|
||||
setErrorMessage(string(N_("Unknown import type: "))
|
||||
+ imtyp);
|
||||
}
|
||||
doImport(argument);
|
||||
break;
|
||||
}
|
||||
|
||||
case LFUN_QUIT:
|
||||
QuitLyX();
|
||||
@ -2880,53 +2858,66 @@ void LyXFunc::MenuOpen()
|
||||
}
|
||||
}
|
||||
|
||||
// returns filename if file must be imported,
|
||||
// empty string if either file not found or already loaded
|
||||
// checks for running without gui are missing.
|
||||
|
||||
void LyXFunc::doImportASCII(bool linorpar)
|
||||
void LyXFunc::doImportHelper(
|
||||
string const & file, // filename (possibly empty)
|
||||
string const & text, // info when asking for filename
|
||||
string const & pattern, // filetype
|
||||
bool func(BufferView *, string const &) // the real import function
|
||||
)
|
||||
{
|
||||
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;
|
||||
string filename = file;
|
||||
|
||||
if (filename.empty()) { // need user interaction
|
||||
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(owner->view());
|
||||
fileDlg.SetButton(0, _("Documents"), lyxrc.document_path);
|
||||
fileDlg.SetButton(1, _("Examples"),
|
||||
AddPath(system_lyxdir, "examples"));
|
||||
filename = fileDlg.Select(text, initpath, pattern);
|
||||
AllowInput(owner->view());
|
||||
|
||||
// check selected filename
|
||||
if (filename.empty())
|
||||
owner->getMiniBuffer()->Set(_("Canceled."));
|
||||
}
|
||||
|
||||
// launches dialog
|
||||
ProhibitInput(owner->view());
|
||||
fileDlg.SetButton(0, _("Documents"), lyxrc.document_path);
|
||||
fileDlg.SetButton(1, _("Examples"),
|
||||
AddPath(system_lyxdir, "examples"));
|
||||
string filename = fileDlg.Select(_("Select ASCII file to Import"),
|
||||
initpath, "*.txt");
|
||||
AllowInput(owner->view());
|
||||
|
||||
// check selected filename
|
||||
if (filename.empty()) {
|
||||
owner->getMiniBuffer()->Set(_("Canceled."));
|
||||
// still no filename? abort
|
||||
if (filename.empty())
|
||||
return;
|
||||
}
|
||||
|
||||
// get absolute path of file
|
||||
filename = MakeAbsPath(filename);
|
||||
|
||||
string s = ChangeExtension(filename, ".lyx", false);
|
||||
string lyxfile = ChangeExtension(filename, ".lyx", false);
|
||||
|
||||
// Check if the document already is open
|
||||
if (bufferlist.exists(s)) {
|
||||
if (bufferlist.exists(lyxfile)) {
|
||||
switch(AskConfirmation(_("Document is already open:"),
|
||||
MakeDisplayPath(s, 50),
|
||||
MakeDisplayPath(lyxfile, 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(s)))
|
||||
if (!bufferlist.close(bufferlist.getBuffer(lyxfile)))
|
||||
// If close is canceled, we cancel here too.
|
||||
return;
|
||||
break;
|
||||
case 2: // No: switch to the open document
|
||||
owner->view()->buffer(bufferlist.getBuffer(s));
|
||||
owner->view()->buffer(bufferlist.getBuffer(lyxfile));
|
||||
return;
|
||||
case 3: // Cancel: Do nothing
|
||||
owner->getMiniBuffer()->Set(_("Canceled."));
|
||||
@ -2935,193 +2926,66 @@ void LyXFunc::doImportASCII(bool linorpar)
|
||||
}
|
||||
|
||||
// Check if a LyX document by the same root exists in filesystem
|
||||
FileInfo f(s, true);
|
||||
FileInfo f(lyxfile, true);
|
||||
if (f.exist() && !AskQuestion(_("A document by the name"),
|
||||
MakeDisplayPath(s),
|
||||
MakeDisplayPath(lyxfile),
|
||||
_("already exists. Overwrite?"))) {
|
||||
owner->getMiniBuffer()->Set(_("Canceled."));
|
||||
return;
|
||||
}
|
||||
// filename should be valid now
|
||||
|
||||
owner->view()->buffer(bufferlist.newFile(s, string()));
|
||||
owner->getMiniBuffer()->Set(_("Importing ASCII file"),
|
||||
MakeDisplayPath(filename), "...");
|
||||
// Insert ASCII file
|
||||
InsertAsciiFile(owner->view(), filename, linorpar);
|
||||
owner->getMiniBuffer()->Set(_("ASCII file "),
|
||||
MakeDisplayPath(filename),
|
||||
_("imported."));
|
||||
// notify user of import ahead
|
||||
string displaypath = MakeDisplayPath(filename);
|
||||
owner->view()->buffer(bufferlist.newFile(lyxfile, string()));
|
||||
owner->getMiniBuffer()->Set(_("Importing"), displaypath, "...");
|
||||
|
||||
// call real importer
|
||||
bool result = func(owner->view(), filename);
|
||||
|
||||
// we are done
|
||||
if (result)
|
||||
owner->getMiniBuffer()->Set(displaypath, _("imported."));
|
||||
else
|
||||
owner->getMiniBuffer()->Set(displaypath, _(": import failed."));
|
||||
}
|
||||
|
||||
|
||||
void LyXFunc::doImportLaTeX(bool isnoweb)
|
||||
static
|
||||
bool doImportASCIIasLines(BufferView * view, string const & filename)
|
||||
{
|
||||
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(owner->view());
|
||||
fileDlg.SetButton(0, _("Documents"), lyxrc.document_path);
|
||||
fileDlg.SetButton(1, _("Examples"),
|
||||
AddPath(system_lyxdir, "examples"));
|
||||
string filename;
|
||||
if (isnoweb) {
|
||||
filename = fileDlg.Select(_("Select Noweb file to Import"),
|
||||
initpath, "*.nw");
|
||||
} else {
|
||||
filename = fileDlg.Select(_("Select LaTeX file to Import"),
|
||||
initpath, "*.tex");
|
||||
}
|
||||
|
||||
AllowInput(owner->view());
|
||||
|
||||
// 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
|
||||
Buffer * openbuf;
|
||||
if (!isnoweb) {
|
||||
owner->getMiniBuffer()->Set(_("Importing LaTeX file"),
|
||||
MakeDisplayPath(filename), "...");
|
||||
ImportLaTeX myImport(filename);
|
||||
openbuf = myImport.run();
|
||||
} else {
|
||||
owner->getMiniBuffer()->Set(_("Importing Noweb file"),
|
||||
MakeDisplayPath(filename), "...");
|
||||
ImportNoweb myImport(filename);
|
||||
openbuf = myImport.run();
|
||||
}
|
||||
if (openbuf) {
|
||||
owner->view()->buffer(openbuf);
|
||||
owner->getMiniBuffer()->Set(isnoweb ?
|
||||
_("Noweb file ") : _("LateX file "),
|
||||
MakeDisplayPath(filename),
|
||||
_("imported."));
|
||||
} else {
|
||||
owner->getMiniBuffer()->Set(isnoweb ?
|
||||
_("Could not import Noweb file") :
|
||||
_("Could not import LaTeX file"),
|
||||
MakeDisplayPath(filename));
|
||||
}
|
||||
InsertAsciiFile(view, filename, false);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
void LyXFunc::doImportLinuxDoc()
|
||||
static
|
||||
bool doImportASCIIasParagraphs(BufferView * view, string const & filename)
|
||||
{
|
||||
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;
|
||||
}
|
||||
InsertAsciiFile(view, filename, true);
|
||||
return true;
|
||||
}
|
||||
|
||||
// launches dialog
|
||||
ProhibitInput(owner->view());
|
||||
fileDlg.SetButton(0, _("Documents"), lyxrc.document_path);
|
||||
fileDlg.SetButton(1, _("Examples"),
|
||||
AddPath(system_lyxdir, "examples"));
|
||||
static
|
||||
bool doImportLaTeX(BufferView *, string const & filename)
|
||||
{
|
||||
ImportLaTeX myImport(filename);
|
||||
Buffer * openbuf = myImport.run();
|
||||
return openbuf != NULL;
|
||||
}
|
||||
|
||||
string filename = fileDlg.Select(_("Select LinuxDoc file to Import"),
|
||||
initpath, "*.sgml");
|
||||
|
||||
AllowInput(owner->view());
|
||||
|
||||
// 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), "...");
|
||||
static
|
||||
bool doImportNoweb(BufferView *, string const & filename)
|
||||
{
|
||||
ImportNoweb myImport(filename);
|
||||
Buffer * openbuf = myImport.run();
|
||||
return openbuf != NULL;
|
||||
}
|
||||
|
||||
static
|
||||
bool doImportLinuxDoc(BufferView *, string const & filename)
|
||||
{
|
||||
// run sgml2lyx
|
||||
string tmp = lyxrc.linuxdoc_to_lyx_command + filename;
|
||||
Systemcalls one;
|
||||
Systemcalls one;
|
||||
Buffer * buf = 0;
|
||||
|
||||
int result = one.startscript(Systemcalls::System, tmp);
|
||||
@ -3129,14 +2993,9 @@ void LyXFunc::doImportLinuxDoc()
|
||||
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));
|
||||
}
|
||||
|
||||
return result == 0;
|
||||
}
|
||||
|
||||
|
||||
@ -3192,6 +3051,36 @@ void LyXFunc::MenuInsertLyXFile(string const & filen)
|
||||
}
|
||||
}
|
||||
|
||||
void LyXFunc::doImport(string const & argument)
|
||||
{
|
||||
string type;
|
||||
string filename = split(argument, type, ' ');
|
||||
lyxerr.debug() << "LyXFunc::doImport: " << type
|
||||
<< " file: " << filename << endl;
|
||||
|
||||
if (type == "latex")
|
||||
doImportHelper(filename,
|
||||
_("Select LaTeX file to import"), "*.tex",
|
||||
doImportLaTeX);
|
||||
else if (type == "ascii")
|
||||
doImportHelper(filename,
|
||||
_("Select ASCII file to import"), "*.txt",
|
||||
doImportASCIIasLines);
|
||||
else if (type == "asciiparagraph")
|
||||
doImportHelper(filename,
|
||||
_("Select ASCII file to import"), "*.txt",
|
||||
doImportASCIIasParagraphs);
|
||||
else if (type == "noweb")
|
||||
doImportHelper(filename,
|
||||
_("Select NoWeb file to import"), "*.nw",
|
||||
doImportNoweb);
|
||||
else if (type == "linuxdoc")
|
||||
doImportHelper(filename,
|
||||
_("Select LinuxDoc file to import"), "*.doc",
|
||||
doImportLinuxDoc);
|
||||
else
|
||||
setErrorMessage(string(N_("Unknown import type: ")) + type);
|
||||
}
|
||||
|
||||
void LyXFunc::reloadBuffer()
|
||||
{
|
||||
|
@ -110,13 +110,9 @@ private:
|
||||
void MenuOpen();
|
||||
|
||||
///
|
||||
void doImportLaTeX(bool);
|
||||
|
||||
///
|
||||
void doImportASCII(bool);
|
||||
|
||||
///
|
||||
void doImportLinuxDoc();
|
||||
void doImport(string const &);
|
||||
void doImportHelper(string const &, string const &, string const &,
|
||||
bool func(BufferView *, string const &) );
|
||||
|
||||
///
|
||||
void MenuInsertLyXFile(string const &);
|
||||
|
Loading…
Reference in New Issue
Block a user