@@ -47,6 +47,7 @@ ConnectionsConfigWidget::ConnectionsConfigWidget(QWidget * parent) : BaseConfigW
4747 connect (add_tb, &QPushButton::clicked, this , __slot (this , ConnectionsConfigWidget::handleConnection));
4848
4949 connect (alias_edt, &QLineEdit::textChanged, this , &ConnectionsConfigWidget::enableConnectionTest);
50+ connect (service_edt, &QLineEdit::textChanged, this , &ConnectionsConfigWidget::enableConnectionTest);
5051 connect (host_edt, &QLineEdit::textChanged, this , &ConnectionsConfigWidget::enableConnectionTest);
5152 connect (user_edt, &QLineEdit::textChanged, this , &ConnectionsConfigWidget::enableConnectionTest);
5253 connect (passwd_edt, &QLineEdit::textChanged, this , &ConnectionsConfigWidget::enableConnectionTest);
@@ -67,6 +68,7 @@ void ConnectionsConfigWidget::hideEvent(QHideEvent *event)
6768 {
6869 newConnection ();
6970 one_time_conn_edit = false ;
71+ service_edt->setEnabled (true );
7072 host_edt->setEnabled (true );
7173 port_sbp->setEnabled (true );
7274 conn_btns_wgt->setVisible (true );
@@ -160,14 +162,16 @@ void ConnectionsConfigWidget::loadConfiguration()
160162 }
161163}
162164
163- void ConnectionsConfigWidget::setOneTimeEditMode (bool one_time_edit, const QString &conn_alias, const QString &dbname , const QString &host, int port, const QString &username, const QString &password)
165+ void ConnectionsConfigWidget::setOneTimeEditMode (bool one_time_edit, const QString &conn_alias, const QString &service , const QString &host, int port, const QString &dbname , const QString &username, const QString &password)
164166{
165167 one_time_conn_edit = one_time_edit;
166168 conn_btns_wgt->setVisible (!one_time_edit);
167169 add_tb->setVisible (!one_time_edit);
170+ service_edt->setDisabled (one_time_edit && !service.isEmpty ());
168171 host_edt->setDisabled (one_time_edit && !host.isEmpty ());
169172 port_sbp->setDisabled (one_time_edit && port > 0 );
170173 alias_edt->setText (conn_alias);
174+ service_edt->setText (service);
171175 conn_db_edt->setText (dbname);
172176 host_edt->setText (host);
173177 port_sbp->setValue (port);
@@ -189,10 +193,7 @@ void ConnectionsConfigWidget::enableCertificates()
189193
190194void ConnectionsConfigWidget::enableConnectionTest ()
191195{
192- test_tb->setEnabled (!alias_edt->text ().isEmpty () &&
193- !host_edt->text ().isEmpty () &&
194- !user_edt->text ().isEmpty () &&
195- !conn_db_edt->text ().isEmpty ());
196+ test_tb->setEnabled (!alias_edt->text ().isEmpty ());
196197 add_tb->setEnabled (test_tb->isEnabled ());
197198 update_tb->setEnabled (test_tb->isEnabled ());
198199
@@ -211,6 +212,7 @@ void ConnectionsConfigWidget::newConnection()
211212 conn_db_edt->clear ();
212213 alias_edt->clear ();
213214 user_edt->clear ();
215+ service_edt->clear ();
214216 host_edt->clear ();
215217 port_sbp->setValue (5432 );
216218 passwd_edt->clear ();
@@ -336,6 +338,8 @@ void ConnectionsConfigWidget::editConnection()
336338 import_chk->setChecked (conn->isDefaultForOperation (Connection::OpImport));
337339 validation_chk->setChecked (conn->isDefaultForOperation (Connection::OpValidation));
338340
341+ service_edt->setText (conn->getConnectionParam (Connection::ParamService));
342+
339343 if (!conn->getConnectionParam (Connection::ParamServerFqdn).isEmpty ())
340344 host_edt->setText (conn->getConnectionParam (Connection::ParamServerFqdn));
341345 else
@@ -400,6 +404,7 @@ void ConnectionsConfigWidget::configureConnection(Connection *conn, bool is_upda
400404 }
401405
402406 conn->setConnectionParam (Connection::ParamAlias, alias);
407+ conn->setConnectionParam (Connection::ParamService, service_edt->text ());
403408 conn->setConnectionParam (Connection::ParamServerIp, " " );
404409 conn->setConnectionParam (Connection::ParamServerFqdn, host_edt->text ());
405410 conn->setConnectionParam (Connection::ParamPort, QString (" %1" ).arg (port_sbp->value ()));
@@ -630,8 +635,11 @@ void ConnectionsConfigWidget::fillConnectionsComboBox(QComboBox *combo, bool inc
630635}
631636
632637bool ConnectionsConfigWidget::openConnectionsConfiguration (bool one_time_edit,
633- const QString &conn_alias, const QString &dbname, const QString &host,
634- int port, const QString &username, const QString &password)
638+ const QString &conn_alias,
639+ const QString &service,
640+ const QString &host, int port,
641+ const QString &dbname,
642+ const QString &username, const QString &password)
635643{
636644 BaseForm parent_form;
637645 ConnectionsConfigWidget conn_cfg_wgt;
@@ -656,7 +664,7 @@ bool ConnectionsConfigWidget::openConnectionsConfiguration(bool one_time_edit,
656664 )
657665 });
658666
659- conn_cfg_wgt.setOneTimeEditMode (one_time_edit, conn_alias, dbname , host, port, username, password);
667+ conn_cfg_wgt.setOneTimeEditMode (one_time_edit, conn_alias, service , host, port, dbname , username, password);
660668 parent_form.setWindowTitle (tr (" Edit database connections" ));
661669 parent_form.setWindowFlags (Qt::Dialog | Qt::WindowMinimizeButtonHint | Qt::WindowCloseButtonHint);
662670 parent_form.setMainWidget (&conn_cfg_wgt);
0 commit comments