Fix polynomal settings dialog not applying values

This commit is contained in:
Carl Philipp Klemm 2026-04-30 21:04:44 +02:00
parent ad75b0974b
commit 5040a79a93
4 changed files with 20 additions and 6 deletions

View file

@ -6,12 +6,21 @@
#include <QtSerialPort/QtSerialPort> #include <QtSerialPort/QtSerialPort>
#include <QtSerialPort/QSerialPortInfo> #include <QtSerialPort/QSerialPortInfo>
#include <QCommandLineParser> #include <QCommandLineParser>
#include <csignal>
#include "ui/mainwindow.h" #include "ui/mainwindow.h"
#include "items/itemstore.h" #include "items/itemstore.h"
#include "mainobject.h" #include "mainobject.h"
#include "programmode.h" #include "programmode.h"
void sigHandler(int s)
{
std::signal(s, SIG_DFL);
QCoreApplication *app = QCoreApplication::instance();
if(app)
app->quit();
}
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
QCoreApplication::setOrganizationName("UVOS"); QCoreApplication::setOrganizationName("UVOS");
@ -58,6 +67,10 @@ int main(int argc, char *argv[])
int retVal; int retVal;
std::signal(SIGINT, sigHandler);
std::signal(SIGTERM, sigHandler);
std::signal(SIGHUP, sigHandler);
QString uiSettingsPath = QStandardPaths::writableLocation(QStandardPaths::ConfigLocation) + "/smartvos_ui.json"; QString uiSettingsPath = QStandardPaths::writableLocation(QStandardPaths::ConfigLocation) + "/smartvos_ui.json";
if(programMode == PROGRAM_MODE_PRIMARY || programMode == PROGRAM_MODE_HEADLESS_PRIMARY) if(programMode == PROGRAM_MODE_PRIMARY || programMode == PROGRAM_MODE_HEADLESS_PRIMARY)

View file

@ -87,6 +87,8 @@ PrimaryMainObject::PrimaryMainObject(QIODevice* microDevice, const QString& sett
{ {
MqttItem::client = mqttClient; MqttItem::client = mqttClient;
connect(tcpServer, &Server::sigRequestSave, this, [this](){storeToDisk(this->settingsPath);});
//connect sensors subsystem //connect sensors subsystem
connect(&globalSensors, &SensorStore::sensorChangedState, tcpServer, &TcpServer::sensorEvent); connect(&globalSensors, &SensorStore::sensorChangedState, tcpServer, &TcpServer::sensorEvent);
connect(tcpServer, &TcpServer::gotSensor, &globalSensors, &SensorStore::sensorGotState); connect(tcpServer, &TcpServer::gotSensor, &globalSensors, &SensorStore::sensorGotState);

View file

@ -25,10 +25,10 @@ PolynomalActorWidget::PolynomalActorWidget(std::shared_ptr<PolynomalActor> actor
ui->doubleSpinBox_pow2->setValue(pow2); ui->doubleSpinBox_pow2->setValue(pow2);
ui->doubleSpinBox_pow3->setValue(pow3); ui->doubleSpinBox_pow3->setValue(pow3);
connect(ui->doubleSpinBox_pow3, &QDoubleSpinBox::editingFinished, this, &PolynomalActorWidget::setPow); connect(ui->doubleSpinBox_pow3, &QDoubleSpinBox::valueChanged, this, &PolynomalActorWidget::setPow);
connect(ui->doubleSpinBox_pow2, &QDoubleSpinBox::editingFinished, this, &PolynomalActorWidget::setPow); connect(ui->doubleSpinBox_pow2, &QDoubleSpinBox::valueChanged, this, &PolynomalActorWidget::setPow);
connect(ui->doubleSpinBox_pow1, &QDoubleSpinBox::editingFinished, this, &PolynomalActorWidget::setPow); connect(ui->doubleSpinBox_pow1, &QDoubleSpinBox::valueChanged, this, &PolynomalActorWidget::setPow);
connect(ui->doubleSpinBox_pow0, &QDoubleSpinBox::editingFinished, this, &PolynomalActorWidget::setPow); connect(ui->doubleSpinBox_pow0, &QDoubleSpinBox::valueChanged, this, &PolynomalActorWidget::setPow);
connect(ui->listView, &SensorListWidget::clicked, this, &PolynomalActorWidget::setSensor); connect(ui->listView, &SensorListWidget::clicked, this, &PolynomalActorWidget::setSensor);
} }

View file

@ -13,6 +13,7 @@
#include "itemsettingswidgets/relayitemsettingswidget.h" #include "itemsettingswidgets/relayitemsettingswidget.h"
#include "itemsettingswidgets/mqttitemsettingswidget.h" #include "itemsettingswidgets/mqttitemsettingswidget.h"
#include "../items/mqttitem.h" #include "../items/mqttitem.h"
#include<memory> #include<memory>
ItemSettingsDialog::ItemSettingsDialog(std::shared_ptr<Item> item, bool noGroup, QWidget *parent) : ItemSettingsDialog::ItemSettingsDialog(std::shared_ptr<Item> item, bool noGroup, QWidget *parent) :
@ -157,7 +158,6 @@ void ItemSettingsDialog::addActor()
if(dialog != nullptr) if(dialog != nullptr)
{ {
dialog->setParent(this); dialog->setParent(this);
dialog->show();
if(dialog->exec() == QDialog::Accepted) if(dialog->exec() == QDialog::Accepted)
{ {
item_->addActor(actor); item_->addActor(actor);
@ -204,7 +204,6 @@ void ItemSettingsDialog::editActor()
else else
dialog = new ActorSettingsDialog(actor, this); dialog = new ActorSettingsDialog(actor, this);
dialog->show();
dialog->exec(); dialog->exec();
for(int i = 0; i < ui->tableWidget->rowCount() && i < static_cast<int>(item_->getActors().size()); ++i) for(int i = 0; i < ui->tableWidget->rowCount() && i < static_cast<int>(item_->getActors().size()); ++i)