Passed
Push — main ( 28f2b8...276220 )
by Rafael
01:14
created

ui.MakeMainMenu   A

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
	"os"
5
6
	"fyne.io/fyne/v2"
7
	"fyne.io/fyne/v2/dialog"
8
	"github.com/rchargel/hdfs-explorer/log"
9
)
10
11
func MakeMainMenu(w fyne.Window) *fyne.MainMenu {
12
	return fyne.NewMainMenu(
13
		makeConnectionMenu(w),
14
	)
15
}
16
17
func makeConnectionMenu(w fyne.Window) *fyne.Menu {
18
	newConnection := &fyne.MenuItem{
19
		Label: "New Connection",
20
		Action: func() {
21
			log.Info.Println("Creating new connection")
22
		},
23
	}
24
25
	openConnection := &fyne.MenuItem{
26
		Label: "Open Connection",
27
		Action: func() {
28
			log.Info.Println("Opening connection")
29
		},
30
	}
31
32
	quit := &fyne.MenuItem{
33
		Label: "Quit",
34
		Action: func() {
35
			dialog.NewConfirm(
36
				"Quit",
37
				"Are you sure you wish to quit?",
38
				func(b bool) {
39
					if b {
40
						log.Info.Println("Exiting application")
41
						os.Exit(0)
42
					}
43
				},
44
				w,
45
			).Show()
46
		},
47
	}
48
49
	return &fyne.Menu{
50
		Label: "Connections",
51
		Items: []*fyne.MenuItem{
52
			newConnection,
53
			openConnection,
54
			quit,
55
		},
56
	}
57
58
}
59