AbiWidget: Fix custom abi comboboxes' enabled state when mainComboBox is changed

When the mainComboBox is updated and its current selection changed via
setAbis, the custom ABI comboboxes weren't updated accordingly.

This is because in setAbis when doing d->m_abi->setCurrentIndex(), the
m_ignoreChanges guard is held which inhibit mainComboBoxChanged
function from doing anything for performance reasons. But the effect of
this is that custom ABI comboboxes were left in their previous state
(enabled or disabled).

This commit ensures the custom ABI comboboxes are updated according to
the new selected item in the mainComboBox at the end of setAbis
function.

Change-Id: Iedabde412a42985697d2cba33ddb6c154f10a68f
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
Alexis Murzeau
2019-10-11 23:46:08 +02:00
parent 9dd96adb7c
commit c7cb7672f0

View File

@@ -188,7 +188,10 @@ void AbiWidget::setAbis(const Abis &abiList, const Abi &currentAbi)
setCustomAbiComboBoxes(defaultAbi);
}
emitAbiChanged(defaultAbi);
// Update disabled state according to new automatically selected item in main ABI combobox.
// This will call emitAbiChanged with the actual selected ABI.
mainComboBoxChanged();
}
Abis AbiWidget::supportedAbis() const