md_item = 1,
md_branches,
md_documents,
+ md_bookmarks,
md_charstyles,
md_endmenu,
md_exportformats,
{ "branches", md_branches },
{ "charstyles", md_charstyles },
{ "documents", md_documents },
+ { "bookmarks", md_bookmarks },
{ "end", md_endmenu },
{ "exportformats", md_exportformats },
{ "floatinsert", md_floatinsert },
add(MenuItem(MenuItem::Documents));
break;
+ case md_bookmarks:
+ add(MenuItem(MenuItem::Bookmarks));
+ break;
+
case md_toc:
add(MenuItem(MenuItem::Toc));
break;
}
+void expandBookmarks(Menu & tomenu)
+{
+ lyx::BookmarksSection const & bm = LyX::cref().session().bookmarks();
+
+ for (size_t i = 1; i <= bm.size(); ++i) {
+ if (bm.isValid(i)) {
+ docstring const label = convert<docstring>(i) + ". "
+ + makeDisplayPath(bm.bookmark(i).filename, 20)
+ + char_type('|') + convert<docstring>(i);
+ tomenu.add(MenuItem(MenuItem::Command, label, FuncRequest(LFUN_BOOKMARK_GOTO,
+ convert<docstring>(i))));
+ }
+ }
+}
+
+
void expandFormats(MenuItem::Kind kind, Menu & tomenu, Buffer const * buf)
{
if (!buf && kind != MenuItem::ImportFormats) {
expandDocuments(tomenu);
break;
+ case MenuItem::Bookmarks:
+ expandBookmarks(tomenu);
+ break;
+
case MenuItem::ImportFormats:
case MenuItem::ViewFormats:
case MenuItem::UpdateFormats: