protected virtual void OnButtonEditClicked(object sender, System.EventArgs e) { Repository rep = GetSelectedRepository(); if (rep != null) { Repository repCopy = rep.Clone(); EditRepositoryDialog dlg = new EditRepositoryDialog(repCopy); try { if (MessageService.RunCustomDialog(dlg, this) != (int)Gtk.ResponseType.Ok) { VersionControlService.ResetConfiguration(); return; } rep.CopyConfigurationFrom(repCopy); VersionControlService.SaveConfiguration(); TreeIter iter; TreeModel model; if (repoTree.Selection.GetSelected(out model, out iter)) { // Update values store.SetValue(iter, RepoNameCol, rep.Name); store.SetValue(iter, VcsName, rep.VersionControlSystem.Name); bool filled = (bool)store.GetValue(iter, FilledCol); if (filled && repoTree.GetRowExpanded(store.GetPath(iter))) { FullRepoNode(rep, iter); repoTree.ExpandRow(store.GetPath(iter), false); } else if (filled) { store.SetValue(iter, FilledCol, false); store.AppendValues(iter, null, "", "", true, "vcs-repository"); } } UpdateRepoDescription(); } finally { dlg.Destroy(); } } }