forked from qt-creator/qt-creator
QmlProfiler: allow interactive resizing of rows in timeline
Task-number: QTCREATORBUG-12337 Change-Id: Ib9ddb128605831841023bb3cc9aed758ed171de9 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
This commit is contained in:
@@ -39,6 +39,8 @@ Item {
|
||||
property var extdescriptions: []
|
||||
property var eventIds: []
|
||||
|
||||
readonly property int dragHeight: 5
|
||||
|
||||
function trigger(i) {
|
||||
return i * bindingTrigger * bindingTrigger;
|
||||
}
|
||||
@@ -116,16 +118,28 @@ Item {
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
MouseArea {
|
||||
property bool resizing: false
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
cursorShape: (resizing || height - mouseY < dragHeight) ? Qt.SizeVerCursor :
|
||||
Qt.ArrowCursor;
|
||||
onEntered: changeToolTip(extdescriptions[index]);
|
||||
onExited: changeToolTip("");
|
||||
onPressed: resizing = (height - mouseY < dragHeight);
|
||||
|
||||
onReleased: resizing = false;
|
||||
|
||||
onClicked: {
|
||||
if (mouse.modifiers & Qt.ShiftModifier)
|
||||
view.selectPrevFromId(modelIndex,eventIds[index]);
|
||||
else
|
||||
view.selectNextFromId(modelIndex,eventIds[index]);
|
||||
}
|
||||
|
||||
onMouseYChanged: {
|
||||
if (resizing)
|
||||
qmlProfilerModelProxy.setRowHeight(modelIndex, index + 1, mouseY);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -53,12 +53,16 @@ TimelineRenderer::TimelineRenderer(QQuickPaintedItem *parent) :
|
||||
|
||||
void TimelineRenderer::setProfilerModelProxy(QObject *profilerModelProxy)
|
||||
{
|
||||
if (m_profilerModelProxy)
|
||||
if (m_profilerModelProxy) {
|
||||
disconnect(m_profilerModelProxy, SIGNAL(expandedChanged()), this, SLOT(requestPaint()));
|
||||
disconnect(m_profilerModelProxy, SIGNAL(rowHeightChanged()), this, SLOT(requestPaint()));
|
||||
}
|
||||
m_profilerModelProxy = qobject_cast<TimelineModelAggregator *>(profilerModelProxy);
|
||||
|
||||
if (m_profilerModelProxy)
|
||||
if (m_profilerModelProxy) {
|
||||
connect(m_profilerModelProxy, SIGNAL(expandedChanged()), this, SLOT(requestPaint()));
|
||||
connect(m_profilerModelProxy, SIGNAL(rowHeightChanged()), this, SLOT(requestPaint()));
|
||||
}
|
||||
emit profilerModelProxyChanged(m_profilerModelProxy);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user