mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
RUBY-17767 map old name "Default for Mac OS X" to "Mac OS X"
This commit is contained in:
@@ -20,6 +20,7 @@ import com.intellij.configurationStore.SerializableScheme
|
||||
import com.intellij.openapi.actionSystem.*
|
||||
import com.intellij.openapi.actionSystem.ex.ActionManagerEx
|
||||
import com.intellij.openapi.application.ApplicationManager
|
||||
import com.intellij.openapi.diagnostic.logger
|
||||
import com.intellij.openapi.keymap.Keymap
|
||||
import com.intellij.openapi.keymap.KeymapUtil
|
||||
import com.intellij.openapi.keymap.ex.KeymapManagerEx
|
||||
@@ -55,6 +56,8 @@ private val NAME_ATTRIBUTE = "name"
|
||||
private val ID_ATTRIBUTE = "id"
|
||||
private val MOUSE_SHORTCUT = "mouse-shortcut"
|
||||
|
||||
private val LOG = logger<KeymapImpl>()
|
||||
|
||||
fun KeymapImpl(name: String, dataHolder: SchemeDataHolder<KeymapImpl>): KeymapImpl {
|
||||
val result = KeymapImpl(dataHolder)
|
||||
result.name = name
|
||||
@@ -481,15 +484,24 @@ open class KeymapImpl @JvmOverloads constructor(private var dataHolder: SchemeDa
|
||||
Converter01.convert(keymapElement)
|
||||
}
|
||||
|
||||
keymapElement.getAttributeValue(PARENT_ATTRIBUTE)?.let {
|
||||
keymapManager.schemeManager.findSchemeByName(it)?.let {
|
||||
parent = it as KeymapImpl
|
||||
name = keymapElement.getAttributeValue(NAME_ATTRIBUTE)
|
||||
|
||||
keymapElement.getAttributeValue(PARENT_ATTRIBUTE)?.let { parentSchemeName ->
|
||||
var parentScheme = keymapManager.schemeManager.findSchemeByName(parentSchemeName)
|
||||
if (parentScheme == null && parentSchemeName == "Default for Mac OS X") {
|
||||
// https://youtrack.jetbrains.com/issue/RUBY-17767#comment=27-1374197
|
||||
parentScheme = keymapManager.schemeManager.findSchemeByName("Mac OS X")
|
||||
}
|
||||
|
||||
if (parentScheme == null) {
|
||||
LOG.error("Cannot find parent scheme $parentSchemeName for scheme $name")
|
||||
}
|
||||
else {
|
||||
parent = parentScheme as KeymapImpl
|
||||
canModify = true
|
||||
}
|
||||
}
|
||||
|
||||
name = keymapElement.getAttributeValue(NAME_ATTRIBUTE)
|
||||
|
||||
val skipInserts = SystemInfo.isMac && (ApplicationManager.getApplication() == null || !ApplicationManager.getApplication().isUnitTestMode)
|
||||
for (actionElement in keymapElement.children) {
|
||||
if (actionElement.name != ACTION) {
|
||||
|
||||
Reference in New Issue
Block a user