@@ -5,6 +5,38 @@ import themes from "../theme/list";
55import config from "./config" ;
66import fonts from "./fonts" ;
77
8+ let listenerAdded = false ;
9+
10+ function syncQuickToolsVisibility ( ) {
11+ const { value : settings } = appSettings ;
12+ const { $toggler } = quickTools ;
13+ const activeFile = editorManager . activeFile ;
14+
15+ if ( settings . floatingButton && ! activeFile ?. hideQuickTools ) {
16+ clearTimeout ( $toggler . _hideTimeout ) ;
17+ $toggler . _hideTimeout = null ;
18+ $toggler . classList . remove ( "hide" ) ;
19+ if ( ! $toggler . isConnected ) {
20+ root . appendOuter ( $toggler ) ;
21+ }
22+ } else {
23+ clearTimeout ( $toggler . _hideTimeout ) ;
24+ $toggler . classList . add ( "hide" ) ;
25+ $toggler . _hideTimeout = setTimeout ( ( ) => {
26+ $toggler . remove ( ) ;
27+ $toggler . _hideTimeout = null ;
28+ } , 300 ) ;
29+ }
30+
31+ if ( activeFile ?. hideQuickTools ) {
32+ actions ( "set-height" , { height : 0 , save : false } ) ;
33+ } else {
34+ const quickToolsHeight =
35+ settings . quickTools !== undefined ? settings . quickTools : 1 ;
36+ actions ( "set-height" , { height : quickToolsHeight , save : false } ) ;
37+ }
38+ }
39+
840export default {
941 beforeRender ( ) {
1042 //animation
@@ -30,24 +62,14 @@ export default {
3062 } ,
3163 afterRender ( ) {
3264 const { value : settings } = appSettings ;
33- const { $toggler } = quickTools ;
34- if ( settings . floatingButton && ! editorManager . activeFile ?. hideQuickTools ) {
35- clearTimeout ( $toggler . _hideTimeout ) ;
36- $toggler . _hideTimeout = null ;
37- $toggler . classList . remove ( "hide" ) ;
38- if ( ! $toggler . isConnected ) {
39- root . appendOuter ( $toggler ) ;
40- }
41- } else {
42- clearTimeout ( $toggler . _hideTimeout ) ;
43- $toggler . classList . add ( "hide" ) ;
44- $toggler . _hideTimeout = setTimeout ( ( ) => {
45- $toggler . remove ( ) ;
46- $toggler . _hideTimeout = null ;
47- } , 300 ) ;
65+
66+ if ( ! listenerAdded ) {
67+ editorManager . on ( "switch-file" , syncQuickToolsVisibility ) ;
68+ listenerAdded = true ;
4869 }
4970
50- actions ( "set-height" , settings . quickTools ) ;
71+ syncQuickToolsVisibility ( ) ;
72+
5173 fonts . setAppFont ( settings . appFont ) ;
5274 fonts . setEditorFont ( settings . editorFont ) ;
5375 if ( ! themes . applied ) {
0 commit comments