public EditBranchDialog (GitRepository repo, string name, string tracking)
{
this.Build ();
this.repo = repo;
oldName = name;
currentTracking = tracking;
this.UseNativeContextMenus ();
comboStore = new ListStore (typeof(string), typeof(Xwt.Drawing.Image), typeof (string), typeof(string));
comboSources.Model = comboStore;
var crp = new CellRendererImage ();
comboSources.PackStart (crp, false);
comboSources.AddAttribute (crp, "image", 1);
var crt = new CellRendererText ();
comboSources.PackStart (crt, true);
comboSources.AddAttribute (crt, "text", 2);
SemanticModelAttribute modelAttr = new SemanticModelAttribute ("comboStore__Branch", "comboStore__Icon", "comboStore__Name", "comboStore__Tracking");
TypeDescriptor.AddAttributes (comboStore, modelAttr);
foreach (Branch b in repo.GetBranches ()) {
AddValues (b.FriendlyName, ImageService.GetIcon ("vc-branch", IconSize.Menu), "refs/heads/");
}
foreach (Remote r in repo.GetRemotes ()) {
foreach (string b in repo.GetRemoteBranches (r.Name))
AddValues (r.Name + "/" + b, ImageService.GetIcon ("vc-repository", IconSize.Menu), "refs/remotes/");
}
entryName.Text = name;
checkTrack.Active = !string.IsNullOrEmpty (tracking);
UpdateStatus ();
}