[ui] dispatch thumbnail creation signal from grid

This commit is contained in:
mugulmd 2023-01-09 06:21:10 -08:00
parent 60c8e779d5
commit af2c9c0fd3
2 changed files with 19 additions and 10 deletions

View file

@ -31,17 +31,13 @@ Item {
property var metadata: metadataStr ? JSON.parse(viewpoint.get("metadata").value) : {}
}
// update thumbnail location
// can be called from the GridView when a new thumbnail has been written on disk
function updateThumbnail() {
thumbnail.source = ThumbnailCache.thumbnail(root.source);
}
onSourceChanged: {
thumbnail.source = ThumbnailCache.thumbnail(root.source)
}
Connections {
target: ThumbnailCache
function onThumbnailCreated(imgSource) {
if (imgSource == root.source) {
thumbnail.source = ThumbnailCache.thumbnail(root.source)
}
}
updateThumbnail();
}
MouseArea {

View file

@ -201,6 +201,19 @@ Panel {
}
}
// Update grid item when corresponding thumbnail is computed
Connections {
target: ThumbnailCache
function onThumbnailCreated(imgSource) {
for (let i = 0; i < grid.count; i++) {
let item = grid.itemAtIndex(i); // item is an ImageDelegate
if (item && item.source == imgSource) {
item.updateThumbnail();
}
}
}
}
model: SortFilterDelegateModel {
id: sortedModel
model: m.viewpoints