]> git.lyx.org Git - lyx.git/blobdiff - src/MenuBackend.C
don't copy if a reference is fine
[lyx.git] / src / MenuBackend.C
index 068f15f9f037cf0b05f58b6c40d16606148c8144..de6b67c0a181569acd798a36a52a345f21266430 100644 (file)
@@ -22,6 +22,7 @@
 #include "debug.h"
 #include "gettext.h"
 #include "lastfiles.h"
+#include "lyx_main.h" // for lastfiles
 #include "bufferlist.h"
 #include "converter.h"
 #include "exporter.h"
@@ -30,9 +31,9 @@
 #include "support/LAssert.h"
 #include "support/filetools.h"
 #include "support/lyxfunctional.h"
+#include "support/lstrings.h"
 
 extern LyXAction lyxaction;
-extern LastFiles * lastfiles; 
 extern BufferList bufferlist;
 
 using std::endl;
@@ -79,6 +80,18 @@ MenuItem::MenuItem(Kind kind, string const & label,
 }
 
 
+string const MenuItem::label() const 
+{ 
+       return token(label_, '|', 0); 
+}
+
+
+string const MenuItem::shortcut() const
+{ 
+       return token(label_, '|', 1); 
+}
+
+
 Menu & Menu::add(MenuItem const & i)
 {
        items_.push_back(i);
@@ -130,16 +143,16 @@ Menu & Menu::read(LyXLex & lex)
        bool quit = false;
        bool optional = false;
 
-       while (lex.IsOK() && !quit) {
+       while (lex.isOK() && !quit) {
                switch (lex.lex()) {
                case md_optitem:
                        optional = true;
                        // fallback to md_item
                case md_item: {
                        lex.next(true);
-                       string const name = _(lex.GetString());
+                       string const name = _(lex.getString());
                        lex.next(true);
-                       string const command = lex.GetString();
+                       string const command = lex.getString();
                        add(MenuItem(MenuItem::Command, name, 
                                     command, optional));
                        optional = false;
@@ -188,9 +201,9 @@ Menu & Menu::read(LyXLex & lex)
                        
                case md_submenu: {
                        lex.next(true);
-                       string mlabel = _(lex.GetString());
+                       string const mlabel = _(lex.getString());
                        lex.next(true);
-                       string mname = lex.GetString();
+                       string const mname = lex.getString();
                        add(MenuItem(MenuItem::Submenu, mlabel, mname));
                        break;
                }
@@ -356,8 +369,7 @@ void Menu::expand(Menu & tomenu, Buffer * buf) const
                                int const action =  lyxaction
                                        .getPseudoAction(LFUN_FLOAT_LIST,
                                                         cit->second.type());
-                               string label = _("List of ");
-                               label += cit->second.name();
+                               string const label = cit->second.name() + _(" List");
                                tomenu.add(MenuItem(MenuItem::Command,
                                                    label, action));
                        }
@@ -422,9 +434,10 @@ void MenuBackend::read(LyXLex & lex)
        };
 
        //consistency check
-       if (compare_no_case(lex.GetString(), "menuset"))
+       if (compare_no_case(lex.getString(), "menuset")) {
                lyxerr << "Menubackend::read: ERROR wrong token:`"
-                      << lex.GetString() << '\'' << endl;
+                      << lex.getString() << '\'' << endl;
+       }
 
        lex.pushTable(menutags, md_last - 1);
        if (lyxerr.debugging(Debug::PARSER))
@@ -433,14 +446,14 @@ void MenuBackend::read(LyXLex & lex)
        bool quit = false;
        bool menubar = false;
 
-       while (lex.IsOK() && !quit) {
+       while (lex.isOK() && !quit) {
                switch (lex.lex()) {
                case md_menubar: 
                        menubar = true;
                        // fallback to md_menu
                case md_menu: {
                        lex.next(true);
-                       string name = lex.GetString();
+                       string const name = lex.getString();
                        if (hasMenu(name)) {
                                if (getMenu(name).menubar() == menubar) {
                                        getMenu(name).read(lex);