mirror of
https://github.com/carlrobertoh/ProxyAI.git
synced 2026-05-11 13:10:50 +00:00
Disable tool window chat editor when initially displayed
This commit is contained in:
parent
53bdbcd4f5
commit
ecf6ac02ed
3 changed files with 30 additions and 24 deletions
|
|
@ -25,7 +25,7 @@ import ee.carlrobert.codegpt.telemetry.TelemetryAction;
|
|||
import ee.carlrobert.codegpt.toolwindow.chat.ResponseNodeRenderer;
|
||||
import ee.carlrobert.codegpt.toolwindow.chat.StreamParser;
|
||||
import ee.carlrobert.codegpt.toolwindow.chat.StreamResponseType;
|
||||
import ee.carlrobert.codegpt.toolwindow.chat.editor.ResponseEditor;
|
||||
import ee.carlrobert.codegpt.toolwindow.chat.editor.ResponseEditorPanel;
|
||||
import ee.carlrobert.codegpt.util.MarkdownUtil;
|
||||
import ee.carlrobert.codegpt.util.UIUtil;
|
||||
import ee.carlrobert.llm.client.you.completion.YouSerpResult;
|
||||
|
|
@ -46,7 +46,7 @@ public class ChatMessageResponseBody extends JPanel {
|
|||
private final StreamParser streamParser;
|
||||
private final boolean readOnly;
|
||||
private JPanel currentlyProcessedElement;
|
||||
private ResponseEditor currentlyProcessedEditor;
|
||||
private ResponseEditorPanel currentlyProcessedEditor;
|
||||
private JTextPane currentlyProcessedTextPane;
|
||||
private boolean responseReceived;
|
||||
|
||||
|
|
@ -248,7 +248,7 @@ public class ChatMessageResponseBody extends JPanel {
|
|||
private void prepareProcessingCodeResponse(String code, String markdownLanguage) {
|
||||
hideCarets();
|
||||
currentlyProcessedTextPane = null;
|
||||
currentlyProcessedEditor = new ResponseEditor(
|
||||
currentlyProcessedEditor = new ResponseEditorPanel(
|
||||
project,
|
||||
code,
|
||||
markdownLanguage,
|
||||
|
|
|
|||
|
|
@ -35,13 +35,13 @@ import java.awt.FlowLayout;
|
|||
import javax.swing.Box;
|
||||
import javax.swing.JPanel;
|
||||
|
||||
public class ResponseEditor extends JPanel implements Disposable {
|
||||
public class ResponseEditorPanel extends JPanel implements Disposable {
|
||||
|
||||
private final Editor editor;
|
||||
private final String language;
|
||||
private final String extension;
|
||||
|
||||
public ResponseEditor(
|
||||
public ResponseEditorPanel(
|
||||
Project project,
|
||||
String code,
|
||||
String markdownLanguage,
|
||||
|
|
@ -66,22 +66,7 @@ public class ResponseEditor extends JPanel implements Disposable {
|
|||
}
|
||||
}
|
||||
|
||||
var editorEx = ((EditorEx) editor);
|
||||
if (readOnly) {
|
||||
editorEx.setOneLineMode(true);
|
||||
editorEx.setHorizontalScrollbarVisible(false);
|
||||
}
|
||||
editorEx.installPopupHandler(new ContextMenuPopupHandler.Simple(group));
|
||||
editorEx.setColorsScheme(EditorColorsManager.getInstance().getSchemeForCurrentUITheme());
|
||||
|
||||
var settings = editorEx.getSettings();
|
||||
settings.setAdditionalColumnsCount(0);
|
||||
settings.setAdditionalLinesCount(1);
|
||||
settings.setAdditionalPageAtBottom(false);
|
||||
settings.setVirtualSpace(false);
|
||||
settings.setUseSoftWraps(false);
|
||||
settings.setLineMarkerAreaShown(false);
|
||||
settings.setGutterIconsShown(false);
|
||||
configureEditor((EditorEx) editor, readOnly, new ContextMenuPopupHandler.Simple(group));
|
||||
|
||||
add(createHeaderComponent(readOnly), BorderLayout.NORTH);
|
||||
add(editor.getComponent(), BorderLayout.CENTER);
|
||||
|
|
@ -99,6 +84,27 @@ public class ResponseEditor extends JPanel implements Disposable {
|
|||
return editor;
|
||||
}
|
||||
|
||||
private void configureEditor(
|
||||
EditorEx editorEx,
|
||||
boolean readOnly,
|
||||
ContextMenuPopupHandler popupHandler) {
|
||||
if (readOnly) {
|
||||
editorEx.setOneLineMode(true);
|
||||
editorEx.setHorizontalScrollbarVisible(false);
|
||||
}
|
||||
editorEx.installPopupHandler(popupHandler);
|
||||
editorEx.setColorsScheme(EditorColorsManager.getInstance().getSchemeForCurrentUITheme());
|
||||
|
||||
var settings = editorEx.getSettings();
|
||||
settings.setAdditionalColumnsCount(0);
|
||||
settings.setAdditionalLinesCount(1);
|
||||
settings.setAdditionalPageAtBottom(false);
|
||||
settings.setVirtualSpace(false);
|
||||
settings.setUseSoftWraps(false);
|
||||
settings.setLineMarkerAreaShown(false);
|
||||
settings.setGutterIconsShown(false);
|
||||
}
|
||||
|
||||
private JPanel createHeaderComponent(boolean readOnly) {
|
||||
var headerComponent = new JPanel(new BorderLayout());
|
||||
headerComponent.setBorder(JBUI.Borders.compound(
|
||||
|
|
@ -114,8 +120,8 @@ public class ResponseEditor extends JPanel implements Disposable {
|
|||
private String getLinkText(boolean expanded) {
|
||||
return expanded
|
||||
? format(
|
||||
CodeGPTBundle.get("toolwindow.chat.editor.action.expand"),
|
||||
((EditorEx) editor).getDocument().getLineCount() - 1)
|
||||
CodeGPTBundle.get("toolwindow.chat.editor.action.expand"),
|
||||
((EditorEx) editor).getDocument().getLineCount() - 1)
|
||||
: CodeGPTBundle.get("toolwindow.chat.editor.action.collapse");
|
||||
}
|
||||
|
||||
|
|
@ -39,7 +39,7 @@ public final class EditorUtil {
|
|||
document,
|
||||
project,
|
||||
lightVirtualFile,
|
||||
false,
|
||||
true,
|
||||
EditorKind.MAIN_EDITOR);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue