FilterNode: Make restoring high and low cut text work consistently #259
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fixes a bug where the last high cut and low cut values for the bandpass filter are not restored properly when loading a settings file (i.e. the text values of the labels; the actual passbands for each channel are already loaded correctly). This is a fairly minor issue, but it gets a little confusing if you've only selected some channels and changed their high and low cuts, and then when you load the settings back in you see the default values rather than the ones you put in.
The issue is that
channelChangedupdates the high and low cut text to correspond to the clicked channel, which is desired behavior except when it is called in the process of loading settings. The param selection states get restored after the editor settings, sochannelChangedgets called for any channels that have been deselected after the high and low cut text have already been restored inFilterEditor::loadCustomParameters. To get around this, I setlastLowCutStringandlastHighCutStringwhen restoring the text, and then reset the labels to these values inloadCustomChannelParametersFromXmlfor each channel - counteractingchannelChangedwhich gets called first.