diff options
author | Gerald Combs <gerald@wireshark.org> | 2015-11-05 14:30:53 -0800 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2015-11-05 23:39:58 +0000 |
commit | d02104c9a61c353ce6ed54c6ca6207ed3a1fcdf0 (patch) | |
tree | 8bad6b6ed1fde8251bfe404975a710a35e9074b1 /ui/qt/qt_ui_utils.cpp | |
parent | 2096c006aa33f1b49f601f8142fee6615fe2e7f0 (diff) |
Qt: Check for a sane window geometry.
On Windows (and probably X11) it's possible to set an offscreen window
geometry. Add a rect_on_screen function to qt_ui_utils and use it as a
sanity check in MainWindow::loadWindowGeometry.
If this doesn't work well (e.g. if we end up with dueling Qt and GTK+
geometries) we might want to create separate Qt and GTK+ preferences.
Bug: 11568
Change-Id: Icde1181671770356e87f07d584894ec3148e1bd2
Reviewed-on: https://code.wireshark.org/review/11584
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Diffstat (limited to 'ui/qt/qt_ui_utils.cpp')
-rw-r--r-- | ui/qt/qt_ui_utils.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/ui/qt/qt_ui_utils.cpp b/ui/qt/qt_ui_utils.cpp index aee727ab8b..67bf510b0e 100644 --- a/ui/qt/qt_ui_utils.cpp +++ b/ui/qt/qt_ui_utils.cpp @@ -41,7 +41,9 @@ #include <QDir> #include <QFileInfo> #include <QFontDatabase> +#include <QGuiApplication> #include <QProcess> +#include <QScreen> #include <QUrl> #include <QUuid> @@ -231,6 +233,16 @@ void desktop_show_in_folder(const QString file_path) } } +bool rect_on_screen(const QRect &rect) +{ + foreach (const QScreen *screen, QGuiApplication::screens()) { + if (screen->availableGeometry().contains(rect)) + return true; + } + + return false; +} + /* * Editor modelines * |