Fix SSL mode combobox did not work properly

This commit is contained in:
Eelke Klein 2026-10-26 14:47:19 +01:00
parent 04f525e2e9
commit 0dcee5f76c
No known key found for this signature in database
6 changed files with 228 additions and 34 deletions

View file

@ -117,10 +117,9 @@ ConnectionConfigurationWidget::ConnectionConfigurationWidget(
SET_OBJECT_NAME(lblSsl);
cmbbxSsl = new QComboBox;
SET_OBJECT_NAME(cmbbxSsl);
cmbbxSsl->setModelColumn(0);
cmbbxSsl->setModelColumn(SslModeModel::Name);
auto ssl_model = new SslModeModel(this);
cmbbxSsl->setModel(ssl_model);
cmbbxSsl->setEditable(true);
lblSsl->setBuddy(cmbbxSsl);
lblCert = new QLabel;
@ -207,7 +206,13 @@ void ConnectionConfigurationWidget::setData(const ConnectionConfig &cfg)
edtPassword->setText("");
cmbDbname->setCurrentText(cfg.dbname());
cmbbxSsl->setCurrentText(cfg.getParameter("sslmode"));
auto sslMode = cfg.getParameter("sslmode");
if (sslMode == "verify_ca")
sslMode = "verify-ca";
else if (sslMode == "verify_full")
sslMode = "verify-full";
auto sslIndex = cmbbxSsl->findData(sslMode);
cmbbxSsl->setCurrentIndex(sslIndex < 0 ? 0 : sslIndex);
edtCert->setText(cfg.sslCert());
edtKey->setText(cfg.sslKey());
edtRootCert->setText(cfg.sslRootCert());
@ -234,7 +239,7 @@ ConnectionConfig ConnectionConfigurationWidget::data() const
cfg.setUser(edtUser->text());
cfg.setPassword(edtPassword->text());
cfg.setDbname(cmbDbname->currentText());
cfg.setParameter("sslmode", cmbbxSsl->currentText());
cfg.setParameter("sslmode", cmbbxSsl->currentData().toString());
cfg.setSslCert(edtCert->text());
cfg.setSslKey(edtKey->text());
cfg.setSslRootCert(edtRootCert->text());