X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxfunc.C;h=ddd80299e411b62e6ce3cb83e4ff3c605d07640f;hb=8d3a4fd463f6865eecf7fb9e2bd63c43f9438cfe;hp=3500d05d4929f9594f7d9373ef58aef6df75e986;hpb=b92c96554385bcbc91262cd9a83766f422552564;p=lyx.git diff --git a/src/lyxfunc.C b/src/lyxfunc.C index 3500d05d49..ddd80299e4 100644 --- a/src/lyxfunc.C +++ b/src/lyxfunc.C @@ -41,6 +41,10 @@ #include "insets/insetindex.h" #include "insets/insetinclude.h" #include "insets/insetbib.h" +#include "insets/insettext.h" +#include "insets/insetert.h" +#include "insets/insetgraphics.h" +#include "insets/insetfoot.h" #include "mathed/formulamacro.h" #include "toolbar.h" #include "spellchecker.h" // RVDK_PATCH_5 @@ -63,10 +67,11 @@ #include "ImportNoweb.h" #include "layout.h" #include "WorkArea.h" +#include "lyxfr1.h" extern bool cursor_follows_scrollbar; -extern void InsertAsciiFile(string const &, bool); +extern void InsertAsciiFile(BufferView *, string const &, bool); extern void math_insert_symbol(char const *); extern Bool math_insert_greek(char const); // why "Bool"? extern BufferList bufferlist; @@ -94,7 +99,6 @@ extern LyXAction lyxaction; extern tex_accent_struct get_accent(kb_action action); extern void AutoSave(); -extern void MenuSearch(); extern void SetUpdateTimer(float timer = 0.3); extern void FreeUpdateTimer(); extern bool PreviewDVI(Buffer *); @@ -115,7 +119,7 @@ extern Buffer * NewLyxFile(string const &); extern void LoadLyXFile(string const &); extern void Reconfigure(BufferView *); -extern int current_layout; +extern LyXTextClass::size_type current_layout; extern int getISOCodeFromLaTeX(char *); extern void ShowLatexLog(); @@ -330,34 +334,40 @@ LyXFunc::func_status LyXFunc::getStatus(int ac) const // I would really like to avoid having this switch and rather try to // encode this in the function itself. - static bool noLaTeX = lyxrc->latex_command == "none"; + static bool noLaTeX = lyxrc.latex_command == "none"; bool disable = false; switch (action) { case LFUN_PREVIEW: - disable = noLaTeX || lyxrc->view_dvi_command == "none"; + disable = noLaTeX || lyxrc.view_dvi_command == "none"; break; case LFUN_PREVIEWPS: - disable = noLaTeX || lyxrc->view_ps_command == "none"; + disable = noLaTeX || lyxrc.view_ps_command == "none"; break; case LFUN_RUNLATEX: case LFUN_RUNDVIPS: disable = noLaTeX; break; case LFUN_MENUPRINT: - disable = noLaTeX || lyxrc->print_command == "none"; + disable = noLaTeX || lyxrc.print_command == "none"; break; case LFUN_FAX: - disable = noLaTeX || lyxrc->fax_command == "none"; + disable = noLaTeX || lyxrc.fax_command == "none"; break; case LFUN_IMPORT: if (argument == "latex") - disable = lyxrc->relyx_command == "none"; + 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"; + 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(); @@ -366,10 +376,10 @@ LyXFunc::func_status LyXFunc::getStatus(int ac) const disable = buf->redostack.empty(); break; case LFUN_SPELLCHECK: - disable = lyxrc->isp_command == "none"; + disable = lyxrc.isp_command == "none"; break; case LFUN_RUNCHKTEX: - disable = lyxrc->chktex_command == "none"; + disable = lyxrc.chktex_command == "none"; break; case LFUN_LAYOUT_TABLE: disable = ! owner->view()->text->cursor.par->table; @@ -400,10 +410,6 @@ LyXFunc::func_status LyXFunc::getStatus(int ac) const if (font.latex() == LyXFont::ON) box = LyXFunc::ToggleOn; break; - case LFUN_RTL: - if (font.direction() == LyXFont::RTL_DIR) - box = LyXFunc::ToggleOn; - break; default: box = LyXFunc::OK; break; @@ -459,7 +465,7 @@ string LyXFunc::Dispatch(int ac, commandshortcut.clear(); - if (lyxrc->display_shortcuts && show_sc) { + if (lyxrc.display_shortcuts && show_sc) { if (action != LFUN_SELFINSERT) { // Put name of command and list of shortcuts // for it in minibuffer @@ -524,44 +530,55 @@ string LyXFunc::Dispatch(int ac, inset->GetCursorPos(slx, sly); owner->view()->unlockInset(inset); owner->view()->menuUndo(); - inset = static_cast(owner->view()->text->cursor.par->GetInset(owner->view()->text->cursor.pos)); - if (inset) - inset->Edit(owner->view(), slx, sly); + inset = static_cast( + owner->view()->text->cursor.par-> + GetInset(owner->view()->text-> + cursor.pos)); + if (inset) + inset->Edit(owner->view(),slx,sly,0); + return string(); + } else if (action == LFUN_REDO) { + int slx, sly; + UpdatableInset * inset = owner->view()-> + the_locking_inset; + inset->GetCursorPos(slx, sly); + owner->view()->unlockInset(inset); + owner->view()->menuRedo(); + inset = static_cast( + owner->view()->text->cursor.par-> + GetInset(owner->view()->text-> + cursor.pos)); + if (inset) + inset->Edit(owner->view(),slx,sly,0); return string(); - } else - if (action == LFUN_REDO) { - int slx, sly; - UpdatableInset * inset = owner->view()->the_locking_inset; - inset->GetCursorPos(slx, sly); - owner->view()->unlockInset(inset); - owner->view()->menuRedo(); - inset = static_cast(owner->view()->text->cursor.par->GetInset(owner->view()->text->cursor.pos)); - if (inset) - inset->Edit(owner->view(), - slx, sly); + } else if (owner->view()->the_locking_inset-> + LocalDispatch(owner->view(), action, + argument) == + UpdatableInset::DISPATCHED) + return string(); + else { + setMessage(N_("Text mode")); + LyXDirection direction = owner->view()->text-> + cursor.par->getParDirection(); + if ((action == -1) || + ((action == LFUN_RIGHT) && + (direction == LYX_DIR_LEFT_TO_RIGHT))) { + owner->view()->text->CursorRight(); + moveCursorUpdate(false); + owner->getMiniBuffer()-> + Set(CurrentState()); + } + if ((action == LFUN_LEFT) && + (direction == LYX_DIR_RIGHT_TO_LEFT)) { + owner->view()->text->CursorRight(); + moveCursorUpdate(false); + owner->getMiniBuffer()-> + Set(CurrentState()); + } + if ((action == LFUN_LEFT) || + (action == LFUN_RIGHT)) return string(); - } else - if (owner->view()->the_locking_inset->LocalDispatch(owner->view(), action, argument.c_str())) - return string(); - else { - setMessage(N_("Text mode")); - LyXDirection direction = owner->view()->text->cursor.par->getParDirection(); - if ( action == -1 || - (action == LFUN_RIGHT - && direction == LYX_DIR_LEFT_TO_RIGHT)) { - owner->view()->text->CursorRight(); - moveCursorUpdate(false); - owner->getMiniBuffer()->Set(CurrentState()); - } - if ( action == LFUN_LEFT - && direction == LYX_DIR_RIGHT_TO_LEFT) { - owner->view()->text->CursorRight(); - moveCursorUpdate(false); - owner->getMiniBuffer()->Set(CurrentState()); - } - if (action == LFUN_LEFT || action == LFUN_RIGHT) - return string(); - } + } } } @@ -758,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); @@ -822,7 +841,14 @@ string LyXFunc::Dispatch(int ac, case LFUN_FIGURE: Figure(); break; - + + case LFUN_INSERT_GRAPHICS: + { + Inset * new_inset = new InsetGraphics; + owner->view()->insertInset(new_inset); + break; + } + case LFUN_AUTOSAVE: AutoSave(); break; @@ -836,7 +862,14 @@ string LyXFunc::Dispatch(int ac, break; case LFUN_MENUSEARCH: - MenuSearch(); + { + // Ok this is one _very_ bad solution, but I think that some + // of this will be rewritten as part of GUI indep anyway. + // Lgb + static LyXFindReplace FR_; + FR_.StartSearch(owner->view()); + } + break; case LFUN_PASTE: @@ -1017,7 +1050,7 @@ string LyXFunc::Dispatch(int ac, case LFUN_FILE_INSERT_ASCII: { bool asPara = (argument == "paragraph"); - InsertAsciiFile(string(), asPara); + InsertAsciiFile(owner->view(), string(), asPara); } break; @@ -1068,7 +1101,7 @@ string LyXFunc::Dispatch(int ac, // and current buffer's textclass (number). */ LyXTextClassList::ClassList::size_type tclass = owner->view()->text->parameters->textclass; - pair layout = + pair layout = textclasslist.NumberOfLayout(tclass, argument); // If the entry is obsolete, use the new one instead. @@ -1142,9 +1175,9 @@ string LyXFunc::Dispatch(int ac, owner->getToolbar()->combox->Show(); break; - case LFUN_RTL: + case LFUN_LANGUAGE: { - RTLCB(); + LangCB(argument); owner->view()->setState(); owner->getMiniBuffer()->Set(CurrentState()); } @@ -1266,7 +1299,7 @@ string LyXFunc::Dispatch(int ac, break; // RVDK_PATCH_5 case LFUN_SPELLCHECK: - if (lyxrc->isp_command != "none") + if (lyxrc.isp_command != "none") ShowSpellChecker(owner->view()); break; // RVDK_PATCH_5 @@ -1285,10 +1318,10 @@ string LyXFunc::Dispatch(int ac, && tmptext->cursor.par->GetChar(tmptext->cursor.pos) == LyXParagraph::META_INSET && tmptext->cursor.par->GetInset(tmptext->cursor.pos) - && tmptext->cursor.par->GetInset(tmptext->cursor.pos)->Editable() == 2){ + && tmptext->cursor.par->GetInset(tmptext->cursor.pos)->Editable() == Inset::HIGHLY_EDITABLE){ Inset * tmpinset = tmptext->cursor.par->GetInset(tmptext->cursor.pos); setMessage(tmpinset->EditMessage()); - tmpinset->Edit(owner->view(), 0, 0); + tmpinset->Edit(owner->view(), 0, 0, 0); break; } if (direction == LYX_DIR_LEFT_TO_RIGHT) @@ -1313,13 +1346,14 @@ string LyXFunc::Dispatch(int ac, && txt->cursor.par->GetChar(txt->cursor.pos) == LyXParagraph::META_INSET && txt->cursor.par->GetInset(txt->cursor.pos) - && txt->cursor.par->GetInset(txt->cursor.pos)->Editable() == 2) { + && txt->cursor.par->GetInset(txt->cursor.pos)->Editable() == Inset::HIGHLY_EDITABLE) { Inset * tmpinset = txt->cursor.par->GetInset(txt->cursor.pos); setMessage(tmpinset->EditMessage()); tmpinset->Edit(owner->view(), tmpinset->width(owner->view()->painter(), txt->GetFont(txt->cursor.par, - txt->cursor.pos)), 0); + txt->cursor.pos)), + 0, 0); break; } if (direction == LYX_DIR_RIGHT_TO_LEFT) @@ -1600,20 +1634,40 @@ string LyXFunc::Dispatch(int ac, // --- text changing commands ------------------------ case LFUN_BREAKLINE: +#if 1 owner->view()->beforeChange(); owner->view()->text->InsertChar(LyXParagraph::META_NEWLINE); owner->view()->smallUpdate(1); SetUpdateTimer(0.01); moveCursorUpdate(false); +#else + owner->view()->newline(); +#endif break; case LFUN_PROTECTEDSPACE: +#if 1 + { + LyXLayout const & style = + textclasslist.Style(owner->view()->buffer()->params.textclass, + owner->view()->text->cursor.par->GetLayout()); + + if (style.free_spacing) { + owner->view()->text->InsertChar(' '); + owner->view()->update(-1); + } else { + owner->view()->protectedBlank(); + } + moveCursorUpdate(false); + } +#else owner->view()->beforeChange(); owner->view()->text-> InsertChar(LyXParagraph::META_PROTECTED_SEPARATOR); owner->view()->smallUpdate(1); SetUpdateTimer(); moveCursorUpdate(false); +#endif break; case LFUN_SETMARK: @@ -1876,7 +1930,28 @@ string LyXFunc::Dispatch(int ac, else new_inset = new InsetUrl("url", "", ""); owner->view()->insertInset(new_inset); - new_inset->Edit(owner->view(), 0, 0); + new_inset->Edit(owner->view(), 0, 0, 0); + } + break; + case LFUN_INSET_TEXT: + { + InsetText * new_inset = new InsetText(owner->buffer()); + owner->view()->insertInset(new_inset); + new_inset->Edit(owner->view(), 0, 0, 0); + } + break; + case LFUN_INSET_ERT: + { + InsetERT * new_inset = new InsetERT(owner->buffer()); + owner->view()->insertInset(new_inset); + new_inset->Edit(owner->view(), 0, 0, 0); + } + break; + case LFUN_INSET_FOOTNOTE: + { + InsetFoot * new_inset = new InsetFoot(owner->buffer()); + owner->view()->insertInset(new_inset); + new_inset->Edit(owner->view(), 0, 0, 0); } break; @@ -1887,8 +1962,11 @@ string LyXFunc::Dispatch(int ac, LyXParagraph::size_type pos = owner->view()->text->cursor.pos; if(pos < owner->view()->text->cursor.par->size()) - dispatch_buffer = owner->view()->text-> - cursor.par->text[pos]; + //dispatch_buffer = owner->view()->text-> + // cursor.par->text[pos]; + dispatch_buffer = + owner->view()->text-> + cursor.par->GetChar(pos); else dispatch_buffer = "EOF"; } @@ -2100,10 +2178,11 @@ string LyXFunc::Dispatch(int ac, if (owner->view()->available()) { owner->view()-> open_new_inset(new InsetFormula(false)); - owner->view()-> - the_locking_inset->LocalDispatch(owner->view(), - action, - argument.c_str()); + owner->view() + ->the_locking_inset + ->LocalDispatch(owner->view(), + action, + argument); } } break; @@ -2169,7 +2248,7 @@ string LyXFunc::Dispatch(int ac, owner->view()->insertInset(new_inset); } else { owner->view()->insertInset(new_inset); - new_inset->Edit(owner->view(), 0, 0); + new_inset->Edit(owner->view(), 0, 0, 0); } } break; @@ -2190,7 +2269,7 @@ string LyXFunc::Dispatch(int ac, owner->view()->insertInset(new_inset); if (lsarg.empty()) { - new_inset->Edit(owner->view(), 0, 0); + new_inset->Edit(owner->view(), 0, 0, 0); } } break; @@ -2256,7 +2335,7 @@ string LyXFunc::Dispatch(int ac, //don't edit it if the call was to INSERT_LAST if(action != LFUN_INDEX_INSERT_LAST) { - new_inset->Edit(owner->view(), 0, 0); + new_inset->Edit(owner->view(), 0, 0, 0); } else { //it looks blank on the screen unless //we do something. put it here. @@ -2294,7 +2373,7 @@ string LyXFunc::Dispatch(int ac, Inset * new_inset = new InsetInclude(argument, owner->buffer()); owner->view()->insertInset(new_inset, "Standard", true); - new_inset->Edit(owner->view(), 0, 0); + new_inset->Edit(owner->view(), 0, 0, 0); } break; @@ -2408,7 +2487,7 @@ string LyXFunc::Dispatch(int ac, if (!argument.empty()) arg = argument; else if (arg.empty()) - arg = lyxrc->date_insert_format; + arg = lyxrc.date_insert_format; datetmp_len = (int) strftime(datetmp, 32, arg.c_str(), now_tm); for (int i = 0; i < datetmp_len; i++) { owner->view()->text->InsertChar(datetmp[i]); @@ -2423,7 +2502,7 @@ string LyXFunc::Dispatch(int ac, case LFUN_SAVEPREFERENCES: { Path p(user_lyxdir); - lyxrc->write("preferences"); + lyxrc.write("preferences"); } break; @@ -2449,7 +2528,7 @@ string LyXFunc::Dispatch(int ac, * "auto_region_delete", which defaults to * true (on). */ - if ( lyxrc->auto_region_delete ) { + if ( lyxrc.auto_region_delete ) { if (owner->view()->text->selection){ owner->view()->text->CutSelection(false); owner->view()->update(-1); @@ -2457,6 +2536,34 @@ string LyXFunc::Dispatch(int ac, } owner->view()->beforeChange(); + + if (isdigit(argument[0]) && + (lyxrc.auto_mathmode == "true" || + (lyxrc.auto_mathmode == "rtl" && + owner->view()->text->real_current_font.isVisibleRightToLeft() + ))) { + UpdatableInset * tmpinset = new InsetFormula; + LyXCursor & cursor = owner->view()->text->cursor; + if (cursor.pos > 0 && + cursor.par->GetChar(cursor.pos - 1) == '-' && + (cursor.pos == 1 || + cursor.par->IsSeparator(cursor.pos - 2) || + cursor.par->IsNewline(cursor.pos - 2) ) + ) { + owner->view()->text->Backspace(); + owner->view()->open_new_inset(tmpinset); + tmpinset->LocalDispatch(owner->view(), + LFUN_UNKNOWN_ACTION, + "-"); + } else { + owner->view()->open_new_inset(tmpinset); + } + tmpinset->LocalDispatch(owner->view(), + LFUN_UNKNOWN_ACTION, + argument); + return string(); + } + for (string::size_type i = 0; i < argument.length(); ++i) { if (greek_kb_flag) { @@ -2517,7 +2624,7 @@ void LyXFunc::setupLocalKeymap() void LyXFunc::MenuNew(bool fromTemplate) { - string fname, initpath = lyxrc->document_path; + string fname, initpath = lyxrc.document_path; LyXFileDlg fileDlg; if (owner->view()->available()) { @@ -2528,8 +2635,8 @@ void LyXFunc::MenuNew(bool fromTemplate) } ProhibitInput(); - fileDlg.SetButton(0, _("Documents"), lyxrc->document_path); - fileDlg.SetButton(1, _("Templates"), lyxrc->template_path); + fileDlg.SetButton(0, _("Documents"), lyxrc.document_path); + fileDlg.SetButton(1, _("Templates"), lyxrc.template_path); fname = fileDlg.Select(_("Enter Filename for new document"), initpath, "*.lyx", _("newfile")); AllowInput(); @@ -2592,7 +2699,7 @@ void LyXFunc::MenuNew(bool fromTemplate) if (fromTemplate) { ProhibitInput(); fname = fileDlg.Select(_("Choose template"), - lyxrc->template_path, + lyxrc.template_path, "*.lyx"); templname = fname; AllowInput(); @@ -2606,7 +2713,7 @@ void LyXFunc::MenuNew(bool fromTemplate) void LyXFunc::MenuOpen() { - string initpath = lyxrc->document_path; + string initpath = lyxrc.document_path; LyXFileDlg fileDlg; if (owner->view()->available()) { @@ -2618,7 +2725,7 @@ void LyXFunc::MenuOpen() // launches dialog ProhibitInput(); - fileDlg.SetButton(0, _("Documents"), lyxrc->document_path); + fileDlg.SetButton(0, _("Documents"), lyxrc.document_path); fileDlg.SetButton(1, _("Examples"), AddPath(system_lyxdir, "examples")); string filename = fileDlg.Select(_("Select Document to Open"), @@ -2655,7 +2762,7 @@ void LyXFunc::MenuOpen() void LyXFunc::doImportASCII(bool linorpar) { - string initpath = lyxrc->document_path; + string initpath = lyxrc.document_path; LyXFileDlg fileDlg; if (owner->view()->available()) { @@ -2667,7 +2774,7 @@ void LyXFunc::doImportASCII(bool linorpar) // launches dialog ProhibitInput(); - fileDlg.SetButton(0, _("Documents"), lyxrc->document_path); + fileDlg.SetButton(0, _("Documents"), lyxrc.document_path); fileDlg.SetButton(1, _("Examples"), AddPath(system_lyxdir, "examples")); string filename = fileDlg.Select(_("Select ASCII file to Import"), @@ -2719,7 +2826,7 @@ void LyXFunc::doImportASCII(bool linorpar) owner->getMiniBuffer()->Set(_("Importing ASCII file"), MakeDisplayPath(filename), "..."); // Insert ASCII file - InsertAsciiFile(filename, linorpar); + InsertAsciiFile(owner->view(), filename, linorpar); owner->getMiniBuffer()->Set(_("ASCII file "), MakeDisplayPath(filename), _("imported.")); @@ -2728,7 +2835,7 @@ void LyXFunc::doImportASCII(bool linorpar) void LyXFunc::doImportLaTeX(bool isnoweb) { - string initpath = lyxrc->document_path; + string initpath = lyxrc.document_path; LyXFileDlg fileDlg; if (owner->view()->available()) { @@ -2740,7 +2847,7 @@ void LyXFunc::doImportLaTeX(bool isnoweb) // launches dialog ProhibitInput(); - fileDlg.SetButton(0, _("Documents"), lyxrc->document_path); + fileDlg.SetButton(0, _("Documents"), lyxrc.document_path); fileDlg.SetButton(1, _("Examples"), AddPath(system_lyxdir, "examples")); string filename; @@ -2823,13 +2930,102 @@ 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; if (filename.empty()) { // Launch a file browser - string initpath = lyxrc->document_path; + string initpath = lyxrc.document_path; LyXFileDlg fileDlg; if (owner->view()->available()) { @@ -2841,7 +3037,7 @@ void LyXFunc::MenuInsertLyXFile(string const & filen) // launches dialog ProhibitInput(); - fileDlg.SetButton(0, _("Documents"), lyxrc->document_path); + fileDlg.SetButton(0, _("Documents"), lyxrc.document_path); fileDlg.SetButton(1, _("Examples"), AddPath(system_lyxdir, "examples")); filename = fileDlg.Select(_("Select Document to Insert"),