Dear Jean-Marc, dear all,
This change seems natural to me as none of the LyXView features are used.
Agreed?
Abdel.
Index: frontends/gtk/GMenubar.C
===================================================================
--- frontends/gtk/GMenubar.C (revision 15153)
+++ frontends/gtk/GMenubar.C (working copy)
@@ -159,7 +159,7 @@
Menu::const_iterator end;
if(!item->submenuname().empty()) {
fmenu = &menubackend.getMenu(item->submenuname());
- menubackend.expand(*fmenu, lyxmenu->getBackMenu(), view_);
+ menubackend.expand(*fmenu, lyxmenu->getBackMenu(),
view_->buffer());
i = lyxmenu->getBackMenu().begin();
end = lyxmenu->getBackMenu().end();
} else {
Index: frontends/qt3/QLPopupMenu.C
===================================================================
--- frontends/qt3/QLPopupMenu.C (revision 15153)
+++ frontends/qt3/QLPopupMenu.C (working copy)
@@ -163,7 +163,7 @@
clear();
Menu tomenu;
Menu const frommenu = owner_->backend().getMenu(name_);
- owner_->backend().expand(frommenu, tomenu, owner_->view());
+ owner_->backend().expand(frommenu, tomenu, owner_->view()->buffer());
populate(&tomenu);
#ifdef Q_WS_MACX
/* The qt/mac menu code has a very silly hack that
Index: frontends/qt4/QLMenubar.C
===================================================================
--- frontends/qt4/QLMenubar.C (revision 15153)
+++ frontends/qt4/QLMenubar.C (working copy)
@@ -60,7 +60,7 @@
// for (; m != end; ++m) {
Menu menu;
- menubackend_.expand(menubackend_.getMenubar(), menu, owner_);
+ menubackend_.expand(menubackend_.getMenubar(), menu, owner_->buffer());
Menu::const_iterator m = menu.begin();
Menu::const_iterator end = menu.end();
@@ -81,7 +81,7 @@
}
Menu menu;
- menubackend_.expand(menubackend_.getMenubar(), menu, owner_);
+ menubackend_.expand(menubackend_.getMenubar(), menu,
owner_->buffer());
QLPopupMenu * qMenu = new QLPopupMenu(this, *m, true);
owner_->menuBar()->addMenu(qMenu);
Index: frontends/qt4/QLPopupMenu.C
===================================================================
--- frontends/qt4/QLPopupMenu.C (revision 15153)
+++ frontends/qt4/QLPopupMenu.C (working copy)
@@ -75,7 +75,7 @@
return;
Menu const & fromLyxMenu = owner_->backend().getMenu(name_);
- owner_->backend().expand(fromLyxMenu, topLevelMenu_, owner_->view());
+ owner_->backend().expand(fromLyxMenu, topLevelMenu_,
owner_->view()->buffer());
if (!owner_->backend().hasMenu(topLevelMenu_.name())) {
lyxerr[Debug::GUI] << "\tWARNING: menu seems empty" <<
lyx::to_utf8(topLevelMenu_.name()) << endl;
Index: MenuBackend.C
===================================================================
--- MenuBackend.C (revision 15153)
+++ MenuBackend.C (working copy)
@@ -37,7 +37,7 @@
#include "lyxlex.h"
#include "toc.h"
-#include "frontends/LyXView.h"
+#include "frontends/Application.h"
#include "support/filetools.h"
#include "support/lstrings.h"
@@ -157,9 +157,9 @@
}
-Menu & Menu::add(MenuItem const & i, LyXView const * view)
+Menu & Menu::add(MenuItem const & i, Buffer const * buf)
{
- if (!view) {
+ if (!buf) {
items_.push_back(i);
return *this;
}
@@ -168,7 +168,7 @@
case MenuItem::Command: {
FuncStatus status =
- view->getLyXFunc().getStatus(i.func());
+ theApp->lyxFunc().getStatus(i.func());
if (status.unknown()
|| (!status.enabled() && i.optional()))
break;
@@ -429,7 +429,7 @@
}
-void expandLastfiles(Menu & tomenu, LyXView const * view)
+void expandLastfiles(Menu & tomenu, Buffer const * buf)
{
lyx::Session::LastFiles const & lf = LyX::cref().session().lastFiles();
lyx::Session::LastFiles::const_iterator lfit = lf.begin();
@@ -440,19 +440,19 @@
docstring const label = convert<docstring>(ii) +
lyx::from_ascii(". ")
+ makeDisplayPath((*lfit), 30)
+ char_type('|') + convert<docstring>(ii);
- tomenu.add(MenuItem(MenuItem::Command, label,
FuncRequest(LFUN_FILE_OPEN, (*lfit))), view);
+ tomenu.add(MenuItem(MenuItem::Command, label,
FuncRequest(LFUN_FILE_OPEN, (*lfit))), buf);
}
}
-void expandDocuments(Menu & tomenu, LyXView const * view)
+void expandDocuments(Menu & tomenu, Buffer const * buf)
{
typedef vector<string> Strings;
Strings const names = bufferlist.getFileNames();
if (names.empty()) {
tomenu.add(MenuItem(MenuItem::Command, _("No Documents Open!"),
- FuncRequest(LFUN_NOACTION)), view);
+ FuncRequest(LFUN_NOACTION)), buf);
return;
}
@@ -463,18 +463,18 @@
docstring label = makeDisplayPath(*docit, 20);
if (ii < 10)
label = convert<docstring>(ii) + lyx::from_ascii(". ")
+ label + char_type('|') + convert<docstring>(ii);
- tomenu.add(MenuItem(MenuItem::Command, label,
FuncRequest(LFUN_BUFFER_SWITCH, *docit)), view);
+ tomenu.add(MenuItem(MenuItem::Command, label,
FuncRequest(LFUN_BUFFER_SWITCH, *docit)), buf);
}
}
-void expandFormats(MenuItem::Kind kind, Menu & tomenu, LyXView const * view)
+void expandFormats(MenuItem::Kind kind, Menu & tomenu, Buffer const * buf)
{
- if (!view->buffer() && kind != MenuItem::ImportFormats) {
+ if (!buf && kind != MenuItem::ImportFormats) {
tomenu.add(MenuItem(MenuItem::Command,
_("No Documents Open!"),
FuncRequest(LFUN_NOACTION)),
- view);
+ buf);
return;
}
@@ -488,15 +488,15 @@
action = LFUN_BUFFER_IMPORT;
break;
case MenuItem::ViewFormats:
- formats = Exporter::getExportableFormats(*view->buffer(), true);
+ formats = Exporter::getExportableFormats(*buf, true);
action = LFUN_BUFFER_VIEW;
break;
case MenuItem::UpdateFormats:
- formats = Exporter::getExportableFormats(*view->buffer(), true);
+ formats = Exporter::getExportableFormats(*buf, true);
action = LFUN_BUFFER_UPDATE;
break;
default:
- formats = Exporter::getExportableFormats(*view->buffer(),
false);
+ formats = Exporter::getExportableFormats(*buf, false);
action = LFUN_BUFFER_EXPORT;
}
sort(formats.begin(), formats.end(), compare_format());
@@ -531,23 +531,23 @@
tomenu.add(MenuItem(MenuItem::Command, label,
FuncRequest(action, (*fit)->name())),
- view);
+ buf);
}
}
-void expandFloatListInsert(Menu & tomenu, LyXView const * view)
+void expandFloatListInsert(Menu & tomenu, Buffer const * buf)
{
- if (!view->buffer()) {
+ if (!buf) {
tomenu.add(MenuItem(MenuItem::Command,
_("No Documents Open!"),
FuncRequest(LFUN_NOACTION)),
- view);
+ buf);
return;
}
FloatList const & floats =
- view->buffer()->params().getLyXTextClass().floats();
+ buf->params().getLyXTextClass().floats();
FloatList::const_iterator cit = floats.begin();
FloatList::const_iterator end = floats.end();
for (; cit != end; ++cit) {
@@ -555,23 +555,23 @@
_(cit->second.listName()),
FuncRequest(LFUN_FLOAT_LIST,
cit->second.type())),
- view);
+ buf);
}
}
-void expandFloatInsert(Menu & tomenu, LyXView const * view)
+void expandFloatInsert(Menu & tomenu, Buffer const * buf)
{
- if (!view->buffer()) {
+ if (!buf) {
tomenu.add(MenuItem(MenuItem::Command,
_("No Documents Open!"),
FuncRequest(LFUN_NOACTION)),
- view);
+ buf);
return;
}
FloatList const & floats =
- view->buffer()->params().getLyXTextClass().floats();
+ buf->params().getLyXTextClass().floats();
FloatList::const_iterator cit = floats.begin();
FloatList::const_iterator end = floats.end();
for (; cit != end; ++cit) {
@@ -580,29 +580,29 @@
tomenu.add(MenuItem(MenuItem::Command, label,
FuncRequest(LFUN_FLOAT_INSERT,
cit->second.type())),
- view);
+ buf);
}
}
-void expandCharStyleInsert(Menu & tomenu, LyXView const * view)
+void expandCharStyleInsert(Menu & tomenu, Buffer const * buf)
{
- if (!view->buffer()) {
+ if (!buf) {
tomenu.add(MenuItem(MenuItem::Command,
_("No Documents Open!"),
FuncRequest(LFUN_NOACTION)),
- view);
+ buf);
return;
}
CharStyles & charstyles =
- view->buffer()->params().getLyXTextClass().charstyles();
+ buf->params().getLyXTextClass().charstyles();
CharStyles::iterator cit = charstyles.begin();
CharStyles::iterator end = charstyles.end();
for (; cit != end; ++cit) {
docstring const label = lyx::from_utf8(cit->name);
tomenu.add(MenuItem(MenuItem::Command, label,
FuncRequest(LFUN_CHARSTYLE_INSERT,
- cit->name)), view);
+ cit->name)), buf);
}
}
@@ -667,20 +667,18 @@
}
-void expandToc(Menu & tomenu, LyXView const * view)
+void expandToc(Menu & tomenu, Buffer const * buf)
{
- // To make things very cleanly, we would have to pass view to
+ // To make things very cleanly, we would have to pass buf to
// all MenuItem constructors and to expandToc2. However, we
// know that all the entries in a TOC will be have status_ ==
// OK, so we avoid this unnecessary overhead (JMarc)
-
- Buffer const * buf = view->buffer();
if (!buf) {
tomenu.add(MenuItem(MenuItem::Command,
_("No Documents Open!"),
FuncRequest(LFUN_NOACTION)),
- view);
+ buf);
return;
}
@@ -715,20 +713,20 @@
tomenu.add(MenuItem(MenuItem::Command,
_("No Table of contents"),
FuncRequest()),
- view);
+ buf);
} else {
expandToc2(tomenu, cit->second, 0, cit->second.size(), 0);
}
}
-void expandPasteRecent(Menu & tomenu, LyXView const * view)
+void expandPasteRecent(Menu & tomenu, Buffer const * buf)
{
- if (!view || !view->buffer())
+ if (!buf)
return;
vector<string> const sel =
- lyx::cap::availableSelections(*view->buffer());
+ lyx::cap::availableSelections(*buf);
vector<string>::const_iterator cit = sel.begin();
vector<string>::const_iterator end = sel.end();
@@ -740,12 +738,12 @@
}
-void expandBranches(Menu & tomenu, LyXView const * view)
+void expandBranches(Menu & tomenu, Buffer const * buf)
{
- if (!view || !view->buffer())
+ if (!buf)
return;
- BufferParams const & params =
view->buffer()->getMasterBuffer()->params();
+ BufferParams const & params = buf->getMasterBuffer()->params();
BranchList::const_iterator cit = params.branchlist().begin();
BranchList::const_iterator end = params.branchlist().end();
@@ -756,7 +754,7 @@
label = convert<docstring>(ii) + lyx::from_ascii(". ")
+ label + char_type('|') + convert<docstring>(ii);
tomenu.add(MenuItem(MenuItem::Command, label,
FuncRequest(LFUN_BRANCH_INSERT,
- cit->getBranch())), view);
+ cit->getBranch())), buf);
}
}
@@ -765,7 +763,7 @@
void MenuBackend::expand(Menu const & frommenu, Menu & tomenu,
- LyXView const * view) const
+ Buffer const * buf) const
{
if (!tomenu.empty())
tomenu.clear();
@@ -774,61 +772,61 @@
cit != frommenu.end() ; ++cit) {
switch (cit->kind()) {
case MenuItem::Lastfiles:
- expandLastfiles(tomenu, view);
+ expandLastfiles(tomenu, buf);
break;
case MenuItem::Documents:
- expandDocuments(tomenu, view);
+ expandDocuments(tomenu, buf);
break;
case MenuItem::ImportFormats:
case MenuItem::ViewFormats:
case MenuItem::UpdateFormats:
case MenuItem::ExportFormats:
- expandFormats(cit->kind(), tomenu, view);
+ expandFormats(cit->kind(), tomenu, buf);
break;
case MenuItem::CharStyles:
- expandCharStyleInsert(tomenu, view);
+ expandCharStyleInsert(tomenu, buf);
break;
case MenuItem::FloatListInsert:
- expandFloatListInsert(tomenu, view);
+ expandFloatListInsert(tomenu, buf);
break;
case MenuItem::FloatInsert:
- expandFloatInsert(tomenu, view);
+ expandFloatInsert(tomenu, buf);
break;
case MenuItem::PasteRecent:
- expandPasteRecent(tomenu, view);
+ expandPasteRecent(tomenu, buf);
break;
case MenuItem::Branches:
- expandBranches(tomenu, view);
+ expandBranches(tomenu, buf);
break;
case MenuItem::Toc:
- expandToc(tomenu, view);
+ expandToc(tomenu, buf);
break;
case MenuItem::Submenu: {
MenuItem item(*cit);
item.submenu(new Menu(cit->submenuname()));
expand(getMenu(cit->submenuname()),
- *item.submenu(), view);
- tomenu.add(item, view);
+ *item.submenu(), buf);
+ tomenu.add(item, buf);
}
break;
case MenuItem::Separator:
- tomenu.add(*cit, view);
+ tomenu.add(*cit, buf);
break;
case MenuItem::Command:
if (!specialmenu_
|| !specialmenu_->hasFunc(cit->func()))
- tomenu.add(*cit, view);
+ tomenu.add(*cit, buf);
}
}
Index: MenuBackend.h
===================================================================
--- MenuBackend.h (revision 15153)
+++ MenuBackend.h (working copy)
@@ -21,7 +21,7 @@
#include <vector>
class LyXLex;
-class LyXView;
+class Buffer;
class Menu;
///
@@ -146,7 +146,7 @@
explicit Menu(lyx::docstring const & name = lyx::docstring())
: name_(name) {}
///
- Menu & add(MenuItem const &, LyXView const * view = 0);
+ Menu & add(MenuItem const &, Buffer const * buf = 0);
///
Menu & read(LyXLex &);
///
@@ -218,7 +218,7 @@
ViewFormats, ExportFormats, UpdateFormats, Branches
*/
void expand(Menu const & frommenu, Menu & tomenu,
- LyXView const *) const;
+ Buffer const *) const;
///
const_iterator begin() const {
return menulist_.begin();