From e4cc55c80afc1e5df455bdf7042fbdb8404adf2f Mon Sep 17 00:00:00 2001 From: death-claw <53543762+death-claw@users.noreply.github.com> Date: Sat, 21 Dec 2024 17:43:02 +0100 Subject: [PATCH] fixes #204 --- .../me/vripper/gui/components/views/ImagesTableView.kt | 4 +++- .../me/vripper/gui/components/views/PostsTableView.kt | 8 ++++---- .../me/vripper/gui/components/views/ThreadTableView.kt | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/vripper-gui/src/main/kotlin/me/vripper/gui/components/views/ImagesTableView.kt b/vripper-gui/src/main/kotlin/me/vripper/gui/components/views/ImagesTableView.kt index aec9ff8..b1d6d5c 100644 --- a/vripper-gui/src/main/kotlin/me/vripper/gui/components/views/ImagesTableView.kt +++ b/vripper-gui/src/main/kotlin/me/vripper/gui/components/views/ImagesTableView.kt @@ -273,7 +273,9 @@ class ImagesTableView : View("Photos") { fun setPostId(postId: Long?) { ActiveUICoroutines.images.forEach { it.cancel() } ActiveUICoroutines.images.clear() - items.clear() + runLater { + items.clear() + } if (postId == null) { return } diff --git a/vripper-gui/src/main/kotlin/me/vripper/gui/components/views/PostsTableView.kt b/vripper-gui/src/main/kotlin/me/vripper/gui/components/views/PostsTableView.kt index ca32c96..ed305ae 100644 --- a/vripper-gui/src/main/kotlin/me/vripper/gui/components/views/PostsTableView.kt +++ b/vripper-gui/src/main/kotlin/me/vripper/gui/components/views/PostsTableView.kt @@ -97,7 +97,7 @@ class PostsTableView : View() { isTableMenuButtonVisible = true primaryStage.addEventFilter(KeyEvent.KEY_PRESSED) { event -> if (event.code == KeyCode.DELETE) { - if (isCurrentTab() && selectionModel.selectedItems.isNotEmpty()) { + if (isCurrentTab() && selectionModel.selectedItems.isNotEmpty() && this.isFocused) { deleteSelected() } } @@ -414,7 +414,7 @@ class PostsTableView : View() { coroutineScope.launch { postController.onNewPosts().collect { runLater { - tableView.items.addAll(it) + items.addAll(it) tableView.sort() } } @@ -443,7 +443,7 @@ class PostsTableView : View() { coroutineScope.launch { postController.onDeletePosts().collect { runLater { - items.removeIf { p -> p.postId == it } + items.items.removeIf { p -> p.postId == it } tableView.sort() } } @@ -500,7 +500,7 @@ class PostsTableView : View() { coroutineScope.launch { postController.delete(postIdList) runLater { - tableView.items.removeIf { postIdList.contains(it.postId) } + items.items.removeIf { postIdList.contains(it.postId) } } } } diff --git a/vripper-gui/src/main/kotlin/me/vripper/gui/components/views/ThreadTableView.kt b/vripper-gui/src/main/kotlin/me/vripper/gui/components/views/ThreadTableView.kt index 321a310..7a42fef 100644 --- a/vripper-gui/src/main/kotlin/me/vripper/gui/components/views/ThreadTableView.kt +++ b/vripper-gui/src/main/kotlin/me/vripper/gui/components/views/ThreadTableView.kt @@ -65,7 +65,7 @@ class ThreadTableView : View() { isTableMenuButtonVisible = true primaryStage.addEventFilter(KeyEvent.KEY_PRESSED) { event -> if (event.code == KeyCode.DELETE) { - if (isCurrentTab() && selectionModel.selectedItems.isNotEmpty()) { + if (isCurrentTab() && selectionModel.selectedItems.isNotEmpty() && this.isFocused) { deleteSelected() } }