summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorThierry Bastian <thierry.bastian@nokia.com>2009-06-18 13:16:17 (GMT)
committerThierry Bastian <thierry.bastian@nokia.com>2009-06-18 13:17:42 (GMT)
commit45c1b4f3d48dd8f7c33b259b6f73cf628798a23d (patch)
tree609993320ba8c0bd6ef6f3f9bac4ff1d96789a04 /tests
parent450a9c97aba21db04df4af281312e4262529691a (diff)
downloadQt-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')
-rw-r--r--tests/auto/qfontdialog/tst_qfontdialog.cpp26
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"