private void on_combo_changed(object o, EventArgs args)
{
ComboBox combo = o as ComboBox;
if (o == null)
return;
//combo is not sensitive when it has been connected
//this helps to have button_connect with correct sensitiveness after close window
//also help to not have lots of callbacks coming here about encoder combos
if(! combo.Sensitive)
return;
bool portOk = true;
if(UtilGtk.ComboGetActive(combo) == Constants.ChronopicDefaultPortWindows ||
UtilGtk.ComboGetActive(combo) == Constants.ChronopicDefaultPortLinux)
portOk = false;
if (o == combo_linux1 || o == combo_windows1)
button_connect_cp1.Sensitive = portOk;
else if (o == combo_linux2 || o == combo_windows2)
button_connect_cp2.Sensitive = portOk;
else if (o == combo_linux3 || o == combo_windows3)
button_connect_cp3.Sensitive = portOk;
else if (o == combo_linux4 || o == combo_windows4)
button_connect_cp4.Sensitive = portOk;
else if (o == combo_windows_encoder) {
combo_windows_encoder.Changed -= new EventHandler (on_combo_changed);
encoderPort = UtilGtk.ComboGetActive(combo);
} else if (o == combo_linux_encoder) {
combo_linux_encoder.Changed -= new EventHandler (on_combo_changed);
encoderPort = UtilGtk.ComboGetActive(combo);
}
}