#include "insets/InsetERT.h"
#include "insets/InsetExternal.h"
#include "insets/InsetFloat.h"
+#include "insets/InsetListings.h"
#include "insets/InsetGraphics.h"
#include "insets/InsetInclude.h"
#include "insets/InsetNote.h"
case Inset::BOX_CODE:
enable = cmd.argument() == "box";
break;
+ case Inset::LISTINGS_CODE:
+ enable = cmd.argument() == "listings";
+ break;
default:
break;
}
break;
}
+ case LFUN_DIALOG_TOGGLE:
+ flag.setOnOff(lyx_view_->getDialogs().visible(cmd.getArg(0)));
+ // fall through to set "enable"
case LFUN_DIALOG_SHOW: {
string const name = cmd.getArg(0);
if (!buf)
enable = Exporter::isExportable(*buf, "dvi")
&& lyxrc.print_command != "none";
else if (name == "character")
- enable = cur.inset().lyxCode() != Inset::ERT_CODE;
+ enable = cur.inset().lyxCode() != Inset::ERT_CODE &&
+ cur.inset().lyxCode() != Inset::LISTINGS_CODE;
else if (name == "latexlog")
enable = isFileReadable(FileName(buf->getLogName().second));
else if (name == "spellchecker")
}
case LFUN_DIALOG_SHOW_NEW_INSET:
- enable = cur.inset().lyxCode() != Inset::ERT_CODE;
+ enable = cur.inset().lyxCode() != Inset::ERT_CODE &&
+ cur.inset().lyxCode() != Inset::LISTINGS_CODE;
if (cur.inset().lyxCode() == Inset::CAPTION_CODE) {
FuncStatus flag;
if (cur.inset().getStatus(cur, cmd, flag))
break;
}
+ case LFUN_TOOLBAR_TOGGLE: {
+ bool const current = lyx_view_->getToolbars().visible(cmd.getArg(0));
+ flag.setOnOff(current);
+ break;
+ }
// this one is difficult to get right. As a half-baked
// solution, we consider only the first action of the sequence
case LFUN_COMMAND_SEQUENCE: {
case LFUN_BUFFER_UPDATE:
case LFUN_BUFFER_VIEW:
case LFUN_BUFFER_IMPORT:
- case LFUN_TOC_VIEW:
case LFUN_BUFFER_AUTO_SAVE:
case LFUN_RECONFIGURE:
case LFUN_HELP_OPEN:
docstring text = bformat(_("Any changes will be lost. Are you sure "
"you want to revert to the saved version of the document %1$s?"), file);
int const ret = Alert::prompt(_("Revert to saved document?"),
- text, 0, 1, _("&Revert"), _("&Cancel"));
+ text, 1, 1, _("&Revert"), _("&Cancel"));
if (ret == 0)
reloadBuffer();
theApp()->gui().closeAllViews();
break;
- case LFUN_TOC_VIEW: {
- BOOST_ASSERT(lyx_view_);
- InsetCommandParams p("tableofcontents");
- string const data = InsetCommandMailer::params2string("toc", p);
- lyx_view_->getDialogs().show("toc", data, 0);
- break;
- }
-
case LFUN_BUFFER_AUTO_SAVE:
autoSave(view());
break;
} else if (name == "float") {
InsetFloatParams p;
data = InsetFloatMailer::params2string(p);
+ } else if (name == "listings") {
+ InsetListingsParams p;
+ data = InsetListingsMailer::params2string(p);
} else if (name == "graphics") {
InsetGraphicsParams p;
Buffer const & buffer = *lyx_view_->buffer();
Dialogs::hide(argument, 0);
break;
+ case LFUN_DIALOG_TOGGLE: {
+ BOOST_ASSERT(lyx_view_);
+ if (lyx_view_->getDialogs().visible(cmd.getArg(0)))
+ dispatch(FuncRequest(LFUN_DIALOG_HIDE, argument));
+ else
+ dispatch(FuncRequest(LFUN_DIALOG_SHOW, argument));
+ break;
+ }
+
case LFUN_DIALOG_DISCONNECT_INSET:
BOOST_ASSERT(lyx_view_);
lyx_view_->getDialogs().disconnect(argument);
BOOST_ASSERT(lyx_view_);
FileName const filename =
makeAbsPath(argument, lyx_view_->buffer()->filePath());
- setMessage(bformat(_("Opening child document %1$s..."),
- makeDisplayPath(filename.absFilename())));
view()->saveBookmark(false);
string const parentfilename = lyx_view_->buffer()->fileName();
if (theBufferList().exists(filename.absFilename()))
lyx_view_->setBuffer(theBufferList().getBuffer(filename.absFilename()));
else
- lyx_view_->loadLyXFile(filename);
- // Set the parent name of the child document.
- // This makes insertion of citations and references in the child work,
- // when the target is in the parent or another child document.
- lyx_view_->buffer()->setParentName(parentfilename);
+ if (lyx_view_->loadLyXFile(filename)) {
+ // Set the parent name of the child document.
+ // This makes insertion of citations and references in the child work,
+ // when the target is in the parent or another child document.
+ lyx_view_->buffer()->setParentName(parentfilename);
+ setMessage(bformat(_("Opening child document %1$s..."),
+ makeDisplayPath(filename.absFilename())));
+ } else
+ setMessage(_("Document not loaded."));
break;
}
lyx_view_->toggleToolbarState(argument);
break;
+ case LFUN_TOOLBAR_TOGGLE: {
+ BOOST_ASSERT(lyx_view_);
+ string const name = to_utf8(cmd.argument());
+ bool const current = lyx_view_->getToolbars().visible(name);
+ lyx_view_->getToolbars().display(name, !current);
+ break;
+ }
+
default: {
BOOST_ASSERT(lyx_view_);
view()->cursor().dispatch(cmd);