func toArray(groupList gtki.ListStore) []string { groups := []string{} iter, ok := groupList.GetIterFirst() for ok { gValue, _ := groupList.GetValue(iter, 0) if group, err := gValue.GetString(); err == nil { groups = append(groups, group) } ok = groupList.IterNext(iter) } return groups }
func filterCertificates(oldCerts []*config.CertificatePin, newList gtki.ListStore) []*config.CertificatePin { allPins := make(map[string]bool) iter, ok := newList.GetIterFirst() for ok { vv, _ := newList.GetValue(iter, 2) pp, _ := vv.GetString() allPins[pp] = true ok = newList.IterNext(iter) } newCerts := []*config.CertificatePin{} for _, cc := range oldCerts { if allPins[hex.EncodeToString(cc.Fingerprint)] { newCerts = append(newCerts, cc) } } return newCerts }