diff --git a/src/qml/presenter/MainWindow.qml b/src/qml/presenter/MainWindow.qml index 7043725..6e132f0 100644 --- a/src/qml/presenter/MainWindow.qml +++ b/src/qml/presenter/MainWindow.qml @@ -29,7 +29,7 @@ Controls.Page { property string dragItemBackground: "" property string dragItemFont: "" property string dragItemFontSize - property string dragItemSlideNumber + property int dragItemSlideNumber property bool editing: true diff --git a/src/qml/presenter/Presentation.qml b/src/qml/presenter/Presentation.qml index cbe157b..25fc141 100644 --- a/src/qml/presenter/Presentation.qml +++ b/src/qml/presenter/Presentation.qml @@ -93,9 +93,9 @@ FocusScope { Presenter.Slide { id: previewSlide - implicitWidth: Kirigami.Units.gridUnit * 32 + implicitWidth: root.width - 400 implicitHeight: width / 16 * 9 - /* minimumWidth: 300 */ + /* minimumWidth: 200 */ anchors.centerIn: parent textSize: width / 15 itemType: root.itemType @@ -182,15 +182,18 @@ FocusScope { anchors.bottom: root.bottom width: parent.width orientation: ListView.Horizontal + spacing: Kirigami.Units.smallSpacing * 2 cacheBuffer: 900 reuseItems: true model: serviceItemModel delegate: Rectangle { id: previewHighlight - property var outerModelData: modelData - implicitWidth: 210 - implicitHeight: width / 16 * 9 + property var outerModelData: model + implicitHeight: Kirigami.Units.gridUnit * 6 + implicitWidth: Kirigami.Units.gridUnit * 11 + border.color: Kirigami.Theme.highlightColor + radius: 5 color: { if (active || previewerMouse.containsMouse) Kirigami.Theme.highlightColor @@ -200,16 +203,21 @@ FocusScope { ListView { id: slidesList anchors.centerIn: parent - implicitHeight: parent.height - model: outerModelData.slideNumber + model: outerModelData.slideNumber === 0 ? 1 : outerModelData.slideNumber + width: parent.width * model - 10 + height: parent.height orientation: ListView.Horizontal cacheBuffer: 900 reuseItems: true - Component.onCompleted: showPassiveNotification(outerModelData.slideNumber) + spacing: Kirigami.Units.smallSpacing + Component.onCompleted: { + showPassiveNotification("Number of slides: " + outerModelData.slideNumber); + parent.width = width; + } delegate: Presenter.Slide { id: previewSlideItem anchors.centerIn: parent - implicitWidth: 200 + implicitWidth: Kirigami.Units.gridUnit * 10 implicitHeight: width / 16 * 9 textSize: width / 4 itemType: outerModelData.type @@ -217,17 +225,24 @@ FocusScope { videoSource: outerModelData.backgroundType === "video" ? background : "" audioSource: "" chosenFont: outerModelData.font - text: outerModelData.text[index] === "This is demo text" ? "" : outerModelData.text[index] + text: outerModelData.text[index + 1] === "This is demo text" ? "" : outerModelData.text[index + 1] pdfIndex: 0 preview: true editMode: true + MouseArea { + id: innerMouse + anchors.fill: parent + hoverEnabled: true + onClicked: changeServiceItem(outerModelData.index) + cursorShape: Qt.PointingHandCursor + } } } Controls.Label { id: slidesTitle - width: previewSlideItem.width + width: Kirigami.Units.gridUnit * 7 anchors.top: slidesList.bottom anchors.horizontalCenter: parent.horizontalCenter anchors.topMargin: 5 @@ -236,14 +251,6 @@ FocusScope { /* font.family: "Quicksand Bold" */ } - Controls.ToolButton { - anchors.top: slidesTitle.bottom - text: "NUM" - icon.name: "viewimage" - hoverEnabled: true - onClicked: showPassiveNotification(slideNumber) && print(slideNumber); - } - MouseArea { id: previewerMouse anchors.fill: parent diff --git a/src/qml/presenter/ServiceList.qml b/src/qml/presenter/ServiceList.qml index 1c996cb..2399af6 100644 --- a/src/qml/presenter/ServiceList.qml +++ b/src/qml/presenter/ServiceList.qml @@ -508,14 +508,23 @@ Item { font, fontSize, itemID) { if (type === "song") { const newtext = songsqlmodel.getLyricList(itemID); - print("adding: " + name + " of type " + type); + print("adding: " + name + " of type " + type + " with " + newtext.length + " slides"); serviceItemModel.insertItem(index, name, type, background, backgroundType, newtext, - audio, font, fontSize); + audio, font, fontSize, newtext.length); totalServiceItems++; return; } + /* if (type === "presentation") { */ + /* print("adding: " + name + " of type " + type + " with " + newtext.length + " slides"); */ + /* serviceItemModel.insertItem(index, name, */ + /* type, background, */ + /* backgroundType, "", */ + /* "", "", 0, pageCount); */ + /* totalServiceItems++; */ + /* return; */ + /* } */ print("adding: " + name + " of type " + type); serviceItemModel.insertItem(index, name, type, background,