diff --git a/.github/workflows/flatpak.yml b/.github/workflows/flatpak.yml index 7565121..c31c495 100644 --- a/.github/workflows/flatpak.yml +++ b/.github/workflows/flatpak.yml @@ -1,6 +1,5 @@ on: push: - branches: [ main ] tags: [ v*.*.* ] pull_request: workflow_dispatch: diff --git a/data/com.ranfdev.DistroShelf.metainfo.xml.in b/data/com.ranfdev.DistroShelf.metainfo.xml.in index 44db1c5..b208436 100644 --- a/data/com.ranfdev.DistroShelf.metainfo.xml.in +++ b/data/com.ranfdev.DistroShelf.metainfo.xml.in @@ -71,6 +71,15 @@ + + +
    +
  • Wait for export commands to finish before reloading app list
  • +
  • Close selected task when closing the entire task dialog
  • +
  • Remove main view of container actions after container is deleted
  • +
+
+
    diff --git a/meson.build b/meson.build index a27ccc2..c400550 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('distroshelf', 'rust', - version: '1.0.2', + version: '1.0.3', meson_version: '>= 1.0.0', default_options: [ 'warning_level=2', 'werror=false', ], ) diff --git a/src/config.rs b/src/config.rs index dea87d1..b356187 100644 --- a/src/config.rs +++ b/src/config.rs @@ -1,4 +1,4 @@ -pub static VERSION: &str = "1.0.2"; +pub static VERSION: &str = "1.0.3"; pub static GETTEXT_PACKAGE: &str = "distroshelf"; pub static LOCALEDIR: &str = "/app/share/locale"; pub static PKGDATADIR: &str = "/app/share/distroshelf"; diff --git a/src/container.rs b/src/container.rs index ab78ec3..412f3e5 100644 --- a/src/container.rs +++ b/src/container.rs @@ -167,9 +167,9 @@ impl Container { .distrobox() .export_app(&this.name(), &desktop_file_path) .await?; + this.apps().reload(); Ok(()) }); - self.apps().reload(); } pub fn unexport(&self, desktop_file_path: &str) { let this = self.clone(); @@ -180,9 +180,9 @@ impl Container { .distrobox() .unexport_app(&this.name(), &desktop_file_path) .await?; + this.apps().reload(); Ok(()) }); - self.apps().reload(); } pub fn clone_to(&self, target_name: &str) { let this = self.clone(); diff --git a/src/task_manager_dialog.rs b/src/task_manager_dialog.rs index ee78559..e24df80 100644 --- a/src/task_manager_dialog.rs +++ b/src/task_manager_dialog.rs @@ -135,6 +135,11 @@ mod imp { this.root_store().set_selected_task(None::<&DistroboxTask>); }); + let this = self.obj().clone(); + self.obj().connect_closed(move |_| { + this.root_store().set_selected_task(None::<&DistroboxTask>); + }); + self.scrolled_window.set_child(Some(&self.stack)); self.content.append(&self.scrolled_window); diff --git a/src/window.rs b/src/window.rs index aadd0d3..6b1c115 100644 --- a/src/window.rs +++ b/src/window.rs @@ -143,6 +143,8 @@ impl DistroShelfWindow { if let Some(container) = root_store.selected_container() { this_clone.build_main_content(&container); this_clone.imp().split_view.set_show_content(true); + } else { + this_clone.imp().main_slot.set_child(None::<>k::Widget>); } }); let this_clone = this.clone(); @@ -533,6 +535,7 @@ impl DistroShelfWindow { this, move |dialog, _| { this.root_store().selected_container().unwrap().delete(); + this.root_store().set_selected_container(None::); dialog.close(); } ),