Revert "App: fix property ordering problem when undo/redo (#3255)"

This reverts commit 24d30636e4fb990fdbd67538360846ff09456dfc.
This commit is contained in:
Uwe
2022-02-22 01:21:49 +01:00
parent 17e6ebf120
commit 16467d9067
14 changed files with 68 additions and 250 deletions

View File

@@ -33,7 +33,6 @@
#include "Property.h"
#include "ObjectIdentifier.h"
#include "PropertyContainer.h"
#include "Transactions.h"
#include <Base/Exception.h>
#include <Base/Tools.h>
#include "Application.h"
@@ -62,7 +61,7 @@ Property::Property()
Property::~Property()
{
Transaction::removePendingProperty(this);
}
const char* Property::getName() const
@@ -216,14 +215,9 @@ void Property::destroy(Property *p) {
void Property::touch()
{
PropertyCleaner guard(this);
StatusBits.set(Touched);
if (getName() && father && !Transaction::isApplying(this)) {
if (father)
father->onChanged(this);
if(!testStatus(Busy)) {
Base::BitsetLocker<decltype(StatusBits)> guard(StatusBits,Busy);
signalChanged(*this);
}
}
StatusBits.set(Touched);
}
void Property::setReadOnly(bool readOnly)
@@ -233,7 +227,15 @@ void Property::setReadOnly(bool readOnly)
void Property::hasSetValue(void)
{
touch();
PropertyCleaner guard(this);
if (father) {
father->onChanged(this);
if(!testStatus(Busy)) {
Base::BitsetLocker<decltype(StatusBits)> guard(StatusBits,Busy);
signalChanged(*this);
}
}
StatusBits.set(Touched);
}
void Property::aboutToSetValue(void)