slidingView: Don't notify page updates emmediately
This allows to add new pages after clearing without triggering an empty state in between. This also fixes opening a new image leaving the fullscreen mode. Fixes #286
This commit is contained in:
parent
f0c374afdc
commit
476abf1612
2 changed files with 58 additions and 10 deletions
|
|
@ -293,14 +293,14 @@ impl LpImageView {
|
|||
}
|
||||
|
||||
fn load_files(&self, files: Vec<gio::File>) {
|
||||
let sliding_view = self.sliding_view();
|
||||
let sliding_view = self.sliding_view().editor();
|
||||
|
||||
if let Some(first) = files.first().cloned() {
|
||||
let model = LpFileModel::from_files(files);
|
||||
self.set_model(model);
|
||||
let page = self.new_image_page(&first);
|
||||
|
||||
sliding_view.clear();
|
||||
sliding_view.clear_lazy();
|
||||
sliding_view.append(&page);
|
||||
self.update_sliding_view(&first);
|
||||
} else {
|
||||
|
|
@ -421,7 +421,7 @@ impl LpImageView {
|
|||
"Updating sliding_view neighbors for current path {}",
|
||||
current_file.uri()
|
||||
);
|
||||
let sliding_view = self.sliding_view();
|
||||
let sliding_view = self.sliding_view().editor();
|
||||
|
||||
self.imp().preserve_content.set(false);
|
||||
|
||||
|
|
@ -431,7 +431,7 @@ impl LpImageView {
|
|||
// remove old pages
|
||||
for (uri, page) in &existing {
|
||||
if !target.contains_key(uri) {
|
||||
sliding_view.remove(page);
|
||||
sliding_view.remove_lazy(page);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue