using System; namespace zero { namespace netboot { public partial class DeleteDialog : Gtk.Dialog { private zero.netboot.IsoInfo isoToDelete; public bool toDelete; public DeleteDialog (zero.netboot.IsoInfo info) { this.Build (); toDelete=false; isoToDelete=info; } public string msg { get { return msgLabel.Text; } set { msgLabel.Text=value; } } protected virtual void OnButtonOkClicked (object sender, System.EventArgs e) { // Console.WriteLine("LET'S ROCK"); this.Visible=false; toDelete=true; System.Threading.ThreadStart deleteTStart = delegate { Gtk.Application.Invoke(delegate {zero.netboot.Core.getCore().progresswin=new zero.netboot.ProgressWindow(Mono.Unix.Catalog.GetString("Deleting ISO..."));}); foreach(zero.netboot.IsoInfo info in zero.netboot.Core.getCore().isoList) { if (info.id==isoToDelete.id) { if (info.version.Split(' ')[0].Replace("modelo-","").Equals(zero.netboot.Core.getCore().confman.options["default_iso"])) { lliurex.utils.Variables.SetVar("ZNB_BOOT_DEFAULT", "tcos"); zero.netboot.Core.getCore().confman.options["default_iso"]="tcos"; zero.netboot.Core.getCore().confman.writeFile(); } zero.netboot.Core.getCore().isoList.Remove(info); break; } } //Console.WriteLine(isoToDelete.id); string std_out; string std_error; lliurex.utils.Commands.run(zero.netboot.Core.getCore().delete_script,isoToDelete.fileName,out std_out,out std_error); Console.WriteLine(std_out); zero.netboot.Core.getCore().sqlman.delete_iso(isoToDelete.id); Gtk.Application.Invoke(delegate {zero.netboot.Core.getCore().isomanwidget.populateTreeView();}); zero.netboot.Core.getCore().isomanwidget.clearEntries(); Gtk.Application.Invoke(delegate {zero.netboot.Core.getCore().isoopswidget.populateTreeView();}); Gtk.Application.Invoke(delegate {zero.netboot.Core.getCore().tcoswidget.populateTreeView();}); lliurex.utils.Commands.run(zero.netboot.Core.getCore().mount_script,"update-pxe"); //lliurex.utils.Commands.run("llxcfg-cpkg update pxe"); //this.Visible=false; //toDelete=true; Gtk.Application.Invoke(delegate {zero.netboot.Core.getCore().progresswin.Hide();}); Gtk.Application.Invoke(delegate {zero.netboot.Core.getCore().progresswin.Destroy();}); }; zero.netboot.Core.getCore().progressThread= new System.Threading.Thread(deleteTStart); zero.netboot.Core.getCore().progressThread.Start(); this.Destroy(); } protected virtual void OnButtonCancelClicked (object sender, System.EventArgs e) { // Console.WriteLine("GOING BACK"); this.Visible=false; toDelete=false; this.Destroy(); } } } }