fix: get rid of duplicate scale events #5404
Merged
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.
Previously, two scale events were emitted to fix #1266. This PR fixes #1266 by introducing
NotebookTab::normalTabWidthForHeight
which computes the width for the height after scaling (inNotebookTab::updateSize
). This would previously require two invocations (first one to set the height and second one the width). Furthermore, it gets rid of refreshing the notebook too often (~> performing layout for every tab).As a next step, this PR checks if the scale has changed at all in
BaseWidget::setScale
. This will probably introduce some bugs, but I think it's better to address these individually instead of spamming scale events (like I did for SplitHeader).