]> git.lyx.org Git - lyx.git/blobdiff - src/LyXFunc.cpp
Cleanup in order to better understand bug 3043 and 3561.
[lyx.git] / src / LyXFunc.cpp
index aac47c13fe7e4793a74b9a7eac9d3d80a758d915..cabf8afa1f60b92fcbcda6c18c28981102905a1b 100644 (file)
@@ -28,7 +28,7 @@
 #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/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"
 
@@ -146,7 +146,7 @@ namespace fs = boost::filesystem;
 
 namespace {
 
-bool getLocalStatus(LCursor cursor,
+bool getLocalStatus(Cursor cursor,
               FuncRequest const & cmd, FuncStatus & status)
 {
        // Try to fix cursor in case it is broken.
@@ -155,10 +155,10 @@ bool getLocalStatus(LCursor cursor,
        // 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());
@@ -207,10 +207,10 @@ LyXFunc::LyXFunc()
 }
 
 
-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));
 }
 
 
@@ -275,7 +275,7 @@ void LyXFunc::gotoBookmark(unsigned int idx, bool openFile, bool switchToBuffer)
 }
 
 
-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;
 
@@ -383,7 +383,7 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & cmd) const
        //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
@@ -467,7 +467,7 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & cmd) const
                break;
 
        case LFUN_LAYOUT_TABULAR:
-               enable = cur.innerInsetOfType(InsetBase::TABULAR_CODE);
+               enable = cur.innerInsetOfType(Inset::TABULAR_CODE);
                break;
 
        case LFUN_LAYOUT:
@@ -496,27 +496,27 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & cmd) const
                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;
                        default:
@@ -527,7 +527,7 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & cmd) const
 
        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;
@@ -544,6 +544,9 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & cmd) const
                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)
@@ -555,7 +558,7 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & cmd) const
                        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;
                else if (name == "latexlog")
                        enable = isFileReadable(FileName(buf->getLogName().second));
                else if (name == "spellchecker")
@@ -570,8 +573,8 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & cmd) const
        }
 
        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;
+               if (cur.inset().lyxCode() == Inset::CAPTION_CODE) {
                        FuncStatus flag;
                        if (cur.inset().getStatus(cur, cmd, flag))
                                return flag;
@@ -637,7 +640,6 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & cmd) const
        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:
@@ -1091,14 +1093,6 @@ void LyXFunc::dispatch(FuncRequest const & cmd)
                                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;
@@ -1220,7 +1214,7 @@ void LyXFunc::dispatch(FuncRequest const & cmd)
 
                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: {
@@ -1271,11 +1265,11 @@ void LyXFunc::dispatch(FuncRequest const & cmd)
                                        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);
@@ -1345,7 +1339,7 @@ void LyXFunc::dispatch(FuncRequest const & cmd)
                        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);
@@ -1361,6 +1355,15 @@ void LyXFunc::dispatch(FuncRequest const & cmd)
                        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);
@@ -1489,8 +1492,8 @@ void LyXFunc::dispatch(FuncRequest const & cmd)
                        }
 
                        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(
@@ -1535,7 +1538,7 @@ void LyXFunc::dispatch(FuncRequest const & cmd)
                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);
@@ -1553,20 +1556,20 @@ void LyXFunc::dispatch(FuncRequest const & cmd)
                        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);
                                }
@@ -1596,7 +1599,7 @@ void LyXFunc::dispatch(FuncRequest const & cmd)
                        Buffer defaults(fname);
 
                        istringstream ss(argument);
-                       LyXLex lex(0,0);
+                       Lexer lex(0,0);
                        lex.setStream(ss);
                        int const unknown_tokens = defaults.readHeader(lex);
 
@@ -1621,7 +1624,7 @@ void LyXFunc::dispatch(FuncRequest const & cmd)
                                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);
@@ -1635,14 +1638,14 @@ void LyXFunc::dispatch(FuncRequest const & cmd)
                        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;
                }