From 93999abafa563fa2e7737367ead05fa3e5a39cb4 Mon Sep 17 00:00:00 2001 From: Carl Philipp Klemm Date: Sun, 26 Apr 2026 00:04:49 +0200 Subject: [PATCH] Ui: support showing and hideing hidden items in the sensor list --- src/items/poweritem.cpp | 4 ++-- src/items/poweritem.h | 1 - src/ui/mainwindow.cpp | 1 + src/ui/mainwindow.ui | 7 +++++++ src/ui/sensorlistwidget.cpp | 3 ++- src/ui/sensorlistwidget.h | 3 ++- 6 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/items/poweritem.cpp b/src/items/poweritem.cpp index 743c456..d37e233 100644 --- a/src/items/poweritem.cpp +++ b/src/items/poweritem.cpp @@ -6,7 +6,7 @@ PowerItem::PowerItem(uint32_t itemIdIn, QString name, uint8_t value, QObject* parent): Item(itemIdIn, name, value, parent) { - stateChanged(Sensor(Sensor::TYPE_SHUTDOWN_IMMINENT, 0, 0, "Shutdown Imminent", true), SENSOR_UPDATE_BACKEND); + globalSensors.sensorGotState(Sensor(Sensor::TYPE_SHUTDOWN_IMMINENT, 0, 0, "Shutdown Imminent", true), SENSOR_UPDATE_BACKEND); value_ = true; hidden_ = true; type_ = ITEM_VALUE_NO_VALUE; @@ -18,7 +18,7 @@ void PowerItem::enactValue(uint8_t value) { qDebug()<<"shutdown"; QTimer::singleShot(5000, this, &PowerItem::timeout); - stateChanged(Sensor(Sensor::TYPE_SHUTDOWN_IMMINENT, 0, 1, "Shutdown Imminent", true), SENSOR_UPDATE_BACKEND); + globalSensors.sensorGotState(Sensor(Sensor::TYPE_SHUTDOWN_IMMINENT, 0, 1, "Shutdown Imminent", true), SENSOR_UPDATE_BACKEND); } } diff --git a/src/items/poweritem.h b/src/items/poweritem.h index 216927e..1d50e90 100644 --- a/src/items/poweritem.h +++ b/src/items/poweritem.h @@ -12,7 +12,6 @@ class PowerItem: public Item private: signals: - void stateChanged(Sensor sensor, sensor_update_type_t type = SENSOR_UPDATE_BACKEND); private slots: diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp index 369d3e9..fe5b5ba 100644 --- a/src/ui/mainwindow.cpp +++ b/src/ui/mainwindow.cpp @@ -46,6 +46,7 @@ MainWindow::MainWindow(MainObject * const mainObject, QWidget *parent) : connect(ui->pushButton_addItem, &QPushButton::clicked, this, &MainWindow::showItemCreationDialog); connect(ui->relayList, &ItemScrollBox::deleteRequest, &globalItems, &ItemStore::removeItem); + connect(ui->checkBox_sensorsShowHidden, &QCheckBox::clicked, ui->sensorListView, &SensorListWidget::setShowHidden); ui->splitter->setStretchFactor(1, 1); } diff --git a/src/ui/mainwindow.ui b/src/ui/mainwindow.ui index 693bb9f..c15ce64 100644 --- a/src/ui/mainwindow.ui +++ b/src/ui/mainwindow.ui @@ -106,6 +106,13 @@ + + + + Show Hidden + + + diff --git a/src/ui/sensorlistwidget.cpp b/src/ui/sensorlistwidget.cpp index 634dcb1..f4a5cb6 100644 --- a/src/ui/sensorlistwidget.cpp +++ b/src/ui/sensorlistwidget.cpp @@ -101,7 +101,8 @@ const Sensor& SensorListWidget::getSensorForIndex(const QModelIndex &index) void SensorListWidget::setShowHidden(const bool showHidden) { - showHidden_=showHidden; + showHidden_ = showHidden; + sensorsChanged(*globalSensors.getSensors()); } const Sensor& SensorListItem::getSensor() diff --git a/src/ui/sensorlistwidget.h b/src/ui/sensorlistwidget.h index 0aceabc..7039ef7 100644 --- a/src/ui/sensorlistwidget.h +++ b/src/ui/sensorlistwidget.h @@ -23,11 +23,12 @@ public: SensorListWidget(const bool showHidden = true, QWidget* parent = nullptr); SensorListWidget(SensorStore& sensorStore, const bool showHidden = true, QWidget* parent = nullptr); virtual ~SensorListWidget() {} - void setShowHidden(const bool showHidden); + const Sensor& getSensorForIndex(const QModelIndex &index); public slots: + void setShowHidden(const bool showHidden); void sensorsChanged(std::vector sensors); private slots: