ui.MakeMainMenu   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 3
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 3
dl 0
loc 3
rs 10
c 0
b 0
f 0
nop 1
1
package ui
2
3
import (
4
	"fyne.io/fyne/v2"
5
	"github.com/rchargel/hdfs-explorer/files"
6
)
7
8
var fileRepoDialog *FileRepoManagerDialog = NewFileRepoManagerDialog()
9
10
type OpenClientConnection func(client files.FileSystemClient)
11
12
func MakeMainMenu(clientConnectionFunc OpenClientConnection) *fyne.MainMenu {
13
	return fyne.NewMainMenu(
14
		makeConnectionMenu(clientConnectionFunc),
15
	)
16
}
17
18
func makeConnectionMenu(clientConnectionFunc OpenClientConnection) *fyne.Menu {
19
	manageConnections := &fyne.MenuItem{
20
		Label: "Manage Connections",
21
		Action: func() {
22
			fileRepoDialog.Open(OnNewConnection(clientConnectionFunc))
23
		},
24
	}
25
26
	quit := &fyne.MenuItem{
27
		Label:  "Quit",
28
		Action: onClosedFunc,
29
	}
30
31
	return &fyne.Menu{
32
		Label: "Connections",
33
		Items: []*fyne.MenuItem{
34
			manageConnections,
35
			quit,
36
		},
37
	}
38
39
}
40