diff options
author | Sami Merilä <sami.merila@nokia.com> | 2009-10-16 12:45:18 (GMT) |
---|---|---|
committer | Sami Merilä <sami.merila@nokia.com> | 2009-10-16 12:45:18 (GMT) |
commit | 25f4ccc3a9de2e4610974540f88c331238218c72 (patch) | |
tree | 24a7234243ebbf823d641c8cfd36a939bc8ecffb /src/gui/dialogs | |
parent | 93c7ab5a2b10481e4f10a6477379d8157ae5f7b0 (diff) | |
download | Qt-25f4ccc3a9de2e4610974540f88c331238218c72.zip Qt-25f4ccc3a9de2e4610974540f88c331238218c72.tar.gz Qt-25f4ccc3a9de2e4610974540f88c331238218c72.tar.bz2 |
Softkeys remain disabled if action owning action widget is enabled
Softkeys have a QAction that is related to some action widget.
The initial state of the action was set according the state of action
widget (enabled/disabled). Now, if action widget's state changes,
the softkey's action remain in the initial state.
This was fixed by removing the enable/disable from the QAction and
instead use the real state of action widget when handling the
command of softkey.
Task-number: QTBUG-4619
Reviewed-by: Janne Anttila
Diffstat (limited to 'src/gui/dialogs')
-rw-r--r-- | src/gui/dialogs/qerrormessage.cpp | 13 | ||||
-rw-r--r-- | src/gui/dialogs/qprogressdialog.cpp | 2 | ||||
-rw-r--r-- | src/gui/dialogs/qwizard.cpp | 2 |
3 files changed, 9 insertions, 8 deletions
diff --git a/src/gui/dialogs/qerrormessage.cpp b/src/gui/dialogs/qerrormessage.cpp index 436ef94..762936a 100644 --- a/src/gui/dialogs/qerrormessage.cpp +++ b/src/gui/dialogs/qerrormessage.cpp @@ -245,12 +245,6 @@ QErrorMessage::QErrorMessage(QWidget * parent) Q_D(QErrorMessage); QGridLayout * grid = new QGridLayout(this); d->icon = new QLabel(this); -#ifdef QT_SOFTKEYS_ENABLED - d->okAction = new QAction(this); - d->okAction->setSoftKeyRole(QAction::PositiveSoftKey); - connect(d->okAction, SIGNAL(triggered()), this, SLOT(accept())); - addAction(d->okAction); -#endif #ifndef QT_NO_MESSAGEBOX d->icon->setPixmap(QMessageBox::standardIcon(QMessageBox::Information)); d->icon->setAlignment(Qt::AlignHCenter | Qt::AlignTop); @@ -262,6 +256,13 @@ QErrorMessage::QErrorMessage(QWidget * parent) d->again->setChecked(true); grid->addWidget(d->again, 1, 1, Qt::AlignTop); d->ok = new QPushButton(this); +#ifdef QT_SOFTKEYS_ENABLED + d->okAction = new QAction(d->ok); + d->okAction->setSoftKeyRole(QAction::PositiveSoftKey); + connect(d->okAction, SIGNAL(triggered()), this, SLOT(accept())); + addAction(d->okAction); +#endif + #if defined(Q_WS_WINCE) || defined(Q_WS_S60) d->ok->setFixedSize(0,0); diff --git a/src/gui/dialogs/qprogressdialog.cpp b/src/gui/dialogs/qprogressdialog.cpp index 5fb10bf..f5024bb 100644 --- a/src/gui/dialogs/qprogressdialog.cpp +++ b/src/gui/dialogs/qprogressdialog.cpp @@ -453,7 +453,7 @@ void QProgressDialog::setCancelButton(QPushButton *cancelButton) cancelButton->show(); #else { - d->cancelAction = new QAction(cancelButton->text(), this); + d->cancelAction = new QAction(cancelButton->text(), cancelButton); d->cancelAction->setSoftKeyRole(QAction::NegativeSoftKey); connect(d->cancelAction, SIGNAL(triggered()), this, SIGNAL(canceled())); addAction(d->cancelAction); diff --git a/src/gui/dialogs/qwizard.cpp b/src/gui/dialogs/qwizard.cpp index 0f6d353..0102e25 100644 --- a/src/gui/dialogs/qwizard.cpp +++ b/src/gui/dialogs/qwizard.cpp @@ -1340,7 +1340,7 @@ bool QWizardPrivate::ensureButton(QWizard::WizardButton which) const pushButton->setText(buttonDefaultText(wizStyle, which, this)); #ifdef QT_SOFTKEYS_ENABLED - QAction *softKey = new QAction(pushButton->text(), antiFlickerWidget); + QAction *softKey = new QAction(pushButton->text(), pushButton); QAction::SoftKeyRole softKeyRole; switch(which) { case QWizard::NextButton: |