#include "lyxlex.h"
#include "toc.h"
-#include "frontends/Application.h"
-
#include "support/filetools.h"
#include "support/lstrings.h"
#include "support/convert.h"
#include <algorithm>
-using lyx::char_type;
-using lyx::docstring;
-using lyx::support::compare_no_case;
-using lyx::support::compare_ascii_no_case;
-using lyx::support::contains;
-using lyx::support::makeDisplayPath;
-using lyx::support::token;
+
+namespace lyx {
+
+using support::compare_no_case;
+using support::compare_ascii_no_case;
+using support::contains;
+using support::makeDisplayPath;
+using support::token;
using boost::bind;
using std::vector;
-extern boost::scoped_ptr<kb_keymap> toplevel_keymap;
-
namespace {
class MenuNamesEqual : public std::unary_function<Menu, bool> {
// Get the keys bound to this action, but keep only the
// first one later
- kb_keymap::Bindings bindings = toplevel_keymap->findbindings(func_);
+ kb_keymap::Bindings bindings = theTopLevelKeymap().findbindings(func_);
if (bindings.size()) {
- return lyx::from_utf8(bindings.begin()->print());
+ return from_utf8(bindings.begin()->print());
} else {
lyxerr[Debug::KBMAP]
<< "No binding for "
<< lyxaction.getActionName(func_.action)
- << '(' << lyx::to_utf8(func_.argument()) << ')' << endl;
+ << '(' << to_utf8(func_.argument()) << ')' << endl;
return docstring();
}
switch (i.kind()) {
case MenuItem::Command: {
- FuncStatus status =
- theApp->lyxFunc().getStatus(i.func());
- if (status.unknown()
- || (!status.enabled() && i.optional()))
+ FuncStatus status = lyx::getStatus(i.func());
+ if (status.unknown() || (!status.enabled() && i.optional()))
break;
items_.push_back(i);
items_.back().status(status);
lex.next(true);
docstring const mlabel = _(lex.getString());
lex.next(true);
- docstring const mname = lyx::from_utf8(lex.getString());
+ docstring const mname = from_utf8(lex.getString());
add(MenuItem(MenuItem::Submenu, mlabel, mname,
optional));
optional = false;
continue;
if (!contains(it1->label(), shortcut))
lyxerr << "Menu warning: menu entry \""
- << lyx::to_utf8(it1->label())
+ << to_utf8(it1->label())
<< "\" does not contain shortcut `"
- << lyx::to_utf8(shortcut) << "'." << endl;
+ << to_utf8(shortcut) << "'." << endl;
for (const_iterator it2 = begin(); it2 != it1 ; ++it2) {
if (!compare_no_case(it2->shortcut(), shortcut)) {
lyxerr << "Menu warning: menu entries "
- << '"' << lyx::to_utf8(it1->fulllabel())
- << "\" and \"" << lyx::to_utf8(it2->fulllabel())
+ << '"' << to_utf8(it1->fulllabel())
+ << "\" and \"" << to_utf8(it2->fulllabel())
<< "\" share the same shortcut."
<< endl;
}
}
};
-string const limit_string_length(string const & str)
+docstring const limit_string_length(docstring const & str)
{
- string::size_type const max_item_length = 45;
+ docstring::size_type const max_item_length = 45;
if (str.size() > max_item_length)
return str.substr(0, max_item_length - 3) + "...";
void expandLastfiles(Menu & tomenu)
{
- lyx::Session::LastFiles const & lf = LyX::cref().session().lastFiles();
- lyx::Session::LastFiles::const_iterator lfit = lf.begin();
+ lyx::LastFilesSection::LastFiles const & lf = LyX::cref().session().lastFiles().lastFiles();
+ lyx::LastFilesSection::LastFiles::const_iterator lfit = lf.begin();
int ii = 1;
for (; lfit != lf.end() && ii < 10; ++lfit, ++ii) {
- docstring const label = convert<docstring>(ii) + lyx::from_ascii(". ")
+ docstring const label = convert<docstring>(ii) + ". "
+ makeDisplayPath((*lfit), 30)
+ char_type('|') + convert<docstring>(ii);
tomenu.add(MenuItem(MenuItem::Command, label, FuncRequest(LFUN_FILE_OPEN, (*lfit))));
void expandDocuments(Menu & tomenu)
{
typedef vector<string> Strings;
- Strings const names = theApp->bufferList().getFileNames();
+ Strings const names = theBufferList().getFileNames();
if (names.empty()) {
tomenu.add(MenuItem(MenuItem::Command, _("No Documents Open!"),
for (; docit != end; ++docit, ++ii) {
docstring label = makeDisplayPath(*docit, 20);
if (ii < 10)
- label = convert<docstring>(ii) + lyx::from_ascii(". ") + label + char_type('|') + convert<docstring>(ii);
+ label = convert<docstring>(ii) + ". " + label + char_type('|') + convert<docstring>(ii);
tomenu.add(MenuItem(MenuItem::Command, label, FuncRequest(LFUN_BUFFER_SWITCH, *docit)));
}
}
for (; fit != end ; ++fit) {
if ((*fit)->dummy())
continue;
- docstring label = lyx::from_utf8((*fit)->prettyname());
+ docstring label = from_utf8((*fit)->prettyname());
switch (kind) {
case MenuItem::ImportFormats:
label = _("Plain Text as Lines");
else if ((*fit)->name() == "textparagraph")
label = _("Plain Text as Paragraphs");
- label += lyx::from_ascii("...");
+ label += "...";
break;
case MenuItem::ViewFormats:
case MenuItem::ExportFormats:
break;
}
if (!(*fit)->shortcut().empty())
- label += char_type('|') + lyx::from_utf8((*fit)->shortcut());
+ label += char_type('|') + from_utf8((*fit)->shortcut());
if (buf)
tomenu.addWithStatusCheck(MenuItem(MenuItem::Command, label,
CharStyles::iterator cit = charstyles.begin();
CharStyles::iterator end = charstyles.end();
for (; cit != end; ++cit) {
- docstring const label = lyx::from_utf8(cit->name);
+ docstring const label = from_utf8(cit->name);
tomenu.addWithStatusCheck(MenuItem(MenuItem::Command, label,
FuncRequest(LFUN_CHARSTYLE_INSERT,
cit->name)));
if (to - from <= max_number_of_items) {
for (lyx::toc::Toc::size_type i = from; i < to; ++i) {
docstring label(4 * max(0, toc_list[i].depth() - depth), char_type(' '));
- label += lyx::from_utf8(limit_string_length(toc_list[i].str()));
+ label += limit_string_length(toc_list[i].str());
if (toc_list[i].depth() == depth
&& shortcut_count < 9) {
if (label.find(convert<docstring>(shortcut_count + 1)) != docstring::npos)
++new_pos;
docstring label(4 * max(0, toc_list[pos].depth() - depth), ' ');
- label += lyx::from_utf8(limit_string_length(toc_list[pos].str()));
+ label += limit_string_length(toc_list[pos].str());
if (toc_list[pos].depth() == depth &&
shortcut_count < 9) {
if (label.find(convert<docstring>(shortcut_count + 1)) != docstring::npos)
label += char_type('|') + convert<docstring>(++shortcut_count);
- }
+ }
if (new_pos == pos + 1) {
tomenu.add(MenuItem(MenuItem::Command,
label, FuncRequest(toc_list[pos].action())));
lyx::toc::Toc::const_iterator ccit = cit->second.begin();
lyx::toc::Toc::const_iterator eend = cit->second.end();
for (; ccit != eend; ++ccit) {
- docstring const label = lyx::from_utf8(limit_string_length(ccit->str()));
+ docstring const label = limit_string_length(ccit->str());
menu->add(MenuItem(MenuItem::Command,
label,
FuncRequest(ccit->action())));
if (!buf)
return;
- vector<string> const sel =
- lyx::cap::availableSelections(*buf);
+ vector<docstring> const sel =
+ cap::availableSelections(*buf);
- vector<string>::const_iterator cit = sel.begin();
- vector<string>::const_iterator end = sel.end();
+ vector<docstring>::const_iterator cit = sel.begin();
+ vector<docstring>::const_iterator end = sel.end();
for (unsigned int index = 0; cit != end; ++cit, ++index) {
- tomenu.add(MenuItem(MenuItem::Command, lyx::from_utf8(*cit),
+ tomenu.add(MenuItem(MenuItem::Command, *cit,
FuncRequest(LFUN_PASTE, convert<string>(index))));
}
}
BranchList::const_iterator end = params.branchlist().end();
for (int ii = 1; cit != end; ++cit, ++ii) {
- docstring label = lyx::from_utf8(cit->getBranch());
+ docstring label = from_utf8(cit->getBranch());
if (ii < 10)
- label = convert<docstring>(ii) + lyx::from_ascii(". ") + label + char_type('|') + convert<docstring>(ii);
+ label = convert<docstring>(ii) + ". " + label + char_type('|') + convert<docstring>(ii);
tomenu.addWithStatusCheck(MenuItem(MenuItem::Command, label,
FuncRequest(LFUN_BRANCH_INSERT,
cit->getBranch())));
break;
case md_menu: {
lex.next(true);
- docstring const name = lyx::from_utf8(lex.getString());
+ docstring const name = from_utf8(lex.getString());
if (hasMenu(name)) {
getMenu(name).read(lex);
} else {
{
const_iterator cit = find_if(begin(), end(), MenuNamesEqual(name));
if (cit == end())
- lyxerr << "No submenu named " << lyx::to_utf8(name) << endl;
+ lyxerr << "No submenu named " << to_utf8(name) << endl;
BOOST_ASSERT(cit != end());
return (*cit);
}
{
iterator it = find_if(begin(), end(), MenuNamesEqual(name));
if (it == end())
- lyxerr << "No submenu named " << lyx::to_utf8(name) << endl;
+ lyxerr << "No submenu named " << to_utf8(name) << endl;
BOOST_ASSERT(it != end());
return (*it);
}
{
return menubar_;
}
+
+
+} // namespace lyx