/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 1 ĠMT Software Ċ Ġ* Ċ Ġ* Ġ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 Ġorg . my teer . no vel . gui . main Ċ Ċ import Ġjavafx . geometry . Insets Ċ import Ġjavafx . geometry . Orientation Ċ import Ġjavafx . scene . Group Ċ import Ġjavafx . scene . control .* Ċ import Ġjavafx . scene . layout . H Box Ċ import Ġjavafx . scene . layout . Stack Pane Ċ import Ġorg . apache . commons . io . FileUtils Ċ import Ġorg . my teer . no vel . config . Preference Key Ċ import Ġorg . my teer . no vel . config . Preferences Ċ import Ġorg . my teer . no vel . gui . action . Global Actions Ċ import Ġorg . my teer . no vel . gui . control . Bi ToolBar Ċ import Ġorg . my teer . no vel . gui . entry . Database Tracker Ċ import Ġorg . my teer . no vel . gui . utils . icon Ċ import Ġorg . my teer . no vel . gui . utils . reveal In Explorer Ċ import Ġorg . my teer . no vel . i 1 8 n . i 1 8 n Ċ Ċ class ĠMain View ToolBar ( ĊĠĠĠ Ġprivate Ġval Ġview : ĠMain View , ĊĠĠĠ Ġprivate Ġval Ġpreferences : ĠPreferences , ĊĠĠĠ Ġprivate Ġval Ġdatabase Tracker : ĠDatabase Tracker Ċ ) Ġ: ĠBi ToolBar () Ġ{ ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġstyle Class . add (" main - view - toolbar ") ĊĠĠĠĠĠĠĠ Ġbuild UI () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbuild UI () Ġ{ ĊĠĠĠĠĠĠĠ Ġleft Items . addAll ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Home Button (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Separator (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Database Name Control () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġright Items . addAll ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Size Indicator (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Separator (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild File Open Button (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Separator (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Close Button () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbuild Home Button () Ġ= ĠButton (). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġcontent Display Ġ= ĠContent Display . GRAPH IC _ ONLY ĊĠĠĠĠĠĠĠ Ġgraphic Ġ= Ġicon (" home - icon ") ĊĠĠĠĠĠĠĠ Ġset On Action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . open Module Tab () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbuild Separator () Ġ= ĠSe parator ( Orientation . VERTICAL ) ĊĊĠĠĠ Ġprivate Ġfun Ġbuild Database Name Control () Ġ= ĠStack Pane ( ĊĠĠĠĠĠĠĠ ĠGroup ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠH Box ( 2 . 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon (" database - icon "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLabel ( view . database Meta . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġfun Ġbuild Size Indicator () Ġ= ĠLabel (). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġpadding Ġ= ĠIn sets ( 0 . 0 , Ġ 5 . 0 , Ġ 0 . 0 , Ġ 0 . 0 ) ĊĠĠĠĠĠĠĠ Ġtext Ġ= Ġ"${ i 1 8 n (" main _ view . database _ size ")} Ġ${ FileUtils . byte Count To Display Size ( view . database Meta . file ?. length () Ġ?: Ġ- 1 )}" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbuild File Open Button () Ġ= ĠButton (). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġcontent Display Ġ= ĠContent Display . GRAPH IC _ ONLY ĊĠĠĠĠĠĠĠ Ġgraphic Ġ= Ġicon (" folder - open - icon ") ĊĠĠĠĠĠĠĠ Ġtooltip Ġ= ĠTooltip ( i 1 8 n (" men ubar . menu . file . reveal ")) ĊĠĠĠĠĠĠĠ Ġset On Action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . database Meta . file ?. reveal In Explorer () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbuild Close Button () Ġ= ĠButton (). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġcontent Display Ġ= ĠContent Display . GRAPH IC _ ONLY ĊĠĠĠĠĠĠĠ Ġgraphic Ġ= Ġicon (" logout - icon ") ĊĠĠĠĠĠĠĠ Ġtooltip Ġ= ĠTooltip ( i 1 8 n (" men ubar . menu . file . db close ")) ĊĠĠĠĠĠĠĠ Ġset On Action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpreferences . editor () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put ( Preference Key . LOGIN _ DATA , Ġpreferences . get ( Preference Key . LOGIN _ DATA ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Auto Login ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Auto Login Credentials ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. try Commit () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGlobal Actions . NEW _ ENTRY . invoke ( view , Ġpreferences , Ġdatabase Tracker ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . close () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }