Commit graph

418 commits

Author SHA1 Message Date
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
Chris Cochrun
236503e877 adjusting settings and slide_model.rs
These are trying to get more code written in Rust rather than c++. Not
there yet, but I need to sync these to another machine.
2023-03-28 06:15:11 -05:00
Chris Cochrun
f17a88ff68 fix serviceList sometimes having overlapping items 2023-03-24 15:17:25 -05:00
Chris Cochrun
17082bcc67 fix slideModel not activating after slideChanged 2023-03-24 15:17:06 -05:00
Chris Cochrun
0caadfc5c8 slide_obj.rs working
This commit finally has a working basic slide_obj implemented in Rust!
There are likely still some things that need to be tweaked and
massaged in order for things to translate back and forth from QML to
Rust.

The key was to make the old SlideObject written in C++ to act as a
bridge between QML and Rust. QML can't seem to understand CXX-QT's
QMap_QString_QVariant type as a QVariantMap and thus didn't translate
the Javascript object properly. Having the call first go into a C++
class translated it and then was trivial to pass into Rust.
2023-03-24 11:31:18 -05:00
Chris Cochrun
0936490bee attempt use slide_obj in qml
QML doesn't understand QMap_QString_QVariant yet.
2023-03-23 19:09:32 -05:00
Chris Cochrun
554dbc7d29 more versatile key handling
This allows us to later add and tweak the keyboard keys used to
navigate the slides and UI.
2023-03-21 10:33:15 -05:00
Chris Cochrun
175b327c5c refocus the presentation item
This command sets the keyboard focus to the presentation item which
controls when slides are changed. It ensures that after every action
you can use the arrow keys to switch the slides.
2023-03-20 11:38:07 -05:00
Chris Cochrun
3809e697e8 add labels to SongEditor.qml
This makes it more clear what each field is for
2023-03-14 14:40:43 -05:00
Chris Cochrun
097fa8ee7e add more image formats 2023-03-12 06:35:54 -05:00
Chris Cochrun
a543d8b9bc add proper fileDialog
This makes it so the editor page can change the image you are using.
2023-03-12 06:32:25 -05:00
Chris Cochrun
58a85bcc01 add forceLayout
This was an attempt at forcing the layout of the ListView so that it
will adjust to model changes properly. It only sort of works. There
are still occasional overlapping items.
2023-03-12 06:31:06 -05:00
Chris Cochrun
e2e44f1c3c working highlightBar 2023-03-12 06:30:47 -05:00
Chris Cochrun
b9a8eb4903 adding html to list of presentation extensions
This is necessary for eventually adding in WebEngineView to the
Slide.qml and enabling reveal.js presentations to work.
2023-03-10 17:24:24 -06:00
Chris Cochrun
ac32f6e20a fix adding file selects proper library 2023-03-08 13:30:34 -06:00
Chris Cochrun
a946db072d add loadingItem to serviceList
The loading item will show as things are dropped into the
listview. This makes sure the user sees a loading bit as things are
happening in the background to add the new serviceItem
2023-03-07 12:53:27 -06:00