X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcec-config-gui%2FDeviceInformation.cs;h=f7992e3ef68e2fe11cb5872da187380dee61a77d;hb=2e82cff0a171a476e5d323ca95749d214e90df59;hp=d340e4774f1805fed5c87bf1c9595827521e33bd;hpb=ece1582ec85912aebc8f87c0dca015ae62b29331;p=deb_libcec.git diff --git a/src/cec-config-gui/DeviceInformation.cs b/src/cec-config-gui/DeviceInformation.cs index d340e47..f7992e3 100644 --- a/src/cec-config-gui/DeviceInformation.cs +++ b/src/cec-config-gui/DeviceInformation.cs @@ -1,15 +1,10 @@ using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Text; using System.Windows.Forms; using CecSharp; namespace CecConfigGui { - public partial class DeviceInformation : Form + public partial class DeviceInformation : AsyncForm { public DeviceInformation(CecConfigGUI gui, CecLogicalAddress address, ref LibCecSharp lib, bool devicePresent, CecVendorId vendor, bool isActiveSource, ushort physicalAddress, @@ -19,55 +14,24 @@ namespace CecConfigGui Lib = lib; Address = address; InitializeComponent(); - this.lDevice.Text = lib.ToString(address); - this.lLogicalAddress.Text = String.Format("{0,1:X}", (int)address); - this.lPhysicalAddress.Text = String.Format("{0,4:X}", physicalAddress); - this.lDevicePresent.Text = devicePresent ? "yes" : "no"; - this.lActiveSource.Visible = isActiveSource; - this.lInactiveSource.Visible = !isActiveSource; - this.lVendor.Text = vendor != CecVendorId.Unknown ? lib.ToString(vendor) : "unknown"; - this.lCecVersion.Text = lib.ToString(version); - this.lPowerStatus.Text = lib.ToString(power); - bool isPoweredOn = (power == CecPowerStatus.On || power == CecPowerStatus.InTransitionStandbyToOn); - this.lOsdName.Text = osdName; - this.lMenuLanguage.Text = menuLanguage; - this.Text = "Device: " + osdName; + lDevice.Text = lib.ToString(address); + lLogicalAddress.Text = String.Format("{0,1:X}", (int)address); + Update(devicePresent, vendor, isActiveSource, physicalAddress, version, power, osdName, menuLanguage); } - delegate void SetControlVisibleCallback(Control control, bool val); - private void SetControlVisible(Control control, bool val) - { - if (control.InvokeRequired) - { - SetControlVisibleCallback d = new SetControlVisibleCallback(SetControlVisible); - try - { - this.Invoke(d, new object[] { control, val }); - } - catch (Exception) { } - } - else - { - control.Visible = val; - } - } - - delegate void SetControlTextCallback(Control control, string val); - private void SetControlText(Control control, string val) + public void Update(bool devicePresent, CecVendorId vendor, bool isActiveSource, ushort physicalAddress, + CecVersion version, CecPowerStatus power, string osdName, string menuLanguage) { - if (control.InvokeRequired) - { - SetControlTextCallback d = new SetControlTextCallback(SetControlText); - try - { - this.Invoke(d, new object[] { control, val }); - } - catch (Exception) { } - } - else - { - control.Text = val; - } + SetControlText(lPhysicalAddress, String.Format("{0,4:X}", physicalAddress)); + SetControlText(lDevicePresent, devicePresent ? "yes" : "no"); + SetControlVisible(lActiveSource, isActiveSource); + SetControlVisible(lInactiveSource, !isActiveSource); + SetControlText(lVendor, vendor != CecVendorId.Unknown ? Lib.ToString(vendor) : "unknown"); + SetControlText(lCecVersion, Lib.ToString(version)); + SetControlText(lPowerStatus, Lib.ToString(power)); + SetControlText(lOsdName, osdName); + SetControlText(lMenuLanguage, menuLanguage); + SetControlText(this, "Device: " + osdName); } private void lInactiveSource_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) @@ -77,7 +41,6 @@ namespace CecConfigGui Gui.ActivateSource(Address); } - private void lStandby_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { LinkLabel label = sender as LinkLabel; @@ -91,7 +54,17 @@ namespace CecConfigGui Gui.SendStandby(Address); } - private CecLogicalAddress Address; + + private void button1_Click(object sender, EventArgs e) + { + Gui.UpdateInfoPanel(this); + } + + public CecLogicalAddress Address + { + private set; + get; + } private CecConfigGUI Gui; private LibCecSharp Lib; }