qtbase/examples/sql/sqlbrowser/qsqlconnectiondialog.h

40 lines
792 B
C
Raw Normal View History

// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#ifndef QSQLCONNECTIONDIALOG_H
#define QSQLCONNECTIONDIALOG_H
#include <QDialog>
#include <memory>
QT_BEGIN_NAMESPACE
namespace Ui
{
class QSqlConnectionDialogUi;
}
QT_END_NAMESPACE
class QSqlConnectionDialog : public QDialog
{
Q_OBJECT
public:
explicit QSqlConnectionDialog(QWidget *parent = nullptr);
~QSqlConnectionDialog() override;
QString driverName() const;
QString databaseName() const;
QString userName() const;
QString password() const;
QString hostName() const;
int port() const;
bool useInMemoryDatabase() const;
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. Change-Id: I83afd6156a0811e0c0f99f2480625ea6b69ff78b Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 3419c299369ac1da94ba5710aaf5f5f65c38c33c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 8dbd0828e94497ab6ee6c5d924e51b4778e5bccc)
2024-12-31 09:03:41 +00:00
void accept() override;
private:
const std::unique_ptr<Ui::QSqlConnectionDialogUi> m_ui;
};
#endif