/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 ĠMichael ĠJohn ston Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . github . mr bean 3 5 5 . ad mir al bull dog . sounds . manager Ċ Ċ import Ġcom . github . mr bean 3 5 5 . ad mir al bull dog . arch . App ViewModel Ċ import Ġcom . github . mr bean 3 5 5 . ad mir al bull dog . common . Volume Ċ import Ġcom . github . mr bean 3 5 5 . ad mir al bull dog . common . getString Ċ import Ġcom . github . mr bean 3 5 5 . ad mir al bull dog . common . show Information Ċ import Ġcom . github . mr bean 3 5 5 . ad mir al bull dog . persistence . Config Persistence Ċ import Ġjavafx . beans . binding . Binding Ċ import Ġjavafx . beans . property . ObjectProperty Ċ import Ġjavafx . collections . Observable List Ċ import Ġt orn ad of x . object Property Ċ import Ġt orn ad of x . observable ListOf Ċ Ċ class ĠVolume Manager ViewModel Ġ: ĠApp ViewModel () Ġ{ ĊĠĠĠ Ġval Ġitems : ĠObservable List < Volume > Ġ= Ġobservable ListOf () ĊĠĠĠ Ġval Ġselection : ĠObject Property < Volume > Ġ= Ġobject Property () ĊĠĠĠ Ġval Ġhas Selection : ĠBinding < Boolean > Ġ= Ġselection . isNotNull ĊĊĠĠĠ Ġoverride Ġfun Ġon Ready () Ġ{ ĊĠĠĠĠĠĠĠ Ġrefresh Items () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Help Clicked () Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Information ( getString (" header _ about _ volume _ manager "), ĠgetString (" content _ about _ volume _ manager ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Remove Volume Clicked () Ġ{ ĊĠĠĠĠĠĠĠ ĠConfig Persistence . remove Sound B ite Volume ( selection . get (). name ) ĊĠĠĠĠĠĠĠ Ġrefresh Items () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Add Volume Clicked () Ġ{ ĊĠĠĠĠĠĠĠ Ġfind < Choose Volume Screen >(). open Modal ( block Ġ= Ġtrue , Ġres izable Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġrefresh Items () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon List Double Clicked () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġselection . get ()?. name Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġfind < Choose Volume Screen >( Choose Volume Screen . params ( name )). open Modal ( block Ġ= Ġtrue , Ġres izable Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġrefresh Items () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrefresh Items () Ġ{ ĊĠĠĠĠĠĠĠ Ġitems . set All ( Config Persistence . get Sound B ite Volumes (). map Ġ{ ĠVolume ( it . key , Ġit . value ) Ġ}. sorted By Ġ{ Ġit . name Ġ}) ĊĠĠĠ Ġ} Ċ }