// Ġ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 Ġorg . jetbrains . idea . dev kit . actions . update From Sources Ċ Ċ import Ġcom . intellij . openapi . application . Path Manager Ċ import Ġcom . intellij . openapi . components . service Ċ import Ġcom . intellij . openapi . file Chooser . FileChooser Descriptor Factory Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . openapi . ui . Dialog Panel Ċ import Ġcom . intellij . openapi . ui . Dialog Wrapper Ċ import Ġcom . intellij . ui . layout .* Ċ import Ġjava . awt . event . ActionEvent Ċ import Ġjavax . swing . Abstract Action Ċ import Ġjavax . swing . Action Ċ Ċ class ĠUpdate From Sources Dialog ( private Ġval Ġproject : ĠProject , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġshow Apply Button : ĠBoolean ) Ġ: ĠDialog Wrapper ( project , Ġtrue ) Ġ{ ĊĠ Ġprivate Ġlateinit Ġvar Ġpanel : ĠDialog Panel ĊĠ Ġprivate Ġval Ġstate Ġ= ĠUpdate From Sources Settings . Update From Sources Settings State (). apply Ġ{ ĊĠĠĠ Ġcopy From ( Update From Sources Settings . getState ()) ĊĠ Ġ} ĊĊĠ Ġinit Ġ{ ĊĠĠĠ Ġtitle Ġ= Ġ" Update ĠIDE Ġfrom ĠS ources " ĊĠĠĠ Ġset OK ButtonText (" Update ") ĊĠĠĠ Ġinit () ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġcreate Center Panel (): ĠDialog Panel Ġ{ ĊĠĠĠ Ġpanel Ġ= Ġpanel Ġ{ ĊĠĠĠĠĠ Ġrow Ġ{ ĊĠĠĠĠĠĠĠ Ġlabel (" IDE Ġinstallation :") ĊĠĠĠĠĠĠĠ Ġtext Field With Browse Button ({ Ġstate . work Ide Path Ġ?: ĠPath Manager . get Home Path () Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġstate . work Ide Path Ġ= Ġit Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Choose ĠIDE ĠInstallation ĠDirectory ", Ġproject , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// todo Ġuse Ġfilter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFile Chooser Descriptor Factory . create Single Folder Descriptor ()) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġrow Ġ{ ĊĠĠĠĠĠĠĠ ĠcheckBox (" Build Ġdisabled Ġplugins ", Ġstate :: build Disabled Plugins ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġrow Ġ{ ĊĠĠĠĠĠĠĠ ĠcheckBox (" Do Ġnot Ġshow Ġthis Ġdialog Ġagain ", Ġ{ Ġ! state . show Settings Ġ}, Ġ{ Ġstate . show Settings Ġ= Ġ! it Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" You Ġcan Ġinvoke Ġ' Update ĠFrom ĠS ources ĠSettings ' Ġaction Ġto Ġchange Ġsettings ") ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġpanel ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġdo OK Action () Ġ{ ĊĠĠĠ Ġapply Changes () ĊĠĠĠ Ġsuper . do OK Action () ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġcreate Actions (): ĠArray < Action > Ġ{ ĊĠĠĠ Ġif Ġ( show Apply Button ) Ġ{ ĊĠĠĠĠĠ Ġval Ġapply Action Ġ= Ġobject Ġ: ĠAbstract Action (" Apply ") Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠactionPerformed ( e : ĠAction Event ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġapply Changes () ĊĠĠĠĠĠĠĠĠĠ Ġclose ( NEXT _ USER _ EXIT _ CODE ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġreturn ĠarrayOf ( ok Action , Ġapply Action , Ġcancel Action ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġsuper . create Actions () ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġapply Changes () Ġ{ ĊĠĠĠ Ġpanel . apply () ĊĠĠĠ Ġservice < Update From Sources Settings >(). load State ( state ) ĊĠ Ġ} Ċ }