PortSettings PositioningMethodSerialPortOptions::getPortSettings(const QString &APortName) { PortSettings portSettings; OptionsNode node; if (Options::hasNode(OPV_POSITIONING_METHOD_SERIALPORT, APortName)) node = Options::node(OPV_POSITIONING_METHOD_SERIALPORT, APortName); else { QSerialPort *serialPort = new QSerialPort(APortName); if (serialPort->open(QIODevice::ReadOnly)) { portSettings.FBaudRate = serialPort->baudRate(); portSettings.FDataBits = serialPort->dataBits(); portSettings.FStopBits = serialPort->stopBits(); portSettings.FParity = serialPort->parity(); portSettings.FFlowControl = serialPort->flowControl(); serialPort->close(); } else // Failed to open the port node = Options::node(OPV_POSITIONING_METHOD_SERIALPORT, APortName); serialPort->deleteLater(); } if (!node.isNull()) { portSettings.FBaudRate = node.value("baud-rate").toLongLong(); portSettings.FDataBits = (QSerialPort::DataBits)node.value("data-bits").toInt(); portSettings.FStopBits = (QSerialPort::StopBits)node.value("stop-bits").toInt(); portSettings.FParity = (QSerialPort::Parity)node.value("parity").toInt(); portSettings.FFlowControl = (QSerialPort::FlowControl)node.value("flow-control").toInt(); } return portSettings; }
IConnectionProxy ConnectionManager::proxyById(const QUuid &AProxyId) const { static const IConnectionProxy noProxy = {" "+tr("<No Proxy>"), QNetworkProxy(QNetworkProxy::NoProxy) }; if (!AProxyId.isNull()) { OptionsNode pnode; QList<QUuid> plist = proxyList(); if (plist.contains(AProxyId)) pnode = Options::node(OPV_PROXY_ITEM,AProxyId.toString()); else if (plist.contains(defaultProxy())) pnode = Options::node(OPV_PROXY_ITEM,defaultProxy().toString()); if (!pnode.isNull()) { IConnectionProxy proxy; proxy.name = pnode.value("name").toString(); proxy.proxy.setType((QNetworkProxy::ProxyType)pnode.value("type").toInt()); proxy.proxy.setHostName(pnode.value("host").toString()); proxy.proxy.setPort(pnode.value("port").toInt()); proxy.proxy.setUser(pnode.value("user").toString()); proxy.proxy.setPassword(Options::decrypt(pnode.value("pass").toByteArray()).toString()); return proxy; } } return noProxy; }
void ConnectionOptionsWidget::apply(OptionsNode ANode) { OptionsNode node = !ANode.isNull() ? ANode : FOptions; node.setValue(ui.lneHost->text(),"host"); node.setValue(ui.spbPort->value(),"port"); node.setValue(ui.chbUseLegacySSL->isChecked(),"use-legacy-ssl"); node.setValue(ui.cmbSslProtocol->itemData(ui.cmbSslProtocol->currentIndex()),"ssl-protocol"); node.setValue(ui.cmbCertCheckMode->itemData(ui.cmbCertCheckMode->currentIndex()),"cert-verify-mode"); if (FProxySettings) FManager->saveProxySettings(FProxySettings, node.node("proxy")); emit childApply(); }