Files
qt5-legatus-legacy/Lts/Plugins/NmeaManagement/Gui/BatteryNotification/nme_battery_info_dialog.h
T
2026-08-13 18:33:10 +02:00

63 lines
1.9 KiB
C++
Executable File

#pragma once
#include <PluginInterfaces/data_plugin_interface.h>
#include <QDialog>
#include <QListWidgetItem>
#include <QTimer>
#include <Proxies/TrainingAreaBase/tab_dtc.h>
#include <Proxies/TrainingAreaBase/tab_ftc.h>
//#include <NmeaManagement/logger.h>
#include <LtsWidgets/lts_dialog.h>
namespace Ui { class NmeBatteryInfoDialog; }
namespace NmeaManagement
{
class NmeBatteryInfoDialog : public LtsWidgets::LtsDialog
{
Q_OBJECT
public:
explicit NmeBatteryInfoDialog(QMap<int,
TrainingAreaBase::BatteryState> currentBatteryStateForId,
const std::shared_ptr<TrainingAreaBase::Interface::Dtc> &tabDtc,
const std::shared_ptr<TrainingAreaBase::Interface::Ftc> &tabFtc,
QWidget *parent = nullptr);
~NmeBatteryInfoDialog();
private:
void resetDialog(bool batteryOne, bool batteryTwo);
private slots:
void onShutdownClicked();
void fillWarnings(const TrainingAreaBase::BatteryAlarm &data, DataModification modType);
void fillStates(const TrainingAreaBase::BatteryInfo &dataArr, DataModification modType);
void onOutdatedFirstBatteryTimerTimeout();
void onOutdatedSecondBatteryTimerTimeout();
signals:
void signalQuit();
void signalSelectScript(int scriptId);
void signalEditQuit();
private:
bool m_selected;
bool m_close { false };
void updateDialog();
std::shared_ptr<TrainingAreaBase::Interface::Dtc> m_tabDtc {nullptr};
std::shared_ptr<TrainingAreaBase::Interface::Ftc> m_tabFtc {nullptr};
QMap<int, TrainingAreaBase::BatteryState> m_currentBatteryStateForId;
QMap<int, TrainingAreaBase::BatteryAlarm> m_currentBatteryWarnForId;
Ui::NmeBatteryInfoDialog *m_ui { nullptr };
QTimer *m_oudatedFirstBatteryTimer;
QTimer *m_oudatedSecondBatteryTimer;
// LtsDialog interface
public:
void retranslate() override;
};
} // namespace NmeaManagement