#include "Session.h"
#include "TextClassList.h"
#include "ToolbarBackend.h"
-#include "Undo.h"
#include "insets/InsetBox.h"
#include "insets/InsetBranch.h"
using support::FileName;
using support::fileSearch;
using support::i18nLibFileSearch;
-using support::isDirWriteable;
-using support::isFileReadable;
-using support::isStrInt;
-using support::makeAbsPath;
using support::makeDisplayPath;
+using support::makeAbsPath;
using support::package;
using support::quoteName;
using support::rtrim;
string configure_command = package().configure_command();
configure_command += option;
Systemcall one;
- one.startscript(Systemcall::Wait, configure_command);
+ int ret = one.startscript(Systemcall::Wait, configure_command);
p.pop();
// emit message signal.
lv.message(_("Reloading configuration..."));
// Re-read packages.lst
LaTeXFeatures::getAvailable();
- Alert::information(_("System reconfigured"),
+ if (ret)
+ Alert::information(_("System reconfiguration failed"),
+ _("The system reconfiguration has failed.\n"
+ "Default textclass is used but LyX may "
+ "not be able to work properly.\n"
+ "Please reconfigure again if needed."));
+ else
+
+ Alert::information(_("System reconfigured"),
_("The system has been reconfigured.\n"
"You need to restart LyX to make use of any\n"
"updated document class specifications."));
}
}
else if (name == "latexlog")
- enable = isFileReadable(FileName(buf->getLogName().second));
+ enable = FileName(buf->getLogName().second).isFileReadable();
else if (name == "spellchecker")
#if defined (USE_ASPELL) || defined (USE_ISPELL) || defined (USE_PSPELL)
enable = !buf->isReadonly();
FileName const filename(makeAbsPath(target_name,
lyx_view_->buffer()->filePath()));
FileName const dvifile(makeAbsPath(dviname, path));
- if (fs::exists(filename.toFilesystemEncoding())) {
+ if (filename.exists()) {
docstring text = bformat(
_("The file %1$s already exists.\n\n"
"Do you want to overwrite that file?"),
case LFUN_DIALOG_SHOW_NEW_INSET: {
BOOST_ASSERT(lyx_view_);
string const name = cmd.getArg(0);
+ InsetCode code = insetCode(name);
string data = trim(to_utf8(cmd.argument()).substr(name.size()));
- if (name == "bibitem" ||
- name == "bibtex" ||
- name == "index" ||
- name == "label" ||
- name == "nomenclature" ||
- name == "ref" ||
- name == "toc" ||
- name == "href") {
- InsetCommandParams p(name);
+ bool insetCodeOK = true;
+ switch (code) {
+ case BIBITEM_CODE:
+ case BIBTEX_CODE:
+ case INDEX_CODE:
+ case LABEL_CODE:
+ case NOMENCL_CODE:
+ case REF_CODE:
+ case TOC_CODE:
+ case HYPERLINK_CODE: {
+ InsetCommandParams p(code);
data = InsetCommandMailer::params2string(name, p);
- } else if (name == "include") {
+ break;
+ }
+ case INCLUDE_CODE: {
// data is the include type: one of "include",
// "input", "verbatiminput" or "verbatiminput*"
if (data.empty())
// default type is requested
data = "include";
- InsetCommandParams p(data);
+ InsetCommandParams p(INCLUDE_CODE, data);
data = InsetIncludeMailer::params2string(p);
- } else if (name == "box") {
+ break;
+ }
+ case BOX_CODE: {
// \c data == "Boxed" || "Frameless" etc
InsetBoxParams p(data);
data = InsetBoxMailer::params2string(p);
- } else if (name == "branch") {
+ break;
+ }
+ case BRANCH_CODE: {
InsetBranchParams p;
data = InsetBranchMailer::params2string(p);
- } else if (name == "citation") {
- InsetCommandParams p("citation");
+ break;
+ }
+ case CITE_CODE: {
+ InsetCommandParams p(CITE_CODE);
data = InsetCommandMailer::params2string(name, p);
- } else if (name == "ert") {
+ break;
+ }
+ case ERT_CODE: {
data = InsetERTMailer::params2string(InsetCollapsable::Open);
- } else if (name == "external") {
+ break;
+ }
+ case EXTERNAL_CODE: {
InsetExternalParams p;
Buffer const & buffer = *lyx_view_->buffer();
data = InsetExternalMailer::params2string(p, buffer);
- } else if (name == "float") {
+ break;
+ }
+ case FLOAT_CODE: {
InsetFloatParams p;
data = InsetFloatMailer::params2string(p);
- } else if (name == "listings") {
+ break;
+ }
+ case LISTINGS_CODE: {
InsetListingsParams p;
data = InsetListingsMailer::params2string(p);
- } else if (name == "graphics") {
+ break;
+ }
+ case GRAPHICS_CODE: {
InsetGraphicsParams p;
Buffer const & buffer = *lyx_view_->buffer();
data = InsetGraphicsMailer::params2string(p, buffer);
- } else if (name == "note") {
+ break;
+ }
+ case NOTE_CODE: {
InsetNoteParams p;
data = InsetNoteMailer::params2string(p);
- } else if (name == "vspace") {
+ break;
+ }
+ case VSPACE_CODE: {
VSpace space;
data = InsetVSpaceMailer::params2string(space);
- } else if (name == "wrap") {
+ break;
+ }
+ case WRAP_CODE: {
InsetWrapParams p;
data = InsetWrapMailer::params2string(p);
+ break;
}
- lyx_view_->getDialogs().show(name, data, 0);
+ default:
+ lyxerr << "Inset type '" << name <<
+ "' not recognized in LFUN_DIALOG_SHOW_NEW_INSET" << std:: endl;
+ insetCodeOK = false;
+ break;
+ } // end switch(code)
+ if (insetCodeOK)
+ lyx_view_->getDialogs().show(name, data, 0);
break;
}
arg = token(argument, '|', 0);
opt1 = token(argument, '|', 1);
}
- InsetCommandParams icp("citation");
+ InsetCommandParams icp(CITE_CODE);
icp["key"] = from_utf8(arg);
if (!opt1.empty())
icp["before"] = from_utf8(opt1);
BOOST_ASSERT(lyx_view_);
string action;
string const name = split(argument, action, ' ');
- InsetCode const inset_code =
- insetCode(name);
+ InsetCode const inset_code = insetCode(name);
Cursor & cur = view()->cursor();
FuncRequest fr(LFUN_INSET_TOGGLE, action);
Buffer * buffer = lyx_view_->buffer();
TextClassPtr oldClass = buffer->params().getTextClassPtr();
- recordUndoFullDocument(view());
+
+ Cursor & cur = view()->cursor();
+ cur.recordUndoFullDocument();
istringstream ss(argument);
Lexer lex(0,0);
lyx_view_->buffer()->params().getEngine();
if (oldEngine != newEngine) {
- Cursor & cur = view()->cursor();
FuncRequest fr(LFUN_INSET_REFRESH);
Inset & inset = lyx_view_->buffer()->inset();
BOOST_ASSERT(lyx_view_);
Buffer * buffer = lyx_view_->buffer();
TextClassPtr oldClass = buffer->params().getTextClassPtr();
- recordUndoFullDocument(view());
+ view()->cursor().recordUndoFullDocument();
buffer->params().clearLayoutModules();
updateLayout(oldClass, buffer);
updateFlags = Update::Force | Update::FitCursor;
BOOST_ASSERT(lyx_view_);
Buffer * buffer = lyx_view_->buffer();
TextClassPtr oldClass = buffer->params().getTextClassPtr();
- recordUndoFullDocument(view());
+ view()->cursor().recordUndoFullDocument();
buffer->params().addLayoutModule(argument);
updateLayout(oldClass, buffer);
updateFlags = Update::Force | Update::FitCursor;
//Save the old, possibly modular, layout for use in conversion.
TextClassPtr oldClass = buffer->params().getTextClassPtr();
- recordUndoFullDocument(view());
+ view()->cursor().recordUndoFullDocument();
buffer->params().setBaseClass(new_class);
updateLayout(oldClass, buffer);
updateFlags = Update::Force | Update::FitCursor;
if (lyx_view_->buffer()) {
string const trypath = lyx_view_->buffer()->filePath();
// If directory is writeable, use this as default.
- if (isDirWriteable(FileName(trypath)))
+ if (FileName(trypath).isDirWritable())
initpath = trypath;
}
filename = addName(lyxrc.document_path,
"newfile" + convert<string>(++newfile_number) + ".lyx");
while (theBufferList().exists(filename) ||
- fs::is_readable(FileName(filename).toFilesystemEncoding())) {
+ FileName(filename).isReadable()) {
++newfile_number;
filename = addName(lyxrc.document_path,
"newfile" + convert<string>(newfile_number) +
if (lyx_view_->buffer()) {
string const trypath = lyx_view_->buffer()->filePath();
// If directory is writeable, use this as default.
- if (isDirWriteable(FileName(trypath)))
+ if (FileName(trypath).isDirWritable())
initpath = trypath;
}
filename = fullname.absFilename();
// if the file doesn't exist, let the user create one
- if (!fs::exists(fullname.toFilesystemEncoding())) {
+ if (!fullname.exists()) {
// the user specifically chose this name. Believe him.
Buffer * const b = newFile(filename, string(), true);
if (b)
if (lyx_view_->buffer()) {
string const trypath = lyx_view_->buffer()->filePath();
// If directory is writeable, use this as default.
- if (isDirWriteable(FileName(trypath)))
+ if (FileName(trypath).isDirWritable())
initpath = trypath;
}
// if the file exists already, and we didn't do
// -i lyx thefile.lyx, warn
- if (fs::exists(lyxfile.toFilesystemEncoding()) && fullname != lyxfile) {
+ if (lyxfile.exists() && fullname != lyxfile) {
docstring const file = makeDisplayPath(lyxfile.absFilename(), 30);
docstring text = bformat(_("The document %1$s already exists.\n\n"
case LyXRC::RC_DISPLAY_GRAPHICS:
case LyXRC::RC_DOCUMENTPATH:
if (lyxrc_orig.document_path != lyxrc_new.document_path) {
- string const encoded = FileName(
- lyxrc_new.document_path).toFilesystemEncoding();
- if (fs::exists(encoded) && fs::is_directory(encoded))
+ FileName path(lyxrc_new.document_path);
+ if (path.exists() && path.isDirectory())
support::package().document_dir() = FileName(lyxrc.document_path);
}
case LyXRC::RC_ESC_CHARS: