diff --git a/TODO.org b/TODO.org index 8b6974f..0d6b55e 100644 --- a/TODO.org +++ b/TODO.org @@ -4,6 +4,8 @@ :END: * Tasks [66%] [38/57] +** TODO Figure out qml hot reload +https://www.reddit.com/r/QtFramework/comments/11plifj/qhot_now_with_qt6_support/ ** TODO Switch to using rust only deletion functions. [[file:~/dev/church-presenter/src/qml/presenter/Library.qml::videoProxyModel.deleteVideos(rows)]] diff --git a/build.sh b/build.sh old mode 100644 new mode 100755 diff --git a/src/main.cpp b/src/main.cpp index c54b280..7180b93 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -53,6 +53,7 @@ #include "cxx-qt-gen/file_helper.cxxqt.h" #include "cxx-qt-gen/slide_obj.cxxqt.h" #include "cxx-qt-gen/slide_model.cxxqt.h" +#include "cxx-qt-gen/service_item_model.cxxqt.h" #include "cxx-qt-gen/settings.cxxqt.h" #include "cxx-qt-gen/ytdl.cxxqt.h" #include "cxx-qt-gen/presentation_model.cxxqt.h" diff --git a/src/rust/service_item_model.rs b/src/rust/service_item_model.rs index b6165a5..3196dd6 100644 --- a/src/rust/service_item_model.rs +++ b/src/rust/service_item_model.rs @@ -24,7 +24,7 @@ mod service_item_model { #[cxx_qt::qobject] #[derive(Clone, Debug)] - pub struct ServiceItem { + pub struct ServiceItm { #[qproperty] name: QString, #[qproperty] @@ -55,7 +55,7 @@ mod service_item_model { video_end_time: f32, } - impl Default for ServiceItem { + impl Default for ServiceItm { fn default() -> Self { Self { name: QString::default(), @@ -78,12 +78,12 @@ mod service_item_model { #[cxx_qt::qobject(base = "QAbstractListModel")] #[derive(Default, Debug)] - pub struct ServiceItemModel { + pub struct ServiceItemMod { id: i32, - service_items: Vec, + service_items: Vec, } - #[cxx_qt::qsignals(ServiceItemModel)] + #[cxx_qt::qsignals(ServiceItemMod)] pub enum Signals<'a> { #[inherit] DataChanged { @@ -121,7 +121,7 @@ mod service_item_model { // use crate::video_thumbnail; // use image::{ImageBuffer, Rgba}; use std::path::PathBuf; - impl qobject::ServiceItemModel { + impl qobject::ServiceItemMod { #[qinvokable] pub fn clear(mut self: Pin<&mut Self>) { unsafe { @@ -161,7 +161,7 @@ mod service_item_model { video_start_time: f32, video_end_time: f32, ) { - let service_item = ServiceItem { + let service_item = ServiceItm { name, ty, text, @@ -180,7 +180,7 @@ mod service_item_model { self.as_mut().add_service_item(&service_item); } - fn add_service_item(mut self: Pin<&mut Self>, service_item: &ServiceItem) { + fn add_service_item(mut self: Pin<&mut Self>, service_item: &ServiceItm) { let index = self.as_ref().service_items().len() as i32; println!("{:?}", service_item); let service_item = service_item.clone(); @@ -209,7 +209,7 @@ mod service_item_model { video_start_time: f32, video_end_time: f32, ) { - let service_item = ServiceItem { + let service_item = ServiceItm { name, ty, text, @@ -228,7 +228,7 @@ mod service_item_model { self.as_mut().insert_service_item(&service_item, index); } - fn insert_service_item(mut self: Pin<&mut Self>, service_item: &ServiceItem, id: i32) { + fn insert_service_item(mut self: Pin<&mut Self>, service_item: &ServiceItm, id: i32) { let service_item = service_item.clone(); unsafe { self.as_mut() @@ -366,32 +366,32 @@ mod service_item_model { #[cxx_qt::inherit] extern "C++" { unsafe fn begin_insert_rows( - self: Pin<&mut qobject::ServiceItemModel>, + self: Pin<&mut qobject::ServiceItemMod>, parent: &QModelIndex, first: i32, last: i32, ); - unsafe fn end_insert_rows(self: Pin<&mut qobject::ServiceItemModel>); + unsafe fn end_insert_rows(self: Pin<&mut qobject::ServiceItemMod>); unsafe fn begin_remove_rows( - self: Pin<&mut qobject::ServiceItemModel>, + self: Pin<&mut qobject::ServiceItemMod>, parent: &QModelIndex, first: i32, last: i32, ); - unsafe fn end_remove_rows(self: Pin<&mut qobject::ServiceItemModel>); + unsafe fn end_remove_rows(self: Pin<&mut qobject::ServiceItemMod>); - unsafe fn begin_reset_model(self: Pin<&mut qobject::ServiceItemModel>); - unsafe fn end_reset_model(self: Pin<&mut qobject::ServiceItemModel>); + unsafe fn begin_reset_model(self: Pin<&mut qobject::ServiceItemMod>); + unsafe fn end_reset_model(self: Pin<&mut qobject::ServiceItemMod>); } #[cxx_qt::inherit] unsafe extern "C++" { #[cxx_name = "canFetchMore"] - fn base_can_fetch_more(self: &qobject::ServiceItemModel, parent: &QModelIndex) -> bool; + fn base_can_fetch_more(self: &qobject::ServiceItemMod, parent: &QModelIndex) -> bool; fn index( - self: &qobject::ServiceItemModel, + self: &qobject::ServiceItemMod, row: i32, column: i32, parent: &QModelIndex, @@ -399,7 +399,7 @@ mod service_item_model { } // QAbstractListModel implementation - impl qobject::ServiceItemModel { + impl qobject::ServiceItemMod { #[qinvokable(cxx_override)] fn data(&self, index: &QModelIndex, role: i32) -> QVariant { if let Some(service_item) = self.service_items().get(index.row() as usize) {