ui/file_menu.go   A
last analyzed

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
cc 3
eloc 22
dl 0
loc 35
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A ui.MakeMainMenu 0 3 1
A ui.makeConnectionMenu 0 18 2
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