-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathcheckCodeplug.go
65 lines (51 loc) · 1.49 KB
/
checkCodeplug.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
// Copyright 2017-2021 Dale Farnsworth. All rights reserved.
// Dale Farnsworth
// 1007 W Mendoza Ave
// Mesa, AZ 85210
// USA
//
// dale@farnsworth.org
// This file is part of Editcp.
//
// Editcp is free software: you can redistribute it and/or modify
// it under the terms of version 3 of the GNU General Public License
// as published by the Free Software Foundation.
//
// Editcp is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Editcp. If not, see <http://www.gnu.org/licenses/>.
package main
import (
"strings"
"github.com/dalefarnsworth-dmr/ui"
)
func errorText(edt *editor) string {
cp := edt.codeplug
status := "No errors found"
errMsg := ""
if !cp.Valid() {
status = "The following field values are invalid:"
errMsg = strings.Join(cp.Warnings(), "\n")
}
edt.updateMenuBar()
return status + "\n\n" + errMsg
}
func checkCodeplug(edt *editor) {
w := edt.mainWindow.NewWindow()
cp := edt.codeplug
w.SetTitle(cp.Filename() + edt.titleSuffix() + " Invalid Fields")
windowBox := w.AddVbox()
var t *ui.TextEdit
b := windowBox.AddButton("Re-scan for invalid values")
b.ConnectClicked(func() {
t.SetPlainText(errorText(edt))
})
t = windowBox.AddTextEdit()
t.SetPlainText(errorText(edt))
t.SetReadOnly(true)
w.Show()
}