aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/utils/tooltip/tips.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/utils/tooltip/tips.cpp')
-rw-r--r--src/libs/utils/tooltip/tips.cpp24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/libs/utils/tooltip/tips.cpp b/src/libs/utils/tooltip/tips.cpp
index d882bdb1d8..f6927efef5 100644
--- a/src/libs/utils/tooltip/tips.cpp
+++ b/src/libs/utils/tooltip/tips.cpp
@@ -25,8 +25,8 @@
#include "tips.h"
#include "tooltip.h"
-#include "reuse.h"
+#include <utils/hostosinfo.h>
#include <utils/qtcassert.h>
#include <QRect>
@@ -43,6 +43,12 @@
#include <QPaintEvent>
#include <QVBoxLayout>
+#include <QPoint>
+#include <QRect>
+#include <QWidget>
+#include <QApplication>
+#include <QDesktopWidget>
+
#include <memory>
namespace Utils {
@@ -287,5 +293,21 @@ bool WidgetTip::equals(int typeId, const QVariant &other, const QVariant &otherC
&& other.value<QWidget *>() == m_widget;
}
+
+int screenNumber(const QPoint &pos, QWidget *w)
+{
+ if (QApplication::desktop()->isVirtualDesktop())
+ return QApplication::desktop()->screenNumber(pos);
+ else
+ return QApplication::desktop()->screenNumber(w);
+}
+
+QRect screenGeometry(const QPoint &pos, QWidget *w)
+{
+ if (HostOsInfo::isMacHost())
+ return QApplication::desktop()->availableGeometry(screenNumber(pos, w));
+ return QApplication::desktop()->screenGeometry(screenNumber(pos, w));
+}
+
} // namespace Internal
} // namespace Utils