By setting a parent for the QDialogButtonBox we let QDialog handle everything by itself.
Also, store the dialog button box as a member rather than just the OK button.
This removes the need to set the OK button as default manually (which didn't work anyway)
and fixes pressing Return while the input is focused erroneously opening the folder browser
rather than accepting the dialog.
REVIEW: 129213
m_urlEdit(0),
m_textEdit(0),
m_iconButton(0),
m_urlEdit(0),
m_textEdit(0),
m_iconButton(0),
+ m_appLocal(0),
+ m_buttonBox(nullptr)
void PlacesItemEditDialog::slotUrlChanged(const QString& text)
{
void PlacesItemEditDialog::slotUrlChanged(const QString& text)
{
- m_okButton->setEnabled(!text.isEmpty());
+ m_buttonBox->button(QDialogButtonBox::Ok)->setEnabled(!text.isEmpty());
}
PlacesItemEditDialog::~PlacesItemEditDialog()
}
PlacesItemEditDialog::~PlacesItemEditDialog()
void PlacesItemEditDialog::initialize()
{
void PlacesItemEditDialog::initialize()
{
- QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok|QDialogButtonBox::Cancel);
- m_okButton = buttonBox->button(QDialogButtonBox::Ok);
- m_okButton->setDefault(true);
- m_okButton->setShortcut(Qt::CTRL | Qt::Key_Return);
- connect(buttonBox, &QDialogButtonBox::accepted, this, &PlacesItemEditDialog::accept);
- connect(buttonBox, &QDialogButtonBox::rejected, this, &PlacesItemEditDialog::reject);
+ m_buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok|QDialogButtonBox::Cancel, this);
+ connect(m_buttonBox, &QDialogButtonBox::accepted, this, &PlacesItemEditDialog::accept);
+ connect(m_buttonBox, &QDialogButtonBox::rejected, this, &PlacesItemEditDialog::reject);
- m_okButton->setDefault(true);
QVBoxLayout *mainLayout = new QVBoxLayout;
setLayout(mainLayout);
QWidget* mainWidget = new QWidget(this);
mainLayout->addWidget(mainWidget);
QVBoxLayout *mainLayout = new QVBoxLayout;
setLayout(mainLayout);
QWidget* mainWidget = new QWidget(this);
mainLayout->addWidget(mainWidget);
- mainLayout->addWidget(buttonBox);
+ mainLayout->addWidget(m_buttonBox);
QVBoxLayout* vBox = new QVBoxLayout(mainWidget);
QVBoxLayout* vBox = new QVBoxLayout(mainWidget);
class KUrlRequester;
class QLineEdit;
class QCheckBox;
class KUrlRequester;
class QLineEdit;
class QCheckBox;
class PlacesItemEditDialog: public QDialog
{
class PlacesItemEditDialog: public QDialog
{
QLineEdit* m_textEdit;
KIconButton* m_iconButton;
QCheckBox* m_appLocal;
QLineEdit* m_textEdit;
KIconButton* m_iconButton;
QCheckBox* m_appLocal;
- QPushButton *m_okButton;
+ QDialogButtonBox *m_buttonBox;