mirror of
https://github.com/carlrobertoh/ProxyAI.git
synced 2026-05-20 01:02:02 +00:00
37 lines
1.3 KiB
Java
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);
|
|
});
|
|
}
|
|
}
|
|
}
|