switched from qsettings to json added editng of actors

This commit is contained in:
Carl Klemm 2019-06-06 21:19:12 +02:00
parent b04fbfb5bc
commit df27b622a0
141 changed files with 4402 additions and 5068 deletions

View file

@ -1,33 +1,47 @@
#include "sensorlistwidget.h"
SensorListWidget::SensorListWidget(QWidget *parent): QListWidget (parent)
{}
#include <QDebug>
#include <QHeaderView>
SensorListWidget::SensorListWidget(SensorStore& sensorStore, QWidget* parent): QListWidget (parent)
SensorListWidget::SensorListWidget(QWidget *parent): QTableWidget(parent)
{
setColumnCount(2);
setSelectionBehavior(QAbstractItemView::SelectRows);
horizontalHeader()->setSectionResizeMode(0, QHeaderView::Stretch);
setHorizontalHeaderItem(0, new QTableWidgetItem("Sensor"));
setHorizontalHeaderItem(1, new QTableWidgetItem("Value"));
}
SensorListWidget::SensorListWidget(SensorStore& sensorStore, QWidget* parent): QTableWidget (parent)
{
sensorsChanged(*(sensorStore.getSensors()));
}
void SensorListWidget::sensorsChanged(std::vector<Sensor> sensors)
{
clear();
setHorizontalHeaderItem(0, new QTableWidgetItem("Sensor"));
setHorizontalHeaderItem(1, new QTableWidgetItem("Value"));
setRowCount(sensors.size());
for(size_t i = 0; i < sensors.size(); ++i)
{
QString itemString = sensors[i].name + ": ";
QString itemString;
itemString.append(QString::number(sensors[i].field));
itemString.append(' ');
if(sensors[i].type == Sensor::TYPE_DOOR)
{
if(sensors[i].field) itemString.append("Open");
else itemString.append("Closed");
if(sensors[i].field) itemString.append("\"Open\"");
else itemString.append("\"Closed\"");
}
else if(sensors[i].type == Sensor::TYPE_AUDIO_OUTPUT)
{
if(sensors[i].field) itemString.append("Playing");
else itemString.append("Silent");
if(sensors[i].field) itemString.append("\"Playing\"");
else itemString.append("\"Silent\"");
}
else itemString.append(QString::number(sensors[i].field));
addItem(itemString);
setItem(i, 0, new QTableWidgetItem(sensors[i].name));
setItem(i, 1, new QTableWidgetItem(itemString));
}
}