From 5489d35c96c7dbff888b5527f7beb0bbba780c3a Mon Sep 17 00:00:00 2001 From: Maxime Gimeno Date: Thu, 23 Aug 2018 09:42:14 +0200 Subject: [PATCH] Add a fullscreen-ish mode that hides all dockwidgets. Move spacer in selection widget. --- Polyhedron/demo/Polyhedron/MainWindow.cpp | 27 +++++++++++++++++++ Polyhedron/demo/Polyhedron/MainWindow.h | 4 +++ .../Plugins/PMP/Selection_widget.ui | 26 +++++++++--------- Polyhedron/demo/Polyhedron/Viewer.cpp | 4 +++ 4 files changed, 48 insertions(+), 13 deletions(-) diff --git a/Polyhedron/demo/Polyhedron/MainWindow.cpp b/Polyhedron/demo/Polyhedron/MainWindow.cpp index a4e468fffb5..e9ce7f61bc5 100644 --- a/Polyhedron/demo/Polyhedron/MainWindow.cpp +++ b/Polyhedron/demo/Polyhedron/MainWindow.cpp @@ -161,6 +161,9 @@ MainWindow::MainWindow(bool verbose, QWidget* parent) shortcut = new QShortcut(QKeySequence(Qt::Key_F5), this); connect(shortcut, SIGNAL(activated()), this, SLOT(reloadItem())); + shortcut = new QShortcut(QKeySequence(Qt::Key_F11), this); + connect(shortcut, SIGNAL(activated()), + this, SLOT(toggleFullScreen())); } proxyModel = new QSortFilterProxyModel(this); @@ -2347,3 +2350,27 @@ void MainWindow::setTransparencyPasses(int val) viewer->setTotalPass(val); viewer->update(); } + +void MainWindow::toggleFullScreen() +{ + QList dockWidgets = findChildren(); + if(visibleDockWidgets.isEmpty()) + { + Q_FOREACH(QDockWidget * dock, dockWidgets) + { + if(dock->isVisible()) + { + visibleDockWidgets.append(dock); + dock->hide(); + } + } + } + else + { + Q_FOREACH(QDockWidget * dock, visibleDockWidgets){ + dock->show(); + } + visibleDockWidgets.clear(); + + } +} diff --git a/Polyhedron/demo/Polyhedron/MainWindow.h b/Polyhedron/demo/Polyhedron/MainWindow.h index 269d03fe4f3..aaa577c8e73 100644 --- a/Polyhedron/demo/Polyhedron/MainWindow.h +++ b/Polyhedron/demo/Polyhedron/MainWindow.h @@ -428,6 +428,10 @@ public: void evaluate_script_quiet(QString script, const QString & fileName = QString()); #endif +public Q_SLOTS: + void toggleFullScreen(); +private: + QList visibleDockWidgets; }; #endif // ifndef MAINWINDOW_H diff --git a/Polyhedron/demo/Polyhedron/Plugins/PMP/Selection_widget.ui b/Polyhedron/demo/Polyhedron/Plugins/PMP/Selection_widget.ui index 8075686e33b..7bba0ebd80f 100644 --- a/Polyhedron/demo/Polyhedron/Plugins/PMP/Selection_widget.ui +++ b/Polyhedron/demo/Polyhedron/Plugins/PMP/Selection_widget.ui @@ -15,6 +15,19 @@ + + + + Qt::Vertical + + + + 20 + 40 + + + + @@ -42,19 +55,6 @@ - - - - Qt::Vertical - - - - 20 - 40 - - - - diff --git a/Polyhedron/demo/Polyhedron/Viewer.cpp b/Polyhedron/demo/Polyhedron/Viewer.cpp index d2809a4d708..e1b4b4e38df 100644 --- a/Polyhedron/demo/Polyhedron/Viewer.cpp +++ b/Polyhedron/demo/Polyhedron/Viewer.cpp @@ -142,6 +142,10 @@ Viewer::Viewer(QWidget* parent, bool antialiasing) setMouseBindingDescription(Qt::Key_O, Qt::NoModifier, Qt::LeftButton, tr("Move the camera orthogonally to the picked facet of a Scene_surface_mesh_item or " "to the current selection of a Scene_points_with_normal_item.")); + setKeyDescription(Qt::Key_F5, + tr("Reloads the selected item if possible.")); + setKeyDescription(Qt::Key_F11, + tr("Toggle the viewer's fullscreen mode.")); prev_radius = sceneRadius(); d->has_text = false;