Qt Quick: Playground Example v1.4.1 =================================== This QML application demonstrates the features of Qt Quick with a set of demos and the possibility to view the source code of the demos. Each demo shows different Qt Quick features. The application is compatible with Maemo devices, Symbian^1, Symbian Anna, MeeGo 1.2 Harmattan devices, and Windows desktop. FILES ------------------------------------------------------------------------------- src/main.cpp - The main file of the application. Creates QDeclarativeEngine and QDeclarativeView, sets the view to landscape, and starts demochooser.qml. src/qmlcodeprovider.cpp - Implementation of Qt class. Reads / writes a text file and provides the contents of the text file to the QML code. demochooser.qml - The main screen of the QtQuickPlayground application. Gives the parameters of each demo to demoitem.qml. content/demoitem.qml - Contains the graphic elements of the demo; the skin, text editor, and buttons. Handles the states and transitions when starting / closing / entering the code editor. content/demoitemcore.js - The JavaScript file that contains the code to dynamically load / unload the selected demo. content/texteditor.qml - TextEditor component, implements the code editor. content/dialog.qml - Dialog component which is used to show the error strings and to access the code editor to view the place in the code where the error is. content/sidepanel.qml - Side panel component, consists mostly of back and code editor buttons. content/fancypicker/* - Implementation of the FancyPicker demo. content/helloworld/* - Implementation of the HelloWorld demo. content/memorygame/* - Implementation of the MemoryGame demo. content/slideshow/* - Implementation of the SlideShow demo. content/webcontent/* - Implementation of the WebContent demo. qtc_packaging/ - The directory which contains files related to Debian (Maemo and Harmattan) packaging. bin/ - The compiled binaries for each platform. CLASSES AND ELEMENTS USED ------------------------------------------------------------------------------- The most unusual Qt classes and QML elements are listed here. Qt classes ~~~~~~~~~~ QDeclarativeView - used to interpret QML files. QGLWidget - used to paint the QDeclarativeView with Qt OpenGL. QDBusConnection - used to send a DBUS message in Maemo to minimise the application. QML elements ~~~~~~~~~~~~ Grid - used to position the demos in the demo selector screen. TextEdit - used to implement the code editor. TextInput - used to implement the text input field in the WebContent demo. Flickable - used to implement the FancyPicker image viewing area and the panning feature of the code editor. WebView - used to implement the WebContent demo's web browser. Particles - used to implement the snow flakes. ListModel - used to implement the slide content for the SlideShow demo. ListView - used to implement the look of the slides of the SlideShow demo. StateChangeScript - used to run scripts in the state changes. ParentChange - used to change the parent of the demo when one of the demos is started. KNOWN ISSUES ------------------------------------------------------------------------------- - The performance could be better (mostly in Symbian) due to the fact that each demo has several hidden graphic elements (code editor). - There are issues with the virtual keyboard (VKB) on Harmattan. The texts inputted must be "committed" by the Done button of the VKB in order the software to see the inputted text. DESIGN CONSIDERATIONS ------------------------------------------------------------------------------- - There should be only one code editor in this application. Currently each demo has its own code editor, which consumes memory and resources. BUILD & INSTALLATION INSTRUCTIONS ------------------------------------------------------------------------------- Preparations ~~~~~~~~~~~~ Check that you have the latest Qt/Qt SDK installed in the development environment and on the device. Build & installation instructions using Qt SDK ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Open the Qt PRO file. File > Open File or Project, select pro-file. 2. Select target(s), for example 'Qt 4.7.4 for Symbian Anna (Qt SDK)', and press the Finish button. 3. Press the Run button to build the project and create the Symbian install package. The application is installed on the device. RUNNING THE APPLICATION ------------------------------------------------------------------------------- Launch QtQuickPlayground on your device. The main window is loaded showing a set of six Qt Quick demos. You can start each demo by tapping the demo icon on the screen. The demo icon will scale to full screen and the actual demo is loaded dynamically. All demos have a sidepanel on the right side, allowing you to go back to the main screen or to open the code editor of the demo. You can also access the code editor by peeling the skin off the demo on the demo’s main screen by moving a finger diagonally from the bottom right corner towards the top left corner. In the code editor, you can examine the code of the demo. You can scroll the code editor by dragging a finger on top of the code in the browse state. The browse state can be changed to edit state with the Browse button on the top. In the edit state, code cannot be scrolled but you can edit the code with the device’s keyboard. To scroll the code, change the state back to the browse state. After editing the code, you might want to try and see how the editing affected the demo. The demo can be started from the Try Demo button in the bottom right corner. If there are error(s) in the code, an error dialogue is shown, and by clicking the dialogue you can go back to the editor to see what’s wrong. Each demo can be closed from the Back button in the top right corner, which brings you back to the main screen of the application. The application is closed from the X button on the upper right corner of the main screen. Note: Every time the QtQuickPlayground application is started, the code of each demo will revert to its original state destroying all the code changes you may have done. COMPATIBILITY ------------------------------------------------------------------------------- - Qt SDK 1.1.4 - Qt Mobility 1.2.1 - Symbian Anna with Qt 4.7.4 - Symbian^1 with Qt 4.7.4 - MeeGo 1.2 Harmattan - Maemo 5 - Windows desktop Tested on: - Nokia 5800 XpressMusic - Nokia N97 - Nokia N8-00 - Nokia E7-00 - Nokia N900 - Nokia N950 - Windows 7 VERSION HISTORY ------------------------------------------------------------------------------- 1.4.1 Added support for VKB on Symbian and Harmattan. 1.4 Added MeeGo 1.2 Harmattan support. 1.3 Added S60 5th Edition (Symbian^1) support. Compatibility with Qt 4.7.1. 1.2 Added Qt OpenGL support. Fixed the WebContent demo to work on Symbian devices. Compatibility with public Qt 4.7.0. Published in FN Projects only. 1.1 Updated the software to work with Qt 4.7.0 RC in Symbian, Maemo, and Windows desktop. Published in FN Projects only. 1.0 Initial version. Published in FN Projects only.