]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiToc.cpp
Fix the tab ordering of GuiDocument components.
[lyx.git] / src / frontends / qt4 / GuiToc.cpp
index 787bbb7058b458efddfa609794727b95ecb02925..9711bb68f6c8be99d9c71f82dc97f4dc35c32ab0 100644 (file)
@@ -37,6 +37,7 @@ GuiToc::GuiToc(GuiView & parent, Qt::DockWidgetArea area, Qt::WindowFlags flags)
 {
        widget_ = new TocWidget(parent, this);
        setWidget(widget_);
+       setFocusProxy(widget_);
 }
 
 
@@ -48,27 +49,8 @@ GuiToc::~GuiToc()
 
 void GuiToc::updateView()
 {
-#ifndef Q_WS_MACX
        widget_->updateView();
        return;
-#endif
-
-       widget_->updateView();
-
-       // For Mac: switch to a docked TOC in fullscreen mode.
-       // We use the features() here instead of WindowFlags because
-       // the latter are not reliable (always returns Qt::Drawer).
-       if (!(features() & DockWidgetClosable) && lyxview().isFullScreen()) {
-               setWindowFlags(Qt::Widget);
-               setFeatures(DockWidgetClosable);
-               // Setting features hides the dialog, see Qt's doc.
-               show();
-       } else if ((features() & DockWidgetClosable) && !lyxview().isFullScreen()) {
-               setWindowFlags(Qt::Drawer);
-               setFeatures(NoDockWidgetFeatures);
-               // Setting features hides the dialog, see Qt's doc.
-               show();
-       }
 }
 
 
@@ -115,13 +97,15 @@ bool GuiToc::getStatus(Cursor & cur, FuncRequest const & cmd,
 
 Dialog * createGuiToc(GuiView & lv)
 {
-       GuiView & guiview = static_cast<GuiView &>(lv);
+       GuiToc * toc;
 #ifdef Q_WS_MACX
-       // On Mac show as a drawer at the right
-       return new GuiToc(guiview, Qt::RightDockWidgetArea, Qt::Drawer);
+       // On Mac show at the right and floating
+       toc = new GuiToc(lv, Qt::RightDockWidgetArea);
+       toc->setFloating(true);
 #else
-       return new GuiToc(guiview);
+       toc = new GuiToc(lv);
 #endif
+       return toc;
 }