diff options
Diffstat (limited to 'src/libs/utils/tooltip/tips.cpp')
-rw-r--r-- | src/libs/utils/tooltip/tips.cpp | 24 |
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 |