forked from qt-creator/qt-creator
QmlProfiler: rendering event information popup next to cursor
Task-number: QTCREATORBUG-5538 Change-Id: I6cb4ac6924eda2588657dbea0d51166ad0c01340 Reviewed-on: http://codereview.qt.nokia.com/1948 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
This commit is contained in:
@@ -304,18 +304,34 @@ Rectangle {
|
||||
rangeDetails.line = line
|
||||
rangeDetails.type = Plotter.names[type]
|
||||
|
||||
var pos = mapToItem(rangeDetails.parent, x, y+height)
|
||||
var preferredX = Math.max(10, pos.x - rangeDetails.width/2)
|
||||
if (preferredX + rangeDetails.width > rangeDetails.parent.width)
|
||||
preferredX = rangeDetails.parent.width - rangeDetails.width
|
||||
var margin = 10;
|
||||
|
||||
var pos = mapToItem(rangeDetails.parent , x, y)
|
||||
var preferredX = pos.x + margin;
|
||||
|
||||
// if over the right side of the window, render it left to the given pos
|
||||
if (preferredX + rangeDetails.width + margin > rangeDetails.parent.width)
|
||||
preferredX = pos.x - rangeDetails.width - margin;
|
||||
|
||||
// if window too narrow, put it at least in "margin" pixels
|
||||
if (preferredX < margin)
|
||||
preferredX = margin;
|
||||
|
||||
rangeDetails.x = preferredX
|
||||
|
||||
var preferredY = pos.y - rangeDetails.height/2;
|
||||
if (preferredY + rangeDetails.height > root.height - 10)
|
||||
preferredY = root.height - 10 - rangeDetails.height;
|
||||
if (preferredY < 10)
|
||||
preferredY=10;
|
||||
// center on current item
|
||||
var preferredY = pos.y + height/2 - rangeDetails.height/2;
|
||||
|
||||
// if too low, put it over the bottom of the window
|
||||
if (preferredY + rangeDetails.height - margin > root.height)
|
||||
preferredY = root.height - rangeDetails.height - margin;
|
||||
|
||||
// but never above the top of the window
|
||||
if (preferredY < margin)
|
||||
preferredY = margin;
|
||||
|
||||
rangeDetails.y = preferredY;
|
||||
|
||||
rangeDetails.visible = true
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user