void MyShowChangesetEventHandler(object sender, ShowChangesetEventArgs args) { int changesetId = args.ChangesetId; VersionControlServer vcs = args.VersionControlServer; ChangesetVersionSpec versionSpec = new ChangesetVersionSpec(changesetId); string tname = System.IO.Path.GetTempFileName(); using (StreamWriter sw = new StreamWriter(tname)) { DiffOptions options = new DiffOptions(); options.UseThirdPartyTool = false; options.Flags = DiffOptionFlags.EnablePreambleHandling; options.OutputType = DiffOutputType.Unified; options.TargetEncoding = Encoding.UTF8; options.SourceEncoding = Encoding.UTF8; options.StreamWriter = sw; options.StreamWriter.AutoFlush = true; DiffHelper.ShowChangeset(vcs, versionSpec, false, options); } Document d = MonoDevelop.Ide.Gui.IdeApp.Workbench.OpenDocument(tname, true); d.FileName = "Changeset " + changesetId.ToString(); File.Delete(tname); }
void MyShowChangesetEventHandler(object sender, ShowChangesetEventArgs args) { ShowChangesetDialog dialog = new ShowChangesetDialog(args.VersionControlServer, args.ChangesetId); int x, y, width, height, depth; Gtk.Widget widget = sender as Gtk.Widget; widget.RootWindow.GetGeometry(out x, out y, out width, out height, out depth); dialog.SetDefaultSize(Convert.ToInt32(width * .9), Convert.ToInt32(height * .9)); dialog.ShowAll(); dialog.Run(); dialog.Destroy(); }