aboutsummaryrefslogtreecommitdiffstats
path: root/ui/qt/qt_ui_utils.cpp
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2015-11-05 14:30:53 -0800
committerGerald Combs <gerald@wireshark.org>2015-11-05 23:39:58 +0000
commitd02104c9a61c353ce6ed54c6ca6207ed3a1fcdf0 (patch)
tree8bad6b6ed1fde8251bfe404975a710a35e9074b1 /ui/qt/qt_ui_utils.cpp
parent2096c006aa33f1b49f601f8142fee6615fe2e7f0 (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.cpp12
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
*