ProxyAI/src/main/java/ee/carlrobert/codegpt/action/AskAction.java
2023-03-23 22:38:03 +00:00

37 lines
1.3 KiB
Java

package ee.carlrobert.codegpt.action;
import com.intellij.icons.AllIcons;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import ee.carlrobert.codegpt.conversations.ConversationsState;
import ee.carlrobert.codegpt.toolwindow.chat.ChatContentManagerService;
import ee.carlrobert.codegpt.toolwindow.chat.ChatToolWindowTabPanel;
import org.jetbrains.annotations.NotNull;
public class AskAction extends AnAction {
public AskAction() {
super("Ask ChatGPT", "Ask ChatGPT description", AllIcons.Actions.Find);
}
@Override
public void update(@NotNull AnActionEvent event) {
event.getPresentation().setEnabled(event.getProject() != null);
}
@Override
public void actionPerformed(@NotNull AnActionEvent event) {
var project = event.getProject();
if (project != null) {
var contentManagerService = project.getService(ChatContentManagerService.class);
contentManagerService.displayChatTab(project);
contentManagerService.tryFindChatTabbedPane(project)
.ifPresent(tabbedPane -> {
ConversationsState.getInstance().setCurrentConversation(null);
var panel = new ChatToolWindowTabPanel(project);
panel.displayLandingView();
tabbedPane.addNewTab(panel);
});
}
}
}