Commit graph

445 commits

Author SHA1 Message Date
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
Chris Cochrun
d349e0a572 better adding animations 2023-03-07 12:23:08 -06:00
Chris Cochrun
caa2e31d99 add looping for slides
This add looping primarily for videos but I've added in the groundwork
for looping through any kind of slide. This obviously will be
implemented differently for each type of slide, but this way the
groundwork is done already.
2023-03-06 15:06:18 -06:00
Chris Cochrun
11d8ca366c add vidLoop property 2023-03-06 13:28:25 -06:00
Chris Cochrun
2adc1c6e91 id for loopSwitch 2023-03-06 13:28:13 -06:00
Chris Cochrun
7cd57e2376 making labels selectable 2023-03-06 11:08:18 -06:00
Chris Cochrun
fa427c31bb same color as labels 2023-03-05 21:42:19 -06:00
Chris Cochrun
009c759ed3 smaller SplitHandle 2023-03-05 21:39:58 -06:00
Chris Cochrun
1559c72618 clarify parameters 2023-03-05 21:35:49 -06:00
Chris Cochrun
0086c20529 adding a basic label to view the filePath of the image 2023-03-05 07:24:17 -06:00
Chris Cochrun
0eec89518d changePresentation works now
This also now makes sure that when switching presentations
in the editor we are jumping back to the beginning of the
presentation rather than getting lost in the last held currentFrame.
2023-03-05 07:21:10 -06:00
Chris Cochrun
c634c6406d changeImage works now 2023-03-05 07:18:38 -06:00
Chris Cochrun
2065a0f8aa changeVideo works now 2023-03-05 07:17:19 -06:00
Chris Cochrun
01a5ada683 select on right click:
This selects when right clicking if there is no selection
or when there is only one other selected item
2023-03-05 07:11:36 -06:00
Chris Cochrun
6c33e52ea3 a working multi delete in libraries 2023-03-05 06:51:47 -06:00
Chris Cochrun
2c539e7618 switching to newer qt quick window 2023-03-03 16:56:13 -06:00
Chris Cochrun
5fe5a5b621 switching all layouts to newer layouts 2023-03-03 16:47:49 -06:00
Chris Cochrun
e5fe9b4813 switching to newer layouts 2023-03-03 16:44:03 -06:00
Chris Cochrun
63c1dfdb5a delete multiple items
This isn't working just yet, still needs some work
2023-03-03 11:30:42 -06:00
Chris Cochrun
37dc24ee65 adjusting deleting funcitons 2023-03-02 21:44:13 -06:00
Chris Cochrun
24243602ca making SplitView handles easier to target and providing highlighted
feedback
2023-03-02 16:51:48 -06:00
Chris Cochrun
cb58cac8bf making the newSong function show appropriate slides 2023-03-02 06:13:25 -06:00
Chris Cochrun
3cd6a75f4b fixing the SongEditor after library changes 2023-03-02 05:57:08 -06:00
Chris Cochrun
3dbecf2301 making newItem and deleteItem functions work 2023-03-02 05:56:52 -06:00