--- a/src/model.h Tue Nov 02 15:43:57 2021 +0200 +++ b/src/model.h Tue Mar 01 17:00:19 2022 +0200 @@ -70,7 +70,7 @@ void makeUnofficial(); Q_SIGNALS: void objectAdded(ldraw::id_t id, int position); - void objectModified(ldraw::id_t id, int position); + void objectStateChanged(int position, const QByteArray& stateBefore, const QByteArray& stateAfter); private: using ModelObjectPointer = std::unique_ptr<ldraw::Object>; template<typename T, typename... Args> @@ -155,7 +155,7 @@ } template<typename T, typename... Args> -ldraw::Id<T> Model::append(Args&&... args) +T* Model::append(Args&&... args) { const int position = static_cast<int>(this->body.size()); Q_EMIT beginInsertRows({}, position, position); @@ -169,7 +169,7 @@ } template<typename T, typename... Args> -ldraw::Id<T> Model::insert(const std::size_t position, Args&&... args) +T* Model::insert(const std::size_t position, Args&&... args) { Q_EMIT beginInsertRows({}, position, position); this->body.insert(std::begin(this->body) + position, std::make_unique<T>(args...));