Showing the changes to libraries/script-engine/src/ScriptManager.cpp (1 of 11 files). Show all
Unified · Split
| @@ -575,17 +575,13 @@ static ScriptValue createScriptableResourcePrototype(ScriptManagerPointer manage · 574 unmodified lines | |||
| 575 | auto engine = manager->engine(); | 575 | auto engine = manager->engine(); |
| 576 | auto prototype = engine->newObject(); | 576 | auto prototype = engine->newObject(); |
| 577 | 577 | ||
| 578 | // Expose enum State to JS/QML via properties | 578 | auto state = engine->newObject(); |
| 579 | QObject* state = new QObject(manager.get()); | ||
| 580 | state->setObjectName("ResourceState"); | ||
| 581 | auto metaEnum = QMetaEnum::fromType<ScriptableResource::State>(); | 579 | auto metaEnum = QMetaEnum::fromType<ScriptableResource::State>(); |
| 582 | for (int i = 0; i < metaEnum.keyCount(); ++i) { | 580 | for (int i = 0; i < metaEnum.keyCount(); ++i) { |
| 583 | state->setProperty(metaEnum.key(i), metaEnum.value(i)); | 581 | state.setProperty(metaEnum.key(i), metaEnum.value(i)); |
| 584 | } | 582 | } |
| 585 | 583 | ||
| 586 | auto prototypeState = engine->newQObject(state, ScriptEngine::QtOwnership, | 584 | prototype.setProperty("State", state); |
| 587 | ScriptEngine::ExcludeSlots | ScriptEngine::ExcludeSuperClassMethods); | ||
| 588 | prototype.setProperty("State", prototypeState); | ||
| 589 | 585 | ||
| 590 | return prototype; | 586 | return prototype; |
| 591 | } | 587 | } |