diff options
101 files changed, 539 insertions, 436 deletions
diff --git a/doc/src/declarative/examples.qdoc b/doc/src/declarative/examples.qdoc index ad8c10c..dcd0362 100644 --- a/doc/src/declarative/examples.qdoc +++ b/doc/src/declarative/examples.qdoc @@ -72,7 +72,7 @@ For example, from your build directory, run: \list \o \l{declarative/animation/basics}{Basics} \o \l{declarative/animation/behaviors}{Behaviors} -\o \l{declarative/animation/easing}{Easing types} +\o \l{declarative/animation/easing}{Easing} \o \l{declarative/animation/states}{States} \endlist @@ -82,6 +82,12 @@ For example, from your build directory, run: \o \l{declarative/imageelements/image}{Image} \endlist +\section2 Text +\list +\o \l{declarative/text/fonts}{Fonts} +\o \l{declarative/text/textselection}{Text Selection} +\endlist + \section2 Positioners \list \o \l{declarative/positioners}{Example} @@ -122,6 +128,15 @@ For example, from your build directory, run: \o \l{declarative/modelviews/webview}{WebView} \endlist +\section2 Toys +\list +\o \l{declarative/toys/clocks}{Clocks} +\o \l{declarative/toys/corkboards}{Corkboards} +\o \l{declarative/toys/dynamicscene}{Dynamic Scene} +\o \l{declarative/toys/tic-tac-toe}{Tic Tac Toe} +\o \l{declarative/toys/tvtennis}{TV Tennis} +\endlist + \section2 XML \list \o \l{declarative/xml/xmlhttprequest}{XmlHttpRequest} @@ -153,15 +168,6 @@ For example, from your build directory, run: \o \l{declarative/cppextensions/networkaccessmanagerfactory}{Network access manager factory} \endlist -\section2 Toys -\list -\o \l{declarative/toys/clocks}{Clocks} -\o \l{declarative/toys/corkboards}{Corkboards} -\o \l{declarative/toys/dynamicscene}{Dynamic Scene} -\o \l{declarative/toys/tic-tac-toe}{Tic Tac Toe} -\o \l{declarative/toys/tvtennis}{TV Tennis} -\endlist - \section1 Demos @@ -173,6 +179,8 @@ For example, from your build directory, run: \o \l{demos/declarative/rssnews}{RSS News Reader} \o \l{demos/declarative/samegame}{Same Game} \o \l{demos/declarative/snake}{Snake} +\o \l{demos/declarative/twitter}{Twitter} +\o \l{demos/declarative/webbrowser}{Web Browser} \endlist \section1 Labs diff --git a/doc/src/examples/qml-examples.qdoc b/doc/src/examples/qml-examples.qdoc index ee708a8..1c0680d 100644 --- a/doc/src/examples/qml-examples.qdoc +++ b/doc/src/examples/qml-examples.qdoc @@ -43,7 +43,21 @@ \title Animation: Basics \example declarative/animation/basics - This example shows how to create \l{QML Animation}{animations} in QML. + This example shows how to create and combine \l{QML Animation}{animations} in QML. + + \table + \row + \o \image qml-coloranim-example.png + \row + \o color-animation.qml + \endtable + + \table + \row + \o \image qml-propertyanim-example.png + \row + \o property-animation.qml + \endtable */ /*! @@ -51,34 +65,69 @@ \example declarative/animation/behaviors This example shows how to use QML behaviors. + + \image qml-behaviors-example.png */ /*! - \title Animation: Easing types + \title Animation: Easing \example declarative/animation/easing This example shows the different easing modes available for \l{QML Animation}{animations}. + + \image qml-easing-example.png */ /*! \title Animation: States \example declarative/animation/states - This example shows how to use \l{States}{states} and \l{Transitions}{transitions}. + These examples show how to use \l{States}{states} and \l{Transitions}{transitions}. + + The \c states.qml example shows how an item can change between states, and \c transitions.qml + shows how these state changes can be animated. + + \table + \row + \o \image qml-states-example.png + \row + \o states.qml + \endtable + + \table + \row + \o \image qml-transitions-example.png + \row + \o transitions.qml + \endtable */ /*! \title Image Elements: Border Image \example declarative/imageelements/borderimage - This example shows how to use the BorderImage element. + These examples show how to use the BorderImage element. + + \table + \row + \o \image qml-borderimage-example.png + \row + \o borderimage.qml + \endtable + + \table + \row + \o \image qml-borderimage-shadows-example.png + \row + \o shadows.qml + \endtable */ /*! \title Image Elements: Image \example declarative/imageelements/image - This example shows how to use the Image element and its \l{Image::fillMode}{fillModes}. + This example shows how to use the \l Image element and its \l{Image::fillMode}{fillModes}. \image qml-image-example.png */ @@ -116,6 +165,8 @@ \example declarative/cppextensions/plugins This example shows how to create a C++ plugin extension by subclassing QDeclarativeExtensionPlugin. + + \image qml-plugins-example.png */ /*! @@ -124,6 +175,8 @@ This example show how to use the LayoutItem element to integrate QML items into an existing \l{Graphics View Framework}{Graphics View}-based application. + + \image qml-layoutitem-example.png */ /*! \title QGraphicsGridLayout @@ -132,6 +185,8 @@ This example shows how to use QGraphicsGridLayout to lay out QML items. This is useful if you need to integrate Qt \l{Graphics View Framework}{Graphics View} layouts with QML. + + \image qml-qgraphicsgridlayout-example.png */ /*! \title QGraphicsLinearLayout @@ -140,6 +195,8 @@ This example shows how to use QGraphicsLinearLayout to lay out QML items. This is useful if you need to integrate Qt \l{Graphics View Framework}{Graphics View} layouts with QML. + + \image qml-qgraphicslinearlayout-example.png */ /*! \page declarative-cppextensions-qgraphicslayouts.html @@ -160,6 +217,8 @@ \example declarative/cppextensions/qwidgets This example shows how to embed QWidget-based objects into QML using QGraphicsProxyWidget. + + \image qml-qwidgets-example.png */ /*! @@ -171,7 +230,7 @@ */ /*! - \title C++ Extensions: Network access manager + \title C++ Extensions: Network access manager factory \example declarative/cppextensions/networkaccessmanagerfactory This example shows how to use QDeclarativeNetworkAccessManagerFactory to create a QNetworkAccessManager @@ -183,21 +242,25 @@ \example declarative/i18n This example shows how to enable text translation in QML. + + \image qml-i18n-example.png */ /*! \title Positioners \example declarative/positioners - This example shows how to use positioner elements such as Row, Column, - Grid and Flow. + This example shows how to use positioner elements such as \l Row, \l Column, + \l Grid and \l Flow. + + \image qml-positioners-example.png */ /*! \title Key Interaction: Focus \example declarative/keyinteraction/focus - This example shows how to handle keys and focus in QML. + This example shows how to handle keyboard input and focus in QML. \image qml-focus-example.png */ @@ -207,6 +270,8 @@ \example declarative/modelviews/gridview This example shows how to use the GridView element. + + \image qml-gridview-example.png */ /*! @@ -214,6 +279,41 @@ \example declarative/modelviews/listview These examples show how to use the ListView element. + + \table + \row + \o \image qml-listview-dynamiclist-example.png + \row + \o dynamiclist.qml + \endtable + + \table + \row + \o \image qml-listview-expandingdelegates-example.png + \row + \o expandingdelegates.qml + \endtable + + \table + \row + \o \image qml-listview-highlight-example.png + \row + \o highlight.qml + \endtable + + \table + \row + \o \image qml-listview-highlightranges-example.png + \row + \o highlightranges.qml + \endtable + + \table + \row + \o \image qml-listview-sections-example.png + \row + \o sections.qml + \endtable */ /*! @@ -222,13 +322,17 @@ This example shows how to create a C++ extension that exposes a QList<QObject*> as a model in QML. + + \image qml-objectlistmodel-example.png */ /*! \title Models and Views: Package \example declarative/modelviews/package - This example shows how to use the Package element. + This example shows how to use the \l Package element. + + \image qml-package-example.png */ /*! @@ -236,6 +340,8 @@ \example declarative/modelviews/parallax This example shows how to combine and switch between views. + + \image qml-parallax-example.png */ /*! @@ -244,6 +350,8 @@ This example shows how to create a C++ extension that exposes a QStringList as a model in QML. + + \image qml-stringlistmodel-example.png */ /*! @@ -251,13 +359,50 @@ \example declarative/modelviews/visualitemmodel This example shows how to use the VisualItemModel element. + + \image qml-visualitemmodel-example.png */ /*! \title Models and Views: WebView \example declarative/modelviews/webview - This example shows how to use the WebView element. + These examples shows how to use the WebView element. + + \table + \row + \o \image qml-webview-alert-example.png + \row + \o alert.qml + \endtable + + \table + \row + \o \image qml-webview-autosize-example.png + \row + \o autosize.qml + \endtable + + \table + \row + \o \image qml-webview-googlemaps-example.png + \row + \o googlemaps.qml + \endtable + + \table + \row + \o \image qml-webview-inlinehtml-example.png + \row + \o inlinehtml.qml + \endtable + + \table + \row + \o \image qml-webview-newwindows-example.png + \row + \o newwindows.qml + \endtable */ /*! @@ -271,8 +416,46 @@ \title Text: Fonts \example declarative/text/fonts - This example shows how to discover available fonts from QML and use - fonts in different ways. + These examples show how to discover available fonts from QML and manipulate + text in various ways. + + \table + \row + \o \image qml-fonts-availableFonts-example.png + \row + \o availableFonts.qml + \endtable + + \table + \row + \o \image qml-fonts-banner-example.png + \row + \o banner.qml + \endtable + + \table + \row + \o \image qml-fonts-fonts-example.png + \row + \o fonts.qml + \endtable + + \table + \row + \o \image qml-fonts-hello-example.png + \row + \o hello.qml + \endtable +*/ + +/*! + \title Text: Text Selection + \example declarative/text/textselection + + This example shows how text selection, copy and paste operations + can be implemented on top of the TextEdit element. + + \image qml-textselection-example.png */ /*! @@ -350,18 +533,22 @@ */ /*! - \title Touch Interaction: Mouse Area + \title Touch Interaction: MouseArea \example declarative/touchinteraction/mousearea - This example shows how to use the MouseArea element. + This example shows how to use the MouseArea element to access information + about mouse input. + + \image qml-mousearea-example.png */ /*! \title UI Components: Dial \example declarative/ui-components/dialcontrol - This example presents an interactive speedometer-type dial by combining - \l Image elements with \l Rotation transforms and \l SpringFollow animations. + This example shows how to create a dial-type control. It combines + \l Image elements with \l Rotation transforms and \l SpringFollow animations + to produce an interactive speedometer-type dial. \image qml-dialcontrol-example.png */ @@ -371,7 +558,7 @@ \title UI Components: Flipable \example declarative/ui-components/flipable - This example shows how to use the Flipable element. + This example shows how to use the \l Flipable element. \image qml-flipable-example.png */ @@ -389,7 +576,7 @@ \title UI Components: Scroll Bar \example declarative/ui-components/scrollbar - This example shows how to create scroll bars for a Flickable element + This example shows how to create scroll bars for a \l Flickable element using the \l {Flickable::visibleArea.xPosition}{Flickable::visibleArea} properties. @@ -400,7 +587,8 @@ \title UI Components: Search Box \example declarative/ui-components/searchbox - This example shows how to create a search box. + This example shows how to combine TextInput, FocusScope and BorderImage + elements to display multiple text input fields. \image qml-searchbox-example.png */ @@ -409,7 +597,7 @@ \title UI Components: Slide Switch \example declarative/ui-components/slideswitch - This example shows how to create a slide switch. + This example shows how to create a slide switch control. \image qml-slideswitch-example.png */ @@ -418,7 +606,7 @@ \title UI Components: Spinner \example declarative/ui-components/spinner - This example shows how to create a spinner-type component. + This example shows how to create a spinner-type component using the PathView element. \image qml-spinner-example.png */ @@ -436,5 +624,7 @@ \title XML: XMLHttpRequest \example declarative/xml/xmlhttprequest - This example shows how to use \l XmlHttpRequest in QML. + This example shows how to use the \l XmlHttpRequest API in QML. + + \image qml-xmlhttprequest-example.png */ diff --git a/doc/src/examples/qml-webbrowser.qdoc b/doc/src/examples/qml-webbrowser.qdoc new file mode 100644 index 0000000..da6f600 --- /dev/null +++ b/doc/src/examples/qml-webbrowser.qdoc @@ -0,0 +1,52 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \title Web Browser + \example demos/declarative/webbrowser + + This demo shows how to write a simple web browser in QML by combining the + WebView element with other components including scroll bars, + \l Flickable views and TextInput fields. + + \image qml-webbrowser-demo.png +*/ + diff --git a/doc/src/images/declarative-folderlistmodel.png b/doc/src/images/declarative-folderlistmodel.png Binary files differindex a469f96..fbed4f8 100644 --- a/doc/src/images/declarative-folderlistmodel.png +++ b/doc/src/images/declarative-folderlistmodel.png diff --git a/doc/src/images/qml-behaviors-example.png b/doc/src/images/qml-behaviors-example.png Binary files differnew file mode 100644 index 0000000..aee5c2b --- /dev/null +++ b/doc/src/images/qml-behaviors-example.png diff --git a/doc/src/images/qml-borderimage-example.png b/doc/src/images/qml-borderimage-example.png Binary files differnew file mode 100644 index 0000000..7e488f2 --- /dev/null +++ b/doc/src/images/qml-borderimage-example.png diff --git a/doc/src/images/qml-borderimage-shadows-example.png b/doc/src/images/qml-borderimage-shadows-example.png Binary files differnew file mode 100644 index 0000000..4700868 --- /dev/null +++ b/doc/src/images/qml-borderimage-shadows-example.png diff --git a/doc/src/images/qml-calculator-example.png b/doc/src/images/qml-calculator-example.png Binary files differindex 19ce1b6..0f9ced8 100644 --- a/doc/src/images/qml-calculator-example.png +++ b/doc/src/images/qml-calculator-example.png diff --git a/doc/src/images/qml-coloranim-example.png b/doc/src/images/qml-coloranim-example.png Binary files differnew file mode 100644 index 0000000..12edc99 --- /dev/null +++ b/doc/src/images/qml-coloranim-example.png diff --git a/doc/src/images/qml-dynamicscene-example.png b/doc/src/images/qml-dynamicscene-example.png Binary files differindex 1f725d1..4179ebe 100644 --- a/doc/src/images/qml-dynamicscene-example.png +++ b/doc/src/images/qml-dynamicscene-example.png diff --git a/doc/src/images/qml-easing-example.png b/doc/src/images/qml-easing-example.png Binary files differnew file mode 100644 index 0000000..fef5b70 --- /dev/null +++ b/doc/src/images/qml-easing-example.png diff --git a/doc/src/images/qml-focus-example.png b/doc/src/images/qml-focus-example.png Binary files differindex 5a114a0..0ec2bff 100644 --- a/doc/src/images/qml-focus-example.png +++ b/doc/src/images/qml-focus-example.png diff --git a/doc/src/images/qml-fonts-availableFonts-example.png b/doc/src/images/qml-fonts-availableFonts-example.png Binary files differnew file mode 100644 index 0000000..4d8440c --- /dev/null +++ b/doc/src/images/qml-fonts-availableFonts-example.png diff --git a/doc/src/images/qml-fonts-banner-example.png b/doc/src/images/qml-fonts-banner-example.png Binary files differnew file mode 100644 index 0000000..b415161 --- /dev/null +++ b/doc/src/images/qml-fonts-banner-example.png diff --git a/doc/src/images/qml-fonts-fonts-example.png b/doc/src/images/qml-fonts-fonts-example.png Binary files differnew file mode 100644 index 0000000..4481397 --- /dev/null +++ b/doc/src/images/qml-fonts-fonts-example.png diff --git a/doc/src/images/qml-fonts-hello-example.png b/doc/src/images/qml-fonts-hello-example.png Binary files differnew file mode 100644 index 0000000..18da867 --- /dev/null +++ b/doc/src/images/qml-fonts-hello-example.png diff --git a/doc/src/images/qml-gridview-example.png b/doc/src/images/qml-gridview-example.png Binary files differnew file mode 100644 index 0000000..8a092b5 --- /dev/null +++ b/doc/src/images/qml-gridview-example.png diff --git a/doc/src/images/qml-i18n-example.png b/doc/src/images/qml-i18n-example.png Binary files differnew file mode 100644 index 0000000..8e734ea --- /dev/null +++ b/doc/src/images/qml-i18n-example.png diff --git a/doc/src/images/qml-layoutitem-example.png b/doc/src/images/qml-layoutitem-example.png Binary files differnew file mode 100644 index 0000000..b3c778a --- /dev/null +++ b/doc/src/images/qml-layoutitem-example.png diff --git a/doc/src/images/qml-listview-dynamiclist-example.png b/doc/src/images/qml-listview-dynamiclist-example.png Binary files differnew file mode 100644 index 0000000..6acc3d9 --- /dev/null +++ b/doc/src/images/qml-listview-dynamiclist-example.png diff --git a/doc/src/images/qml-listview-expandingdelegates-example.png b/doc/src/images/qml-listview-expandingdelegates-example.png Binary files differnew file mode 100644 index 0000000..e7ffc33 --- /dev/null +++ b/doc/src/images/qml-listview-expandingdelegates-example.png diff --git a/doc/src/images/qml-listview-highlight-example.png b/doc/src/images/qml-listview-highlight-example.png Binary files differnew file mode 100644 index 0000000..4f95c13 --- /dev/null +++ b/doc/src/images/qml-listview-highlight-example.png diff --git a/doc/src/images/qml-listview-highlightranges-example.png b/doc/src/images/qml-listview-highlightranges-example.png Binary files differnew file mode 100644 index 0000000..f499caa --- /dev/null +++ b/doc/src/images/qml-listview-highlightranges-example.png diff --git a/doc/src/declarative/pics/ListViewSections.png b/doc/src/images/qml-listview-sections-example.png Binary files differindex 4e8f076..4e8f076 100644 --- a/doc/src/declarative/pics/ListViewSections.png +++ b/doc/src/images/qml-listview-sections-example.png diff --git a/doc/src/images/qml-mousearea-example.png b/doc/src/images/qml-mousearea-example.png Binary files differnew file mode 100644 index 0000000..c6e52d6 --- /dev/null +++ b/doc/src/images/qml-mousearea-example.png diff --git a/doc/src/images/qml-objectlistmodel-example.png b/doc/src/images/qml-objectlistmodel-example.png Binary files differnew file mode 100644 index 0000000..c0fc490 --- /dev/null +++ b/doc/src/images/qml-objectlistmodel-example.png diff --git a/doc/src/images/qml-package-example.png b/doc/src/images/qml-package-example.png Binary files differnew file mode 100644 index 0000000..f7749aa --- /dev/null +++ b/doc/src/images/qml-package-example.png diff --git a/doc/src/images/qml-parallax-example.png b/doc/src/images/qml-parallax-example.png Binary files differnew file mode 100644 index 0000000..2df52ed --- /dev/null +++ b/doc/src/images/qml-parallax-example.png diff --git a/doc/src/images/qml-plugins-example.png b/doc/src/images/qml-plugins-example.png Binary files differnew file mode 100644 index 0000000..c2d4886 --- /dev/null +++ b/doc/src/images/qml-plugins-example.png diff --git a/doc/src/images/qml-positioners-example.png b/doc/src/images/qml-positioners-example.png Binary files differnew file mode 100644 index 0000000..721c1b3 --- /dev/null +++ b/doc/src/images/qml-positioners-example.png diff --git a/doc/src/images/qml-propertyanim-example.png b/doc/src/images/qml-propertyanim-example.png Binary files differnew file mode 100644 index 0000000..46efc64 --- /dev/null +++ b/doc/src/images/qml-propertyanim-example.png diff --git a/doc/src/images/qml-qgraphicsgridlayout-example.png b/doc/src/images/qml-qgraphicsgridlayout-example.png Binary files differnew file mode 100644 index 0000000..1a3bd47 --- /dev/null +++ b/doc/src/images/qml-qgraphicsgridlayout-example.png diff --git a/doc/src/images/qml-qgraphicslinearlayout-example.png b/doc/src/images/qml-qgraphicslinearlayout-example.png Binary files differnew file mode 100644 index 0000000..3964f5b --- /dev/null +++ b/doc/src/images/qml-qgraphicslinearlayout-example.png diff --git a/doc/src/images/qml-qwidgets-example.png b/doc/src/images/qml-qwidgets-example.png Binary files differnew file mode 100644 index 0000000..262b3df --- /dev/null +++ b/doc/src/images/qml-qwidgets-example.png diff --git a/doc/src/images/qml-rssnews-demo.png b/doc/src/images/qml-rssnews-demo.png Binary files differindex 948ef4d..b4143b4 100644 --- a/doc/src/images/qml-rssnews-demo.png +++ b/doc/src/images/qml-rssnews-demo.png diff --git a/doc/src/images/qml-samegame-demo.png b/doc/src/images/qml-samegame-demo.png Binary files differindex c17b4e0..945f2b9 100644 --- a/doc/src/images/qml-samegame-demo.png +++ b/doc/src/images/qml-samegame-demo.png diff --git a/doc/src/images/qml-scrollbar-example.png b/doc/src/images/qml-scrollbar-example.png Binary files differnew file mode 100644 index 0000000..4cf7c2c --- /dev/null +++ b/doc/src/images/qml-scrollbar-example.png diff --git a/doc/src/images/qml-states-example.png b/doc/src/images/qml-states-example.png Binary files differnew file mode 100644 index 0000000..30514ec --- /dev/null +++ b/doc/src/images/qml-states-example.png diff --git a/doc/src/images/qml-stringlistmodel-example.png b/doc/src/images/qml-stringlistmodel-example.png Binary files differnew file mode 100644 index 0000000..c8c888b --- /dev/null +++ b/doc/src/images/qml-stringlistmodel-example.png diff --git a/doc/src/images/qml-tabwidget-example.png b/doc/src/images/qml-tabwidget-example.png Binary files differindex 05887f3..847052d 100644 --- a/doc/src/images/qml-tabwidget-example.png +++ b/doc/src/images/qml-tabwidget-example.png diff --git a/doc/src/images/qml-textselection-example.png b/doc/src/images/qml-textselection-example.png Binary files differnew file mode 100644 index 0000000..284ef53 --- /dev/null +++ b/doc/src/images/qml-textselection-example.png diff --git a/doc/src/images/qml-transitions-example.png b/doc/src/images/qml-transitions-example.png Binary files differnew file mode 100644 index 0000000..8656bfe --- /dev/null +++ b/doc/src/images/qml-transitions-example.png diff --git a/doc/src/images/qml-tvtennis-example.png b/doc/src/images/qml-tvtennis-example.png Binary files differindex ac2b527..1a38034 100644 --- a/doc/src/images/qml-tvtennis-example.png +++ b/doc/src/images/qml-tvtennis-example.png diff --git a/doc/src/images/qml-visualitemmodel-example.png b/doc/src/images/qml-visualitemmodel-example.png Binary files differnew file mode 100644 index 0000000..c716a59 --- /dev/null +++ b/doc/src/images/qml-visualitemmodel-example.png diff --git a/doc/src/images/qml-webbrowser-demo.png b/doc/src/images/qml-webbrowser-demo.png Binary files differnew file mode 100644 index 0000000..9ff471e --- /dev/null +++ b/doc/src/images/qml-webbrowser-demo.png diff --git a/doc/src/images/qml-webview-alert-example.png b/doc/src/images/qml-webview-alert-example.png Binary files differnew file mode 100644 index 0000000..c1cddce --- /dev/null +++ b/doc/src/images/qml-webview-alert-example.png diff --git a/doc/src/images/qml-webview-autosize-example.png b/doc/src/images/qml-webview-autosize-example.png Binary files differnew file mode 100644 index 0000000..5cec614 --- /dev/null +++ b/doc/src/images/qml-webview-autosize-example.png diff --git a/doc/src/images/qml-webview-googlemaps-example.png b/doc/src/images/qml-webview-googlemaps-example.png Binary files differnew file mode 100644 index 0000000..d6c77a1 --- /dev/null +++ b/doc/src/images/qml-webview-googlemaps-example.png diff --git a/doc/src/images/qml-webview-inlinehtml-example.png b/doc/src/images/qml-webview-inlinehtml-example.png Binary files differnew file mode 100644 index 0000000..426cf8a --- /dev/null +++ b/doc/src/images/qml-webview-inlinehtml-example.png diff --git a/doc/src/images/qml-webview-newwindows-example.png b/doc/src/images/qml-webview-newwindows-example.png Binary files differnew file mode 100644 index 0000000..bd98b57 --- /dev/null +++ b/doc/src/images/qml-webview-newwindows-example.png diff --git a/doc/src/images/qml-xmlhttprequest-example.png b/doc/src/images/qml-xmlhttprequest-example.png Binary files differnew file mode 100644 index 0000000..68e7d27 --- /dev/null +++ b/doc/src/images/qml-xmlhttprequest-example.png diff --git a/examples/declarative/animation/basics/property-animation.qml b/examples/declarative/animation/basics/property-animation.qml index 0fb253a..69d166a 100644 --- a/examples/declarative/animation/basics/property-animation.qml +++ b/examples/declarative/animation/basics/property-animation.qml @@ -65,7 +65,8 @@ Item { // The shadow for the smiley face Image { anchors.horizontalCenter: parent.horizontalCenter - source: "images/shadow.png"; y: smiley.minHeight + 58 + y: smiley.minHeight + 58 + source: "images/shadow.png" // The scale property depends on the y position of the smiley face. scale: smiley.y * 0.5 / (smiley.minHeight - smiley.maxHeight) @@ -77,7 +78,8 @@ Item { property int minHeight: 2 * window.height / 3 anchors.horizontalCenter: parent.horizontalCenter - source: "images/face-smile.png"; y: minHeight + y: minHeight + source: "images/face-smile.png" // Animate the y property. Setting loops to Animation.Infinite makes the // animation repeat indefinitely, otherwise it would only run once. diff --git a/examples/declarative/animation/behaviors/behavior-example.qml b/examples/declarative/animation/behaviors/behavior-example.qml index 91845fc..d187fbf 100644 --- a/examples/declarative/animation/behaviors/behavior-example.qml +++ b/examples/declarative/animation/behaviors/behavior-example.qml @@ -87,12 +87,12 @@ Rectangle { border.width: 4; border.color: "white" color: "firebrick" - // Setting an 'elastic' behavior on the focusRect's x property. + // Set an 'elastic' behavior on the focusRect's x property. Behavior on x { NumberAnimation { easing.type: Easing.OutElastic; easing.amplitude: 3.0; easing.period: 2.0; duration: 300 } } - // Setting an 'elastic' behavior on the focusRect's y property. + // Set an 'elastic' behavior on the focusRect's y property. Behavior on y { NumberAnimation { easing.type: Easing.OutElastic; easing.amplitude: 3.0; easing.period: 2.0; duration: 300 } } @@ -104,12 +104,11 @@ Rectangle { color: "white" font.pixelSize: 16; font.bold: true - // Setting a behavior on the focusText's x property: + // Set a behavior on the focusText's x property: // Set the opacity to 0, set the new text value, then set the opacity back to 1. Behavior on text { SequentialAnimation { NumberAnimation { target: focusText; property: "opacity"; to: 0; duration: 150 } - PropertyAction { } NumberAnimation { target: focusText; property: "opacity"; to: 1; duration: 150 } } } diff --git a/examples/declarative/i18n/i18n.qml b/examples/declarative/i18n/i18n.qml index 7bbb19c..5c2702c 100644 --- a/examples/declarative/i18n/i18n.qml +++ b/examples/declarative/i18n/i18n.qml @@ -65,7 +65,7 @@ Rectangle { anchors.fill: parent; spacing: 20 Text { - text: "If a translation is available for the system language (eg. French) then the string below will translated (eg. 'Bonjour'). Otherwise is will show 'Hello'." + text: "If a translation is available for the system language (eg. French) then the string below will translated (eg. 'Bonjour'). Otherwise it will show 'Hello'." width: parent.width; wrapMode: Text.WordWrap } diff --git a/examples/declarative/modelviews/listview/PetsModel.qml b/examples/declarative/modelviews/listview/content/PetsModel.qml index b77557d..b77557d 100644 --- a/examples/declarative/modelviews/listview/PetsModel.qml +++ b/examples/declarative/modelviews/listview/content/PetsModel.qml diff --git a/examples/declarative/modelviews/listview/RecipesModel.qml b/examples/declarative/modelviews/listview/content/RecipesModel.qml index e6d829f..e6d829f 100644 --- a/examples/declarative/modelviews/listview/RecipesModel.qml +++ b/examples/declarative/modelviews/listview/content/RecipesModel.qml diff --git a/examples/declarative/modelviews/listview/content/pics/archive-insert.png b/examples/declarative/modelviews/listview/content/pics/archive-insert.png Binary files differdeleted file mode 100644 index b706248..0000000 --- a/examples/declarative/modelviews/listview/content/pics/archive-insert.png +++ /dev/null diff --git a/examples/declarative/modelviews/listview/content/pics/go-down.png b/examples/declarative/modelviews/listview/content/pics/arrow-down.png Binary files differindex 63331a5..63331a5 100644 --- a/examples/declarative/modelviews/listview/content/pics/go-down.png +++ b/examples/declarative/modelviews/listview/content/pics/arrow-down.png diff --git a/examples/declarative/modelviews/listview/content/pics/go-up.png b/examples/declarative/modelviews/listview/content/pics/arrow-up.png Binary files differindex 4459024..4459024 100644 --- a/examples/declarative/modelviews/listview/content/pics/go-up.png +++ b/examples/declarative/modelviews/listview/content/pics/arrow-up.png diff --git a/examples/declarative/modelviews/listview/content/pics/button-pressed.png b/examples/declarative/modelviews/listview/content/pics/button-pressed.png Binary files differdeleted file mode 100644 index e434d32..0000000 --- a/examples/declarative/modelviews/listview/content/pics/button-pressed.png +++ /dev/null diff --git a/examples/declarative/modelviews/listview/content/pics/button.png b/examples/declarative/modelviews/listview/content/pics/button.png Binary files differdeleted file mode 100644 index 56a63ce..0000000 --- a/examples/declarative/modelviews/listview/content/pics/button.png +++ /dev/null diff --git a/examples/declarative/modelviews/listview/content/pics/archive-remove.png b/examples/declarative/modelviews/listview/content/pics/list-delete.png Binary files differindex 9640f6b..9640f6b 100644 --- a/examples/declarative/modelviews/listview/content/pics/archive-remove.png +++ b/examples/declarative/modelviews/listview/content/pics/list-delete.png diff --git a/examples/declarative/modelviews/listview/content/pics/list-remove.png b/examples/declarative/modelviews/listview/content/pics/minus-sign.png Binary files differindex 2bb1a59..2bb1a59 100644 --- a/examples/declarative/modelviews/listview/content/pics/list-remove.png +++ b/examples/declarative/modelviews/listview/content/pics/minus-sign.png diff --git a/examples/declarative/modelviews/listview/content/pics/list-add.png b/examples/declarative/modelviews/listview/content/pics/plus-sign.png Binary files differindex e029787..e029787 100644 --- a/examples/declarative/modelviews/listview/content/pics/list-add.png +++ b/examples/declarative/modelviews/listview/content/pics/plus-sign.png diff --git a/examples/declarative/modelviews/listview/dynamiclist.qml b/examples/declarative/modelviews/listview/dynamiclist.qml index 12c331b..3c1af37 100644 --- a/examples/declarative/modelviews/listview/dynamiclist.qml +++ b/examples/declarative/modelviews/listview/dynamiclist.qml @@ -96,11 +96,11 @@ Rectangle { Column { Image { - source: "content/pics/go-up.png" - MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index,index-1,1) } + source: "content/pics/arrow-up.png" + MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index, index-1, 1) } } - Image { source: "content/pics/go-down.png" - MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index,index+1,1) } + Image { source: "content/pics/arrow-down.png" + MouseArea { anchors.fill: parent; onClicked: fruitModel.move(index, index+1, 1) } } } @@ -129,7 +129,7 @@ Rectangle { PressAndHoldButton { anchors.verticalCenter: parent.verticalCenter - source: "content/pics/list-add.png" + source: "content/pics/plus-sign.png" onClicked: fruitModel.setProperty(index, "cost", cost + 0.25) } @@ -144,12 +144,12 @@ Rectangle { PressAndHoldButton { anchors.verticalCenter: parent.verticalCenter - source: "content/pics/list-remove.png" + source: "content/pics/minus-sign.png" onClicked: fruitModel.setProperty(index, "cost", Math.max(0,cost-0.25)) } Image { - source: "content/pics/archive-remove.png" + source: "content/pics/list-delete.png" MouseArea { anchors.fill:parent; onClicked: fruitModel.remove(index) } } } diff --git a/examples/declarative/modelviews/listview/highlight.qml b/examples/declarative/modelviews/listview/highlight.qml index 9f43409..4c14f2a 100644 --- a/examples/declarative/modelviews/listview/highlight.qml +++ b/examples/declarative/modelviews/listview/highlight.qml @@ -43,6 +43,7 @@ // highlight bar is moved between items. import Qt 4.7 +import "content" Rectangle { width: 200; height: 300 diff --git a/examples/declarative/modelviews/listview/highlightranges.qml b/examples/declarative/modelviews/listview/highlightranges.qml index f0d7f75..30976f4 100644 --- a/examples/declarative/modelviews/listview/highlightranges.qml +++ b/examples/declarative/modelviews/listview/highlightranges.qml @@ -39,6 +39,7 @@ ****************************************************************************/ import Qt 4.7 +import "content" Rectangle { width: 600; height: 300 diff --git a/examples/declarative/modelviews/parallax/parallax.qml b/examples/declarative/modelviews/parallax/parallax.qml index 3b5c70a..19eadd0 100644 --- a/examples/declarative/modelviews/parallax/parallax.qml +++ b/examples/declarative/modelviews/parallax/parallax.qml @@ -39,12 +39,10 @@ ****************************************************************************/ import Qt 4.7 -import "../../toys/clocks/content" +import "../../toys/clocks/content" // for loading the Clock element import "qml" Rectangle { - id: root - width: 320; height: 480 ParallaxView { @@ -76,7 +74,5 @@ Rectangle { Component.onCompleted: item.inAnotherDemo = true; } } - - currentIndex: root.currentIndex } } diff --git a/examples/declarative/modelviews/parallax/qml/ParallaxView.qml b/examples/declarative/modelviews/parallax/qml/ParallaxView.qml index adf0885..ac479f4 100644 --- a/examples/declarative/modelviews/parallax/qml/ParallaxView.qml +++ b/examples/declarative/modelviews/parallax/qml/ParallaxView.qml @@ -44,8 +44,8 @@ Item { id: root property alias background: background.source - default property alias content: visualModel.children property int currentIndex: 0 + default property alias content: visualModel.children Image { id: background @@ -56,13 +56,13 @@ Item { ListView { id: list + anchors.fill: parent currentIndex: root.currentIndex onCurrentIndexChanged: root.currentIndex = currentIndex orientation: Qt.Horizontal boundsBehavior: Flickable.DragOverBounds - anchors.fill: parent model: VisualItemModel { id: visualModel } highlightRangeMode: ListView.StrictlyEnforceRange @@ -72,14 +72,6 @@ Item { ListView { id: selector - Rectangle { - color: "#60FFFFFF" - x: -10; y: -10; radius: 10; z: -1 - width: parent.width + 20; height: parent.height + 20 - } - currentIndex: root.currentIndex - onCurrentIndexChanged: root.currentIndex = currentIndex - height: 50 anchors.bottom: parent.bottom anchors.horizontalCenter: parent.horizontalCenter @@ -87,6 +79,10 @@ Item { interactive: width == parent.width - 20 orientation: Qt.Horizontal + currentIndex: root.currentIndex + onCurrentIndexChanged: root.currentIndex = currentIndex + + model: visualModel.children delegate: Item { width: 50; height: 50 id: delegateRoot @@ -113,11 +109,15 @@ Item { } } transitions: Transition { - NumberAnimation { - properties: "scale,y" - } - } + NumberAnimation { properties: "scale,y" } + } + } + + Rectangle { + color: "#60FFFFFF" + x: -10; y: -10; z: -1 + width: parent.width + 20; height: parent.height + 20 + radius: 10 } - model: visualModel.children } } diff --git a/examples/declarative/modelviews/parallax/qml/Smiley.qml b/examples/declarative/modelviews/parallax/qml/Smiley.qml index 8399664..3ca672a 100644 --- a/examples/declarative/modelviews/parallax/qml/Smiley.qml +++ b/examples/declarative/modelviews/parallax/qml/Smiley.qml @@ -40,16 +40,18 @@ import Qt 4.7 +// This is taken from the declarative animation/basics/property-animation.qml +// example + Item { id: window width: 320; height: 480 - // The shadow for the smiley face Image { anchors.horizontalCenter: parent.horizontalCenter - source: "../pics/shadow.png"; y: smiley.minHeight + 58 + y: smiley.minHeight + 58 + source: "../pics/shadow.png" - // The scale property depends on the y position of the smiley face. scale: smiley.y * 0.5 / (smiley.minHeight - smiley.maxHeight) } @@ -59,26 +61,22 @@ Item { property int minHeight: 2 * window.height / 3 anchors.horizontalCenter: parent.horizontalCenter - source: "../pics/face-smile.png"; y: minHeight + y: minHeight + source: "../pics/face-smile.png" - // Animate the y property. Setting repeat to true makes the - // animation repeat indefinitely, otherwise it would only run once. - SequentialAnimation on y { + SequentialAnimation on y { loops: Animation.Infinite - // Move from minHeight to maxHeight in 300ms, using the OutExpo easing function NumberAnimation { from: smiley.minHeight; to: smiley.maxHeight easing.type: Easing.OutExpo; duration: 300 } - // Then move back to minHeight in 1 second, using the OutBounce easing function NumberAnimation { from: smiley.maxHeight; to: smiley.minHeight easing.type: Easing.OutBounce; duration: 1000 } - // Then pause for 500ms PauseAnimation { duration: 500 } } } diff --git a/examples/declarative/modelviews/webview/alerts.qml b/examples/declarative/modelviews/webview/alerts.qml index cfeaa11..9e3c925 100644 --- a/examples/declarative/modelviews/webview/alerts.qml +++ b/examples/declarative/modelviews/webview/alerts.qml @@ -43,7 +43,7 @@ import QtWebKit 1.0 WebView { id: webView - width: 120 + width: 200 height: 150 url: "alerts.html" @@ -58,13 +58,13 @@ WebView { y: parent.height // off "screen" anchors.horizontalCenter: parent.horizontalCenter - width: label.width+5 - height: label.height+5 + width: label.width + 5 + height: label.height + 5 opacity: 0 - function show(t) { - label.text = t + function show(text) { + label.text = text popup.state = "visible" timer.start() } @@ -82,17 +82,20 @@ WebView { Timer { id: timer interval: 1000 + onTriggered: popup.state = "" } Text { id: label anchors.centerIn: parent + width: webView.width *0.75 + color: "white" font.pixelSize: 20 - width: webView.width*0.75 wrapMode: Text.WordWrap horizontalAlignment: Text.AlignHCenter + smooth: true } } } diff --git a/examples/declarative/modelviews/webview/autosize.qml b/examples/declarative/modelviews/webview/autosize.qml index e037848..4a5096e 100644 --- a/examples/declarative/modelviews/webview/autosize.qml +++ b/examples/declarative/modelviews/webview/autosize.qml @@ -51,6 +51,7 @@ Rectangle { Column { id: layout spacing: 2 + WebView { html: "No width defined." Rectangle { @@ -58,6 +59,7 @@ Rectangle { anchors.fill: parent } } + WebView { width: rect.width html: "The width is full." @@ -66,6 +68,7 @@ Rectangle { anchors.fill: parent } } + WebView { width: rect.width/2 html: "The width is half." @@ -75,24 +78,25 @@ Rectangle { } } WebView { - preferredWidth: rect.width/2 - html: "The preferredWidth is half." + width: rect.width/2 + html: "The_width_is_half." // not wrapped Rectangle { color: "#10000000" anchors.fill: parent } } + WebView { preferredWidth: rect.width/2 - html: "The_preferredWidth_is_half." + html: "The preferredWidth is half." Rectangle { color: "#10000000" anchors.fill: parent } } WebView { - width: rect.width/2 - html: "The_width_is_half." + preferredWidth: rect.width/2 + html: "The_preferredWidth_is_half." // not wrapped Rectangle { color: "#10000000" anchors.fill: parent diff --git a/examples/declarative/modelviews/webview/content/FieldText.qml b/examples/declarative/modelviews/webview/content/FieldText.qml deleted file mode 100644 index 17fa4cd..0000000 --- a/examples/declarative/modelviews/webview/content/FieldText.qml +++ /dev/null @@ -1,195 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import Qt 4.7 - -Item { - id: fieldText - height: 30 - property string text: "" - property string label: "" - property bool mouseGrabbed: false - signal confirmed - signal cancelled - signal startEdit - - function edit() { - if (!mouseGrabbed) { - fieldText.startEdit(); - fieldText.state='editing'; - mouseGrabbed=true; - } - } - - function confirm() { - fieldText.state=''; - fieldText.text = textEdit.text; - mouseGrabbed=false; - fieldText.confirmed(); - } - - function reset() { - textEdit.text = fieldText.text; - fieldText.state=''; - mouseGrabbed=false; - fieldText.cancelled(); - } - - Image { - id: cancelIcon - width: 22 - height: 22 - anchors.right: parent.right - anchors.rightMargin: 4 - anchors.verticalCenter: parent.verticalCenter - source: "pics/cancel.png" - opacity: 0 - } - - Image { - id: confirmIcon - width: 22 - height: 22 - anchors.left: parent.left - anchors.leftMargin: 4 - anchors.verticalCenter: parent.verticalCenter - source: "pics/ok.png" - opacity: 0 - } - - TextInput { - id: textEdit - text: fieldText.text - focus: false - anchors.left: parent.left - anchors.leftMargin: 0 - anchors.right: parent.right - anchors.rightMargin: 0 - anchors.verticalCenter: parent.verticalCenter - color: "black" - font.bold: true - readOnly: true - onAccepted: confirm() - Keys.onEscapePressed: reset() - } - - Text { - id: textLabel - x: 5 - width: parent.width-10 - anchors.verticalCenter: parent.verticalCenter - horizontalAlignment: Text.AlignHCenter - color: fieldText.state == "editing" ? "#505050" : "#AAAAAA" - font.italic: true - font.bold: true - text: label - opacity: textEdit.text == '' ? 1 : 0 - Behavior on opacity { - NumberAnimation { - property: "opacity" - duration: 250 - } - } - } - - MouseArea { - anchors.fill: cancelIcon - onClicked: { reset() } - } - - MouseArea { - anchors.fill: confirmIcon - onClicked: { confirm() } - } - - MouseArea { - id: editRegion - anchors.fill: textEdit - onClicked: { edit() } - } - - states: [ - State { - name: "editing" - PropertyChanges { - target: confirmIcon - opacity: 1 - } - PropertyChanges { - target: cancelIcon - opacity: 1 - } - PropertyChanges { - target: textEdit - color: "black" - readOnly: false - focus: true - } - PropertyChanges { - target: editRegion - opacity: 0 - } - PropertyChanges { - target: textEdit.anchors - leftMargin: 34 - } - PropertyChanges { - target: textEdit.anchors - rightMargin: 34 - } - } - ] - - transitions: [ - Transition { - from: "" - to: "*" - reversible: true - NumberAnimation { - properties: "opacity,leftMargin,rightMargin" - duration: 200 - } - ColorAnimation { - property: "color" - duration: 150 - } - } - ] -} diff --git a/examples/declarative/modelviews/webview/content/Mapping/Map.qml b/examples/declarative/modelviews/webview/content/Mapping/Map.qml index be708ee..99f8479 100644 --- a/examples/declarative/modelviews/webview/content/Mapping/Map.qml +++ b/examples/declarative/modelviews/webview/content/Mapping/Map.qml @@ -43,14 +43,17 @@ import org.webkit 1.0 Item { id: page + property real latitude: -34.397 property real longitude: 150.644 property string address: "" property alias status: js.status + WebView { id: map anchors.fill: parent url: "map.html" + pressGrabTime: 0 javaScriptWindowObjects: QtObject { id: js WebView.windowObjectName: "qml" @@ -58,9 +61,13 @@ Item { property real lng: page.longitude property string address: page.address property string status: "Loading" - onAddressChanged: { if (map.url != "" && map.progress==1) map.evaluateJavaScript("goToAddress()") } + + onAddressChanged: { + if (map.url != "" && map.progress == 1) + map.evaluateJavaScript("goToAddress()") + } } - pressGrabTime: 0 + onLoadFinished: { evaluateJavaScript("goToAddress()"); } } } diff --git a/examples/declarative/modelviews/webview/content/SpinSquare.qml b/examples/declarative/modelviews/webview/content/SpinSquare.qml deleted file mode 100644 index ec83056..0000000 --- a/examples/declarative/modelviews/webview/content/SpinSquare.qml +++ /dev/null @@ -1,65 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import Qt 4.7 - -Item { - property variant period : 250 - property variant color : "black" - id: root - - Item { - x: root.width/2 - y: root.height/2 - Rectangle { - color: root.color - x: -width/2 - y: -height/2 - width: root.width - height: width - } - NumberAnimation on rotation { - from: 0 - to: 360 - loops: Animation.Infinite - duration: root.period - } - } -} diff --git a/examples/declarative/modelviews/webview/googleMaps.qml b/examples/declarative/modelviews/webview/googlemaps.qml index 361b40c..361b40c 100644 --- a/examples/declarative/modelviews/webview/googleMaps.qml +++ b/examples/declarative/modelviews/webview/googlemaps.qml diff --git a/examples/declarative/modelviews/webview/inline-html.qml b/examples/declarative/modelviews/webview/inlinehtml.qml index 969cda0..0448ff3 100644 --- a/examples/declarative/modelviews/webview/inline-html.qml +++ b/examples/declarative/modelviews/webview/inlinehtml.qml @@ -45,11 +45,11 @@ import QtWebKit 1.0 // set on the html property. WebView { html:"\ - <body bgcolor=white>\ - <table border=1>\ - <tr><th><th>One<th>Two<th>Three\ - <tr><th>1<td>X<td>1<td>X\ - <tr><th>2<td>0<td>X<td>0\ - <tr><th>3<td>X<td>1<td>X\ + <body> + <table border=1> + <tr><th><th>One<th>Two<th>Three + <tr><th>1<td>X<td>1<td>X + <tr><th>2<td>0<td>X<td>0 + <tr><th>3<td>X<td>1<td>X </table>" } diff --git a/examples/declarative/text/edit/pics/endHandle.png b/examples/declarative/text/textselection/pics/endHandle.png Binary files differindex 1a4bc5d..1a4bc5d 100644 --- a/examples/declarative/text/edit/pics/endHandle.png +++ b/examples/declarative/text/textselection/pics/endHandle.png diff --git a/examples/declarative/text/edit/pics/endHandle.sci b/examples/declarative/text/textselection/pics/endHandle.sci index 4f51f24..4f51f24 100644 --- a/examples/declarative/text/edit/pics/endHandle.sci +++ b/examples/declarative/text/textselection/pics/endHandle.sci diff --git a/examples/declarative/text/edit/pics/startHandle.png b/examples/declarative/text/textselection/pics/startHandle.png Binary files differindex deedcd5..deedcd5 100644 --- a/examples/declarative/text/edit/pics/startHandle.png +++ b/examples/declarative/text/textselection/pics/startHandle.png diff --git a/examples/declarative/text/edit/pics/startHandle.sci b/examples/declarative/text/textselection/pics/startHandle.sci index f9eae20..f9eae20 100644 --- a/examples/declarative/text/edit/pics/startHandle.sci +++ b/examples/declarative/text/textselection/pics/startHandle.sci diff --git a/examples/declarative/text/edit/edit.qml b/examples/declarative/text/textselection/textselection.qml index 4668ab2..1ba3e18 100644 --- a/examples/declarative/text/edit/edit.qml +++ b/examples/declarative/text/textselection/textselection.qml @@ -55,8 +55,8 @@ Rectangle { source: "pics/startHandle.sci" opacity: 0.0 width: 10 - x: edit.positionToRectangle(edit.selectionStart).x-flick.contentX-width - y: edit.positionToRectangle(edit.selectionStart).y-flick.contentY + x: edit.positionToRectangle(edit.selectionStart).x - flick.contentX-width + y: edit.positionToRectangle(edit.selectionStart).y - flick.contentY height: edit.positionToRectangle(edit.selectionStart).height } @@ -65,8 +65,8 @@ Rectangle { source: "pics/endHandle.sci" opacity: 0.0 width: 10 - x: edit.positionToRectangle(edit.selectionEnd).x-flick.contentX - y: edit.positionToRectangle(edit.selectionEnd).y-flick.contentY + x: edit.positionToRectangle(edit.selectionEnd).x - flick.contentX + y: edit.positionToRectangle(edit.selectionEnd).y - flick.contentY height: edit.positionToRectangle(edit.selectionEnd).height } @@ -79,8 +79,7 @@ Rectangle { interactive: true clip: true - function ensureVisible(r) - { + function ensureVisible(r) { if (contentX >= r.x) contentX = r.x; else if (contentX+width <= r.x+r.width) @@ -97,20 +96,25 @@ Rectangle { height: flick.height focus: true wrapMode: TextEdit.Wrap + onCursorRectangleChanged: flick.ensureVisible(cursorRectangle) + text: "<h1>Text Selection</h1>" +"<p>This example is a whacky text selection mechanisms, showing how these can be implemented in the TextEdit element, to cater for whatever style is appropriate for the target platform." +"<p><b>Press-and-hold</b> to select a word, then drag the selection handles." +"<p><b>Drag outside the selection</b> to scroll the text." +"<p><b>Click inside the selection</b> to cut/copy/paste/cancel selection." +"<p>It's too whacky to let you paste if there is no current selection." + MouseArea { + property string drag: "" + property int pressPos + x: -startHandle.width y: 0 width: parent.width+startHandle.width+endHandle.width height: parent.height - property string drag: ""; - property int pressPos; + onPressAndHold: { if (editor.state == "") { edit.cursorPosition = edit.positionAt(mouse.x+x,mouse.y+y); @@ -118,6 +122,7 @@ Rectangle { editor.state = "selection" } } + onClicked: { if (editor.state == "") { edit.cursorPosition = edit.positionAt(mouse.x+x,mouse.y+y); @@ -126,7 +131,11 @@ Rectangle { edit.openSoftwareInputPanel(); } } - function hitHandle(h,x,y) { return x>=h.x+flick.contentX && x<h.x+flick.contentX+h.width && y>=h.y+flick.contentY && y<h.y+flick.contentY+h.height } + + function hitHandle(h,x,y) { + return x>=h.x+flick.contentX && x<h.x+flick.contentX+h.width && y>=h.y+flick.contentY && y<h.y+flick.contentY+h.height + } + onPressed: { if (editor.state == "selection") { if (hitHandle(startHandle,mouse.x+x,mouse.y+y)) { @@ -147,6 +156,7 @@ Rectangle { } } } + onReleased: { if (editor.state == "selection") { if (drag == "selection") { @@ -156,6 +166,7 @@ Rectangle { } flick.interactive = true } + onPositionChanged: { if (editor.state == "selection" && drag != "") { if (drag == "start") { @@ -183,6 +194,7 @@ Rectangle { width: 100 height: 120 anchors.centerIn: parent + Rectangle { border.width: 1 border.color: "darkBlue" @@ -190,48 +202,73 @@ Rectangle { color: "#806080FF" anchors.fill: parent } + Column { anchors.centerIn: parent spacing: 8 + Rectangle { border.width: 1 border.color: "darkBlue" color: "#ff7090FF" width: 60 height: 16 + Text { anchors.centerIn: parent; text: "Cut" } - MouseArea { anchors.fill: parent; - onClicked: { edit.cut(); editor.state = "" } } + + MouseArea { + anchors.fill: parent + onClicked: { edit.cut(); editor.state = "" } + } } + Rectangle { border.width: 1 border.color: "darkBlue" color: "#ff7090FF" width: 60 height: 16 + Text { anchors.centerIn: parent; text: "Copy" } - MouseArea { anchors.fill: parent; - onClicked: { edit.copy(); editor.state = "selection" } } + + MouseArea { + anchors.fill: parent + onClicked: { edit.copy(); editor.state = "selection" } + } } + Rectangle { border.width: 1 border.color: "darkBlue" color: "#ff7090FF" width: 60 height: 16 + Text { anchors.centerIn: parent; text: "Paste" } - MouseArea { anchors.fill: parent; - onClicked: { edit.paste(); edit.cursorPosition = edit.selectionEnd; editor.state = "" } } + + MouseArea { + anchors.fill: parent + onClicked: { edit.paste(); edit.cursorPosition = edit.selectionEnd; editor.state = "" } + } } + Rectangle { border.width: 1 border.color: "darkBlue" color: "#ff7090FF" width: 60 height: 16 + Text { anchors.centerIn: parent; text: "Deselect" } - MouseArea { anchors.fill: parent; - onClicked: { edit.cursorPosition = edit.selectionEnd; edit.select(edit.cursorPosition,edit.cursorPosition); editor.state = "" } } + + MouseArea { + anchors.fill: parent + onClicked: { + edit.cursorPosition = edit.selectionEnd; + edit.select(edit.cursorPosition, edit.cursorPosition); + editor.state = "" + } + } } } } diff --git a/examples/declarative/text/textselection/textselection.qmlproject b/examples/declarative/text/textselection/textselection.qmlproject new file mode 100644 index 0000000..d4909f8 --- /dev/null +++ b/examples/declarative/text/textselection/textselection.qmlproject @@ -0,0 +1,16 @@ +import QmlProject 1.0 + +Project { + /* Include .qml, .js, and image files from current directory and subdirectories */ + QmlFiles { + directory: "." + } + JavaScriptFiles { + directory: "." + } + ImageFiles { + directory: "." + } + /* List of plugin directories passed to QML runtime */ + // importPaths: [ " ../exampleplugin " ] +} diff --git a/examples/declarative/touchinteraction/mousearea/mouse.qml b/examples/declarative/touchinteraction/mousearea/mousearea-example.qml index 9d2ace3..64f72a9 100644 --- a/examples/declarative/touchinteraction/mousearea/mouse.qml +++ b/examples/declarative/touchinteraction/mousearea/mousearea-example.qml @@ -41,34 +41,42 @@ import Qt 4.7 Rectangle { - width: 200; height: 200 + id: box + width: 350; height: 250 + + function showInfo(text) { + statusText.text = text + } Rectangle { - width: 50; height: 50 + width: 80; height: 80 color: "red" - Text { text: "Click"; anchors.centerIn: parent } + Text { text: "Click"; font.pixelSize: 16; anchors.centerIn: parent } MouseArea { anchors.fill: parent hoverEnabled: true acceptedButtons: Qt.LeftButton | Qt.RightButton - onPressed: console.log('press (x: ' + mouse.x + ' y: ' + mouse.y + ' button: ' + (mouse.button == Qt.RightButton ? 'right' : 'left') + ' Shift: ' + (mouse.modifiers & Qt.ShiftModifier ? 'true' : 'false') + ')') - onReleased: console.log('release (x: ' + mouse.x + ' y: ' + mouse.y + ' isClick: ' + mouse.isClick + ' wasHeld: ' + mouse.wasHeld + ')') - onClicked: console.log('click (x: ' + mouse.x + ' y: ' + mouse.y + ' wasHeld: ' + mouse.wasHeld + ')') - onDoubleClicked: console.log('double click (x: ' + mouse.x + ' y: ' + mouse.y + ')') - onPressAndHold: console.log('press and hold') - onEntered: console.log('entered ' + pressed) - onExited: console.log('exited ' + pressed) + onPressed: box.showInfo('Pressed (x=' + mouse.x + ' y=' + mouse.y + ' button=' + + (mouse.button == Qt.RightButton ? 'right' : 'left') + + ' Shift=' + (mouse.modifiers & Qt.ShiftModifier ? 'true' : 'false') + ')') + onReleased: box.showInfo('Released (x=' + mouse.x + ' y=' + mouse.y + + ' isClick=' + mouse.isClick + ' wasHeld=' + mouse.wasHeld + ')') + onClicked: box.showInfo('Clicked (x=' + mouse.x + ' y=' + mouse.y + ' wasHeld=' + mouse.wasHeld + ')') + onDoubleClicked: box.showInfo('Double clicked (x=' + mouse.x + ' y=' + mouse.y + ')') + onPressAndHold: box.showInfo('Press and hold') + onEntered: box.showInfo('Entered (pressed=' + pressed + ')') + onExited: box.showInfo('Exited (pressed=' + pressed + ')') } } Rectangle { - y: 100; width: 50; height: 50 + width: 80; height: 80; anchors.right: parent.right color: "blue" - Text { text: "Drag"; anchors.centerIn: parent } + Text { text: "Drag"; font.pixelSize: 16; color: "white"; anchors.centerIn: parent } MouseArea { anchors.fill: parent @@ -77,11 +85,18 @@ Rectangle { drag.minimumX: 0 drag.maximumX: 150 - onPressed: console.log('press') - onReleased: console.log('release (isClick: ' + mouse.isClick + ') (wasHeld: ' + mouse.wasHeld + ')') - onClicked: console.log('click' + '(wasHeld: ' + mouse.wasHeld + ')') - onDoubleClicked: console.log('double click') - onPressAndHold: console.log('press and hold') + onPressed: box.showInfo('Pressed') + onReleased: box.showInfo('Released (isClick=' + mouse.isClick + ' wasHeld=' + mouse.wasHeld + ')') + onClicked: box.showInfo('Clicked' + ' (wasHeld=' + mouse.wasHeld + ')') + onDoubleClicked: box.showInfo('Double clicked') + onPressAndHold: box.showInfo('Press and hold') } } + + Text { + id: statusText + anchors.bottom: parent.bottom; anchors.horizontalCenter: parent.horizontalCenter; anchors.margins: 30 + + onTextChanged: console.log(text) + } } diff --git a/examples/declarative/ui-components/flipable/content/Card.qml b/examples/declarative/ui-components/flipable/content/Card.qml index 91a442b..fc60ce4 100644 --- a/examples/declarative/ui-components/flipable/content/Card.qml +++ b/examples/declarative/ui-components/flipable/content/Card.qml @@ -49,11 +49,13 @@ Flipable { property int yAxis: 0 property int angle: 0 - width: front.width; height: front.height; state: "back" + width: front.width; height: front.height front: Image { id: frontImage; smooth: true } back: Image { source: "back.png"; smooth: true } + state: "back" + MouseArea { anchors.fill: parent; onClicked: container.flipped = !container.flipped } transform: Rotation { diff --git a/examples/declarative/ui-components/scrollbar/ScrollBar.qml b/examples/declarative/ui-components/scrollbar/ScrollBar.qml index ba9a52a..9927ecb 100644 --- a/examples/declarative/ui-components/scrollbar/ScrollBar.qml +++ b/examples/declarative/ui-components/scrollbar/ScrollBar.qml @@ -60,6 +60,7 @@ Item { color: "white" opacity: 0.3 } + // Size the bar to the required size, depending upon the orientation. Rectangle { x: orientation == Qt.Vertical ? 1 : (scrollBar.position * (scrollBar.width-2) + 1) diff --git a/examples/declarative/ui-components/scrollbar/main.qml b/examples/declarative/ui-components/scrollbar/main.qml index 1f7992b..8f5033b 100644 --- a/examples/declarative/ui-components/scrollbar/main.qml +++ b/examples/declarative/ui-components/scrollbar/main.qml @@ -66,7 +66,6 @@ Rectangle { } transitions: Transition { - from: "*"; to: "*" NumberAnimation { properties: "opacity"; duration: 400 } } } diff --git a/examples/declarative/ui-components/searchbox/SearchBox.qml b/examples/declarative/ui-components/searchbox/SearchBox.qml index eaa6b6b..e6b9c8f 100644 --- a/examples/declarative/ui-components/searchbox/SearchBox.qml +++ b/examples/declarative/ui-components/searchbox/SearchBox.qml @@ -66,7 +66,10 @@ FocusScope { font.italic: true } - MouseArea { anchors.fill: parent; onClicked: { focusScope.focus = true; textInput.openSoftwareInputPanel(); } } + MouseArea { + anchors.fill: parent + onClicked: { focusScope.focus = true; textInput.openSoftwareInputPanel(); } + } TextInput { id: textInput @@ -77,7 +80,7 @@ FocusScope { Image { id: clear anchors { right: parent.right; rightMargin: 8; verticalCenter: parent.verticalCenter } - source: "images/edit-clear-locationbar-rtl.png" + source: "images/clear.png" opacity: 0 MouseArea { diff --git a/examples/declarative/ui-components/searchbox/images/edit-clear-locationbar-rtl.png b/examples/declarative/ui-components/searchbox/images/clear.png Binary files differindex 91eb270..91eb270 100644 --- a/examples/declarative/ui-components/searchbox/images/edit-clear-locationbar-rtl.png +++ b/examples/declarative/ui-components/searchbox/images/clear.png diff --git a/examples/declarative/ui-components/slideswitch/content/Switch.qml b/examples/declarative/ui-components/slideswitch/content/Switch.qml index b0ce0c0..2a89177 100644 --- a/examples/declarative/ui-components/slideswitch/content/Switch.qml +++ b/examples/declarative/ui-components/slideswitch/content/Switch.qml @@ -53,12 +53,13 @@ Item { function toggle() { if (toggleswitch.state == "on") toggleswitch.state = "off"; - else toggleswitch.state = "on"; + else + toggleswitch.state = "on"; } //![2] //![3] - function dorelease() { + function releaseSwitch() { if (knob.x == 1) { if (toggleswitch.state == "off") return; } @@ -87,7 +88,7 @@ Item { anchors.fill: parent drag.target: knob; drag.axis: Drag.XAxis; drag.minimumX: 1; drag.maximumX: 78 onClicked: toggle() - onReleased: dorelease() + onReleased: releaseSwitch() } } //![5] diff --git a/examples/declarative/ui-components/spinner/content/Spinner.qml b/examples/declarative/ui-components/spinner/content/Spinner.qml index 55fc542..1c41239 100644 --- a/examples/declarative/ui-components/spinner/content/Spinner.qml +++ b/examples/declarative/ui-components/spinner/content/Spinner.qml @@ -45,21 +45,26 @@ Image { property alias delegate: view.delegate property alias currentIndex: view.currentIndex property real itemHeight: 30 + source: "spinner-bg.png" clip: true + PathView { id: view anchors.fill: parent + pathItemCount: height/itemHeight preferredHighlightBegin: 0.5 preferredHighlightEnd: 0.5 highlight: Image { source: "spinner-select.png"; width: view.width; height: itemHeight+4 } dragMargin: view.width/2 + path: Path { startX: view.width/2; startY: -itemHeight/2 PathLine { x: view.width/2; y: view.pathItemCount*itemHeight + itemHeight } } } + Keys.onDownPressed: view.incrementCurrentIndex() Keys.onUpPressed: view.decrementCurrentIndex() } diff --git a/examples/declarative/ui-components/spinner/main.qml b/examples/declarative/ui-components/spinner/main.qml index 4403ada..37dd912 100644 --- a/examples/declarative/ui-components/spinner/main.qml +++ b/examples/declarative/ui-components/spinner/main.qml @@ -43,8 +43,10 @@ import "content" Rectangle { width: 240; height: 320 + Column { y: 20; x: 20; spacing: 20 + Spinner { id: spinner width: 200; height: 240 @@ -53,6 +55,7 @@ Rectangle { itemHeight: 30 delegate: Text { font.pixelSize: 25; text: index; height: 30 } } + Text { text: "Current item index: " + spinner.currentIndex } } } diff --git a/examples/declarative/ui-components/tabwidget/TabWidget.qml b/examples/declarative/ui-components/tabwidget/TabWidget.qml index 93db4ff..9642e04 100644 --- a/examples/declarative/ui-components/tabwidget/TabWidget.qml +++ b/examples/declarative/ui-components/tabwidget/TabWidget.qml @@ -49,16 +49,17 @@ Item { onCurrentChanged: setOpacities() Component.onCompleted: setOpacities() - function setOpacities() - { + function setOpacities() { for (var i = 0; i < stack.children.length; ++i) { - stack.children[i].opacity = i == current ? 1 : 0 + stack.children[i].opacity = (i == current ? 1 : 0) } } Row { id: header + Repeater { + model: stack.children.length delegate: Rectangle { width: tabWidget.width / stack.children.length; height: 36 @@ -85,7 +86,6 @@ Item { onClicked: tabWidget.current = index } } - model: stack.children.length } } diff --git a/examples/declarative/xml/xmlhttprequest/test.xml b/examples/declarative/xml/xmlhttprequest/data.xml index 8b7f1e1..8b7f1e1 100644 --- a/examples/declarative/xml/xmlhttprequest/test.xml +++ b/examples/declarative/xml/xmlhttprequest/data.xml diff --git a/examples/declarative/xml/xmlhttprequest/test.qml b/examples/declarative/xml/xmlhttprequest/xmlhttprequest-example.qml index e5f0875..b302729 100644 --- a/examples/declarative/xml/xmlhttprequest/test.qml +++ b/examples/declarative/xml/xmlhttprequest/xmlhttprequest-example.qml @@ -41,36 +41,55 @@ import Qt 4.7 Rectangle { - width: 800; height: 600 + width: 350; height: 400 - MouseArea { - anchors.fill: parent + function showRequestInfo(text) { + log.text = log.text + "\n" + text + console.log(text) + } - onClicked: { - var doc = new XMLHttpRequest(); - doc.onreadystatechange = function() { - if (doc.readyState == XMLHttpRequest.HEADERS_RECEIVED) { - console.log("Headers -->"); - console.log(doc.getAllResponseHeaders ()); - console.log("Last modified -->"); - console.log(doc.getResponseHeader ("Last-Modified")); - } - else if (doc.readyState == XMLHttpRequest.DONE) { + Text { id: log; anchors.fill: parent; anchors.margins: 10 } - var a = doc.responseXML.documentElement; - for (var ii = 0; ii < a.childNodes.length; ++ii) { - console.log(a.childNodes[ii].nodeName); - } - console.log("Headers -->"); - console.log(doc.getAllResponseHeaders ()); - console.log("Last modified -->"); - console.log(doc.getResponseHeader ("Last-Modified")); + Rectangle { + id: button + anchors.horizontalCenter: parent.horizontalCenter; anchors.bottom: parent.bottom; anchors.margins: 10 + width: buttonText.width + 10; height: buttonText.height + 10 + border.width: mouseArea.pressed ? 2 : 1 + radius : 5; smooth: true + + Text { id: buttonText; anchors.centerIn: parent; text: "Request data.xml" } + + MouseArea { + id: mouseArea + anchors.fill: parent + onClicked: { + log.text = "" + console.log("\n") + var doc = new XMLHttpRequest(); + doc.onreadystatechange = function() { + if (doc.readyState == XMLHttpRequest.HEADERS_RECEIVED) { + showRequestInfo("Headers -->"); + showRequestInfo(doc.getAllResponseHeaders ()); + showRequestInfo("Last modified -->"); + showRequestInfo(doc.getResponseHeader ("Last-Modified")); + + } else if (doc.readyState == XMLHttpRequest.DONE) { + var a = doc.responseXML.documentElement; + for (var ii = 0; ii < a.childNodes.length; ++ii) { + showRequestInfo(a.childNodes[ii].nodeName); + } + showRequestInfo("Headers -->"); + showRequestInfo(doc.getAllResponseHeaders ()); + showRequestInfo("Last modified -->"); + showRequestInfo(doc.getResponseHeader ("Last-Modified")); + } } - } - doc.open("GET", "test.xml"); - doc.send(); + doc.open("GET", "data.xml"); + doc.send(); + } } } } + diff --git a/src/corelib/kernel/qeventdispatcher_win.cpp b/src/corelib/kernel/qeventdispatcher_win.cpp index cede810..e3f537f 100644 --- a/src/corelib/kernel/qeventdispatcher_win.cpp +++ b/src/corelib/kernel/qeventdispatcher_win.cpp @@ -516,8 +516,12 @@ LRESULT QT_WIN_CALLBACK qt_GetMessageHook(int code, WPARAM wp, LPARAM lp) if (q) { QEventDispatcherWin32Private *d = q->d_func(); int localSerialNumber = d->serialNumber; +#ifdef Q_OS_WINCE + MSG dummyMsg; + if (HIWORD(GetQueueStatus(QS_INPUT)) == 0 + && PeekMessage(&dummyMsg, 0, WM_TIMER, WM_TIMER, PM_NOREMOVE) == 0 +#else if (HIWORD(GetQueueStatus(QS_INPUT | QS_RAWINPUT | QS_TIMER)) == 0 -#ifndef Q_OS_WINCE || GetMessageTime() - d->lastMessageTime >= 10 #endif ) { diff --git a/src/declarative/graphicsitems/qdeclarativeanchors.cpp b/src/declarative/graphicsitems/qdeclarativeanchors.cpp index 6796977..7ac2b17 100644 --- a/src/declarative/graphicsitems/qdeclarativeanchors.cpp +++ b/src/declarative/graphicsitems/qdeclarativeanchors.cpp @@ -213,15 +213,12 @@ void QDeclarativeAnchorsPrivate::centerInChanged() if (updatingCenterIn < 2) { ++updatingCenterIn; - QGraphicsItemPrivate *itemPrivate = QGraphicsItemPrivate::get(item); if (centerIn == item->parentItem()) { - QGraphicsItemPrivate *parentPrivate = QGraphicsItemPrivate::get(item->parentItem()); QPointF p(hcenter(item->parentItem()) - hcenter(item) + hCenterOffset, vcenter(item->parentItem()) - vcenter(item) + vCenterOffset); setItemPos(p); } else if (centerIn->parentItem() == item->parentItem()) { - QGraphicsItemPrivate *centerPrivate = QGraphicsItemPrivate::get(centerIn); QPointF p(centerIn->x() + hcenter(centerIn) - hcenter(item) + hCenterOffset, centerIn->y() + vcenter(centerIn) - vcenter(item) + vCenterOffset); setItemPos(p); diff --git a/src/declarative/graphicsitems/qdeclarativelistview.cpp b/src/declarative/graphicsitems/qdeclarativelistview.cpp index b0728c1..06a3239 100644 --- a/src/declarative/graphicsitems/qdeclarativelistview.cpp +++ b/src/declarative/graphicsitems/qdeclarativelistview.cpp @@ -1972,7 +1972,7 @@ void QDeclarativeListView::setCacheBuffer(int b) \snippet examples/declarative/modelviews/listview/sections.qml 0 - \image ListViewSections.png + \image qml-listview-sections-example.png \sa {declarative/modelviews/listview}{ListView examples} */ diff --git a/src/gui/painting/qgraphicssystem_runtime_p.h b/src/gui/painting/qgraphicssystem_runtime_p.h index 445f83d..101a8e7 100644 --- a/src/gui/painting/qgraphicssystem_runtime_p.h +++ b/src/gui/painting/qgraphicssystem_runtime_p.h @@ -170,7 +170,7 @@ public: int windowSurfaceDestroyPolicy() const { return m_windowSurfaceDestroyPolicy; } - int memoryUsage() const { return m_memoryUsage; } + uint memoryUsage() const { return m_memoryUsage; } private: diff --git a/src/gui/painting/qoutlinemapper_p.h b/src/gui/painting/qoutlinemapper_p.h index f64d03b..d534f76 100644 --- a/src/gui/painting/qoutlinemapper_p.h +++ b/src/gui/painting/qoutlinemapper_p.h @@ -95,8 +95,8 @@ public: m_tags(0), m_contours(0), m_polygon_dev(0), - m_round_coords(false), - m_in_clip_elements(false) + m_in_clip_elements(false), + m_round_coords(false) { } diff --git a/src/plugins/gfxdrivers/vnc/qscreenvnc_qws.cpp b/src/plugins/gfxdrivers/vnc/qscreenvnc_qws.cpp index f5ad70c..3bafd97 100644 --- a/src/plugins/gfxdrivers/vnc/qscreenvnc_qws.cpp +++ b/src/plugins/gfxdrivers/vnc/qscreenvnc_qws.cpp @@ -1053,7 +1053,7 @@ void QVNCServer::clientCutText() { QRfbClientCutText ev; - if (ev.read(client)) { + if (cutTextPending == 0 && ev.read(client)) { cutTextPending = ev.length; if (!cutTextPending) handleMsg = false; @@ -1481,7 +1481,7 @@ void QVNCServer::convertPixels(char *dst, const char *src, int count) const } if (count & 0x1) { const quint16 *src16 = reinterpret_cast<const quint16*>(src); - dst32[count - 1] = qt_conv16ToRgb(src16[count - 1]); + *dst32 = qt_conv16ToRgb(src16[count - 1]); } return; #endif @@ -2038,7 +2038,7 @@ void QVNCServer::discardClient() delete qvnc_cursor; qvnc_cursor = 0; #endif - if (!qvnc_screen->screen() && !qvnc_screen->d_ptr->noDisablePainting) + if (!qvnc_screen->screen() && !qvnc_screen->d_ptr->noDisablePainting && QWSServer::instance()) QWSServer::instance()->enablePainting(false); } |