mirror of
https://github.com/carlrobertoh/ProxyAI.git
synced 2026-05-12 14:10:29 +00:00
feat: show models submenu on hover (#681)
This commit is contained in:
parent
a360cb76c6
commit
35e7ca8f20
1 changed files with 13 additions and 0 deletions
|
|
@ -13,12 +13,15 @@ import static java.lang.String.format;
|
|||
import com.intellij.openapi.actionSystem.ActionUpdateThread;
|
||||
import com.intellij.openapi.actionSystem.AnAction;
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
import com.intellij.openapi.actionSystem.DataContext;
|
||||
import com.intellij.openapi.actionSystem.DefaultActionGroup;
|
||||
import com.intellij.openapi.actionSystem.Presentation;
|
||||
import com.intellij.openapi.actionSystem.ex.ComboBoxAction;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.project.DumbAwareAction;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.popup.JBPopup;
|
||||
import com.intellij.openapi.ui.popup.ListPopup;
|
||||
import ee.carlrobert.codegpt.CodeGPTKeys;
|
||||
import ee.carlrobert.codegpt.Icons;
|
||||
import ee.carlrobert.codegpt.completions.llama.LlamaModel;
|
||||
|
|
@ -41,6 +44,7 @@ import java.util.function.Consumer;
|
|||
import javax.swing.Icon;
|
||||
import javax.swing.JComponent;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class ModelComboBoxAction extends ComboBoxAction {
|
||||
|
||||
|
|
@ -63,6 +67,7 @@ public class ModelComboBoxAction extends ComboBoxAction {
|
|||
this.project = project;
|
||||
this.onModelChange = onModelChange;
|
||||
this.availableProviders = availableProviders;
|
||||
setSmallVariant(true);
|
||||
updateTemplatePresentation(selectedProvider);
|
||||
ApplicationManager.getApplication().getMessageBus()
|
||||
.connect()
|
||||
|
|
@ -85,6 +90,14 @@ public class ModelComboBoxAction extends ComboBoxAction {
|
|||
return button;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected JBPopup createActionPopup(DefaultActionGroup group, @NotNull DataContext context,
|
||||
@Nullable Runnable disposeCallback) {
|
||||
ListPopup popup = (ListPopup) super.createActionPopup(group, context, disposeCallback);
|
||||
popup.setShowSubmenuOnHover(true);
|
||||
return popup;
|
||||
}
|
||||
|
||||
private AnAction[] getCodeGPTModelActions(Project project, Presentation presentation) {
|
||||
var userDetails = CodeGPTKeys.CODEGPT_USER_DETAILS.get(project);
|
||||
return CodeGPTAvailableModels.getToolWindowModels(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue