diff --git a/src/main/java/io/github/jeddict/ai/components/AssistantTopComponent.java b/src/main/java/io/github/jeddict/ai/components/AssistantTopComponent.java index 22ed769..8b77de6 100644 --- a/src/main/java/io/github/jeddict/ai/components/AssistantTopComponent.java +++ b/src/main/java/io/github/jeddict/ai/components/AssistantTopComponent.java @@ -67,6 +67,9 @@ public class AssistantTopComponent extends TopComponent { public static final ImageIcon saveToEditorIcon = new ImageIcon(AssistantTopComponent.class.getResource("/icons/saveToEditorIcon.png")); public static final ImageIcon newEditorIcon = new ImageIcon(AssistantTopComponent.class.getResource("/icons/newEditorIcon.png")); public static final ImageIcon attachIcon = new ImageIcon(AssistantTopComponent.class.getResource("/icons/attachIcon.gif")); + public static final ImageIcon settingsIcon = new ImageIcon(AssistantTopComponent.class.getResource("/icons/settingsIcon.png")); + + public static final String PREFERENCE_KEY = "AssistantTopComponentOpen"; private final JPanel parentPanel; diff --git a/src/main/java/io/github/jeddict/ai/hints/LearnFix.java b/src/main/java/io/github/jeddict/ai/hints/LearnFix.java index f8d4d56..56830b7 100644 --- a/src/main/java/io/github/jeddict/ai/hints/LearnFix.java +++ b/src/main/java/io/github/jeddict/ai/hints/LearnFix.java @@ -86,6 +86,7 @@ import static io.github.jeddict.ai.components.AssistantTopComponent.newEditorIcon; import static io.github.jeddict.ai.components.AssistantTopComponent.progressIcon; import static io.github.jeddict.ai.components.AssistantTopComponent.saveToEditorIcon; +import static io.github.jeddict.ai.components.AssistantTopComponent.settingsIcon; import io.github.jeddict.ai.util.EditorUtil; import java.awt.Toolkit; import java.awt.datatransfer.Clipboard; @@ -99,6 +100,7 @@ import javax.swing.JFrame; import javax.swing.JTable; import javax.swing.table.TableColumn; +import org.netbeans.api.options.OptionsDisplayer; /** * @@ -466,17 +468,26 @@ private JPanel createBottomPanel(String type, String fileName, String title, Con openInBrowserButton.setMaximumSize(buttonSize); openInBrowserButton.setEnabled(topComponent.getAllEditorCount() > 0); westButtonPanel.add(openInBrowserButton); + + JButton optionsButton = createButton(settingsIcon); // Replace with actual icon path + optionsButton.setToolTipText("Open Jeddict AI Assistant Settings"); + optionsButton.setPreferredSize(buttonSize); + optionsButton.setMaximumSize(buttonSize); + optionsButton.addActionListener(e -> { + OptionsDisplayer.getDefault().open("JeddictAIAssistant"); + }); + westButtonPanel.add(optionsButton); // Jeddict Button (West) - JButton jeddictButton = createButton(logoIcon); - jeddictButton.addActionListener(e -> { - try { - Desktop.getDesktop().browse(new URI("https://jeddict.github.io/page.html?l=tutorial/AI")); - } catch (Exception ex) { - ex.printStackTrace(); - } - }); - westButtonPanel.add(jeddictButton); +// JButton jeddictButton = createButton(logoIcon); +// jeddictButton.addActionListener(e -> { +// try { +// Desktop.getDesktop().browse(new URI("https://jeddict.github.io/page.html?l=tutorial/AI")); +// } catch (Exception ex) { +// ex.printStackTrace(); +// } +// }); +// westButtonPanel.add(jeddictButton); // New Chat Button (West) JButton newChatButton = createButton(newEditorIcon); diff --git a/src/main/java/io/github/jeddict/ai/settings/AIAssistanceOptionsPanelController.java b/src/main/java/io/github/jeddict/ai/settings/AIAssistanceOptionsPanelController.java index 77c4fbb..cc6573b 100644 --- a/src/main/java/io/github/jeddict/ai/settings/AIAssistanceOptionsPanelController.java +++ b/src/main/java/io/github/jeddict/ai/settings/AIAssistanceOptionsPanelController.java @@ -27,6 +27,7 @@ import org.openide.util.Lookup; @OptionsPanelController.TopLevelRegistration( + id = "JeddictAIAssistant", categoryName = "#OptionsCategory_Name_JeddictAIAssistant", iconBase = "icons/logo32.png", keywords = "#OptionsCategory_Keywords_JeddictAIAssistant", diff --git a/src/main/resources/icons/settingsIcon.png b/src/main/resources/icons/settingsIcon.png new file mode 100644 index 0000000..9c0614b Binary files /dev/null and b/src/main/resources/icons/settingsIcon.png differ