Skip to content

Commit 2f1accb

Browse files
authored
Merge pull request #25886 from krasko78/23033-PartsDisplayedZoomedWhenTheNavigatorIsActive
23033: Parts are displayed at incorrect zoom level when the Navigator is open
2 parents 05dd28d + f00043e commit 2f1accb

File tree

4 files changed

+26
-4
lines changed

4 files changed

+26
-4
lines changed

src/notation/view/abstractnotationpaintview.cpp

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -230,8 +230,7 @@ void AbstractNotationPaintView::onCurrentNotationChanged()
230230
void AbstractNotationPaintView::onLoadNotation(INotationPtr)
231231
{
232232
if (viewport().isValid() && !m_notation->viewState()->isMatrixInited()) {
233-
m_inputController->initZoom();
234-
m_inputController->initCanvasPos();
233+
initZoomAndPosition();
235234
}
236235

237236
if (publishMode()) {
@@ -343,6 +342,10 @@ void AbstractNotationPaintView::onUnloadNotation(INotationPtr)
343342
}
344343
}
345344

345+
void AbstractNotationPaintView::initZoomAndPosition()
346+
{
347+
}
348+
346349
void AbstractNotationPaintView::setMatrix(const Transform& matrix)
347350
{
348351
if (m_matrix == matrix) {
@@ -391,8 +394,7 @@ void AbstractNotationPaintView::onViewSizeChanged()
391394

392395
if (viewport().isValid()) {
393396
if (!notation()->viewState()->isMatrixInited()) {
394-
m_inputController->initZoom();
395-
m_inputController->initCanvasPos();
397+
initZoomAndPosition();
396398
} else {
397399
m_inputController->updateZoomAfterSizeChange();
398400
}
@@ -424,6 +426,11 @@ void AbstractNotationPaintView::updateLoopMarkers()
424426
scheduleRedraw();
425427
}
426428

429+
NotationViewInputController* AbstractNotationPaintView::inputController() const
430+
{
431+
return m_inputController.get();
432+
}
433+
427434
INotationPtr AbstractNotationPaintView::notation() const
428435
{
429436
return m_notation;

src/notation/view/abstractnotationpaintview.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,9 @@ class AbstractNotationPaintView : public muse::uicomponents::QuickPaintedView, p
168168
protected:
169169
INotationPtr notation() const;
170170
void setNotation(INotationPtr notation);
171+
172+
NotationViewInputController* inputController() const;
173+
171174
void setReadonly(bool readonly);
172175
void setMatrix(const muse::draw::Transform& matrix);
173176

@@ -184,6 +187,8 @@ class AbstractNotationPaintView : public muse::uicomponents::QuickPaintedView, p
184187
virtual void onLoadNotation(INotationPtr notation);
185188
virtual void onUnloadNotation(INotationPtr notation);
186189

190+
virtual void initZoomAndPosition();
191+
187192
virtual void onMatrixChanged(const muse::draw::Transform& oldMatrix, const muse::draw::Transform& newMatrix, bool overrideZoomType);
188193

189194
protected slots:

src/notation/view/notationpaintview.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,14 @@ void NotationPaintView::onUnloadNotation(INotationPtr notation)
5454
notation->viewState()->matrixChanged().resetOnReceive(this);
5555
}
5656

57+
void NotationPaintView::initZoomAndPosition()
58+
{
59+
if (notation() && !notation()->viewState()->isMatrixInited()) {
60+
inputController()->initZoom();
61+
inputController()->initCanvasPos();
62+
}
63+
}
64+
5765
void NotationPaintView::onMatrixChanged(const Transform& oldMatrix, const Transform& newMatrix, bool overrideZoomType)
5866
{
5967
AbstractNotationPaintView::onMatrixChanged(oldMatrix, newMatrix, overrideZoomType);

src/notation/view/notationpaintview.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ class NotationPaintView : public AbstractNotationPaintView
3434
void onLoadNotation(INotationPtr notation) override;
3535
void onUnloadNotation(INotationPtr notation) override;
3636

37+
void initZoomAndPosition() override;
38+
3739
void onMatrixChanged(const muse::draw::Transform& oldMatrix, const muse::draw::Transform& newMatrix,
3840
bool overrideZoomType = true) override;
3941

0 commit comments

Comments
 (0)