mirror of
https://github.com/alicevision/Meshroom.git
synced 2025-04-29 10:17:27 +02:00
[ui] sequence player: draw cached frames indicator
This commit is contained in:
parent
c22c5e918f
commit
8a3daed543
3 changed files with 32 additions and 1 deletions
|
@ -4,6 +4,7 @@ import QtQuick.Layouts 1.3
|
|||
|
||||
import Controls 1.0
|
||||
import MaterialIcons 2.2
|
||||
import Utils 1.0
|
||||
|
||||
/**
|
||||
* The Sequence Player is a UI for manipulating
|
||||
|
@ -60,6 +61,9 @@ FloatingPane {
|
|||
}
|
||||
}
|
||||
|
||||
// Exposed properties
|
||||
property var viewer: null
|
||||
|
||||
// Update the frame property
|
||||
// when the selected view ID is changed externally
|
||||
Connections {
|
||||
|
@ -181,6 +185,30 @@ FloatingPane {
|
|||
frameSlider.value = m.frame;
|
||||
}
|
||||
}
|
||||
|
||||
property real frameLength: m.sortedViewIds.length > 0 ? width / m.sortedViewIds.length : 0
|
||||
|
||||
background: Rectangle {
|
||||
x: frameSlider.leftPadding
|
||||
y: frameSlider.topPadding + frameSlider.height / 2 - height / 2
|
||||
width: frameSlider.availableWidth
|
||||
height: 4
|
||||
radius: 2
|
||||
color: Colors.grey
|
||||
|
||||
Repeater {
|
||||
model: viewer ? viewer.cachedFrames : []
|
||||
|
||||
Rectangle {
|
||||
x: modelData * frameSlider.frameLength
|
||||
y: 0
|
||||
width: frameSlider.frameLength
|
||||
height: 4
|
||||
radius: 2
|
||||
color: Colors.blue
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
RowLayout {
|
||||
|
|
|
@ -434,7 +434,8 @@ FocusScope {
|
|||
'surface.msfmData': Qt.binding(function() { return (msfmDataLoader.status === Loader.Ready && msfmDataLoader.item != null && msfmDataLoader.item.status === 2) ? msfmDataLoader.item : null; }),
|
||||
'canBeHovered': false,
|
||||
'idView': Qt.binding(function() { return (_reconstruction ? _reconstruction.selectedViewId : -1); }),
|
||||
'cropFisheye': false
|
||||
'cropFisheye': false,
|
||||
'sequence': Qt.binding(function() { return ((_reconstruction && _reconstruction.viewpoints) ? _reconstruction.allImagePaths() : []) })
|
||||
})
|
||||
} else {
|
||||
// Force the unload (instead of using Component.onCompleted to load it once and for all) is necessary since Qt 5.14
|
||||
|
@ -1301,6 +1302,7 @@ FocusScope {
|
|||
id: sequencePlayer
|
||||
anchors.margins: 0
|
||||
Layout.fillWidth: true
|
||||
viewer: floatImageViewerLoader.status === Loader.Ready ? floatImageViewerLoader.item : null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -696,6 +696,7 @@ class Reconstruction(UIGraph):
|
|||
self.sfmAugmented.emit(first, last)
|
||||
return sfm[0], sfm[-1]
|
||||
|
||||
@Slot(result="QVariantList")
|
||||
def allImagePaths(self):
|
||||
""" Get all image paths in the reconstruction. """
|
||||
return [vp.path.value for node in self._cameraInits for vp in node.viewpoints.value]
|
||||
|
|
Loading…
Add table
Reference in a new issue