> You could also introduce LFUN_STATUSBAR_TOGGLE by the way if you want to > achieve real full screen.
does the following patch looks more sensible to you? pavel
diff --git a/src/LyXAction.cpp b/src/LyXAction.cpp index d93c74f..ac0bc2f 100644 --- a/src/LyXAction.cpp +++ b/src/LyXAction.cpp @@ -1093,6 +1093,8 @@ void LyXAction::init() { LFUN_LYX_QUIT, "lyx-quit", NoBuffer, Buffer }, { LFUN_TOOLBAR_TOGGLE, "toolbar-toggle", NoBuffer, Buffer }, { LFUN_MENU_OPEN, "menu-open", NoBuffer, Buffer }, + { LFUN_MENUBAR_TOGGLE, "menubar-toggle", NoBuffer, Buffer }, + { LFUN_STATUSBAR_TOGGLE, "statusbar-toggle", NoBuffer, Buffer }, { LFUN_WINDOW_NEW, "window-new", NoBuffer, Buffer }, { LFUN_WINDOW_CLOSE, "window-close", NoBuffer, Buffer }, diff --git a/src/LyXFunc.cpp b/src/LyXFunc.cpp index 31644b1..1038d5a 100644 --- a/src/LyXFunc.cpp +++ b/src/LyXFunc.cpp @@ -522,6 +522,8 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & cmd) const break; case LFUN_TOOLBAR_TOGGLE: + case LFUN_MENUBAR_TOGGLE: + case LFUN_STATUSBAR_TOGGLE: case LFUN_INSET_APPLY: case LFUN_BUFFER_WRITE: case LFUN_BUFFER_WRITE_AS: diff --git a/src/frontends/qt4/GuiView.cpp b/src/frontends/qt4/GuiView.cpp index 5c9b200..039598d 100644 --- a/src/frontends/qt4/GuiView.cpp +++ b/src/frontends/qt4/GuiView.cpp @@ -69,6 +69,7 @@ #include <QDropEvent> #include <QList> #include <QMenu> +#include <QMenuBar> #include <QPainter> #include <QPixmap> #include <QPoint> @@ -1524,6 +1525,15 @@ bool GuiView::dispatch(FuncRequest const & cmd) } break; } + case LFUN_MENUBAR_TOGGLE: { + toggleViewMenuBar(); + break; + } + case LFUN_STATUSBAR_TOGGLE: { + toggleViewStatusBar(); + break; + } + default: return false; @@ -1615,6 +1625,21 @@ void GuiView::resetDialogs() restartCursor(); } +void GuiView::toggleViewMenuBar() +{ + if (menuBar()->isVisible()) + menuBar()->hide(); + else + menuBar()->show(); +} + +void GuiView::toggleViewStatusBar() +{ + if (statusBar()->isVisible()) + statusBar()->hide(); + else + statusBar()->show(); +} Dialog * GuiView::find_or_build(string const & name) { diff --git a/src/frontends/qt4/GuiView.h b/src/frontends/qt4/GuiView.h index d73acbe..47551bd 100644 --- a/src/frontends/qt4/GuiView.h +++ b/src/frontends/qt4/GuiView.h @@ -276,6 +276,10 @@ private: /// Dialog * build(std::string const & name); + /// Hide/Show main menu bar. + void toggleViewMenuBar(); + /// Hide/Show main status bar. + void toggleViewStatusBar(); /// This view ID. int id_; }; diff --git a/src/lfuns.h b/src/lfuns.h index fd4607d..cfde9bb 100644 --- a/src/lfuns.h +++ b/src/lfuns.h @@ -413,6 +413,9 @@ enum kb_action { LFUN_MATH_MACRO_ADD_GREEDY_OPTIONAL_PARAM, LFUN_IN_MATHMACROTEMPLATE, LFUN_SCROLL, + LFUN_MENUBAR_TOGGLE, + LFUN_STATUSBAR_TOGGLE, + // 320 LFUN_LASTACTION // end of the table };