mirror of
https://github.com/chylex/IntelliJ-Pin-Undocked-Tool-Windows.git
synced 2024-11-24 19:42:48 +01:00
Compare commits
2 Commits
8c4d47fab8
...
8805ad545d
Author | SHA1 | Date | |
---|---|---|---|
8805ad545d | |||
34292c4066 |
@ -8,14 +8,14 @@ plugins {
|
|||||||
}
|
}
|
||||||
|
|
||||||
group = "com.chylex.intellij.pinundockedtoolwindows"
|
group = "com.chylex.intellij.pinundockedtoolwindows"
|
||||||
version = "1.0.0"
|
version = "1.1.0"
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
}
|
}
|
||||||
|
|
||||||
intellij {
|
intellij {
|
||||||
version.set("2023.1")
|
version.set("2024.2")
|
||||||
updateSinceUntilBuild.set(false)
|
updateSinceUntilBuild.set(false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,15 +1,20 @@
|
|||||||
package com.chylex.intellij.pinundockedtoolwindows.patch
|
package com.chylex.intellij.pinundockedtoolwindows.patch
|
||||||
|
|
||||||
import com.intellij.openapi.actionSystem.AnActionHolder
|
import com.intellij.openapi.actionSystem.AnActionHolder
|
||||||
import com.intellij.openapi.application.ApplicationManager
|
|
||||||
import java.awt.AWTEvent
|
import java.awt.AWTEvent
|
||||||
import java.awt.event.AWTEventListener
|
import java.awt.event.AWTEventListener
|
||||||
import java.awt.event.MouseEvent
|
import java.awt.event.MouseEvent
|
||||||
|
import java.util.Timer
|
||||||
|
import java.util.concurrent.atomic.AtomicInteger
|
||||||
import javax.swing.AbstractButton
|
import javax.swing.AbstractButton
|
||||||
|
import kotlin.concurrent.schedule
|
||||||
|
|
||||||
object AwtClickListener : AWTEventListener {
|
object AwtClickListener : AWTEventListener {
|
||||||
var wasPressingButton = false
|
private val timer = Timer("Pin Undocked Tool Windows Click Timer", true)
|
||||||
private set
|
private val pressingButtonCounter = AtomicInteger(0)
|
||||||
|
|
||||||
|
val wasPressingButton
|
||||||
|
get() = pressingButtonCounter.get() > 0
|
||||||
|
|
||||||
override fun eventDispatched(event: AWTEvent?) {
|
override fun eventDispatched(event: AWTEvent?) {
|
||||||
if (event !is MouseEvent || event.id != MouseEvent.MOUSE_RELEASED) {
|
if (event !is MouseEvent || event.id != MouseEvent.MOUSE_RELEASED) {
|
||||||
@ -18,8 +23,8 @@ object AwtClickListener : AWTEventListener {
|
|||||||
|
|
||||||
val source = event.source
|
val source = event.source
|
||||||
if (source is AbstractButton || source is AnActionHolder) {
|
if (source is AbstractButton || source is AnActionHolder) {
|
||||||
wasPressingButton = true
|
pressingButtonCounter.incrementAndGet()
|
||||||
ApplicationManager.getApplication().invokeLater { wasPressingButton = false }
|
timer.schedule(200L) { pressingButtonCounter.decrementAndGet() }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,10 @@
|
|||||||
]]></description>
|
]]></description>
|
||||||
|
|
||||||
<change-notes><![CDATA[
|
<change-notes><![CDATA[
|
||||||
|
<b>Version 1.1.0</b>
|
||||||
|
<ul>
|
||||||
|
<li>Allow hiding "Undock" tool windows for longer time after clicking a button.</li>
|
||||||
|
</ul>
|
||||||
<b>Version 1.0.0</b>
|
<b>Version 1.0.0</b>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Prevents "Undock" tool windows from hiding when focus changes.</li>
|
<li>Prevents "Undock" tool windows from hiding when focus changes.</li>
|
||||||
|
Loading…
Reference in New Issue
Block a user