diff options
author | Thierry Bastian <thierry.bastian@nokia.com> | 2009-06-18 13:16:17 (GMT) |
---|---|---|
committer | Thierry Bastian <thierry.bastian@nokia.com> | 2009-06-18 13:17:42 (GMT) |
commit | 45c1b4f3d48dd8f7c33b259b6f73cf628798a23d (patch) | |
tree | 609993320ba8c0bd6ef6f3f9bac4ff1d96789a04 /tests/auto/qfontdialog | |
parent | 450a9c97aba21db04df4af281312e4262529691a (diff) | |
download | Qt-45c1b4f3d48dd8f7c33b259b6f73cf628798a23d.zip Qt-45c1b4f3d48dd8f7c33b259b6f73cf628798a23d.tar.gz Qt-45c1b4f3d48dd8f7c33b259b6f73cf628798a23d.tar.bz2 |
QFontDialog: fixed the current font not being updated
This could happen when the list of styles depending on the font is
different from the font you selected before. It then is not updated
and the style of the font returned by the QFontDialog is wrong.
Task-number: 256466
Diffstat (limited to 'tests/auto/qfontdialog')
-rw-r--r-- | tests/auto/qfontdialog/tst_qfontdialog.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/auto/qfontdialog/tst_qfontdialog.cpp b/tests/auto/qfontdialog/tst_qfontdialog.cpp index c12c229..1444ee0 100644 --- a/tests/auto/qfontdialog/tst_qfontdialog.cpp +++ b/tests/auto/qfontdialog/tst_qfontdialog.cpp @@ -47,7 +47,9 @@ #include <qfontinfo.h> #include <qtimer.h> #include <qmainwindow.h> +#include <qlistview.h> #include "qfontdialog.h" +#include <private/qfontdialog_p.h> //TESTED_CLASS= //TESTED_FILES= @@ -74,6 +76,7 @@ public slots: private slots: void defaultOkButton(); void setFont(); + void task256466_wrongStyle(); }; tst_QFontDialog::tst_QFontDialog() @@ -151,6 +154,29 @@ void tst_QFontDialog::setFont() } +class FriendlyFontDialog : public QFontDialog +{ + friend tst_QFontDialog; + Q_DECLARE_PRIVATE(QFontDialog); +}; + +void tst_QFontDialog::task256466_wrongStyle() +{ + QFontDatabase fdb; + FriendlyFontDialog dialog; + QListView *familyList = reinterpret_cast<QListView*>(dialog.d_func()->familyList); + QListView *styleList = reinterpret_cast<QListView*>(dialog.d_func()->styleList); + QListView *sizeList = reinterpret_cast<QListView*>(dialog.d_func()->sizeList); + for (int i = 0; i < familyList->model()->rowCount(); ++i) { + QModelIndex currentFamily = familyList->model()->index(i, 0); + familyList->setCurrentIndex(currentFamily); + QCOMPARE(dialog.currentFont(), fdb.font(currentFamily.data().toString(), + styleList->currentIndex().data().toString(), sizeList->currentIndex().data().toInt())); + } +} + + + QTEST_MAIN(tst_QFontDialog) #include "tst_qfontdialog.moc" |