diff --git a/TODO.org b/TODO.org index 41eb97b..086572f 100644 --- a/TODO.org +++ b/TODO.org @@ -4,24 +4,12 @@ :END: * Inbox +** PROJ [#A] Make Presentation Window follow the presenter component :core: +[[file:~/dev/church-presenter/src/qml/presenter/MainWindow.qml::Presenter.Slide {]] + ** TODO Need to make =getLyricList= give back the verses with empty lines as separate slides :core: [[file:~/dev/church-presenter/src/songsqlmodel.cpp:://TODO make sure to split empty line in verse into two slides]] -** TODO nix-shell needs a little bit of work perhaps yet. But may be working under plasma just not minimal window managers using qt5ct. -https://discourse.nixos.org/t/developing-kirigami-applications/19947/17 -This thread helped a lot - -** TODO Make toolbar functional for =songeditor= [3/4] [75%] :core: -[[file:~/dev/church-presenter/src/qml/presenter/SongEditor.qml::Controls.ToolBar {]] - -- [X] alignment -- [X] font - Need to finish the UI portion of it -- [X] fontsize - Need to finish the UI portion of it -- [ ] effects? - For effects, I'm not 100% sure how to do this in an easy to build out way. Should I just do them the same as the other attributes or have effects be individually stored? Which effects to use? - - I'm thinking shadows for sure for readability on slides. Also, maybe I should have an effect of like glow? But maybe I'll come back to this after more of the core system is finished. - ** TODO bug in changing slides with the arrows :core: [[file:~/dev/church-presenter/src/qml/presenter/Presentation.qml::function changeSlide() {]] @@ -32,6 +20,15 @@ Maybe my best solution would be to architect a model or class for both the prese ** TODO Check for edge cases in inputing wrong vorder and lyrics :core: [[file:~/dev/church-presenter/TODO.org::*Fix broken append when importing River song][Fix broken append when importing River song]] +** TODO Fix possible bug in arrangingItems in draghandler [1/3] [33%] :bug: +[[file:~/dev/church-presenter/src/qml/presenter/DragHandle.qml::function arrangeItem() {]] + +- [X] Basic fixed drag n drop +- [ ] Allow for a less buggy interaction +- [ ] Need to check for edge cases + +** TODO Make toolbar functional for =songeditor= [3/4] [75%] :core: +[[file:~/dev/church-presenter/src/qml/presenter/SongEditor.qml::Controls.ToolBar {]] ** TODO Images stored in sql need to have aspect saved and applied dynamically here :core: [[file:~/dev/church-presenter/src/qml/presenter/Slide.qml::fillMode: Image.PreserveAspectCrop]] @@ -43,16 +40,6 @@ Maybe my best solution would be to architect a model or class for both the prese - [ ] Need to perhaps address the MPV crashing problem for a smoother experience. Essentially, mpv objects cause a seg fault when we remove them from the qml graph scene and are somehow re-referencing them. Using =reuseItems=, I can prevent the seg fault but then we are storing a lot of things in memory and will definitely cause slowdowns on older hardware. -** TODO Fix possible bug in arrangingItems in draghandler [1/3] [33%] :bug: -[[file:~/dev/church-presenter/src/qml/presenter/DragHandle.qml::function arrangeItem() {]] - -- [X] Basic fixed drag n drop -- [ ] Allow for a less buggy interaction -- [ ] Need to check for edge cases - -** PROJ [#A] Make Presentation Window follow the presenter component :core: -[[file:~/dev/church-presenter/src/qml/presenter/MainWindow.qml::Presenter.Slide {]] - ** TODO Finish toolbar in presentation display :ui: [[file:~/dev/church-presenter/src/qml/presenter/Presentation.qml::Controls.ToolBar {]] @@ -61,11 +48,6 @@ Maybe my best solution would be to architect a model or class for both the prese This may not be as needed. Apparently the text shrinks to fit it's space. -** TODO Create a nextslide function to be used after the end of the list of slides :slide: -[[file:~/dev/church-presenter/src/qml/presenter/Presentation.qml::function nextSlide() {]] - -- [ ] Check to make sure this works in all conditions but I believe it works ok. - ** TODO Make sure the video gets changed in a proper manner to not have left over video showing from previous items :video:slide: [[file:~/dev/church-presenter/src/qml/presenter/Presentation.qml::currentServiceItem++;]] @@ -74,6 +56,24 @@ This may not be as needed. Apparently the text shrinks to fit it's space. The second option is the best, but requires a lot more work. I have the first already working so I'll come back to this once I have more of an idea of how to do it. +** TODO Create a nextslide function to be used after the end of the list of slides :slide: +[[file:~/dev/church-presenter/src/qml/presenter/Presentation.qml::function nextSlide() {]] + +- [ ] Check to make sure this works in all conditions but I believe it works ok. + +** WAIT nix-shell needs a little bit of work perhaps yet. But may be working under plasma just not minimal window managers using qt5ct. +https://discourse.nixos.org/t/developing-kirigami-applications/19947/17 +This thread helped a lot + + +- [X] alignment +- [X] font - Need to finish the UI portion of it +- [X] fontsize - Need to finish the UI portion of it +- [ ] effects? + For effects, I'm not 100% sure how to do this in an easy to build out way. Should I just do them the same as the other attributes or have effects be individually stored? Which effects to use? + + I'm thinking shadows for sure for readability on slides. Also, maybe I should have an effect of like glow? But maybe I'll come back to this after more of the core system is finished. + ** DONE images and videos need a better get system [[file:~/dev/church-presenter/src/videosqlmodel.cpp::QVariantList VideoSqlModel::getVideo(const int &row) {]] diff --git a/src/qml/presenter/MainWindow.qml b/src/qml/presenter/MainWindow.qml index cfa5f3a..a952cfe 100644 --- a/src/qml/presenter/MainWindow.qml +++ b/src/qml/presenter/MainWindow.qml @@ -13,8 +13,9 @@ Controls.Page { // properties passed around for the slides property int currentServiceItem - property url imageBackground: "" - property url videoBackground: "" + property url imageBackground: presentation.imageBackground + property url videoBackground: presentation.vidBackground + property string currentText: presentation.text property int blurRadius: 0 /* property var video */ @@ -187,6 +188,7 @@ Controls.Page { imageEditor.visible = false; presentation.visible = true; editMode = false; + presenting = true; } } diff --git a/src/qml/presenter/PresentationWindow.qml b/src/qml/presenter/PresentationWindow.qml index 3794d51..d77762e 100644 --- a/src/qml/presenter/PresentationWindow.qml +++ b/src/qml/presenter/PresentationWindow.qml @@ -26,7 +26,7 @@ Window { anchors.fill: parent imageSource: imageBackground videoSource: videoBackground - text: "" + text: currentText Component.onCompleted: slideItem = presentationSlide } diff --git a/src/resources.qrc b/src/resources.qrc index 30066e3..f7ef11d 100644 --- a/src/resources.qrc +++ b/src/resources.qrc @@ -15,6 +15,7 @@ qml/presenter/SlideEditor.qml qml/presenter/DragHandle.qml qml/presenter/Presentation.qml + qml/presenter/PresentationWindow.qml qml/presenter/Settings.qml assets/parallel.jpg assets/black.jpg