* @brief Appends the Broker section (host, port, credentials, protocol, keep-alive). */
| 2149 | * @brief Appends the Broker section (host, port, credentials, protocol, keep-alive). |
| 2150 | */ |
| 2151 | void DataModel::ProjectEditor::buildMqttBrokerSection(const MQTT::Publisher& pub, bool enabled) |
| 2152 | { |
| 2153 | auto* brokerHdr = new QStandardItem(); |
| 2154 | brokerHdr->setData(SectionHeader, WidgetType); |
| 2155 | brokerHdr->setData(tr("Broker"), PlaceholderValue); |
| 2156 | brokerHdr->setData("qrc:/icons/project-editor/model/mqtt-broker.svg", ParameterIcon); |
| 2157 | m_mqttPublisherModel->appendRow(brokerHdr); |
| 2158 | |
| 2159 | auto* hostItem = new QStandardItem(); |
| 2160 | hostItem->setEditable(true); |
| 2161 | hostItem->setData(enabled, Active); |
| 2162 | hostItem->setData(TextField, WidgetType); |
| 2163 | hostItem->setData(pub.hostname(), EditableValue); |
| 2164 | hostItem->setData(kMqttPublisher_Hostname, ParameterType); |
| 2165 | hostItem->setData(tr("Hostname"), ParameterName); |
| 2166 | hostItem->setData(tr("broker.hivemq.com"), PlaceholderValue); |
| 2167 | hostItem->setData(tr("Hostname or IP address of the MQTT broker"), ParameterDescription); |
| 2168 | m_mqttPublisherModel->appendRow(hostItem); |
| 2169 | |
| 2170 | auto* portItem = new QStandardItem(); |
| 2171 | portItem->setEditable(true); |
| 2172 | portItem->setData(enabled, Active); |
| 2173 | portItem->setData(IntField, WidgetType); |
| 2174 | portItem->setData(static_cast<int>(pub.port()), EditableValue); |
| 2175 | portItem->setData(kMqttPublisher_Port, ParameterType); |
| 2176 | portItem->setData(tr("Port"), ParameterName); |
| 2177 | portItem->setData(tr("TCP port exposed by the broker (1883 plain, 8883 TLS)"), |
| 2178 | ParameterDescription); |
| 2179 | m_mqttPublisherModel->appendRow(portItem); |
| 2180 | |
| 2181 | auto* customClientIdItem = new QStandardItem(); |
| 2182 | customClientIdItem->setEditable(true); |
| 2183 | customClientIdItem->setData(enabled, Active); |
| 2184 | customClientIdItem->setData(CheckBox, WidgetType); |
| 2185 | customClientIdItem->setData(pub.customClientId(), EditableValue); |
| 2186 | customClientIdItem->setData(kMqttPublisher_CustomClientId, ParameterType); |
| 2187 | customClientIdItem->setData(tr("Custom Client ID"), ParameterName); |
| 2188 | customClientIdItem->setData( |
| 2189 | tr("Off: a fresh random id is generated on every project load. On: use the id below."), |
| 2190 | ParameterDescription); |
| 2191 | m_mqttPublisherModel->appendRow(customClientIdItem); |
| 2192 | |
| 2193 | if (pub.customClientId()) { |
| 2194 | auto* clientIdItem = new QStandardItem(); |
| 2195 | clientIdItem->setEditable(true); |
| 2196 | clientIdItem->setData(enabled, Active); |
| 2197 | clientIdItem->setData(TextField, WidgetType); |
| 2198 | clientIdItem->setData(pub.clientId(), EditableValue); |
| 2199 | clientIdItem->setData(kMqttPublisher_ClientId, ParameterType); |
| 2200 | clientIdItem->setData(tr("Client ID"), ParameterName); |
| 2201 | clientIdItem->setData(tr("Identifier sent to the broker on CONNECT"), ParameterDescription); |
| 2202 | m_mqttPublisherModel->appendRow(clientIdItem); |
| 2203 | } |
| 2204 | |
| 2205 | buildMqttBrokerCredentials(pub, enabled); |
| 2206 | |
| 2207 | auto* versionItem = new QStandardItem(); |
| 2208 | versionItem->setEditable(true); |
nothing calls this directly
no test coverage detected