public GitSelectRevisionDialog(GitRepository repo) { Title = GettextCatalog.GetString("Select a revision"); var vbox = new Xwt.VBox(); vbox.MinHeight = 400; vbox.MinWidth = 600; vbox.PackStart(new Xwt.Label(GettextCatalog.GetString("Tag Name"))); tagNameEntry = new Xwt.TextEntry(); tagNameEntry.Changed += delegate { CheckSensitive(); }; vbox.PackStart(tagNameEntry); vbox.PackStart(new Xwt.Label(GettextCatalog.GetString("Tag Message"))); tagMessageEntry = new Xwt.TextEntry(); vbox.PackStart(tagMessageEntry); revisionList = new Xwt.ListView(); messageField = new Xwt.DataField <string> (); dateField = new Xwt.DataField <string> (); authorField = new Xwt.DataField <string> (); shaField = new Xwt.DataField <string> (); revisionField = new Xwt.DataField <Revision> (); revisionStore = new Xwt.ListStore(messageField, dateField, authorField, shaField, revisionField); revisionList.DataSource = revisionStore; messageColumn = new Xwt.ListViewColumn(GettextCatalog.GetString("Message"), new Xwt.TextCellView(messageField) { Ellipsize = Xwt.EllipsizeMode.End }); revisionList.Columns.Add(messageColumn); dateColumn = new Xwt.ListViewColumn(GettextCatalog.GetString("Date"), new Xwt.TextCellView(dateField)); revisionList.Columns.Add(dateColumn); authorColumn = new Xwt.ListViewColumn(GettextCatalog.GetString("Author"), new Xwt.TextCellView(authorField)); revisionList.Columns.Add(authorColumn); shaColumn = new Xwt.ListViewColumn(GettextCatalog.GetString("Revision"), new Xwt.TextCellView(shaField)); revisionList.Columns.Add(shaColumn); var history = repo.GetHistory(repo.RootPath, null); var min = Math.Min(history.Length, 150); for (int i = 0; i < min; ++i) { var rev = history [i]; // Convert to foreach and use i = AddRow (); revisionStore.AddRow(); revisionStore.SetValue(i, messageField, rev.ShortMessage); revisionStore.SetValue(i, dateField, ParseDate(rev.Time)); revisionStore.SetValue(i, authorField, rev.Author); revisionStore.SetValue(i, shaField, ((GitRevision)rev).ShortName); revisionStore.SetValue(i, revisionField, rev); } revisionList.SelectionChanged += delegate { CheckSensitive(); }; vbox.PackStart(revisionList, true, true); Content = vbox; buttonOk = new Xwt.DialogButton(Xwt.Command.Ok) { Sensitive = false }; Buttons.Add(buttonOk); Buttons.Add(new Xwt.DialogButton(Xwt.Command.Cancel)); }
public GitSelectRevisionDialog(GitRepository repo) { Title = GettextCatalog.GetString("Select a revision"); var vbox = new Xwt.VBox(); vbox.MinHeight = 400; vbox.MinWidth = 800; vbox.PackStart(new Xwt.Label(GettextCatalog.GetString("Tag Name"))); tagNameEntry = new Xwt.TextEntry { Name = "tagNameEntry" }; tagNameEntry.Changed += delegate { CheckSensitive(); }; vbox.PackStart(tagNameEntry); vbox.PackStart(new Xwt.Label(GettextCatalog.GetString("Tag Message"))); tagMessageEntry = new Xwt.TextEntry { Name = "tagMessageEntry" }; vbox.PackStart(tagMessageEntry); revisionList = new Xwt.ListView(); messageField = new Xwt.DataField <string> (); dateField = new Xwt.DataField <string> (); authorField = new Xwt.DataField <string> (); shaField = new Xwt.DataField <string> (); revisionField = new Xwt.DataField <Revision> (); revisionStore = new Xwt.ListStore(messageField, dateField, authorField, shaField, revisionField); revisionList.DataSource = revisionStore; messageColumn = new Xwt.ListViewColumn(GettextCatalog.GetString("Message"), new Xwt.TextCellView(messageField)) { CanResize = true, Alignment = Xwt.Alignment.Center, }; revisionList.Columns.Add(messageColumn); dateColumn = new Xwt.ListViewColumn(GettextCatalog.GetString("Date"), new Xwt.TextCellView(dateField)) { CanResize = true, Alignment = Xwt.Alignment.Center, }; revisionList.Columns.Add(dateColumn); authorColumn = new Xwt.ListViewColumn(GettextCatalog.GetString("Author"), new Xwt.TextCellView(authorField)) { CanResize = true, Alignment = Xwt.Alignment.Center, }; revisionList.Columns.Add(authorColumn); shaColumn = new Xwt.ListViewColumn(GettextCatalog.GetString("Revision"), new Xwt.TextCellView(shaField)) { CanResize = true, Alignment = Xwt.Alignment.Center, }; revisionList.Columns.Add(shaColumn); Task.Factory.StartNew(async() => { const int sliceSize = 150; var history = repo.GetHistory(repo.RootPath, null); int slices = history.Length / sliceSize; for (int i = 0; i < slices; ++i) { await Runtime.RunInMainThread(() => { for (int n = 0; n < sliceSize; ++n) { if (cts.IsCancellationRequested) { return; } int row = revisionStore.AddRow(); var rev = history [row]; revisionStore.SetValue(row, messageField, rev.ShortMessage); revisionStore.SetValue(row, dateField, ParseDate(rev.Time)); revisionStore.SetValue(row, authorField, rev.Author); revisionStore.SetValue(row, shaField, ((GitRevision)rev).ShortName); revisionStore.SetValue(row, revisionField, rev); } }); } }, cts.Token); revisionList.SelectionChanged += delegate { CheckSensitive(); }; vbox.PackStart(revisionList, true, true); Content = vbox; buttonOk = new Xwt.DialogButton(Xwt.Command.Ok) { Sensitive = false }; Buttons.Add(buttonOk); Buttons.Add(new Xwt.DialogButton(Xwt.Command.Cancel)); }
public GitSelectRevisionDialog (GitRepository repo) { Title = GettextCatalog.GetString ("Select a revision"); var vbox = new Xwt.VBox (); vbox.MinHeight = 400; vbox.MinWidth = 600; vbox.PackStart(new Xwt.Label (GettextCatalog.GetString ("Tag Name"))); tagNameEntry = new Xwt.TextEntry (); tagNameEntry.Changed += delegate { CheckSensitive (); }; vbox.PackStart (tagNameEntry); vbox.PackStart (new Xwt.Label (GettextCatalog.GetString ("Tag Message"))); tagMessageEntry = new Xwt.TextEntry (); vbox.PackStart (tagMessageEntry); revisionList = new Xwt.ListView (); messageField = new Xwt.DataField<string> (); dateField = new Xwt.DataField<string> (); authorField = new Xwt.DataField<string> (); shaField = new Xwt.DataField<string> (); revisionField = new Xwt.DataField<Revision> (); revisionStore = new Xwt.ListStore (messageField, dateField, authorField, shaField, revisionField); revisionList.DataSource = revisionStore; messageColumn = new Xwt.ListViewColumn (GettextCatalog.GetString ("Message"), new Xwt.TextCellView (messageField) { Ellipsize = Xwt.EllipsizeMode.End }); revisionList.Columns.Add (messageColumn); dateColumn = new Xwt.ListViewColumn (GettextCatalog.GetString ("Date"), new Xwt.TextCellView (dateField)); revisionList.Columns.Add (dateColumn); authorColumn = new Xwt.ListViewColumn (GettextCatalog.GetString ("Author"), new Xwt.TextCellView (authorField)); revisionList.Columns.Add (authorColumn); shaColumn = new Xwt.ListViewColumn (GettextCatalog.GetString ("Revision"), new Xwt.TextCellView (shaField)); revisionList.Columns.Add (shaColumn); var history = repo.GetHistory (repo.RootPath, null); var min = Math.Min (history.Length, 150); for (int i = 0; i < min; ++i) { var rev = history [i]; // Convert to foreach and use i = AddRow (); revisionStore.AddRow (); revisionStore.SetValue (i, messageField, rev.ShortMessage); revisionStore.SetValue (i, dateField, ParseDate (rev.Time)); revisionStore.SetValue (i, authorField, rev.Author); revisionStore.SetValue (i, shaField, ((GitRevision)rev).ShortName); revisionStore.SetValue (i, revisionField, rev); } revisionList.SelectionChanged += delegate { CheckSensitive (); }; vbox.PackStart (revisionList, true, true); Content = vbox; buttonOk = new Xwt.DialogButton (Xwt.Command.Ok) { Sensitive = false }; Buttons.Add (buttonOk); Buttons.Add (new Xwt.DialogButton (Xwt.Command.Cancel)); }
public GitSelectRevisionDialog (GitRepository repo) { Title = GettextCatalog.GetString ("Select a revision"); var vbox = new Xwt.VBox (); vbox.MinHeight = 400; vbox.MinWidth = 800; vbox.PackStart(new Xwt.Label (GettextCatalog.GetString ("Tag Name"))); tagNameEntry = new Xwt.TextEntry { Name = "tagNameEntry" }; tagNameEntry.Changed += delegate { CheckSensitive (); }; vbox.PackStart (tagNameEntry); vbox.PackStart (new Xwt.Label (GettextCatalog.GetString ("Tag Message"))); tagMessageEntry = new Xwt.TextEntry { Name = "tagMessageEntry" }; vbox.PackStart (tagMessageEntry); revisionList = new Xwt.ListView (); messageField = new Xwt.DataField<string> (); dateField = new Xwt.DataField<string> (); authorField = new Xwt.DataField<string> (); shaField = new Xwt.DataField<string> (); revisionField = new Xwt.DataField<Revision> (); revisionStore = new Xwt.ListStore (messageField, dateField, authorField, shaField, revisionField); revisionList.DataSource = revisionStore; messageColumn = new Xwt.ListViewColumn (GettextCatalog.GetString ("Message"), new Xwt.TextCellView (messageField)) { CanResize = true, Alignment = Xwt.Alignment.Center, }; revisionList.Columns.Add (messageColumn); dateColumn = new Xwt.ListViewColumn (GettextCatalog.GetString ("Date"), new Xwt.TextCellView (dateField)) { CanResize = true, Alignment = Xwt.Alignment.Center, }; revisionList.Columns.Add (dateColumn); authorColumn = new Xwt.ListViewColumn (GettextCatalog.GetString ("Author"), new Xwt.TextCellView (authorField)) { CanResize = true, Alignment = Xwt.Alignment.Center, }; revisionList.Columns.Add (authorColumn); shaColumn = new Xwt.ListViewColumn (GettextCatalog.GetString ("Revision"), new Xwt.TextCellView (shaField)) { CanResize = true, Alignment = Xwt.Alignment.Center, }; revisionList.Columns.Add (shaColumn); Task.Factory.StartNew (async () => { const int sliceSize = 150; var history = repo.GetHistory (repo.RootPath, null); int slices = history.Length / sliceSize; for (int i = 0; i < slices; ++i) { await Runtime.RunInMainThread (() => { for (int n = 0; n < sliceSize; ++n) { if (cts.IsCancellationRequested) return; int row = revisionStore.AddRow (); var rev = history [row]; revisionStore.SetValue (row, messageField, rev.ShortMessage); revisionStore.SetValue (row, dateField, ParseDate (rev.Time)); revisionStore.SetValue (row, authorField, rev.Author); revisionStore.SetValue (row, shaField, ((GitRevision)rev).ShortName); revisionStore.SetValue (row, revisionField, rev); } }); } }, cts.Token); revisionList.SelectionChanged += delegate { CheckSensitive (); }; vbox.PackStart (revisionList, true, true); Content = vbox; buttonOk = new Xwt.DialogButton (Xwt.Command.Ok) { Sensitive = false }; Buttons.Add (buttonOk); Buttons.Add (new Xwt.DialogButton (Xwt.Command.Cancel)); }