]> git.lyx.org Git - features.git/commitdiff
Erase white frame in fullscreen mode.
authorPavel Sanda <sanda@lyx.org>
Sat, 21 Nov 2020 14:34:26 +0000 (15:34 +0100)
committerPavel Sanda <sanda@lyx.org>
Sat, 21 Nov 2020 15:02:54 +0000 (16:02 +0100)
Since Qt 5.9.4 one can't set negative margins unless explicitely
allowed by a new flag. This brought back the white frame in
fullscreen mode.

https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg214002.html

src/frontends/qt/GuiView.cpp

index 8753a637f029cef81891be318aa508a6e6c55fe3..d9e7fb200885b649a29424c715bcd4bf1ace6f61 100644 (file)
@@ -1399,6 +1399,10 @@ bool GuiView::event(QEvent * e)
                        }
                        for (int i = 0; i != d.splitter_->count(); ++i)
                                d.tabWorkArea(i)->setFullScreen(true);
+#if QT_VERSION > 0x050903
+                       //Qt's 5.9.4 ba44cdae38406c safe area measures won't allow us to go negative in margins
+                       setAttribute(Qt::WA_ContentsMarginsRespectsSafeArea, false);
+#endif
                        setContentsMargins(-2, -2, -2, -2);
                        // bug 5274
                        hideDialogs("prefs", nullptr);
@@ -1417,6 +1421,9 @@ bool GuiView::event(QEvent * e)
                        }
                        for (int i = 0; i != d.splitter_->count(); ++i)
                                d.tabWorkArea(i)->setFullScreen(false);
+#if QT_VERSION > 0x050903
+                       setAttribute(Qt::WA_ContentsMarginsRespectsSafeArea, true);
+#endif
                        setContentsMargins(0, 0, 0, 0);
                }
                return result;
@@ -4652,8 +4659,14 @@ bool GuiView::lfunUiToggle(string const & ui_component)
                //are the frames in default state?
                d.current_work_area_->setFrameStyle(QFrame::NoFrame);
                if (l == 0) {
+#if QT_VERSION >  0x050903
+                       setAttribute(Qt::WA_ContentsMarginsRespectsSafeArea, false);
+#endif
                        setContentsMargins(-2, -2, -2, -2);
                } else {
+#if QT_VERSION >  0x050903
+                       setAttribute(Qt::WA_ContentsMarginsRespectsSafeArea, true);
+#endif
                        setContentsMargins(0, 0, 0, 0);
                }
        } else