Skip to content

Commit 2e3a93a

Browse files
Merge pull request #18531 from RomanPudashkin/fix_updating_offset_property_410
fix_updating_offset_property_410
2 parents 9b84698 + 0423c03 commit 2e3a93a

File tree

8 files changed

+40
-26
lines changed

8 files changed

+40
-26
lines changed

src/inspector/models/abstractinspectorproxymodel.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ class AbstractInspectorProxyModel : public AbstractInspectorModel
6363

6464
void updateModels(const ElementKeySet& newElementKeySet);
6565

66+
void onCurrentNotationChanged() override;
67+
6668
public slots:
6769
void setDefaultSubModelType(mu::inspector::InspectorModelType modelType);
6870

@@ -74,8 +76,6 @@ public slots:
7476
void setModels(const QList<AbstractInspectorModel*>& models);
7577

7678
private:
77-
void onCurrentNotationChanged() override;
78-
7979
QHash<InspectorModelType, AbstractInspectorModel*> m_modelsHash;
8080
InspectorModelType m_defaultSubModelType = InspectorModelType::TYPE_UNDEFINED;
8181
};

src/inspector/models/general/generalsettingsmodel.cpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,12 @@ GeneralSettingsModel::GeneralSettingsModel(QObject* parent, IElementRepositorySe
3333

3434
setTitle(qtrc("inspector", "General"));
3535
setSectionType(InspectorSectionType::SECTION_GENERAL);
36-
setPlaybackProxyModel(new PlaybackProxyModel(this, repository));
37-
setAppearanceSettingsModel(new AppearanceSettingsModel(this, repository));
36+
37+
m_playbackProxyModel = new PlaybackProxyModel(this, repository);
38+
m_playbackProxyModel->init();
39+
40+
m_appearanceSettingsModel = new AppearanceSettingsModel(this, repository);
41+
m_appearanceSettingsModel->init();
3842
}
3943

4044
void GeneralSettingsModel::createProperties()
@@ -124,6 +128,14 @@ void GeneralSettingsModel::loadProperties(const mu::engraving::PropertyIdSet& pr
124128
}
125129
}
126130

131+
void GeneralSettingsModel::onCurrentNotationChanged()
132+
{
133+
AbstractInspectorModel::onCurrentNotationChanged();
134+
135+
m_appearanceSettingsModel->onCurrentNotationChanged();
136+
m_playbackProxyModel->onCurrentNotationChanged();
137+
}
138+
127139
void GeneralSettingsModel::onVisibleChanged(bool visible)
128140
{
129141
beginCommand();
@@ -167,15 +179,3 @@ QObject* GeneralSettingsModel::appearanceSettingsModel() const
167179
{
168180
return m_appearanceSettingsModel;
169181
}
170-
171-
void GeneralSettingsModel::setPlaybackProxyModel(PlaybackProxyModel* playbackProxyModel)
172-
{
173-
m_playbackProxyModel = playbackProxyModel;
174-
emit playbackProxyModelChanged(m_playbackProxyModel);
175-
}
176-
177-
void GeneralSettingsModel::setAppearanceSettingsModel(AppearanceSettingsModel* appearanceSettingsModel)
178-
{
179-
m_appearanceSettingsModel = appearanceSettingsModel;
180-
emit appearanceSettingsModelChanged(m_appearanceSettingsModel);
181-
}

src/inspector/models/general/generalsettingsmodel.h

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ class GeneralSettingsModel : public AbstractInspectorModel
3636
Q_PROPERTY(PropertyItem * isPlayable READ isPlayable CONSTANT)
3737
Q_PROPERTY(PropertyItem * isSmall READ isSmall CONSTANT)
3838

39-
Q_PROPERTY(QObject * playbackProxyModel READ playbackProxyModel NOTIFY playbackProxyModelChanged)
40-
Q_PROPERTY(QObject * appearanceSettingsModel READ appearanceSettingsModel NOTIFY appearanceSettingsModelChanged)
39+
Q_PROPERTY(QObject * playbackProxyModel READ playbackProxyModel CONSTANT)
40+
Q_PROPERTY(QObject * appearanceSettingsModel READ appearanceSettingsModel CONSTANT)
4141

4242
public:
4343
explicit GeneralSettingsModel(QObject* parent, IElementRepositoryService* repository);
@@ -50,13 +50,7 @@ class GeneralSettingsModel : public AbstractInspectorModel
5050
QObject* playbackProxyModel() const;
5151
QObject* appearanceSettingsModel() const;
5252

53-
public slots:
54-
void setPlaybackProxyModel(mu::inspector::PlaybackProxyModel* playbackProxyModel);
55-
void setAppearanceSettingsModel(mu::inspector::AppearanceSettingsModel* appearanceSettingsModel);
56-
57-
signals:
58-
void playbackProxyModelChanged(QObject* playbackProxyModel);
59-
void appearanceSettingsModelChanged(QObject* appearanceSettingsModel);
53+
void onCurrentNotationChanged() override;
6054

6155
private:
6256
void createProperties() override;

src/inspector/models/general/playback/playbackproxymodel.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,5 +43,9 @@ PlaybackProxyModel::PlaybackProxyModel(QObject* parent, IElementRepositoryServic
4343
new GradualTempoChangePlaybackModel(this, repository)
4444
};
4545

46+
for (AbstractInspectorModel* model : models) {
47+
model->init();
48+
}
49+
4650
setModels(models);
4751
}

src/inspector/models/notation/barlines/barlinesettingsproxymodel.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,5 +40,9 @@ BarlineSettingsProxyModel::BarlineSettingsProxyModel(QObject* parent, IElementRe
4040
new StaffSettingsModel(this, repository)
4141
};
4242

43+
for (AbstractInspectorModel* model : models) {
44+
model->init();
45+
}
46+
4347
setModels(models);
4448
}

src/inspector/models/notation/notes/notesettingsproxymodel.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,10 @@ NoteSettingsProxyModel::NoteSettingsProxyModel(QObject* parent, IElementReposito
5050
models << inspectorModelCreator()->newInspectorModel(modelType, this, repository);
5151
}
5252

53+
for (AbstractInspectorModel* model : models) {
54+
model->init();
55+
}
56+
5357
setModels(models);
5458

5559
connect(m_repository->getQObject(), SIGNAL(elementsUpdated(const QList<mu::engraving::EngravingItem*>&)), this,

src/inspector/models/notation/rests/beams/restbeamsettingsmodel.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,11 @@ RestBeamSettingsModel::RestBeamSettingsModel(QObject* parent, IElementRepository
3232
{
3333
setModelType(InspectorModelType::TYPE_BEAM);
3434
setTitle(qtrc("inspector", "Beam"));
35-
setBeamModesModel(new BeamModesModel(this, repository));
35+
36+
BeamModesModel* modesModel = new BeamModesModel(this, repository);
37+
modesModel->init();
38+
39+
setBeamModesModel(modesModel);
3640
}
3741

3842
QObject* RestBeamSettingsModel::beamModesModel() const

src/inspector/models/notation/rests/restsettingsproxymodel.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@ RestSettingsProxyModel::RestSettingsProxyModel(QObject* parent, IElementReposito
4141
models << inspectorModelCreator()->newInspectorModel(modelType, this, repository);
4242
}
4343

44+
for (AbstractInspectorModel* model : models) {
45+
model->init();
46+
}
47+
4448
setModels(models);
4549

4650
connect(m_repository->getQObject(), SIGNAL(elementsUpdated(const QList<mu::engraving::EngravingItem*>&)), this,

0 commit comments

Comments
 (0)