making service_item_model build

This commit is contained in:
Chris Cochrun 2023-06-17 06:36:16 -05:00
parent c605a13e81
commit f404759862
4 changed files with 22 additions and 19 deletions

View file

@ -4,6 +4,8 @@
:END: :END:
* Tasks [66%] [38/57] * 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. ** TODO Switch to using rust only deletion functions.
[[file:~/dev/church-presenter/src/qml/presenter/Library.qml::videoProxyModel.deleteVideos(rows)]] [[file:~/dev/church-presenter/src/qml/presenter/Library.qml::videoProxyModel.deleteVideos(rows)]]

0
build.sh Normal file → Executable file
View file

View file

@ -53,6 +53,7 @@
#include "cxx-qt-gen/file_helper.cxxqt.h" #include "cxx-qt-gen/file_helper.cxxqt.h"
#include "cxx-qt-gen/slide_obj.cxxqt.h" #include "cxx-qt-gen/slide_obj.cxxqt.h"
#include "cxx-qt-gen/slide_model.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/settings.cxxqt.h"
#include "cxx-qt-gen/ytdl.cxxqt.h" #include "cxx-qt-gen/ytdl.cxxqt.h"
#include "cxx-qt-gen/presentation_model.cxxqt.h" #include "cxx-qt-gen/presentation_model.cxxqt.h"

View file

@ -24,7 +24,7 @@ mod service_item_model {
#[cxx_qt::qobject] #[cxx_qt::qobject]
#[derive(Clone, Debug)] #[derive(Clone, Debug)]
pub struct ServiceItem { pub struct ServiceItm {
#[qproperty] #[qproperty]
name: QString, name: QString,
#[qproperty] #[qproperty]
@ -55,7 +55,7 @@ mod service_item_model {
video_end_time: f32, video_end_time: f32,
} }
impl Default for ServiceItem { impl Default for ServiceItm {
fn default() -> Self { fn default() -> Self {
Self { Self {
name: QString::default(), name: QString::default(),
@ -78,12 +78,12 @@ mod service_item_model {
#[cxx_qt::qobject(base = "QAbstractListModel")] #[cxx_qt::qobject(base = "QAbstractListModel")]
#[derive(Default, Debug)] #[derive(Default, Debug)]
pub struct ServiceItemModel { pub struct ServiceItemMod {
id: i32, id: i32,
service_items: Vec<ServiceItem>, service_items: Vec<ServiceItm>,
} }
#[cxx_qt::qsignals(ServiceItemModel)] #[cxx_qt::qsignals(ServiceItemMod)]
pub enum Signals<'a> { pub enum Signals<'a> {
#[inherit] #[inherit]
DataChanged { DataChanged {
@ -121,7 +121,7 @@ mod service_item_model {
// use crate::video_thumbnail; // use crate::video_thumbnail;
// use image::{ImageBuffer, Rgba}; // use image::{ImageBuffer, Rgba};
use std::path::PathBuf; use std::path::PathBuf;
impl qobject::ServiceItemModel { impl qobject::ServiceItemMod {
#[qinvokable] #[qinvokable]
pub fn clear(mut self: Pin<&mut Self>) { pub fn clear(mut self: Pin<&mut Self>) {
unsafe { unsafe {
@ -161,7 +161,7 @@ mod service_item_model {
video_start_time: f32, video_start_time: f32,
video_end_time: f32, video_end_time: f32,
) { ) {
let service_item = ServiceItem { let service_item = ServiceItm {
name, name,
ty, ty,
text, text,
@ -180,7 +180,7 @@ mod service_item_model {
self.as_mut().add_service_item(&service_item); 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; let index = self.as_ref().service_items().len() as i32;
println!("{:?}", service_item); println!("{:?}", service_item);
let service_item = service_item.clone(); let service_item = service_item.clone();
@ -209,7 +209,7 @@ mod service_item_model {
video_start_time: f32, video_start_time: f32,
video_end_time: f32, video_end_time: f32,
) { ) {
let service_item = ServiceItem { let service_item = ServiceItm {
name, name,
ty, ty,
text, text,
@ -228,7 +228,7 @@ mod service_item_model {
self.as_mut().insert_service_item(&service_item, index); 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(); let service_item = service_item.clone();
unsafe { unsafe {
self.as_mut() self.as_mut()
@ -366,32 +366,32 @@ mod service_item_model {
#[cxx_qt::inherit] #[cxx_qt::inherit]
extern "C++" { extern "C++" {
unsafe fn begin_insert_rows( unsafe fn begin_insert_rows(
self: Pin<&mut qobject::ServiceItemModel>, self: Pin<&mut qobject::ServiceItemMod>,
parent: &QModelIndex, parent: &QModelIndex,
first: i32, first: i32,
last: 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( unsafe fn begin_remove_rows(
self: Pin<&mut qobject::ServiceItemModel>, self: Pin<&mut qobject::ServiceItemMod>,
parent: &QModelIndex, parent: &QModelIndex,
first: i32, first: i32,
last: 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 begin_reset_model(self: Pin<&mut qobject::ServiceItemMod>);
unsafe fn end_reset_model(self: Pin<&mut qobject::ServiceItemModel>); unsafe fn end_reset_model(self: Pin<&mut qobject::ServiceItemMod>);
} }
#[cxx_qt::inherit] #[cxx_qt::inherit]
unsafe extern "C++" { unsafe extern "C++" {
#[cxx_name = "canFetchMore"] #[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( fn index(
self: &qobject::ServiceItemModel, self: &qobject::ServiceItemMod,
row: i32, row: i32,
column: i32, column: i32,
parent: &QModelIndex, parent: &QModelIndex,
@ -399,7 +399,7 @@ mod service_item_model {
} }
// QAbstractListModel implementation // QAbstractListModel implementation
impl qobject::ServiceItemModel { impl qobject::ServiceItemMod {
#[qinvokable(cxx_override)] #[qinvokable(cxx_override)]
fn data(&self, index: &QModelIndex, role: i32) -> QVariant { fn data(&self, index: &QModelIndex, role: i32) -> QVariant {
if let Some(service_item) = self.service_items().get(index.row() as usize) { if let Some(service_item) = self.service_items().get(index.row() as usize) {