diff options
author | Gunnar Sletta <gunnar@trolltech.com> | 2010-02-18 11:58:56 (GMT) |
---|---|---|
committer | Gunnar Sletta <gunnar@trolltech.com> | 2010-02-18 11:58:56 (GMT) |
commit | b63c596ef6a937a3ab99d8496b5e8b6260fe8aa7 (patch) | |
tree | b5e2079fd22185cb13ba5d5948e187419a4362be /tests | |
parent | 2ec9f20ad7204ad1121a49d862d625821323f7b4 (diff) | |
parent | a4414cd9d5e9818b944430593f7e4f1189e12758 (diff) | |
download | Qt-b63c596ef6a937a3ab99d8496b5e8b6260fe8aa7.zip Qt-b63c596ef6a937a3ab99d8496b5e8b6260fe8aa7.tar.gz Qt-b63c596ef6a937a3ab99d8496b5e8b6260fe8aa7.tar.bz2 |
Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/oslo-staging-2
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp | 57 | ||||
-rw-r--r-- | tests/benchmarks/corelib/tools/qvector/main.cpp (renamed from tests/benchmarks/qvector/main.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/tools/qvector/outofline.cpp (renamed from tests/benchmarks/qvector/outofline.cpp) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/tools/qvector/qrawvector.h (renamed from tests/benchmarks/qvector/qrawvector.h) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/tools/qvector/qvector.pro (renamed from tests/benchmarks/qvector/qvector.pro) | 0 | ||||
-rw-r--r-- | tests/benchmarks/corelib/tools/tools.pro | 3 | ||||
-rw-r--r-- | tests/benchmarks/declarative/painting/paintbenchmark.cpp | 16 |
7 files changed, 65 insertions, 11 deletions
diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp index 7c1b97e..269ec24 100644 --- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp +++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp @@ -438,6 +438,7 @@ private slots: void QTBUG_6738_missingUpdateWithSetParent(); void QTBUG_7714_fullUpdateDiscardingOpacityUpdate2(); void QT_2653_fullUpdateDiscardingOpacityUpdate(); + void QT_2649_focusScope(); private: QList<QGraphicsItem *> paintedItems; @@ -10002,5 +10003,61 @@ void tst_QGraphicsItem::QTBUG_7714_fullUpdateDiscardingOpacityUpdate2() QTRY_COMPARE(view.repaints, 1); } +void tst_QGraphicsItem::QT_2649_focusScope() +{ + QGraphicsScene *scene = new QGraphicsScene; + + QGraphicsRectItem *subFocusItem = new QGraphicsRectItem; + subFocusItem->setFlags(QGraphicsItem::ItemIsFocusable); + subFocusItem->setFocus(); + QCOMPARE(subFocusItem->focusItem(), (QGraphicsItem *)subFocusItem); + + QGraphicsRectItem *scope = new QGraphicsRectItem; + scope->setFlags(QGraphicsItem::ItemIsFocusable | QGraphicsItem::ItemIsFocusScope); + scope->setFocus(); + subFocusItem->setParentItem(scope); + QCOMPARE(subFocusItem->focusItem(), (QGraphicsItem *)subFocusItem); + QCOMPARE(subFocusItem->focusScopeItem(), (QGraphicsItem *)0); + QCOMPARE(scope->focusItem(), (QGraphicsItem *)subFocusItem); + QCOMPARE(scope->focusScopeItem(), (QGraphicsItem *)subFocusItem); + + QGraphicsRectItem *rootItem = new QGraphicsRectItem; + rootItem->setFlags(QGraphicsItem::ItemIsFocusable); + scope->setParentItem(rootItem); + QCOMPARE(rootItem->focusItem(), (QGraphicsItem *)subFocusItem); + QCOMPARE(rootItem->focusScopeItem(), (QGraphicsItem *)0); + QCOMPARE(subFocusItem->focusItem(), (QGraphicsItem *)subFocusItem); + QCOMPARE(subFocusItem->focusScopeItem(), (QGraphicsItem *)0); + QCOMPARE(scope->focusItem(), (QGraphicsItem *)subFocusItem); + QCOMPARE(scope->focusScopeItem(), (QGraphicsItem *)subFocusItem); + + scene->addItem(rootItem); + + QEvent windowActivate(QEvent::WindowActivate); + qApp->sendEvent(scene, &windowActivate); + scene->setFocus(); + + QCOMPARE(rootItem->focusItem(), (QGraphicsItem *)subFocusItem); + QCOMPARE(scope->focusItem(), (QGraphicsItem *)subFocusItem); + QCOMPARE(subFocusItem->focusItem(), (QGraphicsItem *)subFocusItem); + QCOMPARE(rootItem->focusScopeItem(), (QGraphicsItem *)0); + QCOMPARE(scope->focusScopeItem(), (QGraphicsItem *)subFocusItem); + QCOMPARE(subFocusItem->focusScopeItem(), (QGraphicsItem *)0); + QVERIFY(subFocusItem->hasFocus()); + + //If we hide the focusScope, the entire subFocus chain should be cleared + scope->hide(); + + QCOMPARE(rootItem->focusItem(), (QGraphicsItem *)0); + QCOMPARE(scope->focusItem(), (QGraphicsItem *)0); + QCOMPARE(subFocusItem->focusItem(), (QGraphicsItem *)0); + QCOMPARE(rootItem->focusScopeItem(), (QGraphicsItem *)0); + QCOMPARE(scope->focusScopeItem(), (QGraphicsItem *)subFocusItem); + QCOMPARE(subFocusItem->focusScopeItem(), (QGraphicsItem *)0); + QVERIFY(!subFocusItem->hasFocus()); + + delete scene; +} + QTEST_MAIN(tst_QGraphicsItem) #include "tst_qgraphicsitem.moc" diff --git a/tests/benchmarks/qvector/main.cpp b/tests/benchmarks/corelib/tools/qvector/main.cpp index 65e7609..65e7609 100644 --- a/tests/benchmarks/qvector/main.cpp +++ b/tests/benchmarks/corelib/tools/qvector/main.cpp diff --git a/tests/benchmarks/qvector/outofline.cpp b/tests/benchmarks/corelib/tools/qvector/outofline.cpp index e8d036e..e8d036e 100644 --- a/tests/benchmarks/qvector/outofline.cpp +++ b/tests/benchmarks/corelib/tools/qvector/outofline.cpp diff --git a/tests/benchmarks/qvector/qrawvector.h b/tests/benchmarks/corelib/tools/qvector/qrawvector.h index 15421eb..15421eb 100644 --- a/tests/benchmarks/qvector/qrawvector.h +++ b/tests/benchmarks/corelib/tools/qvector/qrawvector.h diff --git a/tests/benchmarks/qvector/qvector.pro b/tests/benchmarks/corelib/tools/qvector/qvector.pro index adb30c9..adb30c9 100644 --- a/tests/benchmarks/qvector/qvector.pro +++ b/tests/benchmarks/corelib/tools/qvector/qvector.pro diff --git a/tests/benchmarks/corelib/tools/tools.pro b/tests/benchmarks/corelib/tools/tools.pro index 12c23fc..681a6c6 100644 --- a/tests/benchmarks/corelib/tools/tools.pro +++ b/tests/benchmarks/corelib/tools/tools.pro @@ -7,4 +7,5 @@ SUBDIRS = \ qregexp \ qstring \ qstringbuilder \ - qstringlist + qstringlist \ + qvector diff --git a/tests/benchmarks/declarative/painting/paintbenchmark.cpp b/tests/benchmarks/declarative/painting/paintbenchmark.cpp index d6a873c..dd52740 100644 --- a/tests/benchmarks/declarative/painting/paintbenchmark.cpp +++ b/tests/benchmarks/declarative/painting/paintbenchmark.cpp @@ -48,10 +48,7 @@ #include <QVBoxLayout> #include <QTime> #include <QDebug> - -#ifdef HAVE_STATICTEXT -#include <private/qstatictext_p.h> -#endif +#include <QStaticText> int iterations = 20; const int count = 600; @@ -105,7 +102,6 @@ void paint_QTextLayout_cache(QPainter &p) paint_QTextLayout(p, true); } -#ifdef HAVE_STATICTEXT void paint_QStaticText(QPainter &p, bool useOptimizations) { static QStaticText *staticText[lines]; @@ -113,7 +109,10 @@ void paint_QStaticText(QPainter &p, bool useOptimizations) if (first) { for (int i = 0; i < lines; ++i) { staticText[i] = new QStaticText(strings[i]); - staticText[i]->setUseBackendOptimizations(useOptimizations); + if (useOptimizations) + staticText[i]->setPerformanceHint(QStaticText::AggressiveCaching); + else + staticText[i]->setPerformanceHint(QStaticText::ModerateCaching); } first = false; } @@ -133,7 +132,6 @@ void paint_QStaticText_optimizations(QPainter &p) { paint_QStaticText(p, true); } -#endif void paint_QPixmapCachedText(QPainter &p) { @@ -203,10 +201,8 @@ struct { } funcs[] = { { "QTextLayoutNoCache", &paint_QTextLayout_noCache }, { "QTextLayoutWithCache", &paint_QTextLayout_cache }, -#ifdef HAVE_STATICTEXT { "QStaticTextNoBackendOptimizations", &paint_QStaticText_noOptimizations }, { "QStaticTextWithBackendOptimizations", &paint_QStaticText_optimizations }, -#endif { "CachedText", &paint_QPixmapCachedText }, { "RoundedRect", &paint_RoundedRect }, { "CachedRoundedRect", &paint_QPixmapCachedRoundedRect }, @@ -231,7 +227,7 @@ public: void paintEvent(QPaintEvent *) { static int last = 0; static bool firstRun = true; - if (firstRun == 0) { + if (firstRun) { timer.start(); firstRun = false; } else { |