/// <summary> /// Erzeugt eine neue Steuerung. /// </summary> /// <param name="editor">Die Informationen zum zu pflegenden Geräteprofil.</param> /// <param name="site">Die Arbeitsumgebung der Erweiterung - üblicherweise das DVB.NET /// Administrationswerkzeug.</param> public ProfileDialog( ProfileEditor editor, IPlugInUISite site ) { // Remember m_PlugIn = editor; m_Site = site; // Fill data from designer InitializeComponent(); // Get the source group type of the profile Type groupType = m_PlugIn.Profile.GetGroupType(); // Load static data if (groupType == typeof( SatelliteGroup )) { // Set default selection selType.Items.Add( new HardwareTypeItem { DisplayName = Properties.Resources.Type_Standard, Type = "JMS.DVB.StandardSatelliteHardware, JMS.DVB.HardwareAbstraction" } ); selType.Items.Add( new HardwareTypeItem { DisplayName = Properties.Resources.Type_Legacy, Type = "JMS.DVB.Provider.Legacy.DVBSLegacy, JMS.DVB.Provider.Legacy" } ); } else if (groupType == typeof( CableGroup )) { // Set default selection selType.Items.Add( new HardwareTypeItem { DisplayName = Properties.Resources.Type_Standard, Type = "JMS.DVB.StandardCableHardware, JMS.DVB.HardwareAbstraction" } ); selType.Items.Add( new HardwareTypeItem { DisplayName = Properties.Resources.Type_Legacy, Type = "JMS.DVB.Provider.Legacy.DVBCLegacy, JMS.DVB.Provider.Legacy" } ); } else if (groupType == typeof( TerrestrialGroup )) { // Set default selection selType.Items.Add( new HardwareTypeItem { DisplayName = Properties.Resources.Type_Standard, Type = "JMS.DVB.StandardTerrestrialHardware, JMS.DVB.HardwareAbstraction" } ); selType.Items.Add( new HardwareTypeItem { DisplayName = Properties.Resources.Type_Legacy, Type = "JMS.DVB.Provider.Legacy.DVBTLegacy, JMS.DVB.Provider.Legacy" } ); } else { // Fallback selType.Items.Add( new HardwareTypeItem { DisplayName = string.Empty, Type = null } ); } // Reset sharing selection selShare.Items.Add( Properties.Resources.UseFrom_Self ); // List of all profiles which we can choose from var profiles = new List<string>(); // Get the current reference string from = m_PlugIn.Profile.UseSourcesFrom; try { // Just test all foreach (Profile profile in JMS.DVB.ProfileManager.AllProfiles) { // Enter m_PlugIn.Profile.UseSourcesFrom = profile.Name; // Test if (null != m_PlugIn.Profile.LeafProfile) profiles.Add( profile.Name ); } } finally { // Must always reset m_PlugIn.Profile.UseSourcesFrom = from; } // Sort list profiles.Sort(); // Add list to selection selShare.Items.AddRange( profiles.ToArray() ); // Select current if (string.IsNullOrEmpty( from )) { // Select the first entry selShare.SelectedIndex = 0; } else { // Select the indicated entry selShare.SelectedItem = from; } // Load recording settings m_RecordingSettings = RecordingSettings.ExtractSettings( m_PlugIn.Profile ); // We are valid if the sharing is configured correctly (does not point to a dead entry) m_PlugIn.IsValid = (null != selShare.SelectedItem); }
/// <summary> /// Erzeugt eine neue Steuerung. /// </summary> /// <param name="editor">Die Informationen zum zu pflegenden Geräteprofil.</param> /// <param name="site">Die Arbeitsumgebung der Erweiterung - üblicherweise das DVB.NET /// Administrationswerkzeug.</param> public ProfileDialog(ProfileEditor editor, IPlugInUISite site) { // Remember m_PlugIn = editor; m_Site = site; // Fill data from designer InitializeComponent(); // Get the source group type of the profile Type groupType = m_PlugIn.Profile.GetGroupType(); // Load static data if (groupType == typeof(SatelliteGroup)) { // Set default selection selType.Items.Add(new HardwareTypeItem { DisplayName = Properties.Resources.Type_Standard, Type = "JMS.DVB.StandardSatelliteHardware, JMS.DVB.HardwareAbstraction" }); selType.Items.Add(new HardwareTypeItem { DisplayName = Properties.Resources.Type_Legacy, Type = "JMS.DVB.Provider.Legacy.DVBSLegacy, JMS.DVB.Provider.Legacy" }); } else if (groupType == typeof(CableGroup)) { // Set default selection selType.Items.Add(new HardwareTypeItem { DisplayName = Properties.Resources.Type_Standard, Type = "JMS.DVB.StandardCableHardware, JMS.DVB.HardwareAbstraction" }); selType.Items.Add(new HardwareTypeItem { DisplayName = Properties.Resources.Type_Legacy, Type = "JMS.DVB.Provider.Legacy.DVBCLegacy, JMS.DVB.Provider.Legacy" }); } else if (groupType == typeof(TerrestrialGroup)) { // Set default selection selType.Items.Add(new HardwareTypeItem { DisplayName = Properties.Resources.Type_Standard, Type = "JMS.DVB.StandardTerrestrialHardware, JMS.DVB.HardwareAbstraction" }); selType.Items.Add(new HardwareTypeItem { DisplayName = Properties.Resources.Type_Legacy, Type = "JMS.DVB.Provider.Legacy.DVBTLegacy, JMS.DVB.Provider.Legacy" }); } else { // Fallback selType.Items.Add(new HardwareTypeItem { DisplayName = string.Empty, Type = null }); } // Reset sharing selection selShare.Items.Add(Properties.Resources.UseFrom_Self); // List of all profiles which we can choose from var profiles = new List <string>(); // Get the current reference string from = m_PlugIn.Profile.UseSourcesFrom; try { // Just test all foreach (Profile profile in JMS.DVB.ProfileManager.AllProfiles) { // Enter m_PlugIn.Profile.UseSourcesFrom = profile.Name; // Test if (null != m_PlugIn.Profile.LeafProfile) { profiles.Add(profile.Name); } } } finally { // Must always reset m_PlugIn.Profile.UseSourcesFrom = from; } // Sort list profiles.Sort(); // Add list to selection selShare.Items.AddRange(profiles.ToArray()); // Select current if (string.IsNullOrEmpty(from)) { // Select the first entry selShare.SelectedIndex = 0; } else { // Select the indicated entry selShare.SelectedItem = from; } // Load recording settings m_RecordingSettings = RecordingSettings.ExtractSettings(m_PlugIn.Profile); // We are valid if the sharing is configured correctly (does not point to a dead entry) m_PlugIn.IsValid = (null != selShare.SelectedItem); }