Création des brokers fonctionnelle
This commit is contained in:
@@ -96,23 +96,49 @@ CLoggingSettingsPage::CLoggingSettingsPage(QWidget *parent) :
|
||||
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(const CCloudParams *CloudParams)
|
||||
int CLoggingSettingsPage::SetCloudParams(QList<CCloudParams *> *CloudParams)
|
||||
{
|
||||
if(CloudParams == 0)
|
||||
{
|
||||
return RET_GENERAL_ERROR;
|
||||
}
|
||||
|
||||
mCloudParams = *CloudParams;
|
||||
while(mCloudParams.size() != 0)
|
||||
{
|
||||
delete mCloudParams.takeAt(0);
|
||||
}
|
||||
|
||||
UpdateCloudConfig();
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -173,6 +199,7 @@ void CLoggingSettingsPage::ModifyParamsBtnPressed()
|
||||
ui->mCloudMQTTRefreshRateSpinBx->setEnabled(true);
|
||||
ui->mCloudMQTTClientID->setEnabled(true);
|
||||
ui->mChangeParamsBtn->setText("Appliquer");
|
||||
ui->mMQTTBrokersList->setEnabled(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -186,26 +213,41 @@ void CLoggingSettingsPage::ModifyParamsBtnPressed()
|
||||
ui->mCloudMQTTUserNameEdit->setEnabled(false);
|
||||
ui->mCloudMQTTRefreshRateSpinBx->setEnabled(false);
|
||||
ui->mCloudMQTTClientID->setEnabled(false);
|
||||
ui->mMQTTBrokersList->setEnabled(true);
|
||||
|
||||
|
||||
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)
|
||||
|
||||
int index = ui->mMQTTBrokersList->currentRow();
|
||||
|
||||
if(index < 0 || index >= mCloudParams.size())
|
||||
{
|
||||
if(mCloudParams.mMQTTTopicPrefix.endsWith("/") == false)
|
||||
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)
|
||||
{
|
||||
mCloudParams.mMQTTTopicPrefix.append("/");
|
||||
ui->mCloudMQTTTopicPrefixEdit->setText(mCloudParams.mMQTTTopicPrefix);
|
||||
BrokerParams->mMQTTTopicPrefix.append("/");
|
||||
ui->mCloudMQTTTopicPrefixEdit->setText(BrokerParams->mMQTTTopicPrefix);
|
||||
}
|
||||
}
|
||||
mCloudParams.mMQTTBrokerUserName = ui->mCloudMQTTUserNameEdit->text();
|
||||
mCloudParams.mMQTTTransmitTimeout = (quint32)ui->mCloudMQTTRefreshRateSpinBx->value();
|
||||
mCloudParams.mMQTTClientID = ui->mCloudMQTTClientID->text();
|
||||
BrokerParams->mMQTTBrokerUserName = ui->mCloudMQTTUserNameEdit->text();
|
||||
BrokerParams->mMQTTTransmitTimeout = (quint32)ui->mCloudMQTTRefreshRateSpinBx->value();
|
||||
BrokerParams->mMQTTClientID = ui->mCloudMQTTClientID->text();
|
||||
ui->mMQTTBrokersList->item(index)->setText(BrokerParams->mMQTTBrokerHostName);
|
||||
|
||||
mProgramHandle->SaveCloudLoggingConfigRequest(&mCloudParams);
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -220,19 +262,27 @@ void CLoggingSettingsPage::CancelBtnPressed()
|
||||
ui->mCloudMQTTUserNameEdit->setEnabled(false);
|
||||
ui->mCloudMQTTRefreshRateSpinBx->setEnabled(false);
|
||||
ui->mCloudMQTTClientID->setEnabled(false);
|
||||
ui->mMQTTBrokersList->setEnabled(true);
|
||||
|
||||
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);
|
||||
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);
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
@@ -593,3 +643,45 @@ void CLoggingSettingsPage::DevicePresenceModifyParamsBtnPressed()
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
void CLoggingSettingsPage::MQTTBrokerSelected()
|
||||
{
|
||||
int index = ui->mMQTTBrokersList->currentRow();
|
||||
|
||||
if(index < 0 || index >= mCloudParams.size())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
UpdateCloudConfig();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user