| 648 | } |
| 649 | |
| 650 | func (m *ircModel) formConfig() (formCfg, error) { |
| 651 | get := func(f formField) string { return strings.TrimSpace(m.formInputs[f].Value()) } |
| 652 | name := get(fieldName) |
| 653 | addr := get(fieldAddr) |
| 654 | if name == "" || addr == "" { |
| 655 | return formCfg{}, fmt.Errorf("name and address required") |
| 656 | } |
| 657 | tlsStr := strings.ToLower(get(fieldTLS)) |
| 658 | tls := tlsStr == "true" || tlsStr == "1" || tlsStr == "yes" |
| 659 | |
| 660 | nick := get(fieldNick) |
| 661 | if nick == "" { |
| 662 | nick = "zuse" |
| 663 | } |
| 664 | var chans []string |
| 665 | if c := get(fieldChans); c != "" { |
| 666 | for _, ch := range strings.Split(c, ",") { |
| 667 | ch = strings.TrimSpace(ch) |
| 668 | if ch != "" { |
| 669 | chans = append(chans, ch) |
| 670 | } |
| 671 | } |
| 672 | } |
| 673 | return formCfg{name, addr, nick, tls, chans}, nil |
| 674 | } |
| 675 | |
| 676 | func (m *ircModel) clearForm() { |
| 677 | for i := range m.formInputs { |