@@ -19,7 +19,8 @@ var txtStdout *tview.TextView
1919var txtStderr * tview.TextView
2020var UIselectedConfigPath string
2121var UItmpConfigPath string
22- var currentSelector int = 1
22+ var currentMainWindowSelector int = 1
23+ var currentConfigWindowSelector int = 1
2324
2425func InitUI () {
2526 UIapp = tview .NewApplication ()
@@ -43,7 +44,7 @@ func MainWindow() {
4344 */
4445 txtInfoTitle := tview .NewTextView ().
4546 SetDynamicColors (true ).
46- SetText ("Press tab to navigate between log box | Up and Down arrow to scroll" ).
47+ SetText ("Press tab to navigate between log panels | Up and Down arrow to scroll text " ).
4748 SetTextAlign (tview .AlignCenter )
4849
4950 /*
@@ -91,17 +92,17 @@ func MainWindow() {
9192
9293 grid .SetInputCapture (func (event * tcell.EventKey ) * tcell.EventKey {
9394 if event .Key () == tcell .KeyTab {
94- switch currentSelector {
95+ switch currentMainWindowSelector {
9596 case 1 :
96- currentSelector ++
97+ currentMainWindowSelector ++
9798 UIapp .SetFocus (txtStdout )
9899 txtInfoTitle .SetText ("Selected box: Informations messages" )
99100 case 2 :
100- currentSelector ++
101+ currentMainWindowSelector ++
101102 UIapp .SetFocus (txtStderr )
102103 txtInfoTitle .SetText ("Selected box: Error messages" )
103104 case 3 :
104- currentSelector = 1
105+ currentMainWindowSelector = 1
105106 UIapp .SetFocus (txtMatchs )
106107 txtInfoTitle .SetText ("Selected box: Matchs messages" )
107108 }
@@ -124,6 +125,14 @@ func OpenFileDialog() {
124125 */
125126 lblDialog := tview .NewTextView ().SetTextAlign (tview .AlignCenter ).SetText ("Fastfinder : Please select a yaml configuration file" )
126127
128+ /*
129+ * TEXTVIEW : selection box helper
130+ */
131+ txtInfoTitle := tview .NewTextView ().
132+ SetDynamicColors (true ).
133+ SetText ("Press tab to navigate between left and right pane | Up and Down arrow to scroll in file preview" ).
134+ SetTextAlign (tview .AlignCenter )
135+
127136 /*
128137 * TEXTVIEW : File preview
129138 */
@@ -220,16 +229,41 @@ func OpenFileDialog() {
220229 }
221230
222231 }
223-
224232 })
225-
226233 /*
227234 * Building window
228235 */
229- grid := tview .NewGrid ().SetRows (1 , - 1 ).SetColumns (- 3 , - 2 ).SetBorders (true )
236+ grid := tview .NewGrid ().SetRows (1 , - 1 , 1 ).SetColumns (- 3 , - 2 ).SetBorders (true )
230237 grid .AddItem (lblDialog , 0 , 0 , 1 , 2 , 0 , 0 , false )
231238 grid .AddItem (treeView , 1 , 0 , 1 , 1 , 0 , 0 , true )
232239 grid .AddItem (textPreview , 1 , 1 , 1 , 1 , 0 , 0 , false )
240+ grid .AddItem (txtInfoTitle , 2 , 0 , 1 , 2 , 0 , 0 , false )
241+
242+ grid .SetInputCapture (func (event * tcell.EventKey ) * tcell.EventKey {
243+ if event .Key () == tcell .KeyTab {
244+ switch currentConfigWindowSelector {
245+ case 1 :
246+ currentConfigWindowSelector ++
247+ UIapp .SetFocus (textPreview )
248+ txtInfoTitle .SetText ("Selected box: Config file preview" )
249+ case 2 :
250+ currentConfigWindowSelector = 1
251+ UIapp .SetFocus (treeView )
252+ txtInfoTitle .SetText ("Selected box: File browser" )
253+ }
254+ return nil
255+ }
256+
257+ if event .Key () == tcell .KeyEnter {
258+ if currentConfigWindowSelector == 2 {
259+ currentConfigWindowSelector = 1
260+ UIapp .SetFocus (treeView )
261+ txtInfoTitle .SetText ("Selected box: File browser" )
262+ }
263+ }
264+
265+ return event
266+ })
233267
234268 AppStarted = true
235269 if err := UIapp .SetRoot (grid , true ).SetFocus (treeView ).Run (); err != nil {
0 commit comments