/// <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> /// Zeigt die erweiterten Einstellungen für Aufzeichnungen an. /// </summary> /// <param name="sender">Wird ignoriert.</param> /// <param name="e">Wird ignoriert.</param> private void cmdRecordings_Click( object sender, EventArgs e ) { // Just show using (var dialog = new RecordingSettings( m_RecordingSettings )) dialog.ShowDialog( this ); }
/// <summary> /// Zeigt die erweiterten Einstellungen für Aufzeichnungen an. /// </summary> /// <param name="sender">Wird ignoriert.</param> /// <param name="e">Wird ignoriert.</param> private void cmdRecordings_Click(object sender, EventArgs e) { // Just show using (var dialog = new RecordingSettings(m_RecordingSettings)) dialog.ShowDialog(this); }