diff options
| author | Peter Penz <[email protected]> | 2008-07-26 14:10:26 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2008-07-26 14:10:26 +0000 |
| commit | 309f302c1db22e7025df63b12fc0bf94d29523b9 (patch) | |
| tree | f0391f68f06275b7b35c8d3f4002dc0fda4d1c43 /src | |
| parent | 7d3e2cc93fed0118f952b4aae5c5025d6677ad4d (diff) | |
Tooltips are shown on wrong position in combination with a dual screen setup. Thanks to Lucas Murray for the patch!
BUG: 167205
svn path=/trunk/KDE/kdebase/apps/; revision=838041
Diffstat (limited to 'src')
| -rw-r--r-- | src/tooltipmanager.cpp | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/src/tooltipmanager.cpp b/src/tooltipmanager.cpp index cc3c9eb5a..8e4ad0eba 100644 --- a/src/tooltipmanager.cpp +++ b/src/tooltipmanager.cpp @@ -117,7 +117,7 @@ void ToolTipManager::showToolTip() option.decorationSize = QSize(32, 32); const QSize size = g_delegate->sizeHint(&option, tip); - const QRect desktop = QApplication::desktop()->availableGeometry(); + const QRect desktop = QApplication::desktop()->screenGeometry(m_itemRect.bottomRight()); // m_itemRect defines the area of the item, where the tooltip should be // shown. Per default the tooltip is shown in the bottom right corner. @@ -126,16 +126,11 @@ void ToolTipManager::showToolTip() // - the content is not drawn inside m_itemRect int x = m_itemRect.right(); int y = m_itemRect.bottom(); - const int xDiff = x + size.width() - desktop.width(); - const int yDiff = y + size.height() - desktop.height(); - - if ((xDiff > 0) && (yDiff > 0)) { + if (x + size.width() - 1 > desktop.right()) { x = m_itemRect.left() - size.width(); + } + if (y + size.height() - 1 > desktop.bottom()) { y = m_itemRect.top() - size.height(); - } else if (xDiff > 0) { - x -= xDiff; - } else if (yDiff > 0) { - y -= yDiff; } KToolTip::showTip(QPoint(x, y), tip); |
