attempt at fixing bug with slides not activating with service item
This commit is contained in:
parent
4685c9eb70
commit
c6700907b1
5 changed files with 55 additions and 14 deletions
|
@ -174,7 +174,7 @@ Controls.Page {
|
||||||
console.log("change-service-item: " + index);
|
console.log("change-service-item: " + index);
|
||||||
const item = ServiceItemC.getRust(index, ServiceItemModel);
|
const item = ServiceItemC.getRust(index, ServiceItemModel);
|
||||||
currentServiceItem = index;
|
currentServiceItem = index;
|
||||||
const slideId = SlideModel.findSlideIdFromServItm(index);
|
const slideId = SlideMod.getSlideFromService(index);
|
||||||
currentSlide = slideId;
|
currentSlide = slideId;
|
||||||
const slide = SlideModel.getItemRust(slideId, SlideMod);
|
const slide = SlideModel.getItemRust(slideId, SlideMod);
|
||||||
console.log("index grabbed: " + index);
|
console.log("index grabbed: " + index);
|
||||||
|
@ -187,7 +187,7 @@ Controls.Page {
|
||||||
|
|
||||||
ServiceItemModel.activate(index);
|
ServiceItemModel.activate(index);
|
||||||
console.log("%%%%%%%%%");
|
console.log("%%%%%%%%%");
|
||||||
console.log(slide);
|
console.log(slideId);
|
||||||
/* SlideObject.changeSlide(slide, slideId); */
|
/* SlideObject.changeSlide(slide, slideId); */
|
||||||
slideHelper.chngSlide(slide, slideId, SlideObject);
|
slideHelper.chngSlide(slide, slideId, SlideObject);
|
||||||
console.log("%%%%%%%%%");
|
console.log("%%%%%%%%%");
|
||||||
|
|
|
@ -341,6 +341,15 @@ FocusScope {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Connections { */
|
||||||
|
/* target: ServiceItemModel */
|
||||||
|
/* function onActivateChanged(index) { */
|
||||||
|
/* console.log("$$$$$$$$$$$$$$$$$$$$"); */
|
||||||
|
/* const slide = SlideModel.getSlideFromService(index); */
|
||||||
|
/* SlideMod.activate(slide); */
|
||||||
|
/* } */
|
||||||
|
/* } */
|
||||||
|
|
||||||
Timer {
|
Timer {
|
||||||
interval: 500
|
interval: 500
|
||||||
running: false
|
running: false
|
||||||
|
|
|
@ -11,6 +11,7 @@ Item {
|
||||||
implicitHeight: Kirigami.Units.gridUnit * 6.5
|
implicitHeight: Kirigami.Units.gridUnit * 6.5
|
||||||
implicitWidth: Kirigami.Units.gridUnit * 9
|
implicitWidth: Kirigami.Units.gridUnit * 9
|
||||||
property bool showVidBG
|
property bool showVidBG
|
||||||
|
/* property var previewSlidesList: parent */
|
||||||
/* Component.onCompleted: { */
|
/* Component.onCompleted: { */
|
||||||
/* if (model.videoBackground != "") */
|
/* if (model.videoBackground != "") */
|
||||||
/* SlideModel.thumbnailVideoRust(model.videoBackground, model.serviceItemId, index, SlideMod); */
|
/* SlideModel.thumbnailVideoRust(model.videoBackground, model.serviceItemId, index, SlideMod); */
|
||||||
|
@ -89,6 +90,8 @@ Item {
|
||||||
target: SlideMod
|
target: SlideMod
|
||||||
function onActiveChanged() {
|
function onActiveChanged() {
|
||||||
if (active) {
|
if (active) {
|
||||||
|
console.log("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");
|
||||||
|
console.log(index);
|
||||||
previewSlidesList.currentIndex = index;
|
previewSlidesList.currentIndex = index;
|
||||||
previewSlidesList.positionViewAtIndex(index, ListView.Center);
|
previewSlidesList.positionViewAtIndex(index, ListView.Center);
|
||||||
}
|
}
|
||||||
|
|
|
@ -120,7 +120,9 @@ mod service_item_model {
|
||||||
bottom_right: &'a QModelIndex,
|
bottom_right: &'a QModelIndex,
|
||||||
roles: &'a QVector_i32,
|
roles: &'a QVector_i32,
|
||||||
},
|
},
|
||||||
ActiveChanged,
|
ActiveChanged {
|
||||||
|
index: &'a i32,
|
||||||
|
},
|
||||||
SelectedChanged,
|
SelectedChanged,
|
||||||
ItemInserted {
|
ItemInserted {
|
||||||
index: &'a i32,
|
index: &'a i32,
|
||||||
|
@ -630,7 +632,7 @@ mod service_item_model {
|
||||||
);
|
);
|
||||||
// We use this signal generated by our signals enum to tell QML that
|
// We use this signal generated by our signals enum to tell QML that
|
||||||
// the active service_item has changed which is used to reposition views.
|
// the active service_item has changed which is used to reposition views.
|
||||||
self.as_mut().emit_active_changed();
|
self.as_mut().emit_active_changed(&index);
|
||||||
true
|
true
|
||||||
} else {
|
} else {
|
||||||
false
|
false
|
||||||
|
@ -676,7 +678,7 @@ mod service_item_model {
|
||||||
);
|
);
|
||||||
// We use this signal generated by our signals enum to tell QML that
|
// We use this signal generated by our signals enum to tell QML that
|
||||||
// the active service_item has changed which is used to reposition views.
|
// the active service_item has changed which is used to reposition views.
|
||||||
self.as_mut().emit_active_changed();
|
// self.as_mut().emit_active_changed(index);
|
||||||
true
|
true
|
||||||
} else {
|
} else {
|
||||||
false
|
false
|
||||||
|
|
|
@ -864,6 +864,28 @@ mod slide_model {
|
||||||
qvariantmap
|
qvariantmap
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[qinvokable]
|
||||||
|
pub fn get_slide_from_service(
|
||||||
|
self: Pin<&mut Self>,
|
||||||
|
index: i32,
|
||||||
|
) -> i32 {
|
||||||
|
let slides = self.slides().clone();
|
||||||
|
let slides_iter = slides.iter();
|
||||||
|
debug!(
|
||||||
|
service_item = index,
|
||||||
|
"Getting slide from this item"
|
||||||
|
);
|
||||||
|
let mut id = 0;
|
||||||
|
for (i, slide) in slides_iter
|
||||||
|
.filter(|slide| slide.service_item_id == index)
|
||||||
|
.enumerate()
|
||||||
|
{
|
||||||
|
id = i as i32;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
id
|
||||||
|
}
|
||||||
|
|
||||||
#[qinvokable]
|
#[qinvokable]
|
||||||
pub fn activate(
|
pub fn activate(
|
||||||
mut self: Pin<&mut Self>,
|
mut self: Pin<&mut Self>,
|
||||||
|
@ -883,16 +905,21 @@ mod slide_model {
|
||||||
if let Some(slide) =
|
if let Some(slide) =
|
||||||
self.as_mut().slides_mut().get_mut(index as usize)
|
self.as_mut().slides_mut().get_mut(index as usize)
|
||||||
{
|
{
|
||||||
println!("slide is activating {:?}", index);
|
debug!(
|
||||||
println!("slide-title: {:?}", slide.service_item_id);
|
slide = index,
|
||||||
println!(
|
service_item = slide.service_item_id,
|
||||||
"slide-image-background: {:?}",
|
"This slide is activating"
|
||||||
slide.image_background
|
|
||||||
);
|
|
||||||
println!(
|
|
||||||
"slide-video-background: {:?}",
|
|
||||||
slide.video_background
|
|
||||||
);
|
);
|
||||||
|
// println!("slide is activating {:?}", index);
|
||||||
|
// println!("slide-title: {:?}", slide.service_item_id);
|
||||||
|
// println!(
|
||||||
|
// "slide-image-background: {:?}",
|
||||||
|
// slide.image_background
|
||||||
|
// );
|
||||||
|
// println!(
|
||||||
|
// "slide-video-background: {:?}",
|
||||||
|
// slide.video_background
|
||||||
|
// );
|
||||||
slide.active = true;
|
slide.active = true;
|
||||||
self.as_mut().emit_data_changed(
|
self.as_mut().emit_data_changed(
|
||||||
tl,
|
tl,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue