#include "LoggingSettingsPage.h" #include "ui_LoggingSettingsPage.h" #include "defines.h" #include "OtarcikCan.h" CLoggingSettingsPage::CLoggingSettingsPage(QWidget *parent) : QWidget(parent), ui(new Ui::CLoggingSettingsPage), EditMode(false) { ui->setupUi(this); ui->mCancelBtn->hide(); ui->mChangeParamsBtn->setText("Modifier"); ui->mCloudMQTTHostNameEdit->setEnabled(false); ui->mCloudMQTTPasswordEdit->setEnabled(false); ui->mCloudMQTTPortSpinBx->setEnabled(false); ui->mCloudMQTTTopicPrefixEdit->setEnabled(false); ui->mCloudMQTTUserNameEdit->setEnabled(false); ui->mCloudMQTTRefreshRateSpinBx->setEnabled(false); ui->mCloudMQTTClientID->setEnabled(false); ui->mDevicePresenceAdd1LineEdit->setInputMask("000.000.000.000"); ui->mDevicePresenceAdd2LineEdit->setInputMask("000.000.000.000"); ui->mDevicePresenceAdd3LineEdit->setInputMask("000.000.000.000"); ui->mDevicePresenceAdd4LineEdit->setInputMask("000.000.000.000"); ui->mDevicePresenceAdd5LineEdit->setInputMask("000.000.000.000"); ui->mDevicePresenceAdd1LineEdit->setText("192.168.10.111"); ui->mDevicePresenceAdd2LineEdit->setText("192.168.10.222"); ui->mDevicePresenceAdd3LineEdit->setText("192.168.10.333"); ui->mDevicePresenceAdd4LineEdit->setText("192.168.10.444"); ui->mDevicePresenceAdd5LineEdit->setText("192.168.10.555"); connect(ui->mCancelBtn,&QPushButton::clicked,this,&CLoggingSettingsPage::CancelBtnPressed); connect(ui->mChangeParamsBtn,&QPushButton::clicked,this,&CLoggingSettingsPage::ModifyParamsBtnPressed); connect(ui->mLogZoneVerbositySpinBx,QOverload::of(&QSpinBox::valueChanged),this,&CLoggingSettingsPage::VerbosityParamsChanged); connect(ui->mLogFileVerbositySpinBx,QOverload::of(&QSpinBox::valueChanged),this,&CLoggingSettingsPage::VerbosityParamsChanged); connect(ui->mWDActiveChkBx,&QCheckBox::stateChanged,this,&CLoggingSettingsPage::EnableCPUWDCheckBxClicked); connect(ui->mWDTimerTimeoutSpinBx,QOverload::of(&QSpinBox::valueChanged),this,&CLoggingSettingsPage::CPUWDTimeoutChanged); } CLoggingSettingsPage::~CLoggingSettingsPage() { delete ui; } int CLoggingSettingsPage::SetCloudParams(const CCloudParams *CloudParams) { if(CloudParams == 0) { return RET_GENERAL_ERROR; } mCloudParams = *CloudParams; UpdateCloudConfig(); return RET_OK; } int CLoggingSettingsPage::SetGeneralSettingsParams(const CGeneralSystemParams *GeneralParams) { if(GeneralParams == 0) { return RET_GENERAL_ERROR; } mGeneralSystemParams = *GeneralParams; UpdateGeneralParams(); return RET_OK; } int CLoggingSettingsPage::SetCPUWatchdogSettings(const CCPUWatchdogConfig *CPUWatchdogParams) { if(CPUWatchdogParams == 0) { return RET_GENERAL_ERROR; } mCPUWatchdogParams = *CPUWatchdogParams; UpdateCPUWatchdogParams(); } void CLoggingSettingsPage::ModifyParamsBtnPressed() { if(EditMode == false) { EditMode = true; ui->mCancelBtn->show(); ui->mCloudMQTTHostNameEdit->setEnabled(true); ui->mCloudMQTTPasswordEdit->setEnabled(true); ui->mCloudMQTTPortSpinBx->setEnabled(true); ui->mCloudMQTTTopicPrefixEdit->setEnabled(true); ui->mCloudMQTTUserNameEdit->setEnabled(true); ui->mCloudMQTTRefreshRateSpinBx->setEnabled(true); ui->mCloudMQTTClientID->setEnabled(true); ui->mChangeParamsBtn->setText("Appliquer"); } else { EditMode = false; ui->mChangeParamsBtn->setText("Modifier"); ui->mCancelBtn->hide(); ui->mCloudMQTTHostNameEdit->setEnabled(false); ui->mCloudMQTTPasswordEdit->setEnabled(false); ui->mCloudMQTTPortSpinBx->setEnabled(false); ui->mCloudMQTTTopicPrefixEdit->setEnabled(false); ui->mCloudMQTTUserNameEdit->setEnabled(false); ui->mCloudMQTTRefreshRateSpinBx->setEnabled(false); ui->mCloudMQTTClientID->setEnabled(false); mCloudParams.mMQTTBrokerHostName = ui->mCloudMQTTHostNameEdit->text(); mCloudParams.mMQTTBrokerPassword = ui->mCloudMQTTPasswordEdit->text(); mCloudParams.mMQTTBrokerPort = (quint32)ui->mCloudMQTTPortSpinBx->value(); mCloudParams.mMQTTTopicPrefix = ui->mCloudMQTTTopicPrefixEdit->text(); if(mCloudParams.mMQTTTopicPrefix.isEmpty() == false) { if(mCloudParams.mMQTTTopicPrefix.endsWith("/") == false) { mCloudParams.mMQTTTopicPrefix.append("/"); ui->mCloudMQTTTopicPrefixEdit->setText(mCloudParams.mMQTTTopicPrefix); } } mCloudParams.mMQTTBrokerUserName = ui->mCloudMQTTUserNameEdit->text(); mCloudParams.mMQTTTransmitTimeout = (quint32)ui->mCloudMQTTRefreshRateSpinBx->value(); mCloudParams.mMQTTClientID = ui->mCloudMQTTClientID->text(); mProgramHandle->SaveCloudLoggingConfigRequest(&mCloudParams); } } void CLoggingSettingsPage::CancelBtnPressed() { EditMode = false; ui->mCancelBtn->hide(); ui->mCloudMQTTHostNameEdit->setEnabled(false); ui->mCloudMQTTPasswordEdit->setEnabled(false); ui->mCloudMQTTPortSpinBx->setEnabled(false); ui->mCloudMQTTTopicPrefixEdit->setEnabled(false); ui->mCloudMQTTUserNameEdit->setEnabled(false); ui->mCloudMQTTRefreshRateSpinBx->setEnabled(false); ui->mCloudMQTTClientID->setEnabled(false); UpdateCloudConfig(); } int CLoggingSettingsPage::UpdateCloudConfig() { ui->mCloudMQTTHostNameEdit->setText(mCloudParams.mMQTTBrokerHostName); ui->mCloudMQTTPasswordEdit->setText(mCloudParams.mMQTTBrokerPassword); ui->mCloudMQTTPortSpinBx->setValue(mCloudParams.mMQTTBrokerPort); ui->mCloudMQTTTopicPrefixEdit->setText(mCloudParams.mMQTTTopicPrefix); ui->mCloudMQTTUserNameEdit->setText(mCloudParams.mMQTTBrokerUserName); ui->mCloudMQTTRefreshRateSpinBx->setValue(mCloudParams.mMQTTTransmitTimeout); ui->mCloudMQTTClientID->setText(mCloudParams.mMQTTClientID); return RET_OK; } int CLoggingSettingsPage::UpdateGeneralParams() { disconnect(ui->mLogZoneVerbositySpinBx,QOverload::of(&QSpinBox::valueChanged),this,&CLoggingSettingsPage::VerbosityParamsChanged); disconnect(ui->mLogFileVerbositySpinBx,QOverload::of(&QSpinBox::valueChanged),this,&CLoggingSettingsPage::VerbosityParamsChanged); ui->mLogFileVerbositySpinBx->setValue(mGeneralSystemParams.mLogFileVerbosity); ui->mLogZoneVerbositySpinBx->setValue(mGeneralSystemParams.mLocalLogVerbosity); connect(ui->mLogZoneVerbositySpinBx,QOverload::of(&QSpinBox::valueChanged),this,&CLoggingSettingsPage::VerbosityParamsChanged); connect(ui->mLogFileVerbositySpinBx,QOverload::of(&QSpinBox::valueChanged),this,&CLoggingSettingsPage::VerbosityParamsChanged); return RET_OK; } int CLoggingSettingsPage::UpdateCPUWatchdogParams() { disconnect(ui->mWDActiveChkBx,&QCheckBox::stateChanged,this,&CLoggingSettingsPage::EnableCPUWDCheckBxClicked); disconnect(ui->mWDTimerTimeoutSpinBx,QOverload::of(&QSpinBox::valueChanged),this,&CLoggingSettingsPage::CPUWDTimeoutChanged); ui->mWDActiveChkBx->setChecked(mCPUWatchdogParams.mWatchdogEnabled); ui->mWDTimerTimeoutSpinBx->setValue(mCPUWatchdogParams.mWatchdogTimeout); connect(ui->mWDActiveChkBx,&QCheckBox::stateChanged,this,&CLoggingSettingsPage::EnableCPUWDCheckBxClicked); connect(ui->mWDTimerTimeoutSpinBx,QOverload::of(&QSpinBox::valueChanged),this,&CLoggingSettingsPage::CPUWDTimeoutChanged); return RET_OK; } void CLoggingSettingsPage::VerbosityParamsChanged(int value) { Q_UNUSED(value) mGeneralSystemParams.mLocalLogVerbosity = ui->mLogZoneVerbositySpinBx->value(); mGeneralSystemParams.mLogFileVerbosity = ui->mLogFileVerbositySpinBx->value(); mProgramHandle->SaveGeneralParametersSettingsRequest(&mGeneralSystemParams); qDebug("LogZone: %i, LogFile %i",mGeneralSystemParams.mLocalLogVerbosity,mGeneralSystemParams.mLogFileVerbosity); } void CLoggingSettingsPage::EnableCPUWDCheckBxClicked(int state) { Q_UNUSED(state) mCPUWatchdogParams.mWatchdogEnabled = ui->mWDActiveChkBx->isChecked(); mProgramHandle->SaveCPUWatchdogSettingsRequest(&mCPUWatchdogParams); } void CLoggingSettingsPage::CPUWDTimeoutChanged(int value) { Q_UNUSED(value) mCPUWatchdogParams.mWatchdogTimeout = ui->mWDTimerTimeoutSpinBx->value(); mProgramHandle->SaveCPUWatchdogSettingsRequest(&mCPUWatchdogParams); }