PresentWindow follows variables instead

This commit is contained in:
Chris Cochrun 2022-07-07 10:44:46 -05:00
parent a7c2c2487a
commit db70ac90f2
4 changed files with 36 additions and 33 deletions

View file

@ -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) {]]

View file

@ -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;
}
}

View file

@ -26,7 +26,7 @@ Window {
anchors.fill: parent
imageSource: imageBackground
videoSource: videoBackground
text: ""
text: currentText
Component.onCompleted: slideItem = presentationSlide
}

View file

@ -15,6 +15,7 @@
<file>qml/presenter/SlideEditor.qml</file>
<file>qml/presenter/DragHandle.qml</file>
<file>qml/presenter/Presentation.qml</file>
<file>qml/presenter/PresentationWindow.qml</file>
<file>qml/presenter/Settings.qml</file>
<file>assets/parallel.jpg</file>
<file>assets/black.jpg</file>