summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--demos/declarative/webbrowser/content/FlickableWebView.qml162
-rw-r--r--demos/declarative/webbrowser/content/RectSoftShadow.qml2
-rw-r--r--demos/declarative/webbrowser/content/RetractingWebBrowserHeader.qml106
-rw-r--r--demos/declarative/webbrowser/content/fieldtext/FieldText.qml (renamed from demos/declarative/webbrowser/fieldtext/FieldText.qml)0
-rw-r--r--demos/declarative/webbrowser/content/fieldtext/pics/cancel.png (renamed from demos/declarative/webbrowser/fieldtext/pics/cancel.png)bin1038 -> 1038 bytes
-rw-r--r--demos/declarative/webbrowser/content/fieldtext/pics/ok.png (renamed from demos/declarative/webbrowser/fieldtext/pics/ok.png)bin655 -> 655 bytes
-rw-r--r--demos/declarative/webbrowser/webbrowser.qml272
-rw-r--r--examples/declarative/loader/main.cpp21
-rw-r--r--src/declarative/3rdparty/3rdparty.pri6
-rw-r--r--src/declarative/3rdparty/qlistmodelinterface_p.h1
-rw-r--r--src/declarative/debugger/debugger.pri24
-rw-r--r--src/declarative/debugger/qmldebug.cpp6
-rw-r--r--src/declarative/debugger/qmldebugclient.cpp9
-rw-r--r--src/declarative/debugger/qmldebugservice.cpp9
-rw-r--r--src/declarative/debugger/qpacketprotocol.cpp4
-rw-r--r--src/declarative/declarative.pro2
-rw-r--r--src/declarative/graphicsitems/graphicsitems.pri163
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsanchors.cpp7
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsanchors_p.h6
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsanchors_p_p.h3
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsanimatedimage.cpp6
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsanimatedimage_p.h2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsanimatedimage_p_p.h2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsborderimage.cpp5
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsborderimage_p.h3
-rw-r--r--src/declarative/graphicsitems/qmlgraphicseffects.cpp2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsevents_p_p.h1
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsflickable.cpp2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsflickable_p.h2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsflickable_p_p.h11
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsflipable.cpp7
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsflipable_p.h3
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsfocuspanel.cpp1
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsfocuspanel_p.h2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsfocusscope.cpp1
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsfocusscope_p.h2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsgraphicsobjectcontainer.cpp6
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsgraphicsobjectcontainer_p.h2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsgridview.cpp12
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsgridview_p.h2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsimage.cpp2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsimage_p.h3
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsimagebase.cpp8
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsimagebase_p.h2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsimagebase_p_p.h1
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsitem.cpp51
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsitem.h5
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsitem_p.h38
-rw-r--r--src/declarative/graphicsitems/qmlgraphicslayoutitem.cpp2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicslayoutitem_p.h3
-rw-r--r--src/declarative/graphicsitems/qmlgraphicslistview.cpp65
-rw-r--r--src/declarative/graphicsitems/qmlgraphicslistview_p.h2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsloader.cpp5
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsloader_p.h2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsloader_p_p.h3
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsmouseregion.cpp21
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsmouseregion_p.h2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsmouseregion_p_p.h11
-rw-r--r--src/declarative/graphicsitems/qmlgraphicspainteditem.cpp57
-rw-r--r--src/declarative/graphicsitems/qmlgraphicspainteditem_p.h11
-rw-r--r--src/declarative/graphicsitems/qmlgraphicspainteditem_p_p.h5
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsparticles.cpp23
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsparticles_p.h2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicspath.cpp6
-rw-r--r--src/declarative/graphicsitems/qmlgraphicspath_p.h7
-rw-r--r--src/declarative/graphicsitems/qmlgraphicspath_p_p.h5
-rw-r--r--src/declarative/graphicsitems/qmlgraphicspathview.cpp18
-rw-r--r--src/declarative/graphicsitems/qmlgraphicspathview_p.h4
-rw-r--r--src/declarative/graphicsitems/qmlgraphicspathview_p_p.h9
-rw-r--r--src/declarative/graphicsitems/qmlgraphicspositioners.cpp141
-rw-r--r--src/declarative/graphicsitems/qmlgraphicspositioners_p.h7
-rw-r--r--src/declarative/graphicsitems/qmlgraphicspositioners_p_p.h23
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsrectangle_p.h4
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsrepeater.cpp8
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsrepeater_p.h2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsrepeater_p_p.h5
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsscalegrid.cpp7
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsscalegrid_p_p.h9
-rw-r--r--src/declarative/graphicsitems/qmlgraphicstext.cpp13
-rw-r--r--src/declarative/graphicsitems/qmlgraphicstext_p.h2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicstext_p_p.h6
-rw-r--r--src/declarative/graphicsitems/qmlgraphicstextedit.cpp11
-rw-r--r--src/declarative/graphicsitems/qmlgraphicstextedit_p.h5
-rw-r--r--src/declarative/graphicsitems/qmlgraphicstextedit_p_p.h2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicstextinput.cpp4
-rw-r--r--src/declarative/graphicsitems/qmlgraphicstextinput_p.h1
-rw-r--r--src/declarative/graphicsitems/qmlgraphicstextinput_p_p.h9
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsvisualitemmodel.cpp28
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsvisualitemmodel_p.h4
-rw-r--r--src/declarative/graphicsitems/qmlgraphicswebview.cpp64
-rw-r--r--src/declarative/graphicsitems/qmlgraphicswebview_p.h7
-rw-r--r--src/declarative/graphicsitems/qmlgraphicswebview_p_p.h1
-rw-r--r--src/declarative/qml/parser/parser.pri37
-rw-r--r--src/declarative/qml/parser/qmljsast.cpp1
-rw-r--r--src/declarative/qml/parser/qmljsast_p.h195
-rw-r--r--src/declarative/qml/parser/qmljsastfwd_p.h3
-rw-r--r--src/declarative/qml/parser/qmljsastvisitor_p.h2
-rw-r--r--src/declarative/qml/parser/qmljsengine_p.cpp4
-rw-r--r--src/declarative/qml/parser/qmljsengine_p.h14
-rw-r--r--src/declarative/qml/parser/qmljsglobal_p.h18
-rw-r--r--src/declarative/qml/parser/qmljslexer.cpp5
-rw-r--r--src/declarative/qml/parser/qmljslexer_p.h6
-rw-r--r--src/declarative/qml/parser/qmljsmemorypool_p.h7
-rw-r--r--src/declarative/qml/parser/qmljsnodepool_p.h8
-rw-r--r--src/declarative/qml/parser/qmljsparser.cpp12
-rw-r--r--src/declarative/qml/parser/qmljsparser_p.h2
-rw-r--r--src/declarative/qml/qmetaobjectbuilder.cpp1
-rw-r--r--src/declarative/qml/qml.h11
-rw-r--r--src/declarative/qml/qml.pri232
-rw-r--r--src/declarative/qml/qmlbasicscript.cpp17
-rw-r--r--src/declarative/qml/qmlbasicscript_p.h3
-rw-r--r--src/declarative/qml/qmlbinding.cpp23
-rw-r--r--src/declarative/qml/qmlbinding.h9
-rw-r--r--src/declarative/qml/qmlbinding_p.h5
-rw-r--r--src/declarative/qml/qmlbindingoptimizations.cpp3
-rw-r--r--src/declarative/qml/qmlbindingoptimizations_p.h4
-rw-r--r--src/declarative/qml/qmlboundsignal.cpp20
-rw-r--r--src/declarative/qml/qmlboundsignal_p.h6
-rw-r--r--src/declarative/qml/qmlcleanup.cpp3
-rw-r--r--src/declarative/qml/qmlcompileddata.cpp14
-rw-r--r--src/declarative/qml/qmlcompiler.cpp83
-rw-r--r--src/declarative/qml/qmlcompiler_p.h28
-rw-r--r--src/declarative/qml/qmlcomponent.cpp22
-rw-r--r--src/declarative/qml/qmlcomponent.h5
-rw-r--r--src/declarative/qml/qmlcomponent_p.h15
-rw-r--r--src/declarative/qml/qmlcompositetypedata_p.h3
-rw-r--r--src/declarative/qml/qmlcompositetypemanager.cpp20
-rw-r--r--src/declarative/qml/qmlcompositetypemanager_p.h9
-rw-r--r--src/declarative/qml/qmlcontext.cpp34
-rw-r--r--src/declarative/qml/qmlcontext_p.h17
-rw-r--r--src/declarative/qml/qmlcontextscriptclass.cpp7
-rw-r--r--src/declarative/qml/qmlcontextscriptclass_p.h4
-rw-r--r--src/declarative/qml/qmlcustomparser.cpp1
-rw-r--r--src/declarative/qml/qmlcustomparser_p.h7
-rw-r--r--src/declarative/qml/qmlcustomparser_p_p.h4
-rw-r--r--src/declarative/qml/qmldeclarativedata_p.h7
-rw-r--r--src/declarative/qml/qmldom.cpp12
-rw-r--r--src/declarative/qml/qmldom.h3
-rw-r--r--src/declarative/qml/qmldom_p.h3
-rw-r--r--src/declarative/qml/qmlengine.cpp82
-rw-r--r--src/declarative/qml/qmlengine_p.h33
-rw-r--r--src/declarative/qml/qmlenginedebug.cpp14
-rw-r--r--src/declarative/qml/qmlenginedebug_p.h3
-rw-r--r--src/declarative/qml/qmlerror.cpp1
-rw-r--r--src/declarative/qml/qmlexpression.cpp21
-rw-r--r--src/declarative/qml/qmlexpression.h9
-rw-r--r--src/declarative/qml/qmlexpression_p.h11
-rw-r--r--src/declarative/qml/qmlglobalscriptclass.cpp1
-rw-r--r--src/declarative/qml/qmlinfo.cpp6
-rw-r--r--src/declarative/qml/qmlinstruction.cpp2
-rw-r--r--src/declarative/qml/qmlintegercache.cpp5
-rw-r--r--src/declarative/qml/qmlintegercache_p.h8
-rw-r--r--src/declarative/qml/qmllist.h2
-rw-r--r--src/declarative/qml/qmllistscriptclass.cpp3
-rw-r--r--src/declarative/qml/qmlmetaproperty.cpp188
-rw-r--r--src/declarative/qml/qmlmetaproperty_p.h27
-rw-r--r--src/declarative/qml/qmlmetatype.cpp12
-rw-r--r--src/declarative/qml/qmlmetatype.h9
-rw-r--r--src/declarative/qml/qmlobjectscriptclass.cpp17
-rw-r--r--src/declarative/qml/qmlobjectscriptclass_p.h6
-rw-r--r--src/declarative/qml/qmlparser.cpp25
-rw-r--r--src/declarative/qml/qmlparser_p.h6
-rw-r--r--src/declarative/qml/qmlprivate.h1
-rw-r--r--src/declarative/qml/qmlpropertycache.cpp38
-rw-r--r--src/declarative/qml/qmlpropertycache_p.h31
-rw-r--r--src/declarative/qml/qmlpropertyvalueinterceptor.cpp1
-rw-r--r--src/declarative/qml/qmlpropertyvaluesource.cpp1
-rw-r--r--src/declarative/qml/qmlproxymetaobject_p.h6
-rw-r--r--src/declarative/qml/qmlrewrite.cpp4
-rw-r--r--src/declarative/qml/qmlscriptparser.cpp7
-rw-r--r--src/declarative/qml/qmlscriptparser_p.h5
-rw-r--r--src/declarative/qml/qmlsqldatabase.cpp17
-rw-r--r--src/declarative/qml/qmlstringconverters.cpp3
-rw-r--r--src/declarative/qml/qmlstringconverters_p.h2
-rw-r--r--src/declarative/qml/qmltypenamecache.cpp3
-rw-r--r--src/declarative/qml/qmltypenamecache_p.h5
-rw-r--r--src/declarative/qml/qmltypenamescriptclass.cpp5
-rw-r--r--src/declarative/qml/qmltypenamescriptclass_p.h4
-rw-r--r--src/declarative/qml/qmlvaluetype.cpp1
-rw-r--r--src/declarative/qml/qmlvaluetype_p.h3
-rw-r--r--src/declarative/qml/qmlvaluetypescriptclass.cpp3
-rw-r--r--src/declarative/qml/qmlvaluetypescriptclass_p.h1
-rw-r--r--src/declarative/qml/qmlvme.cpp74
-rw-r--r--src/declarative/qml/qmlvme_p.h35
-rw-r--r--src/declarative/qml/qmlvmemetaobject.cpp10
-rw-r--r--src/declarative/qml/qmlvmemetaobject_p.h4
-rw-r--r--src/declarative/qml/qmlwatcher.cpp16
-rw-r--r--src/declarative/qml/qmlworkerscript.cpp4
-rw-r--r--src/declarative/qml/qmlworkerscript_p.h5
-rw-r--r--src/declarative/qml/qmlxmlhttprequest.cpp15
-rw-r--r--src/declarative/qml/rewriter/rewriter.cpp3
-rw-r--r--src/declarative/qml/rewriter/rewriter.pri2
-rw-r--r--src/declarative/qml/rewriter/rewriter_p.h7
-rw-r--r--src/declarative/qml/rewriter/textwriter_p.h4
-rw-r--r--src/declarative/util/qfxperf.cpp2
-rw-r--r--src/declarative/util/qfxperf_p_p.h2
-rw-r--r--src/declarative/util/qmlanimation.cpp26
-rw-r--r--src/declarative/util/qmlanimation_p.h12
-rw-r--r--src/declarative/util/qmlanimation_p_p.h32
-rw-r--r--src/declarative/util/qmlbehavior.cpp10
-rw-r--r--src/declarative/util/qmlbehavior_p.h3
-rw-r--r--src/declarative/util/qmlbind.cpp10
-rw-r--r--src/declarative/util/qmlbind_p.h3
-rw-r--r--src/declarative/util/qmlconnection.cpp7
-rw-r--r--src/declarative/util/qmlconnection_p.h5
-rw-r--r--src/declarative/util/qmldatetimeformatter.cpp4
-rw-r--r--src/declarative/util/qmldatetimeformatter_p.h3
-rw-r--r--src/declarative/util/qmleasefollow.cpp8
-rw-r--r--src/declarative/util/qmleasefollow_p.h3
-rw-r--r--src/declarative/util/qmlfontloader.cpp9
-rw-r--r--src/declarative/util/qmlfontloader_p.h3
-rw-r--r--src/declarative/util/qmllistaccessor.cpp6
-rw-r--r--src/declarative/util/qmllistmodel.cpp20
-rw-r--r--src/declarative/util/qmllistmodel_p.h6
-rw-r--r--src/declarative/util/qmlnumberformatter.cpp3
-rw-r--r--src/declarative/util/qmlnumberformatter_p.h3
-rw-r--r--src/declarative/util/qmlopenmetaobject.cpp3
-rw-r--r--src/declarative/util/qmlopenmetaobject_p.h3
-rw-r--r--src/declarative/util/qmlpackage.cpp5
-rw-r--r--src/declarative/util/qmlpixmapcache.cpp77
-rw-r--r--src/declarative/util/qmlpropertychanges.cpp14
-rw-r--r--src/declarative/util/qmlpropertychanges_p.h2
-rw-r--r--src/declarative/util/qmlpropertymap.cpp4
-rw-r--r--src/declarative/util/qmlspringfollow.cpp12
-rw-r--r--src/declarative/util/qmlstate.cpp11
-rw-r--r--src/declarative/util/qmlstate_p.h3
-rw-r--r--src/declarative/util/qmlstate_p_p.h8
-rw-r--r--src/declarative/util/qmlstategroup.cpp8
-rw-r--r--src/declarative/util/qmlstategroup_p.h2
-rw-r--r--src/declarative/util/qmlstateoperations.cpp17
-rw-r--r--src/declarative/util/qmlstateoperations_p.h5
-rw-r--r--src/declarative/util/qmlsystempalette.cpp4
-rw-r--r--src/declarative/util/qmlsystempalette_p.h3
-rw-r--r--src/declarative/util/qmltimeline.cpp1
-rw-r--r--src/declarative/util/qmltimer.cpp10
-rw-r--r--src/declarative/util/qmltimer_p.h3
-rw-r--r--src/declarative/util/qmltransition.cpp10
-rw-r--r--src/declarative/util/qmltransition_p.h6
-rw-r--r--src/declarative/util/qmltransitionmanager.cpp6
-rw-r--r--src/declarative/util/qmltransitionmanager_p_p.h2
-rw-r--r--src/declarative/util/qmlview.cpp41
-rw-r--r--src/declarative/util/qmlxmllistmodel.cpp6
-rw-r--r--src/declarative/util/qmlxmllistmodel_p.h3
-rw-r--r--src/declarative/util/qnumberformat_p.h1
-rw-r--r--src/declarative/util/qperformancelog.cpp1
-rw-r--r--src/declarative/util/util.pri124
-rw-r--r--src/declarative/widgets/graphicslayouts.cpp3
-rw-r--r--src/declarative/widgets/graphicslayouts_p.h3
-rw-r--r--src/declarative/widgets/graphicswidgets.cpp2
-rw-r--r--src/declarative/widgets/graphicswidgets_p.h1
-rw-r--r--src/declarative/widgets/widgets.pri13
-rw-r--r--tests/auto/declarative/anchors/tst_anchors.cpp4
-rw-r--r--tests/auto/declarative/qmlgraphicswebview/data/pixelCache.qml2
-rw-r--r--tests/auto/declarative/qmlinstruction/tst_qmlinstruction.cpp6
-rw-r--r--tests/auto/declarative/qmllanguage/tst_qmllanguage.cpp3
-rw-r--r--tests/auto/declarative/qmlpixmapcache/tst_qmlpixmapcache.cpp3
-rw-r--r--tests/benchmarks/declarative/qmltime/qmltime.cpp13
-rw-r--r--tools/qmldebugger/creatorplugin/creatorplugin.pro1
-rw-r--r--tools/qmldebugger/standalone/qmldebugger.pri2
-rw-r--r--tools/qmlviewer/qmlviewer.pro1
260 files changed, 2300 insertions, 1705 deletions
diff --git a/demos/declarative/webbrowser/content/FlickableWebView.qml b/demos/declarative/webbrowser/content/FlickableWebView.qml
new file mode 100644
index 0000000..7c46d4c
--- /dev/null
+++ b/demos/declarative/webbrowser/content/FlickableWebView.qml
@@ -0,0 +1,162 @@
+import Qt 4.6
+
+Flickable {
+ property alias title: webView.title
+ property alias progress: webView.progress
+ property alias url: webView.url
+ property alias back: webView.back
+ property alias reload: webView.reload
+ property alias forward: webView.forward
+
+ id: flickable
+ width: parent.width
+ viewportWidth: Math.max(parent.width,webView.width*webView.scale)
+ viewportHeight: Math.max(parent.height,webView.height*webView.scale)
+ anchors.top: headerSpace.bottom
+ anchors.bottom: footer.top
+ anchors.left: parent.left
+ anchors.right: parent.right
+ pressDelay: 200
+
+ WebView {
+ id: webView
+ pixelCacheSize: 4000000
+
+ Script {
+ function fixUrl(url)
+ {
+ if (url == "") return url
+ if (url[0] == "/") return "file://"+url
+ if (url.indexOf(":")<0) {
+ if (url.indexOf(".")<0 || url.indexOf(" ")>=0) {
+ // Fall back to a search engine; hard-code Wikipedia
+ return "http://en.wikipedia.org/w/index.php?search="+url
+ } else {
+ return "http://"+url
+ }
+ }
+ return url
+ }
+ }
+
+ url: fixUrl(webBrowser.urlString)
+ smooth: false // We don't want smooth scaling, since we only scale during (fast) transitions
+ smoothCache: true // We do want smooth rendering
+ fillColor: "white"
+ focus: true
+ zoomFactor: 4
+
+ onAlert: console.log(message)
+
+ function doZoom(zoom,centerX,centerY)
+ {
+ if (centerX) {
+ var sc = zoom/contentsScale;
+ scaleAnim.to = sc;
+ flickVX.from = flickable.viewportX
+ flickVX.to = Math.max(0,Math.min(centerX-flickable.width/2,webView.width*sc-flickable.width))
+ finalX.value = flickVX.to
+ flickVY.from = flickable.viewportY
+ flickVY.to = Math.max(0,Math.min(centerY-flickable.height/2,webView.height*sc-flickable.height))
+ finalY.value = flickVY.to
+ finalZoom.value = zoom
+ quickZoom.start()
+ }
+ }
+
+ Keys.onLeftPressed: webView.contentsScale -= 0.1
+ Keys.onRightPressed: webView.contentsScale += 0.1
+
+ preferredWidth: flickable.width*zoomFactor
+ preferredHeight: flickable.height*zoomFactor
+ contentsScale: 1/zoomFactor
+ onContentsSizeChanged: {
+ // zoom out
+ contentsScale = Math.min(0.25,flickable.width / contentsSize.width)
+ }
+ onUrlChanged: {
+ // got to topleft
+ flickable.viewportX = 0
+ flickable.viewportY = 0
+ if (url != null) { header.editUrl = url.toString(); }
+ }
+ onDoubleClick: {
+ if (!heuristicZoom(clickX,clickY,2.5)) {
+ var zf = flickable.width / contentsSize.width
+ if (zf >= contentsScale)
+ zf = 2.0/zoomFactor // zoom in (else zooming out)
+ doZoom(zf,clickX*zf,clickY*zf)
+ }
+ }
+
+ SequentialAnimation {
+ id: quickZoom
+
+ PropertyAction {
+ target: webView
+ property: "renderingEnabled"
+ value: false
+ }
+ ParallelAnimation {
+ NumberAnimation {
+ id: scaleAnim
+ target: webView
+ property: "scale"
+ from: 1
+ to: 0 // set before calling
+ easing: "easeLinear"
+ duration: 200
+ }
+ NumberAnimation {
+ id: flickVX
+ target: flickable
+ property: "viewportX"
+ easing: "easeLinear"
+ duration: 200
+ from: 0 // set before calling
+ to: 0 // set before calling
+ }
+ NumberAnimation {
+ id: flickVY
+ target: flickable
+ property: "viewportY"
+ easing: "easeLinear"
+ duration: 200
+ from: 0 // set before calling
+ to: 0 // set before calling
+ }
+ }
+ PropertyAction {
+ id: finalZoom
+ target: webView
+ property: "contentsScale"
+ }
+ PropertyAction {
+ target: webView
+ property: "scale"
+ value: 1.0
+ }
+ // Have to set the viewportXY, since the above 2
+ // size changes may have started a correction if
+ // contentsScale < 1.0.
+ PropertyAction {
+ id: finalX
+ target: flickable
+ property: "viewportX"
+ value: 0 // set before calling
+ }
+ PropertyAction {
+ id: finalY
+ target: flickable
+ property: "viewportY"
+ value: 0 // set before calling
+ }
+ PropertyAction {
+ target: webView
+ property: "renderingEnabled"
+ value: true
+ }
+ }
+ onZoomTo: doZoom(zoom,centerX,centerY)
+ }
+}
diff --git a/demos/declarative/webbrowser/content/RectSoftShadow.qml b/demos/declarative/webbrowser/content/RectSoftShadow.qml
index 6bba98e..5b6d4ec 100644
--- a/demos/declarative/webbrowser/content/RectSoftShadow.qml
+++ b/demos/declarative/webbrowser/content/RectSoftShadow.qml
@@ -26,7 +26,7 @@ Item {
source: "pics/softshadow-bottom.png"
x: 0
y: parent.height
- width: webView.width*webView.scale
+ width: parent.width
height: 16
}
}
diff --git a/demos/declarative/webbrowser/content/RetractingWebBrowserHeader.qml b/demos/declarative/webbrowser/content/RetractingWebBrowserHeader.qml
new file mode 100644
index 0000000..a7e6a97
--- /dev/null
+++ b/demos/declarative/webbrowser/content/RetractingWebBrowserHeader.qml
@@ -0,0 +1,106 @@
+import Qt 4.6
+
+import "fieldtext"
+
+Image {
+ property alias editUrl: editUrl.text
+
+ id: header
+ source: "pics/header.png"
+ width: parent.width
+ height: 60
+ x: webView.viewportX < 0 ? -webView.viewportX : webView.viewportX > webView.viewportWidth-webView.width
+ ? -webView.viewportX+webView.viewportWidth-webView.width : 0
+ y: webView.viewportY < 0 ? -webView.viewportY : progressOff*
+ (webView.viewportY>height?-height:-webView.viewportY)
+ Text {
+ id: headerText
+
+ text: webView.title!='' || webView.progress == 1.0 ? webView.title : 'Loading...'
+ elide: Text.ElideRight
+
+ color: "white"
+ styleColor: "black"
+ style: Text.Raised
+
+ font.family: "Helvetica"
+ font.pointSize: 10
+ font.bold: true
+
+ anchors.left: header.left
+ anchors.right: header.right
+ anchors.leftMargin: 4
+ anchors.rightMargin: 4
+ anchors.top: header.top
+ anchors.topMargin: 4
+ horizontalAlignment: Text.AlignHCenter
+ }
+ Item {
+ width: parent.width
+ anchors.top: headerText.bottom
+ anchors.topMargin: 2
+ anchors.bottom: parent.bottom
+
+ Item {
+ id: urlBox
+ height: 31
+ anchors.left: parent.left
+ anchors.leftMargin: 12
+ anchors.right: parent.right
+ anchors.rightMargin: 12
+ anchors.top: parent.top
+ clip: true
+ property bool mouseGrabbed: false
+
+ BorderImage {
+ source: "pics/addressbar.sci"
+ anchors.fill: urlBox
+ }
+
+ BorderImage {
+ id: urlBoxhl
+ source: "pics/addressbar-filled.sci"
+ width: parent.width*webView.progress
+ height: parent.height
+ opacity: 1-header.progressOff
+ clip: true
+ }
+
+ FieldText {
+ id: editUrl
+ mouseGrabbed: parent.mouseGrabbed
+
+ text: webBrowser.urlString
+ label: "url:"
+ onConfirmed: { webBrowser.urlString = editUrl.text; webView.focus=true }
+ onCancelled: { webView.focus=true }
+ onStartEdit: { webView.focus=false }
+
+ anchors.left: urlBox.left
+ anchors.right: urlBox.right
+ anchors.leftMargin: 6
+ anchors.verticalCenter: urlBox.verticalCenter
+ anchors.verticalCenterOffset: 1
+ }
+ }
+ }
+
+ property real progressOff : 1
+ states: [
+ State {
+ name: "ProgressShown"
+ when: webView.progress < 1.0
+ PropertyChanges { target: header; progressOff: 0; }
+ }
+ ]
+ transitions: [
+ Transition {
+ NumberAnimation {
+ matchTargets: header
+ matchProperties: "progressOff"
+ easing: "easeInOutQuad"
+ duration: 300
+ }
+ }
+ ]
+}
diff --git a/demos/declarative/webbrowser/fieldtext/FieldText.qml b/demos/declarative/webbrowser/content/fieldtext/FieldText.qml
index 6b1d271..6b1d271 100644
--- a/demos/declarative/webbrowser/fieldtext/FieldText.qml
+++ b/demos/declarative/webbrowser/content/fieldtext/FieldText.qml
diff --git a/demos/declarative/webbrowser/fieldtext/pics/cancel.png b/demos/declarative/webbrowser/content/fieldtext/pics/cancel.png
index ecc9533..ecc9533 100644
--- a/demos/declarative/webbrowser/fieldtext/pics/cancel.png
+++ b/demos/declarative/webbrowser/content/fieldtext/pics/cancel.png
Binary files differ
diff --git a/demos/declarative/webbrowser/fieldtext/pics/ok.png b/demos/declarative/webbrowser/content/fieldtext/pics/ok.png
index 5795f04..5795f04 100644
--- a/demos/declarative/webbrowser/fieldtext/pics/ok.png
+++ b/demos/declarative/webbrowser/content/fieldtext/pics/ok.png
Binary files differ
diff --git a/demos/declarative/webbrowser/webbrowser.qml b/demos/declarative/webbrowser/webbrowser.qml
index 105bb07..3b3790c 100644
--- a/demos/declarative/webbrowser/webbrowser.qml
+++ b/demos/declarative/webbrowser/webbrowser.qml
@@ -1,15 +1,12 @@
import Qt 4.6
import "content"
-import "fieldtext"
Item {
id: webBrowser
property string urlString : "http://qt.nokia.com/"
- state: "Normal"
-
width: 640
height: 480
@@ -33,10 +30,10 @@ Item {
anchors.bottom: footer.top
}
RectSoftShadow {
- x: -flickable.viewportX
- y: -flickable.viewportY
- width: webView.width*webView.scale
- height: flickable.y+webView.height*webView.scale
+ x: -webView.viewportX
+ y: -webView.viewportY
+ width: webView.viewportWidth
+ height: webView.viewportHeight+headerSpace.height
}
Item {
id: headerSpace
@@ -44,270 +41,15 @@ Item {
height: 60
z: 1
- Rectangle {
- id: headerSpaceTint
- color: "black"
- opacity: 0
- anchors.fill: parent
- }
-
- Image {
- id: header
- source: "content/pics/header.png"
- width: parent.width
- height: 60
- state: "Normal"
- x: flickable.viewportX < 0 ? -flickable.viewportX : flickable.viewportX > flickable.viewportWidth-flickable.width
- ? -flickable.viewportX+flickable.viewportWidth-flickable.width : 0
- y: flickable.viewportY < 0 ? -flickable.viewportY : progressOff*
- (flickable.viewportY>height?-height:-flickable.viewportY)
- Text {
- id: headerText
-
- text: webView.title!='' || webView.progress == 1.0 ? webView.title : 'Loading...'
- elide: Text.ElideRight
-
- color: "white"
- styleColor: "black"
- style: Text.Raised
-
- font.family: "Helvetica"
- font.pointSize: 10
- font.bold: true
-
- anchors.left: header.left
- anchors.right: header.right
- anchors.leftMargin: 4
- anchors.rightMargin: 4
- anchors.top: header.top
- anchors.topMargin: 4
- horizontalAlignment: Text.AlignHCenter
- }
- Item {
- width: parent.width
- anchors.top: headerText.bottom
- anchors.topMargin: 2
- anchors.bottom: parent.bottom
-
- Item {
- id: urlBox
- height: 31
- anchors.left: parent.left
- anchors.leftMargin: 12
- anchors.right: parent.right
- anchors.rightMargin: 12
- anchors.top: parent.top
- clip: true
- property bool mouseGrabbed: false
-
- BorderImage {
- source: "content/pics/addressbar.sci"
- anchors.fill: urlBox
- }
-
- BorderImage {
- id: urlBoxhl
- source: "content/pics/addressbar-filled.sci"
- width: parent.width*webView.progress
- height: parent.height
- opacity: 1-header.progressOff
- clip: true
- }
-
- FieldText {
- id: editUrl
- mouseGrabbed: parent.mouseGrabbed
-
- text: webBrowser.urlString
- label: "url:"
- onConfirmed: { webBrowser.urlString = editUrl.text; webView.focus=true }
- onCancelled: { webView.focus=true }
- onStartEdit: { webView.focus=false }
-
- anchors.left: urlBox.left
- anchors.right: urlBox.right
- anchors.leftMargin: 6
- anchors.verticalCenter: urlBox.verticalCenter
- anchors.verticalCenterOffset: 1
- }
- }
- }
-
- property real progressOff : 1
- states: [
- State {
- name: "Normal"
- when: webView.progress == 1.0
- PropertyChanges { target: header; progressOff: 1 }
- },
- State {
- name: "ProgressShown"
- when: webView.progress < 1.0
- PropertyChanges { target: header; progressOff: 0; }
- }
- ]
- transitions: [
- Transition {
- NumberAnimation {
- matchTargets: header
- matchProperties: "progressOff"
- easing: "easeInOutQuad"
- duration: 300
- }
- }
- ]
- }
+ RetractingWebBrowserHeader { id: header }
}
- Flickable {
- id: flickable
+ FlickableWebView {
+ id: webView
width: parent.width
- viewportWidth: Math.max(parent.width,webView.width*webView.scale)
- viewportHeight: Math.max(parent.height,webView.height*webView.scale)
anchors.top: headerSpace.bottom
anchors.bottom: footer.top
anchors.left: parent.left
anchors.right: parent.right
- pressDelay: 200
-
- WebView {
- id: webView
- pixelCacheSize: 4000000
-
- Script {
- function fixUrl(url)
- {
- if (url == "") return url
- if (url[0] == "/") return "file://"+url
- if (url.indexOf(":")<0) {
- if (url.indexOf(".")<0 || url.indexOf(" ")>=0) {
- // Fall back to a search engine; hard-code Wikipedia
- return "http://en.wikipedia.org/w/index.php?search="+url
- } else {
- return "http://"+url
- }
- }
- return url
- }
- }
-
- url: fixUrl(webBrowser.urlString)
- smooth: false // We don't want smooth scaling, since we only scale during (fast) transitions
- smoothCache: true // We do want smooth rendering
- fillColor: "white"
- focus: true
-
- onAlert: console.log(message)
-
- function doZoom(zoom,centerX,centerY)
- {
- if (centerX) {
- var sc = zoom/zoomFactor;
- scaleAnim.to = sc;
- flickVX.from = flickable.viewportX
- flickVX.to = Math.max(0,Math.min(centerX-flickable.width/2,webView.width*sc-flickable.width))
- finalX.value = flickVX.to
- flickVY.from = flickable.viewportY
- flickVY.to = Math.max(0,Math.min(centerY-flickable.height/2,webView.height*sc-flickable.height))
- finalY.value = flickVY.to
- finalZoom.value = zoom
- quickZoom.start()
- }
- }
-
- preferredWidth: flickable.width
- preferredHeight: flickable.height
- zoomFactor: flickable.width > 980 ? 1 : flickable.width/980
-
- onUrlChanged: { if (url != null) { editUrl.text = url.toString(); } }
- onDoubleClick: {
- if (!heuristicZoom(clickX,clickY,2.5)) {
- var zf = flickable.width > 980 ? 1 : flickable.width/980;
- if (zf > zoomFactor)
- zf = 2.0 // zoom in (else zooming out)
- doZoom(zf,clickX/zoomFactor*zf,clickY/zoomFactor*zf)
- }
- }
-
- SequentialAnimation {
- id: quickZoom
-
- PropertyAction {
- target: webView
- property: "renderingEnabled"
- value: false
- }
- ParallelAnimation {
- NumberAnimation {
- id: scaleAnim
- target: webView
- property: "scale"
- from: 1
- to: 0 // set before calling
- easing: "easeLinear"
- duration: 200
- }
- NumberAnimation {
- id: flickVX
- target: flickable
- property: "viewportX"
- easing: "easeLinear"
- duration: 200
- from: 0 // set before calling
- to: 0 // set before calling
- }
- NumberAnimation {
- id: flickVY
- target: flickable
- property: "viewportY"
- easing: "easeLinear"
- duration: 200
- from: 0 // set before calling
- to: 0 // set before calling
- }
- }
- PropertyAction {
- id: finalZoom
- target: webView
- property: "zoomFactor"
- }
- PropertyAction {
- target: webView
- property: "scale"
- value: 1.0
- }
- // Have to set the viewportXY, since the above 2
- // size changes may have started a correction if
- // zoomFactor < 1.0.
- PropertyAction {
- id: finalX
- target: flickable
- property: "viewportX"
- value: 0 // set before calling
- }
- PropertyAction {
- id: finalY
- target: flickable
- property: "viewportY"
- value: 0 // set before calling
- }
- PropertyAction {
- target: webView
- property: "renderingEnabled"
- value: true
- }
- }
- onZoomTo: doZoom(zoom,centerX,centerY)
- }
- Rectangle {
- id: webViewTint
- color: "black"
- opacity: 0
- anchors.fill: webView
- /*MouseRegion {
- anchors.fill: WebViewTint
- onClicked: { proxy.focus=false }
- }*/
- }
}
BorderImage {
id: footer
diff --git a/examples/declarative/loader/main.cpp b/examples/declarative/loader/main.cpp
index 4e6cb23..22e3646 100644
--- a/examples/declarative/loader/main.cpp
+++ b/examples/declarative/loader/main.cpp
@@ -131,9 +131,19 @@ public:
Q_INVOKABLE void launch(const QString &fileName)
{
- QUrl url(fileName);
+ m_fileName = fileName;
+ QMetaObject::invokeMethod(this, "doLaunch", Qt::QueuedConnection);
+ }
+
+private slots:
+ void doLaunch()
+ {
+ qDebug() << "dolaunch";
+ QUrl url(m_fileName);
QFileInfo fi(url.toLocalFile());
if (fi.exists()) {
+ canvas->reset();
+
url = QUrl::fromLocalFile(fi.absoluteFilePath());
QmlContext *ctxt = canvas->rootContext();
QDir dir(fi.path()+"/dummydata", "*.qml");
@@ -160,14 +170,17 @@ public:
dummyData->setParent(this);
}
}
- }
- canvas->setUrl(url);
- canvas->execute();
+ canvas->setUrl(url);
+ canvas->execute();
+ }
}
signals:
void logUpdated();
+
+private:
+ QString m_fileName;
};
class MainWindow : public QMainWindow
diff --git a/src/declarative/3rdparty/3rdparty.pri b/src/declarative/3rdparty/3rdparty.pri
index 09cf0bb..fbdcc11 100644
--- a/src/declarative/3rdparty/3rdparty.pri
+++ b/src/declarative/3rdparty/3rdparty.pri
@@ -1,5 +1,7 @@
+INCLUDEPATH += $$PWD
+
HEADERS += \
- 3rdparty/qlistmodelinterface_p.h\
+ $$PWD/qlistmodelinterface_p.h\
SOURCES += \
- 3rdparty/qlistmodelinterface.cpp \
+ $$PWD/qlistmodelinterface.cpp \
diff --git a/src/declarative/3rdparty/qlistmodelinterface_p.h b/src/declarative/3rdparty/qlistmodelinterface_p.h
index 738378e..f7c956a 100644
--- a/src/declarative/3rdparty/qlistmodelinterface_p.h
+++ b/src/declarative/3rdparty/qlistmodelinterface_p.h
@@ -45,7 +45,6 @@
#include <QtCore/QHash>
#include <QtCore/QVariant>
-
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/debugger/debugger.pri b/src/declarative/debugger/debugger.pri
index 6cffb28..261b2ff 100644
--- a/src/declarative/debugger/debugger.pri
+++ b/src/declarative/debugger/debugger.pri
@@ -1,11 +1,15 @@
-SOURCES += debugger/qmldebuggerstatus.cpp \
- debugger/qpacketprotocol.cpp \
- debugger/qmldebugservice.cpp \
- debugger/qmldebugclient.cpp \
- debugger/qmldebug.cpp
+INCLUDEPATH += $$PWD
-HEADERS += debugger/qmldebuggerstatus_p.h \
- debugger/qpacketprotocol_p.h \
- debugger/qmldebugservice_p.h \
- debugger/qmldebugclient_p.h \
- debugger/qmldebug_p.h
+SOURCES += \
+ $$PWD/qmldebuggerstatus.cpp \
+ $$PWD/qpacketprotocol.cpp \
+ $$PWD/qmldebugservice.cpp \
+ $$PWD/qmldebugclient.cpp \
+ $$PWD/qmldebug.cpp
+
+HEADERS += \
+ $$PWD/qmldebuggerstatus_p.h \
+ $$PWD/qpacketprotocol_p.h \
+ $$PWD/qmldebugservice_p.h \
+ $$PWD/qmldebugclient_p.h \
+ $$PWD/qmldebug_p.h
diff --git a/src/declarative/debugger/qmldebug.cpp b/src/declarative/debugger/qmldebug.cpp
index 72f613a..dc779ac 100644
--- a/src/declarative/debugger/qmldebug.cpp
+++ b/src/declarative/debugger/qmldebug.cpp
@@ -38,10 +38,14 @@
** $QT_END_LICENSE$
**
****************************************************************************/
+
#include "qmldebug_p.h"
+
#include "qmldebugclient_p.h"
+
+#include <qmlenginedebug_p.h>
+
#include <private/qobject_p.h>
-#include <private/qmlenginedebug_p.h>
class QmlEngineDebugClient : public QmlDebugClient
{
diff --git a/src/declarative/debugger/qmldebugclient.cpp b/src/declarative/debugger/qmldebugclient.cpp
index 2cd1301..68e14c2 100644
--- a/src/declarative/debugger/qmldebugclient.cpp
+++ b/src/declarative/debugger/qmldebugclient.cpp
@@ -40,11 +40,14 @@
****************************************************************************/
#include "qmldebugclient_p.h"
-#include <private/qobject_p.h>
-#include <private/qpacketprotocol_p.h>
+
+#include "qpacketprotocol_p.h"
+
#include <QtCore/qdebug.h>
#include <QtCore/qstringlist.h>
+#include <private/qobject_p.h>
+
QT_BEGIN_NAMESPACE
class QmlDebugConnectionPrivate : public QObject
@@ -201,4 +204,4 @@ void QmlDebugClient::messageReceived(const QByteArray &)
QT_END_NAMESPACE
-#include "qmldebugclient.moc"
+#include <qmldebugclient.moc>
diff --git a/src/declarative/debugger/qmldebugservice.cpp b/src/declarative/debugger/qmldebugservice.cpp
index b54ad63..810fbed 100644
--- a/src/declarative/debugger/qmldebugservice.cpp
+++ b/src/declarative/debugger/qmldebugservice.cpp
@@ -40,13 +40,16 @@
****************************************************************************/
#include "qmldebugservice_p.h"
+
+#include "qpacketprotocol_p.h"
+
#include <QtCore/qdebug.h>
#include <QtNetwork/qtcpserver.h>
#include <QtNetwork/qtcpsocket.h>
-#include <private/qobject_p.h>
-#include <private/qpacketprotocol_p.h>
#include <QtCore/qstringlist.h>
+#include <private/qobject_p.h>
+
QT_BEGIN_NAMESPACE
class QmlDebugServerPrivate;
@@ -387,4 +390,4 @@ void QmlDebugService::messageReceived(const QByteArray &)
QT_END_NAMESPACE
-#include "qmldebugservice.moc"
+#include <qmldebugservice.moc>
diff --git a/src/declarative/debugger/qpacketprotocol.cpp b/src/declarative/debugger/qpacketprotocol.cpp
index 6698472..b76c461 100644
--- a/src/declarative/debugger/qpacketprotocol.cpp
+++ b/src/declarative/debugger/qpacketprotocol.cpp
@@ -40,6 +40,7 @@
****************************************************************************/
#include "qpacketprotocol_p.h"
+
#include <QBuffer>
QT_BEGIN_NAMESPACE
@@ -494,5 +495,4 @@ QPacketAutoSend::~QPacketAutoSend()
QT_END_NAMESPACE
-#include "qpacketprotocol.moc"
-
+#include <qpacketprotocol.moc>
diff --git a/src/declarative/declarative.pro b/src/declarative/declarative.pro
index d1e2ee8..0669d13 100644
--- a/src/declarative/declarative.pro
+++ b/src/declarative/declarative.pro
@@ -14,8 +14,6 @@ exists("qml_enable_gcov") {
LIBS += -lgcov
}
-INCLUDEPATH += ../../include/QtDeclarative
-
include(../qbase.pri)
#modules
diff --git a/src/declarative/graphicsitems/graphicsitems.pri b/src/declarative/graphicsitems/graphicsitems.pri
index da3a0d4..728c9c0 100644
--- a/src/declarative/graphicsitems/graphicsitems.pri
+++ b/src/declarative/graphicsitems/graphicsitems.pri
@@ -1,88 +1,89 @@
+INCLUDEPATH += $$PWD
+
HEADERS += \
- graphicsitems/qmlgraphicsanchors_p.h \
- graphicsitems/qmlgraphicsanchors_p_p.h \
- graphicsitems/qmlgraphicsevents_p_p.h \
- graphicsitems/qmlgraphicsflickable_p.h \
- graphicsitems/qmlgraphicsflickable_p_p.h \
- graphicsitems/qmlgraphicsflipable_p.h \
- graphicsitems/qmlgraphicsgridview_p.h \
- graphicsitems/qmlgraphicsimage_p.h \
- graphicsitems/qmlgraphicsimagebase_p.h \
- graphicsitems/qmlgraphicsborderimage_p.h \
- graphicsitems/qmlgraphicspainteditem_p.h \
- graphicsitems/qmlgraphicspainteditem_p_p.h \
- graphicsitems/qmlgraphicsimage_p_p.h \
- graphicsitems/qmlgraphicsborderimage_p_p.h \
- graphicsitems/qmlgraphicsimagebase_p_p.h \
- graphicsitems/qmlgraphicsanimatedimage_p.h \
- graphicsitems/qmlgraphicsanimatedimage_p_p.h \
- graphicsitems/qmlgraphicsitem.h \
- graphicsitems/qmlgraphicsitem_p.h \
- graphicsitems/qmlgraphicsfocuspanel_p.h \
- graphicsitems/qmlgraphicsfocusscope_p.h \
- graphicsitems/qmlgraphicspositioners_p.h \
- graphicsitems/qmlgraphicspositioners_p_p.h \
- graphicsitems/qmlgraphicsloader_p.h \
- graphicsitems/qmlgraphicsloader_p_p.h \
- graphicsitems/qmlgraphicsmouseregion_p.h \
- graphicsitems/qmlgraphicsmouseregion_p_p.h \
- graphicsitems/qmlgraphicspath_p.h \
- graphicsitems/qmlgraphicspath_p_p.h \
- graphicsitems/qmlgraphicspathview_p.h \
- graphicsitems/qmlgraphicspathview_p_p.h \
- graphicsitems/qmlgraphicsrectangle_p.h \
- graphicsitems/qmlgraphicsrectangle_p_p.h \
- graphicsitems/qmlgraphicsrepeater_p.h \
- graphicsitems/qmlgraphicsrepeater_p_p.h \
- graphicsitems/qmlgraphicsscalegrid_p_p.h \
- graphicsitems/qmlgraphicstextinput_p.h \
- graphicsitems/qmlgraphicstextinput_p_p.h \
- graphicsitems/qmlgraphicstextedit_p.h \
- graphicsitems/qmlgraphicstextedit_p_p.h \
- graphicsitems/qmlgraphicstext_p.h \
- graphicsitems/qmlgraphicstext_p_p.h \
- graphicsitems/qmlgraphicsvisualitemmodel_p.h \
- graphicsitems/qmlgraphicslistview_p.h \
- graphicsitems/qmlgraphicsgraphicsobjectcontainer_p.h \
- graphicsitems/qmlgraphicsparticles_p.h \
- graphicsitems/qmlgraphicslayoutitem_p.h \
- graphicsitems/qmlgraphicseffects.cpp
+ $$PWD/qmlgraphicsanchors_p.h \
+ $$PWD/qmlgraphicsanchors_p_p.h \
+ $$PWD/qmlgraphicsevents_p_p.h \
+ $$PWD/qmlgraphicsflickable_p.h \
+ $$PWD/qmlgraphicsflickable_p_p.h \
+ $$PWD/qmlgraphicsflipable_p.h \
+ $$PWD/qmlgraphicsgridview_p.h \
+ $$PWD/qmlgraphicsimage_p.h \
+ $$PWD/qmlgraphicsimagebase_p.h \
+ $$PWD/qmlgraphicsborderimage_p.h \
+ $$PWD/qmlgraphicspainteditem_p.h \
+ $$PWD/qmlgraphicspainteditem_p_p.h \
+ $$PWD/qmlgraphicsimage_p_p.h \
+ $$PWD/qmlgraphicsborderimage_p_p.h \
+ $$PWD/qmlgraphicsimagebase_p_p.h \
+ $$PWD/qmlgraphicsanimatedimage_p.h \
+ $$PWD/qmlgraphicsanimatedimage_p_p.h \
+ $$PWD/qmlgraphicsitem.h \
+ $$PWD/qmlgraphicsitem_p.h \
+ $$PWD/qmlgraphicsfocuspanel_p.h \
+ $$PWD/qmlgraphicsfocusscope_p.h \
+ $$PWD/qmlgraphicspositioners_p.h \
+ $$PWD/qmlgraphicspositioners_p_p.h \
+ $$PWD/qmlgraphicsloader_p.h \
+ $$PWD/qmlgraphicsloader_p_p.h \
+ $$PWD/qmlgraphicsmouseregion_p.h \
+ $$PWD/qmlgraphicsmouseregion_p_p.h \
+ $$PWD/qmlgraphicspath_p.h \
+ $$PWD/qmlgraphicspath_p_p.h \
+ $$PWD/qmlgraphicspathview_p.h \
+ $$PWD/qmlgraphicspathview_p_p.h \
+ $$PWD/qmlgraphicsrectangle_p.h \
+ $$PWD/qmlgraphicsrectangle_p_p.h \
+ $$PWD/qmlgraphicsrepeater_p.h \
+ $$PWD/qmlgraphicsrepeater_p_p.h \
+ $$PWD/qmlgraphicsscalegrid_p_p.h \
+ $$PWD/qmlgraphicstextinput_p.h \
+ $$PWD/qmlgraphicstextinput_p_p.h \
+ $$PWD/qmlgraphicstextedit_p.h \
+ $$PWD/qmlgraphicstextedit_p_p.h \
+ $$PWD/qmlgraphicstext_p.h \
+ $$PWD/qmlgraphicstext_p_p.h \
+ $$PWD/qmlgraphicsvisualitemmodel_p.h \
+ $$PWD/qmlgraphicslistview_p.h \
+ $$PWD/qmlgraphicsgraphicsobjectcontainer_p.h \
+ $$PWD/qmlgraphicsparticles_p.h \
+ $$PWD/qmlgraphicslayoutitem_p.h \
+ $$PWD/qmlgraphicseffects.cpp
SOURCES += \
- graphicsitems/qmlgraphicsanchors.cpp \
- graphicsitems/qmlgraphicsevents.cpp \
- graphicsitems/qmlgraphicsflickable.cpp \
- graphicsitems/qmlgraphicsflipable.cpp \
- graphicsitems/qmlgraphicsgridview.cpp \
- graphicsitems/qmlgraphicsimage.cpp \
- graphicsitems/qmlgraphicsborderimage.cpp \
- graphicsitems/qmlgraphicsimagebase.cpp \
- graphicsitems/qmlgraphicsanimatedimage.cpp \
- graphicsitems/qmlgraphicspainteditem.cpp \
- graphicsitems/qmlgraphicsitem.cpp \
- graphicsitems/qmlgraphicsfocuspanel.cpp \
- graphicsitems/qmlgraphicsfocusscope.cpp \
- graphicsitems/qmlgraphicspositioners.cpp \
- graphicsitems/qmlgraphicsloader.cpp \
- graphicsitems/qmlgraphicsmouseregion.cpp \
- graphicsitems/qmlgraphicspath.cpp \
- graphicsitems/qmlgraphicspathview.cpp \
- graphicsitems/qmlgraphicsrectangle.cpp \
- graphicsitems/qmlgraphicsrepeater.cpp \
- graphicsitems/qmlgraphicsscalegrid.cpp \
- graphicsitems/qmlgraphicstextinput.cpp \
- graphicsitems/qmlgraphicstext.cpp \
- graphicsitems/qmlgraphicstextedit.cpp \
- graphicsitems/qmlgraphicsvisualitemmodel.cpp \
- graphicsitems/qmlgraphicslistview.cpp \
- graphicsitems/qmlgraphicsgraphicsobjectcontainer.cpp \
- graphicsitems/qmlgraphicsparticles.cpp \
- graphicsitems/qmlgraphicslayoutitem.cpp \
+ $$PWD/qmlgraphicsanchors.cpp \
+ $$PWD/qmlgraphicsevents.cpp \
+ $$PWD/qmlgraphicsflickable.cpp \
+ $$PWD/qmlgraphicsflipable.cpp \
+ $$PWD/qmlgraphicsgridview.cpp \
+ $$PWD/qmlgraphicsimage.cpp \
+ $$PWD/qmlgraphicsborderimage.cpp \
+ $$PWD/qmlgraphicsimagebase.cpp \
+ $$PWD/qmlgraphicsanimatedimage.cpp \
+ $$PWD/qmlgraphicspainteditem.cpp \
+ $$PWD/qmlgraphicsitem.cpp \
+ $$PWD/qmlgraphicsfocuspanel.cpp \
+ $$PWD/qmlgraphicsfocusscope.cpp \
+ $$PWD/qmlgraphicspositioners.cpp \
+ $$PWD/qmlgraphicsloader.cpp \
+ $$PWD/qmlgraphicsmouseregion.cpp \
+ $$PWD/qmlgraphicspath.cpp \
+ $$PWD/qmlgraphicspathview.cpp \
+ $$PWD/qmlgraphicsrectangle.cpp \
+ $$PWD/qmlgraphicsrepeater.cpp \
+ $$PWD/qmlgraphicsscalegrid.cpp \
+ $$PWD/qmlgraphicstextinput.cpp \
+ $$PWD/qmlgraphicstext.cpp \
+ $$PWD/qmlgraphicstextedit.cpp \
+ $$PWD/qmlgraphicsvisualitemmodel.cpp \
+ $$PWD/qmlgraphicslistview.cpp \
+ $$PWD/qmlgraphicsgraphicsobjectcontainer.cpp \
+ $$PWD/qmlgraphicsparticles.cpp \
+ $$PWD/qmlgraphicslayoutitem.cpp \
contains(QT_CONFIG, webkit) {
QT+=webkit
- SOURCES += graphicsitems/qmlgraphicswebview.cpp
- HEADERS += graphicsitems/qmlgraphicswebview_p.h
- HEADERS += graphicsitems/qmlgraphicswebview_p_p.h
+ SOURCES += $$PWD/qmlgraphicswebview.cpp
+ HEADERS += $$PWD/qmlgraphicswebview_p.h
+ HEADERS += $$PWD/qmlgraphicswebview_p_p.h
}
-
diff --git a/src/declarative/graphicsitems/qmlgraphicsanchors.cpp b/src/declarative/graphicsitems/qmlgraphicsanchors.cpp
index 8642476..c838d7d 100644
--- a/src/declarative/graphicsitems/qmlgraphicsanchors.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsanchors.cpp
@@ -40,11 +40,14 @@
****************************************************************************/
#include "qmlgraphicsanchors_p_p.h"
+
#include "qmlgraphicsitem.h"
#include "qmlgraphicsitem_p.h"
-#include <QDebug>
+
#include <qmlinfo.h>
+#include <QDebug>
+
QT_BEGIN_NAMESPACE
QML_DEFINE_TYPE(Qt,4,6,Anchors,QmlGraphicsAnchors)
@@ -1006,7 +1009,7 @@ bool QmlGraphicsAnchorsPrivate::checkVAnchorValid(QmlGraphicsAnchorLine anchor)
return true;
}
-#include "moc_qmlgraphicsanchors_p.cpp"
+#include <moc_qmlgraphicsanchors_p.cpp>
QT_END_NAMESPACE
diff --git a/src/declarative/graphicsitems/qmlgraphicsanchors_p.h b/src/declarative/graphicsitems/qmlgraphicsanchors_p.h
index 507b4d8..2f2ca74 100644
--- a/src/declarative/graphicsitems/qmlgraphicsanchors_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsanchors_p.h
@@ -42,9 +42,11 @@
#ifndef QMLGRAPHICSANCHORS_H
#define QMLGRAPHICSANCHORS_H
-#include <QtCore/QObject>
+#include "qmlgraphicsitem.h"
+
#include <qml.h>
-#include <qmlgraphicsitem.h>
+
+#include <QtCore/QObject>
QT_BEGIN_HEADER
diff --git a/src/declarative/graphicsitems/qmlgraphicsanchors_p_p.h b/src/declarative/graphicsitems/qmlgraphicsanchors_p_p.h
index 2156565..be3b6dc 100644
--- a/src/declarative/graphicsitems/qmlgraphicsanchors_p_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsanchors_p_p.h
@@ -54,7 +54,8 @@
//
#include "qmlgraphicsanchors_p.h"
-#include "private/qobject_p.h"
+
+#include <private/qobject_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/graphicsitems/qmlgraphicsanimatedimage.cpp b/src/declarative/graphicsitems/qmlgraphicsanimatedimage.cpp
index f389295..670b38b 100644
--- a/src/declarative/graphicsitems/qmlgraphicsanimatedimage.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsanimatedimage.cpp
@@ -39,10 +39,12 @@
**
****************************************************************************/
-#include <QMovie>
-#include <qmlengine.h>
#include "qmlgraphicsanimatedimage_p.h"
#include "qmlgraphicsanimatedimage_p_p.h"
+
+#include <qmlengine.h>
+
+#include <QMovie>
#include <QNetworkRequest>
#include <QNetworkReply>
diff --git a/src/declarative/graphicsitems/qmlgraphicsanimatedimage_p.h b/src/declarative/graphicsitems/qmlgraphicsanimatedimage_p.h
index 79daa0f..a837702 100644
--- a/src/declarative/graphicsitems/qmlgraphicsanimatedimage_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsanimatedimage_p.h
@@ -42,7 +42,7 @@
#ifndef QMLGRAPHICSANIMATEDIMAGE_H
#define QMLGRAPHICSANIMATEDIMAGE_H
-#include <private/qmlgraphicsimage_p.h>
+#include "qmlgraphicsimage_p.h"
QT_BEGIN_HEADER
diff --git a/src/declarative/graphicsitems/qmlgraphicsanimatedimage_p_p.h b/src/declarative/graphicsitems/qmlgraphicsanimatedimage_p_p.h
index c24afa0..0d1c749 100644
--- a/src/declarative/graphicsitems/qmlgraphicsanimatedimage_p_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsanimatedimage_p_p.h
@@ -53,7 +53,7 @@
// We mean it.
//
-#include <private/qmlgraphicsimage_p_p.h>
+#include "qmlgraphicsimage_p_p.h"
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/graphicsitems/qmlgraphicsborderimage.cpp b/src/declarative/graphicsitems/qmlgraphicsborderimage.cpp
index d7d725b..01c3e37 100644
--- a/src/declarative/graphicsitems/qmlgraphicsborderimage.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsborderimage.cpp
@@ -41,10 +41,12 @@
#include "qmlgraphicsborderimage_p.h"
#include "qmlgraphicsborderimage_p_p.h"
+
+#include <qmlengine.h>
+
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QFile>
-#include <qmlengine.h>
QT_BEGIN_NAMESPACE
@@ -69,7 +71,6 @@ QML_DEFINE_TYPE(Qt,4,6,BorderImage,QmlGraphicsBorderImage)
QmlGraphicsBorderImage::QmlGraphicsBorderImage(QmlGraphicsItem *parent)
: QmlGraphicsImageBase(*(new QmlGraphicsBorderImagePrivate), parent)
{
- setFlag(QGraphicsItem::ItemHasNoContents, false);
}
QmlGraphicsBorderImage::~QmlGraphicsBorderImage()
diff --git a/src/declarative/graphicsitems/qmlgraphicsborderimage_p.h b/src/declarative/graphicsitems/qmlgraphicsborderimage_p.h
index 18195e2..cf3c518 100644
--- a/src/declarative/graphicsitems/qmlgraphicsborderimage_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsborderimage_p.h
@@ -42,9 +42,10 @@
#ifndef QMLGRAPHICSBORDERIMAGE_H
#define QMLGRAPHICSBORDERIMAGE_H
-#include <QtNetwork/qnetworkreply.h>
#include "qmlgraphicsimagebase_p.h"
+#include <QtNetwork/qnetworkreply.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/graphicsitems/qmlgraphicseffects.cpp b/src/declarative/graphicsitems/qmlgraphicseffects.cpp
index 0523fd5..e1f5687 100644
--- a/src/declarative/graphicsitems/qmlgraphicseffects.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicseffects.cpp
@@ -38,7 +38,9 @@
** $QT_END_LICENSE$
**
****************************************************************************/
+
#include <qml.h>
+
#include <QtGui/qgraphicseffect.h>
QML_DECLARE_TYPE(QGraphicsEffect)
diff --git a/src/declarative/graphicsitems/qmlgraphicsevents_p_p.h b/src/declarative/graphicsitems/qmlgraphicsevents_p_p.h
index 567a509..b07fd88 100644
--- a/src/declarative/graphicsitems/qmlgraphicsevents_p_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsevents_p_p.h
@@ -54,6 +54,7 @@
//
#include <qml.h>
+
#include <QtCore/qobject.h>
#include <QtGui/qevent.h>
diff --git a/src/declarative/graphicsitems/qmlgraphicsflickable.cpp b/src/declarative/graphicsitems/qmlgraphicsflickable.cpp
index d827cda..89c7657 100644
--- a/src/declarative/graphicsitems/qmlgraphicsflickable.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsflickable.cpp
@@ -1287,4 +1287,4 @@ QT_END_NAMESPACE
QML_DECLARE_TYPE(QmlGraphicsFlickableVisibleArea)
QML_DEFINE_TYPE(Qt,4,6,VisibleArea,QmlGraphicsFlickableVisibleArea)
-#include "qmlgraphicsflickable.moc"
+#include <qmlgraphicsflickable.moc>
diff --git a/src/declarative/graphicsitems/qmlgraphicsflickable_p.h b/src/declarative/graphicsitems/qmlgraphicsflickable_p.h
index 9610ac1..aa29f3e 100644
--- a/src/declarative/graphicsitems/qmlgraphicsflickable_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsflickable_p.h
@@ -42,7 +42,7 @@
#ifndef QMLGRAPHICSFLICKABLE_H
#define QMLGRAPHICSFLICKABLE_H
-#include <qmlgraphicsitem.h>
+#include "qmlgraphicsitem.h"
QT_BEGIN_HEADER
diff --git a/src/declarative/graphicsitems/qmlgraphicsflickable_p_p.h b/src/declarative/graphicsitems/qmlgraphicsflickable_p_p.h
index 5ccdaad..b19a08c 100644
--- a/src/declarative/graphicsitems/qmlgraphicsflickable_p_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsflickable_p_p.h
@@ -53,12 +53,15 @@
// We mean it.
//
-#include "qdatetime.h"
#include "qmlgraphicsflickable_p.h"
+
#include "qmlgraphicsitem_p.h"
-#include "qml.h"
-#include "private/qmltimeline_p_p.h"
-#include "private/qmlanimation_p_p.h"
+
+#include <qml.h>
+#include <qmltimeline_p_p.h>
+#include <qmlanimation_p_p.h>
+
+#include <qdatetime.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/graphicsitems/qmlgraphicsflipable.cpp b/src/declarative/graphicsitems/qmlgraphicsflipable.cpp
index b964e22..ff8995b 100644
--- a/src/declarative/graphicsitems/qmlgraphicsflipable.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsflipable.cpp
@@ -40,10 +40,13 @@
****************************************************************************/
#include "qmlgraphicsflipable_p.h"
-#include "private/qmlgraphicsitem_p.h"
-#include "QtGui/qgraphicstransform.h"
+
+#include "qmlgraphicsitem_p.h"
+
#include <qmlinfo.h>
+#include <QtGui/qgraphicstransform.h>
+
QT_BEGIN_NAMESPACE
QML_DEFINE_TYPE(Qt,4,6,Flipable,QmlGraphicsFlipable)
diff --git a/src/declarative/graphicsitems/qmlgraphicsflipable_p.h b/src/declarative/graphicsitems/qmlgraphicsflipable_p.h
index 8f075ac..c189786 100644
--- a/src/declarative/graphicsitems/qmlgraphicsflipable_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsflipable_p.h
@@ -42,9 +42,10 @@
#ifndef QMLGRAPHICSFLIPABLE_H
#define QMLGRAPHICSFLIPABLE_H
+#include "qmlgraphicsitem.h"
+
#include <QtCore/QObject>
#include <QtGui/QTransform>
-#include <qmlgraphicsitem.h>
#include <QtGui/qvector3d.h>
QT_BEGIN_HEADER
diff --git a/src/declarative/graphicsitems/qmlgraphicsfocuspanel.cpp b/src/declarative/graphicsitems/qmlgraphicsfocuspanel.cpp
index ae7ffda..333b689 100644
--- a/src/declarative/graphicsitems/qmlgraphicsfocuspanel.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsfocuspanel.cpp
@@ -40,6 +40,7 @@
****************************************************************************/
#include "qmlgraphicsfocuspanel_p.h"
+
#include <QtGui/qgraphicsscene.h>
#include <QEvent>
diff --git a/src/declarative/graphicsitems/qmlgraphicsfocuspanel_p.h b/src/declarative/graphicsitems/qmlgraphicsfocuspanel_p.h
index d1824e7..4c5cc14 100644
--- a/src/declarative/graphicsitems/qmlgraphicsfocuspanel_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsfocuspanel_p.h
@@ -42,7 +42,7 @@
#ifndef QMLGRAPHICSFOCUSPANEL_H
#define QMLGRAPHICSFOCUSPANEL_H
-#include <qmlgraphicsitem.h>
+#include "qmlgraphicsitem.h"
QT_BEGIN_HEADER
diff --git a/src/declarative/graphicsitems/qmlgraphicsfocusscope.cpp b/src/declarative/graphicsitems/qmlgraphicsfocusscope.cpp
index b0ad32f..828756c 100644
--- a/src/declarative/graphicsitems/qmlgraphicsfocusscope.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsfocusscope.cpp
@@ -41,7 +41,6 @@
#include "qmlgraphicsfocusscope_p.h"
-
QT_BEGIN_NAMESPACE
QML_DEFINE_TYPE(Qt,4,6,FocusScope,QmlGraphicsFocusScope)
diff --git a/src/declarative/graphicsitems/qmlgraphicsfocusscope_p.h b/src/declarative/graphicsitems/qmlgraphicsfocusscope_p.h
index 3744240..0ea9da5 100644
--- a/src/declarative/graphicsitems/qmlgraphicsfocusscope_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsfocusscope_p.h
@@ -42,7 +42,7 @@
#ifndef QMLGRAPHICSFOCUSSCOPE_H
#define QMLGRAPHICSFOCUSSCOPE_H
-#include <qmlgraphicsitem.h>
+#include "qmlgraphicsitem.h"
QT_BEGIN_HEADER
diff --git a/src/declarative/graphicsitems/qmlgraphicsgraphicsobjectcontainer.cpp b/src/declarative/graphicsitems/qmlgraphicsgraphicsobjectcontainer.cpp
index 294a374..275d38d 100644
--- a/src/declarative/graphicsitems/qmlgraphicsgraphicsobjectcontainer.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsgraphicsobjectcontainer.cpp
@@ -40,10 +40,12 @@
****************************************************************************/
#include "qmlgraphicsgraphicsobjectcontainer_p.h"
+
+#include "qmlgraphicsitem_p.h"
+
#include <QGraphicsObject>
#include <QGraphicsWidget>
#include <QGraphicsSceneResizeEvent>
-#include <private/qmlgraphicsitem_p.h>
QT_BEGIN_NAMESPACE
@@ -225,6 +227,6 @@ void QmlGraphicsGraphicsObjectContainerPrivate::_q_updateSize()
}*/
}
-#include "moc_qmlgraphicsgraphicsobjectcontainer_p.cpp"
+#include <moc_qmlgraphicsgraphicsobjectcontainer_p.cpp>
QT_END_NAMESPACE
diff --git a/src/declarative/graphicsitems/qmlgraphicsgraphicsobjectcontainer_p.h b/src/declarative/graphicsitems/qmlgraphicsgraphicsobjectcontainer_p.h
index 7d16685..1091145 100644
--- a/src/declarative/graphicsitems/qmlgraphicsgraphicsobjectcontainer_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsgraphicsobjectcontainer_p.h
@@ -42,7 +42,7 @@
#ifndef QMLGRAPHICSGRAPHICSOBJECTCONTAINER_H
#define QMLGRAPHICSGRAPHICSOBJECTCONTAINER_H
-#include <qmlgraphicsitem.h>
+#include "qmlgraphicsitem.h"
QT_BEGIN_HEADER
diff --git a/src/declarative/graphicsitems/qmlgraphicsgridview.cpp b/src/declarative/graphicsitems/qmlgraphicsgridview.cpp
index 4e2a366..f4d94aa 100644
--- a/src/declarative/graphicsitems/qmlgraphicsgridview.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsgridview.cpp
@@ -40,11 +40,13 @@
****************************************************************************/
#include "qmlgraphicsgridview_p.h"
-#include <private/qmlgraphicsvisualitemmodel_p.h>
-#include <private/qlistmodelinterface_p.h>
-#include <private/qmleasefollow_p.h>
-#include <private/qmlgraphicsflickable_p_p.h>
+#include "qmlgraphicsvisualitemmodel_p.h"
+#include "qmlgraphicsflickable_p_p.h"
+
+#include <qmleasefollow_p.h>
+
+#include <qlistmodelinterface_p.h>
#include <QKeyEvent>
QT_BEGIN_NAMESPACE
@@ -1681,4 +1683,4 @@ QML_DEFINE_TYPE(Qt, 4,6, GridView, QmlGraphicsGridView)
QT_END_NAMESPACE
-#include "qmlgraphicsgridview.moc"
+#include <qmlgraphicsgridview.moc>
diff --git a/src/declarative/graphicsitems/qmlgraphicsgridview_p.h b/src/declarative/graphicsitems/qmlgraphicsgridview_p.h
index 99515a3..1615469 100644
--- a/src/declarative/graphicsitems/qmlgraphicsgridview_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsgridview_p.h
@@ -42,7 +42,7 @@
#ifndef QMLGRAPHICSGRIDVIEW_H
#define QMLGRAPHICSGRIDVIEW_H
-#include <private/qmlgraphicsflickable_p.h>
+#include "qmlgraphicsflickable_p.h"
QT_BEGIN_HEADER
diff --git a/src/declarative/graphicsitems/qmlgraphicsimage.cpp b/src/declarative/graphicsitems/qmlgraphicsimage.cpp
index 38df0c7..a777de7 100644
--- a/src/declarative/graphicsitems/qmlgraphicsimage.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsimage.cpp
@@ -128,13 +128,11 @@ QML_DEFINE_TYPE(Qt,4,6,Image,QmlGraphicsImage)
QmlGraphicsImage::QmlGraphicsImage(QmlGraphicsItem *parent)
: QmlGraphicsImageBase(*(new QmlGraphicsImagePrivate), parent)
{
- setFlag(QGraphicsItem::ItemHasNoContents, false);
}
QmlGraphicsImage::QmlGraphicsImage(QmlGraphicsImagePrivate &dd, QmlGraphicsItem *parent)
: QmlGraphicsImageBase(dd, parent)
{
- setFlag(QGraphicsItem::ItemHasNoContents, false);
}
QmlGraphicsImage::~QmlGraphicsImage()
diff --git a/src/declarative/graphicsitems/qmlgraphicsimage_p.h b/src/declarative/graphicsitems/qmlgraphicsimage_p.h
index 47cdcd6..2547b78 100644
--- a/src/declarative/graphicsitems/qmlgraphicsimage_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsimage_p.h
@@ -42,9 +42,10 @@
#ifndef QMLGRAPHICSIMAGE_H
#define QMLGRAPHICSIMAGE_H
-#include <QtNetwork/qnetworkreply.h>
#include "qmlgraphicsimagebase_p.h"
+#include <QtNetwork/qnetworkreply.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/graphicsitems/qmlgraphicsimagebase.cpp b/src/declarative/graphicsitems/qmlgraphicsimagebase.cpp
index 8374c9f..70ca59c 100644
--- a/src/declarative/graphicsitems/qmlgraphicsimagebase.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsimagebase.cpp
@@ -41,18 +41,20 @@
#include "qmlgraphicsimagebase_p.h"
#include "qmlgraphicsimagebase_p_p.h"
+
+#include <qmlengine.h>
+#include <qmlpixmapcache_p.h>
+
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QFile>
-#include <qmlengine.h>
-#include <private/qmlpixmapcache_p.h>
QT_BEGIN_NAMESPACE
QmlGraphicsImageBase::QmlGraphicsImageBase(QmlGraphicsImageBasePrivate &dd, QmlGraphicsItem *parent)
: QmlGraphicsItem(dd, parent)
{
- setFlag(QGraphicsItem::ItemHasNoContents, true);
+ setFlag(QGraphicsItem::ItemHasNoContents, false);
}
QmlGraphicsImageBase::~QmlGraphicsImageBase()
diff --git a/src/declarative/graphicsitems/qmlgraphicsimagebase_p.h b/src/declarative/graphicsitems/qmlgraphicsimagebase_p.h
index 4936794..61ea975 100644
--- a/src/declarative/graphicsitems/qmlgraphicsimagebase_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsimagebase_p.h
@@ -42,7 +42,7 @@
#ifndef QMLGRAPHICSIMAGEBASE_H
#define QMLGRAPHICSIMAGEBASE_H
-#include <qmlgraphicsitem.h>
+#include "qmlgraphicsitem.h"
QT_BEGIN_HEADER
diff --git a/src/declarative/graphicsitems/qmlgraphicsimagebase_p_p.h b/src/declarative/graphicsitems/qmlgraphicsimagebase_p_p.h
index e7f85a6..44b2332 100644
--- a/src/declarative/graphicsitems/qmlgraphicsimagebase_p_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsimagebase_p_p.h
@@ -54,6 +54,7 @@
//
#include "qmlgraphicsitem_p.h"
+
#include <QtCore/QPointer>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/graphicsitems/qmlgraphicsitem.cpp b/src/declarative/graphicsitems/qmlgraphicsitem.cpp
index db59cf2..68a565d 100644
--- a/src/declarative/graphicsitems/qmlgraphicsitem.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsitem.cpp
@@ -39,6 +39,19 @@
**
****************************************************************************/
+#include "qmlgraphicsitem_p.h"
+#include "qmlgraphicsitem.h"
+
+#include "qmlgraphicsevents_p_p.h"
+
+#include <qfxperf_p_p.h>
+#include <qmlengine.h>
+#include <qmlopenmetaobject_p.h>
+#include <qmlstate_p.h>
+#include <qmlview.h>
+#include <qmlstategroup_p.h>
+#include <qmlcomponent.h>
+
#include <QDebug>
#include <QPen>
#include <QFile>
@@ -47,22 +60,9 @@
#include <QNetworkRequest>
#include <QGraphicsSceneMouseEvent>
#include <QtScript/qscriptengine.h>
-#include <private/qfxperf_p_p.h>
#include <QtGui/qgraphicstransform.h>
#include <QtGui/qgraphicseffect.h>
-
-#include <qmlengine.h>
-#include <private/qmlopenmetaobject_p.h>
-#include <private/qmlstate_p.h>
-#include <private/qlistmodelinterface_p.h>
-
-#include "qmlview.h"
-#include <private/qmlstategroup_p.h>
-
-#include "qmlgraphicsitem_p.h"
-#include "qmlgraphicsitem.h"
-#include <private/qmlgraphicsevents_p_p.h>
-#include <qmlcomponent.h>
+#include <qlistmodelinterface_p.h>
QT_BEGIN_NAMESPACE
@@ -1442,13 +1442,14 @@ QmlGraphicsKeysAttached *QmlGraphicsKeysAttached::qmlAttachedProperties(QObject
\internal
*/
-static inline void qfxitem_registerAnchorLine() {
- static bool registered = false;
- if (!registered) {
+// ### Must fix
+struct RegisterAnchorLineAtStartup {
+ RegisterAnchorLineAtStartup() {
qRegisterMetaType<QmlGraphicsAnchorLine>("QmlGraphicsAnchorLine");
- registered = true;
}
-}
+};
+static RegisterAnchorLineAtStartup registerAnchorLineAtStartup;
+
/*!
\fn QmlGraphicsItem::QmlGraphicsItem(QmlGraphicsItem *parent)
@@ -1459,7 +1460,6 @@ QmlGraphicsItem::QmlGraphicsItem(QmlGraphicsItem* parent)
: QGraphicsObject(*(new QmlGraphicsItemPrivate), parent, 0)
{
Q_D(QmlGraphicsItem);
- qfxitem_registerAnchorLine();
d->init(parent);
}
@@ -1469,7 +1469,6 @@ QmlGraphicsItem::QmlGraphicsItem(QmlGraphicsItemPrivate &dd, QmlGraphicsItem *pa
: QGraphicsObject(dd, parent, 0)
{
Q_D(QmlGraphicsItem);
- qfxitem_registerAnchorLine();
d->init(parent);
}
@@ -1492,6 +1491,7 @@ QmlGraphicsItem::~QmlGraphicsItem()
d->dependantAnchors.clear();
delete d->_anchorLines; d->_anchorLines = 0;
delete d->_anchors; d->_anchors = 0;
+ delete d->_stateGroup; d->_stateGroup = 0;
}
/*!
@@ -2621,7 +2621,7 @@ QmlStateGroup *QmlGraphicsItemPrivate::states()
{
Q_Q(QmlGraphicsItem);
if (!_stateGroup) {
- _stateGroup = new QmlStateGroup(q);
+ _stateGroup = new QmlStateGroup;
if (!_componentComplete)
_stateGroup->classBegin();
QObject::connect(_stateGroup, SIGNAL(stateChanged(QString)),
@@ -2994,6 +2994,9 @@ QDebug operator<<(QDebug debug, QmlGraphicsItem *item)
return debug;
}
+int QmlGraphicsItemPrivate::heightIdx = -1;
+int QmlGraphicsItemPrivate::widthIdx = -1;
+
int QmlGraphicsItemPrivate::consistentTime = -1;
void QmlGraphicsItemPrivate::setConsistentTime(int t)
{
@@ -3031,8 +3034,8 @@ int QmlGraphicsItemPrivate::restart(QTime &t)
return n;
}
-#include "qmlgraphicsitem.moc"
-#include "moc_qmlgraphicsitem.cpp"
+#include <qmlgraphicsitem.moc>
+#include <moc_qmlgraphicsitem.cpp>
QT_END_NAMESPACE
diff --git a/src/declarative/graphicsitems/qmlgraphicsitem.h b/src/declarative/graphicsitems/qmlgraphicsitem.h
index d092896..df8c634 100644
--- a/src/declarative/graphicsitems/qmlgraphicsitem.h
+++ b/src/declarative/graphicsitems/qmlgraphicsitem.h
@@ -42,10 +42,11 @@
#ifndef QMLGRAPHICSITEM_H
#define QMLGRAPHICSITEM_H
-#include <QtCore/QObject>
-#include <QtCore/QList>
#include <qml.h>
#include <qmlcomponent.h>
+
+#include <QtCore/QObject>
+#include <QtCore/QList>
#include <QtGui/qgraphicsitem.h>
#include <QtGui/qgraphicstransform.h>
#include <QtGui/qfont.h>
diff --git a/src/declarative/graphicsitems/qmlgraphicsitem_p.h b/src/declarative/graphicsitems/qmlgraphicsitem_p.h
index 0c722ac..82950c2 100644
--- a/src/declarative/graphicsitems/qmlgraphicsitem_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsitem_p.h
@@ -53,17 +53,21 @@
// We mean it.
//
-#include <qmlgraphicsitem.h>
-#include <private/qmlstate_p.h>
-#include <private/qmlgraphicsanchors_p.h>
-#include <private/qmlnullablevalue_p_p.h>
-#include <private/qmlgraphicsanchors_p_p.h>
+#include "qmlgraphicsitem.h"
+
+#include "qmlgraphicsanchors_p.h"
+#include "qmlgraphicsanchors_p_p.h"
+
+#include <qmlstate_p.h>
+#include <qmlnullablevalue_p_p.h>
#include <qml.h>
#include <qmlcontext.h>
+
#include <QtCore/qlist.h>
-#include <private/qgraphicsitem_p.h>
#include <QtCore/qdebug.h>
+#include <private/qgraphicsitem_p.h>
+
QT_BEGIN_NAMESPACE
class QNetworkReply;
@@ -109,7 +113,12 @@ public:
_componentComplete(true), _keepMouse(false),
smooth(false), keyHandler(0),
width(0), height(0), implicitWidth(0), implicitHeight(0)
- {}
+ {
+ if (widthIdx == -1) {
+ widthIdx = QmlGraphicsItem::staticMetaObject.indexOfSignal("widthChanged()");
+ heightIdx = QmlGraphicsItem::staticMetaObject.indexOfSignal("heightChanged()");
+ }
+ }
~QmlGraphicsItemPrivate()
{ delete _anchors; }
@@ -249,6 +258,19 @@ public:
}
virtual void otherSiblingOrderChange(QmlGraphicsItemPrivate* other) {Q_UNUSED(other)}
+ bool connectToWidthChanged(QObject *object, int index) {
+ return QMetaObject::connect(q_func(), widthIdx, object, index);
+ }
+ bool disconnectFromWidthChanged(QObject *object, int index) {
+ return QMetaObject::disconnect(q_func(), widthIdx, object, index);
+ }
+
+ bool connectToHeightChanged(QObject *object, int index) {
+ return QMetaObject::connect(q_func(), heightIdx, object, index);
+ }
+ bool disconnectFromHeightChanged(QObject *object, int index) {
+ return QMetaObject::disconnect(q_func(), heightIdx, object, index);
+ }
static int consistentTime;
static QTime currentTime();
@@ -256,6 +278,8 @@ public:
static void start(QTime &);
static int elapsed(QTime &);
static int restart(QTime &);
+ static int widthIdx;
+ static int heightIdx;
};
QT_END_NAMESPACE
diff --git a/src/declarative/graphicsitems/qmlgraphicslayoutitem.cpp b/src/declarative/graphicsitems/qmlgraphicslayoutitem.cpp
index fafef0e..7227eb0 100644
--- a/src/declarative/graphicsitems/qmlgraphicslayoutitem.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicslayoutitem.cpp
@@ -40,7 +40,9 @@
****************************************************************************/
#include "qmlgraphicslayoutitem_p.h"
+
#include <QDebug>
+
#include <limits.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/graphicsitems/qmlgraphicslayoutitem_p.h b/src/declarative/graphicsitems/qmlgraphicslayoutitem_p.h
index 35905b5..3278b63 100644
--- a/src/declarative/graphicsitems/qmlgraphicslayoutitem_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicslayoutitem_p.h
@@ -41,8 +41,9 @@
#ifndef QMLGRAPHICSGRAPHICSLAYOUTITEM_H
#define QMLGRAPHICSGRAPHICSLAYOUTITEM_H
+#include "qmlgraphicsitem.h"
+
#include <QGraphicsLayoutItem>
-#include <QmlGraphicsItem>
#include <QSizeF>
QT_BEGIN_HEADER
diff --git a/src/declarative/graphicsitems/qmlgraphicslistview.cpp b/src/declarative/graphicsitems/qmlgraphicslistview.cpp
index 6958f7f..2711059 100644
--- a/src/declarative/graphicsitems/qmlgraphicslistview.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicslistview.cpp
@@ -39,13 +39,15 @@
**
****************************************************************************/
-#include "private/qmlgraphicsflickable_p_p.h"
-#include <private/qmleasefollow_p.h>
-#include <private/qlistmodelinterface_p.h>
-#include "qmlgraphicsvisualitemmodel_p.h"
#include "qmlgraphicslistview_p.h"
+
+#include "qmlgraphicsflickable_p_p.h"
+#include "qmlgraphicsvisualitemmodel_p.h"
+
+#include <qmleasefollow_p.h>
#include <qmlexpression.h>
+#include <qlistmodelinterface_p.h>
#include <QKeyEvent>
QT_BEGIN_NAMESPACE
@@ -481,8 +483,12 @@ public:
bool autoHighlight : 1;
bool haveHighlightRange : 1;
bool correctFlick : 1;
+
+ static int itemResizedIdx;
};
+int QmlGraphicsListViewPrivate::itemResizedIdx = -1;
+
void QmlGraphicsListViewPrivate::init()
{
Q_Q(QmlGraphicsListView);
@@ -491,6 +497,8 @@ void QmlGraphicsListViewPrivate::init()
QObject::connect(q, SIGNAL(widthChanged()), q, SLOT(refill()));
QObject::connect(q, SIGNAL(movementEnded()), q, SLOT(animStopped()));
q->setFlickDirection(QmlGraphicsFlickable::VerticalFlick);
+ if (itemResizedIdx == -1)
+ itemResizedIdx = QmlGraphicsListView::staticMetaObject.indexOfSlot("itemResized()");
}
void QmlGraphicsListViewPrivate::clear()
@@ -531,10 +539,11 @@ FxListItem *QmlGraphicsListViewPrivate::createItem(int modelIndex)
model->completeItem();
listItem->item->setZValue(1);
listItem->item->setParent(q->viewport());
+ QmlGraphicsItemPrivate *itemPrivate = static_cast<QmlGraphicsItemPrivate*>(QGraphicsItemPrivate::get(item));
if (orient == QmlGraphicsListView::Vertical)
- QObject::connect(listItem->item, SIGNAL(heightChanged()), q, SLOT(itemResized()));
+ itemPrivate->connectToHeightChanged(q, itemResizedIdx);
else
- QObject::connect(listItem->item, SIGNAL(widthChanged()), q, SLOT(itemResized()));
+ itemPrivate->connectToWidthChanged(q, itemResizedIdx);
}
requestedIndex = -1;
@@ -556,10 +565,11 @@ void QmlGraphicsListViewPrivate::releaseItem(FxListItem *item)
if (model->release(item->item) == 0) {
// item was not destroyed, and we no longer reference it.
unrequestedItems.insert(item->item, model->indexOf(item->item, q));
+ QmlGraphicsItemPrivate *itemPrivate = static_cast<QmlGraphicsItemPrivate*>(QGraphicsItemPrivate::get(item->item));
if (orient == QmlGraphicsListView::Vertical)
- QObject::disconnect(item->item, SIGNAL(heightChanged()), q, SLOT(itemResized()));
+ itemPrivate->disconnectFromHeightChanged(q, itemResizedIdx);
else
- QObject::disconnect(item->item, SIGNAL(widthChanged()), q, SLOT(itemResized()));
+ itemPrivate->disconnectFromWidthChanged(q, itemResizedIdx);
}
delete item;
}
@@ -1902,26 +1912,23 @@ void QmlGraphicsListView::viewportMoved()
}
}
- if ((d->haveHighlightRange && d->highlightRange == QmlGraphicsListView::StrictlyEnforceRange)
- || d->snapMode == QmlGraphicsListView::SnapToItem) {
- if (d->flicked && d->correctFlick) {
- // Near an end and it seems that the extent has changed?
- // Recalculate the flick so that we don't end up in an odd position.
- if (d->velocityY > 0) {
- if (d->flickTargetY - d->_moveY.value() < height()/2 && minYExtent() != d->flickTargetY)
- d->flickY(-d->verticalVelocity.value());
- } else if (d->velocityY < 0) {
- if (d->_moveY.value() - d->flickTargetY < height()/2 && maxYExtent() != d->flickTargetY)
- d->flickY(-d->verticalVelocity.value());
- }
+ if (d->flicked && d->correctFlick) {
+ // Near an end and it seems that the extent has changed?
+ // Recalculate the flick so that we don't end up in an odd position.
+ if (d->velocityY > 0) {
+ if (d->flickTargetY - d->_moveY.value() < height()/2 && minYExtent() != d->flickTargetY)
+ d->flickY(-d->verticalVelocity.value());
+ } else if (d->velocityY < 0) {
+ if (d->_moveY.value() - d->flickTargetY < height()/2 && maxYExtent() != d->flickTargetY)
+ d->flickY(-d->verticalVelocity.value());
+ }
- if (d->velocityX > 0) {
- if (d->flickTargetX - d->_moveX.value() < height()/2 && minXExtent() != d->flickTargetX)
- d->flickX(-d->verticalVelocity.value());
- } else if (d->velocityX < 0) {
- if (d->_moveX.value() - d->flickTargetX < height()/2 && maxXExtent() != d->flickTargetX)
- d->flickX(-d->verticalVelocity.value());
- }
+ if (d->velocityX > 0) {
+ if (d->flickTargetX - d->_moveX.value() < height()/2 && minXExtent() != d->flickTargetX)
+ d->flickX(-d->verticalVelocity.value());
+ } else if (d->velocityX < 0) {
+ if (d->_moveX.value() - d->flickTargetX < height()/2 && maxXExtent() != d->flickTargetX)
+ d->flickX(-d->verticalVelocity.value());
}
}
}
@@ -2266,6 +2273,8 @@ void QmlGraphicsListView::itemsInserted(int modelIndex, int count)
d->updateUnrequestedPositions();
d->updateViewport();
d->updateSections();
+ d->updateHeader();
+ d->updateFooter();
emit countChanged();
}
@@ -2485,4 +2494,4 @@ QML_DEFINE_TYPE(Qt,4,6,ListView,QmlGraphicsListView)
QT_END_NAMESPACE
-#include "qmlgraphicslistview.moc"
+#include <qmlgraphicslistview.moc>
diff --git a/src/declarative/graphicsitems/qmlgraphicslistview_p.h b/src/declarative/graphicsitems/qmlgraphicslistview_p.h
index 241fb05..6dc131c 100644
--- a/src/declarative/graphicsitems/qmlgraphicslistview_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicslistview_p.h
@@ -42,7 +42,7 @@
#ifndef QMLGRAPHICSLISTVIEW_H
#define QMLGRAPHICSLISTVIEW_H
-#include <private/qmlgraphicsflickable_p.h>
+#include "qmlgraphicsflickable_p.h"
QT_BEGIN_HEADER
diff --git a/src/declarative/graphicsitems/qmlgraphicsloader.cpp b/src/declarative/graphicsitems/qmlgraphicsloader.cpp
index c841efe..86239cf 100644
--- a/src/declarative/graphicsitems/qmlgraphicsloader.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsloader.cpp
@@ -40,7 +40,8 @@
****************************************************************************/
#include "qmlgraphicsloader_p_p.h"
-#include <private/qmlengine_p.h>
+
+#include <qmlengine_p.h>
QT_BEGIN_NAMESPACE
@@ -396,6 +397,6 @@ QmlGraphicsItem *QmlGraphicsLoader::item() const
return d->item;
}
-#include "moc_qmlgraphicsloader_p.cpp"
+#include <moc_qmlgraphicsloader_p.cpp>
QT_END_NAMESPACE
diff --git a/src/declarative/graphicsitems/qmlgraphicsloader_p.h b/src/declarative/graphicsitems/qmlgraphicsloader_p.h
index bca65fa..88cc70d 100644
--- a/src/declarative/graphicsitems/qmlgraphicsloader_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsloader_p.h
@@ -42,7 +42,7 @@
#ifndef QMLGRAPHICSLOADER_H
#define QMLGRAPHICSLOADER_H
-#include <qmlgraphicsitem.h>
+#include "qmlgraphicsitem.h"
QT_BEGIN_HEADER
diff --git a/src/declarative/graphicsitems/qmlgraphicsloader_p_p.h b/src/declarative/graphicsitems/qmlgraphicsloader_p_p.h
index cd7316d..569e1a5 100644
--- a/src/declarative/graphicsitems/qmlgraphicsloader_p_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsloader_p_p.h
@@ -53,9 +53,10 @@
// We mean it.
//
-#include "qmlgraphicsitem_p.h"
#include "qmlgraphicsloader_p.h"
+#include "qmlgraphicsitem_p.h"
+
QT_BEGIN_NAMESPACE
class QmlContext;
diff --git a/src/declarative/graphicsitems/qmlgraphicsmouseregion.cpp b/src/declarative/graphicsitems/qmlgraphicsmouseregion.cpp
index ec613af..159fc29 100644
--- a/src/declarative/graphicsitems/qmlgraphicsmouseregion.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsmouseregion.cpp
@@ -41,9 +41,10 @@
#include "qmlgraphicsmouseregion_p.h"
#include "qmlgraphicsmouseregion_p_p.h"
+
#include "qmlgraphicsevents_p_p.h"
-#include <QGraphicsSceneMouseEvent>
+#include <QGraphicsSceneMouseEvent>
QT_BEGIN_NAMESPACE
static const qreal DragThreshold = 5;
@@ -119,6 +120,12 @@ void QmlGraphicsDrag::setYmax(qreal m)
_ymax = m;
}
+QmlGraphicsMouseRegionPrivate::~QmlGraphicsMouseRegionPrivate()
+{
+ delete drag;
+}
+
+
/*!
\qmlclass MouseRegion QmlGraphicsMouseRegion
\brief The MouseRegion item enables simple mouse handling.
@@ -339,8 +346,10 @@ void QmlGraphicsMouseRegion::mousePressEvent(QGraphicsSceneMouseEvent *event)
else {
d->longPress = false;
d->saveEvent(event);
- d->dragX = drag()->axis() & QmlGraphicsDrag::XAxis;
- d->dragY = drag()->axis() & QmlGraphicsDrag::YAxis;
+ if (d->drag) {
+ d->dragX = drag()->axis() & QmlGraphicsDrag::XAxis;
+ d->dragY = drag()->axis() & QmlGraphicsDrag::YAxis;
+ }
d->dragged = false;
setHovered(true);
d->start = event->pos();
@@ -371,7 +380,7 @@ void QmlGraphicsMouseRegion::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
else if (!d->hovered && contains)
setHovered(true);
- if (drag()->target()) {
+ if (d->drag && d->drag->target()) {
if (!d->moved) {
if (d->dragX) d->startX = drag()->target()->x();
if (d->dragY) d->startY = drag()->target()->y();
@@ -616,7 +625,9 @@ bool QmlGraphicsMouseRegion::setPressed(bool p)
QmlGraphicsDrag *QmlGraphicsMouseRegion::drag()
{
Q_D(QmlGraphicsMouseRegion);
- return &(d->drag);
+ if (!d->drag)
+ d->drag = new QmlGraphicsDrag;
+ return d->drag;
}
/*!
diff --git a/src/declarative/graphicsitems/qmlgraphicsmouseregion_p.h b/src/declarative/graphicsitems/qmlgraphicsmouseregion_p.h
index 998183d..0ddad1b 100644
--- a/src/declarative/graphicsitems/qmlgraphicsmouseregion_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsmouseregion_p.h
@@ -42,7 +42,7 @@
#ifndef QMLGRAPHICSMOUSEREGION_H
#define QMLGRAPHICSMOUSEREGION_H
-#include <qmlgraphicsitem.h>
+#include "qmlgraphicsitem.h"
QT_BEGIN_HEADER
diff --git a/src/declarative/graphicsitems/qmlgraphicsmouseregion_p_p.h b/src/declarative/graphicsitems/qmlgraphicsmouseregion_p_p.h
index ad7cc9f..0f1b0d4 100644
--- a/src/declarative/graphicsitems/qmlgraphicsmouseregion_p_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsmouseregion_p_p.h
@@ -53,11 +53,12 @@
// We mean it.
//
-#include "qdatetime.h"
-#include "qbasictimer.h"
-#include "qgraphicssceneevent.h"
#include "qmlgraphicsitem_p.h"
+#include <qdatetime.h>
+#include <qbasictimer.h>
+#include <qgraphicssceneevent.h>
+
QT_BEGIN_NAMESPACE
class QmlGraphicsMouseRegionPrivate : public QmlGraphicsItemPrivate
@@ -70,6 +71,8 @@ public:
{
}
+ ~QmlGraphicsMouseRegionPrivate();
+
void init()
{
Q_Q(QmlGraphicsMouseRegion);
@@ -97,7 +100,7 @@ public:
bool dragX : 1;
bool dragY : 1;
bool dragged : 1;
- QmlGraphicsDrag drag;
+ QmlGraphicsDrag *drag;
QPointF start;
QPointF startScene;
qreal startX;
diff --git a/src/declarative/graphicsitems/qmlgraphicspainteditem.cpp b/src/declarative/graphicsitems/qmlgraphicspainteditem.cpp
index 948f69a..146b1e4 100644
--- a/src/declarative/graphicsitems/qmlgraphicspainteditem.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicspainteditem.cpp
@@ -50,6 +50,7 @@
#include <QGraphicsSceneMouseEvent>
#include <QPainter>
#include <QPaintEngine>
+#include <qmath.h>
QT_BEGIN_NAMESPACE
@@ -98,9 +99,13 @@ static int inpaint_clearcache=0;
void QmlGraphicsPaintedItem::dirtyCache(const QRect& rect)
{
Q_D(QmlGraphicsPaintedItem);
+ QRect srect(qCeil(rect.x()*d->contentsScale),
+ qCeil(rect.y()*d->contentsScale),
+ qCeil(rect.width()*d->contentsScale),
+ qCeil(rect.height()*d->contentsScale));
for (int i=0; i < d->imagecache.count(); ) {
QmlGraphicsPaintedItemPrivate::ImageCacheItem *c = d->imagecache[i];
- QRect isect = (c->area & rect) | c->dirty;
+ QRect isect = (c->area & srect) | c->dirty;
if (isect == c->area && !inpaint) {
delete d->imagecache.takeAt(i);
} else {
@@ -147,10 +152,32 @@ void QmlGraphicsPaintedItem::setContentsSize(const QSize &size)
Q_D(QmlGraphicsPaintedItem);
if (d->contentsSize == size) return;
d->contentsSize = size;
+ setImplicitWidth(size.width()*d->contentsScale);
+ setImplicitHeight(size.height()*d->contentsScale);
clearCache();
update();
+ emit contentsSizeChanged();
}
+qreal QmlGraphicsPaintedItem::contentsScale() const
+{
+ Q_D(const QmlGraphicsPaintedItem);
+ return d->contentsScale;
+}
+
+void QmlGraphicsPaintedItem::setContentsScale(qreal scale)
+{
+ Q_D(QmlGraphicsPaintedItem);
+ if (d->contentsScale == scale) return;
+ d->contentsScale = scale;
+ setImplicitWidth(d->contentsSize.width()*scale);
+ setImplicitHeight(d->contentsSize.height()*scale);
+ clearCache();
+ update();
+ emit contentsScaleChanged();
+}
+
+
/*!
Constructs a new QmlGraphicsPaintedItem with the given \a parent.
*/
@@ -204,7 +231,8 @@ void QmlGraphicsPaintedItem::setCacheFrozen(bool frozen)
void QmlGraphicsPaintedItem::paint(QPainter *p, const QStyleOptionGraphicsItem *, QWidget *)
{
Q_D(QmlGraphicsPaintedItem);
- const QRect content(QPoint(0,0),d->contentsSize);
+ const QRect content(0,0,qCeil(d->contentsSize.width()*d->contentsScale),
+ qCeil(d->contentsSize.height()*d->contentsScale));
if (content.width() <= 0 || content.height() <= 0)
return;
@@ -244,21 +272,27 @@ void QmlGraphicsPaintedItem::paint(QPainter *p, const QStyleOptionGraphicsItem *
if (!d->cachefrozen) {
if (!d->imagecache[i]->dirty.isNull() && topaint.contains(d->imagecache[i]->dirty)) {
QPainter qp(&d->imagecache[i]->image);
- qp.setRenderHints(QPainter::HighQualityAntialiasing | QPainter::Antialiasing | QPainter::TextAntialiasing | QPainter::SmoothPixmapTransform, d->smoothCache);
+ qp.setRenderHints(QPainter::HighQualityAntialiasing | QPainter::TextAntialiasing | QPainter::SmoothPixmapTransform, d->smoothCache);
qp.translate(-area.x(), -area.y());
+ qp.scale(d->contentsScale,d->contentsScale);
+ QRect clip = d->imagecache[i]->dirty;
+ QRect sclip(qFloor(clip.x()/d->contentsScale),
+ qFloor(clip.y()/d->contentsScale),
+ qCeil(clip.width()/d->contentsScale+clip.x()/d->contentsScale-qFloor(clip.x()/d->contentsScale)),
+ qCeil(clip.height()/d->contentsScale+clip.y()/d->contentsScale-qFloor(clip.y()/d->contentsScale)));
+ qp.setClipRect(sclip);
if (d->fillColor.isValid()){
if(d->fillColor.alpha() < 255){
// ### Might not work outside of raster paintengine
QPainter::CompositionMode prev = qp.compositionMode();
qp.setCompositionMode(QPainter::CompositionMode_Source);
- qp.fillRect(d->imagecache[i]->dirty,d->fillColor);
+ qp.fillRect(sclip,d->fillColor);
qp.setCompositionMode(prev);
}else{
- qp.fillRect(d->imagecache[i]->dirty,d->fillColor);
+ qp.fillRect(sclip,d->fillColor);
}
}
- qp.setClipRect(d->imagecache[i]->dirty);
- drawContents(&qp, d->imagecache[i]->dirty);
+ drawContents(&qp, sclip);
d->imagecache[i]->dirty = QRect();
}
}
@@ -300,10 +334,15 @@ void QmlGraphicsPaintedItem::paint(QPainter *p, const QStyleOptionGraphicsItem *
img.fill(d->fillColor);
{
QPainter qp(&img);
- qp.setRenderHints(QPainter::HighQualityAntialiasing | QPainter::Antialiasing | QPainter::TextAntialiasing | QPainter::SmoothPixmapTransform, d->smoothCache);
+ qp.setRenderHints(QPainter::HighQualityAntialiasing | QPainter::TextAntialiasing | QPainter::SmoothPixmapTransform, d->smoothCache);
qp.translate(-r.x(),-r.y());
- drawContents(&qp, r);
+ qp.scale(d->contentsScale,d->contentsScale);
+ QRect sclip(qFloor(r.x()/d->contentsScale),
+ qFloor(r.y()/d->contentsScale),
+ qCeil(r.width()/d->contentsScale+r.x()/d->contentsScale-qFloor(r.x()/d->contentsScale)),
+ qCeil(r.height()/d->contentsScale+r.y()/d->contentsScale-qFloor(r.y()/d->contentsScale)));
+ drawContents(&qp, sclip);
}
QmlGraphicsPaintedItemPrivate::ImageCacheItem *newitem = new QmlGraphicsPaintedItemPrivate::ImageCacheItem;
newitem->area = r;
diff --git a/src/declarative/graphicsitems/qmlgraphicspainteditem_p.h b/src/declarative/graphicsitems/qmlgraphicspainteditem_p.h
index f6bb078..ab21f36 100644
--- a/src/declarative/graphicsitems/qmlgraphicspainteditem_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicspainteditem_p.h
@@ -42,8 +42,7 @@
#ifndef QMLGRAPHICSIMAGEITEM_H
#define QMLGRAPHICSIMAGEITEM_H
-#include <qmlgraphicsitem.h>
-
+#include "qmlgraphicsitem.h"
QT_BEGIN_HEADER
@@ -56,10 +55,11 @@ class Q_DECLARATIVE_EXPORT QmlGraphicsPaintedItem : public QmlGraphicsItem
{
Q_OBJECT
- Q_PROPERTY(QSize contentsSize READ contentsSize WRITE setContentsSize)
+ Q_PROPERTY(QSize contentsSize READ contentsSize WRITE setContentsSize NOTIFY contentsSizeChanged)
Q_PROPERTY(QColor fillColor READ fillColor WRITE setFillColor NOTIFY fillColorChanged)
Q_PROPERTY(int pixelCacheSize READ pixelCacheSize WRITE setPixelCacheSize)
Q_PROPERTY(bool smoothCache READ smoothCache WRITE setSmoothCache)
+ Q_PROPERTY(qreal contentsScale READ contentsScale WRITE setContentsScale NOTIFY contentsScaleChanged)
public:
@@ -69,6 +69,9 @@ public:
QSize contentsSize() const;
void setContentsSize(const QSize &);
+ qreal contentsScale() const;
+ void setContentsScale(qreal);
+
int pixelCacheSize() const;
void setPixelCacheSize(int pixels);
@@ -89,6 +92,8 @@ protected:
Q_SIGNALS:
void fillColorChanged();
+ void contentsSizeChanged();
+ void contentsScaleChanged();
protected Q_SLOTS:
void dirtyCache(const QRect &);
diff --git a/src/declarative/graphicsitems/qmlgraphicspainteditem_p_p.h b/src/declarative/graphicsitems/qmlgraphicspainteditem_p_p.h
index a938ecf..6bcc51a 100644
--- a/src/declarative/graphicsitems/qmlgraphicspainteditem_p_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicspainteditem_p_p.h
@@ -53,7 +53,7 @@
// We mean it.
//
-#include <private/qmlgraphicsitem_p.h>
+#include "qmlgraphicsitem_p.h"
QT_BEGIN_NAMESPACE
@@ -63,7 +63,7 @@ class QmlGraphicsPaintedItemPrivate : public QmlGraphicsItemPrivate
public:
QmlGraphicsPaintedItemPrivate()
- : max_imagecache_size(100000), fillColor(Qt::transparent), cachefrozen(false), smoothCache(true)
+ : max_imagecache_size(100000), contentsScale(1.0), fillColor(Qt::transparent), cachefrozen(false), smoothCache(true)
{
}
@@ -80,6 +80,7 @@ public:
int max_imagecache_size;
QSize contentsSize;
+ qreal contentsScale;
QColor fillColor;
bool cachefrozen;
bool smoothCache;
diff --git a/src/declarative/graphicsitems/qmlgraphicsparticles.cpp b/src/declarative/graphicsitems/qmlgraphicsparticles.cpp
index f15d9f6..63c7658 100644
--- a/src/declarative/graphicsitems/qmlgraphicsparticles.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsparticles.cpp
@@ -39,10 +39,22 @@
**
****************************************************************************/
-#include "private/qmlgraphicsitem_p.h"
+#include "qmlgraphicsparticles_p.h"
+
+#include "qmlgraphicsitem_p.h"
+
+#include <qmlpixmapcache_p.h>
+#include <qfxperf_p_p.h>
+#include <qmlanimation_p_p.h>
+
+#include <QNetworkReply>
+#include <QPainter>
+#include <QtGui/qdrawutil.h>
+#include <QVarLengthArray>
#include <stdlib.h>
#include <math.h>
+
#ifndef M_PI
#define M_PI 3.14159265358979323846
#define M_PI_2 (M_PI / 2.)
@@ -50,15 +62,6 @@
#ifndef INT_MAX
#define INT_MAX 2147483647
#endif
-#include <private/qmlpixmapcache_p.h>
-#include <private/qfxperf_p_p.h>
-#include <private/qmlanimation_p_p.h>
-#include <QNetworkReply>
-
-#include "qmlgraphicsparticles_p.h"
-#include <QPainter>
-#include <QtGui/qdrawutil.h>
-#include <QVarLengthArray>
QT_BEGIN_NAMESPACE
#define PI_SQR 9.8696044
diff --git a/src/declarative/graphicsitems/qmlgraphicsparticles_p.h b/src/declarative/graphicsitems/qmlgraphicsparticles_p.h
index 3cb3ff6..c34d55b 100644
--- a/src/declarative/graphicsitems/qmlgraphicsparticles_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsparticles_p.h
@@ -42,7 +42,7 @@
#ifndef QMLGRAPHICSPARTICLES_H
#define QMLGRAPHICSPARTICLES_H
-#include <qmlgraphicsitem.h>
+#include "qmlgraphicsitem.h"
QT_BEGIN_HEADER
diff --git a/src/declarative/graphicsitems/qmlgraphicspath.cpp b/src/declarative/graphicsitems/qmlgraphicspath.cpp
index 1791074..18f27af 100644
--- a/src/declarative/graphicsitems/qmlgraphicspath.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicspath.cpp
@@ -41,10 +41,12 @@
#include "qmlgraphicspath_p.h"
#include "qmlgraphicspath_p_p.h"
-#include <private/qfxperf_p_p.h>
-#include <private/qbezier_p.h>
+
+#include <qfxperf_p_p.h>
+
#include <QSet>
+#include <private/qbezier_p.h>
QT_BEGIN_NAMESPACE
QML_DEFINE_TYPE(Qt,4,6,Path,QmlGraphicsPath)
diff --git a/src/declarative/graphicsitems/qmlgraphicspath_p.h b/src/declarative/graphicsitems/qmlgraphicspath_p.h
index 30a377e..2b4b0fd 100644
--- a/src/declarative/graphicsitems/qmlgraphicspath_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicspath_p.h
@@ -42,11 +42,12 @@
#ifndef QMLGRAPHICSPATH_H
#define QMLGRAPHICSPATH_H
-#include <QtCore/QObject>
-#include <QtGui/QPainterPath>
+#include "qmlgraphicsitem.h"
+
#include <qml.h>
-#include <qmlgraphicsitem.h>
+#include <QtCore/QObject>
+#include <QtGui/QPainterPath>
QT_BEGIN_HEADER
diff --git a/src/declarative/graphicsitems/qmlgraphicspath_p_p.h b/src/declarative/graphicsitems/qmlgraphicspath_p_p.h
index 8c4c962..04342a8 100644
--- a/src/declarative/graphicsitems/qmlgraphicspath_p_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicspath_p_p.h
@@ -53,10 +53,11 @@
// We mean it.
//
-#include "private/qobject_p.h"
#include "qmlgraphicspath_p.h"
-#include "qml.h"
+#include <qml.h>
+
+#include <private/qobject_p.h>
QT_BEGIN_NAMESPACE
class QmlGraphicsPathPrivate : public QObjectPrivate
diff --git a/src/declarative/graphicsitems/qmlgraphicspathview.cpp b/src/declarative/graphicsitems/qmlgraphicspathview.cpp
index 92751a0..705462a 100644
--- a/src/declarative/graphicsitems/qmlgraphicspathview.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicspathview.cpp
@@ -39,17 +39,19 @@
**
****************************************************************************/
-#include <math.h>
+#include "qmlgraphicspathview_p.h"
+#include "qmlgraphicspathview_p_p.h"
+
+#include <qmlstate_p.h>
+#include <qmlopenmetaobject_p.h>
+
#include <QDebug>
#include <QEvent>
-#include <private/qmlstate_p.h>
-#include <private/qlistmodelinterface_p.h>
-#include <private/qmlopenmetaobject_p.h>
-
-#include <private/qmlgraphicspathview_p.h>
-#include <private/qmlgraphicspathview_p_p.h>
+#include <qlistmodelinterface_p.h>
#include <QGraphicsSceneEvent>
+#include <math.h>
+
static const int FlickThreshold = 5;
QT_BEGIN_NAMESPACE
@@ -892,4 +894,4 @@ QObject *QmlGraphicsPathView::qmlAttachedProperties(QObject *obj)
QT_END_NAMESPACE
-#include "qmlgraphicspathview.moc"
+#include <qmlgraphicspathview.moc>
diff --git a/src/declarative/graphicsitems/qmlgraphicspathview_p.h b/src/declarative/graphicsitems/qmlgraphicspathview_p.h
index 38f1cd8..17106a2 100644
--- a/src/declarative/graphicsitems/qmlgraphicspathview_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicspathview_p.h
@@ -42,8 +42,8 @@
#ifndef QMLGRAPHICSPATHVIEW_H
#define QMLGRAPHICSPATHVIEW_H
-#include <qmlgraphicsitem.h>
-#include <private/qmlgraphicspath_p.h>
+#include "qmlgraphicsitem.h"
+#include "qmlgraphicspath_p.h"
QT_BEGIN_HEADER
diff --git a/src/declarative/graphicsitems/qmlgraphicspathview_p_p.h b/src/declarative/graphicsitems/qmlgraphicspathview_p_p.h
index a0f2a3d..7ffe6ac 100644
--- a/src/declarative/graphicsitems/qmlgraphicspathview_p_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicspathview_p_p.h
@@ -53,12 +53,15 @@
// We mean it.
//
-#include "qdatetime.h"
#include "qmlgraphicspathview_p.h"
+
#include "qmlgraphicsitem_p.h"
#include "qmlgraphicsvisualitemmodel_p.h"
-#include "qml.h"
-#include "private/qmlanimation_p_p.h"
+
+#include <qml.h>
+#include <qmlanimation_p_p.h>
+
+#include <qdatetime.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/graphicsitems/qmlgraphicspositioners.cpp b/src/declarative/graphicsitems/qmlgraphicspositioners.cpp
index 65e63eb..db0cc7c 100644
--- a/src/declarative/graphicsitems/qmlgraphicspositioners.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicspositioners.cpp
@@ -39,49 +39,52 @@
**
****************************************************************************/
+#include "qmlgraphicspositioners_p.h"
+#include "qmlgraphicspositioners_p_p.h"
+
+#include <qml.h>
+#include <qmlstate_p.h>
+#include <qmlstategroup_p.h>
+#include <qmlstateoperations_p.h>
+#include <qfxperf_p_p.h>
+
#include <QDebug>
#include <QCoreApplication>
-#include "qml.h"
-#include <private/qmlstate_p.h>
-#include <private/qmlstategroup_p.h>
-#include <private/qmlstateoperations_p.h>
-#include <private/qfxperf_p_p.h>
-#include <private/qmlgraphicspositioners_p.h>
-#include <private/qmlgraphicspositioners_p_p.h>
-
QT_BEGIN_NAMESPACE
+int QmlGraphicsBasePositionerPrivate::prePosIdx = -1;
+int QmlGraphicsBasePositionerPrivate::visibleIdx = -1;
+int QmlGraphicsBasePositionerPrivate::opacityIdx = -1;
+
+
void QmlGraphicsBasePositionerPrivate::watchChanges(QmlGraphicsItem *other)
{
Q_Q(QmlGraphicsBasePositioner);
- QObject::connect(other, SIGNAL(visibleChanged()),
- q, SLOT(prePositioning()));
- QObject::connect(other, SIGNAL(opacityChanged()),
- q, SLOT(prePositioning()));
- QObject::connect(other, SIGNAL(heightChanged()),
- q, SLOT(prePositioning()));
- QObject::connect(other, SIGNAL(widthChanged()),
- q, SLOT(prePositioning()));
- static_cast<QmlGraphicsItemPrivate*>(QGraphicsItemPrivate::get(other))->registerSiblingOrderNotification(this);
+ QMetaObject::connect(other, visibleIdx, q, prePosIdx);
+ QMetaObject::connect(other, opacityIdx, q, prePosIdx);
+
+ QmlGraphicsItemPrivate *otherPrivate = static_cast<QmlGraphicsItemPrivate*>(QGraphicsItemPrivate::get(other));
+
+ otherPrivate->connectToHeightChanged(q, prePosIdx);
+ otherPrivate->connectToWidthChanged(q, prePosIdx);
+
+ otherPrivate->registerSiblingOrderNotification(this);
watched << other;
}
void QmlGraphicsBasePositionerPrivate::unwatchChanges(QmlGraphicsItem* other)
{
Q_Q(QmlGraphicsBasePositioner);
+ QmlGraphicsItemPrivate *otherPrivate = static_cast<QmlGraphicsItemPrivate*>(QGraphicsItemPrivate::get(other));
bool stillAlive = false; //Use the return from disconnect to see if it was deleted or just reparented
- stillAlive |= QObject::disconnect(other, SIGNAL(visibleChanged()),
- q, SLOT(prePositioning()));
- stillAlive |= QObject::disconnect(other, SIGNAL(opacityChanged()),
- q, SLOT(prePositioning()));
- stillAlive |= QObject::disconnect(other, SIGNAL(heightChanged()),
- q, SLOT(prePositioning()));
- stillAlive |= QObject::disconnect(other, SIGNAL(widthChanged()),
- q, SLOT(prePositioning()));
+ stillAlive |= QMetaObject::disconnect(other, visibleIdx, q, prePosIdx);
+ stillAlive |= QMetaObject::disconnect(other, opacityIdx, q, prePosIdx);
+ stillAlive |= otherPrivate->disconnectFromHeightChanged(q, prePosIdx);
+ stillAlive |= otherPrivate->disconnectFromWidthChanged(q, prePosIdx);
+
if(stillAlive)
- static_cast<QmlGraphicsItemPrivate*>(QGraphicsItemPrivate::get(other))
- ->unregisterSiblingOrderNotification(this);
+ otherPrivate->unregisterSiblingOrderNotification(this);
watched.removeAll(other);
}
@@ -242,36 +245,52 @@ void QmlGraphicsBasePositioner::prePositioning()
d->_ep = true;
QCoreApplication::postEvent(this, new QEvent(QEvent::User));
}
- QSet<QmlGraphicsItem *> allItems;
//Need to order children by creation order modified by stacking order
//###can we avoid using the QGraphicsItemPrivate?
QList<QGraphicsItem *> children = childItems();
qSort(children.begin(), children.end(), d->insertionOrder);
- positionedItems = QList<QmlGraphicsItem*>();
+ positionedItems.clear();
- for (int ii = 0; ii < children.count(); ++ii) {
- QmlGraphicsItem *child = qobject_cast<QmlGraphicsItem *>(children.at(ii));
- if (!child)
- continue;
- if (!d->_items.contains(child)){
+ if (d->_items.isEmpty()) {
+ for (int ii = 0; ii < children.count(); ++ii) {
+ QmlGraphicsItem *child = qobject_cast<QmlGraphicsItem *>(children.at(ii));
+ if (!child)
+ continue;
d->watchChanges(child);
d->_items += child;
+ if (child->opacity() != 0.0)
+ d->_newItems += child;
+ positionedItems << child;
}
- if (child->opacity() == 0.0){
- if (d->_stableItems.contains(child)){
- d->_leavingItems += child;
- d->_stableItems -= child;
+ } else {
+ QSet<QmlGraphicsItem *> allItems;
+ allItems.reserve(children.count());
+ for (int ii = 0; ii < children.count(); ++ii) {
+ QmlGraphicsItem *child = qobject_cast<QmlGraphicsItem *>(children.at(ii));
+ if (!child)
+ continue;
+ if (!d->_items.contains(child)){
+ d->watchChanges(child);
+ d->_items += child;
+ }
+ if (child->opacity() == 0.0){
+ if (d->_stableItems.contains(child)){
+ d->_leavingItems += child;
+ d->_stableItems -= child;
+ }
+ }else if (!d->_stableItems.contains(child)){
+ d->_newItems+=child;
+ }
+ allItems += child;
+ positionedItems << child;
+ }
+ if (d->_items.count() != allItems.count()) {
+ QSet<QmlGraphicsItem *> deletedItems = d->_items - allItems;
+ foreach(QmlGraphicsItem *child, deletedItems){
+ d->unwatchChanges(child);
+ d->_items -= child;
}
- }else if (!d->_stableItems.contains(child)){
- d->_newItems+=child;
}
- allItems += child;
- positionedItems << child;
- }
- QSet<QmlGraphicsItem *> deletedItems = d->_items - allItems;
- foreach(QmlGraphicsItem *child, deletedItems){
- d->unwatchChanges(child);
- d->_items -= child;
}
d->_animated.clear();
doPositioning();
@@ -471,7 +490,7 @@ QmlGraphicsColumn::QmlGraphicsColumn(QmlGraphicsItem *parent)
{
}
-inline bool isInvisible(QmlGraphicsItem *child)
+static inline bool isInvisible(QmlGraphicsItem *child)
{
return child->opacity() == 0.0 || !child->isVisible() || !child->width() || !child->height();
}
@@ -495,12 +514,15 @@ void QmlGraphicsColumn::doPositioning()
bool needMove = (child->y() != voffset || child->x());
- QList<QPair<QString, QVariant> > changes;
- changes << qMakePair(QString(QLatin1String("y")),QVariant(voffset));
- changes << qMakePair(QString(QLatin1String("x")),QVariant(0));
- if (needMove && items()->contains(child) && move()) {
+ if (needMove && move() && items()->contains(child)) {
+ QList<QPair<QString, QVariant> > changes;
+ changes << qMakePair(QString(QLatin1String("y")),QVariant(voffset));
+ changes << qMakePair(QString(QLatin1String("x")),QVariant(0));
applyMove(changes,child);
- } else if (!items()->contains(child) && add()) {
+ } else if (add() && !items()->contains(child)) {
+ QList<QPair<QString, QVariant> > changes;
+ changes << qMakePair(QString(QLatin1String("y")),QVariant(voffset));
+ changes << qMakePair(QString(QLatin1String("x")),QVariant(0));
applyAdd(changes,child);
} else if (needMove) {
setMovingItem(child);
@@ -630,12 +652,15 @@ void QmlGraphicsRow::doPositioning()
bool needMove = (child->x() != hoffset || child->y());
- QList<QPair<QString, QVariant> > changes;
- changes << qMakePair(QString(QLatin1String("x")),QVariant(hoffset));
- changes << qMakePair(QString(QLatin1String("y")),QVariant(0));
- if (needMove && items()->contains(child) && move()) {
+ if (needMove && move() && items()->contains(child)) {
+ QList<QPair<QString, QVariant> > changes;
+ changes << qMakePair(QString(QLatin1String("x")),QVariant(hoffset));
+ changes << qMakePair(QString(QLatin1String("y")),QVariant(0));
applyMove(changes,child);
- } else if (!items()->contains(child) && add()) {
+ } else if (add() && !items()->contains(child)) {
+ QList<QPair<QString, QVariant> > changes;
+ changes << qMakePair(QString(QLatin1String("x")),QVariant(hoffset));
+ changes << qMakePair(QString(QLatin1String("y")),QVariant(0));
applyAdd(changes,child);
} else if (needMove) {
setMovingItem(child);
diff --git a/src/declarative/graphicsitems/qmlgraphicspositioners_p.h b/src/declarative/graphicsitems/qmlgraphicspositioners_p.h
index a0665ae..03e0f41 100644
--- a/src/declarative/graphicsitems/qmlgraphicspositioners_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicspositioners_p.h
@@ -42,11 +42,12 @@
#ifndef QMLGRAPHICSLAYOUTS_H
#define QMLGRAPHICSLAYOUTS_H
+#include "qmlgraphicsitem.h"
+
+#include <qmlstate_p.h>
+
#include <QtCore/QObject>
#include <QtCore/QString>
-#include <qmlgraphicsitem.h>
-#include <private/qmlstate_p.h>
-
QT_BEGIN_HEADER
diff --git a/src/declarative/graphicsitems/qmlgraphicspositioners_p_p.h b/src/declarative/graphicsitems/qmlgraphicspositioners_p_p.h
index d7a31a3..b079f6a 100644
--- a/src/declarative/graphicsitems/qmlgraphicspositioners_p_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicspositioners_p_p.h
@@ -53,13 +53,16 @@
// We mean it.
//
-#include <private/qmlgraphicsitem_p.h>
+#include "qmlgraphicspositioners_p.h"
+
+#include "qmlgraphicsitem_p.h"
+
+#include <qmlstate_p.h>
+#include <qmltransitionmanager_p_p.h>
+#include <qmlstateoperations_p.h>
+
#include <QtCore/QObject>
#include <QtCore/QString>
-#include <private/qmlgraphicspositioners_p.h>
-#include <private/qmlstate_p.h>
-#include <private/qmltransitionmanager_p_p.h>
-#include <private/qmlstateoperations_p.h>
#include <QtCore/QTimer>
QT_BEGIN_NAMESPACE
@@ -85,6 +88,11 @@ public:
void init(QmlGraphicsBasePositioner::AutoUpdateType at)
{
aut = at;
+ if (prePosIdx == -1) {
+ prePosIdx = QmlGraphicsBasePositioner::staticMetaObject.indexOfSlot("prePositioning()");
+ visibleIdx = QmlGraphicsItem::staticMetaObject.indexOfSignal("visibleChanged()");
+ opacityIdx = QmlGraphicsItem::staticMetaObject.indexOfSignal("opacityChanged()");
+ }
}
bool _ep;
@@ -105,7 +113,6 @@ public:
QmlTransitionManager addTransitionManager;
QmlTransitionManager moveTransitionManager;
QmlTransitionManager removeTransitionManager;
-// QmlStateGroup *stateGroup;
QmlGraphicsItem *_movingItem;
void watchChanges(QmlGraphicsItem *other);
@@ -113,6 +120,10 @@ public:
QList<QGuard<QmlGraphicsItem> > watched;
bool queuedPositioning;
+ static int prePosIdx;
+ static int visibleIdx;
+ static int opacityIdx;
+
virtual void otherSiblingOrderChange(QmlGraphicsItemPrivate* other)
{
Q_Q(QmlGraphicsBasePositioner);
diff --git a/src/declarative/graphicsitems/qmlgraphicsrectangle_p.h b/src/declarative/graphicsitems/qmlgraphicsrectangle_p.h
index fe8c403..4f4c1cf 100644
--- a/src/declarative/graphicsitems/qmlgraphicsrectangle_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsrectangle_p.h
@@ -42,9 +42,9 @@
#ifndef QMLGRAPHICSRECT_H
#define QMLGRAPHICSRECT_H
-#include <qmlgraphicsitem.h>
-#include <QtGui/qbrush.h>
+#include "qmlgraphicsitem.h"
+#include <QtGui/qbrush.h>
QT_BEGIN_HEADER
diff --git a/src/declarative/graphicsitems/qmlgraphicsrepeater.cpp b/src/declarative/graphicsitems/qmlgraphicsrepeater.cpp
index be10c24..a650999 100644
--- a/src/declarative/graphicsitems/qmlgraphicsrepeater.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsrepeater.cpp
@@ -41,10 +41,12 @@
#include "qmlgraphicsrepeater_p.h"
#include "qmlgraphicsrepeater_p_p.h"
-#include <private/qmllistaccessor_p.h>
-#include <private/qmlgraphicsvisualitemmodel_p.h>
-#include <private/qlistmodelinterface_p.h>
+#include "qmlgraphicsvisualitemmodel_p.h"
+
+#include <qmllistaccessor_p.h>
+
+#include <qlistmodelinterface_p.h>
QT_BEGIN_NAMESPACE
QmlGraphicsRepeaterPrivate::QmlGraphicsRepeaterPrivate()
diff --git a/src/declarative/graphicsitems/qmlgraphicsrepeater_p.h b/src/declarative/graphicsitems/qmlgraphicsrepeater_p.h
index c5d0166..61f82d7 100644
--- a/src/declarative/graphicsitems/qmlgraphicsrepeater_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsrepeater_p.h
@@ -42,7 +42,7 @@
#ifndef QMLGRAPHICSREPEATER_H
#define QMLGRAPHICSREPEATER_H
-#include <qmlgraphicsitem.h>
+#include "qmlgraphicsitem.h"
QT_BEGIN_HEADER
diff --git a/src/declarative/graphicsitems/qmlgraphicsrepeater_p_p.h b/src/declarative/graphicsitems/qmlgraphicsrepeater_p_p.h
index 4af0d9e..e6d7bfd 100644
--- a/src/declarative/graphicsitems/qmlgraphicsrepeater_p_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsrepeater_p_p.h
@@ -53,10 +53,11 @@
// We mean it.
//
-#include "qmlgraphicsitem_p.h"
#include "qmlgraphicsrepeater_p.h"
-#include <QPointer>
+#include "qmlgraphicsitem_p.h"
+
+#include <QPointer>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/graphicsitems/qmlgraphicsscalegrid.cpp b/src/declarative/graphicsitems/qmlgraphicsscalegrid.cpp
index 7517a3c..3fd14bb 100644
--- a/src/declarative/graphicsitems/qmlgraphicsscalegrid.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsscalegrid.cpp
@@ -39,11 +39,12 @@
**
****************************************************************************/
-#include <QBuffer>
-#include <qml.h>
-#include <QDebug>
#include "qmlgraphicsscalegrid_p_p.h"
+#include <qml.h>
+
+#include <QBuffer>
+#include <QDebug>
QT_BEGIN_NAMESPACE
/*!
diff --git a/src/declarative/graphicsitems/qmlgraphicsscalegrid_p_p.h b/src/declarative/graphicsitems/qmlgraphicsscalegrid_p_p.h
index 82e0a94..c7d067d 100644
--- a/src/declarative/graphicsitems/qmlgraphicsscalegrid_p_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsscalegrid_p_p.h
@@ -42,12 +42,13 @@
#ifndef QMLGRAPHICSSCALEGRID_H
#define QMLGRAPHICSSCALEGRID_H
-#include <QtCore/QString>
-#include <QtCore/QObject>
-#include <private/qmlpixmapcache_p.h>
-#include <qml.h>
#include "qmlgraphicsborderimage_p.h"
+#include <qmlpixmapcache_p.h>
+#include <qml.h>
+
+#include <QtCore/QString>
+#include <QtCore/QObject>
QT_BEGIN_HEADER
diff --git a/src/declarative/graphicsitems/qmlgraphicstext.cpp b/src/declarative/graphicsitems/qmlgraphicstext.cpp
index d0aec8d..854d503 100644
--- a/src/declarative/graphicsitems/qmlgraphicstext.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicstext.cpp
@@ -42,8 +42,8 @@
#include "qmlgraphicstext_p.h"
#include "qmlgraphicstext_p_p.h"
-#include <private/qtextcontrol_p.h>
-#include <private/qfxperf_p_p.h>
+#include <qfxperf_p_p.h>
+
#include <QTextLayout>
#include <QTextLine>
#include <QTextDocument>
@@ -52,6 +52,8 @@
#include <QPainter>
#include <qmath.h>
+#include <private/qtextcontrol_p.h>
+
QT_BEGIN_NAMESPACE
QML_DEFINE_TYPE(Qt,4,6,Text,QmlGraphicsText)
@@ -116,6 +118,13 @@ QmlGraphicsText::~QmlGraphicsText()
{
}
+
+QmlGraphicsTextPrivate::~QmlGraphicsTextPrivate()
+{
+ delete control;
+ delete doc;
+}
+
/*!
\qmlproperty string Text::font.family
\qmlproperty bool Text::font.bold
diff --git a/src/declarative/graphicsitems/qmlgraphicstext_p.h b/src/declarative/graphicsitems/qmlgraphicstext_p.h
index b6a5932..6ca460b 100644
--- a/src/declarative/graphicsitems/qmlgraphicstext_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicstext_p.h
@@ -42,7 +42,7 @@
#ifndef QMLGRAPHICSTEXT_H
#define QMLGRAPHICSTEXT_H
-#include <qmlgraphicsitem.h>
+#include "qmlgraphicsitem.h"
QT_BEGIN_HEADER
diff --git a/src/declarative/graphicsitems/qmlgraphicstext_p_p.h b/src/declarative/graphicsitems/qmlgraphicstext_p_p.h
index 4ca1ad4..0ddae57 100644
--- a/src/declarative/graphicsitems/qmlgraphicstext_p_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicstext_p_p.h
@@ -55,7 +55,9 @@
#include "qmlgraphicsitem.h"
#include "qmlgraphicsitem_p.h"
-#include "qml.h"
+
+#include <qml.h>
+
#include <QtGui/qtextlayout.h>
QT_BEGIN_NAMESPACE
@@ -76,6 +78,8 @@ public:
{
}
+ ~QmlGraphicsTextPrivate();
+
void updateSize();
void checkImgCache();
diff --git a/src/declarative/graphicsitems/qmlgraphicstextedit.cpp b/src/declarative/graphicsitems/qmlgraphicstextedit.cpp
index 3521638..747e2fb 100644
--- a/src/declarative/graphicsitems/qmlgraphicstextedit.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicstextedit.cpp
@@ -41,17 +41,20 @@
#include "qmlgraphicstextedit_p.h"
#include "qmlgraphicstextedit_p_p.h"
-#include <private/qtextcontrol_p.h>
-#include <private/qfxperf_p_p.h>
-#include <private/qmlgraphicsevents_p_p.h>
+
+#include "qmlgraphicsevents_p_p.h"
+
+#include <qfxperf_p_p.h>
+
#include <QTextLayout>
#include <QTextLine>
#include <QTextDocument>
#include <QGraphicsSceneMouseEvent>
-
#include <QDebug>
#include <QPainter>
+#include <private/qtextcontrol_p.h>
+
QT_BEGIN_NAMESPACE
QML_DEFINE_TYPE(Qt,4,6,TextEdit,QmlGraphicsTextEdit)
diff --git a/src/declarative/graphicsitems/qmlgraphicstextedit_p.h b/src/declarative/graphicsitems/qmlgraphicstextedit_p.h
index 1ddfa6b..0fe09f3 100644
--- a/src/declarative/graphicsitems/qmlgraphicstextedit_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicstextedit_p.h
@@ -42,15 +42,14 @@
#ifndef QMLGRAPHICSTEXTEDIT_H
#define QMLGRAPHICSTEXTEDIT_H
-#include <private/qmlgraphicstext_p.h>
-#include <private/qmlgraphicspainteditem_p.h>
+#include "qmlgraphicstext_p.h"
+#include "qmlgraphicspainteditem_p.h"
#include <QtGui/qtextdocument.h>
#include <QtGui/qtextoption.h>
#include <QtGui/qtextcursor.h>
#include <QtGui/qtextformat.h>
-
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/graphicsitems/qmlgraphicstextedit_p_p.h b/src/declarative/graphicsitems/qmlgraphicstextedit_p_p.h
index 6541921..8914bfd 100644
--- a/src/declarative/graphicsitems/qmlgraphicstextedit_p_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicstextedit_p_p.h
@@ -55,8 +55,8 @@
#include "qmlgraphicsitem.h"
#include "qmlgraphicspainteditem_p_p.h"
-#include "qml.h"
+#include <qml.h>
QT_BEGIN_NAMESPACE
class QTextLayout;
diff --git a/src/declarative/graphicsitems/qmlgraphicstextinput.cpp b/src/declarative/graphicsitems/qmlgraphicstextinput.cpp
index b7d4e8c..ff6c32c 100644
--- a/src/declarative/graphicsitems/qmlgraphicstextinput.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicstextinput.cpp
@@ -41,7 +41,9 @@
#include "qmlgraphicstextinput_p.h"
#include "qmlgraphicstextinput_p_p.h"
-#include "qmlinfo.h"
+
+#include <qmlinfo.h>
+
#include <QValidator>
#include <QApplication>
#include <QFontMetrics>
diff --git a/src/declarative/graphicsitems/qmlgraphicstextinput_p.h b/src/declarative/graphicsitems/qmlgraphicstextinput_p.h
index 87ceccf..c22c637 100644
--- a/src/declarative/graphicsitems/qmlgraphicstextinput_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicstextinput_p.h
@@ -44,6 +44,7 @@
#include "qmlgraphicstext_p.h"
#include "qmlgraphicspainteditem_p.h"
+
#include <QGraphicsSceneMouseEvent>
#include <QIntValidator>
diff --git a/src/declarative/graphicsitems/qmlgraphicstextinput_p_p.h b/src/declarative/graphicsitems/qmlgraphicstextinput_p_p.h
index 4e9f209..9eb6e07 100644
--- a/src/declarative/graphicsitems/qmlgraphicstextinput_p_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicstextinput_p_p.h
@@ -43,10 +43,15 @@
#define QMLGRAPHICSTEXTINPUT_P_H
#include "qmlgraphicstextinput_p.h"
-#include "qml.h"
+
#include "qmlgraphicspainteditem_p_p.h"
-#include "private/qlinecontrol_p.h"
+
+#include <qml.h>
+
#include <QPointer>
+
+#include <private/qlinecontrol_p.h>
+
//
// W A R N I N G
// -------------
diff --git a/src/declarative/graphicsitems/qmlgraphicsvisualitemmodel.cpp b/src/declarative/graphicsitems/qmlgraphicsvisualitemmodel.cpp
index e8ee196..b973d6c 100644
--- a/src/declarative/graphicsitems/qmlgraphicsvisualitemmodel.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsvisualitemmodel.cpp
@@ -39,22 +39,26 @@
**
****************************************************************************/
-#include <private/qlistmodelinterface_p.h>
+#include "qmlgraphicsvisualitemmodel_p.h"
+
#include "qmlgraphicsitem.h"
+
#include <qmlcontext.h>
#include <qmlexpression.h>
-#include <private/qmlpackage_p.h>
-#include "qhash.h"
-#include "qlist.h"
-#include "private/qobject_p.h"
-#include "private/qmetaobjectbuilder_p.h"
-#include <private/qmlopenmetaobject_p.h>
-#include <private/qmllistaccessor_p.h>
-#include "qmlinfo.h"
-#include "qmlgraphicsvisualitemmodel_p.h"
-#include "private/qguard_p.h"
+#include <qmlpackage_p.h>
+#include <qmlopenmetaobject_p.h>
+#include <qmllistaccessor_p.h>
+#include <qmlinfo.h>
+
+#include <qlistmodelinterface_p.h>
+#include <qhash.h>
+#include <qlist.h>
+#include <qmetaobjectbuilder_p.h>
#include <QtCore/qdebug.h>
+#include <private/qobject_p.h>
+#include <private/qguard_p.h>
+
QML_DECLARE_TYPE(QListModelInterface)
QT_BEGIN_NAMESPACE
@@ -1055,4 +1059,4 @@ QML_DEFINE_TYPE(Qt,4,6,VisualDataModel,QmlGraphicsVisualDataModel)
QT_END_NAMESPACE
-#include "qmlgraphicsvisualitemmodel.moc"
+#include <qmlgraphicsvisualitemmodel.moc>
diff --git a/src/declarative/graphicsitems/qmlgraphicsvisualitemmodel_p.h b/src/declarative/graphicsitems/qmlgraphicsvisualitemmodel_p.h
index 9855867..4e76aee 100644
--- a/src/declarative/graphicsitems/qmlgraphicsvisualitemmodel_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsvisualitemmodel_p.h
@@ -42,10 +42,10 @@
#ifndef QMLGRAPHICSVISUALDATAMODEL_H
#define QMLGRAPHICSVISUALDATAMODEL_H
-#include <QtCore/qobject.h>
-#include <QtCore/qabstractitemmodel.h>
#include <qml.h>
+#include <QtCore/qobject.h>
+#include <QtCore/qabstractitemmodel.h>
QT_BEGIN_HEADER
diff --git a/src/declarative/graphicsitems/qmlgraphicswebview.cpp b/src/declarative/graphicsitems/qmlgraphicswebview.cpp
index e21bda3..d2b8289 100644
--- a/src/declarative/graphicsitems/qmlgraphicswebview.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicswebview.cpp
@@ -39,6 +39,15 @@
**
****************************************************************************/
+#include "qmlgraphicswebview_p.h"
+#include "qmlgraphicswebview_p_p.h"
+
+#include "qmlgraphicspainteditem_p_p.h"
+
+#include <qml.h>
+#include <qmlengine.h>
+#include <qmlstate_p.h>
+
#include <QDebug>
#include <QPen>
#include <QFile>
@@ -52,15 +61,7 @@
#include <QtWebKit/QWebFrame>
#include <QtWebKit/QWebElement>
#include <QtWebKit/QWebSettings>
-
-#include "qml.h"
-#include "qmlengine.h"
-#include <private/qmlstate_p.h>
-#include <private/qlistmodelinterface_p.h>
-
-#include "qmlgraphicswebview_p.h"
-#include "qmlgraphicswebview_p_p.h"
-#include <private/qmlgraphicspainteditem_p_p.h>
+#include <qlistmodelinterface_p.h>
QT_BEGIN_NAMESPACE
QML_DEFINE_TYPE(Qt,4,6,WebView,QmlGraphicsWebView)
@@ -317,8 +318,6 @@ void QmlGraphicsWebView::setUrl(const QUrl &url)
page()->setViewportSize(QSize(
d->preferredwidth>0 ? d->preferredwidth : width(),
d->preferredheight>0 ? d->preferredheight : height()));
- if (d->preferredwidth > 0 && d->preferredheight > 0)
- page()->setPreferredContentsSize(QSize(d->preferredwidth,d->preferredheight));
QUrl seturl = url;
if (seturl.isEmpty())
seturl = QUrl(QLatin1String("about:blank"));
@@ -349,7 +348,7 @@ void QmlGraphicsWebView::setPreferredWidth(int iw)
Q_D(QmlGraphicsWebView);
if (d->preferredwidth == iw) return;
d->preferredwidth = iw;
- expandToWebPage();
+ //expandToWebPage();
emit preferredWidthChanged();
}
@@ -397,7 +396,7 @@ void QmlGraphicsWebView::initialLayout()
// nothing useful to do at this point
}
-void QmlGraphicsWebView::contentsSizeChanged(const QSize&)
+void QmlGraphicsWebView::noteContentsSizeChanged(const QSize&)
{
expandToWebPage();
}
@@ -416,10 +415,9 @@ void QmlGraphicsWebView::expandToWebPage()
cs.setHeight(height());
if (cs != page()->viewportSize()) {
page()->setViewportSize(cs);
- clearCache();
- setImplicitWidth(cs.width());
- setImplicitHeight(cs.height());
}
+ if (cs != contentsSize())
+ setContentsSize(cs);
}
void QmlGraphicsWebView::geometryChanged(const QRectF &newGeometry,
@@ -432,9 +430,6 @@ void QmlGraphicsWebView::geometryChanged(const QRectF &newGeometry,
void QmlGraphicsWebView::paintPage(const QRect& r)
{
- Q_D(QmlGraphicsWebView);
- if (d->page->mainFrame()->contentsSize() != contentsSize())
- setContentsSize(d->page->mainFrame()->contentsSize());
dirtyCache(r);
update();
}
@@ -536,7 +531,7 @@ void QmlGraphicsWebView::drawContents(QPainter *p, const QRect &r)
page()->mainFrame()->render(p,r);
}
-static QMouseEvent *sceneMouseEventToMouseEvent(QGraphicsSceneMouseEvent *e)
+QMouseEvent *QmlGraphicsWebView::sceneMouseEventToMouseEvent(QGraphicsSceneMouseEvent *e)
{
QEvent::Type t;
switch(e->type()) {
@@ -555,15 +550,15 @@ static QMouseEvent *sceneMouseEventToMouseEvent(QGraphicsSceneMouseEvent *e)
break;
}
- QMouseEvent *me = new QMouseEvent(t, e->pos().toPoint(), e->button(), e->buttons(), 0);
+ QMouseEvent *me = new QMouseEvent(t, (e->pos()/contentsScale()).toPoint(), e->button(), e->buttons(), 0);
return me;
}
-static QMouseEvent *sceneHoverMoveEventToMouseEvent(QGraphicsSceneHoverEvent *e)
+QMouseEvent *QmlGraphicsWebView::sceneHoverMoveEventToMouseEvent(QGraphicsSceneHoverEvent *e)
{
QEvent::Type t = QEvent::MouseMove;
- QMouseEvent *me = new QMouseEvent(t, e->pos().toPoint(), Qt::NoButton, Qt::NoButton, 0);
+ QMouseEvent *me = new QMouseEvent(t, (e->pos()/contentsScale()).toPoint(), Qt::NoButton, Qt::NoButton, 0);
return me;
}
@@ -601,15 +596,15 @@ void QmlGraphicsWebView::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)
bool QmlGraphicsWebView::heuristicZoom(int clickX, int clickY, qreal maxzoom)
{
Q_D(QmlGraphicsWebView);
- qreal ozf = zoomFactor();
- if (ozf >= maxzoom)
+ if (contentsScale() >= maxzoom/zoomFactor())
return false;
+ qreal ozf = contentsScale();
QRect showarea = elementAreaAt(clickX, clickY, d->preferredwidth/maxzoom, d->preferredheight/maxzoom);
- qreal z = qMin(qreal(d->preferredwidth)*ozf/showarea.width(),qreal(d->preferredheight)*ozf/showarea.height());
- if (z > maxzoom)
- z = maxzoom;
- if (z/ozf > 1.1) {
- QRectF r(showarea.left()/ozf*z, showarea.top()/ozf*z, showarea.width()/ozf*z, showarea.height()/ozf*z);
+ qreal z = qMin(qreal(d->preferredwidth)/showarea.width(),qreal(d->preferredheight)/showarea.height());
+ if (z > maxzoom/zoomFactor())
+ z = maxzoom/zoomFactor();
+ if (z/ozf > 1.2) {
+ QRectF r(showarea.left()*z, showarea.top()*z, showarea.width()*z, showarea.height()*z);
emit zoomTo(z,r.x()+r.width()/2, r.y()+r.height()/2);
return true;
} else {
@@ -963,7 +958,7 @@ void QmlGraphicsWebView::setPage(QWebPage *page)
connect(d->page->mainFrame(),SIGNAL(urlChanged(QUrl)),this,SLOT(pageUrlChanged()));
connect(d->page->mainFrame(), SIGNAL(titleChanged(QString)), this, SIGNAL(titleChanged(QString)));
connect(d->page->mainFrame(), SIGNAL(iconChanged()), this, SIGNAL(iconChanged()));
- connect(d->page->mainFrame(), SIGNAL(contentsSizeChanged(QSize)), this, SLOT(contentsSizeChanged(QSize)));
+ connect(d->page->mainFrame(), SIGNAL(contentsSizeChanged(QSize)), this, SLOT(noteContentsSizeChanged(QSize)));
connect(d->page->mainFrame(), SIGNAL(initialLayoutCompleted()), this, SLOT(initialLayout()));
connect(d->page,SIGNAL(loadStarted()),this,SLOT(doLoadStarted()));
@@ -1204,6 +1199,7 @@ QString QmlGraphicsWebPage::chooseFile(QWebFrame *originatingFrame, const QStrin
void QmlGraphicsWebPage::javaScriptAlert(QWebFrame *originatingFrame, const QString& msg)
{
+ Q_UNUSED(originatingFrame)
emit viewItem()->alert(msg);
}
@@ -1218,6 +1214,10 @@ bool QmlGraphicsWebPage::javaScriptConfirm(QWebFrame *originatingFrame, const QS
bool QmlGraphicsWebPage::javaScriptPrompt(QWebFrame *originatingFrame, const QString& msg, const QString& defaultValue, QString* result)
{
// Not supported (it's modal)
+ Q_UNUSED(originatingFrame)
+ Q_UNUSED(msg)
+ Q_UNUSED(defaultValue)
+ Q_UNUSED(result)
return false;
}
@@ -1322,4 +1322,4 @@ QWebPage *QmlGraphicsWebPage::createWindow(WebWindowType type)
QT_END_NAMESPACE
-#include "qmlgraphicswebview.moc"
+#include <qmlgraphicswebview.moc>
diff --git a/src/declarative/graphicsitems/qmlgraphicswebview_p.h b/src/declarative/graphicsitems/qmlgraphicswebview_p.h
index 7ff51f3..0b2ba07 100644
--- a/src/declarative/graphicsitems/qmlgraphicswebview_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicswebview_p.h
@@ -42,9 +42,10 @@
#ifndef QMLGRAPHICSWEBVIEW_H
#define QMLGRAPHICSWEBVIEW_H
+#include "qmlgraphicspainteditem_p.h"
+
#include <QtGui/QAction>
#include <QtCore/QUrl>
-#include <private/qmlgraphicspainteditem_p.h>
#include <QtNetwork/qnetworkaccessmanager.h>
#include <QtWebKit/QWebPage>
@@ -210,7 +211,7 @@ private Q_SLOTS:
void setStatusText(const QString&);
void windowObjectCleared();
void pageUrlChanged();
- void contentsSizeChanged(const QSize&);
+ void noteContentsSizeChanged(const QSize&);
void initialLayout();
protected:
@@ -235,6 +236,8 @@ private:
virtual void componentComplete();
Q_DISABLE_COPY(QmlGraphicsWebView)
Q_DECLARE_PRIVATE_D(QGraphicsItem::d_ptr.data(), QmlGraphicsWebView)
+ QMouseEvent *sceneMouseEventToMouseEvent(QGraphicsSceneMouseEvent *);
+ QMouseEvent *sceneHoverMoveEventToMouseEvent(QGraphicsSceneHoverEvent *);
friend class QmlGraphicsWebPage;
};
diff --git a/src/declarative/graphicsitems/qmlgraphicswebview_p_p.h b/src/declarative/graphicsitems/qmlgraphicswebview_p_p.h
index 5063669..5659059 100644
--- a/src/declarative/graphicsitems/qmlgraphicswebview_p_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicswebview_p_p.h
@@ -43,6 +43,7 @@
#define QMLGRAPHICSWEBVIEW_P_H
#include <qml.h>
+
#include <QtWebKit/QWebPage>
QT_BEGIN_HEADER
diff --git a/src/declarative/qml/parser/parser.pri b/src/declarative/qml/parser/parser.pri
index 986b146..4530479 100644
--- a/src/declarative/qml/parser/parser.pri
+++ b/src/declarative/qml/parser/parser.pri
@@ -1,22 +1,21 @@
-
INCLUDEPATH += $$PWD
-DEPENDPATH += $$PWD
-
-HEADERS += $$PWD/qmljsast_p.h \
- $$PWD/qmljsastfwd_p.h \
- $$PWD/qmljsastvisitor_p.h \
- $$PWD/qmljsengine_p.h \
- $$PWD/qmljsgrammar_p.h \
- $$PWD/qmljslexer_p.h \
- $$PWD/qmljsmemorypool_p.h \
- $$PWD/qmljsnodepool_p.h \
- $$PWD/qmljsparser_p.h \
- $$PWD/qmljsglobal_p.h
-SOURCES += $$PWD/qmljsast.cpp \
- $$PWD/qmljsastvisitor.cpp \
- $$PWD/qmljsengine_p.cpp \
- $$PWD/qmljsgrammar.cpp \
- $$PWD/qmljslexer.cpp \
- $$PWD/qmljsparser.cpp
+HEADERS += \
+ $$PWD/qmljsast_p.h \
+ $$PWD/qmljsastfwd_p.h \
+ $$PWD/qmljsastvisitor_p.h \
+ $$PWD/qmljsengine_p.h \
+ $$PWD/qmljsgrammar_p.h \
+ $$PWD/qmljslexer_p.h \
+ $$PWD/qmljsmemorypool_p.h \
+ $$PWD/qmljsnodepool_p.h \
+ $$PWD/qmljsparser_p.h \
+ $$PWD/qmljsglobal_p.h
+SOURCES += \
+ $$PWD/qmljsast.cpp \
+ $$PWD/qmljsastvisitor.cpp \
+ $$PWD/qmljsengine_p.cpp \
+ $$PWD/qmljsgrammar.cpp \
+ $$PWD/qmljslexer.cpp \
+ $$PWD/qmljsparser.cpp
diff --git a/src/declarative/qml/parser/qmljsast.cpp b/src/declarative/qml/parser/qmljsast.cpp
index 6986bd2..2a39aae 100644
--- a/src/declarative/qml/parser/qmljsast.cpp
+++ b/src/declarative/qml/parser/qmljsast.cpp
@@ -40,6 +40,7 @@
****************************************************************************/
#include "qmljsast_p.h"
+
#include "qmljsastvisitor_p.h"
QT_QML_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/parser/qmljsast_p.h b/src/declarative/qml/parser/qmljsast_p.h
index 388bc12..032fbb1 100644
--- a/src/declarative/qml/parser/qmljsast_p.h
+++ b/src/declarative/qml/parser/qmljsast_p.h
@@ -55,6 +55,7 @@
#include "qmljsastvisitor_p.h"
#include "qmljsglobal_p.h"
+
#include <QtCore/QString>
QT_QML_BEGIN_NAMESPACE
@@ -118,7 +119,7 @@ _T1 cast(_T2 *ast)
return 0;
}
-class Node
+class QML_PARSER_EXPORT Node
{
public:
enum Kind {
@@ -242,7 +243,7 @@ public:
int kind;
};
-class ExpressionNode: public Node
+class QML_PARSER_EXPORT ExpressionNode: public Node
{
public:
ExpressionNode() {}
@@ -254,7 +255,7 @@ public:
virtual SourceLocation lastSourceLocation() const = 0;
};
-class Statement: public Node
+class QML_PARSER_EXPORT Statement: public Node
{
public:
Statement() {}
@@ -266,7 +267,7 @@ public:
virtual SourceLocation lastSourceLocation() const = 0;
};
-class UiFormal: public Node
+class QML_PARSER_EXPORT UiFormal: public Node
{
public:
QMLJS_DECLARE_AST_NODE(UiFormal)
@@ -291,7 +292,7 @@ public:
SourceLocation aliasToken;
};
-class UiFormalList: public Node
+class QML_PARSER_EXPORT UiFormalList: public Node
{
public:
QMLJS_DECLARE_AST_NODE(UiFormalList)
@@ -326,7 +327,7 @@ public:
UiFormalList *next;
};
-class UiSignature: public Node
+class QML_PARSER_EXPORT UiSignature: public Node
{
public:
QMLJS_DECLARE_AST_NODE(UiSignature)
@@ -349,7 +350,7 @@ public:
SourceLocation rparenToken;
};
-class NestedExpression: public ExpressionNode
+class QML_PARSER_EXPORT NestedExpression: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(NestedExpression)
@@ -372,7 +373,7 @@ public:
SourceLocation rparenToken;
};
-class ThisExpression: public ExpressionNode
+class QML_PARSER_EXPORT ThisExpression: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(ThisExpression)
@@ -392,7 +393,7 @@ public:
SourceLocation thisToken;
};
-class IdentifierExpression: public ExpressionNode
+class QML_PARSER_EXPORT IdentifierExpression: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(IdentifierExpression)
@@ -415,7 +416,7 @@ public:
SourceLocation identifierToken;
};
-class NullExpression: public ExpressionNode
+class QML_PARSER_EXPORT NullExpression: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(NullExpression)
@@ -435,7 +436,7 @@ public:
SourceLocation nullToken;
};
-class TrueLiteral: public ExpressionNode
+class QML_PARSER_EXPORT TrueLiteral: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(TrueLiteral)
@@ -455,7 +456,7 @@ public:
SourceLocation trueToken;
};
-class FalseLiteral: public ExpressionNode
+class QML_PARSER_EXPORT FalseLiteral: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(FalseLiteral)
@@ -475,7 +476,7 @@ public:
SourceLocation falseToken;
};
-class NumericLiteral: public ExpressionNode
+class QML_PARSER_EXPORT NumericLiteral: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(NumericLiteral)
@@ -497,7 +498,7 @@ public:
SourceLocation literalToken;
};
-class StringLiteral: public ExpressionNode
+class QML_PARSER_EXPORT StringLiteral: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(StringLiteral)
@@ -520,7 +521,7 @@ public:
SourceLocation literalToken;
};
-class RegExpLiteral: public ExpressionNode
+class QML_PARSER_EXPORT RegExpLiteral: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(RegExpLiteral)
@@ -544,7 +545,7 @@ public:
SourceLocation literalToken;
};
-class ArrayLiteral: public ExpressionNode
+class QML_PARSER_EXPORT ArrayLiteral: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(ArrayLiteral)
@@ -579,7 +580,7 @@ public:
SourceLocation rbracketToken;
};
-class ObjectLiteral: public ExpressionNode
+class QML_PARSER_EXPORT ObjectLiteral: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(ObjectLiteral)
@@ -606,7 +607,7 @@ public:
SourceLocation rbraceToken;
};
-class ElementList: public Node
+class QML_PARSER_EXPORT ElementList: public Node
{
public:
QMLJS_DECLARE_AST_NODE(ElementList)
@@ -641,7 +642,7 @@ public:
SourceLocation commaToken;
};
-class Elision: public Node
+class QML_PARSER_EXPORT Elision: public Node
{
public:
QMLJS_DECLARE_AST_NODE(Elision)
@@ -672,7 +673,7 @@ public:
SourceLocation commaToken;
};
-class PropertyNameAndValueList: public Node
+class QML_PARSER_EXPORT PropertyNameAndValueList: public Node
{
public:
QMLJS_DECLARE_AST_NODE(PropertyNameAndValueList)
@@ -708,7 +709,7 @@ public:
SourceLocation commaToken;
};
-class PropertyName: public Node
+class QML_PARSER_EXPORT PropertyName: public Node
{
public:
QMLJS_DECLARE_AST_NODE(PropertyName)
@@ -720,7 +721,7 @@ public:
SourceLocation propertyNameToken;
};
-class IdentifierPropertyName: public PropertyName
+class QML_PARSER_EXPORT IdentifierPropertyName: public PropertyName
{
public:
QMLJS_DECLARE_AST_NODE(IdentifierPropertyName)
@@ -736,7 +737,7 @@ public:
NameId *id;
};
-class StringLiteralPropertyName: public PropertyName
+class QML_PARSER_EXPORT StringLiteralPropertyName: public PropertyName
{
public:
QMLJS_DECLARE_AST_NODE(StringLiteralPropertyName)
@@ -751,7 +752,7 @@ public:
NameId *id;
};
-class NumericLiteralPropertyName: public PropertyName
+class QML_PARSER_EXPORT NumericLiteralPropertyName: public PropertyName
{
public:
QMLJS_DECLARE_AST_NODE(NumericLiteralPropertyName)
@@ -766,7 +767,7 @@ public:
double id;
};
-class ArrayMemberExpression: public ExpressionNode
+class QML_PARSER_EXPORT ArrayMemberExpression: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(ArrayMemberExpression)
@@ -792,7 +793,7 @@ public:
SourceLocation rbracketToken;
};
-class FieldMemberExpression: public ExpressionNode
+class QML_PARSER_EXPORT FieldMemberExpression: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(FieldMemberExpression)
@@ -818,7 +819,7 @@ public:
SourceLocation identifierToken;
};
-class NewMemberExpression: public ExpressionNode
+class QML_PARSER_EXPORT NewMemberExpression: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(NewMemberExpression)
@@ -845,7 +846,7 @@ public:
SourceLocation rparenToken;
};
-class NewExpression: public ExpressionNode
+class QML_PARSER_EXPORT NewExpression: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(NewExpression)
@@ -868,7 +869,7 @@ public:
SourceLocation newToken;
};
-class CallExpression: public ExpressionNode
+class QML_PARSER_EXPORT CallExpression: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(CallExpression)
@@ -894,7 +895,7 @@ public:
SourceLocation rparenToken;
};
-class ArgumentList: public Node
+class QML_PARSER_EXPORT ArgumentList: public Node
{
public:
QMLJS_DECLARE_AST_NODE(ArgumentList)
@@ -928,7 +929,7 @@ public:
SourceLocation commaToken;
};
-class PostIncrementExpression: public ExpressionNode
+class QML_PARSER_EXPORT PostIncrementExpression: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(PostIncrementExpression)
@@ -951,7 +952,7 @@ public:
SourceLocation incrementToken;
};
-class PostDecrementExpression: public ExpressionNode
+class QML_PARSER_EXPORT PostDecrementExpression: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(PostDecrementExpression)
@@ -974,7 +975,7 @@ public:
SourceLocation decrementToken;
};
-class DeleteExpression: public ExpressionNode
+class QML_PARSER_EXPORT DeleteExpression: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(DeleteExpression)
@@ -996,7 +997,7 @@ public:
SourceLocation deleteToken;
};
-class VoidExpression: public ExpressionNode
+class QML_PARSER_EXPORT VoidExpression: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(VoidExpression)
@@ -1019,7 +1020,7 @@ public:
SourceLocation voidToken;
};
-class TypeOfExpression: public ExpressionNode
+class QML_PARSER_EXPORT TypeOfExpression: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(TypeOfExpression)
@@ -1042,7 +1043,7 @@ public:
SourceLocation typeofToken;
};
-class PreIncrementExpression: public ExpressionNode
+class QML_PARSER_EXPORT PreIncrementExpression: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(PreIncrementExpression)
@@ -1065,7 +1066,7 @@ public:
SourceLocation incrementToken;
};
-class PreDecrementExpression: public ExpressionNode
+class QML_PARSER_EXPORT PreDecrementExpression: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(PreDecrementExpression)
@@ -1088,7 +1089,7 @@ public:
SourceLocation decrementToken;
};
-class UnaryPlusExpression: public ExpressionNode
+class QML_PARSER_EXPORT UnaryPlusExpression: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(UnaryPlusExpression)
@@ -1111,7 +1112,7 @@ public:
SourceLocation plusToken;
};
-class UnaryMinusExpression: public ExpressionNode
+class QML_PARSER_EXPORT UnaryMinusExpression: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(UnaryMinusExpression)
@@ -1134,7 +1135,7 @@ public:
SourceLocation minusToken;
};
-class TildeExpression: public ExpressionNode
+class QML_PARSER_EXPORT TildeExpression: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(TildeExpression)
@@ -1157,7 +1158,7 @@ public:
SourceLocation tildeToken;
};
-class NotExpression: public ExpressionNode
+class QML_PARSER_EXPORT NotExpression: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(NotExpression)
@@ -1180,7 +1181,7 @@ public:
SourceLocation notToken;
};
-class BinaryExpression: public ExpressionNode
+class QML_PARSER_EXPORT BinaryExpression: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(BinaryExpression)
@@ -1208,7 +1209,7 @@ public:
SourceLocation operatorToken;
};
-class ConditionalExpression: public ExpressionNode
+class QML_PARSER_EXPORT ConditionalExpression: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(ConditionalExpression)
@@ -1235,7 +1236,7 @@ public:
SourceLocation colonToken;
};
-class Expression: public ExpressionNode // ### rename
+class QML_PARSER_EXPORT Expression: public ExpressionNode // ### rename
{
public:
QMLJS_DECLARE_AST_NODE(Expression)
@@ -1259,7 +1260,7 @@ public:
SourceLocation commaToken;
};
-class Block: public Statement
+class QML_PARSER_EXPORT Block: public Statement
{
public:
QMLJS_DECLARE_AST_NODE(Block)
@@ -1283,7 +1284,7 @@ public:
SourceLocation rbraceToken;
};
-class StatementList: public Node
+class QML_PARSER_EXPORT StatementList: public Node
{
public:
QMLJS_DECLARE_AST_NODE(StatementList)
@@ -1316,7 +1317,7 @@ public:
StatementList *next;
};
-class VariableStatement: public Statement
+class QML_PARSER_EXPORT VariableStatement: public Statement
{
public:
QMLJS_DECLARE_AST_NODE(VariableStatement)
@@ -1341,7 +1342,7 @@ public:
SourceLocation semicolonToken;
};
-class VariableDeclaration: public Node
+class QML_PARSER_EXPORT VariableDeclaration: public Node
{
public:
QMLJS_DECLARE_AST_NODE(VariableDeclaration)
@@ -1361,7 +1362,7 @@ public:
SourceLocation identifierToken;
};
-class VariableDeclarationList: public Node
+class QML_PARSER_EXPORT VariableDeclarationList: public Node
{
public:
QMLJS_DECLARE_AST_NODE(VariableDeclarationList)
@@ -1400,7 +1401,7 @@ public:
SourceLocation commaToken;
};
-class EmptyStatement: public Statement
+class QML_PARSER_EXPORT EmptyStatement: public Statement
{
public:
QMLJS_DECLARE_AST_NODE(EmptyStatement)
@@ -1420,7 +1421,7 @@ public:
SourceLocation semicolonToken;
};
-class ExpressionStatement: public Statement
+class QML_PARSER_EXPORT ExpressionStatement: public Statement
{
public:
QMLJS_DECLARE_AST_NODE(ExpressionStatement)
@@ -1443,7 +1444,7 @@ public:
SourceLocation semicolonToken;
};
-class IfStatement: public Statement
+class QML_PARSER_EXPORT IfStatement: public Statement
{
public:
QMLJS_DECLARE_AST_NODE(IfStatement)
@@ -1477,7 +1478,7 @@ public:
SourceLocation elseToken;
};
-class DoWhileStatement: public Statement
+class QML_PARSER_EXPORT DoWhileStatement: public Statement
{
public:
QMLJS_DECLARE_AST_NODE(DoWhileStatement)
@@ -1506,7 +1507,7 @@ public:
SourceLocation semicolonToken;
};
-class WhileStatement: public Statement
+class QML_PARSER_EXPORT WhileStatement: public Statement
{
public:
QMLJS_DECLARE_AST_NODE(WhileStatement)
@@ -1533,7 +1534,7 @@ public:
SourceLocation rparenToken;
};
-class ForStatement: public Statement
+class QML_PARSER_EXPORT ForStatement: public Statement
{
public:
QMLJS_DECLARE_AST_NODE(ForStatement)
@@ -1564,7 +1565,7 @@ public:
SourceLocation rparenToken;
};
-class LocalForStatement: public Statement
+class QML_PARSER_EXPORT LocalForStatement: public Statement
{
public:
QMLJS_DECLARE_AST_NODE(LocalForStatement)
@@ -1596,7 +1597,7 @@ public:
SourceLocation rparenToken;
};
-class ForEachStatement: public Statement
+class QML_PARSER_EXPORT ForEachStatement: public Statement
{
public:
QMLJS_DECLARE_AST_NODE(ForEachStatement)
@@ -1625,7 +1626,7 @@ public:
SourceLocation rparenToken;
};
-class LocalForEachStatement: public Statement
+class QML_PARSER_EXPORT LocalForEachStatement: public Statement
{
public:
QMLJS_DECLARE_AST_NODE(LocalForEachStatement)
@@ -1655,7 +1656,7 @@ public:
SourceLocation rparenToken;
};
-class ContinueStatement: public Statement
+class QML_PARSER_EXPORT ContinueStatement: public Statement
{
public:
QMLJS_DECLARE_AST_NODE(ContinueStatement)
@@ -1680,7 +1681,7 @@ public:
SourceLocation semicolonToken;
};
-class BreakStatement: public Statement
+class QML_PARSER_EXPORT BreakStatement: public Statement
{
public:
QMLJS_DECLARE_AST_NODE(BreakStatement)
@@ -1705,7 +1706,7 @@ public:
SourceLocation semicolonToken;
};
-class ReturnStatement: public Statement
+class QML_PARSER_EXPORT ReturnStatement: public Statement
{
public:
QMLJS_DECLARE_AST_NODE(ReturnStatement)
@@ -1729,7 +1730,7 @@ public:
SourceLocation semicolonToken;
};
-class WithStatement: public Statement
+class QML_PARSER_EXPORT WithStatement: public Statement
{
public:
QMLJS_DECLARE_AST_NODE(WithStatement)
@@ -1756,7 +1757,7 @@ public:
SourceLocation rparenToken;
};
-class CaseBlock: public Node
+class QML_PARSER_EXPORT CaseBlock: public Node
{
public:
QMLJS_DECLARE_AST_NODE(CaseBlock)
@@ -1777,7 +1778,7 @@ public:
SourceLocation rbraceToken;
};
-class SwitchStatement: public Statement
+class QML_PARSER_EXPORT SwitchStatement: public Statement
{
public:
QMLJS_DECLARE_AST_NODE(SwitchStatement)
@@ -1804,7 +1805,7 @@ public:
SourceLocation rparenToken;
};
-class CaseClauses: public Node
+class QML_PARSER_EXPORT CaseClauses: public Node
{
public:
QMLJS_DECLARE_AST_NODE(CaseClauses)
@@ -1837,7 +1838,7 @@ public:
CaseClauses *next;
};
-class CaseClause: public Node
+class QML_PARSER_EXPORT CaseClause: public Node
{
public:
QMLJS_DECLARE_AST_NODE(CaseClause)
@@ -1857,7 +1858,7 @@ public:
SourceLocation colonToken;
};
-class DefaultClause: public Node
+class QML_PARSER_EXPORT DefaultClause: public Node
{
public:
QMLJS_DECLARE_AST_NODE(DefaultClause)
@@ -1876,7 +1877,7 @@ public:
SourceLocation colonToken;
};
-class LabelledStatement: public Statement
+class QML_PARSER_EXPORT LabelledStatement: public Statement
{
public:
QMLJS_DECLARE_AST_NODE(LabelledStatement)
@@ -1902,7 +1903,7 @@ public:
SourceLocation colonToken;
};
-class ThrowStatement: public Statement
+class QML_PARSER_EXPORT ThrowStatement: public Statement
{
public:
QMLJS_DECLARE_AST_NODE(ThrowStatement)
@@ -1926,7 +1927,7 @@ public:
SourceLocation semicolonToken;
};
-class Catch: public Node
+class QML_PARSER_EXPORT Catch: public Node
{
public:
QMLJS_DECLARE_AST_NODE(Catch)
@@ -1948,7 +1949,7 @@ public:
SourceLocation rparenToken;
};
-class Finally: public Node
+class QML_PARSER_EXPORT Finally: public Node
{
public:
QMLJS_DECLARE_AST_NODE(Finally)
@@ -1966,7 +1967,7 @@ public:
SourceLocation finallyToken;
};
-class TryStatement: public Statement
+class QML_PARSER_EXPORT TryStatement: public Statement
{
public:
QMLJS_DECLARE_AST_NODE(TryStatement)
@@ -2007,7 +2008,7 @@ public:
SourceLocation tryToken;
};
-class FunctionExpression: public ExpressionNode
+class QML_PARSER_EXPORT FunctionExpression: public ExpressionNode
{
public:
QMLJS_DECLARE_AST_NODE(FunctionExpression)
@@ -2038,7 +2039,7 @@ public:
SourceLocation rbraceToken;
};
-class FunctionDeclaration: public FunctionExpression
+class QML_PARSER_EXPORT FunctionDeclaration: public FunctionExpression
{
public:
QMLJS_DECLARE_AST_NODE(FunctionDeclaration)
@@ -2052,7 +2053,7 @@ public:
virtual void accept0(Visitor *visitor);
};
-class FormalParameterList: public Node
+class QML_PARSER_EXPORT FormalParameterList: public Node
{
public:
QMLJS_DECLARE_AST_NODE(FormalParameterList)
@@ -2087,7 +2088,7 @@ public:
SourceLocation identifierToken;
};
-class FunctionBody: public Node
+class QML_PARSER_EXPORT FunctionBody: public Node
{
public:
QMLJS_DECLARE_AST_NODE(FunctionBody)
@@ -2104,7 +2105,7 @@ public:
SourceElements *elements;
};
-class Program: public Node
+class QML_PARSER_EXPORT Program: public Node
{
public:
QMLJS_DECLARE_AST_NODE(Program)
@@ -2121,7 +2122,7 @@ public:
SourceElements *elements;
};
-class SourceElements: public Node
+class QML_PARSER_EXPORT SourceElements: public Node
{
public:
QMLJS_DECLARE_AST_NODE(SourceElements)
@@ -2154,7 +2155,7 @@ public:
SourceElements *next;
};
-class SourceElement: public Node
+class QML_PARSER_EXPORT SourceElement: public Node
{
public:
QMLJS_DECLARE_AST_NODE(SourceElement)
@@ -2165,7 +2166,7 @@ public:
virtual ~SourceElement() {}
};
-class FunctionSourceElement: public SourceElement
+class QML_PARSER_EXPORT FunctionSourceElement: public SourceElement
{
public:
QMLJS_DECLARE_AST_NODE(FunctionSourceElement)
@@ -2182,7 +2183,7 @@ public:
FunctionDeclaration *declaration;
};
-class StatementSourceElement: public SourceElement
+class QML_PARSER_EXPORT StatementSourceElement: public SourceElement
{
public:
QMLJS_DECLARE_AST_NODE(StatementSourceElement)
@@ -2199,7 +2200,7 @@ public:
Statement *statement;
};
-class DebuggerStatement: public Statement
+class QML_PARSER_EXPORT DebuggerStatement: public Statement
{
public:
QMLJS_DECLARE_AST_NODE(DebuggerStatement)
@@ -2222,7 +2223,7 @@ public:
SourceLocation semicolonToken;
};
-class UiProgram: public Node
+class QML_PARSER_EXPORT UiProgram: public Node
{
public:
QMLJS_DECLARE_AST_NODE(UiProgram)
@@ -2238,7 +2239,7 @@ public:
UiObjectMemberList *members;
};
-class UiQualifiedId: public Node
+class QML_PARSER_EXPORT UiQualifiedId: public Node
{
public:
QMLJS_DECLARE_AST_NODE(UiQualifiedId)
@@ -2272,7 +2273,7 @@ public:
SourceLocation identifierToken;
};
-class UiImport: public Node
+class QML_PARSER_EXPORT UiImport: public Node
{
public:
QMLJS_DECLARE_AST_NODE(UiImport)
@@ -2305,7 +2306,7 @@ public:
SourceLocation semicolonToken;
};
-class UiImportList: public Node
+class QML_PARSER_EXPORT UiImportList: public Node
{
public:
QMLJS_DECLARE_AST_NODE(UiImportList)
@@ -2352,7 +2353,7 @@ public:
UiImportList *next;
};
-class UiObjectMember: public Node
+class QML_PARSER_EXPORT UiObjectMember: public Node
{
public:
virtual SourceLocation firstSourceLocation() const = 0;
@@ -2361,7 +2362,7 @@ public:
virtual UiObjectMember *uiObjectMemberCast();
};
-class UiObjectMemberList: public Node
+class QML_PARSER_EXPORT UiObjectMemberList: public Node
{
public:
QMLJS_DECLARE_AST_NODE(UiObjectMemberList)
@@ -2392,7 +2393,7 @@ public:
UiObjectMember *member;
};
-class UiArrayMemberList: public Node
+class QML_PARSER_EXPORT UiArrayMemberList: public Node
{
public:
QMLJS_DECLARE_AST_NODE(UiArrayMemberList)
@@ -2424,7 +2425,7 @@ public:
SourceLocation commaToken;
};
-class UiObjectInitializer: public Node
+class QML_PARSER_EXPORT UiObjectInitializer: public Node
{
public:
QMLJS_DECLARE_AST_NODE(UiObjectInitializer)
@@ -2441,7 +2442,7 @@ public:
SourceLocation rbraceToken;
};
-class UiParameterList: public Node
+class QML_PARSER_EXPORT UiParameterList: public Node
{
public:
QMLJS_DECLARE_AST_NODE(UiParameterList)
@@ -2477,7 +2478,7 @@ public:
SourceLocation identifierToken;
};
-class UiPublicMember: public UiObjectMember
+class QML_PARSER_EXPORT UiPublicMember: public UiObjectMember
{
public:
QMLJS_DECLARE_AST_NODE(UiPublicMember)
@@ -2529,7 +2530,7 @@ public:
SourceLocation semicolonToken;
};
-class UiObjectDefinition: public UiObjectMember
+class QML_PARSER_EXPORT UiObjectDefinition: public UiObjectMember
{
public:
QMLJS_DECLARE_AST_NODE(UiObjectDefinition)
@@ -2552,7 +2553,7 @@ public:
UiObjectInitializer *initializer;
};
-class UiSourceElement: public UiObjectMember
+class QML_PARSER_EXPORT UiSourceElement: public UiObjectMember
{
public:
QMLJS_DECLARE_AST_NODE(UiSourceElement)
@@ -2588,7 +2589,7 @@ public:
Node *sourceElement;
};
-class UiObjectBinding: public UiObjectMember
+class QML_PARSER_EXPORT UiObjectBinding: public UiObjectMember
{
public:
QMLJS_DECLARE_AST_NODE(UiObjectBinding)
@@ -2616,7 +2617,7 @@ public:
SourceLocation colonToken;
};
-class UiScriptBinding: public UiObjectMember
+class QML_PARSER_EXPORT UiScriptBinding: public UiObjectMember
{
public:
QMLJS_DECLARE_AST_NODE(UiScriptBinding)
@@ -2641,7 +2642,7 @@ public:
SourceLocation colonToken;
};
-class UiArrayBinding: public UiObjectMember
+class QML_PARSER_EXPORT UiArrayBinding: public UiObjectMember
{
public:
QMLJS_DECLARE_AST_NODE(UiArrayBinding)
diff --git a/src/declarative/qml/parser/qmljsastfwd_p.h b/src/declarative/qml/parser/qmljsastfwd_p.h
index b558a23..f571a2e 100644
--- a/src/declarative/qml/parser/qmljsastfwd_p.h
+++ b/src/declarative/qml/parser/qmljsastfwd_p.h
@@ -42,9 +42,10 @@
#ifndef QMLJSAST_FWD_P_H
#define QMLJSAST_FWD_P_H
-#include <QtCore/qglobal.h>
#include "qmljsglobal_p.h"
+#include <QtCore/qglobal.h>
+
//
// W A R N I N G
// -------------
diff --git a/src/declarative/qml/parser/qmljsastvisitor_p.h b/src/declarative/qml/parser/qmljsastvisitor_p.h
index 7db84b0..1b50bcc 100644
--- a/src/declarative/qml/parser/qmljsastvisitor_p.h
+++ b/src/declarative/qml/parser/qmljsastvisitor_p.h
@@ -60,7 +60,7 @@ QT_QML_BEGIN_NAMESPACE
namespace QmlJS { namespace AST {
-class Visitor
+class QML_PARSER_EXPORT Visitor
{
public:
Visitor();
diff --git a/src/declarative/qml/parser/qmljsengine_p.cpp b/src/declarative/qml/parser/qmljsengine_p.cpp
index cee90a3..b8ecd18 100644
--- a/src/declarative/qml/parser/qmljsengine_p.cpp
+++ b/src/declarative/qml/parser/qmljsengine_p.cpp
@@ -39,9 +39,11 @@
**
****************************************************************************/
-#include "qmljsglobal_p.h"
#include "qmljsengine_p.h"
+
+#include "qmljsglobal_p.h"
#include "qmljsnodepool_p.h"
+
#include <qnumeric.h>
#include <QHash>
diff --git a/src/declarative/qml/parser/qmljsengine_p.h b/src/declarative/qml/parser/qmljsengine_p.h
index a60c515..2c15af3 100644
--- a/src/declarative/qml/parser/qmljsengine_p.h
+++ b/src/declarative/qml/parser/qmljsengine_p.h
@@ -53,16 +53,16 @@
// We mean it.
//
-#include <QString>
-#include <QSet>
-
#include "qmljsglobal_p.h"
#include "qmljsastfwd_p.h"
+#include <QString>
+#include <QSet>
+
QT_QML_BEGIN_NAMESPACE
namespace QmlJS {
-class NameId
+class QML_PARSER_EXPORT NameId
{
QString _text;
@@ -101,7 +101,7 @@ class NodePool;
namespace Ecma {
-class RegExp
+class QML_PARSER_EXPORT RegExp
{
public:
enum RegExpFlag {
@@ -117,7 +117,7 @@ public:
} // end of namespace Ecma
-class DiagnosticMessage
+class QML_PARSER_EXPORT DiagnosticMessage
{
public:
enum Kind { Warning, Error };
@@ -139,7 +139,7 @@ public:
QString message;
};
-class Engine
+class QML_PARSER_EXPORT Engine
{
Lexer *_lexer;
NodePool *_nodePool;
diff --git a/src/declarative/qml/parser/qmljsglobal_p.h b/src/declarative/qml/parser/qmljsglobal_p.h
index c91de49..59762ff 100644
--- a/src/declarative/qml/parser/qmljsglobal_p.h
+++ b/src/declarative/qml/parser/qmljsglobal_p.h
@@ -44,11 +44,21 @@
#include <QtCore/qglobal.h>
#ifdef QT_CREATOR
-#define QT_QML_BEGIN_NAMESPACE
-#define QT_QML_END_NAMESPACE
+# define QT_QML_BEGIN_NAMESPACE
+# define QT_QML_END_NAMESPACE
+
+# ifdef QML_BUILD_LIB
+# define QML_PARSER_EXPORT Q_DECL_EXPORT
+# elif QML_BUILD_STATIC_LIB
+# define QML_PARSER_EXPORT
+# else
+# define QML_PARSER_EXPORT Q_DECL_IMPORT
+# endif // QML_BUILD_LIB
+
#else // !QT_CREATOR
-#define QT_QML_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
-#define QT_QML_END_NAMESPACE QT_END_NAMESPACE
+# define QT_QML_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
+# define QT_QML_END_NAMESPACE QT_END_NAMESPACE
+# define QML_PARSER_EXPORT
#endif // QT_CREATOR
#endif // QMLJSGLOBAL_P_H
diff --git a/src/declarative/qml/parser/qmljslexer.cpp b/src/declarative/qml/parser/qmljslexer.cpp
index d316f93..e9ea604 100644
--- a/src/declarative/qml/parser/qmljslexer.cpp
+++ b/src/declarative/qml/parser/qmljslexer.cpp
@@ -40,12 +40,13 @@
****************************************************************************/
#ifdef HAVE_CONFIG_H
-#include "config.h"
+#include <config.h>
#endif
+#include "qmljslexer_p.h"
+
#include "qmljsglobal_p.h"
#include "qmljsengine_p.h"
-#include "qmljslexer_p.h"
#include "qmljsgrammar_p.h"
#include <QtGui/qapplication.h>
diff --git a/src/declarative/qml/parser/qmljslexer_p.h b/src/declarative/qml/parser/qmljslexer_p.h
index f499750..b830071 100644
--- a/src/declarative/qml/parser/qmljslexer_p.h
+++ b/src/declarative/qml/parser/qmljslexer_p.h
@@ -53,10 +53,10 @@
// We mean it.
//
-#include <QtCore/QString>
-
#include "qmljsglobal_p.h"
+#include <QtCore/QString>
+
QT_QML_BEGIN_NAMESPACE
namespace QmlJS {
@@ -64,7 +64,7 @@ namespace QmlJS {
class Engine;
class NameId;
-class Lexer
+class QML_PARSER_EXPORT Lexer
{
public:
Lexer(Engine *eng, bool tokenizeComments = false);
diff --git a/src/declarative/qml/parser/qmljsmemorypool_p.h b/src/declarative/qml/parser/qmljsmemorypool_p.h
index 24a2145..3da2678 100644
--- a/src/declarative/qml/parser/qmljsmemorypool_p.h
+++ b/src/declarative/qml/parser/qmljsmemorypool_p.h
@@ -53,17 +53,18 @@
// We mean it.
//
+#include "qmljsglobal_p.h"
+
#include <QtCore/qglobal.h>
#include <QtCore/qshareddata.h>
-#include <string.h>
-#include "qmljsglobal_p.h"
+#include <string.h>
QT_QML_BEGIN_NAMESPACE
namespace QmlJS {
-class MemoryPool : public QSharedData
+class QML_PARSER_EXPORT MemoryPool : public QSharedData
{
public:
enum { maxBlockCount = -1 };
diff --git a/src/declarative/qml/parser/qmljsnodepool_p.h b/src/declarative/qml/parser/qmljsnodepool_p.h
index ca4d729..abe4cc8 100644
--- a/src/declarative/qml/parser/qmljsnodepool_p.h
+++ b/src/declarative/qml/parser/qmljsnodepool_p.h
@@ -53,12 +53,12 @@
// We mean it.
//
-#include <QtCore/QHash>
-#include <QtCore/QString>
-
#include "qmljsglobal_p.h"
#include "qmljsmemorypool_p.h"
+#include <QtCore/QHash>
+#include <QtCore/QString>
+
QT_QML_BEGIN_NAMESPACE
namespace QmlJS {
@@ -106,7 +106,7 @@ inline NodeType *makeAstNode(MemoryPool *storage, Arg1 arg1, Arg2 arg2, Arg3 arg
return node;
}
-class NodePool : public MemoryPool
+class QML_PARSER_EXPORT NodePool : public MemoryPool
{
public:
NodePool(const QString &fileName, Engine *engine);
diff --git a/src/declarative/qml/parser/qmljsparser.cpp b/src/declarative/qml/parser/qmljsparser.cpp
index 453503b..7a81557 100644
--- a/src/declarative/qml/parser/qmljsparser.cpp
+++ b/src/declarative/qml/parser/qmljsparser.cpp
@@ -41,21 +41,19 @@
**
****************************************************************************/
-#include <QtCore/QtDebug>
-#include <QtGui/QApplication>
-
-#include <string.h>
+#include "qmljsparser_p.h"
#include "qmljsengine_p.h"
#include "qmljslexer_p.h"
#include "qmljsast_p.h"
#include "qmljsnodepool_p.h"
-
-
-#include "qmljsparser_p.h"
+#include <QtCore/QtDebug>
+#include <QtGui/QApplication>
#include <QVarLengthArray>
+#include <string.h>
+
//
// This file is automatically generated from qmljs.g.
// Changes will be lost.
diff --git a/src/declarative/qml/parser/qmljsparser_p.h b/src/declarative/qml/parser/qmljsparser_p.h
index 7fad58a..2cefb5c 100644
--- a/src/declarative/qml/parser/qmljsparser_p.h
+++ b/src/declarative/qml/parser/qmljsparser_p.h
@@ -75,7 +75,7 @@ namespace QmlJS {
class Engine;
class NameId;
-class Parser: protected QmlJSGrammar
+class QML_PARSER_EXPORT Parser: protected QmlJSGrammar
{
public:
union Value {
diff --git a/src/declarative/qml/qmetaobjectbuilder.cpp b/src/declarative/qml/qmetaobjectbuilder.cpp
index c421c76..11b9f80 100644
--- a/src/declarative/qml/qmetaobjectbuilder.cpp
+++ b/src/declarative/qml/qmetaobjectbuilder.cpp
@@ -40,6 +40,7 @@
****************************************************************************/
#include "qmetaobjectbuilder_p.h"
+
#ifndef Q_OS_WIN
#include <stdint.h>
#endif
diff --git a/src/declarative/qml/qml.h b/src/declarative/qml/qml.h
index 323525b..c009093 100644
--- a/src/declarative/qml/qml.h
+++ b/src/declarative/qml/qml.h
@@ -42,15 +42,16 @@
#ifndef QML_H
#define QML_H
+#include "qmlmetatype.h"
+#include "qmlmetaproperty.h"
+#include "qmlparserstatus.h"
+#include "qmlpropertyvaluesource.h"
+#include "qmllist.h"
+
#include <QtCore/qbytearray.h>
#include <QtCore/qstringlist.h>
#include <QtCore/qurl.h>
#include <QtCore/qmetaobject.h>
-#include <qmlmetatype.h>
-#include <qmlmetaproperty.h>
-#include <qmlparserstatus.h>
-#include <qmlpropertyvaluesource.h>
-#include <qmllist.h>
QT_BEGIN_HEADER
diff --git a/src/declarative/qml/qml.pri b/src/declarative/qml/qml.pri
index 2167ab3..1155a36 100644
--- a/src/declarative/qml/qml.pri
+++ b/src/declarative/qml/qml.pri
@@ -1,118 +1,122 @@
-SOURCES += qml/qmlparser.cpp \
- qml/qmlinstruction.cpp \
- qml/qmlvmemetaobject.cpp \
- qml/qmlengine.cpp \
- qml/qmlexpression.cpp \
- qml/qmlbinding.cpp \
- qml/qmlmetaproperty.cpp \
- qml/qmlcomponent.cpp \
- qml/qmlcontext.cpp \
- qml/qmlcustomparser.cpp \
- qml/qmlpropertyvaluesource.cpp \
- qml/qmlpropertyvalueinterceptor.cpp \
- qml/qmlproxymetaobject.cpp \
- qml/qmlvme.cpp \
- qml/qmlcompiler.cpp \
- qml/qmlcompileddata.cpp \
- qml/qmlboundsignal.cpp \
- qml/qmldom.cpp \
- qml/qmlrefcount.cpp \
- qml/qmlprivate.cpp \
- qml/qmlmetatype.cpp \
- qml/qmlstringconverters.cpp \
- qml/qmlclassfactory.cpp \
- qml/qmlparserstatus.cpp \
- qml/qmlcompositetypemanager.cpp \
- qml/qmlinfo.cpp \
- qml/qmlerror.cpp \
- qml/qmlscriptparser.cpp \
- qml/qmlenginedebug.cpp \
- qml/qmlrewrite.cpp \
- qml/qmlbasicscript.cpp \
- qml/qmlvaluetype.cpp \
- qml/qmlbindingoptimizations.cpp \
- qml/qmlxmlhttprequest.cpp \
- qml/qmlsqldatabase.cpp \
- qml/qmetaobjectbuilder.cpp \
- qml/qmlwatcher.cpp \
- qml/qmlscript.cpp \
- qml/qmlcleanup.cpp \
- qml/qmlpropertycache.cpp \
- qml/qmlintegercache.cpp \
- qml/qmltypenamecache.cpp \
- qml/qmlscriptstring.cpp \
- qml/qmlobjectscriptclass.cpp \
- qml/qmlcontextscriptclass.cpp \
- qml/qmlglobalscriptclass.cpp \
- qml/qmlvaluetypescriptclass.cpp \
- qml/qmltypenamescriptclass.cpp \
- qml/qmllistscriptclass.cpp \
- qml/qmlworkerscript.cpp
+INCLUDEPATH += $$PWD
+
+SOURCES += \
+ $$PWD/qmlparser.cpp \
+ $$PWD/qmlinstruction.cpp \
+ $$PWD/qmlvmemetaobject.cpp \
+ $$PWD/qmlengine.cpp \
+ $$PWD/qmlexpression.cpp \
+ $$PWD/qmlbinding.cpp \
+ $$PWD/qmlmetaproperty.cpp \
+ $$PWD/qmlcomponent.cpp \
+ $$PWD/qmlcontext.cpp \
+ $$PWD/qmlcustomparser.cpp \
+ $$PWD/qmlpropertyvaluesource.cpp \
+ $$PWD/qmlpropertyvalueinterceptor.cpp \
+ $$PWD/qmlproxymetaobject.cpp \
+ $$PWD/qmlvme.cpp \
+ $$PWD/qmlcompiler.cpp \
+ $$PWD/qmlcompileddata.cpp \
+ $$PWD/qmlboundsignal.cpp \
+ $$PWD/qmldom.cpp \
+ $$PWD/qmlrefcount.cpp \
+ $$PWD/qmlprivate.cpp \
+ $$PWD/qmlmetatype.cpp \
+ $$PWD/qmlstringconverters.cpp \
+ $$PWD/qmlclassfactory.cpp \
+ $$PWD/qmlparserstatus.cpp \
+ $$PWD/qmlcompositetypemanager.cpp \
+ $$PWD/qmlinfo.cpp \
+ $$PWD/qmlerror.cpp \
+ $$PWD/qmlscriptparser.cpp \
+ $$PWD/qmlenginedebug.cpp \
+ $$PWD/qmlrewrite.cpp \
+ $$PWD/qmlbasicscript.cpp \
+ $$PWD/qmlvaluetype.cpp \
+ $$PWD/qmlbindingoptimizations.cpp \
+ $$PWD/qmlxmlhttprequest.cpp \
+ $$PWD/qmlsqldatabase.cpp \
+ $$PWD/qmetaobjectbuilder.cpp \
+ $$PWD/qmlwatcher.cpp \
+ $$PWD/qmlscript.cpp \
+ $$PWD/qmlcleanup.cpp \
+ $$PWD/qmlpropertycache.cpp \
+ $$PWD/qmlintegercache.cpp \
+ $$PWD/qmltypenamecache.cpp \
+ $$PWD/qmlscriptstring.cpp \
+ $$PWD/qmlobjectscriptclass.cpp \
+ $$PWD/qmlcontextscriptclass.cpp \
+ $$PWD/qmlglobalscriptclass.cpp \
+ $$PWD/qmlvaluetypescriptclass.cpp \
+ $$PWD/qmltypenamescriptclass.cpp \
+ $$PWD/qmllistscriptclass.cpp \
+ $$PWD/qmlworkerscript.cpp
+
+HEADERS += \
+ $$PWD/qmlparser_p.h \
+ $$PWD/qmlglobal_p.h \
+ $$PWD/qmlinstruction_p.h \
+ $$PWD/qmlvmemetaobject_p.h \
+ $$PWD/qml.h \
+ $$PWD/qmlbinding.h \
+ $$PWD/qmlbinding_p.h \
+ $$PWD/qmlmetaproperty.h \
+ $$PWD/qmlcomponent.h \
+ $$PWD/qmlcomponent_p.h \
+ $$PWD/qmlcustomparser_p.h \
+ $$PWD/qmlcustomparser_p_p.h \
+ $$PWD/qmlpropertyvaluesource.h \
+ $$PWD/qmlpropertyvalueinterceptor.h \
+ $$PWD/qmlboundsignal_p.h \
+ $$PWD/qmlparserstatus.h \
+ $$PWD/qmlproxymetaobject_p.h \
+ $$PWD/qmlvme_p.h \
+ $$PWD/qmlcompiler_p.h \
+ $$PWD/qmlengine_p.h \
+ $$PWD/qmlexpression_p.h \
+ $$PWD/qmlprivate.h \
+ $$PWD/qmldom.h \
+ $$PWD/qmldom_p.h \
+ $$PWD/qmlrefcount_p.h \
+ $$PWD/qmlmetatype.h \
+ $$PWD/qmlengine.h \
+ $$PWD/qmlcontext.h \
+ $$PWD/qmlexpression.h \
+ $$PWD/qmlstringconverters_p.h \
+ $$PWD/qmlclassfactory_p.h \
+ $$PWD/qmlinfo.h \
+ $$PWD/qmlmetaproperty_p.h \
+ $$PWD/qmlcontext_p.h \
+ $$PWD/qmlcompositetypedata_p.h \
+ $$PWD/qmlcompositetypemanager_p.h \
+ $$PWD/qmllist.h \
+ $$PWD/qmldeclarativedata_p.h \
+ $$PWD/qmlerror.h \
+ $$PWD/qmlscriptparser_p.h \
+ $$PWD/qmlbasicscript_p.h \
+ $$PWD/qmlenginedebug_p.h \
+ $$PWD/qmlrewrite_p.h \
+ $$PWD/qpodvector_p.h \
+ $$PWD/qbitfield_p.h \
+ $$PWD/qmlvaluetype_p.h \
+ $$PWD/qmlbindingoptimizations_p.h \
+ $$PWD/qmlxmlhttprequest_p.h \
+ $$PWD/qmlsqldatabase_p.h \
+ $$PWD/qmetaobjectbuilder_p.h \
+ $$PWD/qmlwatcher_p.h \
+ $$PWD/qmlcleanup_p.h \
+ $$PWD/qmlpropertycache_p.h \
+ $$PWD/qmlintegercache_p.h \
+ $$PWD/qmltypenamecache_p.h \
+ $$PWD/qmlscriptstring.h \
+ $$PWD/qmlobjectscriptclass_p.h \
+ $$PWD/qmlcontextscriptclass_p.h \
+ $$PWD/qmlglobalscriptclass_p.h \
+ $$PWD/qmlvaluetypescriptclass_p.h \
+ $$PWD/qmltypenamescriptclass_p.h \
+ $$PWD/qmllistscriptclass_p.h \
+ $$PWD/qmlworkerscript_p.h
-HEADERS += qml/qmlparser_p.h \
- qml/qmlglobal_p.h \
- qml/qmlinstruction_p.h \
- qml/qmlvmemetaobject_p.h \
- qml/qml.h \
- qml/qmlbinding.h \
- qml/qmlbinding_p.h \
- qml/qmlmetaproperty.h \
- qml/qmlcomponent.h \
- qml/qmlcomponent_p.h \
- qml/qmlcustomparser_p.h \
- qml/qmlcustomparser_p_p.h \
- qml/qmlpropertyvaluesource.h \
- qml/qmlpropertyvalueinterceptor.h \
- qml/qmlboundsignal_p.h \
- qml/qmlparserstatus.h \
- qml/qmlproxymetaobject_p.h \
- qml/qmlvme_p.h \
- qml/qmlcompiler_p.h \
- qml/qmlengine_p.h \
- qml/qmlexpression_p.h \
- qml/qmlprivate.h \
- qml/qmldom.h \
- qml/qmldom_p.h \
- qml/qmlrefcount_p.h \
- qml/qmlmetatype.h \
- qml/qmlengine.h \
- qml/qmlcontext.h \
- qml/qmlexpression.h \
- qml/qmlstringconverters_p.h \
- qml/qmlclassfactory_p.h \
- qml/qmlinfo.h \
- qml/qmlmetaproperty_p.h \
- qml/qmlcontext_p.h \
- qml/qmlcompositetypedata_p.h \
- qml/qmlcompositetypemanager_p.h \
- qml/qmllist.h \
- qml/qmldeclarativedata_p.h \
- qml/qmlerror.h \
- qml/qmlscriptparser_p.h \
- qml/qmlbasicscript_p.h \
- qml/qmlenginedebug_p.h \
- qml/qmlrewrite_p.h \
- qml/qpodvector_p.h \
- qml/qbitfield_p.h \
- qml/qmlvaluetype_p.h \
- qml/qmlbindingoptimizations_p.h \
- qml/qmlxmlhttprequest_p.h \
- qml/qmlsqldatabase_p.h \
- qml/qmetaobjectbuilder_p.h \
- qml/qmlwatcher_p.h \
- qml/qmlcleanup_p.h \
- qml/qmlpropertycache_p.h \
- qml/qmlintegercache_p.h \
- qml/qmltypenamecache_p.h \
- qml/qmlscriptstring.h \
- qml/qmlobjectscriptclass_p.h \
- qml/qmlcontextscriptclass_p.h \
- qml/qmlglobalscriptclass_p.h \
- qml/qmlvaluetypescriptclass_p.h \
- qml/qmltypenamescriptclass_p.h \
- qml/qmllistscriptclass_p.h \
- qml/qmlworkerscript_p.h
-
QT += sql
include(parser/parser.pri)
diff --git a/src/declarative/qml/qmlbasicscript.cpp b/src/declarative/qml/qmlbasicscript.cpp
index b3bcf42..6a32df7 100644
--- a/src/declarative/qml/qmlbasicscript.cpp
+++ b/src/declarative/qml/qmlbasicscript.cpp
@@ -40,16 +40,19 @@
****************************************************************************/
#include "qmlbasicscript_p.h"
+
+#include "qmlengine_p.h"
+#include "qmlcontext_p.h"
+#include "qmlrefcount_p.h"
+#include "qmlglobal_p.h"
+
+#include <qfxperf_p_p.h>
+#include <qmljsast_p.h>
+#include <qmljsengine_p.h>
+
#include <QColor>
#include <QDebug>
-#include <private/qmlengine_p.h>
-#include <private/qmlcontext_p.h>
#include <QStack>
-#include <private/qfxperf_p_p.h>
-#include <private/qmlrefcount_p.h>
-#include <private/qmljsast_p.h>
-#include <private/qmljsengine_p.h>
-#include <private/qmlglobal_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmlbasicscript_p.h b/src/declarative/qml/qmlbasicscript_p.h
index 57d4fa7..830d2bd 100644
--- a/src/declarative/qml/qmlbasicscript_p.h
+++ b/src/declarative/qml/qmlbasicscript_p.h
@@ -53,10 +53,11 @@
// We mean it.
//
+#include "qmlparser_p.h"
+
#include <QtCore/QList>
#include <QtCore/QByteArray>
#include <QtCore/QVariant>
-#include <private/qmlparser_p.h>
QT_BEGIN_HEADER
diff --git a/src/declarative/qml/qmlbinding.cpp b/src/declarative/qml/qmlbinding.cpp
index ef92308..56d5807 100644
--- a/src/declarative/qml/qmlbinding.cpp
+++ b/src/declarative/qml/qmlbinding.cpp
@@ -39,17 +39,20 @@
**
****************************************************************************/
-#include <qml.h>
#include "qmlbinding.h"
#include "qmlbinding_p.h"
-#include <qmlcontext.h>
-#include <qmlinfo.h>
+
+#include "qml.h"
+#include "qmlcontext.h"
+#include "qmlinfo.h"
+#include "qmlcontext_p.h"
+#include "qmldeclarativedata_p.h"
+#include "qmlstringconverters_p.h"
+
+#include <qfxperf_p_p.h>
+
#include <QVariant>
-#include <private/qfxperf_p_p.h>
#include <QtCore/qdebug.h>
-#include <private/qmlcontext_p.h>
-#include <private/qmldeclarativedata_p.h>
-#include <private/qmlstringconverters_p.h>
Q_DECLARE_METATYPE(QList<QObject *>);
@@ -111,7 +114,7 @@ QmlBindingPrivate::QmlBindingPrivate()
{
}
-QmlBinding::QmlBinding(void *data, QmlRefCount *rc, QObject *obj, QmlContext *ctxt, const QUrl &url, int lineNumber, QObject *parent)
+QmlBinding::QmlBinding(void *data, QmlRefCount *rc, QObject *obj, QmlContext *ctxt, const QString &url, int lineNumber, QObject *parent)
: QmlExpression(ctxt, data, rc, obj, url, lineNumber, *new QmlBindingPrivate)
{
setParent(parent);
@@ -177,7 +180,7 @@ void QmlBinding::update(QmlMetaProperty::WriteFlags flags)
if (isUndefined && !data->error.isValid()) {
- QUrl url = data->url;
+ QUrl url = QUrl(data->url);
int line = data->line;
if (url.isEmpty()) url = QUrl(QLatin1String("<Unknown File>"));
@@ -189,7 +192,7 @@ void QmlBinding::update(QmlMetaProperty::WriteFlags flags)
} else if (!isUndefined && data->property.object() &&
!data->property.write(value, flags)) {
- QUrl url = data->url;
+ QUrl url = QUrl(data->url);
int line = data->line;
if (url.isEmpty()) url = QUrl(QLatin1String("<Unknown File>"));
diff --git a/src/declarative/qml/qmlbinding.h b/src/declarative/qml/qmlbinding.h
index 8fbe441..6f2d4f1 100644
--- a/src/declarative/qml/qmlbinding.h
+++ b/src/declarative/qml/qmlbinding.h
@@ -42,10 +42,11 @@
#ifndef QMLBINDING_H
#define QMLBINDING_H
+#include "qml.h"
+#include "qmlpropertyvaluesource.h"
+#include "qmlexpression.h"
+
#include <QtCore/QObject>
-#include <qml.h>
-#include <qmlpropertyvaluesource.h>
-#include <qmlexpression.h>
#include <QtCore/QMetaProperty>
QT_BEGIN_HEADER
@@ -92,7 +93,7 @@ class Q_DECLARATIVE_EXPORT QmlBinding : public QmlExpression,
Q_OBJECT
public:
QmlBinding(const QString &, QObject *, QmlContext *, QObject *parent=0);
- QmlBinding(void *, QmlRefCount *, QObject *, QmlContext *, const QUrl &, int,
+ QmlBinding(void *, QmlRefCount *, QObject *, QmlContext *, const QString &, int,
QObject *parent);
~QmlBinding();
diff --git a/src/declarative/qml/qmlbinding_p.h b/src/declarative/qml/qmlbinding_p.h
index 30a31ab..945b659 100644
--- a/src/declarative/qml/qmlbinding_p.h
+++ b/src/declarative/qml/qmlbinding_p.h
@@ -53,8 +53,9 @@
// We mean it.
//
-#include <qmlbinding.h>
-#include <qmlmetaproperty.h>
+#include "qmlbinding.h"
+
+#include "qmlmetaproperty.h"
#include "qmlexpression_p.h"
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmlbindingoptimizations.cpp b/src/declarative/qml/qmlbindingoptimizations.cpp
index 0efa600..0f2e199 100644
--- a/src/declarative/qml/qmlbindingoptimizations.cpp
+++ b/src/declarative/qml/qmlbindingoptimizations.cpp
@@ -40,7 +40,8 @@
****************************************************************************/
#include "qmlbindingoptimizations_p.h"
-#include <private/qmlcontext_p.h>
+
+#include "qmlcontext_p.h"
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmlbindingoptimizations_p.h b/src/declarative/qml/qmlbindingoptimizations_p.h
index 2cdc07d..4ce145d 100644
--- a/src/declarative/qml/qmlbindingoptimizations_p.h
+++ b/src/declarative/qml/qmlbindingoptimizations_p.h
@@ -53,8 +53,8 @@
// We mean it.
//
-#include <private/qmlexpression_p.h>
-#include <qmlbinding.h>
+#include "qmlexpression_p.h"
+#include "qmlbinding.h"
QT_BEGIN_HEADER
diff --git a/src/declarative/qml/qmlboundsignal.cpp b/src/declarative/qml/qmlboundsignal.cpp
index f21b781..110a56c 100644
--- a/src/declarative/qml/qmlboundsignal.cpp
+++ b/src/declarative/qml/qmlboundsignal.cpp
@@ -40,15 +40,17 @@
****************************************************************************/
#include "qmlboundsignal_p.h"
-#include "private/qmetaobjectbuilder_p.h"
-#include "private/qmlengine_p.h"
-#include "private/qmlexpression_p.h"
-#include "private/qmlcontext_p.h"
-#include <qmlmetatype.h>
-#include <qml.h>
-#include <qmlcontext.h>
+
+#include "qmetaobjectbuilder_p.h"
+#include "qmlengine_p.h"
+#include "qmlexpression_p.h"
+#include "qmlcontext_p.h"
+#include "qmlmetatype.h"
+#include "qml.h"
+#include "qmlcontext.h"
+#include "qmlglobal_p.h"
+
#include <QtCore/qdebug.h>
-#include <private/qmlglobal_p.h>
QT_BEGIN_NAMESPACE
@@ -259,4 +261,4 @@ int QmlBoundSignalParameters::metaCall(QMetaObject::Call c, int id, void **a)
QT_END_NAMESPACE
-#include "qmlboundsignal.moc"
+#include <qmlboundsignal.moc>
diff --git a/src/declarative/qml/qmlboundsignal_p.h b/src/declarative/qml/qmlboundsignal_p.h
index 53a5a6b..971fc89 100644
--- a/src/declarative/qml/qmlboundsignal_p.h
+++ b/src/declarative/qml/qmlboundsignal_p.h
@@ -53,10 +53,12 @@
// We mean it.
//
-#include <qmlexpression.h>
-#include <private/qobject_p.h>
+#include "qmlexpression.h"
+
#include <QtCore/qmetaobject.h>
+#include <private/qobject_p.h>
+
QT_BEGIN_NAMESPACE
class QmlAbstractBoundSignal : public QObject
diff --git a/src/declarative/qml/qmlcleanup.cpp b/src/declarative/qml/qmlcleanup.cpp
index ef803d0..0da6452 100644
--- a/src/declarative/qml/qmlcleanup.cpp
+++ b/src/declarative/qml/qmlcleanup.cpp
@@ -40,7 +40,8 @@
****************************************************************************/
#include "qmlcleanup_p.h"
-#include <private/qmlengine_p.h>
+
+#include "qmlengine_p.h"
/*!
\internal
diff --git a/src/declarative/qml/qmlcompileddata.cpp b/src/declarative/qml/qmlcompileddata.cpp
index 9b931c5..8b165c6 100644
--- a/src/declarative/qml/qmlcompileddata.cpp
+++ b/src/declarative/qml/qmlcompileddata.cpp
@@ -45,9 +45,11 @@
#include "qmlcomponent_p.h"
#include "qmlcontext.h"
#include "qmlcontext_p.h"
-#include <private/qobject_p.h>
+
#include <QtCore/qdebug.h>
+#include <private/qobject_p.h>
+
QT_BEGIN_NAMESPACE
int QmlCompiledData::pack(const char *data, size_t size)
@@ -85,6 +87,16 @@ int QmlCompiledData::indexForByteArray(const QByteArray &data)
return idx;
}
+int QmlCompiledData::indexForUrl(const QUrl &data)
+{
+ int idx = urls.indexOf(data);
+ if (idx == -1) {
+ idx = urls.count();
+ urls << data;
+ }
+ return idx;
+}
+
int QmlCompiledData::indexForFloat(float *data, int count)
{
Q_ASSERT(count > 0);
diff --git a/src/declarative/qml/qmlcompiler.cpp b/src/declarative/qml/qmlcompiler.cpp
index aac2e02..2404702 100644
--- a/src/declarative/qml/qmlcompiler.cpp
+++ b/src/declarative/qml/qmlcompiler.cpp
@@ -39,40 +39,42 @@
**
****************************************************************************/
-#include "private/qmlcompiler_p.h"
-#include "private/qmlcompositetypedata_p.h"
-#include <private/qfxperf_p_p.h>
+#include "qmlcompiler_p.h"
+
+#include "qmlcompositetypedata_p.h"
#include "qmlparser_p.h"
-#include "private/qmlscriptparser_p.h"
-#include <qmlpropertyvaluesource.h>
-#include <qmlcomponent.h>
-#include "private/qmetaobjectbuilder_p.h"
+#include "qmlscriptparser_p.h"
+#include "qmlpropertyvaluesource.h"
+#include "qmlcomponent.h"
+#include "qmetaobjectbuilder_p.h"
#include "qmlbasicscript_p.h"
+#include "qmlstringconverters_p.h"
+#include "qmlengine_p.h"
+#include "qmlengine.h"
+#include "qmlcontext.h"
+#include "qmlmetatype.h"
+#include "qmlcustomparser_p_p.h"
+#include "qmlcontext_p.h"
+#include "qmlcomponent_p.h"
+#include "parser/qmljsast_p.h"
+#include "qmlvmemetaobject_p.h"
+#include "qmlexpression_p.h"
+#include "qmlmetaproperty_p.h"
+#include "qmlrewrite_p.h"
+#include "qmlscriptstring.h"
+#include "qmlglobal_p.h"
+#include "qmlscriptparser_p.h"
+
+#include <qfxperf_p_p.h>
+
#include <QColor>
#include <QDebug>
#include <QPointF>
#include <QSizeF>
#include <QRectF>
#include <QAtomicInt>
-#include <private/qmlstringconverters_p.h>
-#include <private/qmlengine_p.h>
-#include <qmlengine.h>
-#include <qmlcontext.h>
-#include <qmlmetatype.h>
#include <QtCore/qdebug.h>
#include <QtGui/qapplication.h>
-#include "private/qmlcustomparser_p_p.h"
-#include <private/qmlcontext_p.h>
-#include <private/qmlcomponent_p.h>
-#include "parser/qmljsast_p.h"
-#include <private/qmlvmemetaobject_p.h>
-#include <private/qmlexpression_p.h>
-#include "qmlmetaproperty_p.h"
-#include "qmlrewrite_p.h"
-#include <qmlscriptstring.h>
-#include <private/qmlglobal_p.h>
-
-#include "qmlscriptparser_p.h"
QT_BEGIN_NAMESPACE
@@ -374,7 +376,7 @@ void QmlCompiler::genLiteralAssignment(const QMetaProperty &prop,
instr.type = QmlInstruction::StoreUrl;
QUrl u = string.isEmpty() ? QUrl() : output->url.resolved(QUrl(string));
instr.storeUrl.propertyIndex = prop.propertyIndex();
- instr.storeUrl.value = output->indexForString(u.toString());
+ instr.storeUrl.value = output->indexForUrl(u);
}
break;
case QVariant::UInt:
@@ -1577,11 +1579,10 @@ void QmlCompiler::genPropertyAssignment(QmlParser::Property *prop,
store.type = QmlInstruction::StoreValueSource;
store.line = v->object->location.start.line;
if (valueTypeProperty) {
- store.assignValueSource.property = QmlMetaPropertyPrivate::saveValueType(valueTypeProperty->index, prop->index);
+ store.assignValueSource.property = genValueTypeData(prop, valueTypeProperty);
store.assignValueSource.owner = 1;
} else {
- store.assignValueSource.property =
- QmlMetaPropertyPrivate::saveProperty(prop->index);
+ store.assignValueSource.property = genPropertyData(prop);
store.assignValueSource.owner = 0;
}
QmlType *valueType = QmlMetaType::qmlType(v->object->metatype);
@@ -1595,11 +1596,10 @@ void QmlCompiler::genPropertyAssignment(QmlParser::Property *prop,
store.type = QmlInstruction::StoreValueInterceptor;
store.line = v->object->location.start.line;
if (valueTypeProperty) {
- store.assignValueInterceptor.property = QmlMetaPropertyPrivate::saveValueType(valueTypeProperty->index, prop->index);
+ store.assignValueInterceptor.property = genValueTypeData(prop, valueTypeProperty);
store.assignValueInterceptor.owner = 1;
} else {
- store.assignValueInterceptor.property =
- QmlMetaPropertyPrivate::saveProperty(prop->index);
+ store.assignValueInterceptor.property = genPropertyData(prop);
store.assignValueInterceptor.owner = 0;
}
QmlType *valueType = QmlMetaType::qmlType(v->object->metatype);
@@ -2307,7 +2307,8 @@ bool QmlCompiler::buildDynamicMeta(QmlParser::Object *obj, DynamicMetaMode mode)
return true;
}
-#include <private/qmljsparser_p.h>
+#include <qmljsparser_p.h>
+
static QStringList astNodeToStringList(QmlJS::AST::Node *node)
{
if (node->kind == QmlJS::AST::Node::Kind_IdentifierExpression) {
@@ -2467,12 +2468,9 @@ void QmlCompiler::genBindingAssignment(QmlParser::Value *binding,
Q_ASSERT(ref.bindingContext.owner == 0 ||
(ref.bindingContext.owner != 0 && valueTypeProperty));
if (ref.bindingContext.owner) {
- store.assignBinding.property =
- QmlMetaPropertyPrivate::saveValueType(valueTypeProperty->index,
- prop->index);
+ store.assignBinding.property = genValueTypeData(prop, valueTypeProperty);
} else {
- store.assignBinding.property =
- QmlMetaPropertyPrivate::saveProperty(prop->index);
+ store.assignBinding.property = genPropertyData(prop);
}
output->bytecode << store;
@@ -2494,6 +2492,17 @@ int QmlCompiler::genContextCache()
return output->contextCaches.count() - 1;
}
+int QmlCompiler::genValueTypeData(QmlParser::Property *valueTypeProp,
+ QmlParser::Property *prop)
+{
+ return output->indexForByteArray(QmlMetaPropertyPrivate::saveValueType(prop->parent->metaObject(), prop->index, valueTypeProp->index, valueTypeProp->type));
+}
+
+int QmlCompiler::genPropertyData(QmlParser::Property *prop)
+{
+ return output->indexForByteArray(QmlMetaPropertyPrivate::saveProperty(prop->parent->metaObject(), prop->index));
+}
+
bool QmlCompiler::completeComponentBuild()
{
componentStat.ids = compileState.ids.count();
diff --git a/src/declarative/qml/qmlcompiler_p.h b/src/declarative/qml/qmlcompiler_p.h
index 542fb48..809cc72 100644
--- a/src/declarative/qml/qmlcompiler_p.h
+++ b/src/declarative/qml/qmlcompiler_p.h
@@ -53,18 +53,19 @@
// We mean it.
//
+#include "qml.h"
+#include "qmlerror.h"
+#include "qmlinstruction_p.h"
+#include "qmlcompositetypemanager_p.h"
+#include "qmlparser_p.h"
+#include "qmlengine_p.h"
+#include "qbitfield_p.h"
+#include "qmlpropertycache_p.h"
+#include "qmlintegercache_p.h"
+#include "qmltypenamecache_p.h"
+
#include <QtCore/qbytearray.h>
#include <QtCore/qset.h>
-#include <qml.h>
-#include <qmlerror.h>
-#include <private/qmlinstruction_p.h>
-#include <private/qmlcompositetypemanager_p.h>
-#include <private/qmlparser_p.h>
-#include <private/qmlengine_p.h>
-#include <private/qbitfield_p.h>
-#include <private/qmlpropertycache_p.h>
-#include <private/qmlintegercache_p.h>
-#include <private/qmltypenamecache_p.h>
QT_BEGIN_NAMESPACE
@@ -79,7 +80,7 @@ public:
QmlCompiledData();
virtual ~QmlCompiledData();
- QByteArray name;
+ QString name;
QUrl url;
QmlEnginePrivate::Imports imports;
QmlTypeNameCache *importCache;
@@ -118,6 +119,7 @@ public:
QList<QmlPropertyCache *> propertyCaches;
QList<QmlIntegerCache *> contextCaches;
QList<QmlParser::Object::ScriptBlock> scripts;
+ QList<QUrl> urls;
void dumpInstructions();
private:
@@ -134,6 +136,7 @@ private:
int indexForInt(int *, int);
int indexForLocation(const QmlParser::Location &);
int indexForLocation(const QmlParser::LocationSpan &);
+ int indexForUrl(const QUrl &);
};
class QMetaObjectBuilder;
@@ -246,6 +249,9 @@ private:
QmlParser::Property *valueTypeProperty = 0);
int genContextCache();
+ int genValueTypeData(QmlParser::Property *prop, QmlParser::Property *valueTypeProp);
+ int genPropertyData(QmlParser::Property *prop);
+
int componentTypeRef();
static int findSignalByName(const QMetaObject *, const QByteArray &name);
diff --git a/src/declarative/qml/qmlcomponent.cpp b/src/declarative/qml/qmlcomponent.cpp
index 85da2c1..b66e026 100644
--- a/src/declarative/qml/qmlcomponent.cpp
+++ b/src/declarative/qml/qmlcomponent.cpp
@@ -41,24 +41,26 @@
#include "qmlcomponent.h"
#include "qmlcomponent_p.h"
+
#include "qmlcompiler_p.h"
-#include "private/qmlcontext_p.h"
-#include "private/qmlcompositetypedata_p.h"
-#include "private/qmlengine_p.h"
+#include "qmlcontext_p.h"
+#include "qmlcompositetypedata_p.h"
+#include "qmlengine_p.h"
#include "qmlvme_p.h"
#include "qml.h"
+#include "qmlengine.h"
+#include "qmlbinding.h"
+#include "qmlbinding_p.h"
+#include "qmlglobal_p.h"
+#include "qmlscriptparser_p.h"
+
+#include <qfxperf_p_p.h>
+
#include <QStack>
-#include <private/qfxperf_p_p.h>
#include <QStringList>
-#include <qmlengine.h>
#include <QFileInfo>
-#include "qmlbinding.h"
#include <QtCore/qdebug.h>
#include <QApplication>
-#include <private/qmlbinding_p.h>
-#include <private/qmlglobal_p.h>
-
-#include "qmlscriptparser_p.h"
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmlcomponent.h b/src/declarative/qml/qmlcomponent.h
index 0abb58f..1cc5937 100644
--- a/src/declarative/qml/qmlcomponent.h
+++ b/src/declarative/qml/qmlcomponent.h
@@ -42,11 +42,12 @@
#ifndef QMLCOMPONENT_H
#define QMLCOMPONENT_H
+#include "qml.h"
+#include "qmlerror.h"
+
#include <QtCore/qobject.h>
#include <QtCore/qstring.h>
#include <QtScript/qscriptvalue.h>
-#include <qml.h>
-#include <qmlerror.h>
QT_BEGIN_HEADER
diff --git a/src/declarative/qml/qmlcomponent_p.h b/src/declarative/qml/qmlcomponent_p.h
index 61a8a10..1372d98 100644
--- a/src/declarative/qml/qmlcomponent_p.h
+++ b/src/declarative/qml/qmlcomponent_p.h
@@ -53,16 +53,19 @@
// We mean it.
//
+#include "qmlcomponent.h"
+
+#include "qmlengine_p.h"
+#include "qmlcompositetypemanager_p.h"
+#include "qbitfield_p.h"
+#include "qmlerror.h"
+#include "qml.h"
+
#include <QtCore/QString>
#include <QtCore/QStringList>
#include <QtCore/QList>
+
#include <private/qobject_p.h>
-#include <private/qmlengine_p.h>
-#include <private/qmlcompositetypemanager_p.h>
-#include <private/qbitfield_p.h>
-#include <qmlerror.h>
-#include <qmlcomponent.h>
-#include <qml.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmlcompositetypedata_p.h b/src/declarative/qml/qmlcompositetypedata_p.h
index 0d2843d..c8b9f25 100644
--- a/src/declarative/qml/qmlcompositetypedata_p.h
+++ b/src/declarative/qml/qmlcompositetypedata_p.h
@@ -53,8 +53,9 @@
// We mean it.
//
+#include "qmlengine_p.h"
+
#include <QtCore/qglobal.h>
-#include <private/qmlengine_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmlcompositetypemanager.cpp b/src/declarative/qml/qmlcompositetypemanager.cpp
index fa68951..9590718 100644
--- a/src/declarative/qml/qmlcompositetypemanager.cpp
+++ b/src/declarative/qml/qmlcompositetypemanager.cpp
@@ -39,17 +39,19 @@
**
****************************************************************************/
-#include <private/qmlcompositetypedata_p.h>
-#include <private/qmlcompositetypemanager_p.h>
-#include <private/qmlscriptparser_p.h>
-#include <qmlengine.h>
+#include "qmlcompositetypemanager_p.h"
+
+#include "qmlcompositetypedata_p.h"
+#include "qmlscriptparser_p.h"
+#include "qmlengine.h"
+#include "qmlengine_p.h"
+#include "qmlcomponent.h"
+#include "qmlcomponent_p.h"
+#include "qmlcompiler_p.h"
+
#include <QtNetwork/qnetworkreply.h>
-#include <private/qmlengine_p.h>
#include <QtCore/qdebug.h>
#include <QtCore/qfile.h>
-#include <qmlcomponent.h>
-#include <private/qmlcomponent_p.h>
-#include <private/qmlcompiler_p.h>
QT_BEGIN_NAMESPACE
@@ -119,7 +121,7 @@ QmlCompositeTypeData::toCompiledComponent(QmlEngine *engine)
compiledComponent = new QmlCompiledData;
compiledComponent->url = imports.baseUrl();
- compiledComponent->name = compiledComponent->url.toString().toUtf8();
+ compiledComponent->name = compiledComponent->url.toString();
QmlCompiler compiler;
if (!compiler.compile(engine, this, compiledComponent)) {
diff --git a/src/declarative/qml/qmlcompositetypemanager_p.h b/src/declarative/qml/qmlcompositetypemanager_p.h
index 0abbfb5..0169bff 100644
--- a/src/declarative/qml/qmlcompositetypemanager_p.h
+++ b/src/declarative/qml/qmlcompositetypemanager_p.h
@@ -53,11 +53,12 @@
// We mean it.
//
+#include "qmlscriptparser_p.h"
+#include "qmlrefcount_p.h"
+#include "qmlerror.h"
+#include "qmlengine.h"
+
#include <QtCore/qglobal.h>
-#include <private/qmlscriptparser_p.h>
-#include <private/qmlrefcount_p.h>
-#include <qmlerror.h>
-#include <qmlengine.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmlcontext.cpp b/src/declarative/qml/qmlcontext.cpp
index 38cbcfa..c3971ae 100644
--- a/src/declarative/qml/qmlcontext.cpp
+++ b/src/declarative/qml/qmlcontext.cpp
@@ -39,23 +39,27 @@
**
****************************************************************************/
-#include <qmlcontext.h>
-#include <private/qmlcontext_p.h>
-#include <private/qmlexpression_p.h>
-#include <private/qmlengine_p.h>
-#include <qmlengine.h>
+#include "qmlcontext.h"
+#include "qmlcontext_p.h"
+
+#include "qmlexpression_p.h"
+#include "qmlengine_p.h"
+#include "qmlengine.h"
+#include "qmlbindingoptimizations_p.h"
+#include "qmlinfo.h"
+
#include <qscriptengine.h>
#include <QtCore/qvarlengtharray.h>
#include <QtCore/qdebug.h>
-#include <private/qmlbindingoptimizations_p.h>
+
#include <private/qscriptdeclarativeclass_p.h>
-#include <qmlinfo.h>
QT_BEGIN_NAMESPACE
QmlContextPrivate::QmlContextPrivate()
: parent(0), engine(0), isInternal(false), propertyNames(0), notifyIndex(-1),
- highPriorityCount(0), imports(0), expressions(0), idValues(0), idValueCount(0)
+ highPriorityCount(0), imports(0), expressions(0), contextObjects(0),
+ idValues(0), idValueCount(0)
{
}
@@ -283,14 +287,14 @@ QmlContext::~QmlContext()
expression = nextExpression;
}
- for (int ii = 0; ii < d->contextObjects.count(); ++ii) {
- QObjectPrivate *p = QObjectPrivate::get(d->contextObjects.at(ii));
- QmlDeclarativeData *data =
- static_cast<QmlDeclarativeData *>(p->declarativeData);
- if(data)
- data->context = 0;
+ while (d->contextObjects) {
+ QmlDeclarativeData *co = d->contextObjects;
+ d->contextObjects = d->contextObjects->nextContextObject;
+
+ co->context = 0;
+ co->nextContextObject = 0;
+ co->prevContextObject = 0;
}
- d->contextObjects.clear();
delete [] d->idValues;
diff --git a/src/declarative/qml/qmlcontext_p.h b/src/declarative/qml/qmlcontext_p.h
index c8d0b2d..0229056 100644
--- a/src/declarative/qml/qmlcontext_p.h
+++ b/src/declarative/qml/qmlcontext_p.h
@@ -53,16 +53,19 @@
// We mean it.
//
-#include <qmlcontext.h>
-#include <private/qobject_p.h>
-#include <private/qmldeclarativedata_p.h>
+#include "qmlcontext.h"
+
+#include "qmldeclarativedata_p.h"
+#include "qmlengine_p.h"
+#include "qmlintegercache_p.h"
+#include "qmltypenamecache_p.h"
+
#include <QtCore/qhash.h>
#include <QtScript/qscriptvalue.h>
#include <QtCore/qset.h>
+
+#include <private/qobject_p.h>
#include <private/qguard_p.h>
-#include <private/qmlengine_p.h>
-#include <private/qmlintegercache_p.h>
-#include <private/qmltypenamecache_p.h>
QT_BEGIN_NAMESPACE
@@ -106,7 +109,7 @@ public:
QmlAbstractExpression *expressions;
- QObjectList contextObjects;
+ QmlDeclarativeData *contextObjects;
struct ContextGuard : public QGuard<QObject>
{
diff --git a/src/declarative/qml/qmlcontextscriptclass.cpp b/src/declarative/qml/qmlcontextscriptclass.cpp
index a95400a..5635ceb 100644
--- a/src/declarative/qml/qmlcontextscriptclass.cpp
+++ b/src/declarative/qml/qmlcontextscriptclass.cpp
@@ -40,9 +40,10 @@
****************************************************************************/
#include "qmlcontextscriptclass_p.h"
-#include <private/qmlengine_p.h>
-#include <private/qmlcontext_p.h>
-#include <private/qmltypenamescriptclass_p.h>
+
+#include "qmlengine_p.h"
+#include "qmlcontext_p.h"
+#include "qmltypenamescriptclass_p.h"
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmlcontextscriptclass_p.h b/src/declarative/qml/qmlcontextscriptclass_p.h
index 10b848a..a577d52 100644
--- a/src/declarative/qml/qmlcontextscriptclass_p.h
+++ b/src/declarative/qml/qmlcontextscriptclass_p.h
@@ -53,9 +53,11 @@
// We mean it.
//
+#include "qmltypenamecache_p.h"
+
#include <QtScript/qscriptclass.h>
+
#include <private/qscriptdeclarativeclass_p.h>
-#include <private/qmltypenamecache_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmlcustomparser.cpp b/src/declarative/qml/qmlcustomparser.cpp
index 32a745c..9085440 100644
--- a/src/declarative/qml/qmlcustomparser.cpp
+++ b/src/declarative/qml/qmlcustomparser.cpp
@@ -41,6 +41,7 @@
#include "qmlcustomparser_p.h"
#include "qmlcustomparser_p_p.h"
+
#include "qmlparser_p.h"
#include <QtCore/qdebug.h>
diff --git a/src/declarative/qml/qmlcustomparser_p.h b/src/declarative/qml/qmlcustomparser_p.h
index 88a264f..9502b08 100644
--- a/src/declarative/qml/qmlcustomparser_p.h
+++ b/src/declarative/qml/qmlcustomparser_p.h
@@ -53,11 +53,12 @@
// We mean it.
//
+#include "qmlmetatype.h"
+#include "qmlerror.h"
+#include "qmlparser_p.h"
+
#include <QtCore/qbytearray.h>
#include <QtCore/qxmlstream.h>
-#include <qmlmetatype.h>
-#include <qmlerror.h>
-#include <private/qmlparser_p.h>
QT_BEGIN_HEADER
diff --git a/src/declarative/qml/qmlcustomparser_p_p.h b/src/declarative/qml/qmlcustomparser_p_p.h
index 2e0f14a..c27a5bc 100644
--- a/src/declarative/qml/qmlcustomparser_p_p.h
+++ b/src/declarative/qml/qmlcustomparser_p_p.h
@@ -53,10 +53,12 @@
// We mean it.
//
-#include <QtCore/qglobal.h>
#include "qmlcustomparser_p.h"
+
#include "qmlparser_p.h"
+#include <QtCore/qglobal.h>
+
QT_BEGIN_NAMESPACE
class QmlCustomParserNodePrivate
diff --git a/src/declarative/qml/qmldeclarativedata_p.h b/src/declarative/qml/qmldeclarativedata_p.h
index aa82f32..bdbb5c8 100644
--- a/src/declarative/qml/qmldeclarativedata_p.h
+++ b/src/declarative/qml/qmldeclarativedata_p.h
@@ -53,9 +53,10 @@
// We mean it.
//
-#include <private/qobject_p.h>
#include <QtScript/qscriptvalue.h>
+#include <private/qobject_p.h>
+
QT_BEGIN_NAMESPACE
class QmlCompiledData;
@@ -72,6 +73,10 @@ public:
QmlContext *context;
QmlAbstractBinding *bindings;
+ // Linked list for QmlContext::contextObjects
+ QmlDeclarativeData *nextContextObject;
+ QmlDeclarativeData**prevContextObject;
+
int bindingBitsSize;
quint32 *bindingBits;
bool hasBindingBit(int) const;
diff --git a/src/declarative/qml/qmldom.cpp b/src/declarative/qml/qmldom.cpp
index f4a137c..8812c31 100644
--- a/src/declarative/qml/qmldom.cpp
+++ b/src/declarative/qml/qmldom.cpp
@@ -41,14 +41,16 @@
#include "qmldom.h"
#include "qmldom_p.h"
-#include "private/qmlcompositetypedata_p.h"
-#include "private/qmlcompiler_p.h"
-#include "private/qmlengine_p.h"
+
+#include "qmlcompositetypedata_p.h"
+#include "qmlcompiler_p.h"
+#include "qmlengine_p.h"
+#include "qmlscriptparser_p.h"
+#include "qmlglobal_p.h"
+
#include <QtCore/QByteArray>
#include <QtCore/QDebug>
#include <QtCore/QString>
-#include "qmlscriptparser_p.h"
-#include <private/qmlglobal_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmldom.h b/src/declarative/qml/qmldom.h
index ad28d0d..24710f1 100644
--- a/src/declarative/qml/qmldom.h
+++ b/src/declarative/qml/qmldom.h
@@ -42,9 +42,10 @@
#ifndef QMLDOM_H
#define QMLDOM_H
+#include "qmlerror.h"
+
#include <QtCore/qlist.h>
#include <QtCore/qshareddata.h>
-#include <qmlerror.h>
QT_BEGIN_HEADER
diff --git a/src/declarative/qml/qmldom_p.h b/src/declarative/qml/qmldom_p.h
index cb0d884..df6a980 100644
--- a/src/declarative/qml/qmldom_p.h
+++ b/src/declarative/qml/qmldom_p.h
@@ -53,9 +53,10 @@
// We mean it.
//
-#include <QtCore/QtGlobal>
#include "qmlparser_p.h"
+#include <QtCore/QtGlobal>
+
QT_BEGIN_NAMESPACE
class QmlDomDocumentPrivate : public QSharedData
diff --git a/src/declarative/qml/qmlengine.cpp b/src/declarative/qml/qmlengine.cpp
index df8383e..cac94cd 100644
--- a/src/declarative/qml/qmlengine.cpp
+++ b/src/declarative/qml/qmlengine.cpp
@@ -39,14 +39,33 @@
**
****************************************************************************/
-#include <QtCore/qmetaobject.h>
-#include <private/qmlengine_p.h>
-#include <private/qmlcontext_p.h>
-#include <private/qobject_p.h>
-#include <private/qmlcompiler_p.h>
-#include <private/qscriptdeclarativeclass_p.h>
-#include <private/qmlglobalscriptclass_p.h>
+#include "qmlengine_p.h"
+#include "qmlengine.h"
+
+#include "qmlcontext_p.h"
+#include "qmlcompiler_p.h"
+#include "qmlglobalscriptclass_p.h"
+#include "qml.h"
+#include "qmlbasicscript_p.h"
+#include "qmlcontext.h"
+#include "qmlexpression.h"
+#include "qmlcomponent.h"
+#include "qmlmetaproperty_p.h"
+#include "qmlbinding_p.h"
+#include "qmlvme_p.h"
+#include "qmlenginedebug_p.h"
+#include "qmlstringconverters_p.h"
+#include "qmlxmlhttprequest_p.h"
+#include "qmlsqldatabase_p.h"
+#include "qmltypenamescriptclass_p.h"
+#include "qmllistscriptclass_p.h"
+#include "qmlscriptstring.h"
+#include "qmlglobal_p.h"
+#include "qmlworkerscript_p.h"
+
+#include <qfxperf_p_p.h>
+#include <QtCore/qmetaobject.h>
#include <QScriptClass>
#include <QNetworkReply>
#include <QNetworkRequest>
@@ -57,13 +76,7 @@
#include <QPair>
#include <QDebug>
#include <QMetaObject>
-#include "qml.h"
-#include <private/qfxperf_p_p.h>
#include <QStack>
-#include "private/qmlbasicscript_p.h"
-#include "qmlengine.h"
-#include "qmlcontext.h"
-#include "qmlexpression.h"
#include <QtCore/qthreadstorage.h>
#include <QtCore/qthread.h>
#include <QtCore/qcoreapplication.h>
@@ -72,24 +85,15 @@
#include <QtGui/qvector3d.h>
#include <QtGui/qsound.h>
#include <QGraphicsObject>
-#include <qmlcomponent.h>
-#include <private/qmlmetaproperty_p.h>
-#include <private/qmlbinding_p.h>
-#include <private/qmlvme_p.h>
-#include <private/qmlenginedebug_p.h>
-#include <private/qmlstringconverters_p.h>
-#include <private/qmlxmlhttprequest_p.h>
-#include <private/qmlsqldatabase_p.h>
-#include <private/qmltypenamescriptclass_p.h>
-#include <private/qmllistscriptclass_p.h>
-#include <qmlscriptstring.h>
-#include <private/qmlglobal_p.h>
#include <QtCore/qcryptographichash.h>
-#include <private/qmlworkerscript_p.h>
+
+#include <private/qobject_p.h>
+#include <private/qscriptdeclarativeclass_p.h>
#ifdef Q_OS_WIN // for %APPDATA%
-#include "qt_windows.h"
-#include "qlibrary.h"
+#include <qt_windows.h>
+#include <qlibrary.h>
+
#define CSIDL_APPDATA 0x001a // <username>\Application Data
#endif
@@ -440,7 +444,8 @@ void QmlEngine::setContextForObject(QObject *object, QmlContext *context)
}
data->context = context;
- context->d_func()->contextObjects.append(object);
+ data->nextContextObject = context->d_func()->contextObjects;
+ data->prevContextObject = &context->d_func()->contextObjects;
}
void qmlExecuteDeferred(QObject *object)
@@ -493,9 +498,10 @@ QObject *qmlAttachedPropertiesObjectById(int id, const QObject *object, bool cre
}
QmlDeclarativeData::QmlDeclarativeData(QmlContext *ctxt)
-: context(ctxt), bindings(0), bindingBitsSize(0), bindingBits(0),
- outerContext(0), lineNumber(0), columnNumber(0), deferredComponent(0),
- deferredIdx(0), attachedProperties(0), propertyCache(0)
+: context(ctxt), bindings(0), nextContextObject(0), prevContextObject(0),
+ bindingBitsSize(0), bindingBits(0), outerContext(0), lineNumber(0),
+ columnNumber(0), deferredComponent(0), deferredIdx(0), attachedProperties(0),
+ propertyCache(0)
{
}
@@ -505,8 +511,11 @@ void QmlDeclarativeData::destroyed(QObject *object)
deferredComponent->release();
if (attachedProperties)
delete attachedProperties;
- if (context)
- static_cast<QmlContextPrivate *>(QObjectPrivate::get(context))->contextObjects.removeAll(object);
+
+ if (nextContextObject)
+ nextContextObject->prevContextObject = prevContextObject;
+ if (prevContextObject)
+ *prevContextObject = nextContextObject;
QmlAbstractBinding *binding = bindings;
while (binding) {
@@ -1210,8 +1219,9 @@ QmlEnginePrivate::Imports::~Imports()
delete d;
}
-#include <qmlmetatype.h>
-#include <private/qmltypenamecache_p.h>
+#include "qmlmetatype.h"
+#include "qmltypenamecache_p.h"
+
static QmlTypeNameCache *cacheForNamespace(QmlEngine *engine, const QmlEnginePrivate::ImportedNamespace &set, QmlTypeNameCache *cache)
{
if (!cache)
diff --git a/src/declarative/qml/qmlengine_p.h b/src/declarative/qml/qmlengine_p.h
index 4eb9843..68dcb2d 100644
--- a/src/declarative/qml/qmlengine_p.h
+++ b/src/declarative/qml/qmlengine_p.h
@@ -53,6 +53,22 @@
// We mean it.
//
+#include "qmlengine.h"
+
+#include "qmlclassfactory_p.h"
+#include "qmlcompositetypemanager_p.h"
+#include "qpodvector_p.h"
+#include "qml.h"
+#include "qmlbasicscript_p.h"
+#include "qmlvaluetype_p.h"
+#include "qmlcontext.h"
+#include "qmlexpression.h"
+#include "qmlmetaproperty_p.h"
+#include "qmlpropertycache_p.h"
+#include "qmlobjectscriptclass_p.h"
+#include "qmlcontextscriptclass_p.h"
+#include "qmlvaluetypescriptclass_p.h"
+
#include <QtScript/QScriptClass>
#include <QtScript/QScriptValue>
#include <QtScript/QScriptString>
@@ -60,22 +76,9 @@
#include <QtCore/qlist.h>
#include <QtCore/qpair.h>
#include <QtCore/qstack.h>
-#include <private/qobject_p.h>
-#include <private/qmlclassfactory_p.h>
-#include <private/qmlcompositetypemanager_p.h>
-#include <private/qpodvector_p.h>
-#include <qml.h>
-#include <private/qmlbasicscript_p.h>
-#include <private/qmlvaluetype_p.h>
-#include <qmlcontext.h>
-#include <qmlengine.h>
-#include <qmlexpression.h>
#include <QtScript/qscriptengine.h>
-#include <private/qmlmetaproperty_p.h>
-#include <private/qmlpropertycache_p.h>
-#include <private/qmlobjectscriptclass_p.h>
-#include <private/qmlcontextscriptclass_p.h>
-#include <private/qmlvaluetypescriptclass_p.h>
+
+#include <private/qobject_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmlenginedebug.cpp b/src/declarative/qml/qmlenginedebug.cpp
index 6871236..034e4f5 100644
--- a/src/declarative/qml/qmlenginedebug.cpp
+++ b/src/declarative/qml/qmlenginedebug.cpp
@@ -40,16 +40,18 @@
****************************************************************************/
#include "qmlenginedebug_p.h"
+
#include "qmlboundsignal_p.h"
-#include <QtCore/qdebug.h>
-#include <QtCore/qmetaobject.h>
-#include <qmlengine.h>
-#include <qmlmetatype.h>
-#include <qmlmetaproperty.h>
-#include <qmlbinding.h>
+#include "qmlengine.h"
+#include "qmlmetatype.h"
+#include "qmlmetaproperty.h"
+#include "qmlbinding.h"
#include "qmlcontext_p.h"
#include "qmlwatcher_p.h"
+#include <QtCore/qdebug.h>
+#include <QtCore/qmetaobject.h>
+
QT_BEGIN_NAMESPACE
QList<QmlEngine *> QmlEngineDebugServer::m_engines;
diff --git a/src/declarative/qml/qmlenginedebug_p.h b/src/declarative/qml/qmlenginedebug_p.h
index 8ba3d38..c173fdc 100644
--- a/src/declarative/qml/qmlenginedebug_p.h
+++ b/src/declarative/qml/qmlenginedebug_p.h
@@ -53,7 +53,8 @@
// We mean it.
//
-#include <private/qmldebugservice_p.h>
+#include <qmldebugservice_p.h>
+
#include <QtCore/qurl.h>
#include <QtCore/qvariant.h>
diff --git a/src/declarative/qml/qmlerror.cpp b/src/declarative/qml/qmlerror.cpp
index 3532cf5..7cb68cf 100644
--- a/src/declarative/qml/qmlerror.cpp
+++ b/src/declarative/qml/qmlerror.cpp
@@ -40,6 +40,7 @@
****************************************************************************/
#include "qmlerror.h"
+
#include <QtCore/qdebug.h>
#include <QtCore/qfile.h>
#include <QtCore/qstringlist.h>
diff --git a/src/declarative/qml/qmlexpression.cpp b/src/declarative/qml/qmlexpression.cpp
index 2239d77..ab9f9ea 100644
--- a/src/declarative/qml/qmlexpression.cpp
+++ b/src/declarative/qml/qmlexpression.cpp
@@ -41,12 +41,15 @@
#include "qmlexpression.h"
#include "qmlexpression_p.h"
+
#include "qmlengine_p.h"
#include "qmlcontext_p.h"
#include "qmlrewrite_p.h"
-#include "QtCore/qdebug.h"
#include "qmlcompiler_p.h"
+
+#include <QtCore/qdebug.h>
#include <QtScript/qscriptprogram.h>
+
#include <private/qscriptdeclarativeclass_p.h>
Q_DECLARE_METATYPE(QList<QObject *>);
@@ -91,7 +94,7 @@ void QmlExpressionPrivate::init(QmlContext *ctxt, const QString &expr,
}
void QmlExpressionPrivate::init(QmlContext *ctxt, void *expr, QmlRefCount *rc,
- QObject *me, const QUrl &url, int lineNumber)
+ QObject *me, const QString &url, int lineNumber)
{
data->url = url;
data->line = lineNumber;
@@ -120,7 +123,7 @@ void QmlExpressionPrivate::init(QmlContext *ctxt, void *expr, QmlRefCount *rc,
if (!dd->cachedClosures.at(progIdx)) {
QScriptContext *scriptContext = QScriptDeclarativeClass::pushCleanContext(scriptEngine);
scriptContext->pushScope(ep->contextClass->newSharedContext());
- dd->cachedClosures[progIdx] = new QScriptValue(scriptEngine->evaluate(data->expression, data->url.toString(), data->line));
+ dd->cachedClosures[progIdx] = new QScriptValue(scriptEngine->evaluate(data->expression, data->url, data->line));
scriptEngine->popContext();
}
@@ -133,7 +136,7 @@ void QmlExpressionPrivate::init(QmlContext *ctxt, void *expr, QmlRefCount *rc,
#if !defined(Q_OS_SYMBIAN) //XXX Why doesn't this work?
if (!dd->cachedPrograms.at(progIdx)) {
dd->cachedPrograms[progIdx] =
- new QScriptProgram(data->expression, data->url.toString(), data->line);
+ new QScriptProgram(data->expression, data->url, data->line);
}
#endif
@@ -174,7 +177,7 @@ QmlExpression::QmlExpression()
/*! \internal */
QmlExpression::QmlExpression(QmlContext *ctxt, void *expr,
QmlRefCount *rc, QObject *me,
- const QUrl &url, int lineNumber,
+ const QString &url, int lineNumber,
QmlExpressionPrivate &dd)
: QObject(dd, 0)
{
@@ -331,7 +334,7 @@ QVariant QmlExpressionPrivate::evalQtScript(QObject *secondaryScope, bool *isUnd
if (data->expressionRewritten) {
data->expressionFunction = scriptEngine->evaluate(data->expression,
- data->url.toString(), data->line);
+ data->url, data->line);
} else {
QmlRewrite::RewriteBinding rewriteBinding;
@@ -341,7 +344,7 @@ QVariant QmlExpressionPrivate::evalQtScript(QObject *secondaryScope, bool *isUnd
scriptEngine->popContext();
return QVariant();
}
- data->expressionFunction = scriptEngine->evaluate(code, data->url.toString(), data->line);
+ data->expressionFunction = scriptEngine->evaluate(code, data->url, data->line);
}
scriptEngine->popContext();
@@ -521,7 +524,7 @@ void QmlExpression::setTrackChange(bool trackChange)
Returns the source file URL for this expression. The source location must
have been previously set by calling setSourceLocation().
*/
-QUrl QmlExpression::sourceFile() const
+QString QmlExpression::sourceFile() const
{
Q_D(const QmlExpression);
return d->data->url;
@@ -541,7 +544,7 @@ int QmlExpression::lineNumber() const
Set the location of this expression to \a line of \a url. This information
is used by the script engine.
*/
-void QmlExpression::setSourceLocation(const QUrl &url, int line)
+void QmlExpression::setSourceLocation(const QString &url, int line)
{
Q_D(QmlExpression);
d->data->url = url;
diff --git a/src/declarative/qml/qmlexpression.h b/src/declarative/qml/qmlexpression.h
index cbea58a..c019f21 100644
--- a/src/declarative/qml/qmlexpression.h
+++ b/src/declarative/qml/qmlexpression.h
@@ -42,9 +42,10 @@
#ifndef QMLEXPRESSION_H
#define QMLEXPRESSION_H
+#include "qmlerror.h"
+
#include <QtCore/qobject.h>
#include <QtCore/qvariant.h>
-#include <qmlerror.h>
QT_BEGIN_HEADER
@@ -77,9 +78,9 @@ public:
bool trackChange() const;
void setTrackChange(bool);
- QUrl sourceFile() const;
+ QString sourceFile() const;
int lineNumber() const;
- void setSourceLocation(const QUrl &fileName, int line);
+ void setSourceLocation(const QString &fileName, int line);
QObject *scopeObject() const;
@@ -96,7 +97,7 @@ Q_SIGNALS:
protected:
QmlExpression(QmlContext *, const QString &, QObject *,
QmlExpressionPrivate &dd);
- QmlExpression(QmlContext *, void *, QmlRefCount *rc, QObject *me, const QUrl &,
+ QmlExpression(QmlContext *, void *, QmlRefCount *rc, QObject *me, const QString &,
int, QmlExpressionPrivate &dd);
private Q_SLOTS:
diff --git a/src/declarative/qml/qmlexpression_p.h b/src/declarative/qml/qmlexpression_p.h
index dbb12ba..57a3ce2 100644
--- a/src/declarative/qml/qmlexpression_p.h
+++ b/src/declarative/qml/qmlexpression_p.h
@@ -53,12 +53,15 @@
// We mean it.
//
-#include "qmlbasicscript_p.h"
#include "qmlexpression.h"
+
+#include "qmlbasicscript_p.h"
#include "qmlengine_p.h"
-#include <private/qguard_p.h>
+
#include <QtScript/qscriptvalue.h>
+#include <private/qguard_p.h>
+
QT_BEGIN_NAMESPACE
class QmlAbstractExpression
@@ -103,7 +106,7 @@ public:
bool isShared;
- QUrl url;
+ QString url; // This is a QString for a reason. QUrls are slooooooow...
int line;
struct SignalGuard : public QGuard<QObject> {
@@ -143,7 +146,7 @@ public:
};
void init(QmlContext *, const QString &, QObject *);
- void init(QmlContext *, void *, QmlRefCount *, QObject *, const QUrl &, int);
+ void init(QmlContext *, void *, QmlRefCount *, QObject *, const QString &, int);
QmlExpressionData *data;
diff --git a/src/declarative/qml/qmlglobalscriptclass.cpp b/src/declarative/qml/qmlglobalscriptclass.cpp
index fd270e3..478a874 100644
--- a/src/declarative/qml/qmlglobalscriptclass.cpp
+++ b/src/declarative/qml/qmlglobalscriptclass.cpp
@@ -40,6 +40,7 @@
****************************************************************************/
#include "qmlglobalscriptclass_p.h"
+
#include <QtScript/qscriptstring.h>
#include <QtScript/qscriptengine.h>
#include <QtScript/qscriptvalueiterator.h>
diff --git a/src/declarative/qml/qmlinfo.cpp b/src/declarative/qml/qmlinfo.cpp
index bbd6022..2dbc968 100644
--- a/src/declarative/qml/qmlinfo.cpp
+++ b/src/declarative/qml/qmlinfo.cpp
@@ -40,8 +40,10 @@
****************************************************************************/
#include "qmlinfo.h"
-#include <private/qmldeclarativedata_p.h>
-#include <qmlcontext.h>
+
+#include "qmldeclarativedata_p.h"
+#include "qmlcontext.h"
+
#include <QtGui/qapplication.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmlinstruction.cpp b/src/declarative/qml/qmlinstruction.cpp
index 65d070c..010010d 100644
--- a/src/declarative/qml/qmlinstruction.cpp
+++ b/src/declarative/qml/qmlinstruction.cpp
@@ -40,7 +40,9 @@
****************************************************************************/
#include "qmlinstruction_p.h"
+
#include "qmlcompiler_p.h"
+
#include <QtCore/qdebug.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmlintegercache.cpp b/src/declarative/qml/qmlintegercache.cpp
index 1103ef2..1968873 100644
--- a/src/declarative/qml/qmlintegercache.cpp
+++ b/src/declarative/qml/qmlintegercache.cpp
@@ -40,8 +40,9 @@
****************************************************************************/
#include "qmlintegercache_p.h"
-#include <private/qmlengine_p.h>
-#include <qmlmetatype.h>
+
+#include "qmlengine_p.h"
+#include "qmlmetatype.h"
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmlintegercache_p.h b/src/declarative/qml/qmlintegercache_p.h
index 2b10dcc..d9df52a 100644
--- a/src/declarative/qml/qmlintegercache_p.h
+++ b/src/declarative/qml/qmlintegercache_p.h
@@ -53,11 +53,13 @@
// We mean it.
//
-#include <private/qmlrefcount_p.h>
-#include <private/qscriptdeclarativeclass_p.h>
-#include <private/qmlcleanup_p.h>
+#include "qmlrefcount_p.h"
+#include "qmlcleanup_p.h"
+
#include <QtCore/qhash.h>
+#include <private/qscriptdeclarativeclass_p.h>
+
QT_BEGIN_NAMESPACE
class QmlType;
diff --git a/src/declarative/qml/qmllist.h b/src/declarative/qml/qmllist.h
index e51b078..ad2d874 100644
--- a/src/declarative/qml/qmllist.h
+++ b/src/declarative/qml/qmllist.h
@@ -42,7 +42,7 @@
#ifndef QMLLIST_H
#define QMLLIST_H
-#include <qmlprivate.h>
+#include "qmlprivate.h"
QT_BEGIN_HEADER
diff --git a/src/declarative/qml/qmllistscriptclass.cpp b/src/declarative/qml/qmllistscriptclass.cpp
index a180e49..d93498d 100644
--- a/src/declarative/qml/qmllistscriptclass.cpp
+++ b/src/declarative/qml/qmllistscriptclass.cpp
@@ -40,7 +40,8 @@
****************************************************************************/
#include "qmllistscriptclass_p.h"
-#include <private/qmlengine_p.h>
+
+#include "qmlengine_p.h"
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmlmetaproperty.cpp b/src/declarative/qml/qmlmetaproperty.cpp
index 8bde318..2b3b385 100644
--- a/src/declarative/qml/qmlmetaproperty.cpp
+++ b/src/declarative/qml/qmlmetaproperty.cpp
@@ -41,18 +41,22 @@
#include "qmlmetaproperty.h"
#include "qmlmetaproperty_p.h"
+
#include "qmlcompositetypedata_p.h"
-#include <qml.h>
-#include <private/qfxperf_p_p.h>
-#include <QStringList>
+#include "qml.h"
#include "qmlbinding.h"
-#include <qmlcontext.h>
+#include "qmlcontext.h"
#include "qmlboundsignal_p.h"
-#include <math.h>
+#include "qmlengine.h"
+#include "qmlengine_p.h"
+#include "qmldeclarativedata_p.h"
+
+#include <qfxperf_p_p.h>
+
+#include <QStringList>
#include <QtCore/qdebug.h>
-#include <qmlengine.h>
-#include <private/qmlengine_p.h>
-#include <private/qmldeclarativedata_p.h>
+
+#include <math.h>
Q_DECLARE_METATYPE(QList<QObject *>);
@@ -293,7 +297,7 @@ const char *QmlMetaProperty::propertyTypeName() const
else valueType = QmlValueTypeFactory::valueType(d->core.propType);
Q_ASSERT(valueType);
- const char *rv = valueType->metaObject()->property(d->valueTypeCoreIdx).typeName();
+ const char *rv = valueType->metaObject()->property(d->valueType.valueTypeCoreIdx).typeName();
if (!ep) delete valueType;
@@ -315,8 +319,7 @@ bool QmlMetaProperty::operator==(const QmlMetaProperty &other) const
// from the other members
return d->object == other.d->object &&
d->core == other.d->core &&
- d->valueTypeCoreIdx == other.d->valueTypeCoreIdx &&
- d->valueTypePropType == other.d->valueTypePropType &&
+ d->valueType == other.d->valueType &&
d->attachedFunc == other.d->attachedFunc;
}
@@ -333,7 +336,7 @@ int QmlMetaPropertyPrivate::propertyType() const
{
uint type = q->type();
if (type & QmlMetaProperty::ValueTypeProperty) {
- return valueTypePropType;
+ return valueType.valueTypePropType;
} else if (type & QmlMetaProperty::Attached) {
return qMetaTypeId<QObject *>();
} else if (type & QmlMetaProperty::Property) {
@@ -355,7 +358,7 @@ QmlMetaProperty::Type QmlMetaProperty::type() const
return SignalProperty;
else if (d->attachedFunc != -1)
return Attached;
- else if (d->valueTypeCoreIdx != -1)
+ else if (d->valueType.valueTypeCoreIdx != -1)
return (Type)(Property | ValueTypeProperty);
else if (d->core.isValid())
return (Type)(Property | ((d->isDefaultProperty)?Default:0));
@@ -398,8 +401,7 @@ QmlMetaProperty &QmlMetaProperty::operator=(const QmlMetaProperty &other)
d->isDefaultProperty = other.d->isDefaultProperty;
d->core = other.d->core;
- d->valueTypeCoreIdx = other.d->valueTypeCoreIdx;
- d->valueTypePropType = other.d->valueTypePropType;
+ d->valueType = other.d->valueType;
d->attachedFunc = other.d->attachedFunc;
return *this;
@@ -449,29 +451,34 @@ bool QmlMetaProperty::isValid() const
*/
QString QmlMetaProperty::name() const
{
- if (type() & ValueTypeProperty) {
- QString rv = d->core.name + QLatin1String(".");
+ if (!d->isNameCached) {
+ // ###
+ if (!d->object) {
+ } else if (type() & ValueTypeProperty) {
+ QString rv = d->core.name(d->object) + QLatin1String(".");
- QmlEnginePrivate *ep = d->context?QmlEnginePrivate::get(d->context->engine()):0;
- QmlValueType *valueType = 0;
- if (ep) valueType = ep->valueTypes[d->core.propType];
- else valueType = QmlValueTypeFactory::valueType(d->core.propType);
- Q_ASSERT(valueType);
+ QmlEnginePrivate *ep = d->context?QmlEnginePrivate::get(d->context->engine()):0;
+ QmlValueType *valueType = 0;
+ if (ep) valueType = ep->valueTypes[d->core.propType];
+ else valueType = QmlValueTypeFactory::valueType(d->core.propType);
+ Q_ASSERT(valueType);
- rv += QString::fromUtf8(valueType->metaObject()->property(d->valueTypeCoreIdx).name());
+ rv += QString::fromUtf8(valueType->metaObject()->property(d->valueType.valueTypeCoreIdx).name());
- if (!ep) delete valueType;
+ if (!ep) delete valueType;
- return rv;
- } else {
- if (type() & SignalProperty) {
- QString name = QLatin1String("on") + d->core.name;
+ d->nameCache = rv;
+ } else if (type() & SignalProperty) {
+ QString name = QLatin1String("on") + d->core.name(d->object);
name[2] = name.at(2).toUpper();
- return name;
+ d->nameCache = name;
} else {
- return d->core.name;
+ d->nameCache = d->core.name(d->object);
}
+ d->isNameCached = true;
}
+
+ return d->nameCache;
}
/*!
@@ -694,7 +701,7 @@ QVariant QmlMetaPropertyPrivate::readValueProperty()
valueType->read(object, core.coreIndex);
QVariant rv =
- valueType->metaObject()->property(valueTypeCoreIdx).read(valueType);
+ valueType->metaObject()->property(this->valueType.valueTypeCoreIdx).read(valueType);
if (!ep) delete valueType;
return rv;
@@ -769,8 +776,8 @@ bool QmlMetaPropertyPrivate::writeValueProperty(const QVariant &value,
writeBack->read(object, core.coreIndex);
QmlPropertyCache::Data data = core;
- data.coreIndex = valueTypeCoreIdx;
- data.propType = valueTypePropType;
+ data.coreIndex = valueType.valueTypeCoreIdx;
+ data.propType = valueType.valueTypePropType;
rv = write(writeBack, data, value, context, flags);
writeBack->write(object, core.coreIndex, flags);
@@ -1048,92 +1055,65 @@ int QmlMetaProperty::coreIndex() const
/*! \internal */
int QmlMetaProperty::valueTypeCoreIndex() const
{
- return d->valueTypeCoreIdx;
+ return d->valueType.valueTypeCoreIdx;
}
Q_GLOBAL_STATIC(QmlValueTypeFactory, qmlValueTypes);
-/*!
- Returns the property information serialized into a single integer.
- QmlMetaProperty uses the bottom 24 bits only.
-*/
-quint32 QmlMetaPropertyPrivate::saveValueType(int core, int valueType)
+
+struct SerializedData {
+ QmlMetaProperty::Type type;
+ QmlPropertyCache::Data core;
+};
+
+struct ValueTypeSerializedData : public SerializedData {
+ QmlPropertyCache::ValueTypeData valueType;
+};
+
+QByteArray QmlMetaPropertyPrivate::saveValueType(const QMetaObject *metaObject, int index,
+ int subIndex, int subType)
{
- Q_ASSERT(core <= 0x7FF);
- Q_ASSERT(valueType <= 0x7F);
- quint32 rv = 0;
- rv = (QmlMetaProperty::ValueTypeProperty | QmlMetaProperty::Property) << 18;
- rv |= core;
- rv |= valueType << 11;
+ ValueTypeSerializedData sd;
+ sd.type = QmlMetaProperty::ValueTypeProperty;
+ sd.core.load(metaObject->property(index));
+ sd.valueType.valueTypeCoreIdx = subIndex;
+ sd.valueType.valueTypePropType = subType;
+
+ QByteArray rv((const char *)&sd, sizeof(sd));
return rv;
}
-quint32 QmlMetaPropertyPrivate::saveProperty(int core)
+QByteArray QmlMetaPropertyPrivate::saveProperty(const QMetaObject *metaObject, int index)
{
- Q_ASSERT(core <= 0x7FF);
- quint32 rv = 0;
- rv = (QmlMetaProperty::Property) << 18;
- rv |= core;
+ SerializedData sd;
+ sd.type = QmlMetaProperty::Property;
+ sd.core.load(metaObject->property(index));
+
+ QByteArray rv((const char *)&sd, sizeof(sd));
return rv;
}
-/*!
- Restore a QmlMetaProperty from a previously saved \a id.
- \a obj must be the same object as used in the previous call
- to QmlMetaProperty::save(). Only the bottom 24-bits are
- used, the high bits can be set to any value.
-*/
-void QmlMetaPropertyPrivate::restore(QmlMetaProperty &prop, quint32 id,
- QObject *obj, QmlContext *ctxt)
+QmlMetaProperty
+QmlMetaPropertyPrivate::restore(const QByteArray &data, QObject *object, QmlContext *ctxt)
{
- QmlMetaPropertyPrivate *d = prop.d;
-
- QmlEnginePrivate *enginePrivate = 0;
- if (ctxt && ctxt->engine())
- enginePrivate = QmlEnginePrivate::get(ctxt->engine());
-
- d->object = obj;
- d->context = ctxt;
-
- id &= 0xFFFFFF;
- uint type = id >> 18;
- id &= 0xFFFF;
-
- if (type & QmlMetaProperty::Attached) {
- d->attachedFunc = id;
- } else if (type & QmlMetaProperty::ValueTypeProperty) {
- int coreIdx = id & 0x7FF;
- int valueTypeIdx = id >> 11;
+ QmlMetaProperty prop;
- QMetaProperty p(obj->metaObject()->property(coreIdx));
- Q_ASSERT(p.type() < QVariant::UserType);
-
- QmlValueType *valueType = qmlValueTypes()->valueTypes[p.type()];
-
- QMetaProperty p2(valueType->metaObject()->property(valueTypeIdx));
-
- d->core.load(p);
- d->valueTypeCoreIdx = valueTypeIdx;
- d->valueTypePropType = p2.userType();
- } else if (type & QmlMetaProperty::Property) {
-
- QmlPropertyCache *cache = enginePrivate?enginePrivate->cache(obj):0;
-
- if (cache) {
- QmlPropertyCache::Data *data = cache->property(id);
- if (data) d->core = *data;
- } else {
- QMetaProperty p(obj->metaObject()->property(id));
- d->core.load(p);
- }
+ if (data.isEmpty())
+ return prop;
- } else if (type & QmlMetaProperty::SignalProperty) {
+ prop.d->object = object;
+ prop.d->context = ctxt;
- QMetaMethod method = obj->metaObject()->method(id);
- d->core.load(method);
- } else {
- prop = QmlMetaProperty();
+ const SerializedData *sd = (const SerializedData *)data.constData();
+ if (sd->type == QmlMetaProperty::Property) {
+ prop.d->core = sd->core;
+ } else if(sd->type == QmlMetaProperty::ValueTypeProperty) {
+ const ValueTypeSerializedData *vt = (const ValueTypeSerializedData *)sd;
+ prop.d->core = vt->core;
+ prop.d->valueType = vt->valueType;
}
+
+ return prop;
}
/*!
@@ -1166,8 +1146,8 @@ QmlMetaProperty QmlMetaProperty::createProperty(QObject *obj,
QMetaProperty vtProp = typeObject->metaObject()->property(idx);
QmlMetaProperty p = prop;
- p.d->valueTypeCoreIdx = idx;
- p.d->valueTypePropType = vtProp.userType();
+ p.d->valueType.valueTypeCoreIdx = idx;
+ p.d->valueType.valueTypePropType = vtProp.userType();
return p;
}
diff --git a/src/declarative/qml/qmlmetaproperty_p.h b/src/declarative/qml/qmlmetaproperty_p.h
index d225afa..b4d72bb 100644
--- a/src/declarative/qml/qmlmetaproperty_p.h
+++ b/src/declarative/qml/qmlmetaproperty_p.h
@@ -54,8 +54,10 @@
//
#include "qmlmetaproperty.h"
+
+#include "qmlpropertycache_p.h"
+
#include <private/qobject_p.h>
-#include <private/qmlpropertycache_p.h>
QT_BEGIN_NAMESPACE
@@ -64,25 +66,26 @@ class QmlMetaPropertyPrivate
{
public:
QmlMetaPropertyPrivate()
- : q(0), context(0), object(0), isDefaultProperty(false), valueTypeCoreIdx(-1),
- valueTypePropType(0), attachedFunc(-1) {}
+ : q(0), context(0), object(0), isDefaultProperty(false), isNameCached(false),
+ attachedFunc(-1) {}
QmlMetaPropertyPrivate(const QmlMetaPropertyPrivate &other)
: q(0), context(other.context), object(other.object),
- isDefaultProperty(other.isDefaultProperty), core(other.core),
- valueTypeCoreIdx(other.valueTypeCoreIdx),
- valueTypePropType(other.valueTypePropType), attachedFunc(other.attachedFunc) {}
+ isDefaultProperty(other.isDefaultProperty), isNameCached(other.isNameCached),
+ core(other.core), nameCache(other.nameCache),
+ valueType(other.valueType), attachedFunc(other.attachedFunc) {}
QmlMetaProperty *q;
QmlContext *context;
QGuard<QObject> object;
- bool isDefaultProperty;
+ bool isDefaultProperty:1;
+ bool isNameCached:1;
QmlPropertyCache::Data core;
+ QString nameCache;
// Describes the "virtual" value-type sub-property.
- int valueTypeCoreIdx; // The prop index of the access property on the value type wrapper
- int valueTypePropType; // The QVariant::Type of access property on the value type wrapper
+ QmlPropertyCache::ValueTypeData valueType;
// The attached property accessor
int attachedFunc;
@@ -104,9 +107,9 @@ public:
static QmlAbstractBinding *setBinding(QObject *, const QmlPropertyCache::Data &, QmlAbstractBinding *,
QmlMetaProperty::WriteFlags flags = QmlMetaProperty::DontRemoveBinding);
- static void Q_AUTOTEST_EXPORT restore(QmlMetaProperty &prop, quint32, QObject *, QmlContext * = 0);
- static quint32 Q_AUTOTEST_EXPORT saveValueType(int, int);
- static quint32 Q_AUTOTEST_EXPORT saveProperty(int);
+ static QByteArray saveValueType(const QMetaObject *, int, int, int);
+ static QByteArray saveProperty(const QMetaObject *, int);
+ static QmlMetaProperty restore(const QByteArray &, QObject *, QmlContext * = 0);
static bool equal(const QMetaObject *, const QMetaObject *);
static bool canConvert(const QMetaObject *from, const QMetaObject *to);
diff --git a/src/declarative/qml/qmlmetatype.cpp b/src/declarative/qml/qmlmetatype.cpp
index 46d967b..edf8974 100644
--- a/src/declarative/qml/qmlmetatype.cpp
+++ b/src/declarative/qml/qmlmetatype.cpp
@@ -40,13 +40,15 @@
****************************************************************************/
#include "qmlmetatype.h"
+
+#include "qmlproxymetaobject_p.h"
+#include "qmlcustomparser_p.h"
+
#include <QtCore/qdebug.h>
#include <QtCore/qstringlist.h>
#include <QtCore/qmetaobject.h>
#include <QtCore/qbitarray.h>
#include <QtCore/qreadwritelock.h>
-#include <private/qmlproxymetaobject_p.h>
-
#include <qmetatype.h>
#include <qobjectdefs.h>
#include <qdatetime.h>
@@ -56,10 +58,10 @@
#include <qstringlist.h>
#include <qvector.h>
#include <qlocale.h>
-#include <ctype.h>
#include <QtCore/qcryptographichash.h>
#include <QtScript/qscriptvalue.h>
-#include <private/qmlcustomparser_p.h>
+
+#include <ctype.h>
#ifdef QT_BOOTSTRAPPED
# ifndef QT_NO_GEOM_VARIANT
@@ -921,6 +923,7 @@ QList<QmlType*> QmlMetaType::qmlTypes()
#include <QtGui/qsizepolicy.h>
#include <QtGui/qkeysequence.h>
#include <QtGui/qpen.h>
+
//#include <QtGui/qtextlength.h>
#include <QtGui/qtextformat.h>
#include <QtGui/qmatrix.h>
@@ -930,6 +933,7 @@ QList<QmlType*> QmlMetaType::qmlTypes()
#include <QtGui/qvector3d.h>
#include <QtGui/qvector4d.h>
#include <QtGui/qquaternion.h>
+
Q_DECLARE_METATYPE(QScriptValue);
/*!
diff --git a/src/declarative/qml/qmlmetatype.h b/src/declarative/qml/qmlmetatype.h
index 99d6743..d17b44f 100644
--- a/src/declarative/qml/qmlmetatype.h
+++ b/src/declarative/qml/qmlmetatype.h
@@ -42,13 +42,14 @@
#ifndef QMLMETATYPE_H
#define QMLMETATYPE_H
+#include "qmlprivate.h"
+#include "qmlparserstatus.h"
+#include "qmlpropertyvaluesource.h"
+#include "qmlpropertyvalueinterceptor.h"
+
#include <QtCore/qglobal.h>
#include <QtCore/qvariant.h>
#include <QtCore/qbitarray.h>
-#include <qmlprivate.h>
-#include <qmlparserstatus.h>
-#include <qmlpropertyvaluesource.h>
-#include <qmlpropertyvalueinterceptor.h>
QT_BEGIN_HEADER
diff --git a/src/declarative/qml/qmlobjectscriptclass.cpp b/src/declarative/qml/qmlobjectscriptclass.cpp
index f78a12a..86ee29c 100644
--- a/src/declarative/qml/qmlobjectscriptclass.cpp
+++ b/src/declarative/qml/qmlobjectscriptclass.cpp
@@ -40,15 +40,18 @@
****************************************************************************/
#include "qmlobjectscriptclass_p.h"
-#include <private/qmlengine_p.h>
-#include <private/qguard_p.h>
-#include <private/qmlcontext_p.h>
-#include <private/qmldeclarativedata_p.h>
-#include <private/qmltypenamescriptclass_p.h>
-#include <private/qmllistscriptclass_p.h>
-#include <qmlbinding.h>
+
+#include "qmlengine_p.h"
+#include "qmlcontext_p.h"
+#include "qmldeclarativedata_p.h"
+#include "qmltypenamescriptclass_p.h"
+#include "qmllistscriptclass_p.h"
+#include "qmlbinding.h"
+
#include <QtCore/qtimer.h>
+#include <private/qguard_p.h>
+
QT_BEGIN_NAMESPACE
struct ObjectData : public QScriptDeclarativeClass::Object {
diff --git a/src/declarative/qml/qmlobjectscriptclass_p.h b/src/declarative/qml/qmlobjectscriptclass_p.h
index 6169812..d8ef1d2 100644
--- a/src/declarative/qml/qmlobjectscriptclass_p.h
+++ b/src/declarative/qml/qmlobjectscriptclass_p.h
@@ -53,10 +53,12 @@
// We mean it.
//
+#include "qmlpropertycache_p.h"
+#include "qmltypenamecache_p.h"
+
#include <QtScript/qscriptclass.h>
+
#include <private/qscriptdeclarativeclass_p.h>
-#include <private/qmlpropertycache_p.h>
-#include <private/qmltypenamecache_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmlparser.cpp b/src/declarative/qml/qmlparser.cpp
index 402c93e..02a9e70 100644
--- a/src/declarative/qml/qmlparser.cpp
+++ b/src/declarative/qml/qmlparser.cpp
@@ -40,22 +40,25 @@
****************************************************************************/
#include "qmlparser_p.h"
+
+#include "qmlpropertyvaluesource.h"
+#include "qmlvme_p.h"
+#include "qml.h"
+#include "qmlcomponent_p.h"
+#include "qmlcomponent.h"
+#include "qmetaobjectbuilder_p.h"
+#include "qmlvmemetaobject_p.h"
+#include "qmlcompiler_p.h"
+#include "parser/qmljsast_p.h"
+#include "parser/qmljsengine_p.h"
+
+#include <qfxperf_p_p.h>
+
#include <QStack>
-#include <qmlpropertyvaluesource.h>
#include <QColor>
#include <QPointF>
#include <QSizeF>
#include <QRectF>
-#include <private/qmlvme_p.h>
-#include <private/qfxperf_p_p.h>
-#include <qml.h>
-#include "private/qmlcomponent_p.h"
-#include <qmlcomponent.h>
-#include "private/qmetaobjectbuilder_p.h"
-#include <private/qmlvmemetaobject_p.h>
-#include <private/qmlcompiler_p.h>
-#include "parser/qmljsast_p.h"
-#include "parser/qmljsengine_p.h"
#include <QtDebug>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmlparser_p.h b/src/declarative/qml/qmlparser_p.h
index 73bb498..aa7a762 100644
--- a/src/declarative/qml/qmlparser_p.h
+++ b/src/declarative/qml/qmlparser_p.h
@@ -53,11 +53,13 @@
// We mean it.
//
+#include "qml.h"
+#include "qmlrefcount_p.h"
+
#include <QtCore/QByteArray>
#include <QtCore/QList>
#include <QtCore/qstring.h>
-#include <qml.h>
-#include <private/qmlrefcount_p.h>
+
#include <private/qobject_p.h>
QT_BEGIN_HEADER
diff --git a/src/declarative/qml/qmlprivate.h b/src/declarative/qml/qmlprivate.h
index 0eec43c..dd98110 100644
--- a/src/declarative/qml/qmlprivate.h
+++ b/src/declarative/qml/qmlprivate.h
@@ -43,6 +43,7 @@
#define QMLPRIVATE_H
#include <QtCore/qglobal.h>
+
#ifndef Q_OS_WIN
#include <stdint.h>
#endif
diff --git a/src/declarative/qml/qmlpropertycache.cpp b/src/declarative/qml/qmlpropertycache.cpp
index ff4991c..7e3a1c4 100644
--- a/src/declarative/qml/qmlpropertycache.cpp
+++ b/src/declarative/qml/qmlpropertycache.cpp
@@ -40,8 +40,9 @@
****************************************************************************/
#include "qmlpropertycache_p.h"
-#include <private/qmlengine_p.h>
-#include <qmlbinding.h>
+
+#include "qmlengine_p.h"
+#include "qmlbinding.h"
QT_BEGIN_NAMESPACE
@@ -54,7 +55,6 @@ void QmlPropertyCache::Data::load(const QMetaProperty &p)
propType = qMetaTypeId<QVariant>();
coreIndex = p.propertyIndex();
notifyIndex = p.notifySignalIndex();
- name = QString::fromUtf8(p.name());
if (p.isConstant())
flags |= Data::IsConstant;
@@ -80,11 +80,6 @@ void QmlPropertyCache::Data::load(const QMetaProperty &p)
void QmlPropertyCache::Data::load(const QMetaMethod &m)
{
- name = QString::fromUtf8(m.signature());
- int parenIdx = name.indexOf(QLatin1Char('('));
- Q_ASSERT(parenIdx != -1);
- name = name.left(parenIdx);
-
coreIndex = m.methodIndex();
flags |= Data::IsFunction;
}
@@ -224,4 +219,31 @@ QmlPropertyCache::property(const QString &str) const
return stringCache.value(str);
}
+QString QmlPropertyCache::Data::name(QObject *object)
+{
+ if (!object)
+ return QString();
+
+ return name(object->metaObject());
+}
+
+QString QmlPropertyCache::Data::name(const QMetaObject *metaObject)
+{
+ if (!metaObject || coreIndex == -1)
+ return QString();
+
+ if (flags & IsFunction) {
+ QMetaMethod m = metaObject->method(coreIndex);
+
+ QString name = QString::fromUtf8(m.signature());
+ int parenIdx = name.indexOf(QLatin1Char('('));
+ if (parenIdx != -1)
+ name = name.left(parenIdx);
+ return name;
+ } else {
+ QMetaProperty p = metaObject->property(coreIndex);
+ return QString::fromUtf8(p.name());
+ }
+}
+
QT_END_NAMESPACE
diff --git a/src/declarative/qml/qmlpropertycache_p.h b/src/declarative/qml/qmlpropertycache_p.h
index 8f19a8b..7cee606 100644
--- a/src/declarative/qml/qmlpropertycache_p.h
+++ b/src/declarative/qml/qmlpropertycache_p.h
@@ -53,11 +53,13 @@
// We mean it.
//
-#include <private/qmlrefcount_p.h>
-#include <private/qscriptdeclarativeclass_p.h>
-#include <private/qmlcleanup_p.h>
+#include "qmlrefcount_p.h"
+#include "qmlcleanup_p.h"
+
#include <QtCore/qvector.h>
+#include <private/qscriptdeclarativeclass_p.h>
+
QT_BEGIN_NAMESPACE
class QmlEngine;
@@ -78,7 +80,7 @@ public:
IsWritable = 0x00000002,
// These are mutually exclusive
- IsFunction = 0x00000004,
+ IsFunction = 0x00000004,
IsQObjectDerived = 0x00000008,
IsEnumType = 0x00000010,
IsQmlList = 0x00000020,
@@ -94,18 +96,19 @@ public:
int propType;
int coreIndex;
int notifyIndex;
- QString name;
void load(const QMetaProperty &);
void load(const QMetaMethod &);
+ QString name(QObject *);
+ QString name(const QMetaObject *);
};
-#if 0
struct ValueTypeData {
+ inline ValueTypeData();
+ inline bool operator==(const ValueTypeData &);
int valueTypeCoreIdx; // The prop index of the access property on the value type wrapper
int valueTypePropType; // The QVariant::Type of access property on the value type wrapper
};
-#endif
static QmlPropertyCache *create(QmlEngine *, const QMetaObject *);
static Data create(const QMetaObject *, const QString &);
@@ -142,8 +145,7 @@ bool QmlPropertyCache::Data::operator==(const QmlPropertyCache::Data &other)
return flags == other.flags &&
propType == other.propType &&
coreIndex == other.coreIndex &&
- notifyIndex == other.notifyIndex &&
- name == other.name;
+ notifyIndex == other.notifyIndex;
}
QmlPropertyCache::Data *
@@ -152,6 +154,17 @@ QmlPropertyCache::property(const QScriptDeclarativeClass::Identifier &id) const
return identifierCache.value(id);
}
+QmlPropertyCache::ValueTypeData::ValueTypeData()
+: valueTypeCoreIdx(-1), valueTypePropType(0)
+{
+}
+
+bool QmlPropertyCache::ValueTypeData::operator==(const ValueTypeData &o)
+{
+ return valueTypeCoreIdx == o.valueTypeCoreIdx &&
+ valueTypePropType == o.valueTypePropType;
+}
+
QT_END_NAMESPACE
#endif // QMLPROPERTYCACHE_P_H
diff --git a/src/declarative/qml/qmlpropertyvalueinterceptor.cpp b/src/declarative/qml/qmlpropertyvalueinterceptor.cpp
index c8a3f74..9d0d7f6 100644
--- a/src/declarative/qml/qmlpropertyvalueinterceptor.cpp
+++ b/src/declarative/qml/qmlpropertyvalueinterceptor.cpp
@@ -40,6 +40,7 @@
****************************************************************************/
#include "qmlpropertyvalueinterceptor.h"
+
#include "qml.h"
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmlpropertyvaluesource.cpp b/src/declarative/qml/qmlpropertyvaluesource.cpp
index 7c42e2f..50f2f8c 100644
--- a/src/declarative/qml/qmlpropertyvaluesource.cpp
+++ b/src/declarative/qml/qmlpropertyvaluesource.cpp
@@ -40,6 +40,7 @@
****************************************************************************/
#include "qmlpropertyvaluesource.h"
+
#include "qml.h"
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmlproxymetaobject_p.h b/src/declarative/qml/qmlproxymetaobject_p.h
index 7f9163c..f983030 100644
--- a/src/declarative/qml/qmlproxymetaobject_p.h
+++ b/src/declarative/qml/qmlproxymetaobject_p.h
@@ -53,11 +53,13 @@
// We mean it.
//
+#include "qmetaobjectbuilder_p.h"
+#include "qml.h"
+
#include <QtCore/QMetaObject>
#include <QtCore/QObject>
-#include <private/qmetaobjectbuilder_p.h>
+
#include <private/qobject_p.h>
-#include <qml.h>
QT_BEGIN_HEADER
diff --git a/src/declarative/qml/qmlrewrite.cpp b/src/declarative/qml/qmlrewrite.cpp
index 2964a75..34bd198 100644
--- a/src/declarative/qml/qmlrewrite.cpp
+++ b/src/declarative/qml/qmlrewrite.cpp
@@ -40,8 +40,10 @@
****************************************************************************/
#include "qmlrewrite_p.h"
+
+#include "qmlglobal_p.h"
+
#include <QtCore/qdebug.h>
-#include <private/qmlglobal_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmlscriptparser.cpp b/src/declarative/qml/qmlscriptparser.cpp
index 23c050c..35234ec 100644
--- a/src/declarative/qml/qmlscriptparser.cpp
+++ b/src/declarative/qml/qmlscriptparser.cpp
@@ -40,23 +40,22 @@
****************************************************************************/
#include "qmlscriptparser_p.h"
-#include "qmlparser_p.h"
+#include "qmlparser_p.h"
#include "parser/qmljsengine_p.h"
#include "parser/qmljsparser_p.h"
#include "parser/qmljslexer_p.h"
#include "parser/qmljsnodepool_p.h"
#include "parser/qmljsastvisitor_p.h"
#include "parser/qmljsast_p.h"
-
#include "qmlrewrite_p.h"
+#include <qfxperf_p_p.h>
+
#include <QStack>
#include <QCoreApplication>
#include <QtDebug>
-#include <private/qfxperf_p_p.h>
-
QT_BEGIN_NAMESPACE
using namespace QmlJS;
diff --git a/src/declarative/qml/qmlscriptparser_p.h b/src/declarative/qml/qmlscriptparser_p.h
index cb3e9e9..16888aa 100644
--- a/src/declarative/qml/qmlscriptparser_p.h
+++ b/src/declarative/qml/qmlscriptparser_p.h
@@ -52,10 +52,11 @@
// We mean it.
//
+#include "qmlerror.h"
+#include "qmlparser_p.h"
+
#include <QtCore/QList>
#include <QtCore/QUrl>
-#include <qmlerror.h>
-#include "qmlparser_p.h"
QT_BEGIN_HEADER
diff --git a/src/declarative/qml/qmlsqldatabase.cpp b/src/declarative/qml/qmlsqldatabase.cpp
index 5a7e94c..3ddfec3 100644
--- a/src/declarative/qml/qmlsqldatabase.cpp
+++ b/src/declarative/qml/qmlsqldatabase.cpp
@@ -39,9 +39,14 @@
**
****************************************************************************/
+#include "qmlsqldatabase_p.h"
+
+#include "qmlengine.h"
+#include "qmlengine_p.h"
+#include "qmlrefcount_p.h"
+#include "qmlengine_p.h"
+
#include <QtCore/qobject.h>
-#include <qmlengine.h>
-#include <private/qmlengine_p.h>
#include <QtScript/qscriptvalue.h>
#include <QtScript/qscriptvalueiterator.h>
#include <QtScript/qscriptcontext.h>
@@ -51,11 +56,8 @@
#include <QtSql/qsqlquery.h>
#include <QtSql/qsqlerror.h>
#include <QtSql/qsqlrecord.h>
-#include <private/qmlrefcount_p.h>
-#include <private/qmlengine_p.h>
#include <QtCore/qstack.h>
#include <QtCore/qcryptographichash.h>
-#include "qmlsqldatabase_p.h"
#include <QtCore/qsettings.h>
#include <QtCore/qdir.h>
#include <QtCore/qdebug.h>
@@ -260,8 +262,9 @@ static QScriptValue qmlsqldatabase_change_version(QScriptContext *context, QScri
instance.setProperty(QLatin1String("executeSql"), engine->newFunction(qmlsqldatabase_executeSql,1));
QScriptValue tx = engine->newVariant(instance,qVariantFromValue(db));
- if (from_version!=context->thisObject().property(QLatin1String("version")).toString()) {
- THROW_SQL(2,QmlEngine::tr("Version mismatch"));
+ QString foundvers = context->thisObject().property(QLatin1String("version")).toString();
+ if (from_version!=foundvers) {
+ THROW_SQL(2,QmlEngine::tr("Version mismatch: expected %1, found %2").arg(from_version).arg(foundvers));
return engine->undefinedValue();
}
diff --git a/src/declarative/qml/qmlstringconverters.cpp b/src/declarative/qml/qmlstringconverters.cpp
index 0f6ada9..c68654f 100644
--- a/src/declarative/qml/qmlstringconverters.cpp
+++ b/src/declarative/qml/qmlstringconverters.cpp
@@ -39,13 +39,14 @@
**
****************************************************************************/
+#include "qmlstringconverters_p.h"
+
#include <QtGui/qcolor.h>
#include <QtGui/qvector3d.h>
#include <QtCore/qpoint.h>
#include <QtCore/qrect.h>
#include <QtCore/qsize.h>
#include <QtCore/qvariant.h>
-#include "qmlstringconverters_p.h"
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmlstringconverters_p.h b/src/declarative/qml/qmlstringconverters_p.h
index a31f06a..380a904 100644
--- a/src/declarative/qml/qmlstringconverters_p.h
+++ b/src/declarative/qml/qmlstringconverters_p.h
@@ -54,6 +54,8 @@
//
#include <QtCore/qglobal.h>
+#include <QtCore/qvariant.h>
+
class QColor;
class QPointF;
class QSizeF;
diff --git a/src/declarative/qml/qmltypenamecache.cpp b/src/declarative/qml/qmltypenamecache.cpp
index 5c0d23b..7e68492 100644
--- a/src/declarative/qml/qmltypenamecache.cpp
+++ b/src/declarative/qml/qmltypenamecache.cpp
@@ -40,7 +40,8 @@
****************************************************************************/
#include "qmltypenamecache_p.h"
-#include <private/qmlengine_p.h>
+
+#include "qmlengine_p.h"
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmltypenamecache_p.h b/src/declarative/qml/qmltypenamecache_p.h
index 6ff403d..754399f 100644
--- a/src/declarative/qml/qmltypenamecache_p.h
+++ b/src/declarative/qml/qmltypenamecache_p.h
@@ -53,9 +53,10 @@
// We mean it.
//
-#include <private/qmlrefcount_p.h>
+#include "qmlrefcount_p.h"
+#include "qmlcleanup_p.h"
+
#include <private/qscriptdeclarativeclass_p.h>
-#include <private/qmlcleanup_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmltypenamescriptclass.cpp b/src/declarative/qml/qmltypenamescriptclass.cpp
index 8b2addf..72106ae 100644
--- a/src/declarative/qml/qmltypenamescriptclass.cpp
+++ b/src/declarative/qml/qmltypenamescriptclass.cpp
@@ -40,8 +40,9 @@
****************************************************************************/
#include "qmltypenamescriptclass_p.h"
-#include <private/qmlengine_p.h>
-#include <private/qmltypenamecache_p.h>
+
+#include "qmlengine_p.h"
+#include "qmltypenamecache_p.h"
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmltypenamescriptclass_p.h b/src/declarative/qml/qmltypenamescriptclass_p.h
index f630854..e72c05c 100644
--- a/src/declarative/qml/qmltypenamescriptclass_p.h
+++ b/src/declarative/qml/qmltypenamescriptclass_p.h
@@ -52,9 +52,11 @@
//
// We mean it.
//
+#include "qmlengine_p.h"
+
#include <QtScript/qscriptclass.h>
+
#include <private/qscriptdeclarativeclass_p.h>
-#include <private/qmlengine_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmlvaluetype.cpp b/src/declarative/qml/qmlvaluetype.cpp
index 859a93a..6d08cd1 100644
--- a/src/declarative/qml/qmlvaluetype.cpp
+++ b/src/declarative/qml/qmlvaluetype.cpp
@@ -40,6 +40,7 @@
****************************************************************************/
#include "qmlvaluetype_p.h"
+
#include <QtCore/qdebug.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmlvaluetype_p.h b/src/declarative/qml/qmlvaluetype_p.h
index 2af261d..800edee 100644
--- a/src/declarative/qml/qmlvaluetype_p.h
+++ b/src/declarative/qml/qmlvaluetype_p.h
@@ -53,12 +53,13 @@
// We mean it.
//
+#include "qmlmetaproperty.h"
+
#include <QtCore/qobject.h>
#include <QtCore/qrect.h>
#include <QtCore/qvariant.h>
#include <QtGui/qvector3d.h>
#include <QtGui/qfont.h>
-#include <QmlMetaProperty>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmlvaluetypescriptclass.cpp b/src/declarative/qml/qmlvaluetypescriptclass.cpp
index e939e80..57f999f 100644
--- a/src/declarative/qml/qmlvaluetypescriptclass.cpp
+++ b/src/declarative/qml/qmlvaluetypescriptclass.cpp
@@ -40,7 +40,8 @@
****************************************************************************/
#include "qmlvaluetypescriptclass_p.h"
-#include <private/qmlengine_p.h>
+
+#include "qmlengine_p.h"
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmlvaluetypescriptclass_p.h b/src/declarative/qml/qmlvaluetypescriptclass_p.h
index 19020b2..98d0251 100644
--- a/src/declarative/qml/qmlvaluetypescriptclass_p.h
+++ b/src/declarative/qml/qmlvaluetypescriptclass_p.h
@@ -53,6 +53,7 @@
// We mean it.
//
#include <QtScript/qscriptclass.h>
+
#include <private/qscriptdeclarativeclass_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmlvme.cpp b/src/declarative/qml/qmlvme.cpp
index f2fb217..116163a 100644
--- a/src/declarative/qml/qmlvme.cpp
+++ b/src/declarative/qml/qmlvme.cpp
@@ -40,34 +40,38 @@
****************************************************************************/
#include "qmlvme_p.h"
+
#include "qmlcompiler_p.h"
-#include <private/qfxperf_p_p.h>
-#include <private/qmlboundsignal_p.h>
-#include <private/qmlstringconverters_p.h>
-#include "private/qmetaobjectbuilder_p.h"
-#include "private/qmldeclarativedata_p.h"
-#include <qml.h>
-#include <private/qmlcustomparser_p.h>
+#include "qmlboundsignal_p.h"
+#include "qmlstringconverters_p.h"
+#include "qmetaobjectbuilder_p.h"
+#include "qmldeclarativedata_p.h"
+#include "qml.h"
+#include "qmlcustomparser_p.h"
+#include "qmlengine.h"
+#include "qmlcontext.h"
+#include "qmlcomponent.h"
+#include "qmlbinding.h"
+#include "qmlengine_p.h"
+#include "qmlcomponent_p.h"
+#include "qmlvmemetaobject_p.h"
+#include "qmlbinding_p.h"
+#include "qmlcontext_p.h"
+#include "qmlbindingoptimizations_p.h"
+#include "qmlglobal_p.h"
+#include "qmlscriptstring.h"
+
+#include <qfxperf_p_p.h>
+
#include <QStack>
#include <QWidget>
#include <QColor>
#include <QPointF>
#include <QSizeF>
#include <QRectF>
-#include <qmlengine.h>
-#include <qmlcontext.h>
-#include <qmlcomponent.h>
-#include <qmlbinding.h>
-#include <private/qmlengine_p.h>
-#include <private/qmlcomponent_p.h>
-#include "private/qmlvmemetaobject_p.h"
#include <QtCore/qdebug.h>
#include <QtCore/qvarlengtharray.h>
#include <QtGui/qapplication.h>
-#include <private/qmlbinding_p.h>
-#include <private/qmlcontext_p.h>
-#include <private/qmlbindingoptimizations_p.h>
-#include <qmlscriptstring.h>
QT_BEGIN_NAMESPACE
@@ -102,7 +106,7 @@ QObject *QmlVME::run(QmlContext *ctxt, QmlCompiledData *comp,
int start, int count,
const QBitField &bindingSkipList)
{
- QStack<QObject *> stack;
+ QmlVMEStack<QObject *> stack;
if (start == -1) start = 0;
if (count == -1) count = comp->bytecode.count();
@@ -121,14 +125,14 @@ void QmlVME::runDeferred(QObject *object)
QmlCompiledData *comp = data->deferredComponent;
int start = data->deferredIdx + 1;
int count = data->deferredComponent->bytecode.at(data->deferredIdx).defer.deferCount;
- QStack<QObject *> stack;
+ QmlVMEStack<QObject *> stack;
stack.push(object);
run(stack, ctxt, comp, start, count, QBitField());
}
QBitField bindingSkipList;
-QObject *QmlVME::run(QStack<QObject *> &stack, QmlContext *ctxt,
+QObject *QmlVME::run(QmlVMEStack<QObject *> &stack, QmlContext *ctxt,
QmlCompiledData *comp,
int start, int count,
const QBitField &bindingSkipList)
@@ -143,11 +147,12 @@ QObject *QmlVME::run(QStack<QObject *> &stack, QmlContext *ctxt,
const QList<float> &floatData = comp->floatData;
const QList<QmlPropertyCache *> &propertyCaches = comp->propertyCaches;
const QList<QmlParser::Object::ScriptBlock> &scripts = comp->scripts;
+ const QList<QUrl> &urls = comp->urls;
QmlEnginePrivate::SimpleList<QmlAbstractBinding> bindValues;
QmlEnginePrivate::SimpleList<QmlParserStatus> parserStatus;
- QStack<ListInstance> qliststack;
+ QmlVMEStack<ListInstance> qliststack;
vmeErrors.clear();
QmlEnginePrivate *ep = QmlEnginePrivate::get(ctxt->engine());
@@ -157,7 +162,7 @@ QObject *QmlVME::run(QStack<QObject *> &stack, QmlContext *ctxt,
QmlMetaProperty::WriteFlags flags = QmlMetaProperty::BypassInterceptor;
for (int ii = start; !isError() && ii < (start + count); ++ii) {
- QmlInstruction &instr = comp->bytecode[ii];
+ const QmlInstruction &instr = comp->bytecode.at(ii);
switch(instr.type) {
case QmlInstruction::Init:
@@ -214,7 +219,8 @@ QObject *QmlVME::run(QStack<QObject *> &stack, QmlContext *ctxt,
// TODO: parent might be a layout
}
} else {
- o->setParent(parent);
+ QmlGraphics_setParent_noEvent(o, parent);
+ // o->setParent(parent);
}
}
stack.push(o);
@@ -295,8 +301,7 @@ QObject *QmlVME::run(QStack<QObject *> &stack, QmlContext *ctxt,
case QmlInstruction::StoreUrl:
{
QObject *target = stack.top();
- QUrl u(primitives.at(instr.storeUrl.value));
- void *a[] = { &u, 0, &status, &flags };
+ void *a[] = { (void *)&urls.at(instr.storeUrl.value), 0, &status, &flags };
QMetaObject::metacall(target, QMetaObject::WriteProperty,
instr.storeUrl.propertyIndex, a);
}
@@ -542,7 +547,7 @@ QObject *QmlVME::run(QStack<QObject *> &stack, QmlContext *ctxt,
QmlBoundSignal *bs = new QmlBoundSignal(target, signal, target);
QmlExpression *expr =
new QmlExpression(ctxt, primitives.at(instr.storeSignal.value), target);
- expr->setSourceLocation(comp->url, instr.line);
+ expr->setSourceLocation(comp->name, instr.line);
bs->setExpression(expr);
}
break;
@@ -587,15 +592,15 @@ QObject *QmlVME::run(QStack<QObject *> &stack, QmlContext *ctxt,
QObject *context =
stack.at(stack.count() - 1 - instr.assignBinding.context);
- QmlMetaProperty mp;
- QmlMetaPropertyPrivate::restore(mp, instr.assignBinding.property, target, ctxt);
+ QmlMetaProperty mp =
+ QmlMetaPropertyPrivate::restore(datas.at(instr.assignBinding.property), target, ctxt);
int coreIndex = mp.coreIndex();
if (stack.count() == 1 && bindingSkipList.testBit(coreIndex))
break;
- QmlBinding *bind = new QmlBinding((void *)datas.at(instr.assignBinding.value).constData(), comp, context, ctxt, comp->url, instr.line, 0);
+ QmlBinding *bind = new QmlBinding((void *)datas.at(instr.assignBinding.value).constData(), comp, context, ctxt, comp->name, instr.line, 0);
bindValues.append(bind);
bind->m_mePtr = &bindValues.values[bindValues.count - 1];
bind->setTarget(mp);
@@ -644,8 +649,9 @@ QObject *QmlVME::run(QStack<QObject *> &stack, QmlContext *ctxt,
QObject *obj = stack.pop();
QmlPropertyValueSource *vs = reinterpret_cast<QmlPropertyValueSource *>(reinterpret_cast<char *>(obj) + instr.assignValueSource.castValue);
QObject *target = stack.at(stack.count() - 1 - instr.assignValueSource.owner);
- QmlMetaProperty prop;
- QmlMetaPropertyPrivate::restore(prop, instr.assignValueSource.property, target, ctxt);
+
+ QmlMetaProperty prop =
+ QmlMetaPropertyPrivate::restore(datas.at(instr.assignValueSource.property), target, ctxt);
obj->setParent(target);
vs->setTarget(prop);
}
@@ -656,8 +662,8 @@ QObject *QmlVME::run(QStack<QObject *> &stack, QmlContext *ctxt,
QObject *obj = stack.pop();
QmlPropertyValueInterceptor *vi = reinterpret_cast<QmlPropertyValueInterceptor *>(reinterpret_cast<char *>(obj) + instr.assignValueInterceptor.castValue);
QObject *target = stack.at(stack.count() - 1 - instr.assignValueInterceptor.owner);
- QmlMetaProperty prop;
- QmlMetaPropertyPrivate::restore(prop, instr.assignValueInterceptor.property, target, ctxt);
+ QmlMetaProperty prop =
+ QmlMetaPropertyPrivate::restore(datas.at(instr.assignValueInterceptor.property), target, ctxt);
obj->setParent(target);
vi->setTarget(prop);
QmlVMEMetaObject *mo = static_cast<QmlVMEMetaObject *>((QMetaObject*)target->metaObject());
diff --git a/src/declarative/qml/qmlvme_p.h b/src/declarative/qml/qmlvme_p.h
index a15bd08..9c45dc1 100644
--- a/src/declarative/qml/qmlvme_p.h
+++ b/src/declarative/qml/qmlvme_p.h
@@ -53,10 +53,11 @@
// We mean it.
//
+#include "qmlerror.h"
+#include "qbitfield_p.h"
+
#include <QtCore/QString>
#include <QtCore/QStack>
-#include <qmlerror.h>
-#include <private/qbitfield_p.h>
QT_BEGIN_NAMESPACE
@@ -66,6 +67,34 @@ class QmlCompiledData;
class QmlCompiledData;
class QmlContext;
+template<typename T, int N = 128>
+class QmlVMEStack {
+public:
+ QmlVMEStack() : index(-1), maxSize(N), data(fixedData) {}
+ ~QmlVMEStack() { if (data != fixedData) qFree(fixedData); }
+
+ bool isEmpty() const { return index == -1; }
+ const T &top() const { return data[index]; }
+ void push(const T &i) { ++index; if (index == maxSize) realloc(); data[index] = i; }
+ const T &pop() { --index; return data[index + 1]; }
+ int count() const { return index + 1; }
+ const T &at(int idx) { return data[idx]; }
+
+private:
+ void realloc() {
+ maxSize += N;
+ if (data != fixedData) {
+ data = (T*)qRealloc(data, maxSize * sizeof(T));
+ } else {
+ data = (T*)qMalloc(maxSize * sizeof(T));
+ }
+ }
+ int index;
+ int maxSize;
+ T *data;
+ T fixedData[N];
+};
+
class QmlVME
{
public:
@@ -80,7 +109,7 @@ public:
QList<QmlError> errors() const;
private:
- QObject *run(QStack<QObject *> &, QmlContext *, QmlCompiledData *,
+ QObject *run(QmlVMEStack<QObject *> &, QmlContext *, QmlCompiledData *,
int start, int count, const QBitField &);
QList<QmlError> vmeErrors;
};
diff --git a/src/declarative/qml/qmlvmemetaobject.cpp b/src/declarative/qml/qmlvmemetaobject.cpp
index 3f5dd475..8588eff 100644
--- a/src/declarative/qml/qmlvmemetaobject.cpp
+++ b/src/declarative/qml/qmlvmemetaobject.cpp
@@ -40,14 +40,16 @@
****************************************************************************/
#include "qmlvmemetaobject_p.h"
-#include <qml.h>
-#include <private/qmlrefcount_p.h>
+
+#include "qml.h"
+#include "qmlrefcount_p.h"
+#include "qmlexpression.h"
+#include "qmlcontext_p.h"
+
#include <QColor>
#include <QDate>
#include <QtCore/qlist.h>
#include <QtCore/qdebug.h>
-#include <qmlexpression.h>
-#include <private/qmlcontext_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmlvmemetaobject_p.h b/src/declarative/qml/qmlvmemetaobject_p.h
index f78cfaa..e737721 100644
--- a/src/declarative/qml/qmlvmemetaobject_p.h
+++ b/src/declarative/qml/qmlvmemetaobject_p.h
@@ -53,10 +53,12 @@
// We mean it.
//
-#include <qml.h>
+#include "qml.h"
+
#include <QtCore/QMetaObject>
#include <QtCore/QBitArray>
#include <QtCore/QPair>
+
#include <private/qobject_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/qmlwatcher.cpp b/src/declarative/qml/qmlwatcher.cpp
index 889ac78..507c11d 100644
--- a/src/declarative/qml/qmlwatcher.cpp
+++ b/src/declarative/qml/qmlwatcher.cpp
@@ -39,14 +39,16 @@
**
****************************************************************************/
+#include "qmlwatcher_p.h"
+
+#include "qmlexpression.h"
+#include "qmlcontext.h"
+#include "qml.h"
+
+#include <qmldebugservice_p.h>
+
#include <QtCore/qmetaobject.h>
#include <QtCore/qdebug.h>
-#include <qmlexpression.h>
-#include <private/qmldebugservice_p.h>
-#include <qmlcontext.h>
-#include <qml.h>
-
-#include "qmlwatcher_p.h"
QT_BEGIN_NAMESPACE
@@ -180,4 +182,4 @@ void QmlWatcher::addPropertyWatch(int id, QObject *object, quint32 debugId, cons
QT_END_NAMESPACE
-#include "qmlwatcher.moc"
+#include <qmlwatcher.moc>
diff --git a/src/declarative/qml/qmlworkerscript.cpp b/src/declarative/qml/qmlworkerscript.cpp
index d4fcf4a..2a3dbce 100644
--- a/src/declarative/qml/qmlworkerscript.cpp
+++ b/src/declarative/qml/qmlworkerscript.cpp
@@ -40,11 +40,13 @@
****************************************************************************/
#include "qmlworkerscript_p.h"
+
+#include "qmlengine_p.h"
+
#include <QtCore/qcoreevent.h>
#include <QtCore/qcoreapplication.h>
#include <QtCore/qdebug.h>
#include <QtScript/qscriptengine.h>
-#include <private/qmlengine_p.h>
#include <QtCore/qmutex.h>
#include <QtCore/qwaitcondition.h>
#include <QtScript/qscriptvalueiterator.h>
diff --git a/src/declarative/qml/qmlworkerscript_p.h b/src/declarative/qml/qmlworkerscript_p.h
index b7106c5..51efc4b 100644
--- a/src/declarative/qml/qmlworkerscript_p.h
+++ b/src/declarative/qml/qmlworkerscript_p.h
@@ -53,9 +53,10 @@
// We mean it.
//
+#include "qml.h"
+#include "qmlparserstatus.h"
+
#include <QtCore/qthread.h>
-#include <QtDeclarative/qml.h>
-#include <QtDeclarative/qmlparserstatus.h>
#include <QtScript/qscriptvalue.h>
#include <QtCore/qurl.h>
diff --git a/src/declarative/qml/qmlxmlhttprequest.cpp b/src/declarative/qml/qmlxmlhttprequest.cpp
index 216db6e..d1705a1 100644
--- a/src/declarative/qml/qmlxmlhttprequest.cpp
+++ b/src/declarative/qml/qmlxmlhttprequest.cpp
@@ -39,19 +39,20 @@
**
****************************************************************************/
+#include "qmlxmlhttprequest_p.h"
+
+#include "qmlengine.h"
+#include "qmlengine_p.h"
+#include "qmlrefcount_p.h"
+#include "qmlengine_p.h"
+
#include <QtCore/qobject.h>
-#include <qmlengine.h>
-#include <private/qmlengine_p.h>
#include <QtScript/qscriptvalue.h>
#include <QtScript/qscriptcontext.h>
#include <QtScript/qscriptengine.h>
#include <QtNetwork/qnetworkreply.h>
#include <QtCore/qxmlstream.h>
-#include <private/qmlrefcount_p.h>
-#include <private/qmlengine_p.h>
#include <QtCore/qstack.h>
-#include "qmlxmlhttprequest_p.h"
-
#include <QtCore/qdebug.h>
// From DOM-Level-3-Core spec
@@ -1590,4 +1591,4 @@ void qt_add_qmlxmlhttprequest(QScriptEngine *engine)
engine->globalObject().setProperty(QLatin1String("DOMException"), domExceptionPrototype);
}
-#include "qmlxmlhttprequest.moc"
+#include <qmlxmlhttprequest.moc>
diff --git a/src/declarative/qml/rewriter/rewriter.cpp b/src/declarative/qml/rewriter/rewriter.cpp
index ae1db30..237d33f 100644
--- a/src/declarative/qml/rewriter/rewriter.cpp
+++ b/src/declarative/qml/rewriter/rewriter.cpp
@@ -40,7 +40,8 @@
****************************************************************************/
#include "rewriter_p.h"
-#include "qmljsast_p.h"
+
+#include <qmljsast_p.h>
QT_QML_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/rewriter/rewriter.pri b/src/declarative/qml/rewriter/rewriter.pri
index 550741b..2c29061 100644
--- a/src/declarative/qml/rewriter/rewriter.pri
+++ b/src/declarative/qml/rewriter/rewriter.pri
@@ -1,6 +1,4 @@
-
INCLUDEPATH += $$PWD
-DEPENDPATH += $$PWD
HEADERS += $$PWD/textwriter_p.h
SOURCES += $$PWD/textwriter.cpp
diff --git a/src/declarative/qml/rewriter/rewriter_p.h b/src/declarative/qml/rewriter/rewriter_p.h
index ed9be16..57e7ea2 100644
--- a/src/declarative/qml/rewriter/rewriter_p.h
+++ b/src/declarative/qml/rewriter/rewriter_p.h
@@ -42,12 +42,13 @@
#ifndef REWRITER_H
#define REWRITER_H
+#include "textwriter_p.h"
+
+#include <qmljsastvisitor_p.h>
+
#include <QtCore/QList>
#include <QtCore/QString>
-#include "textwriter_p.h"
-#include "qmljsastvisitor_p.h"
-
QT_BEGIN_HEADER
QT_QML_BEGIN_NAMESPACE
diff --git a/src/declarative/qml/rewriter/textwriter_p.h b/src/declarative/qml/rewriter/textwriter_p.h
index 14c4726..a19fa5e 100644
--- a/src/declarative/qml/rewriter/textwriter_p.h
+++ b/src/declarative/qml/rewriter/textwriter_p.h
@@ -42,12 +42,12 @@
#ifndef TEXTWRITER_H
#define TEXTWRITER_H
+#include <qmljsglobal_p.h>
+
#include <QtCore/QString>
#include <QtCore/QList>
#include <QtGui/QTextCursor>
-#include "qmljsglobal_p.h"
-
QT_BEGIN_HEADER
QT_QML_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qfxperf.cpp b/src/declarative/util/qfxperf.cpp
index 8fcab2b..f62f810 100644
--- a/src/declarative/util/qfxperf.cpp
+++ b/src/declarative/util/qfxperf.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include "private/qfxperf_p_p.h"
+#include "qfxperf_p_p.h"
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qfxperf_p_p.h b/src/declarative/util/qfxperf_p_p.h
index c16bf7b..e3f820c 100644
--- a/src/declarative/util/qfxperf_p_p.h
+++ b/src/declarative/util/qfxperf_p_p.h
@@ -52,7 +52,7 @@
// We mean it.
//
-#include "private/qperformancelog_p_p.h"
+#include "qperformancelog_p_p.h"
QT_BEGIN_HEADER
diff --git a/src/declarative/util/qmlanimation.cpp b/src/declarative/util/qmlanimation.cpp
index 475978f..0f5a0f0 100644
--- a/src/declarative/util/qmlanimation.cpp
+++ b/src/declarative/util/qmlanimation.cpp
@@ -40,25 +40,29 @@
****************************************************************************/
#include "qmlanimation_p.h"
-#include "qvariant.h"
-#include "qcolor.h"
-#include "qfile.h"
-#include "qmlpropertyvaluesource.h"
-#include "qml.h"
-#include "qmlinfo.h"
#include "qmlanimation_p_p.h"
-#include <private/qmlbehavior_p.h>
+
+#include "qmlbehavior_p.h"
+#include "qmlstateoperations_p.h"
+
+#include <qmlpropertyvaluesource.h>
+#include <qml.h>
+#include <qmlinfo.h>
+#include <qmlexpression.h>
+#include <qmlstringconverters_p.h>
+#include <qmlglobal_p.h>
+
+#include <qvariant.h>
+#include <qcolor.h>
+#include <qfile.h>
#include <QParallelAnimationGroup>
#include <QSequentialAnimationGroup>
#include <QtCore/qset.h>
#include <QtCore/qrect.h>
#include <QtCore/qpoint.h>
#include <QtCore/qsize.h>
-#include <qmlexpression.h>
-#include <private/qmlstateoperations_p.h>
-#include <private/qmlstringconverters_p.h>
+
#include <private/qvariantanimation_p.h>
-#include <private/qmlglobal_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qmlanimation_p.h b/src/declarative/util/qmlanimation_p.h
index 87b6703..707ed33 100644
--- a/src/declarative/util/qmlanimation_p.h
+++ b/src/declarative/util/qmlanimation_p.h
@@ -42,15 +42,17 @@
#ifndef QMLANIMATION_H
#define QMLANIMATION_H
-#include <QtCore/qvariant.h>
-#include <QtCore/QAbstractAnimation>
-#include <QtGui/qcolor.h>
-#include <private/qmltransition_p.h>
+#include "qmltransition_p.h"
+#include "qmlstate_p.h"
+
#include <qmlpropertyvaluesource.h>
-#include <private/qmlstate_p.h>
#include <qml.h>
#include <qmlscriptstring.h>
+#include <QtCore/qvariant.h>
+#include <QtCore/QAbstractAnimation>
+#include <QtGui/qcolor.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qmlanimation_p_p.h b/src/declarative/util/qmlanimation_p_p.h
index 326e1c6..0b65c27 100644
--- a/src/declarative/util/qmlanimation_p_p.h
+++ b/src/declarative/util/qmlanimation_p_p.h
@@ -53,19 +53,23 @@
// We mean it.
//
-#include <private/qobject_p.h>
-#include <private/qmlnullablevalue_p_p.h>
-#include <private/qvariantanimation_p.h>
+#include "qmlanimation_p.h"
+
+#include "qmlnullablevalue_p_p.h"
+#include "qmltimeline_p_p.h"
+
+#include <qml.h>
+#include <qmlcontext.h>
+
#include <QtCore/QPauseAnimation>
#include <QtCore/QVariantAnimation>
#include <QtCore/QAnimationGroup>
#include <QtGui/QColor>
-#include <private/qmlanimation_p.h>
-#include <qml.h>
-#include <qmlcontext.h>
-#include <private/qmltimeline_p_p.h>
#include <QDebug>
+#include <private/qobject_p.h>
+#include <private/qvariantanimation_p.h>
+
QT_BEGIN_NAMESPACE
//interface for classes that provide animation actions for QActionAnimation
@@ -201,14 +205,14 @@ public:
connectedTimeLine(false), componentComplete(true), startOnCompletion(false),
target(0), group(0) {}
- bool running;
- bool paused;
- bool alwaysRunToEnd;
- bool repeat;
- bool connectedTimeLine;
+ bool running:1;
+ bool paused:1;
+ bool alwaysRunToEnd:1;
+ bool repeat:1;
+ bool connectedTimeLine:1;
- bool componentComplete;
- bool startOnCompletion;
+ bool componentComplete:1;
+ bool startOnCompletion:1;
void commence();
diff --git a/src/declarative/util/qmlbehavior.cpp b/src/declarative/util/qmlbehavior.cpp
index 23d3838..9757fa2 100644
--- a/src/declarative/util/qmlbehavior.cpp
+++ b/src/declarative/util/qmlbehavior.cpp
@@ -39,14 +39,18 @@
**
****************************************************************************/
-#include <private/qobject_p.h>
-#include <private/qmlanimation_p.h>
-#include <private/qmltransition_p.h>
#include "qmlbehavior_p.h"
+
+#include "qmlanimation_p.h"
+#include "qmltransition_p.h"
+
#include <qmlcontext.h>
#include <qmlinfo.h>
+
#include <QtCore/qparallelanimationgroup.h>
+#include <private/qobject_p.h>
+
QT_BEGIN_NAMESPACE
QML_DEFINE_TYPE(Qt,4,6,Behavior,QmlBehavior)
diff --git a/src/declarative/util/qmlbehavior_p.h b/src/declarative/util/qmlbehavior_p.h
index 581a0a8..da3b40f 100644
--- a/src/declarative/util/qmlbehavior_p.h
+++ b/src/declarative/util/qmlbehavior_p.h
@@ -42,10 +42,11 @@
#ifndef QMLBEHAVIOR_H
#define QMLBEHAVIOR_H
+#include "qmlstate_p.h"
+
#include <qmlpropertyvaluesource.h>
#include <qmlpropertyvalueinterceptor.h>
#include <qml.h>
-#include <private/qmlstate_p.h>
QT_BEGIN_HEADER
diff --git a/src/declarative/util/qmlbind.cpp b/src/declarative/util/qmlbind.cpp
index 2f692d8..c68cef2 100644
--- a/src/declarative/util/qmlbind.cpp
+++ b/src/declarative/util/qmlbind.cpp
@@ -39,16 +39,20 @@
**
****************************************************************************/
+#include "qmlbind_p.h"
+
+#include "qmlnullablevalue_p_p.h"
+
#include <qmlengine.h>
#include <qmlcontext.h>
-#include <private/qobject_p.h>
+
#include <QtCore/qfile.h>
#include <QtCore/qdebug.h>
#include <QtScript/qscriptvalue.h>
#include <QtScript/qscriptcontext.h>
#include <QtScript/qscriptengine.h>
-#include <private/qmlnullablevalue_p_p.h>
-#include "qmlbind_p.h"
+
+#include <private/qobject_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qmlbind_p.h b/src/declarative/util/qmlbind_p.h
index 4d85698..4d7cd1f 100644
--- a/src/declarative/util/qmlbind_p.h
+++ b/src/declarative/util/qmlbind_p.h
@@ -42,9 +42,10 @@
#ifndef QMLBIND_H
#define QMLBIND_H
-#include <QtCore/qobject.h>
#include <qml.h>
+#include <QtCore/qobject.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qmlconnection.cpp b/src/declarative/util/qmlconnection.cpp
index 3e72ab8..f5fbd3f 100644
--- a/src/declarative/util/qmlconnection.cpp
+++ b/src/declarative/util/qmlconnection.cpp
@@ -40,12 +40,15 @@
****************************************************************************/
#include "qmlconnection_p.h"
+
#include <qmlexpression.h>
-#include "private/qmlboundsignal_p.h"
-#include "private/qobject_p.h"
+#include <qmlboundsignal_p.h>
#include <qmlcontext.h>
+
#include <QtCore/qdebug.h>
+#include <private/qobject_p.h>
+
QT_BEGIN_NAMESPACE
class QmlConnectionPrivate : public QObjectPrivate
diff --git a/src/declarative/util/qmlconnection_p.h b/src/declarative/util/qmlconnection_p.h
index 1bc81fe..52bc247 100644
--- a/src/declarative/util/qmlconnection_p.h
+++ b/src/declarative/util/qmlconnection_p.h
@@ -42,11 +42,12 @@
#ifndef QMLCONNECTION_H
#define QMLCONNECTION_H
-#include <QtCore/qobject.h>
-#include <QtCore/qstring.h>
#include <qml.h>
#include <qmlscriptstring.h>
+#include <QtCore/qobject.h>
+#include <QtCore/qstring.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qmldatetimeformatter.cpp b/src/declarative/util/qmldatetimeformatter.cpp
index 983287e..9d216cf 100644
--- a/src/declarative/util/qmldatetimeformatter.cpp
+++ b/src/declarative/util/qmldatetimeformatter.cpp
@@ -40,9 +40,11 @@
****************************************************************************/
#include "qmldatetimeformatter_p.h"
-#include "private/qobject_p.h"
+
#include <QtCore/qlocale.h>
+#include <private/qobject_p.h>
+
QT_BEGIN_NAMESPACE
//TODO: may need optimisation as the QDateTime member may not be needed?
diff --git a/src/declarative/util/qmldatetimeformatter_p.h b/src/declarative/util/qmldatetimeformatter_p.h
index cd5f75f..c90ee8c 100644
--- a/src/declarative/util/qmldatetimeformatter_p.h
+++ b/src/declarative/util/qmldatetimeformatter_p.h
@@ -42,9 +42,10 @@
#ifndef QMLDATETIMEFORMATTER_H
#define QMLDATETIMEFORMATTER_H
-#include <QtCore/qdatetime.h>
#include <qml.h>
+#include <QtCore/qdatetime.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qmleasefollow.cpp b/src/declarative/util/qmleasefollow.cpp
index 50758f4..e3153b1 100644
--- a/src/declarative/util/qmleasefollow.cpp
+++ b/src/declarative/util/qmleasefollow.cpp
@@ -40,10 +40,14 @@
****************************************************************************/
#include "qmleasefollow_p.h"
+
+#include "qmlanimation_p_p.h"
+
#include <qmlmetaproperty.h>
-#include <math.h>
+
#include <QtCore/qdebug.h>
-#include <private/qmlanimation_p_p.h>
+
+#include <math.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qmleasefollow_p.h b/src/declarative/util/qmleasefollow_p.h
index 8ea2b8f..ef095a3 100644
--- a/src/declarative/util/qmleasefollow_p.h
+++ b/src/declarative/util/qmleasefollow_p.h
@@ -42,10 +42,11 @@
#ifndef QMLEASEFOLLOW_H
#define QMLEASEFOLLOW_H
-#include <QtCore/qobject.h>
#include <qml.h>
#include <qmlpropertyvaluesource.h>
+#include <QtCore/qobject.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qmlfontloader.cpp b/src/declarative/util/qmlfontloader.cpp
index bb26536..8230b1a 100644
--- a/src/declarative/util/qmlfontloader.cpp
+++ b/src/declarative/util/qmlfontloader.cpp
@@ -39,17 +39,20 @@
**
****************************************************************************/
-#include "private/qobject_p.h"
#include "qmlfontloader_p.h"
+
+#include <qmlcontext.h>
+#include <qmlengine.h>
+
#include <QUrl>
#include <QDebug>
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QFile>
-#include <QmlContext>
-#include <qmlengine.h>
#include <QFontDatabase>
+#include <private/qobject_p.h>
+
QT_BEGIN_NAMESPACE
class QmlFontLoaderPrivate : public QObjectPrivate
diff --git a/src/declarative/util/qmlfontloader_p.h b/src/declarative/util/qmlfontloader_p.h
index 0202f3c..aac8a71 100644
--- a/src/declarative/util/qmlfontloader_p.h
+++ b/src/declarative/util/qmlfontloader_p.h
@@ -42,9 +42,10 @@
#ifndef QMLFONTLOADER_H
#define QMLFONTLOADER_H
-#include <QtCore/qobject.h>
#include <qml.h>
+#include <QtCore/qobject.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qmllistaccessor.cpp b/src/declarative/util/qmllistaccessor.cpp
index 4adec81..1e051b7 100644
--- a/src/declarative/util/qmllistaccessor.cpp
+++ b/src/declarative/util/qmllistaccessor.cpp
@@ -40,12 +40,14 @@
****************************************************************************/
#include "qmllistaccessor_p.h"
-#include <QStringList>
+
#include <qmlmetatype.h>
+
+#include <QStringList>
#include <QtCore/qdebug.h>
// ### Remove me
-#include <private/qmlengine_p.h>
+#include <qmlengine_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qmllistmodel.cpp b/src/declarative/util/qmllistmodel.cpp
index 8259dcd..00c99f6 100644
--- a/src/declarative/util/qmllistmodel.cpp
+++ b/src/declarative/util/qmllistmodel.cpp
@@ -39,17 +39,20 @@
**
****************************************************************************/
+#include "qmllistmodel_p.h"
+
+#include "qmlopenmetaobject_p.h"
+
+#include <qmlcustomparser_p.h>
+#include <qmlparser_p.h>
+#include <qmlengine_p.h>
+#include <qmlcontext.h>
+#include <qmlinfo.h>
+
#include <QtCore/qdebug.h>
#include <QtCore/qstack.h>
#include <QXmlStreamReader>
-#include <private/qmlcustomparser_p.h>
-#include <private/qmlparser_p.h>
-#include "qmlopenmetaobject_p.h"
-#include <private/qmlengine_p.h>
-#include <qmlcontext.h>
-#include "qmllistmodel_p.h"
#include <QtScript/qscriptvalueiterator.h>
-#include "qmlinfo.h"
Q_DECLARE_METATYPE(QListModelInterface *)
@@ -442,6 +445,7 @@ void QmlListModel::clear()
_root = 0;
roleStrings.clear();
emit itemsRemoved(0,cleared);
+ emit countChanged(0);
}
/*!
@@ -923,4 +927,4 @@ QT_END_NAMESPACE
QML_DECLARE_TYPE(QmlListElement)
-#include "qmllistmodel.moc"
+#include <qmllistmodel.moc>
diff --git a/src/declarative/util/qmllistmodel_p.h b/src/declarative/util/qmllistmodel_p.h
index d626060..734d44c 100644
--- a/src/declarative/util/qmllistmodel_p.h
+++ b/src/declarative/util/qmllistmodel_p.h
@@ -42,16 +42,16 @@
#ifndef QMLLISTMODEL_H
#define QMLLISTMODEL_H
+#include <qml.h>
+
#include <QtCore/QObject>
#include <QtCore/QStringList>
#include <QtCore/QHash>
#include <QtCore/QList>
#include <QtCore/QVariant>
-#include <qml.h>
-#include <private/qlistmodelinterface_p.h>
+#include <qlistmodelinterface_p.h>
#include <QtScript/qscriptvalue.h>
-
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qmlnumberformatter.cpp b/src/declarative/util/qmlnumberformatter.cpp
index fce35d9..073dc68 100644
--- a/src/declarative/util/qmlnumberformatter.cpp
+++ b/src/declarative/util/qmlnumberformatter.cpp
@@ -40,7 +40,8 @@
****************************************************************************/
#include "qmlnumberformatter_p.h"
-#include "private/qobject_p.h"
+
+#include <private/qobject_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qmlnumberformatter_p.h b/src/declarative/util/qmlnumberformatter_p.h
index 346c2f0..71fceb2 100644
--- a/src/declarative/util/qmlnumberformatter_p.h
+++ b/src/declarative/util/qmlnumberformatter_p.h
@@ -42,8 +42,9 @@
#ifndef QMLNUMBERFORMATTER_H
#define QMLNUMBERFORMATTER_H
+#include "qnumberformat_p.h"
+
#include <qml.h>
-#include <private/qnumberformat_p.h>
QT_BEGIN_HEADER
diff --git a/src/declarative/util/qmlopenmetaobject.cpp b/src/declarative/util/qmlopenmetaobject.cpp
index 05ff80a..04cd8a5 100644
--- a/src/declarative/util/qmlopenmetaobject.cpp
+++ b/src/declarative/util/qmlopenmetaobject.cpp
@@ -40,7 +40,8 @@
****************************************************************************/
#include "qmlopenmetaobject_p.h"
-#include "private/qmetaobjectbuilder_p.h"
+
+#include <qmetaobjectbuilder_p.h>
#include <QDebug>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qmlopenmetaobject_p.h b/src/declarative/util/qmlopenmetaobject_p.h
index 7a5b4ce..6045678 100644
--- a/src/declarative/util/qmlopenmetaobject_p.h
+++ b/src/declarative/util/qmlopenmetaobject_p.h
@@ -43,9 +43,10 @@
#define QMLOPENMETAOBJECT_H
#include <QtCore/QMetaObject>
-#include <private/qobject_p.h>
#include <QtCore/QObject>
+#include <private/qobject_p.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qmlpackage.cpp b/src/declarative/util/qmlpackage.cpp
index 6bc1ef9..f9238ca 100644
--- a/src/declarative/util/qmlpackage.cpp
+++ b/src/declarative/util/qmlpackage.cpp
@@ -39,9 +39,10 @@
**
****************************************************************************/
-#include "private/qobject_p.h"
#include "qmlpackage_p.h"
+#include <private/qobject_p.h>
+
QT_BEGIN_NAMESPACE
class QmlPackagePrivate : public QObjectPrivate
@@ -151,4 +152,4 @@ QML_DEFINE_TYPE(Qt,4,6,Package,QmlPackage)
QT_END_NAMESPACE
-#include "qmlpackage.moc"
+#include <qmlpackage.moc>
diff --git a/src/declarative/util/qmlpixmapcache.cpp b/src/declarative/util/qmlpixmapcache.cpp
index b8a9bd7..16e3dc8 100644
--- a/src/declarative/util/qmlpixmapcache.cpp
+++ b/src/declarative/util/qmlpixmapcache.cpp
@@ -40,12 +40,15 @@
****************************************************************************/
#include "qmlpixmapcache_p.h"
+
+#include "qfxperf_p_p.h"
+
+#include <qmlengine.h>
+
#include <QImageReader>
#include <QHash>
#include <QNetworkReply>
#include <QPixmapCache>
-#include <private/qfxperf_p_p.h>
-#include <qmlengine.h>
#include <QFile>
#include <QtCore/qdebug.h>
@@ -147,59 +150,62 @@ bool QmlPixmapCache::find(const QUrl& url, QPixmap *pixmap)
QmlPerfTimer<QmlPerf::PixmapLoad> perf;
#endif
- QString key = url.toString();
bool ok = true;
- if (!QPixmapCache::find(key,pixmap)) {
#ifndef QT_NO_LOCALFILE_OPTIMIZED_QML
- QString lf = toLocalFileOrQrc(url);
- if (!lf.isEmpty()) {
+ QString lf = toLocalFileOrQrc(url);
+ if (!lf.isEmpty()) {
+ if (!QPixmapCache::find(lf,pixmap)) {
QFile f(lf);
if (f.open(QIODevice::ReadOnly)) {
if (!readImage(&f, pixmap)) {
qWarning() << "Format error loading" << url;
*pixmap = QPixmap();
ok = false;
+ } else {
+ QPixmapCache::insert(lf, *pixmap);
+ ok = !pixmap->isNull();
}
} else {
*pixmap = QPixmap();
ok = false;
}
- } else
+ } else {
+ ok = !pixmap->isNull();
+ }
+ return ok;
+ }
#endif
- {
- QmlGraphicsSharedNetworkReplyHash::Iterator iter = qfxActiveNetworkReplies.find(key);
- if (iter == qfxActiveNetworkReplies.end()) {
- // API usage error
- qWarning() << "QmlPixmapCache: URL not loaded" << url;
+
+ QString key = url.toString();
+ if (!QPixmapCache::find(key,pixmap)) {
+ QmlGraphicsSharedNetworkReplyHash::Iterator iter = qfxActiveNetworkReplies.find(key);
+ if (iter == qfxActiveNetworkReplies.end()) {
+ // API usage error
+ qWarning() << "QmlPixmapCache: URL not loaded" << url;
+ ok = false;
+ } else {
+ if ((*iter)->reply->error()) {
+ qWarning() << "Network error loading" << url << (*iter)->reply->errorString();
+ *pixmap = QPixmap();
+ ok = false;
+ } else if (!readImage((*iter)->reply, pixmap)) {
+ qWarning() << "Format error loading" << url;
+ *pixmap = QPixmap();
ok = false;
} else {
- if ((*iter)->reply->error()) {
- qWarning() << "Network error loading" << url << (*iter)->reply->errorString();
- *pixmap = QPixmap();
- ok = false;
- } else if (!readImage((*iter)->reply, pixmap)) {
- qWarning() << "Format error loading" << url;
- *pixmap = QPixmap();
- ok = false;
- } else {
- if ((*iter)->refCount > 1)
- (*iter)->pixmap = *pixmap;
- }
- (*iter)->release();
+ if ((*iter)->refCount > 1)
+ (*iter)->pixmap = *pixmap;
}
+ (*iter)->release();
}
QPixmapCache::insert(key, *pixmap);
} else {
ok = !pixmap->isNull();
-#ifndef QT_NO_LOCALFILE_OPTIMIZED_QML
- if (url.scheme()!=QLatin1String("file"))
-#endif
+
// We may be the second finder. Still need to check for active replies.
- {
- QmlGraphicsSharedNetworkReplyHash::Iterator iter = qfxActiveNetworkReplies.find(key);
- if (iter != qfxActiveNetworkReplies.end())
- (*iter)->release();
- }
+ QmlGraphicsSharedNetworkReplyHash::Iterator iter = qfxActiveNetworkReplies.find(key);
+ if (iter != qfxActiveNetworkReplies.end())
+ (*iter)->release();
}
return ok;
}
@@ -223,8 +229,7 @@ QNetworkReply *QmlPixmapCache::get(QmlEngine *engine, const QUrl& url, QPixmap *
#ifndef QT_NO_LOCALFILE_OPTIMIZED_QML
QString lf = toLocalFileOrQrc(url);
if (!lf.isEmpty()) {
- QString key = url.toString();
- if (!QPixmapCache::find(key,pixmap)) {
+ if (!QPixmapCache::find(lf,pixmap)) {
bool loaded = true;
QFile f(lf);
if (f.open(QIODevice::ReadOnly)) {
@@ -239,7 +244,7 @@ QNetworkReply *QmlPixmapCache::get(QmlEngine *engine, const QUrl& url, QPixmap *
loaded = false;
}
if (loaded)
- QPixmapCache::insert(key, *pixmap);
+ QPixmapCache::insert(lf, *pixmap);
if (ok) *ok = loaded;
}
return 0;
diff --git a/src/declarative/util/qmlpropertychanges.cpp b/src/declarative/util/qmlpropertychanges.cpp
index 9ca6db8..b9ec67a 100644
--- a/src/declarative/util/qmlpropertychanges.cpp
+++ b/src/declarative/util/qmlpropertychanges.cpp
@@ -39,17 +39,21 @@
**
****************************************************************************/
-#include "private/qobject_p.h"
-#include "qmlopenmetaobject_p.h"
#include "qmlpropertychanges_p.h"
-#include <QtCore/qdebug.h>
+
+#include "qmlopenmetaobject_p.h"
+
#include <qmlinfo.h>
-#include <private/qmlcustomparser_p.h>
-#include <private/qmlparser_p.h>
+#include <qmlcustomparser_p.h>
+#include <qmlparser_p.h>
#include <qmlexpression.h>
#include <qmlbinding.h>
#include <qmlcontext.h>
+#include <QtCore/qdebug.h>
+
+#include <private/qobject_p.h>
+
QT_BEGIN_NAMESPACE
/*!
diff --git a/src/declarative/util/qmlpropertychanges_p.h b/src/declarative/util/qmlpropertychanges_p.h
index 2c0cba9..461730d 100644
--- a/src/declarative/util/qmlpropertychanges_p.h
+++ b/src/declarative/util/qmlpropertychanges_p.h
@@ -42,7 +42,7 @@
#ifndef QMLPROPERTYCHANGES_H
#define QMLPROPERTYCHANGES_H
-#include <private/qmlstateoperations_p.h>
+#include "qmlstateoperations_p.h"
QT_BEGIN_HEADER
diff --git a/src/declarative/util/qmlpropertymap.cpp b/src/declarative/util/qmlpropertymap.cpp
index c0e3340..d0a0428 100644
--- a/src/declarative/util/qmlpropertymap.cpp
+++ b/src/declarative/util/qmlpropertymap.cpp
@@ -40,7 +40,9 @@
****************************************************************************/
#include "qmlpropertymap.h"
-#include <private/qmlopenmetaobject_p.h>
+
+#include "qmlopenmetaobject_p.h"
+
#include <QDebug>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qmlspringfollow.cpp b/src/declarative/util/qmlspringfollow.cpp
index d6961b0..29dcf91 100644
--- a/src/declarative/util/qmlspringfollow.cpp
+++ b/src/declarative/util/qmlspringfollow.cpp
@@ -39,12 +39,16 @@
**
****************************************************************************/
+#include "qmlspringfollow_p.h"
+
+#include "qmlanimation_p_p.h"
+
+#include <QtCore/qdebug.h>
+
+#include <private/qobject_p.h>
+
#include <limits.h>
#include <math.h>
-#include <QtCore/qdebug.h>
-#include "private/qobject_p.h"
-#include "qmlspringfollow_p.h"
-#include "private/qmlanimation_p_p.h"
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qmlstate.cpp b/src/declarative/util/qmlstate.cpp
index 5fde89a..98cc0b6 100644
--- a/src/declarative/util/qmlstate.cpp
+++ b/src/declarative/util/qmlstate.cpp
@@ -39,16 +39,19 @@
**
****************************************************************************/
+#include "qmlstate_p_p.h"
+#include "qmlstate_p.h"
+
#include "qmltransition_p.h"
#include "qmlstategroup_p.h"
-#include "qmlstate_p_p.h"
-#include "qmlbinding.h"
#include "qmlstateoperations_p.h"
#include "qmlanimation_p.h"
#include "qmlanimation_p_p.h"
-#include "qmlstate_p.h"
+
+#include <qmlbinding.h>
+#include <qmlglobal_p.h>
+
#include <QtCore/qdebug.h>
-#include <private/qmlglobal_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qmlstate_p.h b/src/declarative/util/qmlstate_p.h
index 856af8a..33e66d8 100644
--- a/src/declarative/util/qmlstate_p.h
+++ b/src/declarative/util/qmlstate_p.h
@@ -42,9 +42,10 @@
#ifndef QMLSTATE_H
#define QMLSTATE_H
-#include <QtCore/qobject.h>
#include <qml.h>
+#include <QtCore/qobject.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qmlstate_p_p.h b/src/declarative/util/qmlstate_p_p.h
index 75eb3fd..ee08949 100644
--- a/src/declarative/util/qmlstate_p_p.h
+++ b/src/declarative/util/qmlstate_p_p.h
@@ -53,10 +53,12 @@
// We mean it.
//
-#include <private/qmlstate_p.h>
+#include "qmlstate_p.h"
+
+#include "qmlanimation_p_p.h"
+#include "qmltransitionmanager_p_p.h"
+
#include <private/qobject_p.h>
-#include <private/qmlanimation_p_p.h>
-#include <private/qmltransitionmanager_p_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qmlstategroup.cpp b/src/declarative/util/qmlstategroup.cpp
index f206f5c..373d457 100644
--- a/src/declarative/util/qmlstategroup.cpp
+++ b/src/declarative/util/qmlstategroup.cpp
@@ -39,13 +39,17 @@
**
****************************************************************************/
-#include "private/qobject_p.h"
#include "qmlstategroup_p.h"
+
#include "qmltransition_p.h"
#include "qmlstate_p_p.h"
+
#include <qmlbinding.h>
+#include <qmlglobal_p.h>
+
#include <QtCore/qdebug.h>
-#include <private/qmlglobal_p.h>
+
+#include <private/qobject_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qmlstategroup_p.h b/src/declarative/util/qmlstategroup_p.h
index ddd27d7..82cc504 100644
--- a/src/declarative/util/qmlstategroup_p.h
+++ b/src/declarative/util/qmlstategroup_p.h
@@ -42,7 +42,7 @@
#ifndef QMLSTATEGROUP_H
#define QMLSTATEGROUP_H
-#include <private/qmlstate_p.h>
+#include "qmlstate_p.h"
QT_BEGIN_HEADER
diff --git a/src/declarative/util/qmlstateoperations.cpp b/src/declarative/util/qmlstateoperations.cpp
index 9727ca7..ebbb5ee 100644
--- a/src/declarative/util/qmlstateoperations.cpp
+++ b/src/declarative/util/qmlstateoperations.cpp
@@ -39,18 +39,21 @@
**
****************************************************************************/
-#include <private/qobject_p.h>
+#include "qmlstateoperations_p.h"
+
#include <qml.h>
#include <qmlcontext.h>
#include <qmlexpression.h>
-#include "qmlstateoperations_p.h"
-#include <QtCore/qdebug.h>
#include <qmlinfo.h>
-#include <private/qmlgraphicsanchors_p_p.h>
-#include <private/qmlgraphicsitem_p.h>
+#include <qmlgraphicsanchors_p_p.h>
+#include <qmlgraphicsitem_p.h>
+
+#include <QtCore/qdebug.h>
#include <QtGui/qgraphicsitem.h>
#include <QtCore/qmath.h>
+#include <private/qobject_p.h>
+
QT_BEGIN_NAMESPACE
class QmlParentChangePrivate : public QObjectPrivate
@@ -823,8 +826,8 @@ void QmlAnchorChanges::saveCurrentValues()
d->rewindBaseline = d->target->anchors()->baseline();
}
-#include "qmlstateoperations.moc"
-#include "moc_qmlstateoperations_p.cpp"
+#include <qmlstateoperations.moc>
+#include <moc_qmlstateoperations_p.cpp>
QT_END_NAMESPACE
diff --git a/src/declarative/util/qmlstateoperations_p.h b/src/declarative/util/qmlstateoperations_p.h
index 589fe20..b03af48 100644
--- a/src/declarative/util/qmlstateoperations_p.h
+++ b/src/declarative/util/qmlstateoperations_p.h
@@ -42,9 +42,10 @@
#ifndef QMLSTATEOPERATIONS_H
#define QMLSTATEOPERATIONS_H
-#include <private/qmlstate_p.h>
+#include "qmlstate_p.h"
+
#include <qmlgraphicsitem.h>
-#include <private/qmlgraphicsanchors_p.h>
+#include <qmlgraphicsanchors_p.h>
#include <qmlscriptstring.h>
QT_BEGIN_HEADER
diff --git a/src/declarative/util/qmlsystempalette.cpp b/src/declarative/util/qmlsystempalette.cpp
index 4ddc82d..d43a971 100644
--- a/src/declarative/util/qmlsystempalette.cpp
+++ b/src/declarative/util/qmlsystempalette.cpp
@@ -39,10 +39,12 @@
**
****************************************************************************/
-#include "private/qobject_p.h"
#include "qmlsystempalette_p.h"
+
#include <QApplication>
+#include <private/qobject_p.h>
+
QT_BEGIN_NAMESPACE
class QmlSystemPalettePrivate : public QObjectPrivate
diff --git a/src/declarative/util/qmlsystempalette_p.h b/src/declarative/util/qmlsystempalette_p.h
index 8ee511a..7c39d4a 100644
--- a/src/declarative/util/qmlsystempalette_p.h
+++ b/src/declarative/util/qmlsystempalette_p.h
@@ -42,8 +42,9 @@
#ifndef QMLSYSTEMPALETTE_H
#define QMLSYSTEMPALETTE_H
-#include <QtCore/qobject.h>
#include <qml.h>
+
+#include <QtCore/qobject.h>
#include <QPalette>
QT_BEGIN_HEADER
diff --git a/src/declarative/util/qmltimeline.cpp b/src/declarative/util/qmltimeline.cpp
index e8695de..130e02d 100644
--- a/src/declarative/util/qmltimeline.cpp
+++ b/src/declarative/util/qmltimeline.cpp
@@ -40,6 +40,7 @@
****************************************************************************/
#include "qmltimeline_p_p.h"
+
#include <QDebug>
#include <QMutex>
#include <QThread>
diff --git a/src/declarative/util/qmltimer.cpp b/src/declarative/util/qmltimer.cpp
index 9b54337..046dfe9 100644
--- a/src/declarative/util/qmltimer.cpp
+++ b/src/declarative/util/qmltimer.cpp
@@ -39,11 +39,13 @@
**
****************************************************************************/
-#include "QtCore/qcoreapplication.h"
-#include "QtCore/qpauseanimation.h"
-#include "private/qobject_p.h"
#include "qmltimer_p.h"
-#include "qdebug.h"
+
+#include <QtCore/qcoreapplication.h>
+#include <QtCore/qpauseanimation.h>
+#include <qdebug.h>
+
+#include <private/qobject_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qmltimer_p.h b/src/declarative/util/qmltimer_p.h
index 50cae2b..fcd6c84 100644
--- a/src/declarative/util/qmltimer_p.h
+++ b/src/declarative/util/qmltimer_p.h
@@ -42,9 +42,10 @@
#ifndef QMLTIMER_H
#define QMLTIMER_H
+#include <qml.h>
+
#include <QtCore/qobject.h>
#include <QtCore/qabstractanimation.h>
-#include <qml.h>
QT_BEGIN_HEADER
diff --git a/src/declarative/util/qmltransition.cpp b/src/declarative/util/qmltransition.cpp
index 204887c..ec92cf9 100644
--- a/src/declarative/util/qmltransition.cpp
+++ b/src/declarative/util/qmltransition.cpp
@@ -46,6 +46,7 @@
#include "qmlanimation_p.h"
#include "qmlanimation_p_p.h"
#include "qmltransitionmanager_p_p.h"
+
#include <QParallelAnimationGroup>
QT_BEGIN_NAMESPACE
@@ -71,7 +72,7 @@ class ParallelAnimationWrapper : public QParallelAnimationGroup
{
Q_OBJECT
public:
- ParallelAnimationWrapper(QObject *parent) : QParallelAnimationGroup(parent) {}
+ ParallelAnimationWrapper(QObject *parent = 0) : QParallelAnimationGroup(parent) {}
QmlTransitionPrivate *trans;
protected:
virtual void updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState);
@@ -96,8 +97,7 @@ public:
void init()
{
- Q_Q(QmlTransition);
- group = new ParallelAnimationWrapper(q);
+ group = new ParallelAnimationWrapper;
group->trans = this;
}
@@ -146,6 +146,8 @@ QmlTransition::QmlTransition(QObject *parent)
QmlTransition::~QmlTransition()
{
+ Q_D(QmlTransition);
+ delete d->group;
}
void QmlTransition::stop()
@@ -257,4 +259,4 @@ QmlList<QmlAbstractAnimation *>* QmlTransition::animations()
QT_END_NAMESPACE
-#include "qmltransition.moc"
+#include <qmltransition.moc>
diff --git a/src/declarative/util/qmltransition_p.h b/src/declarative/util/qmltransition_p.h
index 1891a6e..3dd0244 100644
--- a/src/declarative/util/qmltransition_p.h
+++ b/src/declarative/util/qmltransition_p.h
@@ -42,10 +42,12 @@
#ifndef QMLTRANSITION_H
#define QMLTRANSITION_H
-#include <QtCore/qobject.h>
-#include <private/qmlstate_p.h>
+#include "qmlstate_p.h"
+
#include <qml.h>
+#include <QtCore/qobject.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qmltransitionmanager.cpp b/src/declarative/util/qmltransitionmanager.cpp
index 1a164c7..8ae5785 100644
--- a/src/declarative/util/qmltransitionmanager.cpp
+++ b/src/declarative/util/qmltransitionmanager.cpp
@@ -39,9 +39,11 @@
**
****************************************************************************/
+#include "qmltransitionmanager_p_p.h"
+
+#include "qmlstate_p_p.h"
+
#include <qmlbinding.h>
-#include <private/qmltransitionmanager_p_p.h>
-#include <private/qmlstate_p_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qmltransitionmanager_p_p.h b/src/declarative/util/qmltransitionmanager_p_p.h
index 9a05684..c7e609f 100644
--- a/src/declarative/util/qmltransitionmanager_p_p.h
+++ b/src/declarative/util/qmltransitionmanager_p_p.h
@@ -53,7 +53,7 @@
// We mean it.
//
-#include <private/qmlstateoperations_p.h>
+#include "qmlstateoperations_p.h"
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qmlview.cpp b/src/declarative/util/qmlview.cpp
index afeead2..b5f33f2 100644
--- a/src/declarative/util/qmlview.cpp
+++ b/src/declarative/util/qmlview.cpp
@@ -39,30 +39,31 @@
**
****************************************************************************/
-#include "qscriptvalueiterator.h"
-#include "qdebug.h"
-#include "qtimer.h"
-#include "qevent.h"
-#include "qdir.h"
-#include "qcoreapplication.h"
-#include "qfontdatabase.h"
-#include "qicon.h"
-#include "qurl.h"
-#include "qboxlayout.h"
-#include "qbasictimer.h"
-
-#include "qml.h"
-#include "qmlgraphicsitem.h"
-#include "private/qperformancelog_p_p.h"
-#include "private/qfxperf_p_p.h"
-
#include "qmlview.h"
+
+#include "qperformancelog_p_p.h"
+#include "qfxperf_p_p.h"
+
+#include <qml.h>
+#include <qmlgraphicsitem.h>
#include <qmlengine.h>
#include <qmlcontext.h>
-#include <private/qmldebug_p.h>
-#include <private/qmldebugservice_p.h>
+#include <qmldebug_p.h>
+#include <qmldebugservice_p.h>
+#include <qmlglobal_p.h>
+
+#include <qscriptvalueiterator.h>
+#include <qdebug.h>
+#include <qtimer.h>
+#include <qevent.h>
+#include <qdir.h>
+#include <qcoreapplication.h>
+#include <qfontdatabase.h>
+#include <qicon.h>
+#include <qurl.h>
+#include <qboxlayout.h>
+#include <qbasictimer.h>
#include <QtCore/qabstractanimation.h>
-#include <private/qmlglobal_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qmlxmllistmodel.cpp b/src/declarative/util/qmlxmllistmodel.cpp
index 2dfffbf..6f8da9c 100644
--- a/src/declarative/util/qmlxmllistmodel.cpp
+++ b/src/declarative/util/qmlxmllistmodel.cpp
@@ -40,10 +40,10 @@
****************************************************************************/
#include "qmlxmllistmodel_p.h"
-#include "private/qobject_p.h"
#include <qmlcontext.h>
#include <qmlengine.h>
+
#include <QDebug>
#include <QApplication>
#include <QThread>
@@ -56,6 +56,8 @@
#include <QNetworkRequest>
#include <QNetworkReply>
+#include <private/qobject_p.h>
+
QT_BEGIN_NAMESPACE
QML_DEFINE_TYPE(Qt,4,6,XmlRole,QmlXmlListModelRole)
@@ -716,4 +718,4 @@ void QmlXmlListModel::queryCompleted(int id, int size)
QT_END_NAMESPACE
-#include "qmlxmllistmodel.moc"
+#include <qmlxmllistmodel.moc>
diff --git a/src/declarative/util/qmlxmllistmodel_p.h b/src/declarative/util/qmlxmllistmodel_p.h
index 2fa1be8..e645740 100644
--- a/src/declarative/util/qmlxmllistmodel_p.h
+++ b/src/declarative/util/qmlxmllistmodel_p.h
@@ -43,9 +43,10 @@
#define QMLXMLLISTMODEL_H
#include <qml.h>
-#include <private/qlistmodelinterface_p.h>
#include <qmlinfo.h>
+#include <qlistmodelinterface_p.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qnumberformat_p.h b/src/declarative/util/qnumberformat_p.h
index be3dfce..c73ef8a 100644
--- a/src/declarative/util/qnumberformat_p.h
+++ b/src/declarative/util/qnumberformat_p.h
@@ -43,6 +43,7 @@
#define NUMBERFORMAT_H
#include <qml.h>
+
#include <QtCore/QLocale>
#include <QtCore/QTime>
diff --git a/src/declarative/util/qperformancelog.cpp b/src/declarative/util/qperformancelog.cpp
index ff2f42e..2f91dfb 100644
--- a/src/declarative/util/qperformancelog.cpp
+++ b/src/declarative/util/qperformancelog.cpp
@@ -40,6 +40,7 @@
****************************************************************************/
#include "qperformancelog_p_p.h"
+
#include <QHash>
#include <QDebug>
diff --git a/src/declarative/util/util.pri b/src/declarative/util/util.pri
index d2faec9..b3418c7 100644
--- a/src/declarative/util/util.pri
+++ b/src/declarative/util/util.pri
@@ -1,68 +1,70 @@
+INCLUDEPATH += $$PWD
+
SOURCES += \
- util/qmlview.cpp \
- util/qfxperf.cpp \
- util/qperformancelog.cpp \
- util/qmlconnection.cpp \
- util/qmlpackage.cpp \
- util/qmlanimation.cpp \
- util/qmlsystempalette.cpp \
- util/qmlspringfollow.cpp \
- util/qmleasefollow.cpp \
- util/qmlstate.cpp\
- util/qmltransitionmanager.cpp \
- util/qmlstateoperations.cpp \
- util/qmlpropertychanges.cpp \
- util/qmlstategroup.cpp \
- util/qmltransition.cpp \
- util/qmllistmodel.cpp\
- util/qmllistaccessor.cpp \
- util/qmlopenmetaobject.cpp \
- util/qmltimeline.cpp \
- util/qmltimer.cpp \
- util/qmlbind.cpp \
- util/qmlpropertymap.cpp \
- util/qmlpixmapcache.cpp \
- util/qnumberformat.cpp \
- util/qmlnumberformatter.cpp \
- util/qmldatetimeformatter.cpp \
- util/qmlbehavior.cpp \
- util/qmlfontloader.cpp
+ $$PWD/qmlview.cpp \
+ $$PWD/qfxperf.cpp \
+ $$PWD/qperformancelog.cpp \
+ $$PWD/qmlconnection.cpp \
+ $$PWD/qmlpackage.cpp \
+ $$PWD/qmlanimation.cpp \
+ $$PWD/qmlsystempalette.cpp \
+ $$PWD/qmlspringfollow.cpp \
+ $$PWD/qmleasefollow.cpp \
+ $$PWD/qmlstate.cpp\
+ $$PWD/qmltransitionmanager.cpp \
+ $$PWD/qmlstateoperations.cpp \
+ $$PWD/qmlpropertychanges.cpp \
+ $$PWD/qmlstategroup.cpp \
+ $$PWD/qmltransition.cpp \
+ $$PWD/qmllistmodel.cpp\
+ $$PWD/qmllistaccessor.cpp \
+ $$PWD/qmlopenmetaobject.cpp \
+ $$PWD/qmltimeline.cpp \
+ $$PWD/qmltimer.cpp \
+ $$PWD/qmlbind.cpp \
+ $$PWD/qmlpropertymap.cpp \
+ $$PWD/qmlpixmapcache.cpp \
+ $$PWD/qnumberformat.cpp \
+ $$PWD/qmlnumberformatter.cpp \
+ $$PWD/qmldatetimeformatter.cpp \
+ $$PWD/qmlbehavior.cpp \
+ $$PWD/qmlfontloader.cpp
HEADERS += \
- util/qmlview.h \
- util/qfxperf_p_p.h \
- util/qperformancelog_p_p.h \
- util/qmlconnection_p.h \
- util/qmlpackage_p.h \
- util/qmlanimation_p.h \
- util/qmlanimation_p_p.h \
- util/qmlsystempalette_p.h \
- util/qmlspringfollow_p.h \
- util/qmleasefollow_p.h \
- util/qmlstate_p.h\
- util/qmlstateoperations_p.h \
- util/qmlpropertychanges_p.h \
- util/qmlstate_p_p.h\
- util/qmltransitionmanager_p_p.h \
- util/qmlstategroup_p.h \
- util/qmltransition_p.h \
- util/qmllistmodel_p.h\
- util/qmllistaccessor_p.h \
- util/qmlopenmetaobject_p.h \
- util/qmlnullablevalue_p_p.h \
- util/qmltimeline_p_p.h \
- util/qmltimer_p.h \
- util/qmlbind_p.h \
- util/qmlpropertymap.h \
- util/qmlpixmapcache_p.h \
- util/qnumberformat_p.h \
- util/qmlnumberformatter_p.h \
- util/qmldatetimeformatter_p.h \
- util/qmlbehavior_p.h \
- util/qmlfontloader_p.h
+ $$PWD/qmlview.h \
+ $$PWD/qfxperf_p_p.h \
+ $$PWD/qperformancelog_p_p.h \
+ $$PWD/qmlconnection_p.h \
+ $$PWD/qmlpackage_p.h \
+ $$PWD/qmlanimation_p.h \
+ $$PWD/qmlanimation_p_p.h \
+ $$PWD/qmlsystempalette_p.h \
+ $$PWD/qmlspringfollow_p.h \
+ $$PWD/qmleasefollow_p.h \
+ $$PWD/qmlstate_p.h\
+ $$PWD/qmlstateoperations_p.h \
+ $$PWD/qmlpropertychanges_p.h \
+ $$PWD/qmlstate_p_p.h\
+ $$PWD/qmltransitionmanager_p_p.h \
+ $$PWD/qmlstategroup_p.h \
+ $$PWD/qmltransition_p.h \
+ $$PWD/qmllistmodel_p.h\
+ $$PWD/qmllistaccessor_p.h \
+ $$PWD/qmlopenmetaobject_p.h \
+ $$PWD/qmlnullablevalue_p_p.h \
+ $$PWD/qmltimeline_p_p.h \
+ $$PWD/qmltimer_p.h \
+ $$PWD/qmlbind_p.h \
+ $$PWD/qmlpropertymap.h \
+ $$PWD/qmlpixmapcache_p.h \
+ $$PWD/qnumberformat_p.h \
+ $$PWD/qmlnumberformatter_p.h \
+ $$PWD/qmldatetimeformatter_p.h \
+ $$PWD/qmlbehavior_p.h \
+ $$PWD/qmlfontloader_p.h
contains(QT_CONFIG, xmlpatterns) {
QT+=xmlpatterns
- SOURCES += util/qmlxmllistmodel.cpp
- HEADERS += util/qmlxmllistmodel_p.h
+ SOURCES += $$PWD/qmlxmllistmodel.cpp
+ HEADERS += $$PWD/qmlxmllistmodel_p.h
}
diff --git a/src/declarative/widgets/graphicslayouts.cpp b/src/declarative/widgets/graphicslayouts.cpp
index 0721102..065040f 100644
--- a/src/declarative/widgets/graphicslayouts.cpp
+++ b/src/declarative/widgets/graphicslayouts.cpp
@@ -40,6 +40,7 @@
****************************************************************************/
#include "graphicslayouts_p.h"
+
#include <QtGui/qgraphicswidget.h>
#include <QtCore/qdebug.h>
@@ -315,4 +316,4 @@ GridLayoutAttached *QGraphicsGridLayoutObject::qmlAttachedProperties(QObject *ob
QT_END_NAMESPACE
-#include "graphicslayouts.moc"
+#include <graphicslayouts.moc>
diff --git a/src/declarative/widgets/graphicslayouts_p.h b/src/declarative/widgets/graphicslayouts_p.h
index c44cb79..34e2556 100644
--- a/src/declarative/widgets/graphicslayouts_p.h
+++ b/src/declarative/widgets/graphicslayouts_p.h
@@ -42,7 +42,8 @@
#ifndef GRAPHICSLAYOUTS_H
#define GRAPHICSLAYOUTS_H
-#include <private/graphicswidgets_p.h>
+#include "graphicswidgets_p.h"
+
#include <QtGui/QGraphicsLinearLayout>
#include <QtGui/QGraphicsGridLayout>
diff --git a/src/declarative/widgets/graphicswidgets.cpp b/src/declarative/widgets/graphicswidgets.cpp
index 40ba93e..4c13865 100644
--- a/src/declarative/widgets/graphicswidgets.cpp
+++ b/src/declarative/widgets/graphicswidgets.cpp
@@ -160,4 +160,4 @@ QML_DEFINE_INTERFACE(QGraphicsItem)
QT_END_NAMESPACE
-#include "graphicswidgets.moc"
+#include <graphicswidgets.moc>
diff --git a/src/declarative/widgets/graphicswidgets_p.h b/src/declarative/widgets/graphicswidgets_p.h
index 0254f10..b15bffa 100644
--- a/src/declarative/widgets/graphicswidgets_p.h
+++ b/src/declarative/widgets/graphicswidgets_p.h
@@ -43,6 +43,7 @@
#define GRAPHICSWIDGETS_H
#include <qml.h>
+
#include <QtGui/QGraphicsScene>
#include <QtGui/QGraphicsView>
#include <QtGui/QGraphicsWidget>
diff --git a/src/declarative/widgets/widgets.pri b/src/declarative/widgets/widgets.pri
index 4a8bc93..4cae3ff 100644
--- a/src/declarative/widgets/widgets.pri
+++ b/src/declarative/widgets/widgets.pri
@@ -1,10 +1,9 @@
+INCLUDEPATH += $$PWD
+
SOURCES += \
- widgets/graphicswidgets.cpp \
- widgets/graphicslayouts.cpp \
+ $$PWD/graphicswidgets.cpp \
+ $$PWD/graphicslayouts.cpp
HEADERS += \
- widgets/graphicswidgets_p.h \
- widgets/graphicslayouts_p.h \
-
-
-
+ $$PWD/graphicswidgets_p.h \
+ $$PWD/graphicslayouts_p.h
diff --git a/tests/auto/declarative/anchors/tst_anchors.cpp b/tests/auto/declarative/anchors/tst_anchors.cpp
index 44e812a..7378d95 100644
--- a/tests/auto/declarative/anchors/tst_anchors.cpp
+++ b/tests/auto/declarative/anchors/tst_anchors.cpp
@@ -172,7 +172,7 @@ void tst_anchors::loops()
view->setUrl(QUrl("file://" SRCDIR "/data/loop1.qml"));
- QString expect = "QML QmlGraphicsText (" + view->url().toString() + ":7:5" + ") Possible anchor loop detected on horizontal anchor.";
+ QString expect = "QML QmlGraphicsText (" + view->url().toString() + ":6:5" + ") Possible anchor loop detected on horizontal anchor.";
QTest::ignoreMessage(QtWarningMsg, expect.toLatin1());
QTest::ignoreMessage(QtWarningMsg, expect.toLatin1());
QTest::ignoreMessage(QtWarningMsg, expect.toLatin1());
@@ -187,7 +187,7 @@ void tst_anchors::loops()
view->setUrl(QUrl("file://" SRCDIR "/data/loop2.qml"));
- QString expect = "QML QmlGraphicsImage (" + view->url().toString() + ":14:3" + ") Possible anchor loop detected on horizontal anchor.";
+ QString expect = "QML QmlGraphicsImage (" + view->url().toString() + ":8:3" + ") Possible anchor loop detected on horizontal anchor.";
QTest::ignoreMessage(QtWarningMsg, expect.toLatin1());
view->execute();
qApp->processEvents();
diff --git a/tests/auto/declarative/qmlgraphicswebview/data/pixelCache.qml b/tests/auto/declarative/qmlgraphicswebview/data/pixelCache.qml
index 3467c65..08e4d65 100644
--- a/tests/auto/declarative/qmlgraphicswebview/data/pixelCache.qml
+++ b/tests/auto/declarative/qmlgraphicswebview/data/pixelCache.qml
@@ -1,8 +1,6 @@
import Test 1.0
MyWebView {
- width: 100
- height: 100
anchors.fill: parent
url: "pixelCache.html"
}
diff --git a/tests/auto/declarative/qmlinstruction/tst_qmlinstruction.cpp b/tests/auto/declarative/qmlinstruction/tst_qmlinstruction.cpp
index 1173f85..bfffc43 100644
--- a/tests/auto/declarative/qmlinstruction/tst_qmlinstruction.cpp
+++ b/tests/auto/declarative/qmlinstruction/tst_qmlinstruction.cpp
@@ -331,8 +331,8 @@ void tst_qmlinstruction::dump()
i.line = 28;
i.type = QmlInstruction::StoreScript;
i.storeScript.value = 2;
- i.storeScript.fileName = 18;
- i.storeScript.lineNumber = 28;
+ //i.storeScript.fileName = 18;
+ //i.storeScript.lineNumber = 28;
data->bytecode << i;
}
@@ -565,7 +565,7 @@ void tst_qmlinstruction::dump()
<< "25\t\t25\tSTORE_VARIANT_OBJECT\t22"
<< "26\t\t26\tSTORE_INTERFACE\t\t23"
<< "27\t\t27\tSTORE_SIGNAL\t\t2\t4\t\t\"console.log(1921)\""
- << "28\t\t28\tSTORE_SCRIPT\t\t2\t18\t28"
+ << "28\t\t28\tSTORE_SCRIPT\t\t2"
<< "29\t\t29\tSTORE_SCRIPT_STRING\t24\t3\t1"
<< "30\t\t30\tASSIGN_SIGNAL_OBJECT\t0\t\t\t\"mySignal\""
<< "31\t\t31\tASSIGN_CUSTOMTYPE\t25\t4"
diff --git a/tests/auto/declarative/qmllanguage/tst_qmllanguage.cpp b/tests/auto/declarative/qmllanguage/tst_qmllanguage.cpp
index 685beaf..4bca21a 100644
--- a/tests/auto/declarative/qmllanguage/tst_qmllanguage.cpp
+++ b/tests/auto/declarative/qmllanguage/tst_qmllanguage.cpp
@@ -716,6 +716,8 @@ void tst_qmllanguage::valueTypes()
QCOMPARE(object->rectProperty2(), QRect(12, 11, 14, 13));
QCOMPARE(object->intProperty(), 12);
+ // ###
+#if 0
QmlMetaProperty p = QmlMetaProperty::createProperty(object, "rectProperty.x");
QCOMPARE(p.read(), QVariant(12));
p.write(13);
@@ -725,6 +727,7 @@ void tst_qmllanguage::valueTypes()
QmlMetaProperty p2;
QmlMetaPropertyPrivate::restore(p2, r, object);
QCOMPARE(p2.read(), QVariant(13));
+#endif
}
void tst_qmllanguage::cppnamespace()
diff --git a/tests/auto/declarative/qmlpixmapcache/tst_qmlpixmapcache.cpp b/tests/auto/declarative/qmlpixmapcache/tst_qmlpixmapcache.cpp
index 88d9df5..a26b097 100644
--- a/tests/auto/declarative/qmlpixmapcache/tst_qmlpixmapcache.cpp
+++ b/tests/auto/declarative/qmlpixmapcache/tst_qmlpixmapcache.cpp
@@ -126,6 +126,9 @@ void tst_qmlpixmapcache::single()
+target.toString()+"\" ) \"Error downloading "
+target.toString()+" - server replied: Not Found\" ";
QTest::ignoreMessage(QtWarningMsg, expected.toLatin1());
+ } else if (!exists) {
+ QString expected = "Cannot open QUrl( \"" + target.toString() + "\" ) ";
+ QTest::ignoreMessage(QtWarningMsg, expected.toLatin1());
}
QPixmap pixmap;
diff --git a/tests/benchmarks/declarative/qmltime/qmltime.cpp b/tests/benchmarks/declarative/qmltime/qmltime.cpp
index 27019f4..f065444 100644
--- a/tests/benchmarks/declarative/qmltime/qmltime.cpp
+++ b/tests/benchmarks/declarative/qmltime/qmltime.cpp
@@ -21,6 +21,8 @@ public:
void run(uint);
private:
+ void runTest(QmlContext *, uint);
+
QmlComponent *m_component;
static Timer *m_timer;
};
@@ -56,10 +58,19 @@ void Timer::run(uint iterations)
{
QmlContext context(qmlContext(this));
+ QObject *o = m_component->create(&context);
+ delete o;
+
+
+ runTest(&context, iterations);
+}
+
+void Timer::runTest(QmlContext *context, uint iterations)
+{
QTime t;
t.start();
for (uint ii = 0; ii < iterations; ++ii) {
- QObject *o = m_component->create(&context);
+ QObject *o = m_component->create(context);
delete o;
}
diff --git a/tools/qmldebugger/creatorplugin/creatorplugin.pro b/tools/qmldebugger/creatorplugin/creatorplugin.pro
index ff7f3da..55f7398 100644
--- a/tools/qmldebugger/creatorplugin/creatorplugin.pro
+++ b/tools/qmldebugger/creatorplugin/creatorplugin.pro
@@ -2,6 +2,7 @@ TEMPLATE = lib
TARGET = QmlInspector
INCLUDEPATH += .
+INCLUDEPATH += ../../../src/declarative/debugger
DEPENDPATH += .
include(../standalone/qmldebugger.pri)
diff --git a/tools/qmldebugger/standalone/qmldebugger.pri b/tools/qmldebugger/standalone/qmldebugger.pri
index aad5eb1..ede7d31 100644
--- a/tools/qmldebugger/standalone/qmldebugger.pri
+++ b/tools/qmldebugger/standalone/qmldebugger.pri
@@ -1,6 +1,8 @@
QT += network declarative
contains(QT_CONFIG, opengles2)|contains(QT_CONFIG, opengles1): QT += opengl
+INCLUDEPATH += ../../../src/declarative/debugger
+
# Input
HEADERS += $$PWD/canvasframerate.h \
$$PWD/watchtable.h \
diff --git a/tools/qmlviewer/qmlviewer.pro b/tools/qmlviewer/qmlviewer.pro
index 91c9534..ce45ed0 100644
--- a/tools/qmlviewer/qmlviewer.pro
+++ b/tools/qmlviewer/qmlviewer.pro
@@ -29,6 +29,7 @@ maemo5 {
FORMS = recopts.ui \
proxysettings.ui
INCLUDEPATH += ../../include/QtDeclarative
+INCLUDEPATH += ../../src/declarative/util
include(../shared/deviceskin/deviceskin.pri)
target.path = $$[QT_INSTALL_BINS]
INSTALLS += target