diff options
Diffstat (limited to 'src')
33 files changed, 78 insertions, 3 deletions
diff --git a/src/3rdparty/webkit/Source/WebCore/ChangeLog b/src/3rdparty/webkit/Source/WebCore/ChangeLog index ead97bd..ead97bd 100755..100644 --- a/src/3rdparty/webkit/Source/WebCore/ChangeLog +++ b/src/3rdparty/webkit/Source/WebCore/ChangeLog diff --git a/src/3rdparty/webkit/Source/WebCore/bindings/js/PageScriptDebugServer.cpp b/src/3rdparty/webkit/Source/WebCore/bindings/js/PageScriptDebugServer.cpp index 3d9cb9d..3d9cb9d 100755..100644 --- a/src/3rdparty/webkit/Source/WebCore/bindings/js/PageScriptDebugServer.cpp +++ b/src/3rdparty/webkit/Source/WebCore/bindings/js/PageScriptDebugServer.cpp diff --git a/src/3rdparty/webkit/Source/WebCore/bindings/js/PageScriptDebugServer.h b/src/3rdparty/webkit/Source/WebCore/bindings/js/PageScriptDebugServer.h index 5563e26..5563e26 100755..100644 --- a/src/3rdparty/webkit/Source/WebCore/bindings/js/PageScriptDebugServer.h +++ b/src/3rdparty/webkit/Source/WebCore/bindings/js/PageScriptDebugServer.h diff --git a/src/3rdparty/webkit/Source/WebCore/bindings/js/WorkerScriptDebugServer.cpp b/src/3rdparty/webkit/Source/WebCore/bindings/js/WorkerScriptDebugServer.cpp index 5e2acd2..5e2acd2 100755..100644 --- a/src/3rdparty/webkit/Source/WebCore/bindings/js/WorkerScriptDebugServer.cpp +++ b/src/3rdparty/webkit/Source/WebCore/bindings/js/WorkerScriptDebugServer.cpp diff --git a/src/3rdparty/webkit/Source/WebCore/bindings/js/WorkerScriptDebugServer.h b/src/3rdparty/webkit/Source/WebCore/bindings/js/WorkerScriptDebugServer.h index 40624358..40624358 100755..100644 --- a/src/3rdparty/webkit/Source/WebCore/bindings/js/WorkerScriptDebugServer.h +++ b/src/3rdparty/webkit/Source/WebCore/bindings/js/WorkerScriptDebugServer.h diff --git a/src/3rdparty/webkit/Source/WebCore/html/canvas/DataView.cpp b/src/3rdparty/webkit/Source/WebCore/html/canvas/DataView.cpp index e00443d..e00443d 100755..100644 --- a/src/3rdparty/webkit/Source/WebCore/html/canvas/DataView.cpp +++ b/src/3rdparty/webkit/Source/WebCore/html/canvas/DataView.cpp diff --git a/src/3rdparty/webkit/Source/WebCore/html/canvas/DataView.h b/src/3rdparty/webkit/Source/WebCore/html/canvas/DataView.h index a8aba5c..a8aba5c 100755..100644 --- a/src/3rdparty/webkit/Source/WebCore/html/canvas/DataView.h +++ b/src/3rdparty/webkit/Source/WebCore/html/canvas/DataView.h diff --git a/src/3rdparty/webkit/Source/WebCore/inspector/PageDebuggerAgent.cpp b/src/3rdparty/webkit/Source/WebCore/inspector/PageDebuggerAgent.cpp index 6b86232..6b86232 100755..100644 --- a/src/3rdparty/webkit/Source/WebCore/inspector/PageDebuggerAgent.cpp +++ b/src/3rdparty/webkit/Source/WebCore/inspector/PageDebuggerAgent.cpp diff --git a/src/3rdparty/webkit/Source/WebCore/inspector/PageDebuggerAgent.h b/src/3rdparty/webkit/Source/WebCore/inspector/PageDebuggerAgent.h index 7d6af6c..7d6af6c 100755..100644 --- a/src/3rdparty/webkit/Source/WebCore/inspector/PageDebuggerAgent.h +++ b/src/3rdparty/webkit/Source/WebCore/inspector/PageDebuggerAgent.h diff --git a/src/3rdparty/webkit/Source/WebCore/inspector/WorkerDebuggerAgent.cpp b/src/3rdparty/webkit/Source/WebCore/inspector/WorkerDebuggerAgent.cpp index 14bde38..14bde38 100755..100644 --- a/src/3rdparty/webkit/Source/WebCore/inspector/WorkerDebuggerAgent.cpp +++ b/src/3rdparty/webkit/Source/WebCore/inspector/WorkerDebuggerAgent.cpp diff --git a/src/3rdparty/webkit/Source/WebCore/inspector/WorkerDebuggerAgent.h b/src/3rdparty/webkit/Source/WebCore/inspector/WorkerDebuggerAgent.h index e88fd89..e88fd89 100755..100644 --- a/src/3rdparty/webkit/Source/WebCore/inspector/WorkerDebuggerAgent.h +++ b/src/3rdparty/webkit/Source/WebCore/inspector/WorkerDebuggerAgent.h diff --git a/src/3rdparty/webkit/Source/WebCore/inspector/front-end/CSSKeywordCompletions.js b/src/3rdparty/webkit/Source/WebCore/inspector/front-end/CSSKeywordCompletions.js index de2072a..de2072a 100755..100644 --- a/src/3rdparty/webkit/Source/WebCore/inspector/front-end/CSSKeywordCompletions.js +++ b/src/3rdparty/webkit/Source/WebCore/inspector/front-end/CSSKeywordCompletions.js diff --git a/src/3rdparty/webkit/Source/WebCore/inspector/front-end/CookieParser.js b/src/3rdparty/webkit/Source/WebCore/inspector/front-end/CookieParser.js index f96be0b..f96be0b 100755..100644 --- a/src/3rdparty/webkit/Source/WebCore/inspector/front-end/CookieParser.js +++ b/src/3rdparty/webkit/Source/WebCore/inspector/front-end/CookieParser.js diff --git a/src/3rdparty/webkit/Source/WebCore/inspector/front-end/ExtensionAPISchema.json b/src/3rdparty/webkit/Source/WebCore/inspector/front-end/ExtensionAPISchema.json index 1319cdf..1319cdf 100755..100644 --- a/src/3rdparty/webkit/Source/WebCore/inspector/front-end/ExtensionAPISchema.json +++ b/src/3rdparty/webkit/Source/WebCore/inspector/front-end/ExtensionAPISchema.json diff --git a/src/3rdparty/webkit/Source/WebCore/inspector/front-end/SearchController.js b/src/3rdparty/webkit/Source/WebCore/inspector/front-end/SearchController.js index d0f9cb4..d0f9cb4 100755..100644 --- a/src/3rdparty/webkit/Source/WebCore/inspector/front-end/SearchController.js +++ b/src/3rdparty/webkit/Source/WebCore/inspector/front-end/SearchController.js diff --git a/src/3rdparty/webkit/Source/WebCore/inspector/front-end/Toolbar.js b/src/3rdparty/webkit/Source/WebCore/inspector/front-end/Toolbar.js index 61fa2f7..61fa2f7 100755..100644 --- a/src/3rdparty/webkit/Source/WebCore/inspector/front-end/Toolbar.js +++ b/src/3rdparty/webkit/Source/WebCore/inspector/front-end/Toolbar.js diff --git a/src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.cpp b/src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.cpp index 4b339ca..4b339ca 100755..100644 --- a/src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.cpp +++ b/src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.cpp diff --git a/src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.h b/src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.h index 8ad44f8..8ad44f8 100755..100644 --- a/src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.h +++ b/src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.h diff --git a/src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.cpp b/src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.cpp index 0693eb0..0693eb0 100755..100644 --- a/src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.cpp +++ b/src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.cpp diff --git a/src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.h b/src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.h index fdad347..fdad347 100755..100644 --- a/src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.h +++ b/src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.h diff --git a/src/3rdparty/webkit/Source/WebKit2/UIProcess/win/WebUndoClient.h b/src/3rdparty/webkit/Source/WebKit2/UIProcess/win/WebUndoClient.h index b7fdc15..b7fdc15 100755..100644 --- a/src/3rdparty/webkit/Source/WebKit2/UIProcess/win/WebUndoClient.h +++ b/src/3rdparty/webkit/Source/WebKit2/UIProcess/win/WebUndoClient.h diff --git a/src/3rdparty/webkit/Source/WebKit2/win/fsVideoAudioVolumeHigh.png b/src/3rdparty/webkit/Source/WebKit2/win/fsVideoAudioVolumeHigh.png Binary files differindex d04df37..d04df37 100755..100644 --- a/src/3rdparty/webkit/Source/WebKit2/win/fsVideoAudioVolumeHigh.png +++ b/src/3rdparty/webkit/Source/WebKit2/win/fsVideoAudioVolumeHigh.png diff --git a/src/3rdparty/webkit/Source/WebKit2/win/fsVideoAudioVolumeLow.png b/src/3rdparty/webkit/Source/WebKit2/win/fsVideoAudioVolumeLow.png Binary files differindex e824a21..e824a21 100755..100644 --- a/src/3rdparty/webkit/Source/WebKit2/win/fsVideoAudioVolumeLow.png +++ b/src/3rdparty/webkit/Source/WebKit2/win/fsVideoAudioVolumeLow.png diff --git a/src/3rdparty/webkit/Source/WebKit2/win/fsVideoExitFullscreen.png b/src/3rdparty/webkit/Source/WebKit2/win/fsVideoExitFullscreen.png Binary files differindex 01ce692..01ce692 100755..100644 --- a/src/3rdparty/webkit/Source/WebKit2/win/fsVideoExitFullscreen.png +++ b/src/3rdparty/webkit/Source/WebKit2/win/fsVideoExitFullscreen.png diff --git a/src/3rdparty/webkit/Source/WebKit2/win/fsVideoPause.png b/src/3rdparty/webkit/Source/WebKit2/win/fsVideoPause.png Binary files differindex b98fb36..b98fb36 100755..100644 --- a/src/3rdparty/webkit/Source/WebKit2/win/fsVideoPause.png +++ b/src/3rdparty/webkit/Source/WebKit2/win/fsVideoPause.png diff --git a/src/3rdparty/webkit/Source/WebKit2/win/fsVideoPlay.png b/src/3rdparty/webkit/Source/WebKit2/win/fsVideoPlay.png Binary files differindex 035aeb2..035aeb2 100755..100644 --- a/src/3rdparty/webkit/Source/WebKit2/win/fsVideoPlay.png +++ b/src/3rdparty/webkit/Source/WebKit2/win/fsVideoPlay.png diff --git a/src/gui/graphicsview/qgraphicslayoutitem.cpp b/src/gui/graphicsview/qgraphicslayoutitem.cpp index 0631df8..5a2d051 100644 --- a/src/gui/graphicsview/qgraphicslayoutitem.cpp +++ b/src/gui/graphicsview/qgraphicslayoutitem.cpp @@ -133,15 +133,81 @@ void QGraphicsLayoutItemPrivate::init() /*! \internal + + effectiveSizeHint has a quirky behavior, one of the quirkinesses is when the hfw function is + combined with user-specified min/max sizes. The input to hfw function (e.g width) must be within + the min/max width constraint, and the output must be within the min/max height. This sets up a + loose dependency between minimum width and maximum height (or minimum height, depending on the + type of hfw function). Note that its only the concrete subclass that implements that hfw + function that knows if this dependency means that the height will increase or decrease when the + width is increased. + + The application should try to ensure that the user-defined sizes are within the range so that + they don't conflict with the hfw function. + + Suppose, for instance that the hfw function is: + + height = 2000/width + + and the item has these user-defined sizes: + + min ( 5, 5) + pref(100, 10) + max (500,100) + + what is the return value if one calls item->effectiveSizeHint(Qt::MinimumSize, QSizeF(10, -1)); ? + The sizeHint() function would return QSizeF(10, 200), but it would be bounded down to 100 due + to the max value, so it would return (10, 100). This is not what the item expects, since it + really wants that its hfw is respected. If this is a label with wrapped text, this would most + likely lead to that some text is clipped. This is certainly not what the app developer wants. + Now, it would be better if the user changed those constraints to match the hfw function: + + min ( 20, 5) + pref(100, 10) + max (500,100) + + here, it says that the width cannot be smaller than 20. This is because if it becomes smaller + than 20 the result of the hfw function would violate the max height (100). + + However, there is a similar problem if the width passed to the hfw function reaches *max* width: + + the sizeHint() function would now return QSizeF(500, 4), but 4 is smaller than the minimum + height (5), so effectiveSizeHint() would return (500, 5), which would leave too much space. + In this case, setting the max width to 400 fixes the problem: + + min ( 20, 5) + pref(100, 10) + max (400,100) + + + The implementor of a hfw widget must be aware of this when sizeHint() is reimplemented, so that + the default min and max sizes works sensible. (unfortunately the implementor does not have the + control over user-set values). + */ QSizeF *QGraphicsLayoutItemPrivate::effectiveSizeHints(const QSizeF &constraint) const { Q_Q(const QGraphicsLayoutItem); QSizeF *sizeHintCache; const bool hasConstraint = constraint.width() >= 0 || constraint.height() >= 0; + QSizeF adjustedConstraint = constraint; if (hasConstraint) { if (!sizeHintWithConstraintCacheDirty && constraint == cachedConstraint) return cachedSizeHintsWithConstraints; + + const QSizeF *hintsWithoutConstraint = effectiveSizeHints(QSizeF(-1,-1)); + + if (adjustedConstraint.width() >= 0) + adjustedConstraint.setWidth( qBound( hintsWithoutConstraint[Qt::MinimumSize].width(), + adjustedConstraint.width(), + hintsWithoutConstraint[Qt::MaximumSize].width())); + if (adjustedConstraint.height() >= 0) + adjustedConstraint.setHeight( qBound( hintsWithoutConstraint[Qt::MinimumSize].height(), + adjustedConstraint.height(), + hintsWithoutConstraint[Qt::MaximumSize].height())); + + if (!sizeHintWithConstraintCacheDirty && adjustedConstraint == cachedConstraint) + return cachedSizeHintsWithConstraints; sizeHintCache = cachedSizeHintsWithConstraints; } else { if (!sizeHintCacheDirty) @@ -150,7 +216,7 @@ QSizeF *QGraphicsLayoutItemPrivate::effectiveSizeHints(const QSizeF &constraint) } for (int i = 0; i < Qt::NSizeHints; ++i) { - sizeHintCache[i] = constraint; + sizeHintCache[i] = adjustedConstraint; if (userSizeHints) combineSize(sizeHintCache[i], userSizeHints[i]); } @@ -185,7 +251,7 @@ QSizeF *QGraphicsLayoutItemPrivate::effectiveSizeHints(const QSizeF &constraint) // COMBINE_SIZE(descentS, q->sizeHint(Qt::MinimumDescent, constraint)); if (hasConstraint) { - cachedConstraint = constraint; + cachedConstraint = adjustedConstraint; sizeHintWithConstraintCacheDirty = false; } else { sizeHintCacheDirty = false; diff --git a/src/gui/kernel/qwidget_x11.cpp b/src/gui/kernel/qwidget_x11.cpp index 52e3046..c3362ae 100644 --- a/src/gui/kernel/qwidget_x11.cpp +++ b/src/gui/kernel/qwidget_x11.cpp @@ -2666,8 +2666,17 @@ void QWidgetPrivate::setConstraints_sys() #ifdef ALIEN_DEBUG qDebug() << "QWidgetPrivate::setConstraints_sys START" << q; #endif - if (q->testAttribute(Qt::WA_WState_Created)) + if (q->testAttribute(Qt::WA_WState_Created)) { do_size_hints(q, extra); + QtMWMHints mwmHints = GetMWMHints(X11->display, q->internalWinId()); + const bool wasFuncResize = mwmHints.functions & MWM_FUNC_RESIZE; + if (q->minimumSize() == q->maximumSize()) + mwmHints.functions &= ~MWM_FUNC_RESIZE; + else + mwmHints.functions |= MWM_FUNC_RESIZE; + if (wasFuncResize != (mwmHints.functions & MWM_FUNC_RESIZE)) + SetMWMHints(X11->display, q->internalWinId(), mwmHints); + } #ifdef ALIEN_DEBUG qDebug() << "QWidgetPrivate::setConstraints_sys END" << q; #endif diff --git a/src/imports/shaders/glfunctions.h b/src/imports/shaders/glfunctions.h index c7ba80d..c7ba80d 100755..100644 --- a/src/imports/shaders/glfunctions.h +++ b/src/imports/shaders/glfunctions.h diff --git a/src/imports/shaders/shadereffectitem.cpp b/src/imports/shaders/shadereffectitem.cpp index b954e5a..b954e5a 100755..100644 --- a/src/imports/shaders/shadereffectitem.cpp +++ b/src/imports/shaders/shadereffectitem.cpp diff --git a/src/plugins/platforms/uikit/examples/flickrdemo/flickrdemo.xcodeproj/project.pbxproj b/src/plugins/platforms/uikit/examples/flickrdemo/flickrdemo.xcodeproj/project.pbxproj index dedc462..dedc462 100755..100644 --- a/src/plugins/platforms/uikit/examples/flickrdemo/flickrdemo.xcodeproj/project.pbxproj +++ b/src/plugins/platforms/uikit/examples/flickrdemo/flickrdemo.xcodeproj/project.pbxproj diff --git a/src/plugins/platforms/uikit/examples/qmltest/qmltest.xcodeproj/project.pbxproj b/src/plugins/platforms/uikit/examples/qmltest/qmltest.xcodeproj/project.pbxproj index 021eed2..021eed2 100755..100644 --- a/src/plugins/platforms/uikit/examples/qmltest/qmltest.xcodeproj/project.pbxproj +++ b/src/plugins/platforms/uikit/examples/qmltest/qmltest.xcodeproj/project.pbxproj diff --git a/src/s60installs/s60installs.pro b/src/s60installs/s60installs.pro index 08c4829..08c4829 100755..100644 --- a/src/s60installs/s60installs.pro +++ b/src/s60installs/s60installs.pro |