Commit graph

389 commits

Author SHA1 Message Date
Chris Cochrun
0eef97dcfe bug: new_song now works properly 2023-05-17 17:16:57 -05:00
Chris Cochrun
56c7dc8541 bug: fixing updating of properties in presentation_model 2023-05-17 17:01:34 -05:00
Chris Cochrun
bb9fc3fd86 bug: fixing video issues between qml and rust 2023-05-17 16:38:40 -05:00
Chris Cochrun
82466ee6fc bug: fixing some adding and updating issues 2023-05-17 16:38:22 -05:00
Chris Cochrun
f084e6d88d better icon for videos 2023-05-17 11:19:44 -05:00
Chris Cochrun
4dc4036dda bug: fixing insertion bugs of many items
Videos, images, and presentations were all look at the wrong index. I
needed to look for the count - 1 in order to find the right index from
the model when switching to the editMode
2023-05-17 11:09:21 -05:00
Chris Cochrun
3a3c4f9c5c maintenance: cleanup of switching to editMode 2023-05-17 10:11:06 -05:00
Chris Cochrun
eb899a9965 tweaks to making songs work 2023-05-16 15:31:09 -05:00
Chris Cochrun
184ad4fe57 using song_model now 2023-05-12 17:00:23 -05:00
Chris Cochrun
c33b5af588 basic implementation of having reveal.js slides working
There is still a lot of work needed to be done here, but the basics
are laid out.
2023-05-01 06:20:45 -05:00
Chris Cochrun
b05af23ffa feat: reveal.js presentations are viewable in editor
I have gotten reveal.js presentations to be viewable. I'll still need
to work with how to present them, and fix the presenter piece as well,
but for now, it works.
2023-04-29 07:13:04 -05:00
Chris Cochrun
a7e3cfa39f qml webengine is running
I'll need to figure out the best way to show the html slideshow later
but it's running and can accept html.
2023-04-28 05:46:02 -05:00
Chris Cochrun
c1711f231b Trying to fix adding multiple files 2023-04-27 14:18:43 -05:00
Chris Cochrun
e8b042df54 Preparing to add html as a presentation option 2023-04-27 14:17:59 -05:00
Chris Cochrun
12fb5592a7 remove using the old thumbnail creation
Since the rust implementation happens on insertion of slides and
creates a property for it, it's better as we won't need to create it
on the fly. Now we'll just need to move it into a background thread so
things will load while ffmpeg creates thumbnails for us.
2023-04-23 07:06:36 -05:00
Chris Cochrun
666c22ae66 initial bits to make a ytdl addition 2023-04-21 13:42:18 -05:00
Chris Cochrun
16bb72c663 bug: making activeServiceItem text work 2023-04-19 15:09:30 -05:00
Chris Cochrun
a02f55eb0b better PreviewSlideListDelegate 2023-04-19 14:17:44 -05:00
Chris Cochrun
802f3ffbde bug: fixed presentation not looping 2023-04-19 11:59:05 -05:00
Chris Cochrun
bcfa587d85 bug: adding videos fixed 2023-04-19 11:40:37 -05:00
Chris Cochrun
1dc08d212c adding better footer information and styling 2023-04-19 09:42:13 -05:00
Chris Cochrun
7c2eeb5aa4 RangedSlider now has tray clicking 2023-04-19 09:29:29 -05:00
Chris Cochrun
eb15160201 some small tweaks to the rest of the UI of videoEditor 2023-04-19 06:34:43 -05:00
Chris Cochrun
d9836db18e ensuring that visual position follow initialValues
Since the internal components change visualPosition this will just
setup initialValues properly for anything looking at visualPosition
from the start
2023-04-19 06:33:41 -05:00
Chris Cochrun
81ea712c6b feature: a much nicer qml rangedslider
In order to make start and end time setting far more efficient, I
decided to create my own RangeSlider called RangedSlider. This has a
moved signal for each handle and a released signal for each
handle. This allows us to change the video playback but not set the
value until released. Meaning only one access to the database.
2023-04-19 05:35:52 -05:00
Chris Cochrun
8b231de32b adding a custom rangedslider 2023-04-18 15:32:42 -05:00
Chris Cochrun
455c83b000 make a spot for serviceItem info in the footer 2023-04-18 11:13:49 -05:00
Chris Cochrun
061bf5acb8 bug: triggering presenting on preview switching 2023-04-18 11:00:10 -05:00
Chris Cochrun
4f081acd7a adding footer information 2023-04-18 10:29:31 -05:00
Chris Cochrun
990edf3818 some tweaks to the library components 2023-04-18 06:42:56 -05:00
Chris Cochrun
ecebddf557 add All files to the options 2023-04-18 06:42:43 -05:00
Chris Cochrun
f4c2e1e452 remove commented code 2023-04-18 06:30:44 -05:00
Chris Cochrun
29607d954a adding video times to service item for future 2023-04-18 06:29:08 -05:00
Chris Cochrun
90f551edff attempting to modernize the VideoEditor.qml 2023-04-17 17:08:33 -05:00
Chris Cochrun
b037f1a91c initial ability to update properties of video_model.rs
I've made it possible to update the properties of the videos. I'll
need to make sure title, start and end times, and paths all work as
well. Let's make videos really good and then move on to images and
presentations.
2023-04-17 11:22:07 -05:00
Chris Cochrun
9d05a7e655 using video_model.rs and presentation_model.rs
These are hopefully a better alternative than the cpp counterparts
after some more time
2023-04-16 15:09:09 -05:00
Chris Cochrun
85285b7d02 add newItem function to interface with QML
In order to make sure QML can properly interact with Rust I'll use a
function in the proxy model to interact with the actual model
underneath in Rust.
2023-04-12 19:00:31 -05:00
Chris Cochrun
f8ac7feea0 adding the removal of items work on the slides
This isn't finished yet, but the core is there. I have yet to fully
remove slides after a service_item is removed.
2023-04-11 06:22:50 -05:00
Chris Cochrun
c1e9feb1b3 removing old testing stuff 2023-04-06 06:44:40 -05:00
Chris Cochrun
fc2d0492fa the image_model.rs is working
The basic functions are all working properly. Now the model works by
using diesel to connect the sql database and retrieve all the items
and organize them. Then it'll ensure any additions and deletions are
correct and happen first on the database before adding them to the
model.

There is still a C++ proxyModel inbetween QML and Rust, but
this proxyModel interfaces with the Rust model instead of the C++
SqlTableModel.
2023-04-06 05:49:28 -05:00
Chris Cochrun
89c270e6a0 fix pdfs not working with rust model right 2023-04-03 06:12:20 -05:00
Chris Cochrun
4296a205a8 making signal and slots use appropriate signals
This makes it so other DataChanged signals don't reset the view as was
happening before.
2023-04-01 07:20:46 -05:00
Chris Cochrun
060341adb7 video_thumbnail works to be set in rust
Since every slide is asking for their own, we don't need to loop
through all slides, we just use the index to put the thumbnail into
the right slides and emit data changed.
2023-04-01 07:02:42 -05:00
Chris Cochrun
995f9ffc03 add video_thumbnail additional
The actual code to generate thumbnails is still in C++ but I've added
a helper method to Rust now. It still needs connected.
2023-04-01 06:52:02 -05:00
Chris Cochrun
0f0f16e069 fix activate
slide_model.rs activate function now properly tells of the data that
was changed so that ListViews that use it as a model will reset their
data properly on changes.

The important parts were to ensure we are using the right indexes for
top_left and bottom_right. Then also ensure the roles are correct, but
I think I had that already, just went with the implementation that
CXX-Qt used in their examples.
2023-03-31 14:47:44 -05:00
Chris Cochrun
bd2002ada2 ensure active is proper color
For some reason the right value isn't being loaded on dataChanged, so
this makes sure to reset the value correctly for now.
2023-03-31 14:10:17 -05:00
Chris Cochrun
0a9c17cdde add activate function properly
While the previous function technically worked, the connections
weren't setup properly. Also the row_count function wasn't running
because it requires a QModelIndex parameter. Added a simple count
function to make sure we know how many slides there are in QML.
2023-03-31 13:13:20 -05:00
Chris Cochrun
9938241ebb use correct ids and models 2023-03-31 09:55:52 -05:00
Chris Cochrun
609d2af90b idk attempt to add ffmpeg? 2023-03-30 15:31:43 -05:00
Chris Cochrun
6f185e6f6e slide_model.rs functions like get_item and activate
These functions aren't perfect, but this code all makes them
essentially work so that we can call from QML
2023-03-30 09:33:51 -05:00