diff --git a/src/qml/presenter/Library.qml b/src/qml/presenter/Library.qml index 6889cb5..1ed91b6 100644 --- a/src/qml/presenter/Library.qml +++ b/src/qml/presenter/Library.qml @@ -72,7 +72,9 @@ Item { newItemFunction: (function() { videoProxyModel.setFilterRegularExpression(""); }) - deleteItemFunction: videoProxyModel.deleteVideo(index) + deleteItemFunction: (function(index) { + videoProxyModel.deleteVideo(index) + }) } @@ -95,7 +97,9 @@ Item { newItemFunction: (function() { imageProxyModel.setFilterRegularExpression(""); }) - deleteItemFunction: imageProxyModel.deleteImage(index) + deleteItemFunction: (function(index) { + imageProxyModel.deleteImage(index) + }) } @@ -118,7 +122,9 @@ Item { newItemFunction: (function() { presProxyModel.setFilterRegularExpression(""); }) - deleteItemFunction: presProxyModel.deletePresentation(index) + deleteItemFunction: (function(index) { + presProxyModel.deletePresentation(index) + }) } diff --git a/src/qml/presenter/LibraryItem.qml b/src/qml/presenter/LibraryItem.qml index 0d5bd22..d9cede7 100644 --- a/src/qml/presenter/LibraryItem.qml +++ b/src/qml/presenter/LibraryItem.qml @@ -321,11 +321,23 @@ ColumnLayout { rightClickMenu.popup() else if ((mouse.button === Qt.LeftButton) && (mouse.modifiers === Qt.ShiftModifier)) { - libraryList.selectSongs(index); + if (libraryList.currentIndex < index) { + for (let i = libraryList.currentIndex; i <= index; i++) { + selectionModel.select(proxyModel.idx(i), + ItemSelectionModel.Select); + } + } + else { + for (let i = index; i <= libraryList.currentIndex; i++) { + selectionModel.select(proxyModel.idx(i), + ItemSelectionModel.Select); + } + } + console.log(selectionModel.selectedIndexes); } else { selectionModel.select(proxyModel.idx(index), ItemSelectionModel.ClearAndSelect); - + libraryList.currentIndex = index; } } onDoubleClicked: { @@ -344,7 +356,13 @@ ColumnLayout { y: clickHandler.mouseY + 10 Kirigami.Action { text: "delete" - onTriggered: root.deleteItemFunction(index) + onTriggered: { + let selection = selectionModel.selectedIndexes; + for (let i = 0; i < selection.length; i++) { + console.log(selection[i].row); + root.deleteItemFunction(selection[i].row); + } + } } } }