private void LoadSettings(XmlElement xml)
 {
     foreach (string key in m_keys.Keys)
     {
         XmlElement px = xml.SelectSingleNode("Param[@name='" + key + "']") as XmlElement;
         if (px == null)
         {
             continue;
         }
         var p = m_keys[key];
         try
         {
             p.Property.CallSet(p.SettingsPage, XmlTool.PropertyFromString(p.Property, px.GetAttribute("value")));
         }
         catch (Exception err)
         {
             Logging.Warning("Error loading settings property {0} (value={1}): {2}", p.Property, px.GetAttribute("value"), err.Message);
         }
     }
 }