Skip to content

Commit d237662

Browse files
committed
fix: disable auto-refresh when window is hidden
1 parent abbec78 commit d237662

File tree

2 files changed

+24
-12
lines changed

2 files changed

+24
-12
lines changed

src/main/kotlin/com/github/xepozz/php_dump/startup/ProjectFileEditorListener.kt

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,24 @@ import com.intellij.openapi.fileEditor.FileEditorManagerEvent
66
import com.intellij.openapi.fileEditor.FileEditorManagerListener
77
import com.intellij.openapi.project.Project
88
import com.intellij.openapi.wm.ToolWindowManager
9+
import com.intellij.openapi.wm.ex.ToolWindowManagerListener
910

10-
class ProjectFileEditorListener(val project: Project) : FileEditorManagerListener {
11-
// override fun fileClosed(source: FileEditorManager, file: VirtualFile) {
12-
// super.fileClosed(source, file)
13-
// println("file closed $source, $file")
14-
// }
15-
// override fun fileOpened(source: FileEditorManager, file: VirtualFile) {
16-
// super.fileOpened(source, file)
17-
// println("file opened $source, $file")
18-
// }
11+
class ProjectFileEditorListener(val project: Project) : FileEditorManagerListener, ToolWindowManagerListener {
12+
companion object {
13+
var active = false
14+
}
15+
16+
override fun stateChanged(
17+
toolWindowManager: ToolWindowManager,
18+
changeType: ToolWindowManagerListener.ToolWindowManagerEventType
19+
) {
20+
val phpDumpWindow = toolWindowManager.getToolWindow("PHP Dump") ?: return
21+
22+
active = phpDumpWindow.isVisible
23+
}
1924

2025
override fun selectionChanged(event: FileEditorManagerEvent) {
21-
super.selectionChanged(event)
26+
if (!active) return
2227

2328
val toolWindowManager = ToolWindowManager.getInstance(project)
2429
val toolWindow = toolWindowManager.getToolWindow("PHP Dump")

src/main/resources/META-INF/plugin.xml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,14 @@
1616
id="PHP Dump" anchor="right" secondary="false" icon="/icons/pot.svg"/>
1717
</extensions>
1818
<projectListeners>
19-
<listener class="com.github.xepozz.php_dump.startup.ProjectFileEditorListener"
20-
topic="com.intellij.openapi.fileEditor.FileEditorManagerListener"/>
19+
<listener
20+
activeInHeadlessMode="false" activeInTestMode="false"
21+
class="com.github.xepozz.php_dump.startup.ProjectFileEditorListener"
22+
topic="com.intellij.openapi.fileEditor.FileEditorManagerListener"/>
23+
<listener
24+
activeInHeadlessMode="false" activeInTestMode="false"
25+
class="com.github.xepozz.php_dump.startup.ProjectFileEditorListener"
26+
topic="com.intellij.openapi.wm.ex.ToolWindowManagerListener"
27+
/>
2128
</projectListeners>
2229
</idea-plugin>

0 commit comments

Comments
 (0)