// ĠCopyright Ġ 2 0 0 0 - 2 0 1 9 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ package Ġcom . intellij . gr az ie . ide . ui . components . lang list Ċ Ċ import Ġcom . intellij . gr az ie . j language . Lang Ċ import Ġcom . intellij . gr az ie . utils . if True Ċ import Ġcom . intellij . openapi . ui . popup . List Separator Ċ import Ġcom . intellij . openapi . ui . popup . Popup Step Ċ import Ġcom . intellij . openapi . ui . popup . util . Base List Popup Step Ċ Ċ class ĠGr az ie List Popup Step ( title : ĠString , Ġdownloaded Lang s : ĠList < Lang >, Ġprivate Ġval Ġother Lang s : ĠList < Lang >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġdownload : Ġ( Lang ) Ġ-> ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġon Result : Ġ( Lang ) Ġ-> ĠUnit ) Ġ: ĠBase List Popup Step < Lang >( title , Ġdownloaded Lang s Ġ+ Ġother Lang s ) Ġ{ ĊĠ Ġoverride Ġfun Ġget Separator Above ( value : ĠLang ?) Ġ= Ġwhen Ġ( value ) Ġ{ ĊĠĠĠ Ġother Lang s . first OrNull () Ġ-> ĠList Separator () ĊĠĠĠ Ġelse Ġ-> Ġnull ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Ch osen ( selected Value : ĠLang ?, Ġfinal Choice : ĠBoolean ): ĠPopup Step < *> ? Ġ= Ġselected Value ?. let Ġ{ Ġlang Ġ-> ĊĠĠĠ Ġdo Final Step Ġ{ Ġdownload ( lang ). if True Ġ{ Ġon Result ( lang ) Ġ} Ġ} ĊĠ Ġ} Ġ?: ĠPopup Step . FINAL _ CHO ICE Ċ } Ċ