QProgressDialog: Extract Method QProgressDialogPrivate::setCancelButtonText()

This is in preparation of a fix for the broken online-retranslatability of
the cancel button.

Change-Id: Ie62540766e50e1f1ec07d251cc56a2ee0745d434
Reviewed-by: David Faure <david.faure@kdab.com>
This commit is contained in:
Marc Mutz 2014-07-29 23:25:45 +02:00
parent e2331c6f76
commit ab79a8a76c

View File

@ -84,6 +84,7 @@ public:
void init(const QString &labelText, const QString &cancelText, int min, int max);
void layout();
void retranslateStrings();
void setCancelButtonText(const QString &cancelButtonText);
void _q_disconnectOnClose();
QLabel *label;
@ -458,19 +459,25 @@ void QProgressDialog::setCancelButtonText(const QString &cancelButtonText)
{
Q_D(QProgressDialog);
d->useDefaultCancelText = false;
d->setCancelButtonText(cancelButtonText);
}
void QProgressDialogPrivate::setCancelButtonText(const QString &cancelButtonText)
{
Q_Q(QProgressDialog);
if (!cancelButtonText.isNull()) {
if (d->cancel) {
d->cancel->setText(cancelButtonText);
if (cancel) {
cancel->setText(cancelButtonText);
} else {
setCancelButton(new QPushButton(cancelButtonText, this));
q->setCancelButton(new QPushButton(cancelButtonText, q));
}
} else {
setCancelButton(0);
q->setCancelButton(0);
}
int w = qMax(isVisible() ? width() : 0, sizeHint().width());
int h = qMax(isVisible() ? height() : 0, sizeHint().height());
resize(w, h);
int w = qMax(q->isVisible() ? q->width() : 0, q->sizeHint().width());
int h = qMax(q->isVisible() ? q->height() : 0, q->sizeHint().height());
q->resize(w, h);
}