#include "BufferParams.h"
#include "BufferView.h"
#include "bufferview_funcs.h"
-#include "LCursor.h"
+#include "Cursor.h"
#include "CutAndPaste.h"
#include "debug.h"
#include "DispatchResult.h"
#include "Importer.h"
#include "InsetIterator.h"
#include "Intl.h"
-#include "kb_keymap.h"
+#include "KeyMap.h"
#include "Language.h"
-#include "LColor.h"
+#include "Color.h"
#include "Session.h"
#include "LyX.h"
-#include "lyx_cb.h"
+#include "callback.h"
#include "LyXAction.h"
#include "lyxfind.h"
-#include "LyXLex.h"
+#include "Lexer.h"
#include "LyXRC.h"
#include "Row.h"
-#include "LyXServer.h"
-#include "LyXTextClassList.h"
+#include "Server.h"
+#include "TextClassList.h"
#include "LyXVC.h"
#include "Paragraph.h"
#include "ParIterator.h"
#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"
#include "insets/InsetWrap.h"
#include "frontends/Application.h"
-#include "frontends/Alert.h"
+#include "frontends/alert.h"
#include "frontends/Dialogs.h"
#include "frontends/FileDialog.h"
#include "frontends/FontLoader.h"
#include "frontends/Gui.h"
-#include "frontends/LyXKeySym.h"
+#include "frontends/KeySymbol.h"
#include "frontends/LyXView.h"
#include "frontends/Menubar.h"
#include "frontends/Toolbars.h"
#include "support/environment.h"
-#include "support/filefilterlist.h"
+#include "support/FileFilterList.h"
#include "support/filetools.h"
-#include "support/forkedcontr.h"
+#include "support/ForkedcallsController.h"
#include "support/fs_extras.h"
#include "support/lstrings.h"
-#include "support/path.h"
-#include "support/package.h"
-#include "support/systemcall.h"
+#include "support/Path.h"
+#include "support/Package.h"
+#include "support/Systemcall.h"
#include "support/convert.h"
#include "support/os.h"
namespace {
-bool getLocalStatus(LCursor cursor,
+bool getLocalStatus(Cursor cursor,
FuncRequest const & cmd, FuncStatus & status)
{
// Try to fix cursor in case it is broken.
// This is, of course, a mess. Better create a new doc iterator and use
// this in Inset::getStatus. This might require an additional
// BufferView * arg, though (which should be avoided)
- //LCursor safe = *this;
+ //Cursor safe = *this;
bool res = false;
for ( ; cursor.depth(); cursor.pop()) {
- //lyxerr << "\nLCursor::getStatus: cmd: " << cmd << endl << *this << endl;
+ //lyxerr << "\nCursor::getStatus: cmd: " << cmd << endl << *this << endl;
BOOST_ASSERT(cursor.idx() <= cursor.lastidx());
BOOST_ASSERT(cursor.pit() <= cursor.lastpit());
BOOST_ASSERT(cursor.pos() <= cursor.lastpos());
}
-void LyXFunc::initKeySequences(kb_keymap * kb)
+void LyXFunc::initKeySequences(KeyMap * kb)
{
- keyseq.reset(new kb_sequence(kb, kb));
- cancel_meta_seq.reset(new kb_sequence(kb, kb));
+ keyseq.reset(new KeySequence(kb, kb));
+ cancel_meta_seq.reset(new KeySequence(kb, kb));
}
}
-void LyXFunc::processKeySym(LyXKeySymPtr keysym, key_modifier::state state)
+void LyXFunc::processKeySym(KeySymbolPtr keysym, key_modifier::state state)
{
LYXERR(Debug::KEY) << "KeySym is " << keysym->getSymbolName() << endl;
//lyxerr << "LyXFunc::getStatus: cmd: " << cmd << endl;
FuncStatus flag;
- LCursor & cur = view()->cursor();
+ Cursor & cur = view()->cursor();
/* In LyX/Mac, when a dialog is open, the menus of the
application can still be accessed without giving focus to
break;
case LFUN_LAYOUT_TABULAR:
- enable = cur.innerInsetOfType(InsetBase::TABULAR_CODE);
+ enable = cur.innerInsetOfType(Inset::TABULAR_CODE);
break;
case LFUN_LAYOUT:
enable = false;
if (!cur)
break;
- InsetBase::Code code = cur.inset().lyxCode();
+ Inset::Code code = cur.inset().lyxCode();
switch (code) {
- case InsetBase::TABULAR_CODE:
+ case Inset::TABULAR_CODE:
enable = cmd.argument() == "tabular";
break;
- case InsetBase::ERT_CODE:
+ case Inset::ERT_CODE:
enable = cmd.argument() == "ert";
break;
- case InsetBase::FLOAT_CODE:
+ case Inset::FLOAT_CODE:
enable = cmd.argument() == "float";
break;
- case InsetBase::WRAP_CODE:
+ case Inset::WRAP_CODE:
enable = cmd.argument() == "wrap";
break;
- case InsetBase::NOTE_CODE:
+ case Inset::NOTE_CODE:
enable = cmd.argument() == "note";
break;
- case InsetBase::BRANCH_CODE:
+ case Inset::BRANCH_CODE:
enable = cmd.argument() == "branch";
break;
- case InsetBase::BOX_CODE:
+ case Inset::BOX_CODE:
enable = cmd.argument() == "box";
break;
+ case Inset::LISTINGS_CODE:
+ enable = cmd.argument() == "listings";
+ break;
default:
break;
}
case LFUN_INSET_APPLY: {
string const name = cmd.getArg(0);
- InsetBase * inset = lyx_view_->getDialogs().getOpenInset(name);
+ Inset * inset = lyx_view_->getDialogs().getOpenInset(name);
if (inset) {
FuncRequest fr(LFUN_INSET_MODIFY, cmd.argument());
FuncStatus fs;
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() != InsetBase::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() != InsetBase::ERT_CODE;
- if (cur.inset().lyxCode() == InsetBase::CAPTION_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))
return 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;
case LFUN_SERVER_NOTIFY:
dispatch_buffer = keyseq->print(false);
- theLyXServer().notifyClient(to_utf8(dispatch_buffer));
+ theServer().notifyClient(to_utf8(dispatch_buffer));
break;
case LFUN_SERVER_GOTO_FILE_ROW: {
data = "literate ";
break;
}
- data += LyXLex::quoteString(logfile.second);
+ data += Lexer::quoteString(logfile.second);
lyx_view_->getDialogs().show("log", data);
} else if (name == "vclog") {
string const data = "vc " +
- LyXLex::quoteString(lyx_view_->buffer()->lyxvc().getLogFile());
+ Lexer::quoteString(lyx_view_->buffer()->lyxvc().getLogFile());
lyx_view_->getDialogs().show("log", data);
} else
lyx_view_->getDialogs().show(name, data);
} 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();
BOOST_ASSERT(lyx_view_);
string const & name = argument;
// Can only update a dialog connected to an existing inset
- InsetBase * inset = lyx_view_->getDialogs().getOpenInset(name);
+ Inset * inset = lyx_view_->getDialogs().getOpenInset(name);
if (inset) {
FuncRequest fr(LFUN_INSET_DIALOG_UPDATE, cmd.argument());
inset->dispatch(view()->cursor(), fr);
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;
}
}
bool const graphicsbg_changed =
- (lyx_name == lcolor.getLyXName(LColor::graphicsbg) &&
- x11_name != lcolor.getX11Name(LColor::graphicsbg));
+ (lyx_name == lcolor.getLyXName(Color::graphicsbg) &&
+ x11_name != lcolor.getX11Name(Color::graphicsbg));
if (!lcolor.setColor(lyx_name, x11_name)) {
setErrorMessage(
case LFUN_INSET_APPLY: {
BOOST_ASSERT(lyx_view_);
string const name = cmd.getArg(0);
- InsetBase * inset = lyx_view_->getDialogs().getOpenInset(name);
+ Inset * inset = lyx_view_->getDialogs().getOpenInset(name);
if (inset) {
FuncRequest fr(LFUN_INSET_MODIFY, argument);
inset->dispatch(view()->cursor(), fr);
BOOST_ASSERT(lyx_view_);
string action;
string const name = split(argument, action, ' ');
- InsetBase::Code const inset_code =
- InsetBase::translate(name);
+ Inset::Code const inset_code =
+ Inset::translate(name);
- LCursor & cur = view()->cursor();
+ Cursor & cur = view()->cursor();
FuncRequest fr(LFUN_INSET_TOGGLE, action);
- InsetBase & inset = lyx_view_->buffer()->inset();
+ Inset & inset = lyx_view_->buffer()->inset();
InsetIterator it = inset_iterator_begin(inset);
InsetIterator const end = inset_iterator_end(inset);
for (; it != end; ++it) {
if (!it->asInsetMath()
- && (inset_code == InsetBase::NO_CODE
+ && (inset_code == Inset::NO_CODE
|| inset_code == it->lyxCode())) {
- LCursor tmpcur = cur;
+ Cursor tmpcur = cur;
tmpcur.pushLeft(*it);
it->dispatch(tmpcur, fr);
}
Buffer defaults(fname);
istringstream ss(argument);
- LyXLex lex(0,0);
+ Lexer lex(0,0);
lex.setStream(ss);
int const unknown_tokens = defaults.readHeader(lex);
lyx_view_->buffer()->params().getEngine();
istringstream ss(argument);
- LyXLex lex(0,0);
+ Lexer lex(0,0);
lex.setStream(ss);
int const unknown_tokens =
lyx_view_->buffer()->readHeader(lex);
if (engine == lyx_view_->buffer()->params().getEngine())
break;
- LCursor & cur = view()->cursor();
+ Cursor & cur = view()->cursor();
FuncRequest fr(LFUN_INSET_REFRESH);
- InsetBase & inset = lyx_view_->buffer()->inset();
+ Inset & inset = lyx_view_->buffer()->inset();
InsetIterator it = inset_iterator_begin(inset);
InsetIterator const end = inset_iterator_end(inset);
for (; it != end; ++it)
- if (it->lyxCode() == InsetBase::CITE_CODE)
+ if (it->lyxCode() == Inset::CITE_CODE)
it->dispatch(cur, fr);
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);