[ui] sequence player: minor bug fixes

This commit is contained in:
mugulmd 2023-04-25 08:07:33 -07:00 committed by Loïc Vital
parent 76f4fc82f9
commit 03dc812e5d
2 changed files with 18 additions and 5 deletions

View file

@ -72,6 +72,10 @@ FloatingPane {
onSyncSelectedChanged: { onSyncSelectedChanged: {
updateReconstructionView(); updateReconstructionView();
} }
onPlayingChanged: {
syncSelected = !playing;
}
} }
// Exposed properties // Exposed properties
@ -174,6 +178,7 @@ FloatingPane {
id: frameLabel id: frameLabel
text: m.frame text: m.frame
Layout.preferredWidth: frameMetrics.width
} }
Slider { Slider {
@ -203,8 +208,6 @@ FloatingPane {
} }
} }
property real frameLength: m.sortedViewIds.length > 0 ? width / m.sortedViewIds.length : 0
background: Rectangle { background: Rectangle {
x: frameSlider.leftPadding x: frameSlider.leftPadding
y: frameSlider.topPadding + frameSlider.height / 2 - height / 2 y: frameSlider.topPadding + frameSlider.height / 2 - height / 2
@ -214,12 +217,15 @@ FloatingPane {
color: Colors.grey color: Colors.grey
Repeater { Repeater {
id: cacheView
model: viewer ? viewer.cachedFrames : [] model: viewer ? viewer.cachedFrames : []
property real frameLength: m.sortedViewIds.length > 0 ? frameSlider.width / m.sortedViewIds.length : 0
Rectangle { Rectangle {
x: modelData.x * frameSlider.frameLength x: modelData.x * cacheView.frameLength
y: 0 y: 0
width: frameSlider.frameLength * (modelData.y - modelData.x + 1) width: cacheView.frameLength * (modelData.y - modelData.x + 1)
height: 4 height: 4
radius: 2 radius: 2
color: Colors.blue color: Colors.blue
@ -263,6 +269,13 @@ FloatingPane {
} }
} }
TextMetrics {
id: frameMetrics
font: frameLabel.font
text: "10000"
}
TextMetrics { TextMetrics {
id: fpsMetrics id: fpsMetrics

View file

@ -435,7 +435,7 @@ FocusScope {
'canBeHovered': false, 'canBeHovered': false,
'idView': Qt.binding(function() { return (_reconstruction ? _reconstruction.selectedViewId : -1); }), 'idView': Qt.binding(function() { return (_reconstruction ? _reconstruction.selectedViewId : -1); }),
'cropFisheye': false, 'cropFisheye': false,
'sequence': Qt.binding(function() { return ((_reconstruction && _reconstruction.viewpoints) ? _reconstruction.allImagePaths() : []) }), 'sequence': Qt.binding(function() { return ((_reconstruction && _reconstruction.viewpoints.count > 0) ? _reconstruction.allImagePaths() : []) }),
'useSequence': Qt.binding(function() { return !useExternal && _reconstruction && (!displayedNode || outputAttribute.name == "gallery"); }) 'useSequence': Qt.binding(function() { return !useExternal && _reconstruction && (!displayedNode || outputAttribute.name == "gallery"); })
}) })
} else { } else {