Bug fixes

This commit is contained in:
2019-06-13 00:05:10 +02:00
parent 3cbe947408
commit f6aaebafc6
5 changed files with 20 additions and 5 deletions

View File

@ -128,6 +128,12 @@ bool Item::removeActor(Actor* actor)
return false; return false;
} }
void Item::removeAllActors()
{
for(unsigned int i = 0; i < actors_.size(); i++) delete actors_[i];
actors_.clear();
}
std::vector< Actor* >& Item::getActors() std::vector< Actor* >& Item::getActors()
{ {
return actors_; return actors_;

View File

@ -59,6 +59,7 @@ public:
bool hasActors(); bool hasActors();
void addActor(Actor* actor); void addActor(Actor* actor);
bool removeActor(Actor* actor); bool removeActor(Actor* actor);
void removeAllActors();
bool actorsActive() const; bool actorsActive() const;
void setActorsActive(bool in); void setActorsActive(bool in);
void informValue(uint8_t value); void informValue(uint8_t value);

View File

@ -91,7 +91,6 @@ void ItemStore::load(const QJsonObject& json, Microcontroller * const micro)
if(itemsArray[i].isObject()) if(itemsArray[i].isObject())
{ {
const QJsonObject itemObject = itemsArray[i].toObject(); const QJsonObject itemObject = itemsArray[i].toObject();
if(!itemObject["Name"].isObject()) qDebug()<<"no name";
std::shared_ptr<Relay> newItem; std::shared_ptr<Relay> newItem;
if(itemObject["Type"].toString("") == "Relay") if(itemObject["Type"].toString("") == "Relay")
{ {

View File

@ -36,7 +36,7 @@ MainObject::MainObject(QIODevice* ioDevice, const QString& settingsPathIn, const
items.addItem(rgbItem); items.addItem(rgbItem);
items.addItem(auxItem); items.addItem(auxItem);
connect(&broadCast, &BroadCast::gotJson, this, &MainObject::load); connect(&broadCast, &BroadCast::gotJson, this, &MainObject::recivedJson);
connect(&broadCast, &BroadCast::jsonRequested, this, &MainObject::sendJson); connect(&broadCast, &BroadCast::jsonRequested, this, &MainObject::sendJson);
if(master) load(getJsonObjectFromDisk(settingsPath)); if(master) load(getJsonObjectFromDisk(settingsPath));
@ -68,9 +68,11 @@ void MainObject::store(QJsonObject &json)
json.insert("Power", powerObject); json.insert("Power", powerObject);
} }
void MainObject::load(const QJsonObject json) void MainObject::load(const QJsonObject& json)
{ {
items.clear(); items.clear();
rgbItem->removeAllActors();
auxItem->removeAllActors();
items.addItem(rgbItem); items.addItem(rgbItem);
items.addItem(auxItem); items.addItem(auxItem);
items.load(json, &micro); items.load(json, &micro);
@ -78,13 +80,18 @@ void MainObject::load(const QJsonObject json)
qDebug()<<"aray size: "<<json.isEmpty(); qDebug()<<"aray size: "<<json.isEmpty();
if(json["Items"].toArray().size() >= 2) if(json["Items"].toArray().size() >= 2)
{ {
rgbItem->load(json["Items"].toArray()[0].toObject()); rgbItem->load(json["Items"].toArray()[0].toObject());
auxItem->load(json["Items"].toArray()[1].toObject()); auxItem->load(json["Items"].toArray()[1].toObject());
} }
micro.requestState(); micro.requestState();
} }
void MainObject::recivedJson(const QJsonObject json)
{
if(master)storeJsonObjectToDisk(json, settingsPath);
load(json);
}
void MainObject::sendJson() void MainObject::sendJson()
{ {
QJsonObject json; QJsonObject json;

View File

@ -73,13 +73,15 @@ public:
~MainObject(); ~MainObject();
void store(QJsonObject& json); void store(QJsonObject& json);
void load(const QJsonObject& json);
signals: signals:
public slots: public slots:
void load(const QJsonObject json);
void sendJson(); void sendJson();
void recivedJson(const QJsonObject json);
}; };