]> git.lyx.org Git - features.git/commitdiff
Autoshow and autohide menubar while in fullscreen mode.
authorAbdelrazak Younes <younes@lyx.org>
Thu, 15 May 2008 09:14:09 +0000 (09:14 +0000)
committerAbdelrazak Younes <younes@lyx.org>
Thu, 15 May 2008 09:14:09 +0000 (09:14 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24785 a592a061-630c-0410-9148-cb99ea01b6c8

src/frontends/qt4/GuiView.cpp

index 2711b4826aaa37ef7357e24c9ca73e3d7135213c..3c4b710e170af400ae4286d4889311aa4ff6d2a6 100644 (file)
@@ -641,12 +641,19 @@ bool GuiView::event(QEvent * e)
        }
 
        case QEvent::ShortcutOverride: {
+               QKeyEvent * ke = static_cast<QKeyEvent*>(e);
+
+               if (ke->modifiers() & Qt::AltModifier && isFullScreen()
+                       && menuBar()->isHidden()) {
+                               menuBar()->show();
+                       // Continue with even.
+                       return QMainWindow::event(e);
+               }
+
                if (d.current_work_area_)
                        // Nothing special to do.
                        return QMainWindow::event(e);
 
-               QKeyEvent * ke = static_cast<QKeyEvent*>(e);
-
                // Let Qt handle menu access and the Tab keys to navigate keys to navigate
                // between controls.
                if (ke->modifiers() & Qt::AltModifier || ke->key() == Qt::Key_Tab 
@@ -1670,10 +1677,11 @@ bool GuiView::closeBuffer(Buffer & buf, bool tolastopened)
 
 bool GuiView::dispatch(FuncRequest const & cmd)
 {
-       BufferView * bv = view();       
+       BufferView * bv = view();
        // By default we won't need any update.
        if (bv)
                bv->cursor().updateFlags(Update::None);
+       bool dispatched = true;
 
        switch(cmd.action) {
                case LFUN_BUFFER_IMPORT:
@@ -1903,10 +1911,18 @@ bool GuiView::dispatch(FuncRequest const & cmd)
                        break;
 
                default:
-                       return false;
+                       dispatched = false;
+                       break;
        }
 
-       return true;
+       if (isFullScreen()) {
+               if (menuBar()->isVisible())
+                       menuBar()->hide();
+               if (statusBar()->isVisible())
+                       statusBar()->hide();
+       }
+
+       return dispatched;
 }