Use deleteLater() in model cleanups in order to prevent QML evaluation errors
This commit is contained in:
parent
dd996d08e1
commit
c7cb2d794b
@ -123,7 +123,9 @@ QHash<int, QByteArray> TemperatureDaySchedule::roleNames() const
|
||||
void TemperatureDaySchedule::clear()
|
||||
{
|
||||
beginResetModel();
|
||||
qDeleteAll(m_list);
|
||||
foreach (TemperatureSchedule *schedule, m_list)
|
||||
schedule->deleteLater();
|
||||
|
||||
m_list.clear();
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
@ -90,7 +90,7 @@ signals:
|
||||
void countChanged();
|
||||
|
||||
private:
|
||||
QList<TemperatureSchedule*> m_list;
|
||||
QList<TemperatureSchedule *> m_list;
|
||||
};
|
||||
|
||||
class TemperatureWeekSchedule: public QAbstractListModel
|
||||
|
||||
@ -127,7 +127,9 @@ MqttPolicy *MqttPolicies::get(int index) const
|
||||
void MqttPolicies::clear()
|
||||
{
|
||||
beginResetModel();
|
||||
qDeleteAll(m_list);
|
||||
foreach (MqttPolicy* policy, m_list)
|
||||
policy->deleteLater();
|
||||
|
||||
m_list.clear();
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
@ -107,7 +107,9 @@ void ServerConfigurations::removeConfiguration(const QString &id)
|
||||
void ServerConfigurations::clear()
|
||||
{
|
||||
beginResetModel();
|
||||
qDeleteAll(m_list);
|
||||
foreach (ServerConfiguration *config, m_list)
|
||||
config->deleteLater();
|
||||
|
||||
m_list.clear();
|
||||
endResetModel();
|
||||
emit countChanged();
|
||||
|
||||
@ -422,7 +422,9 @@ void EnergyLogs::clear()
|
||||
{
|
||||
int count = static_cast<int>(m_list.count());
|
||||
beginResetModel();
|
||||
qDeleteAll(m_list);
|
||||
foreach (EnergyLogEntry *entry, m_list)
|
||||
entry->deleteLater();
|
||||
|
||||
m_list.clear();
|
||||
endResetModel();
|
||||
emit countChanged();
|
||||
|
||||
@ -156,7 +156,9 @@ void ModbusRtuMasters::removeModbusRtuMaster(const QUuid &modbusUuid)
|
||||
void ModbusRtuMasters::clear()
|
||||
{
|
||||
beginResetModel();
|
||||
qDeleteAll(m_modbusRtuMasters);
|
||||
foreach (ModbusRtuMaster *master, m_modbusRtuMasters)
|
||||
master->deleteLater();
|
||||
|
||||
m_modbusRtuMasters.clear();
|
||||
endResetModel();
|
||||
emit countChanged();
|
||||
|
||||
@ -150,7 +150,9 @@ void LogsModel::setTypeIds(const QStringList &typeIds)
|
||||
emit typeIdsChanged();
|
||||
qCDebug(dcLogEngine()) << "Resetting model because type ids changed";
|
||||
beginResetModel();
|
||||
qDeleteAll(m_list);
|
||||
foreach (LogEntry *entry, m_list)
|
||||
entry->deleteLater();
|
||||
|
||||
m_list.clear();
|
||||
m_generatedEntries = 0;
|
||||
endResetModel();
|
||||
|
||||
@ -161,7 +161,9 @@ void LogsModelNg::setTypeIds(const QStringList &typeIds)
|
||||
m_typeIds = fixedTypeIds;
|
||||
emit typeIdsChanged();
|
||||
beginResetModel();
|
||||
qDeleteAll(m_list);
|
||||
foreach (LogEntry *entry, m_list)
|
||||
entry->deleteLater();
|
||||
|
||||
m_list.clear();
|
||||
endResetModel();
|
||||
fetchMore();
|
||||
|
||||
@ -358,7 +358,9 @@ void NewLogsModel::clear()
|
||||
{
|
||||
int count = static_cast<int>(m_list.count());
|
||||
beginResetModel();
|
||||
qDeleteAll(m_list);
|
||||
foreach (NewLogEntry *entry, m_list)
|
||||
entry->deleteLater();
|
||||
|
||||
m_list.clear();
|
||||
m_currentNewest = QDateTime();
|
||||
m_lastOffset = 0;
|
||||
@ -447,7 +449,9 @@ void NewLogsModel::logsReply(int commandId, const QVariantMap &data)
|
||||
m_list.clear();
|
||||
endResetModel();
|
||||
emit entriesRemoved(0, oldEntries.count());
|
||||
qDeleteAll(oldEntries);
|
||||
|
||||
foreach (NewLogEntry *entry, oldEntries)
|
||||
entry->deleteLater();
|
||||
|
||||
if (!entries.isEmpty()) {
|
||||
beginInsertRows(QModelIndex(), 0, static_cast<int>(entries.count()) - 1);
|
||||
|
||||
@ -60,8 +60,11 @@ void ServerLoggingCategories::createFromVariantList(const QVariantList &loggingC
|
||||
{
|
||||
beginResetModel();
|
||||
|
||||
if (!m_list.isEmpty())
|
||||
qDeleteAll(m_list);
|
||||
if (!m_list.isEmpty()) {
|
||||
foreach (ServerLoggingCategory *category, m_list) {
|
||||
category->deleteLater();
|
||||
}
|
||||
}
|
||||
|
||||
foreach(const QVariant &categoryVariant, loggingCategories) {
|
||||
QVariantMap categoryMap = categoryVariant.toMap();
|
||||
|
||||
@ -102,7 +102,9 @@ void ThingClasses::addThingClass(ThingClass *thingClass)
|
||||
void ThingClasses::clearModel()
|
||||
{
|
||||
beginResetModel();
|
||||
qDeleteAll(m_thingClasses);
|
||||
foreach (ThingClass *thingClass, m_thingClasses)
|
||||
thingClass->deleteLater();
|
||||
|
||||
m_thingClasses.clear();
|
||||
endResetModel();
|
||||
emit countChanged();
|
||||
|
||||
@ -23,7 +23,6 @@
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
#include "things.h"
|
||||
#include "engine.h"
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
@ -148,7 +147,9 @@ void Things::removeThing(Thing *thing)
|
||||
void Things::clearModel()
|
||||
{
|
||||
beginResetModel();
|
||||
qDeleteAll(m_things);
|
||||
foreach (Thing *thing, m_things)
|
||||
thing->deleteLater();
|
||||
|
||||
m_things.clear();
|
||||
endResetModel();
|
||||
emit countChanged();
|
||||
|
||||
@ -90,7 +90,9 @@ void IOConnections::removeIOConnection(const QUuid &ioConnectionId)
|
||||
void IOConnections::clearModel()
|
||||
{
|
||||
beginResetModel();
|
||||
qDeleteAll(m_list);
|
||||
foreach (IOConnection *connection, m_list)
|
||||
connection->deleteLater();
|
||||
|
||||
m_list.clear();
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
@ -124,7 +124,9 @@ NetworkDevice *NetworkDevices::getNetworkDevice(const QString &interface)
|
||||
void NetworkDevices::clear()
|
||||
{
|
||||
beginResetModel();
|
||||
qDeleteAll(m_list);
|
||||
foreach (NetworkDevice *device, m_list)
|
||||
device->deleteLater();
|
||||
|
||||
m_list.clear();
|
||||
endResetModel();
|
||||
emit countChanged();
|
||||
|
||||
@ -146,7 +146,9 @@ Package *Packages::getPackage(const QString &packageId)
|
||||
void Packages::clear()
|
||||
{
|
||||
beginResetModel();
|
||||
qDeleteAll(m_list);
|
||||
foreach (Package *package, m_list)
|
||||
package->deleteLater();
|
||||
|
||||
m_list.clear();
|
||||
endResetModel();
|
||||
emit countChanged();
|
||||
|
||||
@ -64,7 +64,7 @@ signals:
|
||||
void countChanged();
|
||||
|
||||
private:
|
||||
QList<Package*> m_list;
|
||||
QList<Package *> m_list;
|
||||
};
|
||||
|
||||
#endif // PACKAGES_H
|
||||
|
||||
@ -119,7 +119,9 @@ void ParamDescriptors::setParamDescriptorByName(const QString ¶mName, const
|
||||
void ParamDescriptors::clear()
|
||||
{
|
||||
beginResetModel();
|
||||
qDeleteAll(m_list);
|
||||
foreach (ParamDescriptor *descriptor, m_list)
|
||||
descriptor->deleteLater();
|
||||
|
||||
m_list.clear();
|
||||
endResetModel();
|
||||
emit countChanged();
|
||||
|
||||
@ -91,7 +91,9 @@ void Plugins::addPlugin(Plugin *plugin)
|
||||
void Plugins::clearModel()
|
||||
{
|
||||
beginResetModel();
|
||||
qDeleteAll(m_plugins);
|
||||
foreach (Plugin *plugin, m_plugins)
|
||||
plugin->deleteLater();
|
||||
|
||||
m_plugins.clear();
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
@ -111,7 +111,9 @@ void Repositories::removeRepository(const QString &repositoryId)
|
||||
void Repositories::clear()
|
||||
{
|
||||
beginResetModel();
|
||||
qDeleteAll(m_list);
|
||||
foreach (Repository *repo, m_list)
|
||||
repo->deleteLater();
|
||||
|
||||
m_list.clear();
|
||||
endResetModel();
|
||||
emit countChanged();
|
||||
|
||||
@ -198,7 +198,9 @@ bool RuleActionParams::hasRuleActionParam(const QUuid ¶mTypeId) const
|
||||
void RuleActionParams::clear()
|
||||
{
|
||||
beginResetModel();
|
||||
qDeleteAll(m_list);
|
||||
foreach (RuleActionParam *param, m_list)
|
||||
param->deleteLater();
|
||||
|
||||
m_list.clear();
|
||||
endResetModel();
|
||||
emit countChanged();
|
||||
|
||||
@ -35,7 +35,9 @@ Rules::Rules(QObject *parent) : QAbstractListModel(parent)
|
||||
void Rules::clear()
|
||||
{
|
||||
beginResetModel();
|
||||
qDeleteAll(m_list);
|
||||
foreach (Rule *rule, m_list)
|
||||
rule->deleteLater();
|
||||
|
||||
m_list.clear();
|
||||
endResetModel();
|
||||
emit countChanged();
|
||||
|
||||
@ -60,7 +60,9 @@ QHash<int, QByteArray> Scripts::roleNames() const
|
||||
void Scripts::clear()
|
||||
{
|
||||
beginResetModel();
|
||||
qDeleteAll(m_list);
|
||||
foreach (Script *script, m_list)
|
||||
script->deleteLater();
|
||||
|
||||
m_list.clear();
|
||||
endResetModel();
|
||||
emit countChanged();
|
||||
|
||||
@ -87,7 +87,9 @@ void SerialPorts::removeSerialPort(const QString &systemLocation)
|
||||
void SerialPorts::clear()
|
||||
{
|
||||
beginResetModel();
|
||||
qDeleteAll(m_serialPorts);
|
||||
foreach (SerialPort *port, m_serialPorts)
|
||||
port->deleteLater();
|
||||
|
||||
m_serialPorts.clear();
|
||||
endResetModel();
|
||||
emit countChanged();
|
||||
|
||||
@ -118,7 +118,9 @@ QList<StateType *> StateTypes::ioStateTypes(Types::IOType ioType) const
|
||||
void StateTypes::clearModel()
|
||||
{
|
||||
beginResetModel();
|
||||
qDeleteAll(m_stateTypes);
|
||||
foreach (StateType *stateType, m_stateTypes)
|
||||
stateType->deleteLater();
|
||||
|
||||
m_stateTypes.clear();
|
||||
endResetModel();
|
||||
emit countChanged();
|
||||
|
||||
@ -138,7 +138,9 @@ Tag *Tags::findRuleTag(const QUuid &ruleId, const QString &tagId) const
|
||||
void Tags::clear()
|
||||
{
|
||||
beginResetModel();
|
||||
qDeleteAll(m_list);
|
||||
foreach (Tag *tag, m_list)
|
||||
tag->deleteLater();
|
||||
|
||||
m_list.clear();
|
||||
endResetModel();
|
||||
emit countChanged();
|
||||
|
||||
@ -67,7 +67,9 @@ void Vendors::addVendor(Vendor *vendor)
|
||||
void Vendors::clearModel()
|
||||
{
|
||||
beginResetModel();
|
||||
qDeleteAll(m_vendors);
|
||||
foreach (Vendor *vendor, m_vendors)
|
||||
vendor->deleteLater();
|
||||
|
||||
m_vendors.clear();
|
||||
endResetModel();
|
||||
emit countChanged();
|
||||
|
||||
@ -42,7 +42,9 @@ void WirelessAccessPoints::setWirelessAccessPoints(QList<WirelessAccessPoint *>
|
||||
beginResetModel();
|
||||
|
||||
// Delete all
|
||||
qDeleteAll(m_wirelessAccessPoints);
|
||||
foreach (WirelessAccessPoint *ap, m_wirelessAccessPoints)
|
||||
ap->deleteLater();
|
||||
|
||||
m_wirelessAccessPoints.clear();
|
||||
|
||||
m_wirelessAccessPoints = wirelessAccessPoints;
|
||||
@ -108,7 +110,9 @@ WirelessAccessPoint *WirelessAccessPoints::get(int index)
|
||||
void WirelessAccessPoints::clearModel()
|
||||
{
|
||||
beginResetModel();
|
||||
qDeleteAll(m_wirelessAccessPoints);
|
||||
foreach (WirelessAccessPoint *ap, m_wirelessAccessPoints)
|
||||
ap->deleteLater();
|
||||
|
||||
m_wirelessAccessPoints.clear();
|
||||
endResetModel();
|
||||
emit countChanged();
|
||||
|
||||
@ -93,7 +93,9 @@ void BluetoothDeviceInfos::addBluetoothDeviceInfo(BluetoothDeviceInfo *deviceInf
|
||||
void BluetoothDeviceInfos::clearModel()
|
||||
{
|
||||
beginResetModel();
|
||||
qDeleteAll(m_deviceInfos);
|
||||
foreach (BluetoothDeviceInfo *deviceInfo, m_deviceInfos)
|
||||
deviceInfo->deleteLater();
|
||||
|
||||
m_deviceInfos.clear();
|
||||
endResetModel();
|
||||
emit countChanged();
|
||||
|
||||
@ -123,7 +123,9 @@ void ZigbeeAdapters::removeAdapter(const QString &serialPort)
|
||||
void ZigbeeAdapters::clear()
|
||||
{
|
||||
beginResetModel();
|
||||
qDeleteAll(m_adapters);
|
||||
foreach (ZigbeeAdapter *adapter, m_adapters)
|
||||
adapter->deleteLater();
|
||||
|
||||
m_adapters.clear();
|
||||
endResetModel();
|
||||
emit countChanged();
|
||||
|
||||
@ -179,7 +179,9 @@ void ZigbeeNetworks::removeNetwork(const QUuid &networkUuid)
|
||||
void ZigbeeNetworks::clear()
|
||||
{
|
||||
beginResetModel();
|
||||
qDeleteAll(m_networks);
|
||||
foreach (ZigbeeNetwork *network, m_networks)
|
||||
network->deleteLater();
|
||||
|
||||
m_networks.clear();
|
||||
endResetModel();
|
||||
emit countChanged();
|
||||
|
||||
@ -164,7 +164,9 @@ void ZigbeeNodes::removeNode(const QString &ieeeAddress)
|
||||
void ZigbeeNodes::clear()
|
||||
{
|
||||
beginResetModel();
|
||||
qDeleteAll(m_nodes);
|
||||
foreach (ZigbeeNode *node, m_nodes)
|
||||
node->deleteLater();
|
||||
|
||||
m_nodes.clear();
|
||||
endResetModel();
|
||||
emit countChanged();
|
||||
|
||||
@ -212,8 +212,12 @@ QHash<int, QByteArray> ZWaveNetworks::roleNames() const
|
||||
void ZWaveNetworks::clear()
|
||||
{
|
||||
beginResetModel();
|
||||
qDeleteAll(m_list);
|
||||
foreach (ZWaveNetwork *network, m_list)
|
||||
network->deleteLater();
|
||||
|
||||
m_list.clear();
|
||||
endResetModel();
|
||||
emit countChanged();
|
||||
}
|
||||
|
||||
void ZWaveNetworks::addNetwork(ZWaveNetwork *network)
|
||||
|
||||
@ -334,7 +334,10 @@ QHash<int, QByteArray> ZWaveNodes::roleNames() const
|
||||
void ZWaveNodes::clear()
|
||||
{
|
||||
beginResetModel();
|
||||
qDeleteAll(m_list);
|
||||
foreach (ZWaveNode *node, m_list)
|
||||
node->deleteLater();
|
||||
|
||||
m_list.clear();
|
||||
endResetModel();
|
||||
emit countChanged();
|
||||
}
|
||||
|
||||
@ -151,7 +151,9 @@ void DashboardModel::loadFromJson(const QByteArray &json)
|
||||
}
|
||||
beginResetModel();
|
||||
|
||||
qDeleteAll(m_list);
|
||||
foreach (DashboardItem *item, m_list)
|
||||
item->deleteLater();
|
||||
|
||||
m_list.clear();
|
||||
|
||||
QJsonDocument jsonDoc = QJsonDocument::fromJson(json);
|
||||
|
||||
Reference in New Issue
Block a user