#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->mCloudMQTTActivateBrokerChkBx->setEnabled(false); ui->mCloudMQTTActivateBufferingChkBx->setEnabled(false); ui->mCloudMQTTClientID->setEnabled(false); ui->mDevicePresCancelBtn->hide(); ui->mDevicePresenceActive1ChkBx->setEnabled(false); ui->mDevicePresenceActive2ChkBx->setEnabled(false); ui->mDevicePresenceActive3ChkBx->setEnabled(false); ui->mDevicePresenceActive4ChkBx->setEnabled(false); ui->mDevicePresenceActive5ChkBx->setEnabled(false); ui->mDevicePresenceAdd1LineEdit->setEnabled(false); ui->mDevicePresenceAdd2LineEdit->setEnabled(false); ui->mDevicePresenceAdd3LineEdit->setEnabled(false); ui->mDevicePresenceAdd4LineEdit->setEnabled(false); ui->mDevicePresenceAdd5LineEdit->setEnabled(false); ui->mDevicePresenceBit1ComboBox->setEnabled(false); ui->mDevicePresenceBit2ComboBox->setEnabled(false); ui->mDevicePresenceBit3ComboBox->setEnabled(false); ui->mDevicePresenceBit4ComboBox->setEnabled(false); ui->mDevicePresenceBit5ComboBox->setEnabled(false); ui->mInternetPresBitComboBox->setEnabled(false); ui->mMQTTPresenceBitComboBox->setEnabled(false); ui->mWatchdogMsgIDSpinBx->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"); QStringList BitsList; for(int i = 32; i < 64; i++) { //BitsList.append(QString("%1").arg(i)); ui->mInternetPresBitComboBox->addItem(QString("%1").arg(i),QVariant(i)); ui->mMQTTPresenceBitComboBox->addItem(QString("%1").arg(i),QVariant(i)); ui->mDevicePresenceBit1ComboBox->addItem(QString("%1").arg(i),QVariant(i)); ui->mDevicePresenceBit2ComboBox->addItem(QString("%1").arg(i),QVariant(i)); ui->mDevicePresenceBit3ComboBox->addItem(QString("%1").arg(i),QVariant(i)); ui->mDevicePresenceBit4ComboBox->addItem(QString("%1").arg(i),QVariant(i)); ui->mDevicePresenceBit5ComboBox->addItem(QString("%1").arg(i),QVariant(i)); } // ui->mInternetPresBitComboBox->addItems(BitsList); // ui->mMQTTPresenceBitComboBox->addItems(BitsList); // ui->mDevicePresenceBit1ComboBox->addItems(BitsList); // ui->mDevicePresenceBit2ComboBox->addItems(BitsList); // ui->mDevicePresenceBit3ComboBox->addItems(BitsList); // ui->mDevicePresenceBit4ComboBox->addItems(BitsList); // ui->mDevicePresenceBit5ComboBox->addItems(BitsList); #ifndef ENABLE_CHIPSET_DRIVER ui->mWDActiveChkBx->setEnabled(false); ui->mWDTimerTimeoutSpinBx->setEnabled(false); #endif mDevicePresenceEditMode = false; 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); connect(ui->mDevicePresenceActive1ChkBx,&QCheckBox::stateChanged,this,&CLoggingSettingsPage::DevicePresenceEnableChkBxChanged); connect(ui->mDevicePresenceActive2ChkBx,&QCheckBox::stateChanged,this,&CLoggingSettingsPage::DevicePresenceEnableChkBxChanged); connect(ui->mDevicePresenceActive3ChkBx,&QCheckBox::stateChanged,this,&CLoggingSettingsPage::DevicePresenceEnableChkBxChanged); connect(ui->mDevicePresenceActive4ChkBx,&QCheckBox::stateChanged,this,&CLoggingSettingsPage::DevicePresenceEnableChkBxChanged); connect(ui->mDevicePresenceActive5ChkBx,&QCheckBox::stateChanged,this,&CLoggingSettingsPage::DevicePresenceEnableChkBxChanged); connect(ui->mDevicePresChangeParamsBtn,&QPushButton::clicked,this,&CLoggingSettingsPage::DevicePresenceModifyParamsBtnPressed); connect(ui->mDevicePresCancelBtn,&QPushButton::clicked,this,&CLoggingSettingsPage::DevicePresenceCancelBtnPressed); connect(ui->mAddMQTTBrokerBtn,&QPushButton::clicked,this,&CLoggingSettingsPage::AddMQTTBrokerBtnPressed); connect(ui->mDeleteMQTTBrokerBtn,&QPushButton::clicked,this,&CLoggingSettingsPage::DeleteMQTTBrokerBtnPressed); connect(ui->mMQTTBrokersList,&QListWidget::itemSelectionChanged,this,&CLoggingSettingsPage::MQTTBrokerSelected); } CLoggingSettingsPage::~CLoggingSettingsPage() { while(mCloudParams.size() != 0) { delete mCloudParams.takeAt(0); } delete ui; } int CLoggingSettingsPage::SetCloudParams(QList *CloudParams) { if(CloudParams == 0) { return RET_GENERAL_ERROR; } while(mCloudParams.size() != 0) { delete mCloudParams.takeAt(0); } for(int i = 0; i < CloudParams->size(); i++) { CCloudParams *NewBrokerParam = new CCloudParams; *NewBrokerParam = *CloudParams->at(i); mCloudParams.append(NewBrokerParam); } if(mCloudParams.size() != 0) { for(int i = 0; i < mCloudParams.size(); i++) { ui->mMQTTBrokersList->insertItem(i,mCloudParams.at(i)->mMQTTBrokerHostName); ui->mMQTTBrokersList->setCurrentRow(0); } // 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(); return RET_OK; } int CLoggingSettingsPage::SetDeviceConfigSettings(const CDeviceDetectionConfig *DevDetectCfgParams) { if(DevDetectCfgParams == 0) { return RET_GENERAL_ERROR; } mDeviceDetectConfigHandle = *DevDetectCfgParams; UpdateDevicePresenceParams(true); return RET_OK; } 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"); ui->mCloudMQTTActivateBufferingChkBx->setEnabled(true); ui->mCloudMQTTActivateBrokerChkBx->setEnabled(true); ui->mMQTTBrokersList->setEnabled(false); } 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); ui->mCloudMQTTActivateBufferingChkBx->setEnabled(false); ui->mCloudMQTTActivateBrokerChkBx->setEnabled(false); ui->mMQTTBrokersList->setEnabled(true); int index = ui->mMQTTBrokersList->currentRow(); if(index < 0 || index >= mCloudParams.size()) { qDebug("Big problem in LoggingSettingsPage : invalid broker index"); return; } CCloudParams *BrokerParams; BrokerParams = mCloudParams[index]; BrokerParams->mMQTTBrokerHostName = ui->mCloudMQTTHostNameEdit->text(); BrokerParams->mMQTTBrokerPassword = ui->mCloudMQTTPasswordEdit->text(); BrokerParams->mMQTTBrokerPort = (quint32)ui->mCloudMQTTPortSpinBx->value(); BrokerParams->mMQTTTopicPrefix = ui->mCloudMQTTTopicPrefixEdit->text(); if(BrokerParams->mMQTTTopicPrefix.isEmpty() == false) { if(BrokerParams->mMQTTTopicPrefix.endsWith("/") == false) { BrokerParams->mMQTTTopicPrefix.append("/"); ui->mCloudMQTTTopicPrefixEdit->setText(BrokerParams->mMQTTTopicPrefix); } } BrokerParams->mMQTTBrokerUserName = ui->mCloudMQTTUserNameEdit->text(); BrokerParams->mMQTTTransmitTimeout = (quint32)ui->mCloudMQTTRefreshRateSpinBx->value(); BrokerParams->mMQTTClientID = ui->mCloudMQTTClientID->text(); BrokerParams->mMQTTBrokerActive = ui->mCloudMQTTActivateBrokerChkBx->isChecked(); BrokerParams->mMQTTEnableDataLogging = ui->mCloudMQTTActivateBufferingChkBx->isChecked(); ui->mMQTTBrokersList->item(index)->setText(BrokerParams->mMQTTBrokerHostName); for(int i = 0; i < mCloudParams.size(); i++) { mCloudParams.at(i)->mMQTTTransmitTimeout = ui->mCloudMQTTRefreshRateSpinBx->value(); } mProgramHandle->SaveCloudLoggingConfigRequest(&mCloudParams); } } void CLoggingSettingsPage::CancelBtnPressed() { 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); ui->mMQTTBrokersList->setEnabled(true); ui->mCloudMQTTActivateBrokerChkBx->setEnabled(false); ui->mCloudMQTTActivateBufferingChkBx->setEnabled(false); UpdateCloudConfig(); } int CLoggingSettingsPage::UpdateCloudConfig() { int index = ui->mMQTTBrokersList->currentRow(); if(index < 0 || index >= mCloudParams.size()) { return RET_GENERAL_ERROR; } CCloudParams *BrokerParams = mCloudParams.at(index); ui->mCloudMQTTHostNameEdit->setText(BrokerParams->mMQTTBrokerHostName); ui->mCloudMQTTPasswordEdit->setText(BrokerParams->mMQTTBrokerPassword); ui->mCloudMQTTPortSpinBx->setValue(BrokerParams->mMQTTBrokerPort); ui->mCloudMQTTTopicPrefixEdit->setText(BrokerParams->mMQTTTopicPrefix); ui->mCloudMQTTUserNameEdit->setText(BrokerParams->mMQTTBrokerUserName); ui->mCloudMQTTRefreshRateSpinBx->setValue(BrokerParams->mMQTTTransmitTimeout); ui->mCloudMQTTClientID->setText(BrokerParams->mMQTTClientID); ui->mCloudMQTTActivateBrokerChkBx->setChecked(BrokerParams->mMQTTBrokerActive); ui->mCloudMQTTActivateBufferingChkBx->setChecked(BrokerParams->mMQTTEnableDataLogging); 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; } int CLoggingSettingsPage::SetLANDevicesPresenceStatus(QList LANDevicesPresenceList) { if(LANDevicesPresenceList.size() != MAX_NB_LAN_DEVICE_DETECTION) { return RET_GENERAL_ERROR; } if(ui->mDevicePresenceActive1ChkBx->isChecked()) { if(LANDevicesPresenceList.at(0) == true) ui->mLANDevice1PresStatusLbl->setText("ONLINE"); else ui->mLANDevice1PresStatusLbl->setText("OFFLINE"); } else { ui->mLANDevice1PresStatusLbl->setText("N/A"); } if(ui->mDevicePresenceActive2ChkBx->isChecked()) { if(LANDevicesPresenceList.at(1) == true) ui->mLANDevice2PresStatusLbl->setText("ONLINE"); else ui->mLANDevice2PresStatusLbl->setText("OFFLINE"); } else { ui->mLANDevice2PresStatusLbl->setText("N/A"); } if(ui->mDevicePresenceActive3ChkBx->isChecked()) { if(LANDevicesPresenceList.at(2) == true) ui->mLANDevice3PresStatusLbl->setText("ONLINE"); else ui->mLANDevice3PresStatusLbl->setText("OFFLINE"); } else { ui->mLANDevice3PresStatusLbl->setText("N/A"); } if(ui->mDevicePresenceActive4ChkBx->isChecked()) { if(LANDevicesPresenceList.at(3) == true) ui->mLANDevice4PresStatusLbl->setText("ONLINE"); else ui->mLANDevice4PresStatusLbl->setText("OFFLINE"); } else { ui->mLANDevice4PresStatusLbl->setText("N/A"); } if(ui->mDevicePresenceActive5ChkBx->isChecked()) { if(LANDevicesPresenceList.at(4) == true) ui->mLANDevice5PresStatusLbl->setText("ONLINE"); else ui->mLANDevice5PresStatusLbl->setText("OFFLINE"); } else { ui->mLANDevice5PresStatusLbl->setText("N/A"); } return RET_OK; } void CLoggingSettingsPage::SetInternetPresenceStatus(bool IsPresent) { if(IsPresent == true) { ui->mInternetPresenceStatusLbl->setText("ONLINE"); } else { ui->mInternetPresenceStatusLbl->setText("OFFLINE"); } } int CLoggingSettingsPage::SetMQTTPresenceStatus(bool IsPresent) { if(IsPresent) { ui->mMQTTPresenceStatusLbl->setText("ONLINE"); } else { ui->mMQTTPresenceStatusLbl->setText("OFFLINE"); } 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); } int CLoggingSettingsPage::UpdateDevicePresenceParams(bool Restore) { if(Restore == true) { ui->mWatchdogMsgIDSpinBx->setValue(mDeviceDetectConfigHandle.mReportingCANMsgID); ui->mDevicePresenceAdd1LineEdit->setText(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[0].mDeviceIPAddress); ui->mDevicePresenceAdd2LineEdit->setText(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[1].mDeviceIPAddress); ui->mDevicePresenceAdd3LineEdit->setText(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[2].mDeviceIPAddress); ui->mDevicePresenceAdd4LineEdit->setText(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[3].mDeviceIPAddress); ui->mDevicePresenceAdd5LineEdit->setText(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[4].mDeviceIPAddress); ui->mDevicePresenceActive1ChkBx->setChecked(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[0].mIsDetectionActive); ui->mDevicePresenceActive2ChkBx->setChecked(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[1].mIsDetectionActive); ui->mDevicePresenceActive3ChkBx->setChecked(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[2].mIsDetectionActive); ui->mDevicePresenceActive4ChkBx->setChecked(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[3].mIsDetectionActive); ui->mDevicePresenceActive5ChkBx->setChecked(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[4].mIsDetectionActive); ui->mDevicePresenceBit1ComboBox->setCurrentIndex(ui->mDevicePresenceBit1ComboBox->findData(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[0].mCANStatusBit)); ui->mDevicePresenceBit2ComboBox->setCurrentIndex(ui->mDevicePresenceBit1ComboBox->findData(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[1].mCANStatusBit)); ui->mDevicePresenceBit3ComboBox->setCurrentIndex(ui->mDevicePresenceBit1ComboBox->findData(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[2].mCANStatusBit)); ui->mDevicePresenceBit4ComboBox->setCurrentIndex(ui->mDevicePresenceBit1ComboBox->findData(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[3].mCANStatusBit)); ui->mDevicePresenceBit5ComboBox->setCurrentIndex(ui->mDevicePresenceBit1ComboBox->findData(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[4].mCANStatusBit)); ui->mMQTTPresenceBitComboBox->setCurrentIndex(ui->mMQTTPresenceBitComboBox->findData(mDeviceDetectConfigHandle.mMQTTDetectionCANStatusBit)); ui->mInternetPresBitComboBox->setCurrentIndex(ui->mInternetPresBitComboBox->findData(mDeviceDetectConfigHandle.mInternetDetectionCANStatusBit)); } if(ui->mDevicePresenceActive1ChkBx->checkState() == Qt::Checked && mDevicePresenceEditMode == true) { ui->mDevicePresenceAdd1LineEdit->setEnabled(true); ui->mDevicePresenceBit1ComboBox->setEnabled(true); } else { ui->mDevicePresenceAdd1LineEdit->setEnabled(false); ui->mDevicePresenceBit1ComboBox->setEnabled(false); } if(ui->mDevicePresenceActive2ChkBx->checkState() == Qt::Checked && mDevicePresenceEditMode == true) { ui->mDevicePresenceAdd2LineEdit->setEnabled(true); ui->mDevicePresenceBit2ComboBox->setEnabled(true); } else { ui->mDevicePresenceAdd2LineEdit->setEnabled(false); ui->mDevicePresenceBit2ComboBox->setEnabled(false); } if(ui->mDevicePresenceActive3ChkBx->checkState() == Qt::Checked && mDevicePresenceEditMode == true) { ui->mDevicePresenceAdd3LineEdit->setEnabled(true); ui->mDevicePresenceBit3ComboBox->setEnabled(true); } else { ui->mDevicePresenceAdd3LineEdit->setEnabled(false); ui->mDevicePresenceBit3ComboBox->setEnabled(false); } if(ui->mDevicePresenceActive4ChkBx->checkState() == Qt::Checked && mDevicePresenceEditMode == true) { ui->mDevicePresenceAdd4LineEdit->setEnabled(true); ui->mDevicePresenceBit4ComboBox->setEnabled(true); } else { ui->mDevicePresenceAdd4LineEdit->setEnabled(false); ui->mDevicePresenceBit4ComboBox->setEnabled(false); } if(ui->mDevicePresenceActive5ChkBx->checkState() == Qt::Checked && mDevicePresenceEditMode == true) { ui->mDevicePresenceAdd5LineEdit->setEnabled(true); ui->mDevicePresenceBit5ComboBox->setEnabled(true); } else { ui->mDevicePresenceAdd5LineEdit->setEnabled(false); ui->mDevicePresenceBit5ComboBox->setEnabled(false); } return RET_OK; } void CLoggingSettingsPage::DevicePresenceEnableChkBxChanged(int state) { UpdateDevicePresenceParams(false); } void CLoggingSettingsPage::DevicePresenceCancelBtnPressed() { UpdateDevicePresenceParams(); mDevicePresenceEditMode = false; ui->mDevicePresCancelBtn->hide(); ui->mDevicePresChangeParamsBtn->setText("Modifier"); ui->mDevicePresenceActive1ChkBx->setEnabled(false); ui->mDevicePresenceActive2ChkBx->setEnabled(false); ui->mDevicePresenceActive3ChkBx->setEnabled(false); ui->mDevicePresenceActive4ChkBx->setEnabled(false); ui->mDevicePresenceActive5ChkBx->setEnabled(false); ui->mDevicePresenceAdd1LineEdit->setEnabled(false); ui->mDevicePresenceAdd2LineEdit->setEnabled(false); ui->mDevicePresenceAdd3LineEdit->setEnabled(false); ui->mDevicePresenceAdd4LineEdit->setEnabled(false); ui->mDevicePresenceAdd5LineEdit->setEnabled(false); ui->mDevicePresenceBit1ComboBox->setEnabled(false); ui->mDevicePresenceBit2ComboBox->setEnabled(false); ui->mDevicePresenceBit3ComboBox->setEnabled(false); ui->mDevicePresenceBit4ComboBox->setEnabled(false); ui->mDevicePresenceBit5ComboBox->setEnabled(false); ui->mWatchdogMsgIDSpinBx->setEnabled(false); ui->mInternetPresBitComboBox->setEnabled(false); ui->mMQTTPresenceBitComboBox->setEnabled(false); } void CLoggingSettingsPage::DevicePresenceModifyParamsBtnPressed() { if(mDevicePresenceEditMode == false) { mDevicePresenceEditMode = true; ui->mDevicePresCancelBtn->show(); ui->mDevicePresChangeParamsBtn->setText("Appliquer"); ui->mDevicePresenceActive1ChkBx->setEnabled(true); ui->mDevicePresenceActive2ChkBx->setEnabled(true); ui->mDevicePresenceActive3ChkBx->setEnabled(true); ui->mDevicePresenceActive4ChkBx->setEnabled(true); ui->mDevicePresenceActive5ChkBx->setEnabled(true); ui->mWatchdogMsgIDSpinBx->setEnabled(true); ui->mInternetPresBitComboBox->setEnabled(true); ui->mMQTTPresenceBitComboBox->setEnabled(true); UpdateDevicePresenceParams(false); } else { //save data mDevicePresenceEditMode = false; ui->mDevicePresCancelBtn->hide(); ui->mDevicePresChangeParamsBtn->setText("Modifier"); ui->mDevicePresenceActive1ChkBx->setEnabled(false); ui->mDevicePresenceActive2ChkBx->setEnabled(false); ui->mDevicePresenceActive3ChkBx->setEnabled(false); ui->mDevicePresenceActive4ChkBx->setEnabled(false); ui->mDevicePresenceActive5ChkBx->setEnabled(false); ui->mDevicePresenceAdd1LineEdit->setEnabled(false); ui->mDevicePresenceAdd2LineEdit->setEnabled(false); ui->mDevicePresenceAdd3LineEdit->setEnabled(false); ui->mDevicePresenceAdd4LineEdit->setEnabled(false); ui->mDevicePresenceAdd5LineEdit->setEnabled(false); ui->mDevicePresenceBit1ComboBox->setEnabled(false); ui->mDevicePresenceBit2ComboBox->setEnabled(false); ui->mDevicePresenceBit3ComboBox->setEnabled(false); ui->mDevicePresenceBit4ComboBox->setEnabled(false); ui->mDevicePresenceBit5ComboBox->setEnabled(false); ui->mWatchdogMsgIDSpinBx->setEnabled(false); ui->mInternetPresBitComboBox->setEnabled(false); ui->mMQTTPresenceBitComboBox->setEnabled(false); bool OK; mDeviceDetectConfigHandle.mInternetDetectionCANStatusBit = ui->mInternetPresBitComboBox->currentData().toInt(&OK); mDeviceDetectConfigHandle.mMQTTDetectionCANStatusBit = ui->mMQTTPresenceBitComboBox->currentData().toInt(&OK); mDeviceDetectConfigHandle.mReportingCANMsgID = ui->mWatchdogMsgIDSpinBx->value(); mDeviceDetectConfigHandle.mLANDeviceDetectConfigList.clear(); CLANDevicePresenceConfig NewLANCfg; NewLANCfg.mCANStatusBit = ui->mDevicePresenceBit1ComboBox->currentData().toInt(&OK); NewLANCfg.mDeviceIPAddress = ui->mDevicePresenceAdd1LineEdit->text(); NewLANCfg.mIsDetectionActive = (ui->mDevicePresenceActive1ChkBx->checkState() == Qt::Checked); mDeviceDetectConfigHandle.mLANDeviceDetectConfigList.append(NewLANCfg); NewLANCfg = CLANDevicePresenceConfig(); NewLANCfg.mCANStatusBit = ui->mDevicePresenceBit2ComboBox->currentData().toInt(&OK); NewLANCfg.mDeviceIPAddress = ui->mDevicePresenceAdd2LineEdit->text(); NewLANCfg.mIsDetectionActive = (ui->mDevicePresenceActive2ChkBx->checkState() == Qt::Checked); mDeviceDetectConfigHandle.mLANDeviceDetectConfigList.append(NewLANCfg); NewLANCfg = CLANDevicePresenceConfig(); NewLANCfg.mCANStatusBit = ui->mDevicePresenceBit3ComboBox->currentData().toInt(&OK); NewLANCfg.mDeviceIPAddress = ui->mDevicePresenceAdd3LineEdit->text(); NewLANCfg.mIsDetectionActive = (ui->mDevicePresenceActive3ChkBx->checkState() == Qt::Checked); mDeviceDetectConfigHandle.mLANDeviceDetectConfigList.append(NewLANCfg); NewLANCfg = CLANDevicePresenceConfig(); NewLANCfg.mCANStatusBit = ui->mDevicePresenceBit4ComboBox->currentData().toInt(&OK); NewLANCfg.mDeviceIPAddress = ui->mDevicePresenceAdd4LineEdit->text(); NewLANCfg.mIsDetectionActive = (ui->mDevicePresenceActive4ChkBx->checkState() == Qt::Checked); mDeviceDetectConfigHandle.mLANDeviceDetectConfigList.append(NewLANCfg); NewLANCfg = CLANDevicePresenceConfig(); NewLANCfg.mCANStatusBit = ui->mDevicePresenceBit5ComboBox->currentData().toInt(&OK); NewLANCfg.mDeviceIPAddress = ui->mDevicePresenceAdd5LineEdit->text(); NewLANCfg.mIsDetectionActive = (ui->mDevicePresenceActive5ChkBx->checkState() == Qt::Checked); mDeviceDetectConfigHandle.mLANDeviceDetectConfigList.append(NewLANCfg); mProgramHandle->SaveDeviceDetectionSettingsRequest(&mDeviceDetectConfigHandle); } } void CLoggingSettingsPage::AddMQTTBrokerBtnPressed() { CCloudParams *NewParam = new CCloudParams; mCloudParams.append(NewParam); ui->mMQTTBrokersList->addItem("Broker"); ui->mMQTTBrokersList->setCurrentRow(ui->mMQTTBrokersList->count()-1); ModifyParamsBtnPressed(); } void CLoggingSettingsPage::DeleteMQTTBrokerBtnPressed() { int index = ui->mMQTTBrokersList->currentRow(); if(index < 0 || index >= mCloudParams.size()) { return; } delete mCloudParams.takeAt(index); ui->mMQTTBrokersList->takeItem(index); if(ui->mMQTTBrokersList->count() == 0) { AddMQTTBrokerBtnPressed(); } else { ui->mMQTTBrokersList->setCurrentRow(0); mProgramHandle->SaveCloudLoggingConfigRequest(&mCloudParams); } } void CLoggingSettingsPage::MQTTBrokerSelected() { int index = ui->mMQTTBrokersList->currentRow(); if(index < 0 || index >= mCloudParams.size()) { return; } UpdateCloudConfig(); }