Expose init executor instance#37
Conversation
|
Related bitcoin-core/gui#434 |
|
Concept ACK. |
b234d28 to
7ce287c
Compare
To elaborate, I'm "Concept ACK" on:
But I'm not sure it is required to expose an A relevant discussion in bitcoin-core/gui#434:
On of the main goals of starting this project is involving Bitcoin Design community in the development process from the day 0. And to achieve it, keeping QML files as simple as possible is important for the project. As were mentioned in #31, with the current approach:
Anyway, as bitcoin-core/gui#434 is merged, this PR requires rebasing on top of the updated sync with the main repo that is currently blocked by #41. |
There was a problem hiding this comment.
Currently the designer is already exposed to nodeModel and nodeModel.startNodeInitializionThread(). And eventually it will have to be exposed to more stuff since that's the way QML works.
This change at least removes the wiring from InitExecutor and NodeModel.
Follow-ups can improve how QML deals with the application state.
It is all about the same object :)
"more stuff" could remain the same single
But it exposes another object into QML code. Having the only object, which is exposed to the QML, has a simple benefit of a guarantee that its internal state, i.e. internal state of the C++ backend, is consistent at anytime. |
7ce287c to
a48f6db
Compare
This PR exposes
InitExecutorinstance to QML so that we can:The
InitExecutoris then kept in the main GUI thread (otherwise QML engine complains) and the instance is exposed in the root engine context.This change also removes the "proxy role" of
NodeModel. Further simplifications/improvements will follow, but I'd like to present this approach first before going forward.