some initial setup to get the service_item_model.rs working
This commit is contained in:
parent
2df4c646a7
commit
d61da6f09f
3 changed files with 35 additions and 13 deletions
14
src/main.cpp
14
src/main.cpp
|
@ -148,7 +148,7 @@ int main(int argc, char *argv[])
|
||||||
QScopedPointer<SlideyMod> slideMod(new SlideyMod);
|
QScopedPointer<SlideyMod> slideMod(new SlideyMod);
|
||||||
QScopedPointer<File> filemanager(new File);
|
QScopedPointer<File> filemanager(new File);
|
||||||
// QScopedPointer<QQuickView> preswin(new QQuickView);
|
// QScopedPointer<QQuickView> preswin(new QQuickView);
|
||||||
QScopedPointer<ServiceItemModel> serviceItemModel(new ServiceItemModel);
|
QScopedPointer<ServiceItemMod> serviceItemModel(new ServiceItemMod);
|
||||||
QScopedPointer<SlideObj> slideobject(new SlideObj);
|
QScopedPointer<SlideObj> slideobject(new SlideObj);
|
||||||
|
|
||||||
Settings *settings = new Settings;
|
Settings *settings = new Settings;
|
||||||
|
@ -169,19 +169,19 @@ int main(int argc, char *argv[])
|
||||||
slideModel.get(),
|
slideModel.get(),
|
||||||
SLOT(addItemFromService(const int&, const ServiceItem&)));
|
SLOT(addItemFromService(const int&, const ServiceItem&)));
|
||||||
QObject::connect(serviceItemModel.get(),
|
QObject::connect(serviceItemModel.get(),
|
||||||
&ServiceItemModel::itemAddedRust,
|
&ServiceItemMod::itemAdded,
|
||||||
slideMod.get(),
|
slideMod.get(),
|
||||||
&SlideyMod::addItemFromService);
|
&SlideyMod::addItemFromService);
|
||||||
QObject::connect(serviceItemModel.get(),
|
QObject::connect(serviceItemModel.get(),
|
||||||
&ServiceItemModel::itemInsertedRust,
|
&ServiceItemMod::itemInserted,
|
||||||
slideMod.get(),
|
slideMod.get(),
|
||||||
&SlideyMod::insertItemFromService);
|
&SlideyMod::insertItemFromService);
|
||||||
QObject::connect(serviceItemModel.get(),
|
QObject::connect(serviceItemModel.get(),
|
||||||
&ServiceItemModel::rowMovedRust,
|
&ServiceItemMod::itemMoved,
|
||||||
slideMod.get(),
|
slideMod.get(),
|
||||||
&SlideyMod::moveItemFromService);
|
&SlideyMod::moveItemFromService);
|
||||||
QObject::connect(serviceItemModel.get(),
|
QObject::connect(serviceItemModel.get(),
|
||||||
&ServiceItemModel::rowRemovedRust,
|
&ServiceItemMod::itemRemoved,
|
||||||
slideMod.get(),
|
slideMod.get(),
|
||||||
&SlideyMod::removeItemFromService);
|
&SlideyMod::removeItemFromService);
|
||||||
// QObject::connect(serviceItemModel.get(),
|
// QObject::connect(serviceItemModel.get(),
|
||||||
|
@ -193,12 +193,12 @@ int main(int argc, char *argv[])
|
||||||
slideMod.get(),
|
slideMod.get(),
|
||||||
SLOT(activate(int)));
|
SLOT(activate(int)));
|
||||||
|
|
||||||
if (!serviceItemModel.get()->loadLastSaved()) {
|
if (!serviceItemModel.get()->load(settings->getLastSaveFile())) {
|
||||||
qDebug() << "Last saved file is missing or there isn't a last saved file.";
|
qDebug() << "Last saved file is missing or there isn't a last saved file.";
|
||||||
serviceItemModel.get()->addItem("Black", "image",
|
serviceItemModel.get()->addItem("Black", "image",
|
||||||
"qrc:/assets/black.jpg",
|
"qrc:/assets/black.jpg",
|
||||||
"image", QStringList(""),
|
"image", QStringList(""),
|
||||||
"", "", 0, 1, false);
|
"", "", 0, 1, false, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// apparently mpv needs this class set
|
// apparently mpv needs this class set
|
||||||
|
|
|
@ -95,9 +95,21 @@ mod service_item_model {
|
||||||
SelectedChanged,
|
SelectedChanged,
|
||||||
ItemInserted {
|
ItemInserted {
|
||||||
index: &'a i32,
|
index: &'a i32,
|
||||||
|
item: &'a QMap_QString_QVariant,
|
||||||
},
|
},
|
||||||
ItemAdded {
|
ItemAdded {
|
||||||
index: &'a i32,
|
index: &'a i32,
|
||||||
|
item: &'a QMap_QString_QVariant,
|
||||||
|
},
|
||||||
|
ItemRemoved {
|
||||||
|
index: &'a i32,
|
||||||
|
item: &'a QMap_QString_QVariant,
|
||||||
|
},
|
||||||
|
ItemMoved {
|
||||||
|
source_index: &'a i32,
|
||||||
|
dest_index: &'a i32,
|
||||||
|
// index: &'a i32,
|
||||||
|
item: &'a QMap_QString_QVariant,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -120,7 +132,11 @@ 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 dirs;
|
||||||
|
use std::fs;
|
||||||
|
use std::io::{self, Write};
|
||||||
|
use std::path::{Path, PathBuf};
|
||||||
|
use std::str;
|
||||||
impl qobject::ServiceItemMod {
|
impl qobject::ServiceItemMod {
|
||||||
#[qinvokable]
|
#[qinvokable]
|
||||||
pub fn clear(mut self: Pin<&mut Self>) {
|
pub fn clear(mut self: Pin<&mut Self>) {
|
||||||
|
@ -150,9 +166,9 @@ mod service_item_model {
|
||||||
mut self: Pin<&mut Self>,
|
mut self: Pin<&mut Self>,
|
||||||
name: QString,
|
name: QString,
|
||||||
ty: QString,
|
ty: QString,
|
||||||
text: QStringList,
|
|
||||||
background: QString,
|
background: QString,
|
||||||
background_type: QString,
|
background_type: QString,
|
||||||
|
text: QStringList,
|
||||||
audio: QString,
|
audio: QString,
|
||||||
font: QString,
|
font: QString,
|
||||||
font_size: i32,
|
font_size: i32,
|
||||||
|
@ -333,7 +349,11 @@ mod service_item_model {
|
||||||
|
|
||||||
#[qinvokable]
|
#[qinvokable]
|
||||||
pub fn load(mut self: Pin<&mut Self>, file: QUrl) -> bool {
|
pub fn load(mut self: Pin<&mut Self>, file: QUrl) -> bool {
|
||||||
todo!();
|
// todo!();
|
||||||
|
println!("THE LAST SAVE FILE ISSSSS: {file}");
|
||||||
|
let lf = PathBuf::from(file.to_local_file().unwrap_or_default().to_string());
|
||||||
|
println!("{:?}", lf);
|
||||||
|
false
|
||||||
}
|
}
|
||||||
|
|
||||||
#[qinvokable]
|
#[qinvokable]
|
||||||
|
|
|
@ -7,6 +7,8 @@ mod settings {
|
||||||
unsafe extern "C++" {
|
unsafe extern "C++" {
|
||||||
include!("cxx-qt-lib/qstring.h");
|
include!("cxx-qt-lib/qstring.h");
|
||||||
type QString = cxx_qt_lib::QString;
|
type QString = cxx_qt_lib::QString;
|
||||||
|
include!("cxx-qt-lib/qurl.h");
|
||||||
|
type QUrl = cxx_qt_lib::QUrl;
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
|
@ -17,7 +19,7 @@ mod settings {
|
||||||
#[qproperty]
|
#[qproperty]
|
||||||
sound_effect: QString,
|
sound_effect: QString,
|
||||||
#[qproperty]
|
#[qproperty]
|
||||||
last_save_file: QString,
|
last_save_file: QUrl,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for Settings {
|
impl Default for Settings {
|
||||||
|
@ -25,7 +27,7 @@ mod settings {
|
||||||
Self {
|
Self {
|
||||||
screen: QString::from(""),
|
screen: QString::from(""),
|
||||||
sound_effect: QString::from(""),
|
sound_effect: QString::from(""),
|
||||||
last_save_file: QString::from(""),
|
last_save_file: QUrl::from(""),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -54,7 +56,7 @@ mod settings {
|
||||||
let sf = config.get("General", "lastSaveFile");
|
let sf = config.get("General", "lastSaveFile");
|
||||||
println!("{:?}", sf);
|
println!("{:?}", sf);
|
||||||
if let Some(s) = sf {
|
if let Some(s) = sf {
|
||||||
self.set_last_save_file(QString::from(&s));
|
self.set_last_save_file(QUrl::from(&s));
|
||||||
println!("{s}");
|
println!("{s}");
|
||||||
} else {
|
} else {
|
||||||
println!("error loading last save file");
|
println!("error loading last save file");
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue