X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcec-config-gui%2FCecConfigGUI.cs;h=94ce2ad5a016212f4897d41c74c4c4457fc13d2e;hb=f99b4d1a21d99436a3e49733e7b83276a6362cbf;hp=2f9b38903b5b24eb740c6cfb2bdfaafd6c3df025;hpb=5cf99fae5cadae864a31ca6a7f67f31528838cb3;p=deb_libcec.git diff --git a/src/cec-config-gui/CecConfigGUI.cs b/src/cec-config-gui/CecConfigGUI.cs index 2f9b389..94ce2ad 100644 --- a/src/cec-config-gui/CecConfigGUI.cs +++ b/src/cec-config-gui/CecConfigGUI.cs @@ -28,7 +28,7 @@ namespace CecConfigGui Config.DeviceTypes.Types[0] = CecDeviceType.RecordingDevice; Config.DeviceName = "CEC Config"; Config.GetSettingsFromROM = true; - Config.ClientVersion = CecClientVersion.Version1_5_0; + Config.ClientVersion = CecClientVersion.Version1_5_1; Callbacks = new CecCallbackWrapper(this); Config.SetCallbacks(Callbacks); LoadXMLConfiguration(ref Config); @@ -160,6 +160,10 @@ namespace CecConfigGui case "port": //TODO break; + // 1.5.1 settings + case "send_inactive_source": + config.SendInactiveSource = value.Equals("1") || value.ToLower().Equals("true") || value.ToLower().Equals("yes"); + break; default: break; } @@ -322,8 +326,8 @@ namespace CecConfigGui private void SetControlsEnabled(bool val) { - SetControlEnabled(cbPortNumber, val && !Config.AutodetectAddress && Config.PhysicalAddress != 0); - SetControlEnabled(cbConnectedDevice, cbConnectedDevice.Items.Count > 1 && !Config.AutodetectAddress && val); + SetControlEnabled(cbPortNumber, val && !cbOverrideAddress.Checked); + SetControlEnabled(cbConnectedDevice, cbConnectedDevice.Items.Count > 1 && !cbOverrideAddress.Checked && val); SetControlEnabled(cbOverrideAddress, val); SetControlEnabled(tbPhysicalAddress, val && !Config.AutodetectAddress && cbOverrideAddress.Checked); SetControlEnabled(cbDeviceType, val); @@ -335,6 +339,7 @@ namespace CecConfigGui SetControlEnabled(cbPowerOffDevices, val); SetControlEnabled(cbVendorOverride, val); SetControlEnabled(cbVendorId, val && cbVendorOverride.Checked); + SetControlEnabled(cbSendInactiveSource, val); SetControlEnabled(bClose, val); SetControlEnabled(bSaveConfig, val); SetControlEnabled(bReloadConfig, val); @@ -483,6 +488,8 @@ namespace CecConfigGui private void cbOverrideAddress_CheckedChanged(object sender, EventArgs e) { SetControlEnabled(tbPhysicalAddress, ((CheckBox)sender).Checked); + SetControlEnabled(cbPortNumber, !((CheckBox)sender).Checked); + SetControlEnabled(cbConnectedDevice, !((CheckBox)sender).Checked && cbConnectedDevice.Items.Count > 1); } private void tbPhysicalAddress_TextChanged(object sender, EventArgs e) @@ -534,6 +541,7 @@ namespace CecConfigGui Config.ActivateSource = cbActivateSource.Checked; Config.PowerOffScreensaver = cbPowerOffScreensaver.Checked; Config.PowerOffOnStandby = cbPowerOffOnStandby.Checked; + Config.SendInactiveSource = cbSendInactiveSource.Checked; Config.WakeDevices = WakeDevices; Config.PowerOffDevices = PowerOffDevices; @@ -608,6 +616,10 @@ namespace CecConfigGui output.Append(strSleepDevices.ToString().Trim()); output.AppendLine("\" />"); + // only supported by 1.5.1+ clients + output.AppendLine(""); + output.AppendLine(""); + output.AppendLine(""); writer.Write(output.ToString()); writer.Close(); @@ -1036,6 +1048,7 @@ namespace CecConfigGui SetCheckboxChecked(cbActivateSource, Config.ActivateSource); SetCheckboxChecked(cbPowerOffScreensaver, Config.PowerOffScreensaver); SetCheckboxChecked(cbPowerOffOnStandby, Config.PowerOffOnStandby); + SetCheckboxChecked(cbSendInactiveSource, Config.SendInactiveSource); UpdateSelectedDevice(); for (int iPtr = 0; iPtr < 15; iPtr++)