improving overall performance when not using Menu Preview, removing Backup repositories until add a option to enable it
This commit is contained in:
1 parent
3a4c03affe
commit
b9050a46a9
2 files changed
+30
-12
No files matched your search
+28
-10
@@ -25,7 +25,7 @@ class MenuPreviewFileEditor(
|
|||||||
) : UserDataHolderBase(), FileEditor {
|
) : UserDataHolderBase(), FileEditor {
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val REBUILD_DELAY_MILLISECONDS = 200
|
const val REBUILD_DELAY_MILLISECONDS = 80
|
||||||
}
|
}
|
||||||
|
|
||||||
private val mySwingAlarm = Alarm(Alarm.ThreadToUse.SWING_THREAD, this)
|
private val mySwingAlarm = Alarm(Alarm.ThreadToUse.SWING_THREAD, this)
|
||||||
@@ -42,11 +42,7 @@ class MenuPreviewFileEditor(
|
|||||||
private lateinit var currentScroll: JBScrollPane
|
private lateinit var currentScroll: JBScrollPane
|
||||||
private var currentSelectedLine: Int? = null
|
private var currentSelectedLine: Int? = null
|
||||||
|
|
||||||
init {
|
private val documentListener = object : DocumentListener {
|
||||||
rebuild(null)
|
|
||||||
|
|
||||||
// listen to the source code changes to rebuild the UI
|
|
||||||
myDocument.addDocumentListener(object : DocumentListener {
|
|
||||||
override fun beforeDocumentChange(event: DocumentEvent) {
|
override fun beforeDocumentChange(event: DocumentEvent) {
|
||||||
mySwingAlarm.cancelAllRequests()
|
mySwingAlarm.cancelAllRequests()
|
||||||
}
|
}
|
||||||
@@ -55,18 +51,30 @@ class MenuPreviewFileEditor(
|
|||||||
rebuild(currentScroll.viewport.viewPosition)
|
rebuild(currentScroll.viewport.viewPosition)
|
||||||
}, REBUILD_DELAY_MILLISECONDS)
|
}, REBUILD_DELAY_MILLISECONDS)
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
|
|
||||||
// listen to cursor changes to make a slot selectable
|
private val caretListener = object : CaretListener {
|
||||||
mainEditor.editor.caretModel.addCaretListener(object : CaretListener {
|
|
||||||
override fun caretPositionChanged(event: CaretEvent) {
|
override fun caretPositionChanged(event: CaretEvent) {
|
||||||
currentSelectedLine = event.newPosition.line
|
currentSelectedLine = event.newPosition.line
|
||||||
|
mySwingAlarm.addRequest({
|
||||||
rebuild(currentScroll.viewport.viewPosition)
|
rebuild(currentScroll.viewport.viewPosition)
|
||||||
|
}, REBUILD_DELAY_MILLISECONDS)
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
|
|
||||||
|
fun setup() {
|
||||||
|
rebuild(null)
|
||||||
|
|
||||||
|
// listen to the source code changes to rebuild the UI
|
||||||
|
myDocument.addDocumentListener(documentListener)
|
||||||
|
|
||||||
|
// listen to cursor changes to make a slot selectable
|
||||||
|
mainEditor.editor.caretModel.addCaretListener(caretListener)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun rebuild(currentViewPosition: Point?) {
|
fun rebuild(currentViewPosition: Point?) {
|
||||||
|
if(!myUi.isShowing) return
|
||||||
|
|
||||||
val tree = PsiDocumentManager.getInstance(myProject).getPsiFile(myDocument) ?: return
|
val tree = PsiDocumentManager.getInstance(myProject).getPsiFile(myDocument) ?: return
|
||||||
|
|
||||||
// clear the old UI
|
// clear the old UI
|
||||||
@@ -146,8 +154,18 @@ class MenuPreviewFileEditor(
|
|||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun selectNotify() {
|
||||||
|
setup()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun deselectNotify() {
|
||||||
|
dispose()
|
||||||
|
}
|
||||||
|
|
||||||
override fun dispose() {
|
override fun dispose() {
|
||||||
mySwingAlarm.cancelAllRequests()
|
mySwingAlarm.cancelAllRequests()
|
||||||
|
myDocument.removeDocumentListener(documentListener)
|
||||||
|
mainEditor.editor.caretModel.removeCaretListener(caretListener)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun JComponent.centerComponent(): JPanel {
|
private fun JComponent.centerComponent(): JPanel {
|
||||||
|
|||||||
@@ -28,9 +28,9 @@ data class KotlinBukkitAPIVersion(
|
|||||||
|
|
||||||
val repositories = listOf(
|
val repositories = listOf(
|
||||||
"http://nexus.devsrsouza.com.br/repository/maven-public/",
|
"http://nexus.devsrsouza.com.br/repository/maven-public/",
|
||||||
"https://oss.jfrog.org/oss-snapshot-local/",
|
/*"https://oss.jfrog.org/oss-snapshot-local/", // TODO: create a option to provide this repositories optionally
|
||||||
"http://nexus.okkero.com/repository/maven-releases/",
|
"http://nexus.okkero.com/repository/maven-releases/",
|
||||||
"https://repo.codemc.org/repository/maven-public"
|
"https://repo.codemc.org/repository/maven-public",*/
|
||||||
)
|
)
|
||||||
|
|
||||||
val dependencies = listOf(
|
val dependencies = listOf(
|
||||||
|
|||||||
Reference in new issue
Block a user