diff options
author | Jere Tuliniemi <jere.tuliniemi@qt.io> | 2018-11-01 12:39:07 +0200 |
---|---|---|
committer | Jere Tuliniemi <jere.tuliniemi@qt.io> | 2018-11-08 09:23:39 +0000 |
commit | d83485316ebadece66fe2c520c77e509a2a1b10a (patch) | |
tree | 8b4b3384d89e56c0f3892687728beb50b9222aa6 /src/Authoring/Studio/Palettes/Timeline/Bindings/Qt3DSDMTimelineItemBinding.cpp | |
parent | adc998bde6e9ec4ac67656b853387a42ea9c1d7f (diff) |
Prevent "MaterialContainer" as a user-entered name
This name is only disabled for immediate children of the Scene object.
Task-number: QT3DS-2108
Change-Id: Id57be2f9f8a78ac1ca21ebcc2199cfcaae8851ee
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Diffstat (limited to 'src/Authoring/Studio/Palettes/Timeline/Bindings/Qt3DSDMTimelineItemBinding.cpp')
-rw-r--r-- | src/Authoring/Studio/Palettes/Timeline/Bindings/Qt3DSDMTimelineItemBinding.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/Authoring/Studio/Palettes/Timeline/Bindings/Qt3DSDMTimelineItemBinding.cpp b/src/Authoring/Studio/Palettes/Timeline/Bindings/Qt3DSDMTimelineItemBinding.cpp index 8401a523..e8b48a4d 100644 --- a/src/Authoring/Studio/Palettes/Timeline/Bindings/Qt3DSDMTimelineItemBinding.cpp +++ b/src/Authoring/Studio/Palettes/Timeline/Bindings/Qt3DSDMTimelineItemBinding.cpp @@ -363,6 +363,22 @@ void Qt3DSDMTimelineItemBinding::SetName(const Q3DStudio::CString &inName) } CClientDataModelBridge *theBridge = m_StudioSystem->GetClientDataModelBridge(); + const auto doc = g_StudioApp.GetCore()->GetDoc(); + + // Display warning if the name and path are the same as the material container + if (theBridge->GetParentInstance(m_DataHandle) == doc->GetSceneInstance() + && inName.toQString() == theBridge->getMaterialContainerName()) { + QString theTitle = QObject::tr("Rename Object Error"); + QString theString = theBridge->getMaterialContainerName() + + QObject::tr(" is a reserved name."); + g_StudioApp.GetDialogs()->DisplayMessageBox(theTitle, theString, + Qt3DSMessageBox::ICON_ERROR, false); + // The timeline still shows the new name so refresh the name property + m_StudioSystem->GetFullSystemSignalSender()->SendInstancePropertyValue( + m_DataHandle, theBridge->GetNameProperty()); + return; + } + // Display warning if we had to modify the user-given name to make it unique if (!theBridge->CheckNameUnique(theBridge->GetParentInstance(m_DataHandle), m_DataHandle, inName)) { |