mirror of
https://github.com/alicevision/Meshroom.git
synced 2025-06-01 18:31:58 +02:00
[ui] NodeEditor: refactor ChunksList and add global stats
This commit is contained in:
parent
bd5d447d12
commit
831443c29d
9 changed files with 415 additions and 307 deletions
|
@ -1,6 +1,5 @@
|
|||
import QtQuick 2.11
|
||||
import QtQuick.Controls 2.3
|
||||
import QtQuick.Controls 1.4 as Controls1 // SplitView
|
||||
import QtQuick.Layouts 1.3
|
||||
import MaterialIcons 2.2
|
||||
import Controls 1.0
|
||||
|
@ -16,53 +15,34 @@ import "common.js" as Common
|
|||
FocusScope {
|
||||
id: root
|
||||
property variant node
|
||||
property alias chunkCurrentIndex: chunksLV.currentIndex
|
||||
signal changeCurrentChunk(int chunkIndex)
|
||||
property int currentChunkIndex
|
||||
property variant currentChunk
|
||||
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
|
||||
SystemPalette { id: activePalette }
|
||||
|
||||
Controls1.SplitView {
|
||||
Loader {
|
||||
id: componentLoader
|
||||
clip: true
|
||||
anchors.fill: parent
|
||||
|
||||
// The list of chunks
|
||||
ChunksListView {
|
||||
id: chunksLV
|
||||
Layout.fillHeight: true
|
||||
model: node.chunks
|
||||
onChangeCurrentChunk: root.changeCurrentChunk(chunkIndex)
|
||||
}
|
||||
property string currentFile: (root.currentChunkIndex >= 0 && root.currentChunk) ? root.currentChunk["logFile"] : ""
|
||||
property url source: Filepath.stringToUrl(currentFile)
|
||||
|
||||
Loader {
|
||||
id: componentLoader
|
||||
clip: true
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
property url source
|
||||
sourceComponent: textFileViewerComponent
|
||||
}
|
||||
|
||||
property string currentFile: chunksLV.currentChunk ? chunksLV.currentChunk["logFile"] : ""
|
||||
onCurrentFileChanged: {
|
||||
// only set text file viewer source when ListView is fully ready
|
||||
// (either empty or fully populated with a valid currentChunk)
|
||||
// to avoid going through an empty url when switching between two nodes
|
||||
Component {
|
||||
id: textFileViewerComponent
|
||||
|
||||
if(!chunksLV.count || chunksLV.currentChunk)
|
||||
componentLoader.source = Filepath.stringToUrl(currentFile);
|
||||
|
||||
}
|
||||
|
||||
sourceComponent: textFileViewerComponent
|
||||
}
|
||||
|
||||
Component {
|
||||
id: textFileViewerComponent
|
||||
TextFileViewer {
|
||||
id: textFileViewer
|
||||
source: componentLoader.source
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
autoReload: chunksLV.currentChunk !== undefined && chunksLV.currentChunk.statusName === "RUNNING"
|
||||
// source is set in fileSelector
|
||||
}
|
||||
TextFileViewer {
|
||||
id: textFileViewer
|
||||
anchors.fill: parent
|
||||
source: componentLoader.source
|
||||
autoReload: root.currentChunk !== undefined && root.currentChunk.statusName === "RUNNING"
|
||||
// source is set in fileSelector
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue