setErrorMessage(flag.message());
} else {
switch (action) {
+ // Let lyx_view_ dispatch its own actions.
+ case LFUN_COMMAND_EXECUTE:
+ case LFUN_DROP_LAYOUTS_CHOICE:
+ case LFUN_MENU_OPEN:
+ case LFUN_TOOLBAR_TOGGLE:
+ BOOST_ASSERT(lyx_view_);
+ lyx_view_->dispatch(cmd);
+ break;
case LFUN_WORD_FIND_FORWARD:
case LFUN_WORD_FIND_BACKWARD: {
lyx_view_->message(keyseq.printOptions(true));
break;
- case LFUN_COMMAND_EXECUTE:
- BOOST_ASSERT(lyx_view_);
- lyx_view_->dispatch(cmd);
- break;
-
case LFUN_CANCEL:
BOOST_ASSERT(lyx_view_ && lyx_view_->view());
keyseq.reset();
updateFlags = Update::None;
break;
- case LFUN_DROP_LAYOUTS_CHOICE:
- BOOST_ASSERT(lyx_view_);
- lyx_view_->openLayoutList();
- break;
-
- case LFUN_MENU_OPEN:
- BOOST_ASSERT(lyx_view_);
- lyx_view_->openMenu(from_utf8(argument));
- break;
-
// --- lyxserver commands ----------------------------
case LFUN_SERVER_GET_NAME:
BOOST_ASSERT(lyx_view_ && lyx_view_->buffer());
LyX::ref().session().bookmarks().clear();
break;
- case LFUN_TOOLBAR_TOGGLE: {
- BOOST_ASSERT(lyx_view_);
- string const name = cmd.getArg(0);
- bool const allowauto = cmd.getArg(1) == "allowauto";
- lyx_view_->toggleToolbarState(name, allowauto);
- ToolbarInfo * tbi = lyx_view_->getToolbarInfo(name);
- if (!tbi) {
- setMessage(bformat(_("Unknown toolbar \"%1$s\""),
- from_utf8(name)));
- break;
- }
- docstring state;
- if (tbi->flags & ToolbarInfo::ON)
- state = _("on");
- else if (tbi->flags & ToolbarInfo::OFF)
- state = _("off");
- else if (tbi->flags & ToolbarInfo::AUTO)
- state = _("auto");
-
- setMessage(bformat(_("Toolbar \"%1$s\" state set to %2$s"),
- _(tbi->gui_name), state));
- break;
- }
-
default: {
BOOST_ASSERT(lyx_view_);
view()->cursor().dispatch(cmd);
class BufferView;
class FuncRequest;
class Inset;
-class ToolbarInfo;
namespace frontend {
/// set a buffer to the current workarea.
virtual void setBuffer(Buffer * b) = 0; ///< \c Buffer to set.
- ///
- virtual void openLayoutList() = 0;
///
virtual bool isToolbarVisible(std::string const & id) = 0;
- ///
- virtual void openMenu(docstring const & name) = 0;
/// get access to the dialogs
virtual Dialogs & getDialogs() = 0;
virtual void updateLayoutChoice(bool force) = 0;
/// update the toolbar
virtual void updateToolbars() = 0;
- /// get toolbar info
- virtual ToolbarInfo * getToolbarInfo(std::string const & name) = 0;
- /// toggle toolbar state
- virtual void toggleToolbarState(std::string const & name, bool allowauto) = 0;
/// update the status bar
virtual void updateStatusBar() = 0;
/// display a message in the view
}
-void GuiView::openMenu(docstring const & name)
-{
- d.menubar_->openByName(toqstr(name));
-}
-
-
-void GuiView::openLayoutList()
-{
- d.toolbars_->openLayoutList();
-}
-
-
void GuiView::updateLayoutChoice(bool force)
{
// Don't show any layouts without a buffer
}
-ToolbarInfo * GuiView::getToolbarInfo(string const & name)
-{
- return d.toolbars_->getToolbarInfo(name);
-}
-
-
-void GuiView::toggleToolbarState(string const & name, bool allowauto)
-{
- // it is possible to get current toolbar status like this,...
- // but I decide to obey the order of ToolbarBackend::flags
- // and disregard real toolbar status.
- // toolbars_->saveToolbarInfo();
- //
- // toggle state on/off/auto
- d.toolbars_->toggleToolbarState(name, allowauto);
- // update toolbar
- updateToolbars();
-}
-
-
Buffer * GuiView::buffer()
{
if (d.current_work_area_)
break;
case LFUN_COMMAND_EXECUTE:
- showMiniBuffer(true);
+ d.toolbars_->showCommandBuffer(true);
break;
+ case LFUN_DROP_LAYOUTS_CHOICE:
+ d.toolbars_->openLayoutList();
+ break;
+
+ case LFUN_MENU_OPEN:
+ d.menubar_->openByName(toqstr(cmd.argument()));
+ break;
+
+ case LFUN_TOOLBAR_TOGGLE: {
+ string const name = cmd.getArg(0);
+ bool const allowauto = cmd.getArg(1) == "allowauto";
+ // it is possible to get current toolbar status like this,...
+ // but I decide to obey the order of ToolbarBackend::flags
+ // and disregard real toolbar status.
+ // toolbars_->saveToolbarInfo();
+ //
+ // toggle state on/off/auto
+ d.toolbars_->toggleToolbarState(name, allowauto);
+ // update toolbar
+ updateToolbars();
+
+ ToolbarInfo * tbi = d.toolbars_->getToolbarInfo(name);
+ if (!tbi) {
+ message(bformat(_("Unknown toolbar \"%1$s\""), from_utf8(name)));
+ break;
+ }
+ docstring state;
+ if (tbi->flags & ToolbarInfo::ON)
+ state = _("on");
+ else if (tbi->flags & ToolbarInfo::OFF)
+ state = _("off");
+ else if (tbi->flags & ToolbarInfo::AUTO)
+ state = _("auto");
+
+ message(bformat(_("Toolbar \"%1$s\" state set to %2$s"),
+ _(tbi->gui_name), state));
+ break;
+ }
+
default:
theLyXFunc().setLyXView(this);
lyx::dispatch(cmd);
namespace lyx {
class Timeout;
+class ToolbarInfo;
namespace frontend {
virtual void message(docstring const & str);
virtual bool hasFocus() const;
void showMiniBuffer(bool);
- void openMenu(docstring const &);
- void openLayoutList();
void updateLayoutChoice(bool force);
bool isToolbarVisible(std::string const & id);
void updateToolbars();
- ToolbarInfo * getToolbarInfo(std::string const & name);
- void toggleToolbarState(std::string const & name, bool allowauto);
///
QMenu * createPopupMenu();
///
void setIconSize(unsigned int size);
+ /// toggle toolbar state
+ void toggleToolbarState(std::string const & name, bool allowauto);
+
///
struct GuiViewPrivate;
GuiViewPrivate & d;