using System; namespace zero { namespace netboot { [System.ComponentModel.ToolboxItem(true)] public partial class PreferencesWidget : Gtk.Bin { private Gtk.ListStore combostore; protected virtual void OnButtonAcceptClicked (object sender, System.EventArgs e) { Console.WriteLine("[PreferencesWidget] Saving configuration file..."); zero.netboot.Core core=zero.netboot.Core.getCore(); core.confman.options["ftp_daily"]=entryDaily.Text; core.confman.options["ftp_stable"]=entryStable.Text; core.confman.options["lliurex_net"]=entryLLX.Text; core.confman.options["default_save_path"]=filechooserbutton.CurrentFolder + "/"; if(combostore.IterNChildren()>0) { Gtk.TreeIter itercombo; if (mirrorCombo.GetActiveIter(out itercombo)) { core.confman.options["isos-sources-list"]=(string) combostore.GetValue(itercombo,1); } } core.win.helpMSG=Mono.Unix.Catalog.GetString("Configuration file saved"); core.confman.writeFile(); } private void populate_store() { combostore=new Gtk.ListStore(typeof(string),typeof(string)); combostore.Clear(); foreach(System.Collections.Generic.KeyValuePair source in zero.netboot.Core.getCore().sourceslist) { combostore.AppendValues(source.Value.ToString(), source.Key.ToString()); } mirrorCombo.Model=combostore; Gtk.TreeIter iter; combostore.GetIterFirst (out iter); mirrorCombo.Active=0; string type; do { type = combostore.GetValue(iter,1).ToString(); if (type.Equals(zero.netboot.Core.getCore().confman.options["isos-sources-list"])) { mirrorCombo.SetActiveIter(iter); break; } } while(combostore.IterNext(ref iter)); } public PreferencesWidget () { this.Build (); zero.netboot.Core core=zero.netboot.Core.getCore(); populate_store(); entryDaily.Text=core.confman.options["ftp_daily"]; entryLLX.Text=core.confman.options["lliurex_net"]; entryStable.Text=core.confman.options["ftp_stable"]; filechooserbutton.SetCurrentFolder(core.confman.options["default_save_path"]); } } } }