diff options
author | Iikka Eklund <iikka.eklund@digia.com> | 2014-04-02 07:36:48 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-04-02 07:36:48 +0200 |
commit | d6f58e5e17d58c640fc7779652008fda0d66f41d (patch) | |
tree | d50d27e260c9eaf4bc2bcb4480b8a069a3aed857 /src/widgets/dialogs/qfontdialog.cpp | |
parent | 83de197a57ff6c3e5bbad26bd871981285384fcb (diff) | |
parent | 0ab63b035a649dc1982c867cd37d466d249004b9 (diff) |
Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev
Diffstat (limited to 'src/widgets/dialogs/qfontdialog.cpp')
-rw-r--r-- | src/widgets/dialogs/qfontdialog.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/widgets/dialogs/qfontdialog.cpp b/src/widgets/dialogs/qfontdialog.cpp index 94e96a52c5..5a68bfbc66 100644 --- a/src/widgets/dialogs/qfontdialog.cpp +++ b/src/widgets/dialogs/qfontdialog.cpp @@ -256,8 +256,10 @@ void QFontDialogPrivate::init() } updateFamilies(); - if (familyList->count() != 0) + if (familyList->count() != 0) { familyList->setCurrentItem(0); + sizeList->setCurrentItem(0); + } // grid layout QGridLayout *mainGrid = new QGridLayout(q); @@ -621,16 +623,13 @@ void QFontDialogPrivate::updateSizes() QStringList str_sizes; for(QList<int>::const_iterator it = sizes.constBegin(); it != sizes.constEnd(); ++it) { str_sizes.append(QString::number(*it)); - if (current == -1 && *it >= size) + if (current == -1 && *it == size) current = i; ++i; } sizeList->model()->setStringList(str_sizes); - if (current == -1) { - // we request a size bigger than the ones in the list, select the biggest one - current = sizeList->count() - 1; - } - sizeList->setCurrentItem(current); + if (current != -1) + sizeList->setCurrentItem(current); const QSignalBlocker blocker(sizeEdit); sizeEdit->setText((smoothScalable ? QString::number(size) : sizeList->currentText())); @@ -750,7 +749,10 @@ void QFontDialogPrivate::_q_sizeChanged(const QString &s) break; } const QSignalBlocker blocker(sizeList); - sizeList->setCurrentItem(i); + if (sizeList->text(i).toInt() == this->size) + sizeList->setCurrentItem(i); + else + sizeList->clearSelection(); } _q_updateSample(); } |