--- /dev/null
+/****************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Free Documentation License
+**
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of this
+** file.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at info@qt.nokia.com.
+**
+****************************************************************************/
+
+// **********************************************************************
+// NOTE: the sections are not ordered by their logical order to avoid
+// reshuffling the file each time the index order changes (i.e., often).
+// Run the fixnavi.pl script to adjust the links to the index order.
+// **********************************************************************
+
+/*!
+ \contentspage index.html
+ \previouspage creator-glossary.html
+ \page creator-acknowledgements.html
+
+ \title Acknowledgements
+
+ \section1 Third-party Components
+
+ \QC contains the following third-party components:
+
+ \list
+
+ \o \bold{Open Source front-end for C++ (license MIT)}, enhanced for use
+ in \QC.\br
+ Roberto Raggi <roberto.raggi@gmail.com>\br
+ QtCreator/src/shared/cplusplus\br\br
+
+ \o \bold{Botan, a C++ crypto library. Version 1.8.8}\br
+
+ \list
+ \o Copyright (C) 1999-2004 The Botan Project. All rights
+ reserved.
+ \o Copyright (C) 1999-2009 Jack Lloyd
+ \o 2001 Peter J Jones
+ \o 2004-2007 Justin Karneges
+ \o 2005 Matthew Gregan
+ \o 2005-2006 Matt Johnston
+ \o 2006 Luca Piccarreta
+ \o 2007 Yves Jerschow
+ \o 2007-2008 FlexSecure GmbH
+ \o 2007-2008 Technische Universitat Darmstadt
+ \o 2007-2008 Falko Strenzke
+ \o 2007-2008 Martin Doering
+ \o 2007 Manuel Hartl
+ \o 2007 Christoph Ludwig
+ \o 2007 Patrick Sona
+ \endlist
+
+ All rights reserved.\br\br
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:\br\br
+
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions, and the following disclaimer.\br\br
+
+ 2. 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.\br
+ \br
+
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) "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 AUTHOR(S) OR CONTRIBUTOR(S) 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.\br\br
+ The source code of Botan C++ crypto library can be found
+ here:
+ \list
+ \o QtCreator/src/libs/3rdparty
+ \o \l{http://qt.gitorious.org/qt-creator/qt-creator/trees/master/src/libs/3rdparty}
+ \endlist
+ \br\br
+
+ \o \bold{NetSieben SSH Library is a Secure Shell client library for C++.
+ Version 1.3.2}\br
+ \list
+ \o \bold{Commercial License:} For organizations who do not want to
+ release the source code for their applications as open source/
+ free software; in other words they do not want to comply with the
+ GNU General Public License (GPL) or Q Public License.
+ \o \bold{Non Commercial / Open Source License:} NetSieben believes in
+ contributing back to the open source community, thus it has released
+ the SSH Library under Q Public License as it is defined by Trolltech
+ AS of Norway. The Open Source License allows the user to use software
+ under an open source / free software license, and distribute it
+ freely. The software can be used at no charge with the condition
+ that if the user uses the SSH Library in an application they wish to
+ redistribute, then the complete source code for your application must
+ be available and freely redistributable under reasonable conditions.
+ For more information on the used QPL License see:
+ QtCreator/src/libs/3rdparty/net7ssh/LICENSE.QPL
+ \endlist\br\br
+ The source code of NetSieben Secure Shell C++ Library can be found
+ here:
+ \list
+ \o QtCreator/src/libs/3rdparty
+ \o \l{http://qt.gitorious.org/qt-creator/qt-creator/trees/master/src/libs/3rdparty}
+ \endlist
+ \endlist
+*/
--- /dev/null
+/****************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Free Documentation License
+**
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of this
+** file.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at info@qt.nokia.com.
+**
+****************************************************************************/
+
+// **********************************************************************
+// NOTE: the sections are not ordered by their logical order to avoid
+// reshuffling the file each time the index order changes (i.e., often).
+// Run the fixnavi.pl script to adjust the links to the index order.
+// **********************************************************************
+
+/*!
+ \contentspage index.html
+ \previouspage creator-help.html
+ \page creator-advanced.html
+ \nextpage creator-os-supported-platforms.html
+
+ \title Advanced Use
+
+ \QC attempts to meet your development needs, whether you are an
+ experienced Qt developer or a newcomer to Qt. When you install \QC
+ as a part of \QSDK, the default configuration allows you to start coding,
+ building, running and debugging applications with very little effort.
+
+ However, you can easily change or extend the default configuration, by
+ choosing a different build system, adding project wizards, integrating
+ external tools, or editing the standard MIME types that \QC uses
+ to recognize your files.
+
+ You can start \QC and specify some options for running it from the
+ command line.
+
+ This following topics describe advanced use of \QC:
+
+ \list
+ \o \l{Supported Platforms}
+ \o \l{Adding New Custom Wizards}
+ \o \l{Setting Up a CMake Project}
+ \o \l{Setting Up a Generic Project}
+ \o \l{Using Version Control Systems}
+ \if defined(qcmanual)
+ \o \l{Adding Qt Designer Plugins}
+ \endif
+ \o \l{Using External Tools}
+ \if defined(qcmanual)
+ \o \l{Using Maemo or MeeGo Harmattan Emulator}
+ \endif
+ \o \l{Editing MIME Types}
+ \o \l{Showing Task List Files in the Build Issues Pane}
+ \o \l{Using Command Line Options}
+ \o \l{Keyboard Shortcuts}
+ \o \l{Glossary}
+ \endlist
+
+*/
--- /dev/null
+/****************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Free Documentation License
+**
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of this
+** file.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at info@qt.nokia.com.
+**
+****************************************************************************/
+
+// **********************************************************************
+// NOTE: the sections are not ordered by their logical order to avoid
+// reshuffling the file each time the index order changes (i.e., often).
+// Run the fixnavi.pl script to adjust the links to the index order.
+// **********************************************************************
+
+/*!
+ \contentspage index.html
+ \previouspage creator-running-valgrind-remotely.html
+ \page creator-deployment.html
+ \nextpage creator-deployment-symbian.html
+
+ \title Deploying Applications to Mobile Devices
+
+ Deploy configurations in the \gui Project mode \gui {Run Settings} handle
+ the packaging of the application as an executable and copying it to a
+ location you want to run the executable at. The files can be copied to a
+ location in the file system of the development PC or a mobile device.
+
+ When you are ready to publish the application on a publishing channel, you
+ must make sure that the installation file meets the requirements for
+ publishing and installing applications to the target devices. The following
+ sections describe the steps that you have to take to create installation
+ packages for publishing on different channels:
+
+ \if defined(qcmanual)
+ \list
+ \o \l{Deploying Applications to Symbian Devices}
+ \o \l{Deploying Applications to Maemo or MeeGo Harmattan Devices}
+ \o \l{Publishing Maemo Applications to Extras-devel}
+ \o \l{Publishing Applications to Ovi Store}
+ \o \l{Building with Remote Compiler}
+
+ \endlist
+ \endif
+*/
--- /dev/null
+/****************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Free Documentation License
+**
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of this
+** file.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at info@qt.nokia.com.
+**
+****************************************************************************/
+
+// **********************************************************************
+// NOTE: the sections are not ordered by their logical order to avoid
+// reshuffling the file each time the index order changes (i.e., often).
+// Run the fixnavi.pl script to adjust the links to the index order.
+// **********************************************************************
+
+/*!
+ \contentspage index.html
+ \previouspage creator-publishing-to-maemo-extras.html
+ \page creator-publish-ovi.html
+ \nextpage creator-publish-ovi-symbian.html
+
+ \title Publishing Applications to Ovi Store
+
+ Ovi Store is the global content market of Nokia, which reaches millions of
+ people worldwide. Consumers can access Ovi Store through either of these
+ platforms:
+
+ \list
+
+ \o Ovi Store applications on mobile devices
+
+ \o Web browsers on desktop computers, laptops, netbooks, and tablets
+
+ \endlist
+
+ Consumers have access to a wide selection of content and can download
+ content in a few easy clicks.
+
+ The process and requirements to publish Qt applications to Ovi Store are
+ described in the
+ \l {http://www.developer.nokia.com/Community/Wiki/Guide_to_Publishing_Qt_Applications_to_the_Ovi_Store}
+ {Guide to Publishing Qt Applications to the Ovi Store} wiki.
+
+ This section describes how to generate installation packages that you can
+ publish to Ovi Store.
+
+ \if defined(qcmanual)
+ \list
+
+ \o \l{Publishing Qt Content for Symbian Devices}
+ \o \l{Publishing Qt Content for Maemo Devices}
+ \o \l{Publishing Qt Content for MeeGo Harmattan Devices}
+
+ \endlist
+ \endif
+*/
--- /dev/null
+/****************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Free Documentation License
+**
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of this
+** file.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at info@qt.nokia.com.
+**
+****************************************************************************/
+
+// **********************************************************************
+// NOTE: the sections are not ordered by their logical order to avoid
+// reshuffling the file each time the index order changes (i.e., often).
+// Run the fixnavi.pl script to adjust the links to the index order.
+// **********************************************************************
+
+/*!
+ \contentspage index.html
+ \previouspage creator-editor-fakevim.html
+ \page creator-design-mode.html
+ \nextpage creator-visual-editor.html
+
+ \title Developing Application UI
+
+ Large high-resolution screens, touch input, and significant graphics power
+ are becoming common in portable consumer devices, such as mobile phones,
+ media players, set-top boxes, and netbooks. To fully benefit from these
+ features and to create intuitive, modern-looking, fluid user interfaces,
+ you can use \l {http://doc.qt.nokia.com/4.7/qtquick.html}{Qt Quick}.
+
+ Qt Quick consists of a rich set of user interface elements, a declarative
+ language for describing user interfaces, and a language runtime. A
+ collection of C++ APIs is used to integrate these high level features with
+ classic Qt applications.
+
+ You can edit QML code in the code editor or in the integrated \QMLD.
+
+ \image qtcreator-design-mode.png "Design mode"
+
+ The integration includes project management and code completion.
+
+ \if defined(qcmanual)
+ If you need a traditional user interface that is clearly structured and
+ enforces a platform look and feel, you can use the integrated \QD. You can
+ compose and customize your widgets or dialogs and test them using different
+ styles and resolutions.
+ \endif
+
+ The following sections describe how to develop application UI:
+
+ \list
+
+ \o \l{Developing Qt Quick Applications}
+
+ \if defined(qcmanual)
+ \o \l{Developing Widget Based Applications}
+ \endif
+
+ \o \l{Optimizing Applications for Mobile Devices}
+
+ \endlist
+
+*/
--- /dev/null
+/****************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Free Documentation License
+**
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of this
+** file.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at info@qt.nokia.com.
+**
+****************************************************************************/
+
+// **********************************************************************
+// NOTE: the sections are not ordered by their logical order to avoid
+// reshuffling the file each time the index order changes (i.e., often).
+// Run the fixnavi.pl script to adjust the links to the index order.
+// **********************************************************************
+
+/*!
+ \contentspage index.html
+ \previouspage creator-quick-tour.html
+ \page creator-getting-started.html
+ \nextpage creator-build-example-application.html
+
+ \title Getting Started
+
+ This section contains examples that illustrate how to use \QC to create,
+ build, and run simple applications:
+
+ \list
+ \o \l{Building and Running an Example Application}
+ \o \l{Creating a Qt Quick Application}
+ \if defined(qcmanual)
+ \o \l{Creating a Qt Quick Application Using Qt Quick Components}
+ \o \l{Creating a Qt Widget Based Application}
+ \o \l{Creating a Qt Widget Based Mobile Application}
+ \endif
+
+ \endlist
+
+*/
--- /dev/null
+/****************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Free Documentation License
+**
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of this
+** file.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at info@qt.nokia.com.
+**
+****************************************************************************/
+
+// **********************************************************************
+// NOTE: the sections are not ordered by their logical order to avoid
+// reshuffling the file each time the index order changes (i.e., often).
+// Run the fixnavi.pl script to adjust the links to the index order.
+// **********************************************************************
+
+/*!
+ \contentspage index.html
+ \previouspage technical-support.html
+ \page creator-glossary.html
+ \nextpage creator-acknowledgements.html
+
+ \title Glossary
+
+ \table
+ \header
+ \o Term
+ \o Meaning
+
+ \row
+ \o
+ \raw HTML
+ Qt in PATH
+ \endraw
+ \target glossary-system-qt
+ \o This is the Qt
+ version for the \c qmake command found in your \c PATH
+ environment variable.
+ This is likely to be the system's Qt version.
+
+
+ \row
+ \o
+ \raw HTML
+ Project Qt
+ \endraw
+ \target glossary-project-qt
+ \o The version of Qt configured in the \gui{Projects} mode,
+ \gui {Build Settings}, \gui {Qt Version} field. This is the Qt
+ version that is actually used by a particular project.
+
+ \row
+ \o
+ \raw HTML
+ Shadow build
+ \endraw
+ \target glossary-shadow-build
+ \o Shadow building means building a project in a separate
+ directory, the \e{build directory}. The build directory is
+ different from the source directory. One of the benefits of
+ shadow building is that it keeps your source directory clean.
+ Shadow building is the best practice if you need many build
+ configurations for a single set of source.
+
+ \row
+ \o
+ \raw HTML
+ Target
+ \endraw
+ \target glossary-development-target
+ \o Target means the software platform for which you develop an
+ application. Qt Creator groups platform specific settings (such
+ as build configurations, compatible tool chains, and supported
+ Qt versions) as targets to make cross-platform development
+ easier.
+ \endtable
+
+*/
--- /dev/null
+/****************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Free Documentation License
+**
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of this
+** file.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at info@qt.nokia.com.
+**
+****************************************************************************/
+
+// **********************************************************************
+// NOTE: the sections are not ordered by their logical order to avoid
+// reshuffling the file each time the index order changes (i.e., often).
+// Run the fixnavi.pl script to adjust the links to the index order.
+// **********************************************************************
+
+/*!
+ \contentspage index.html
+ \previouspage creator-tips.html
+ \page creator-known-issues.html
+ \nextpage technical-support.html
+
+ \title Known Issues
+
+ This section lists known issues in \QC version \qtcversion. The development
+ team is aware of them, and therefore, you do not need to report them as
+ bugs.
+
+ For a list of fixed issues and added features, see the changelog file in
+ the \c{qtcreator\dist} folder or the \l{https://bugreports.qt.nokia.com}
+ {Qt Bug Tracker}.
+
+ \section1 General Issues
+
+ \list
+
+ \o If you change the Input Languages in Windows, \QC might not
+ respond for 30 seconds. This is a known issue in the Advanced Text
+ Service of Microsoft Windows.
+
+ \o \QC uses SQLite for storing some of its settings. SQLite is
+ known to have problems with certain NFS servers (most notably the
+ nfs-user-server 2.2beta), since they can lock up the application
+ when it tries to lock the database. If your home directory is on an
+ NFS share and you encounter this issue, one option would be to
+ switch to the nfs-kernel-server, or create a symlink so that the
+ settings are stored locally.
+
+ \o The Okteta KDE custom widget plugin might be installed as part of
+ some Linux distributions. It can cause Qt Designer to crash. For
+ more information, see:
+
+ \list
+
+ \o \l{https://bugs.launchpad.net/ubuntu/+source/kdeutils/+bug/662005}
+ {Ubuntu bug 662005}
+
+ \o \l{https://bugreports.qt.nokia.com/browse/QTBUG-12025}
+ {QTBUG-12025}
+
+ \endlist
+
+ To resolve the issue, enter the following command to remove the
+ package:
+ \code
+ sudo apt-get remove okteta
+ \endcode
+ Or delete the following file:
+ \c /usr/lib/kde4/plugins/designer/oktetadesignerplugin.so.
+
+ \endlist
+
+ \section1 Editing Issues
+
+ \list
+
+ \o Code completion does not support typedefs for nested classes.
+
+ \endlist
+
+ \section1 Projects Issues
+
+ \list
+
+ \o Paths or file names containing spaces or special characters
+ (such as colons, dollar signs, and hash marks) may cause problems.
+ This is because some of the tools \QC uses in the background have
+ restrictions on the characters allowed in file and directory names.
+ To be on the safe side, we recommend creating projects and project
+ items with names consisting of plain characters, numbers,
+ underscores, and hyphens.
+
+ \o Creating new CMake projects with \QC is not supported.
+
+ \if defined(qcmanual)
+ \o On Windows, you must create projects for Maemo 5 and Harmattan
+ targets on the same partition where you installed \QSDK, \QC, and
+ MADDE.
+ \endif
+
+ \o If error messages displayed in the \gui {Compile Output} pane contain
+ paths where slashes are missing (for example, C:QtSDK),
+ check your PATH variable. For more information, see
+ \l{Troubleshooting MinGW Compilation Errors}.
+
+ \endlist
+
+ \section1 Debugging Issues
+
+ \list
+
+ \o Debugging large applications on Symbian devices using the Symbian^3
+ operating system might not work, because the on-device debugging
+ agent might not be able to access memory when the operating system
+ starts paging. This causes breakpoint handling and symbol resolution
+ to fail. For more information, see
+ \l{https://bugreports.qt.nokia.com/browse/QTCREATORBUG-2158}
+ {QTCREATORBUG-2158}.
+
+ As a workaround, add the following section to the application .pro
+ file to disable paging:
+
+ \code
+ debug {
+ MMP_RULES -= PAGED
+ MMP_RULES *= UNPAGED
+ }
+ \endcode
+
+ \note You must completely clean and rebuild the project for the
+ setting to take effect.
+
+ \o When debugging executables created by the GNU Compiler version 4.5.0
+ (all platforms), some data types will not be displayed in the
+ \gui{Locals and Expressions} view due to missing debug information.
+
+ \o GDB on Windows may not work if the 'Embassy \reg Security Center'
+ software by 'Wave \reg Systems' is installed and active (causing
+ crashes in \c{vxvault.dll)}).
+
+ \o GDB may take long to load debugging symbols, especially from large
+ libraries.
+
+ \o Setting breakpoints in code that is compiled into the binary more
+ than once does not work.
+
+ \o Setting breakpoints in files that do not have unique absolute
+ paths may fail. For example, remounting parts of a file system
+ using the --bind mount option.
+
+ \endlist
+
+ \section1 Qt Quick Designer Issues
+
+ \list
+
+ \o \QMLD uses external processes (QML Puppet) to render and preview
+ images and to collect data. Executing C++ code might cause the QML
+ Puppet to crash. If it crashes, an error message is displayed and
+ you can continue editing the QML file in the code editor.
+
+ \endlist
+*/
--- /dev/null
+/****************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Free Documentation License
+**
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of this
+** file.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at info@qt.nokia.com.
+**
+****************************************************************************/
+
+// **********************************************************************
+// NOTE: the sections are not ordered by their logical order to avoid
+// reshuffling the file each time the index order changes (i.e., often).
+// Run the fixnavi.pl script to adjust the links to the index order.
+// **********************************************************************
+
+/*!
+ \contentspage index.html
+ \previouspage index.html
+ \page creator-overview.html
+ \nextpage creator-quick-tour.html
+
+ \title IDE Overview
+
+ \QC is an integrated development environment (IDE) that provides you with
+ tools to design and develop applications with the Qt application framework.
+ Qt is designed for developing applications and user interfaces once and
+ deploying them across several desktop and mobile operating systems. \QC
+ provides you with tools for accomplishing your tasks throughout the whole
+ application development life-cycle, from creating a project to deploying the
+ application on the target platforms.
+
+ \image qtcreator-overview.png "Overview"
+
+ \section1 Cross-platform Development
+
+ One of the major advantages of \QC is that it allows a team of developers
+ to share a project across different development platforms with a common tool
+ for development and debugging.
+
+ The recommended way to build a project is to use a version control system.
+ Store and edit only project source files and build system configuration
+ files (for example, .pro and .pri files for qmake). Do not store files
+ generated by the build system or \QC, such as makefiles, .pro.user, and
+ object files. Other approaches are possible, but we recommend that you do
+ not use network resources, for example.
+
+ \QC allows you to specify separate build settings for each development
+ platform. By default, \l{glossary-shadow-build}{shadow builds} are used to
+ keep the build specific files separate from the source.
+
+ You can create separate versions of project files to keep platform-dependent
+ code separate. You can use qmake
+ \l{http://qt.nokia.com/doc/4.7/qmake-tutorial.html#adding-platform-specific-source-files}
+ {scopes} to select the file to process depending on which platform qmake is
+ run on.
+
+ Items such as open files, breakpoints, and evaluated expressions are stored
+ in sessions. They are not considered to be part of the information shared
+ across platforms.
+
+ \section1 Creating Projects
+
+ But why do you need projects? To be able to build and run applications,
+ \QC needs the same information as a compiler would need. This information
+ is specified in the project build and run settings.
+
+ Creating a project allows you to:
+
+ \list
+
+ \o Group files together
+
+ \o Add custom build steps
+
+ \o Include forms and resource files
+
+ \o Specify settings for running applications
+
+ \endlist
+
+ Setting up a new project in \QC is aided by a wizard that guides you
+ step-by-step through the project creation process. In the first step, you
+ select the type of the project. Next, you select a location for the project
+ and specify settings for it.
+
+ \image qtcreator-new-qt-quick-project-wizard.png
+
+ When you have completed the steps, \QC automatically generates the project
+ with required headers, source files, user interface descriptions and project
+ files, as defined by the wizard.
+ For example, if you choose to create a Qt Quick application, \QC generates a
+ QML file that you can modify with the integrated \QMLD.
+
+ \section2 Adding Libraries
+
+ In addition to Qt libraries, you can link your application to other
+ libraries, such as system libraries or your own libraries. Further, your
+ own libraries might link to other libraries. To be able to compile your
+ project, you must add the libraries to your project. This also enables
+ code completion and syntax highlighting for the libraries.
+ The procedure of adding a library to a project depends on the build
+ system that you use.
+
+ \section2 Version Control Systems
+
+ \QC uses the version control system's command line clients to access your
+ repositories. The following version control systems are supported:
+
+ \list
+
+ \o Git
+
+ \o Subversion
+
+ \o Perforce
+
+ \o CVS
+
+ \o Mercurial
+
+ \o Bazaar
+
+ \endlist
+
+ The functions available to you in \QC depend on the version control system.
+ Basic functions are available for all the supported systems. They include
+ comparing files with the latest versions stored in the repository and
+ displaying the differences, viewing versioning history and change details,
+ annotating files, and committing and reverting changes.
+
+ \section1 Designing User Interfaces
+
+ \if defined(qcmanual)
+ \QC provides two integrated visual editors, \QMLD and \QD.
+
+ \image qtcreator-ui-designers.png "Qt Quick Designer and Qt Designer"
+ \endif
+
+
+ Large high-resolution screens, touch input, and significant graphics power
+ are becoming common in portable consumer devices, such as mobile
+ phones, media players, set-top boxes, and netbooks. To fully benefit from
+ these features and to create intuitive, modern-looking, fluid user
+ interfaces, you can use \l {http://doc.qt.nokia.com/4.7/qtquick.html}
+ {Qt Quick}.
+
+ Qt Quick consists of a rich set of user interface elements, a declarative
+ language for describing user interfaces, and a language runtime. A
+ collection of C++ APIs is used to integrate these high level features with
+ classic Qt applications.
+
+ You can edit QML code in the code editor or in the integrated \QMLD.
+ The integration includes project management and code completion.
+
+ \if defined(qcmanual)
+ If you need a traditional user interface that is clearly structured and
+ enforces a platform look and feel, you can use the integrated \QD. You can
+ compose and customize your widgets or dialogs and test them using different
+ styles and resolutions.
+ \endif
+
+ \section1 Code Editor
+
+ As an IDE, \QC differs from a text editor in that it knows how to build and
+ run applications. It understands the C++ and QML languages as code, not just
+ as plain text. This allows it to:
+
+ \list
+
+ \o Enable you to write well formatted code
+
+ \o Anticipate what you are going to write and complete the code
+
+ \o Display inline error and warning messages
+
+ \o Enable you to semantically navigate to classes, functions, and
+ symbols
+
+ \o Provide you with context-sensitive help on classes, functions, and
+ symbols
+
+ \o Rename symbols in an intelligent way, so that other symbols with the
+ same name that belong to other scopes are not renamed
+
+ \o Show you the locations in code where a function is declared or
+ called
+
+ \endlist
+
+ You can use the code editor to write code in Qt C++ or in the QML
+ declarative programming language. QML is an extension to JavaScript, that
+ provides a mechanism to declaratively build an object tree of QML elements.
+ QML improves the integration between JavaScript and Qt's existing QObject
+ based type system, adds support for automatic property bindings and provides
+ network transparency at the language level.
+
+ \section1 Building
+
+ \QC is integrated with cross-platform systems for build automation: qmake
+ and CMake. In addition, you can import generic projects that do not use
+ qmake or CMake, and specify that \QC ignores your build system.
+ \if defined(qcmanual)
+ \QC provides support for building and running Qt applications for desktop
+ environment (Windows, Linux, and Mac OS) and mobile devices (Symbian, Maemo,
+ and MeeGo Harmattan). Build settings allow you to quickly switch between
+ build targets.
+ \endif
+
+
+ When you install tool chains for build targets as part of the \QSDK, the
+ build and run settings for mobile device targets are set up automatically.
+ However, you might need to install and configure some additional software on
+ the devices to be able to connect to them from the development PC.
+
+ \note The only supported build system for mobile applications in \QC is
+ qmake.
+
+ \section1 Testing
+
+ If you install \QC as part of \QSDK, the GNU Symbolic Debugger is installed
+ automatically and you should be ready to start debugging after you create a
+ new project. However, you can change the setup to use debugging tools for
+ Windows, for example. You can connect mobile devices to your development PC
+ and debug processes running on the devices.
+
+ You can use code analysis tools to detect memory leaks, profile cache usage,
+ and profile Qt Quick applications.
+
+ You can test applications that are intended for mobile devices in a
+ simulator or emulator, but you also need to test the applications on real
+ devices.
+
+ \section2 Debuggers
+
+ \QC is integrated to several external native debuggers:
+
+ \list
+
+ \o GNU Symbolic Debugger (GDB)
+
+ \o Microsoft Console Debugger (CDB)
+
+ \o internal JavaScript debugger
+
+ \endlist
+
+ You can use the \QC \gui Debug mode to inspect the state of your application
+ while debugging. You can interact with the debugger in several ways,
+ including the following:
+
+ \list
+
+ \o Go through a program line-by-line or instruction-by-instruction.
+
+ \o Interrupt running programs.
+
+ \o Set breakpoints.
+
+ \o Examine the contents of the call stack.
+
+ \o Examine and modify registers and memory contents of
+ the debugged program.
+
+ \o Examine and modify registers and memory contents of
+ local and global variables.
+
+ \o Examine the list of loaded shared libraries.
+
+ \o Create snapshots of the current state of the debugged program
+ and re-examine them later.
+
+ \endlist
+
+ \QC displays the raw information provided by the native debuggers in a clear
+ and concise manner with the goal to simplify the debugging process as much
+ as possible without losing the power of the native debuggers.
+
+ In addition to the generic IDE functionality provided by stack view, views
+ for locals and expressions, registers, and so on, \QC includes features to
+ make debugging Qt-based applications easy. The debugger plugin understands
+ the internal layout of several Qt classes, for example, QString, the Qt
+ containers, and most importantly QObject (and classes derived from it), as
+ well as most containers of the C++ Standard Library and some GCC extensions.
+ This deeper understanding is used to present objects of such classes in a
+ useful way.
+
+ \section3 QML Script Console
+
+ You can use the \QC \gui Debug mode to inspect the state of the application
+ while debugging JavaScript functions. You can set breakpoints, view call
+ stack trace, and examine locals and expressions.
+
+ When the application is interrupted by a breakpoint, you can use the
+ \gui {QML Script Console} to execute JavaScript expressions in the current
+ context. You can type JavaScript expressions and use them to get information
+ about the state of the application, such as property values.
+
+ If you change property values or add properties in the code editor, the
+ changes are updated in the running application when they are saved.
+
+ \section3 QML Inspector
+
+ While the application is running, you can use the \gui {QML Inspector} view
+ to explore the object structure, debug animations, and inspect colors. When
+ debugging complex applications, you can use the inspection mode to jump to
+ the position in code where an element is defined.
+
+ \section2 Code Analysis Tools
+
+ The memory available on devices is limited and you should use it carefully.
+ \QC integrates Valgrind code analysis tools for detecting memory
+ leaks and profiling function execution. These tools are only supported on
+ Linux and Mac OS, but you can run them remotely from Windows. You must
+ download and install them separately to use them from \QC.
+
+ The QML Profiler is installed as part of \QC. It allows you
+ to profile your Qt Quick applications and is available on all supported
+ development platforms.
+
+ \section2 Qt Simulator
+
+ You can use the Qt Simulator to test Qt applications that are intended
+ for mobile devices in an environment similar to that of the device. You
+ can change the information that the device has about its configuration
+ and environment.
+
+ Qt Simulator does not support any device specific APIs by design. Therefore,
+ applications that run well on Qt Simulator also run on any device that hosts
+ the Qt and Qt Mobility libraries. However, this means that you cannot use
+ Qt Simulator to test applications that use device specific libraries, such
+ as Symbian C++ APIs. To test such applications, use the device emulators or
+ real devices.
+
+ The Qt Simulator is installed as part of the \QSDK. After it is
+ installed, you can select it as a build target in \QC.
+
+ \if defined(qcmanual)
+ \input linux-mobile/madde-emulator-overview.qdocinc
+ \endif
+
+
+ \section1 Deploying
+
+ \QC deploy configurations handle the packaging of the application as an
+ executable and copying it to a location developers want to run the
+ executable at. The files can be copied to a location in the file system of
+ the development PC or to a mobile device.
+
+ \QC allows you to create installation packages for mobile devices that are
+ suitable for publishing on Ovi Store and other channels.
+
+*/
--- /dev/null
+/****************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Free Documentation License
+**
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of this
+** file.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at info@qt.nokia.com.
+**
+****************************************************************************/
+
+// **********************************************************************
+// NOTE: the sections are not ordered by their logical order to avoid
+// reshuffling the file each time the index order changes (i.e., often).
+// Run the fixnavi.pl script to adjust the links to the index order.
+// **********************************************************************
+
+
+/*!
+ \contentspage index.html
+ \previouspage creator-advanced.html
+ \page creator-os-supported-platforms.html
+ \nextpage creator-project-wizards.html
+
+ \title Supported Platforms
+
+ You can install and run \QC on several operating systems to create
+ applications for multiple desktop and mobile device platforms.
+
+ \section1 Development Platforms
+
+ \QC is available in binary packages for the following operating systems:
+
+ \list
+
+ \o Windows 7
+
+ \o Windows XP Service Pack 2
+
+ \o Windows Vista
+
+ \o (K)Ubuntu Linux 8.04 (32-bit and 64-bit) or later, with the
+ following:
+
+ \list
+
+ \o g++
+
+ \o make
+
+ \o libglib2.0-dev
+
+ \o libSM-dev
+
+ \o libxrender-dev
+
+ \o libfontconfig1-dev
+
+ \o libxext-dev
+
+ \o libfreetype6-dev
+
+ \o libx11-dev
+
+ \o libxcursor-dev
+
+ \o libxfixes-dev
+
+ \o libxft-dev
+
+ \o libxi-dev
+
+ \o libxrandr-dev
+
+ \o If you are using QtOpenGL, libgl-dev and libglu-dev
+
+ \endlist
+
+ \o Mac OS 10.5 or later with the following:
+
+ \list
+
+ \o Xcode tools for your Mac OS X version available from your
+ Mac OS X installation DVDs or at
+ \l http://developer.apple.com.
+
+ \endlist
+
+ \endlist
+
+ \section1 Compiling from Source
+
+ To build \QC from the source, see the requirements and instructions in the
+ readme file that is located in the source repository.
+
+ \input overview/creator-target-platforms.qdocinc
+*/
--- /dev/null
+ \section1 Target Platforms
+
+ You can develop applications for the following platforms:
+
+ \list
+
+ \o Desktop
+
+ \o Qt Simulator
+
+ \o Maemo 5
+
+ \o MeeGo Harmattan
+
+ \o Generic remote Linux
+
+ \o Symbian
+
+ \endlist
+
+ The following table summarizes operating system support for developing
+ applications for mobile device platforms.
+
+ \table
+ \header
+ \o {1,6} Operating system
+ \o {6,1} Platform
+ \header
+ \o Desktop
+ \o Qt Simulator
+ \o Maemo 5
+ \o MeeGo Harmattan
+ \o Generic Remote Linux
+ \o Symbian
+
+ \row
+ \o Windows
+ \o Yes
+ \o Yes
+ \o Yes
+ \o Yes
+ \o Yes
+ \o Yes
+ \row
+ \o Linux
+ \o Yes
+ \o Yes
+ \o Yes
+ \o Yes
+ \o Yes
+ \o Yes (by using Remote Compiler for building)
+ \row
+ \o Mac OS X
+ \o Yes
+ \o Yes
+ \o Yes
+ \o Yes
+ \o Yes
+ \o Yes (by using Remote Compiler for building)
+ \endtable
--- /dev/null
+/****************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Free Documentation License
+**
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of this
+** file.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at info@qt.nokia.com.
+**
+****************************************************************************/
+
+// **********************************************************************
+// NOTE: the sections are not ordered by their logical order to avoid
+// reshuffling the file each time the index order changes (i.e., often).
+// Run the fixnavi.pl script to adjust the links to the index order.
+// **********************************************************************
+
+/*!
+ \contentspage index.html
+ \previouspage creator-known-issues.html
+ \page technical-support.html
+ \nextpage creator-glossary.html
+
+ \title Technical Support
+
+ The following table lists Qt support sites and other useful links.
+
+ \table
+ \header
+ \o What Do You Want to Do
+ \o Where to Go
+
+ \row
+ \o Learn more about Qt
+ \o \l{http://qt.nokia.com/developer/learning/online/training/specialized-elearning/}
+ {Specialized eLearning Modules Based on Qt Training Modules}
+
+ \row
+ \o Develop Qt applications for desktop and mobile devices
+ \o \l{http://developer.qt.nokia.com/}{Qt Developer Network}
+
+ \row
+ \o Develop Qt applications for Nokia mobile devices
+ \o \l{http://www.developer.nokia.com/Develop/Qt/}
+ {Nokia Developer - Qt}
+
+ \row
+ \o Participate in Qt development
+ \o \l{http://qt.gitorious.org/}{Qt Git Hosting}
+
+ \row
+ \o Find free Qt-based applications
+ \o \l{http://qt-apps.org/}{Qt Apps}
+
+ \row
+ \o Buy commercial Qt support from Digia
+ \o \l{http://qt.digia.com/}{Qt Commercial}
+ \endtable
+
+*/
--- /dev/null
+/****************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Free Documentation License
+**
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of this
+** file.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at info@qt.nokia.com.
+**
+****************************************************************************/
+
+// **********************************************************************
+// NOTE: the sections are not ordered by their logical order to avoid
+// reshuffling the file each time the index order changes (i.e., often).
+// Run the fixnavi.pl script to adjust the links to the index order.
+// **********************************************************************
+
+/*!
+ \contentspage index.html
+ \previouspage creator-using-qt-designer.html
+ \page creator-usability.html
+ \nextpage creator-building-running.html
+
+ \title Optimizing Applications for Mobile Devices
+
+ Before starting application development, analyze and define the
+ requirements, scope, and functionality of the application to ensure
+ efficient functionality and a smooth user experience. Design the application
+ for a single purpose and analyze how it can best serve its users. Mobile
+ devices have been designed for use when mobile. Keep the characteristics
+ of mobile devices in mind when you create applications for them.
+
+ The following guidelines help you design and develop usable applications for
+ mobile devices with varying characteristics, such as screen size and support
+ for input methods:
+
+ \list
+
+ \o Know your users
+
+ Find out who will use the application, what they will use it for,
+ and which mobile devices they have. Then design the application to
+ fit a specific context of use.
+
+ \o Design for small screens
+
+ The screen size of mobile devices is significantly smaller than that
+ available on desktop devices. Carefully consider what is the most
+ relevant content to present on the application UI, as it might not
+ be reasonable to try and fit as much content into the screen as you
+ might have in a desktop application.
+
+ \o Design for multiple screen sizes
+
+ Relate the position and size of each control to the dimensions of
+ the display. This enables the same set of information to be
+ presented on the screen in all resolutions; higher resolution
+ devices just display finer graphics.
+
+ \o Design for changing screen orientation
+
+ Some devices support screen rotation. On these devices, applications
+ can be displayed in portrait or landscape orientation. Account for
+ orientation and dynamically adjust the display when the screen is
+ rotated.
+
+ \o Design intuitive ways of moving within applications
+
+ Mobile devices lack a mouse and full-size keyboard, so users must
+ use the touch screen or five way navigation pad to move within
+ applications. In addition, many users control the devices with one
+ hand. To create an optimized user experience, allow users to access
+ information with one click; do not make them scroll and type.
+
+ \o Design for limited input methods
+
+ Applications collect information from users on the task at hand. In
+ addition to touch screen input, some devices contain physical keys
+ such as a five way navigation pad, a keypad, and a keyboard. Users
+ enter information by using screen controls, such as lists, check
+ boxes, radio buttons, and text fields.
+
+ \o Keep response times short
+
+ Latency can cause delays in user interaction. If users perceive
+ an application as being slow, they are likely to get frustrated and
+ stop using it.
+
+ \o Save battery time
+
+ Mobile devices are not constantly connected to a power source but
+ run on battery power. Optimize power consumption to keep the total
+ consumption at an acceptable level and to prevent users from running
+ out of battery time.
+
+ \o Consider network issues
+
+ If users do not have a flat-rate data plan or WLAN support, mobile
+ network connections cost them money. Also, when users move around
+ with the devices, the networks available for connections constantly
+ change.
+
+ \o Remember the processing limits of the device
+
+ The memory available on devices is limited and you should use it
+ carefully. Although all mobile devices have common functionality,
+ each device is individual in terms of both the resources available
+ and extra features. Therefore, you must consider the constraints of
+ all the target devices.
+
+ \endlist
+
+ For more information about user experience techniques for mobile devices,
+ see the \l{http://www.developer.nokia.com/Resources/Library/Design_and_UX}
+ on Nokia Developer.
+
+ */