From e1b90fdc2bf17ed1e52ebcce604280ae9149aad3 Mon Sep 17 00:00:00 2001 From: Alex Minakov Date: Thu, 23 Mar 2023 13:32:19 +0300 Subject: [PATCH] Confirmation dialogs for deleting conversations (#59) * Show a confirmation dialog when clearing the history or removing a single conversation * Add custom icon * Fix typos in confirmation messages * Fix formatting --- .../actions/ClearAllConversationsAction.java | 9 +++++++-- .../conversations/actions/DeleteConversationAction.java | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/main/java/ee/carlrobert/codegpt/toolwindow/conversations/actions/ClearAllConversationsAction.java b/src/main/java/ee/carlrobert/codegpt/toolwindow/conversations/actions/ClearAllConversationsAction.java index fb75e40f..994ce4f3 100644 --- a/src/main/java/ee/carlrobert/codegpt/toolwindow/conversations/actions/ClearAllConversationsAction.java +++ b/src/main/java/ee/carlrobert/codegpt/toolwindow/conversations/actions/ClearAllConversationsAction.java @@ -3,8 +3,10 @@ package ee.carlrobert.codegpt.toolwindow.conversations.actions; import com.intellij.icons.AllIcons; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.ui.Messages; import ee.carlrobert.codegpt.conversations.ConversationsState; import org.jetbrains.annotations.NotNull; +import static icons.Icons.DefaultImageIcon; public class ClearAllConversationsAction extends AnAction { @@ -17,7 +19,10 @@ public class ClearAllConversationsAction extends AnAction { @Override public void actionPerformed(@NotNull AnActionEvent event) { - ConversationsState.getInstance().clearAll(); - this.onRefresh.run(); + int answer = Messages.showYesNoDialog("Are you sure you want to delete all conversations?", "Clear History", DefaultImageIcon); + if (answer == Messages.YES) { + ConversationsState.getInstance().clearAll(); + this.onRefresh.run(); + } } } diff --git a/src/main/java/ee/carlrobert/codegpt/toolwindow/conversations/actions/DeleteConversationAction.java b/src/main/java/ee/carlrobert/codegpt/toolwindow/conversations/actions/DeleteConversationAction.java index 0b6d05a1..551b4153 100644 --- a/src/main/java/ee/carlrobert/codegpt/toolwindow/conversations/actions/DeleteConversationAction.java +++ b/src/main/java/ee/carlrobert/codegpt/toolwindow/conversations/actions/DeleteConversationAction.java @@ -3,8 +3,10 @@ package ee.carlrobert.codegpt.toolwindow.conversations.actions; import com.intellij.icons.AllIcons; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.ui.Messages; import ee.carlrobert.codegpt.conversations.ConversationsState; import org.jetbrains.annotations.NotNull; +import static icons.Icons.DefaultImageIcon; public class DeleteConversationAction extends AnAction { @@ -17,7 +19,10 @@ public class DeleteConversationAction extends AnAction { @Override public void actionPerformed(@NotNull AnActionEvent e) { - ConversationsState.getInstance().deleteSelectedConversation(); - onRefresh.run(); + int answer = Messages.showYesNoDialog("Are you sure you want to delete this conversation?", "Delete Converation", DefaultImageIcon); + if (answer == Messages.YES) { + ConversationsState.getInstance().deleteSelectedConversation(); + onRefresh.run(); + } } }