]> git.lyx.org Git - lyx.git/blobdiff - src/MenuBackend.C
the spellcheck cleanup
[lyx.git] / src / MenuBackend.C
index 6bf49ce94772da1f0898555ea306c791853bc00d..40c615112104bd4cc12aa87657414cae98b22aca 100644 (file)
@@ -51,6 +51,7 @@ using lyx::support::contains;
 using lyx::support::MakeDisplayPath;
 using lyx::support::token;
 
+using std::auto_ptr;
 using std::endl;
 using std::find_if;
 using std::max;
@@ -120,9 +121,10 @@ string const MenuItem::binding() const
        if (!bindings.empty()) {
                return bindings.substr(1, bindings.find(']') - 1);
        } else {
-               lyxerr << "No bindings for "
-                      << lyxaction.getActionName(func_.action)
-                      << '(' << func_.argument << ')' << endl;
+               lyxerr[Debug::KBMAP]
+                       << "No bindings for "
+                       << lyxaction.getActionName(func_.action)
+                       << '(' << func_.argument << ')' << endl;
                return string();
        }
 
@@ -374,9 +376,11 @@ string const limit_string_length(string const & str)
 
 void expandLastfiles(Menu & tomenu, LyXView const * view)
 {
+       LastFiles const & lastfiles = LyX::cref().lastfiles();
+
        int ii = 1;
-       LastFiles::const_iterator lfit = lastfiles->begin();
-       LastFiles::const_iterator end = lastfiles->end();
+       LastFiles::const_iterator lfit = lastfiles.begin();
+       LastFiles::const_iterator end = lastfiles.end();
 
        for (; lfit != end && ii < 10; ++lfit, ++ii) {
                string const label = tostr(ii) + ". "
@@ -533,8 +537,9 @@ void expandToc2(Menu & tomenu,
                        string label(4 * max(0, toc_list[i].depth - depth),' ');
                        label += limit_string_length(toc_list[i].str);
                        if (toc_list[i].depth == depth
-                           && ++shortcut_count <= 9) {
-                               label += '|' + tostr(shortcut_count);
+                           && shortcut_count < 9) {
+                               if (label.find(tostr(shortcut_count + 1)) != string::npos)
+                                       label += '|' + tostr(++shortcut_count);
                        }
                        tomenu.add(MenuItem(MenuItem::Command, label,
                                            FuncRequest(toc_list[i].action())));
@@ -550,9 +555,10 @@ void expandToc2(Menu & tomenu,
                        string label(4 * max(0, toc_list[pos].depth - depth), ' ');
                        label += limit_string_length(toc_list[pos].str);
                        if (toc_list[pos].depth == depth &&
-                           ++shortcut_count <= 9)
-                               label += '|' + tostr(shortcut_count);
-
+                           shortcut_count < 9) {
+                               if (label.find(tostr(shortcut_count + 1)) != string::npos)
+                                       label += '|' + tostr(++shortcut_count);
+                               }
                        if (new_pos == pos + 1) {
                                tomenu.add(MenuItem(MenuItem::Command,
                                                    label, FuncRequest(toc_list[pos].action())));
@@ -593,7 +599,7 @@ void expandToc(Menu & tomenu, LyXView const * view)
                        continue;
 
                // All the rest is for floats
-               Menu * menu = new Menu;
+               auto_ptr<Menu> menu(new Menu);
                lyx::toc::Toc::const_iterator ccit = cit->second.begin();
                lyx::toc::Toc::const_iterator eend = cit->second.end();
                for (; ccit != eend; ++ccit) {
@@ -605,7 +611,7 @@ void expandToc(Menu & tomenu, LyXView const * view)
                string const & floatName = cit->first;
                // Is the _(...) really needed here? (Lgb)
                MenuItem item(MenuItem::Submenu, _(floatName));
-               item.submenu(menu);
+               item.submenu(menu.release());
                tomenu.add(item);
        }