package Ġcom . ing by r . v dm . views Ċ Ċ import Ġcom . ing by r . v dm . utils .* Ċ import Ġcom . j fo enix . controls . J FX Button Ċ import Ġcom . j fo enix . controls . J FX Tab Pane Ċ import Ġcom . j fo enix . controls . J FX TextField Ċ import Ġcom . j fo enix . controls . J FX ToggleButton Ċ import Ġjavafx . scene . control . Label Ċ import Ġjavafx . stage . Directory Chooser Ċ import Ġorg . slf 4 j . Logger Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġt orn ad of x .* Ċ import Ġjava . util .* ĊĊ Ċ class ĠPreferences View Ġ: ĠView () Ġ{ ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġmessages Ġ= ĠResource Bundle . get Bundle (" i 1 8 n / Preferences View ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġroot : ĠJ FX Tab Pane Ġby Ġf xml ("/ f xml / Preferences View . f xml ") ĊĠĠĠ Ġprivate Ġval Ġlogger : ĠLogger Ġ= ĠLoggerFactory . getLogger ( Preferences View :: class . java ) ĊĊĠĠĠ Ġprivate Ġval Ġlabel Storage Path : ĠLabel Ġby Ġfx id () ĊĠĠĠ Ġprivate Ġval Ġbtn Change Storage Path : ĠJ FX Button Ġby Ġfx id () ĊĠĠĠ Ġprivate Ġval Ġlabel FF M PEG Path : ĠLabel Ġby Ġfx id () ĊĠĠĠ Ġprivate Ġval Ġbtn Change FF M PEG Path : ĠJ FX Button Ġby Ġfx id () ĊĠĠĠ Ġprivate Ġval Ġtb Download Default : ĠJ FX ToggleButton Ġby Ġfx id () ĊĊĠĠĠ Ġprivate Ġval Ġtb Y outube DL : ĠJ FX ToggleButton Ġby Ġfx id () ĊĠĠĠ Ġprivate Ġval Ġlabel Y outube DL Version : ĠLabel Ġby Ġfx id () ĊĠĠĠ Ġprivate Ġval Ġtb You Get : ĠJ FX ToggleButton Ġby Ġfx id () ĊĠĠĠ Ġprivate Ġval Ġlabel You Get Version : ĠLabel Ġby Ġfx id () ĊĊĠĠĠ Ġprivate Ġval Ġtb S ocks 5 : ĠJ FX ToggleButton Ġby Ġfx id () ĊĠĠĠ Ġprivate Ġval Ġtf S ocks 5 Address : ĠJ FX TextField Ġby Ġfx id () ĊĠĠĠ Ġprivate Ġval Ġtf S ocks 5 Port : ĠJ FX TextField Ġby Ġfx id () ĊĠĠĠ Ġprivate Ġval Ġtb HTTP : ĠJ FX ToggleButton Ġby Ġfx id () ĊĠĠĠ Ġprivate Ġval Ġtf HTTP Address : ĠJ FX TextField Ġby Ġfx id () ĊĠĠĠ Ġprivate Ġval Ġtf HTTP Port : ĠJ FX TextField Ġby Ġfx id () ĊĊĠĠĠ Ġprivate Ġval Ġcu Ġ= ĠV DM Config Utils ( app . config ) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġload V DM Config () ĊĠĠĠĠĠĠĠ Ġinit Listeners () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġload V DM Config () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// Ġdownload Ġsettings Ġarea ĊĠĠĠĠĠĠĠ Ġlabel Storage Path . text Ġ= Ġcu . safe Load ( V DM Config Utils . STORAGE _ PATH , ĠV DM Content . APP _ DIR ) ĊĠĠĠĠĠĠĠ Ġlabel FF M PEG Path . text Ġ= Ġcu . safe Load ( V DM Config Utils . FF M PEG _ PATH , ĠV DM Content . NONE ) ĊĠĠĠĠĠĠĠ Ġtb Download Default . isSelected Ġ= Ġcu . safe Load ( V DM Config Utils . DOWNLOAD _ DEFAULT _ FORMAT , Ġ" false "). to Boolean () ĊĊĠĠĠĠĠĠĠ Ġ// Ġengine Ġsettings Ġarea ĊĠĠĠĠĠĠĠ Ġval Ġengine Type Ġ= ĠEngine Type . valueOf ( cu . safe Load ( V DM Config Utils . ENGINE _ TYPE , ĠEngine Type . Y OUT UBE _ DL )) ĊĠĠĠĠĠĠĠ Ġwhen Ġ( engine Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEngine Type . Y OUT UBE _ DL Ġ-> Ġtb Y outube DL . isSelected Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEngine Type . YO U _ GET Ġ-> Ġtb You Get . isSelected Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġlogger . error (" no Ġengine Ġtype Ġof Ġ$ engine Type ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlabel Y outube DL Version . text Ġ= Ġcu . safe Load ( Engine Utils . Y OUT UBE _ DL _ VERSION , Ġmessages [" unknown "]) ĊĠĠĠĠĠĠĠ Ġlabel You Get Version . text Ġ= Ġcu . safe Load ( Engine Utils . YO U _ GET _ VERSION , Ġmessages [" unknown "]) ĊĊĊĠĠĠĠĠĠĠ Ġ// Ġproxy Ġsettings Ġarea ĊĠĠĠĠĠĠĠ Ġval Ġproxy Type Ġ= ĠProxy Type . valueOf ( cu . safe Load ( V DM Config Utils . PROXY _ TYPE , ĠProxy Type . NONE )) ĊĠĠĠĠĠĠĠ Ġwhen Ġ( proxy Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠProxy Type . SOCK S 5 Ġ-> Ġtb S ocks 5 . isSelected Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ ĠProxy Type . HTTP Ġ-> Ġtb HTTP . isSelected Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ ĠProxy Type . NONE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// ĠTODO Ġadd Ġvalidations Ġfor Ġproxy Ġtext field ĊĠĠĠĠĠĠĠ Ġtf S ocks 5 Address . text Ġ= Ġcu . safe Load ( V DM Config Utils . SOCK S 5 _ PROXY _ ADDRESS , Ġ"") ĊĠĠĠĠĠĠĠ Ġtf S ocks 5 Port . text Ġ= Ġcu . safe Load ( V DM Config Utils . SOCK S 5 _ PROXY _ PORT , Ġ"") ĊĠĠĠĠĠĠĠ Ġtf HTTP Address . text Ġ= Ġcu . safe Load ( V DM Config Utils . HTTP _ PROXY _ ADDRESS , Ġ"") ĊĠĠĠĠĠĠĠ Ġtf HTTP Port . text Ġ= Ġcu . safe Load ( V DM Config Utils . HTTP _ PROXY _ PORT , Ġ"") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Listeners () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġdownload Ġsettings Ġarea ĊĠĠĠĠĠĠĠ Ġbtn Change Storage Path . setOn Mouse Clicked Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfile Ġ= ĠDirectory Chooser (). show Dialog ( primary Stage ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfile ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnew Path Ġ= Ġthis . absolute File . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp . config [ V DM Config Utils . STORAGE _ PATH ] Ġ= Ġnew Path ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Storage Path . text Ġ= Ġnew Path ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbtn Change FF M PEG Path . setOn Mouse Clicked Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfile Ġ= ĠDirectory Chooser (). show Dialog ( primary Stage ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfile ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnew Path Ġ= Ġthis . absolute File . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp . config [ V DM Config Utils . FF M PEG _ PATH ] Ġ= Ġnew Path ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Storage Path . text Ġ= Ġnew Path ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtb Download Default . action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcu . update ( V DM Config Utils . DOWNLOAD _ DEFAULT _ FORMAT , Ġtb Download Default . isSelected ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġengine Ġsettings Ġarea ĊĠĠĠĠĠĠĠ Ġtb Y outube DL . when Selected Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcu . update ( V DM Config Utils . ENGINE _ TYPE , ĠEngine Type . Y OUT UBE _ DL ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtb You Get . when Selected Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcu . update ( V DM Config Utils . ENGINE _ TYPE , ĠEngine Type . YO U _ GET ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġproxy Ġsettings Ġarea ĊĠĠĠĠĠĠĠ Ġtb S ocks 5 . action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( tb S ocks 5 . isSelected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcu . update ( V DM Config Utils . PROXY _ TYPE , ĠProxy Type . SOCK S 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ(! tb HTTP . isSelected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcu . update ( V DM Config Utils . PROXY _ TYPE , ĠProxy Type . NONE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtb HTTP . action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( tb HTTP . isSelected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcu . update ( V DM Config Utils . PROXY _ TYPE , ĠProxy Type . HTTP ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ(! tb S ocks 5 . isSelected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcu . update ( V DM Config Utils . PROXY _ TYPE , ĠProxy Type . NONE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsave TextField Content () Ġ{ ĊĠĠĠĠĠĠĠ Ġcu . update ( V DM Config Utils . SOCK S 5 _ PROXY _ ADDRESS , Ġtf S ocks 5 Address . text ) ĊĠĠĠĠĠĠĠ Ġcu . update ( V DM Config Utils . SOCK S 5 _ PROXY _ PORT , Ġtf S ocks 5 Port . text ) ĊĠĠĠĠĠĠĠ Ġcu . update ( V DM Config Utils . HTTP _ PROXY _ ADDRESS , Ġtf HTTP Address . text ) ĊĠĠĠĠĠĠĠ Ġcu . update ( V DM Config Utils . HTTP _ PROXY _ PORT , Ġtf HTTP Port . text ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSave Ġthe Ġconfig Ġto Ġthe Ġfile Ġwhen Ġclose Ġthis Ġview ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġon Un dock () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Un dock () ĊĠĠĠĠĠĠĠ Ġsave TextField Content () ĊĠĠĠĠĠĠĠ Ġcu . save To ConfigFile () ĊĠĠĠ Ġ} Ċ }