removing slides properly
By reversing order I'm removing the slides correctly now.
This commit is contained in:
parent
28d6564648
commit
5470a5c0a7
1 changed files with 18 additions and 5 deletions
|
@ -171,12 +171,23 @@ mod slide_model {
|
||||||
index: i32,
|
index: i32,
|
||||||
service_item: &QMap_QString_QVariant,
|
service_item: &QMap_QString_QVariant,
|
||||||
) {
|
) {
|
||||||
let slides = self.rust().slides.clone();
|
println!("Rusty-Removal-Time: {:?}", index);
|
||||||
|
let slides = self.slides().clone();
|
||||||
let slides_iter = slides.iter();
|
let slides_iter = slides.iter();
|
||||||
for slide in slides_iter {
|
for (i, slide) in slides_iter.enumerate().rev() {
|
||||||
if slide.service_item_id == index {
|
if slide.service_item_id == index {
|
||||||
self.as_mut().remove_item(slide.slide_index);
|
self.as_mut().remove_item(i as i32);
|
||||||
println!("Removing: {:?}", slide.slide_index);
|
println!("Removing-slide: {:?}", i);
|
||||||
|
} else if slide.service_item_id > index {
|
||||||
|
if let Some(slide) = self.as_mut().slides_mut().get_mut(i) {
|
||||||
|
println!("changing-serviceid-of: {:?}", i);
|
||||||
|
println!(
|
||||||
|
"changing-serviceid-fromandto: {:?}-{:?}",
|
||||||
|
slide.service_item_id,
|
||||||
|
slide.service_item_id - 1
|
||||||
|
);
|
||||||
|
slide.service_item_id -= 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -193,6 +204,7 @@ mod slide_model {
|
||||||
self.as_mut().slides_mut().remove(index as usize);
|
self.as_mut().slides_mut().remove(index as usize);
|
||||||
self.as_mut().end_remove_rows();
|
self.as_mut().end_remove_rows();
|
||||||
}
|
}
|
||||||
|
println!("removed-row: {:?}", index);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[qinvokable]
|
#[qinvokable]
|
||||||
|
@ -287,7 +299,8 @@ mod slide_model {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn insert_slide(mut self: Pin<&mut Self>, slide: &Slidey, id: i32) {
|
fn insert_slide(mut self: Pin<&mut Self>, slide: &Slidey, id: i32) {
|
||||||
let slide = slide.clone();
|
let mut slide = slide.clone();
|
||||||
|
slide.slide_index = id;
|
||||||
unsafe {
|
unsafe {
|
||||||
self.as_mut()
|
self.as_mut()
|
||||||
.begin_insert_rows(&QModelIndex::default(), id, id);
|
.begin_insert_rows(&QModelIndex::default(), id, id);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue