{
}
+SyncableObject::~SyncableObject() {
+ QList<SignalProxy *>::iterator proxyIter = _signalProxies.begin();
+ while(proxyIter != _signalProxies.end()) {
+ SignalProxy *proxy = (*proxyIter);
+ proxyIter = _signalProxies.erase(proxyIter);
+ proxy->stopSynchronize(this);
+ }
+}
+
SyncableObject &SyncableObject::operator=(const SyncableObject &other) {
if(this == &other)
return *this;
const QString oldName = objectName();
if(oldName != newName) {
setObjectName(newName);
- emit objectRenamed(newName, oldName);
+ foreach(SignalProxy *proxy, _signalProxies) {
+ proxy->renameObject(this, newName, oldName);
+ }
}
}
return;
_signalProxies << proxy;
}
+
+void SyncableObject::stopSynchronize(SignalProxy *proxy) {
+ for(int i = 0; i < _signalProxies.count(); i++) {
+ if(_signalProxies[i] == proxy) {
+ _signalProxies.removeAt(i);
+ break;
+ }
+ }
+}