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() } }