Update channels list in update Kotlin dropdown (KT-25429)

#KT-25429 Fixed
This commit is contained in:
Nikolay Krasko
2018-09-12 11:49:31 +03:00
parent 5d2a3c097c
commit 0eb5934e09
2 changed files with 9 additions and 11 deletions
@@ -25,19 +25,17 @@ class KotlinUpdatesSettingsConfigurable : SearchableConfigurable, Configurable.N
it.startsWith("https://plugins.jetbrains.com/plugins/") &&
(it.endsWith("/6954") || it.endsWith(KotlinPluginUtil.KOTLIN_PLUGIN_ID.idString))
}
when (channel) {
EAPChannels.EAP_1_3.uiIndex -> hosts.add(EAPChannels.EAP_1_3.url)
EAPChannels.EAP_1_2.uiIndex -> hosts.add(EAPChannels.EAP_1_2.url)
EAPChannels.values().find { it.uiIndex == channel }?.let { eapChannel ->
hosts.add(eapChannel.url)
}
}
enum class EAPChannels(val url: String, val uiIndex: Int) {
EAP_1_2("https://plugins.jetbrains.com/plugins/eap-1.2/${KotlinPluginUtil.KOTLIN_PLUGIN_ID.idString}", 1),
EAP_1_3("https://plugins.jetbrains.com/plugins/eap-next/${KotlinPluginUtil.KOTLIN_PLUGIN_ID.idString}", 2);
EAP("https://plugins.jetbrains.com/plugins/eap/${KotlinPluginUtil.KOTLIN_PLUGIN_ID.idString}", 1),
EAP_NEXT("https://plugins.jetbrains.com/plugins/eap-next/${KotlinPluginUtil.KOTLIN_PLUGIN_ID.idString}", 2);
private val hasChannel: Boolean get() = url in UpdateSettings.getInstance().pluginHosts
fun indexIfAvailable() = if (hasChannel) uiIndex else null
fun isInHosts() = url in UpdateSettings.getInstance().pluginHosts
}
}
@@ -110,7 +108,7 @@ class KotlinUpdatesSettingsConfigurable : SearchableConfigurable, Configurable.N
}
}
savedChannel = EAPChannels.EAP_1_3.indexIfAvailable() ?: EAPChannels.EAP_1_2.indexIfAvailable() ?: 0
savedChannel = EAPChannels.values().find { it.isInHosts() }?.uiIndex ?: 0
form.channelCombo.selectedIndex = savedChannel
form.channelCombo.addActionListener {
@@ -83,8 +83,8 @@
<properties>
<model>
<item value="Stable"/>
<item value="Early Access Preview 1.2.x"/>
<item value="Early Access Preview 1.3"/>
<item value="Early Access Preview 1.3.x"/>
<item value="Early Access Preview 1.4.x"/>
</model>
</properties>
</component>