diff options
40 files changed, 121 insertions, 43 deletions
diff --git a/src/gui/styles/qgtkstyle.cpp b/src/gui/styles/qgtkstyle.cpp index 103e97f..582962a 100644 --- a/src/gui/styles/qgtkstyle.cpp +++ b/src/gui/styles/qgtkstyle.cpp @@ -399,6 +399,17 @@ int QGtkStyle::pixelMetric(PixelMetric metric, return QCleanlooksStyle::pixelMetric(metric, option, widget); switch (metric) { + case PM_DefaultFrameWidth: + if (qobject_cast<const QFrame*>(widget)) { + if (GtkStyle *style = + QGtk::gtk_rc_get_style_by_paths(QGtk::gtk_settings_get_default(), + "*.GtkScrolledWindow", + "*.GtkScrolledWindow", + Q_GTK_TYPE_WINDOW)) + return qMax(style->xthickness, style->ythickness); + } + return 2; + case PM_MenuButtonIndicator: return 20; @@ -635,6 +646,60 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element, QGtkPainter gtkPainter(painter); switch (element) { + case PE_Frame: { + // Drawing the entire itemview frame is very expensive, especially on the native X11 engine + // Instead we cheat a bit and draw a border image without the center part, hence only scaling + // thin rectangular images + const int pmSize = 64; + const int border = pixelMetric(PM_DefaultFrameWidth, option, widget); + const QString pmKey = QString(QLS("windowframe %0")).arg(option->state); + + QPixmap pixmap; + QPixmapCache::find(pmKey, pixmap); + QRect pmRect(QPoint(0,0), QSize(pmSize, pmSize)); + + // Only draw through style once + if (pixmap.isNull()) { + pixmap = QPixmap(pmSize, pmSize); + pixmap.fill(Qt::transparent); + QPainter pmPainter(&pixmap); + QGtkPainter gtkFramePainter(&pmPainter); + gtkFramePainter.setUsePixmapCache(false); // Don't cache twice + + GtkShadowType shadow_type = GTK_SHADOW_NONE; + if (option->state & State_Sunken) + shadow_type = GTK_SHADOW_IN; + else if (option->state & State_Raised) + shadow_type = GTK_SHADOW_OUT; + + GtkStyle *style = QGtk::gtk_rc_get_style_by_paths(QGtk::gtk_settings_get_default(), + "*.GtkScrolledWindow", "*.GtkScrolledWindow", Q_GTK_TYPE_WINDOW); + if (style) + gtkFramePainter.paintShadow(QGtk::gtkWidget(QLS("GtkFrame")), "viewport", pmRect, + option->state & State_Enabled ? GTK_STATE_NORMAL : GTK_STATE_INSENSITIVE, + shadow_type, style); + QPixmapCache::insert(pmKey, pixmap); + } + + QRect rect = option->rect; + const int rw = rect.width() - border; + const int rh = rect.height() - border; + const int pw = pmRect.width() - border; + const int ph = pmRect.height() - border; + + // Sidelines + painter->drawPixmap(rect.adjusted(border, 0, -border, -rh), pixmap, pmRect.adjusted(border, 0, -border,-ph)); + painter->drawPixmap(rect.adjusted(border, rh, -border, 0), pixmap, pmRect.adjusted(border, ph,-border,0)); + painter->drawPixmap(rect.adjusted(0, border, -rw, -border), pixmap, pmRect.adjusted(0, border, -pw, -border)); + painter->drawPixmap(rect.adjusted(rw, border, 0, -border), pixmap, pmRect.adjusted(pw, border, 0, -border)); + + // Corners + painter->drawPixmap(rect.adjusted(0, 0, -rw, -rh), pixmap, pmRect.adjusted(0, 0, -pw,-ph)); + painter->drawPixmap(rect.adjusted(rw, 0, 0, -rh), pixmap, pmRect.adjusted(pw, 0, 0,-ph)); + painter->drawPixmap(rect.adjusted(0, rh, -rw, 0), pixmap, pmRect.adjusted(0, ph, -pw,0)); + painter->drawPixmap(rect.adjusted(rw, rh, 0, 0), pixmap, pmRect.adjusted(pw, ph, 0,0)); + } + break; case PE_PanelTipLabel: { GtkWidget *gtkWindow = QGtk::gtkWidget(QLS("GtkWindow")); // The Murrine Engine currently assumes a widget is passed diff --git a/src/gui/text/qfontengine.cpp b/src/gui/text/qfontengine.cpp index c4dffdf..47fe5c2 100644 --- a/src/gui/text/qfontengine.cpp +++ b/src/gui/text/qfontengine.cpp @@ -542,7 +542,7 @@ void QFontEngine::addBitmapFontToPath(qreal x, qreal y, const QGlyphLayout &glyp advanceY += glyphs.advances_y[i]; continue; } - QImage alphaMask = alphaMapForGlyph(glyphs.glyphs[i]); + const QImage alphaMask = alphaMapForGlyph(glyphs.glyphs[i]); const int w = alphaMask.width(); const int h = alphaMask.height(); diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbsurface.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbsurface.cpp index 7d5ad10..ce026ea 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbsurface.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbsurface.cpp @@ -338,11 +338,22 @@ void QDirectFBSurface::flush(QWidget *widget, const QRegion ®ion, QWSWindowSurface::flush(widget, region, offset); #ifndef QT_NO_DIRECTFB_WM - const QRect br = region.boundingRect().translated(painterOffset()); - const DFBRegion r = { br.x(), br.y(), - br.x() + br.width(), br.y() + br.height() }; - - dfbSurface->Flip(dfbSurface, &r, DSFLIP_NONE); + if (region.numRects() > 1) { + const QVector<QRect> rects = region.rects(); + for (int i=0; i<rects.size(); ++i) { + const QRect &r = rects.at(i); + const DFBRegion dfbReg = { r.x() + offset.x(), r.y() + offset.y(), + r.x() + r.width() + offset.x(), + r.y() + r.height() + offset.y() }; + dfbSurface->Flip(dfbSurface, &dfbReg, DSFLIP_ONSYNC); + } + } else { + const QRect r = region.boundingRect(); + const DFBRegion dfbReg = { r.x() + offset.x(), r.y() + offset.y(), + r.x() + r.width() + offset.x(), + r.y() + r.height() + offset.y() }; + dfbSurface->Flip(dfbSurface, &dfbReg, DSFLIP_ONSYNC); + } #endif } diff --git a/tests/auto/qdir/testdir/dir/Makefile b/tests/auto/qdir/testdir/dir/Makefile deleted file mode 100644 index e69de29..0000000 --- a/tests/auto/qdir/testdir/dir/Makefile +++ /dev/null diff --git a/tests/auto/selftests/alive/alive.pro b/tests/auto/selftests/alive/alive.pro index 4a6b788..08cf358 100644 --- a/tests/auto/selftests/alive/alive.pro +++ b/tests/auto/selftests/alive/alive.pro @@ -5,3 +5,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = alive diff --git a/tests/auto/selftests/assert/assert.pro b/tests/auto/selftests/assert/assert.pro index 87513d4..0e48375 100644 --- a/tests/auto/selftests/assert/assert.pro +++ b/tests/auto/selftests/assert/assert.pro @@ -8,3 +8,4 @@ CONFIG -= debug_and_release_target !win32:CONFIG += debug +TARGET = assert diff --git a/tests/auto/selftests/badxml/badxml.pro b/tests/auto/selftests/badxml/badxml.pro index d0d4ddf..323791a 100644 --- a/tests/auto/selftests/badxml/badxml.pro +++ b/tests/auto/selftests/badxml/badxml.pro @@ -7,4 +7,5 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target !win32:CONFIG += debug +TARGET = badxml diff --git a/tests/auto/selftests/benchlibcallgrind/benchlibcallgrind.pro b/tests/auto/selftests/benchlibcallgrind/benchlibcallgrind.pro index 34a43d0..c9ec7e2 100644 --- a/tests/auto/selftests/benchlibcallgrind/benchlibcallgrind.pro +++ b/tests/auto/selftests/benchlibcallgrind/benchlibcallgrind.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = benchlibcallgrind diff --git a/tests/auto/selftests/benchlibeventcounter/benchlibeventcounter.pro b/tests/auto/selftests/benchlibeventcounter/benchlibeventcounter.pro index 41e090e..44b0295 100644 --- a/tests/auto/selftests/benchlibeventcounter/benchlibeventcounter.pro +++ b/tests/auto/selftests/benchlibeventcounter/benchlibeventcounter.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = benchlibeventcounter diff --git a/tests/auto/selftests/benchliboptions/benchliboptions.pro b/tests/auto/selftests/benchliboptions/benchliboptions.pro index 2f02eef..4dee69f 100644 --- a/tests/auto/selftests/benchliboptions/benchliboptions.pro +++ b/tests/auto/selftests/benchliboptions/benchliboptions.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = benchliboptions diff --git a/tests/auto/selftests/benchlibtickcounter/benchlibtickcounter.pro b/tests/auto/selftests/benchlibtickcounter/benchlibtickcounter.pro index 3d8cbfa..3621449 100644 --- a/tests/auto/selftests/benchlibtickcounter/benchlibtickcounter.pro +++ b/tests/auto/selftests/benchlibtickcounter/benchlibtickcounter.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = benchlibtickcounter diff --git a/tests/auto/selftests/benchlibwalltime/benchlibwalltime.pro b/tests/auto/selftests/benchlibwalltime/benchlibwalltime.pro index 364e80b..f4694b5 100644 --- a/tests/auto/selftests/benchlibwalltime/benchlibwalltime.pro +++ b/tests/auto/selftests/benchlibwalltime/benchlibwalltime.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = benchlibwalltime diff --git a/tests/auto/selftests/cmptest/cmptest.pro b/tests/auto/selftests/cmptest/cmptest.pro index c19a77a..8b2df1c 100644 --- a/tests/auto/selftests/cmptest/cmptest.pro +++ b/tests/auto/selftests/cmptest/cmptest.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = cmptest diff --git a/tests/auto/selftests/commandlinedata/commandlinedata.pro b/tests/auto/selftests/commandlinedata/commandlinedata.pro index c900fc8..96bfa5b 100644 --- a/tests/auto/selftests/commandlinedata/commandlinedata.pro +++ b/tests/auto/selftests/commandlinedata/commandlinedata.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = commandlinedata diff --git a/tests/auto/selftests/crashes/crashes.pro b/tests/auto/selftests/crashes/crashes.pro index 57eb4c7..7eec6ea 100644 --- a/tests/auto/selftests/crashes/crashes.pro +++ b/tests/auto/selftests/crashes/crashes.pro @@ -7,3 +7,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = crashes diff --git a/tests/auto/selftests/datatable/datatable.pro b/tests/auto/selftests/datatable/datatable.pro index 69aed7a..98f04d6 100644 --- a/tests/auto/selftests/datatable/datatable.pro +++ b/tests/auto/selftests/datatable/datatable.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = datatable diff --git a/tests/auto/selftests/datetime/datetime.pro b/tests/auto/selftests/datetime/datetime.pro index 489e5cb..b015661 100644 --- a/tests/auto/selftests/datetime/datetime.pro +++ b/tests/auto/selftests/datetime/datetime.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = datetime diff --git a/tests/auto/selftests/differentexec/differentexec.pro b/tests/auto/selftests/differentexec/differentexec.pro index e789649..c11b0d3 100644 --- a/tests/auto/selftests/differentexec/differentexec.pro +++ b/tests/auto/selftests/differentexec/differentexec.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = differentexec diff --git a/tests/auto/selftests/exception/exception.pro b/tests/auto/selftests/exception/exception.pro index 14d8c7f..65705c6 100644 --- a/tests/auto/selftests/exception/exception.pro +++ b/tests/auto/selftests/exception/exception.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = exception diff --git a/tests/auto/selftests/expectfail/expectfail.pro b/tests/auto/selftests/expectfail/expectfail.pro index c411199..97a3560 100644 --- a/tests/auto/selftests/expectfail/expectfail.pro +++ b/tests/auto/selftests/expectfail/expectfail.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = expectfail diff --git a/tests/auto/selftests/failinit/failinit.pro b/tests/auto/selftests/failinit/failinit.pro index 729cf74..e3d54c8 100644 --- a/tests/auto/selftests/failinit/failinit.pro +++ b/tests/auto/selftests/failinit/failinit.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = failinit diff --git a/tests/auto/selftests/failinitdata/failinitdata.pro b/tests/auto/selftests/failinitdata/failinitdata.pro index 6b48af1..1ff96f7 100644 --- a/tests/auto/selftests/failinitdata/failinitdata.pro +++ b/tests/auto/selftests/failinitdata/failinitdata.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = failinitdata diff --git a/tests/auto/selftests/fetchbogus/fetchbogus.pro b/tests/auto/selftests/fetchbogus/fetchbogus.pro index badb636..3a5d13b 100644 --- a/tests/auto/selftests/fetchbogus/fetchbogus.pro +++ b/tests/auto/selftests/fetchbogus/fetchbogus.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = fetchbogus diff --git a/tests/auto/selftests/globaldata/globaldata.pro b/tests/auto/selftests/globaldata/globaldata.pro index eb3b454..1bdcf07 100644 --- a/tests/auto/selftests/globaldata/globaldata.pro +++ b/tests/auto/selftests/globaldata/globaldata.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = globaldata diff --git a/tests/auto/selftests/maxwarnings/maxwarnings.pro b/tests/auto/selftests/maxwarnings/maxwarnings.pro index b43affe..393a964 100644 --- a/tests/auto/selftests/maxwarnings/maxwarnings.pro +++ b/tests/auto/selftests/maxwarnings/maxwarnings.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = maxwarnings diff --git a/tests/auto/selftests/multiexec/multiexec.pro b/tests/auto/selftests/multiexec/multiexec.pro index 723f56f..639b9b8 100644 --- a/tests/auto/selftests/multiexec/multiexec.pro +++ b/tests/auto/selftests/multiexec/multiexec.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = multiexec diff --git a/tests/auto/selftests/qexecstringlist/qexecstringlist.pro b/tests/auto/selftests/qexecstringlist/qexecstringlist.pro index 27afcb2..73bdaca 100644 --- a/tests/auto/selftests/qexecstringlist/qexecstringlist.pro +++ b/tests/auto/selftests/qexecstringlist/qexecstringlist.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = qexecstringlist diff --git a/tests/auto/selftests/singleskip/singleskip.pro b/tests/auto/selftests/singleskip/singleskip.pro index 0d66f68..9762c97 100644 --- a/tests/auto/selftests/singleskip/singleskip.pro +++ b/tests/auto/selftests/singleskip/singleskip.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = singleskip diff --git a/tests/auto/selftests/skip/skip.pro b/tests/auto/selftests/skip/skip.pro index 545a579..989fdeb 100644 --- a/tests/auto/selftests/skip/skip.pro +++ b/tests/auto/selftests/skip/skip.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = skip diff --git a/tests/auto/selftests/skipglobal/skipglobal.pro b/tests/auto/selftests/skipglobal/skipglobal.pro index 97553c6..0205a88 100644 --- a/tests/auto/selftests/skipglobal/skipglobal.pro +++ b/tests/auto/selftests/skipglobal/skipglobal.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = skipglobal diff --git a/tests/auto/selftests/skipinit/skipinit.pro b/tests/auto/selftests/skipinit/skipinit.pro index d8ee13e..6912183 100644 --- a/tests/auto/selftests/skipinit/skipinit.pro +++ b/tests/auto/selftests/skipinit/skipinit.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = skipinit diff --git a/tests/auto/selftests/skipinitdata/skipinitdata.pro b/tests/auto/selftests/skipinitdata/skipinitdata.pro index 8da653e..206ed11 100644 --- a/tests/auto/selftests/skipinitdata/skipinitdata.pro +++ b/tests/auto/selftests/skipinitdata/skipinitdata.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = skipinitdata diff --git a/tests/auto/selftests/sleep/sleep.pro b/tests/auto/selftests/sleep/sleep.pro index 7b28ccc..0bd3225 100644 --- a/tests/auto/selftests/sleep/sleep.pro +++ b/tests/auto/selftests/sleep/sleep.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = sleep diff --git a/tests/auto/selftests/strcmp/strcmp.pro b/tests/auto/selftests/strcmp/strcmp.pro index 489211c..3121c25 100644 --- a/tests/auto/selftests/strcmp/strcmp.pro +++ b/tests/auto/selftests/strcmp/strcmp.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = strcmp diff --git a/tests/auto/selftests/subtest/subtest.pro b/tests/auto/selftests/subtest/subtest.pro index 4d258ee..fe3cafa 100644 --- a/tests/auto/selftests/subtest/subtest.pro +++ b/tests/auto/selftests/subtest/subtest.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = subtest diff --git a/tests/auto/selftests/tst_selftests.cpp b/tests/auto/selftests/tst_selftests.cpp index fcfc625..aa1048b 100644 --- a/tests/auto/selftests/tst_selftests.cpp +++ b/tests/auto/selftests/tst_selftests.cpp @@ -198,7 +198,7 @@ void tst_Selftests::doRunSubTest(QString &subdir, QStringList &arguments ) { QProcess proc; proc.setEnvironment(QStringList("")); - proc.start(subdir + "/tst_" + subdir, arguments); + proc.start(subdir + "/" + subdir, arguments); QVERIFY2(proc.waitForFinished(), qPrintable(proc.errorString())); const QByteArray out(proc.readAllStandardOutput()); @@ -329,7 +329,7 @@ void tst_Selftests::checkXML() const QProcess proc; proc.setEnvironment(QStringList("")); - proc.start(subdir + "/tst_" + subdir, arguments); + proc.start(subdir + "/" + subdir, arguments); QVERIFY(proc.waitForFinished()); QByteArray out(proc.readAllStandardOutput()); @@ -367,7 +367,7 @@ void tst_Selftests::checkXunitxml() const QProcess proc; proc.setEnvironment(QStringList("")); - proc.start(subdir + "/tst_" + subdir, arguments); + proc.start(subdir + "/" + subdir, arguments); QVERIFY(proc.waitForFinished()); QByteArray out(proc.readAllStandardOutput()); diff --git a/tests/auto/selftests/updateBaselines.sh b/tests/auto/selftests/updateBaselines.sh deleted file mode 100755 index a0f22e6..0000000 --- a/tests/auto/selftests/updateBaselines.sh +++ /dev/null @@ -1,34 +0,0 @@ -# Be *really* sure that your fix is right, before running this script. - -tests=" \ - cmptest \ - cmptest \ - cmptest \ - datatable \ - datetime \ - expectfail \ - expectfail \ - globaldata \ - globaldata \ - maxwarnings \ - multiexec \ - singleskip \ - qexecstringlist \ - differentexec \ - skip \ - skip \ - skipglobal \ - sleep \ - strcmp \ - subtest \ - warnings" - -for test in $tests; do - echo "Updating $test" - cd $test - baseline="../expected_"$test".txt" - p4 edit $baseline - ./tst_$test > ../expected_"$test".txt - p4 revert -a $baseline - cd .. -done diff --git a/tests/auto/selftests/waitwithoutgui/waitwithoutgui.pro b/tests/auto/selftests/waitwithoutgui/waitwithoutgui.pro index 8cdf7cc..cf3098d 100644 --- a/tests/auto/selftests/waitwithoutgui/waitwithoutgui.pro +++ b/tests/auto/selftests/waitwithoutgui/waitwithoutgui.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = waitwithoutgui diff --git a/tests/auto/selftests/warnings/warnings.pro b/tests/auto/selftests/warnings/warnings.pro index 9ae22d3..eaf06b4 100644 --- a/tests/auto/selftests/warnings/warnings.pro +++ b/tests/auto/selftests/warnings/warnings.pro @@ -6,3 +6,4 @@ mac:CONFIG -= app_bundle CONFIG -= debug_and_release_target +TARGET = warnings diff --git a/tests/auto/selftests/xunit/xunit.pro b/tests/auto/selftests/xunit/xunit.pro index eb98c2a..81ca157 100644 --- a/tests/auto/selftests/xunit/xunit.pro +++ b/tests/auto/selftests/xunit/xunit.pro @@ -10,3 +10,6 @@ wince*: { contains(QT_CONFIG, qt3support): QT += qt3support DEFINES += SRCDIR=\\\"$$PWD\\\" } + +TARGET = xunit + |