using System; using Gtk; namespace zero { namespace netboot { public partial class MainWindow : Gtk.Window { public zero.netboot.Core core; public string mode; public Widget current; public MainWindow () : base(Gtk.WindowType.Toplevel) { Build (); core=zero.netboot.Core.getCore(); core.isomanwidget=new zero.netboot.IsoManagerWidget(); core.isomanwidget.ShowAll(); current=core.isomanwidget; frameVBox.PackStart(current); mode="ISO"; if(core.confman.options.ContainsKey("version")) label1.LabelProp="" + core.confman.options["version"] + ""; core.downwidget=new zero.netboot.DownloadsWidget(); core.downwidget.ShowAll(); core.prefwidget=new zero.netboot.PreferencesWidget(); core.prefwidget.ShowAll(); core.tcoswidget=new zero.netboot.TcosWidget(); core.tcoswidget.ShowAll(); core.isoopswidget=new zero.netboot.IsoOptionsWidget(); core.isoopswidget.ShowAll(); } public string helpMSG { set { Gtk.Application.Invoke(delegate {msgLabel.Text=value;}); } } protected void OnDeleteEvent (object sender, DeleteEventArgs a) { if ((zero.netboot.Core.getCore().editIsoThread==null || !zero.netboot.Core.getCore().editIsoThread.IsAlive) && !zero.netboot.Core.getCore().iso_options_running) { Application.Quit (); //Console.WriteLine("Editing iso, please wait."); if(zero.netboot.Core.getCore().downloadThread!=null && zero.netboot.Core.getCore().downloadThread.IsAlive) zero.netboot.Core.getCore().downloadThread.Abort(); System.IO.File.Delete("/etc/zero-net-boot/lock"); a.RetVal = true; } } protected virtual void OnIsoManButtonClicked (object sender, System.EventArgs e) { //Console.WriteLine("ISO Click Click"); frameLabel.Markup=Mono.Unix.Catalog.GetString("ISOs Manager"); frameVBox.Remove(current); // core.isomanwidget=new zero.netboot.IsoManagerWidget(); // core.isomanwidget.ShowAll(); current=core.isomanwidget; frameVBox.PackStart(current); helpMSG=""; } protected virtual void OnDownManButtonClicked (object sender, System.EventArgs e) { //Console.WriteLine("DL Click Click"); frameLabel.Markup=Mono.Unix.Catalog.GetString("Download Manager"); frameVBox.Remove(current); // core.downwidget=new zero.netboot.DownloadsWidget(); // core.downwidget.ShowAll(); current=core.downwidget; frameVBox.PackStart(current); helpMSG=""; } protected virtual void OnPrefButtonClicked (object sender, System.EventArgs e) { //Console.WriteLine("Pref Click Click"); frameLabel.Markup=Mono.Unix.Catalog.GetString("Preferences"); frameVBox.Remove(current); // core.prefwidget=new zero.netboot.PreferencesWidget(); // core.prefwidget.ShowAll(); current=core.prefwidget; frameVBox.PackStart(current); helpMSG=""; } protected virtual void OnTcosButtonClicked (object sender, System.EventArgs e) { frameLabel.Markup=Mono.Unix.Catalog.GetString("Network Options"); frameVBox.Remove(current); // core.tcoswidget=new zero.netboot.TcosWidget(); // core.tcoswidget.ShowAll(); current=core.tcoswidget; frameVBox.PackStart(current); helpMSG=""; } protected virtual void OnIsoOptionsButtonClicked (object sender, System.EventArgs e) { frameLabel.Markup=Mono.Unix.Catalog.GetString("ISOs Options"); frameVBox.Remove(current); // core.isoopswidget=new zero.netboot.IsoOptionsWidget(); // core.isoopswidget.ShowAll(); current=core.isoopswidget; frameVBox.PackStart(current); helpMSG=""; } } } }