package Ġcom . def lated pickle . fa os d ance . settings Ċ Ċ import Ġcom . def lated pickle . fa os d ance . ConfigFile Ċ import Ġcom . def lated pickle . fa os d ance . Global Values Ċ import Ġcom . def lated pickle . fa os d ance . settings . general . General Settings Ċ import Ġcom . def lated pickle . fa os d ance . util . Lang Ċ import Ġjava . awt . Dimension Ċ import Ġjava . awt . Frame Ċ import Ġjava . awt . Grid BagConstraints Ċ import Ġjava . awt . Grid BagLayout Ċ import Ġjava . awt . event . Window Adapter Ċ import Ġjava . awt . event . Window Event Ċ import Ġjavax . swing .* Ċ Ċ class ĠSettings Dialog ( owner : ĠFrame ) Ġ: ĠJ Dialog ( ĊĠĠĠ Ġowner , ĊĠĠĠ Ġ"${ Lang . bundle . getString (" window . title ")} Ġ${ Lang . bundle . getString (" window . settings ") }", ĊĠĠĠ Ġtrue Ċ ) Ġ{ ĊĠĠĠ Ġval Ġwidgets Ġ= Ġmutable ListOf < J Component >() ĊĊĠĠĠ Ġval Ġgeneral Settings Ġ= ĠGeneral Settings ( owner , Ġthis ) ĊĠĠĠ Ġval Ġextensions Settings Ġ= ĠExtension Settings ( owner , Ġthis ) ĊĊĠĠĠ Ġval Ġsave Configuration Button Ġ= ĠJButton ( Lang . bundle . getString (" settings . save _ configuration ")). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġadd ActionListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConfig File . write Config () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJOptionPane . showMessageDialog ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGlobal Values . frame , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLang . bundle . getString (" settings . save _ configuration . message "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGlobal Values . frame !!. title , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJOptionPane . INFORMATION _ MESSAGE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠGlobal Values . settings Dialog Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġthis . layout Ġ= ĠGrid BagLayout () ĊĊĠĠĠĠĠĠĠ Ġthis . size Ġ= ĠDimension ( 4 6 0 , Ġ 4 2 0 ) ĊĊĠĠĠĠĠĠĠ Ġthis . add WindowListener ( object Ġ: ĠWindow Adapter () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġwindow Closed ( e : ĠWindow Event ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGlobal Values . settings Dialog Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġ// ĠWidget s ĊĠĠĠĠĠĠĠ Ġval Ġtab bed Pane Ġ= ĠJ Tabbed Pane () ĊĠĠĠĠĠĠĠ Ġtab bed Pane . add Tab (" General ", ĠJ ScrollPane ( general Settings ). apply Ġ{ Ġborder Ġ= ĠBorder Factory . create Empty Border () Ġ}) ĊĠĠĠĠĠĠĠ Ġtab bed Pane . add Tab (" Extensions ", Ġextensions Settings ) ĊĊĠĠĠĠĠĠĠ Ġthis . add ( tab bed Pane , ĠGridBagConstraints (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfill Ġ= ĠGridBagConstraints . BOTH ĊĠĠĠĠĠĠĠĠĠĠĠ Ġweight x Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġweight y Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgrid width Ġ= ĠGridBagConstraints . RE MA IND ER ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġthis . widgets . add ( save Configuration Button ) ĊĠĠĠĠĠĠĠ Ġthis . add ( save Configuration Button , ĠGridBagConstraints (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfill Ġ= ĠGridBagConstraints . HORIZONTAL ĊĠĠĠĠĠĠĠĠĠĠĠ Ġweight x Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgrid width Ġ= ĠGridBagConstraints . RE MA IND ER ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtrigger Widgets () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Global Values . sheet Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġthis . widgets ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi . isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }