X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcec-config-gui%2FAsyncForm.cs;h=c4d02bf2edc7676d8e92abc6de02e02e10fa12ea;hb=0a61dc2416f3eacb839ff67ac5abf0024c1d2f40;hp=4584d755c79a595ea2c4989add5ce2595fe29178;hpb=75af24f133bfd316bc69a9b63e190047186f169a;p=deb_libcec.git diff --git a/src/cec-config-gui/AsyncForm.cs b/src/cec-config-gui/AsyncForm.cs index 4584d75..c4d02bf 100644 --- a/src/cec-config-gui/AsyncForm.cs +++ b/src/cec-config-gui/AsyncForm.cs @@ -10,10 +10,10 @@ namespace CecConfigGui { if (control.InvokeRequired) { - SetControlEnabledCallback d = new SetControlEnabledCallback(SetControlEnabled); + SetControlEnabledCallback d = SetControlEnabled; try { - this.Invoke(d, new object[] { control, val }); + Invoke(d, new object[] { control, val }); } catch (Exception) { } } @@ -28,10 +28,10 @@ namespace CecConfigGui { if (control.InvokeRequired) { - SetControlTextCallback d = new SetControlTextCallback(SetControlText); + SetControlTextCallback d = SetControlText; try { - this.Invoke(d, new object[] { control, val }); + Invoke(d, new object[] { control, val }); } catch (Exception) { } } @@ -46,10 +46,10 @@ namespace CecConfigGui { if (control.InvokeRequired) { - SetCheckboxCheckedCallback d = new SetCheckboxCheckedCallback(SetCheckboxChecked); + SetCheckboxCheckedCallback d = SetCheckboxChecked; try { - this.Invoke(d, new object[] { control, val }); + Invoke(d, new object[] { control, val }); } catch (Exception) { } } @@ -59,15 +59,33 @@ namespace CecConfigGui } } + delegate void SetCheckboxItemCheckedCallback(CheckedListBox control, int index, bool val); + public void SetCheckboxItemChecked(CheckedListBox control, int index, bool val) + { + if (control.InvokeRequired) + { + SetCheckboxItemCheckedCallback d = SetCheckboxItemChecked; + try + { + Invoke(d, new object[] { control, index, val }); + } + catch (Exception) { } + } + else + { + control.SetItemChecked(index, val); + } + } + delegate void SetProgressValueCallback(ProgressBar control, int val); public void SetProgressValue(ProgressBar control, int val) { if (control.InvokeRequired) { - SetProgressValueCallback d = new SetProgressValueCallback(SetProgressValue); + SetProgressValueCallback d = SetProgressValue; try { - this.Invoke(d, new object[] { control, val }); + Invoke(d, new object[] { control, val }); } catch (Exception) { } } @@ -82,10 +100,10 @@ namespace CecConfigGui { if (control.InvokeRequired) { - SetComboBoxItemsCallback d = new SetComboBoxItemsCallback(SetComboBoxItems); + SetComboBoxItemsCallback d = SetComboBoxItems; try { - this.Invoke(d, new object[] { control, selectedText, val }); + Invoke(d, new object[] { control, selectedText, val }); } catch (Exception) { } } @@ -102,10 +120,10 @@ namespace CecConfigGui { if (control.InvokeRequired) { - SetControlVisibleCallback d = new SetControlVisibleCallback(SetControlVisible); + SetControlVisibleCallback d = SetControlVisible; try { - this.Invoke(d, new object[] { control, val }); + Invoke(d, new object[] { control, val }); } catch (Exception) { } } @@ -114,5 +132,26 @@ namespace CecConfigGui control.Visible = val; } } + + delegate void DisplayDialogCallback(Form control, bool modal); + public void DisplayDialog(Form control, bool modal) + { + if (InvokeRequired) + { + DisplayDialogCallback d = DisplayDialog; + try + { + Invoke(d, new object[] { control, modal }); + } + catch (Exception) { } + } + else + { + if (modal) + control.ShowDialog(this); + else + control.Show(this); + } + } } }