From: Lars Op den Kamp Date: Sat, 6 Oct 2012 15:55:23 +0000 (+0200) Subject: save the correct xml file in LibCecTray, so XBMC picks up the correct config X-Git-Tag: upstream/2.2.0~1^2~17^2^2~26 X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=5156a42c3d051815b3b4ba04683cea293eb19725;p=deb_libcec.git save the correct xml file in LibCecTray, so XBMC picks up the correct config --- diff --git a/src/LibCecTray/controller/CECController.cs b/src/LibCecTray/controller/CECController.cs index f7a3a04..f81cd94 100644 --- a/src/LibCecTray/controller/CECController.cs +++ b/src/LibCecTray/controller/CECController.cs @@ -490,6 +490,23 @@ namespace LibCECTray.controller get { return Lib.ToString(Config.ClientVersion); } } + /// + /// Get the usb vendor id + /// + public ushort AdapterVendorId + { + get { return Lib.GetAdapterVendorId(); } + } + + /// + /// Get the usb product id + /// + public ushort AdapterProductId + { + get { return Lib.GetAdapterProductId(); } + } + + /// /// libCEC /// diff --git a/src/LibCecTray/controller/applications/internal/XBMCController.cs b/src/LibCecTray/controller/applications/internal/XBMCController.cs index 9e4fb3a..5ab8283 100644 --- a/src/LibCecTray/controller/applications/internal/XBMCController.cs +++ b/src/LibCecTray/controller/applications/internal/XBMCController.cs @@ -70,16 +70,18 @@ namespace LibCECTray.controller.applications.@internal public bool LoadXMLConfiguration() { - bool gotConfig = false; - string xbmcDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\XBMC\userdata\peripheral_data"; - string defaultDir = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); - string file = defaultDir + @"\usb_2548_1001.xml"; - if (File.Exists(xbmcDir + @"\usb_2548_1001.xml")) - file = xbmcDir + @"\usb_2548_1001.xml"; + var xbmcDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\XBMC\userdata\peripheral_data"; + return LoadXMLConfiguration(xbmcDir + string.Format(@"\usb_{0:X}_{1:X}.xml", Program.Instance.Controller.AdapterVendorId, Program.Instance.Controller.AdapterProductId)) || + LoadXMLConfiguration(xbmcDir + @"\usb_2548_1001.xml") || + LoadXMLConfiguration(xbmcDir + @"\usb_2548_1002.xml"); + } - if (File.Exists(file)) + public bool LoadXMLConfiguration(string filename) + { + bool gotConfig = false; + if (File.Exists(filename)) { - XmlTextReader reader = new XmlTextReader(file); + XmlTextReader reader = new XmlTextReader(filename); while (reader.Read()) { gotConfig = true; @@ -203,14 +205,23 @@ namespace LibCECTray.controller.applications.@internal { Settings.Persist(); - string xbmcDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\XBMC\userdata\peripheral_data"; - string defaultDir = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); + var xbmcDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\XBMC\userdata\peripheral_data"; + if (!Directory.Exists(xbmcDir)) + Directory.CreateDirectory(xbmcDir); + + if (!Directory.Exists(xbmcDir)) + { + // couldn't create directory + MessageBox.Show(string.Format(Resources.could_not_create_directory, xbmcDir), Resources.error, + MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } SaveFileDialog dialog = new SaveFileDialog - { + { Title = Resources.store_settings_where, - InitialDirectory = Directory.Exists(xbmcDir) ? xbmcDir : defaultDir, - FileName = "usb_2548_1001.xml", + InitialDirectory = xbmcDir, + FileName = string.Format("usb_{0:X}_{1:X}.xml", Program.Instance.Controller.AdapterVendorId, Program.Instance.Controller.AdapterProductId), Filter = Resources.xml_file_filter, FilterIndex = 1 };