summaryrefslogtreecommitdiffstats
path: root/examples/sql/sqlbrowser/qsqlconnectiondialog.cpp
diff options
context:
space:
mode:
authorMarc Mutz <[email protected]>2024-12-31 10:03:41 +0100
committerMarc Mutz <[email protected]>2025-01-02 07:50:45 +0100
commit3419c299369ac1da94ba5710aaf5f5f65c38c33c (patch)
tree768f67760f53df52044a71aa1d1ace03c93ce0a5 /examples/sql/sqlbrowser/qsqlconnectiondialog.cpp
parent53826d1cde26f825d1983476c6697f72130e351f (diff)
sqlbrowser example: use idiomatic Qt [2/3]: use button-box / override accept()
- The old code used two QPushButtons in a QHBoxLayout to provide Ok/Cancel buttons. This hard-codes the positions and text (and icons) of these buttons, instead of adapting to the platform style. The new code simply uses QDialogButtonBox, which is designed for this purpose. - Also, the old code connected the Ok button's clicked() signal to a custom slot that then called QDialog::accept(). This means that the code in the custom slot is not executed when the dialog is accepted by other means (e.g. return press in one of the line edits ("auto-default"), though I'm not sure here). The new code uses the idiomatic Qt way of overriding QDialog::accept() instead, and connects the button-box's accepted() signal to it. This is done in the .ui file, so it already works in Designer preview. - Finally, the old code made a manual connection from the Cancel button to QDialog::reject(). The new code uses the Qt idiom of connecting in the .ui file directly, using QDialogButtonBox::rejected() as the signal. Amends 2690822428deec4f0c08f4d118d69a7c6036369e, which, however, inherited all of the above from even older code. Pick-to: 6.9 6.8 Change-Id: I83afd6156a0811e0c0f99f2480625ea6b69ff78b Reviewed-by: Volker Hilsheimer <[email protected]>
Diffstat (limited to 'examples/sql/sqlbrowser/qsqlconnectiondialog.cpp')
-rw-r--r--examples/sql/sqlbrowser/qsqlconnectiondialog.cpp9
1 files changed, 2 insertions, 7 deletions
diff --git a/examples/sql/sqlbrowser/qsqlconnectiondialog.cpp b/examples/sql/sqlbrowser/qsqlconnectiondialog.cpp
index eaaacd8e167..21c22b84d9b 100644
--- a/examples/sql/sqlbrowser/qsqlconnectiondialog.cpp
+++ b/examples/sql/sqlbrowser/qsqlconnectiondialog.cpp
@@ -21,11 +21,6 @@ QSqlConnectionDialog::QSqlConnectionDialog(QWidget *parent)
m_ui->dbCheckBox->setEnabled(false);
m_ui->comboDriver->addItems(drivers);
-
- connect(m_ui->okButton, &QPushButton::clicked,
- this, &QSqlConnectionDialog::onOkButton);
- connect(m_ui->cancelButton, &QPushButton::clicked,
- this, &QSqlConnectionDialog::reject);
}
QSqlConnectionDialog::~QSqlConnectionDialog()
@@ -68,13 +63,13 @@ bool QSqlConnectionDialog::useInMemoryDatabase() const
return m_ui->dbCheckBox->isChecked();
}
-void QSqlConnectionDialog::onOkButton()
+void QSqlConnectionDialog::accept()
{
if (m_ui->comboDriver->currentText().isEmpty()) {
QMessageBox::information(this, tr("No database driver selected"),
tr("Please select a database driver"));
m_ui->comboDriver->setFocus();
} else {
- accept();
+ QDialog::accept();
}
}