From 98ed2e0053aa1300dcd463676265778fb872fc98 Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Tue, 13 Feb 2024 23:31:11 +0200 Subject: Ok/Cancel buttons are now hidden Added selected action, Selecting now works on enter or a custom-binded action --- src/main/kotlin/me/kyren223/harpoonforjb/HarpoonState.kt | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'src/main/kotlin/me/kyren223/harpoonforjb/HarpoonState.kt') diff --git a/src/main/kotlin/me/kyren223/harpoonforjb/HarpoonState.kt b/src/main/kotlin/me/kyren223/harpoonforjb/HarpoonState.kt index 73c82b2..36f3b0c 100644 --- a/src/main/kotlin/me/kyren223/harpoonforjb/HarpoonState.kt +++ b/src/main/kotlin/me/kyren223/harpoonforjb/HarpoonState.kt @@ -9,8 +9,9 @@ import com.intellij.openapi.vfs.VirtualFile object HarpoonState { private var projectFiles: MutableMap> = mutableMapOf() private const val HARPOON_LIST_KEY = "HarpoonList" - private var quickMenuSelectedIndex: Int? = null - private var quickMenuContent: String? = "" + private var quickMenu: HarpoonQuickMenu? = null + var quickMenuSelectedIndex: Int? = null + var quickMenuContent: String? = "" fun setFile(project: Project, index: Int, file: VirtualFile) { if (index < 0) return @@ -85,8 +86,8 @@ object HarpoonState { .replace(project.basePath!!, "...") .trim() - val quickMenu = HarpoonQuickMenu(content) - val result = quickMenu.showAndGet() + quickMenu = HarpoonQuickMenu(content) + val result = quickMenu!!.showAndGet() if (content != quickMenuContent) { // Update the content @@ -94,7 +95,13 @@ object HarpoonState { } if (!result || quickMenuSelectedIndex == null) return + println("Selected index: $quickMenuSelectedIndex") val file = selectFile(project, quickMenuSelectedIndex!!) ?: return FileEditorManager.getInstance(project).openFile(file, true) } + + fun quickMenuSelect() { + if (quickMenu == null || !quickMenu!!.isShowing) return + quickMenu!!.select() + } } \ No newline at end of file -- cgit v1.3.1