Commit f14d4b34 authored by Eike Ziller's avatar Eike Ziller

Merge remote-tracking branch 'origin/3.0'

parents 84576b16 cd80008a
......@@ -60,11 +60,12 @@
\section1 Viewing Function Tooltips
To hide function tooltips by default, select \gui {Tools > Options >
Text Editor > Show help tooltips > On Shift+Mouseover}. You can still view
the tooltips by pressing and holding down the \key Shift key.
Text Editor > Show help tooltips using the mouse > On Shift+Mouseover}. You
can still view the tooltips by pressing and holding down the \key Shift
key.
To use a keyboard shortcut for viewing help tooltips, select
\gui {Using keyboard shortcut (Alt)}.
\gui {Show help tooltips using keyboard shortcut (Alt)}.
\section1 Finding Information in Qt Documentation
......
......@@ -190,10 +190,7 @@
\li \l {Creating Buttons}
\li \l {Creating Scalable Buttons and Borders}
\li \l {Creating Screens}
\li \l {Animating Screens}
\li \l {Adding User Interaction Methods}
\li \l {Exporting Designs from Graphics Software}
\li \l {Implementing Application Logic}
\li \l {Using QML Modules with Plugins}
\endlist
\li \l{Developing Widget Based Applications}
......
......@@ -31,67 +31,40 @@
\title Developing Qt Quick Applications
You can either create Qt Quick projects from scratch or import existing
projects to \QC.
You can use the code editor (\l{Working in Edit Mode}{Edit mode}) or the
visual editor (\l{Using Qt Quick Designer}{Design mode}) to develop Qt Quick
applications.
Typically, application development proceeds as follows:
\table
\row
\li \inlineimage creator_createproject.png
\li \inlineimage creator_createcomponents.png
\li \inlineimage creator_createscreen.png
\row
\li \l {Creating Qt Quick Projects}{Create or import projects.}
\li \l {Creating Components}{Create components.}
\li \l {Creating Screens}{Create screens.}
\row
\li \inlineimage creator_createanimation.png
\li \inlineimage creator_createuserinter.png
\li \inlineimage creator_createcode.png
\row
\li \l {Animating Screens}{Add animation to screens.}
\li \l {Adding User Interaction Methods}
{Add user interaction methods.}
\li \l {Implementing Application Logic}
{Implement the application logic.}
\endtable
\list
\section1 Related Topics
\li \l {Creating Qt Quick Projects}
\list
You can either create Qt Quick projects from scratch or import
existing projects to \QC.
\li \l {Using Qt Quick Designer}
\li \l {Creating Buttons}
\li \l {Creating Scalable Buttons and Borders}
\li \l {Exporting Designs from Graphics Software}
\li \l {Using QML Modules with Plugins}
\endlist
*/
You can use the code editor (Edit mode) or the visual editor (Design
mode) to develop Qt Quick applications.
\li \l {Creating Components}
/*!
You can use predefined QML types to create components or use a set
of Qt Quick Controls for creating classic desktop-style user
interfaces using Qt Quick 2.1 (available since Qt 5.1).
\li \l {Creating Screens}
\contentspage index.html
\previouspage quick-export-to-qml.html
\page quick-application-logic.html
\nextpage creator-qml-modules-with-plugins.html
You can use predefined QML types, Qt Quick Controls, and your own
components to create screens. You can use states and transitions to
navigate between screens.
\li \l {Exporting Designs from Graphics Software}
\title Implementing Application Logic
You can export designs from graphics software, such as Adobe
Photoshop and GIMP, to QML files. You can then edit QML files in
\QC.
\li \l {Using QML Modules with Plugins}
A user interface is only a part of an application, and not really useful by itself.
You can use Qt or JavaScript to implement the application logic. For more information on
using JavaScript, see
\l{http://qt-project.org/doc/qt-5.0/qtqml/qtqml-javascript-topic.html}
{Integrating QML and JavaScript}.
QML modules may use plugins to expose components defined in C++ to
QML applications. \QC cannot load the plugins to determine the
details of the contained components, and therefore, the modules must
provide extra type information for code completion and the semantic
checks to work correctly.
For an example of how to use JavaScript to develop a game, see the
\l{http://qt-project.org/doc/qt-5.0/qtquick/qtquick2-qml-advtutorial.html}
{QML Advanced Tutorial}.
\endlist
*/
*/
......@@ -25,9 +25,9 @@
/*!
\contentspage index.html
\previouspage quick-user-interaction.html
\previouspage quick-screens.html
\page quick-export-to-qml.html
\nextpage quick-application-logic.html
\nextpage creator-qml-modules-with-plugins.html
\title Exporting Designs from Graphics Software
......
......@@ -24,7 +24,7 @@
/*!
\contentspage index.html
\previouspage quick-application-logic.html
\previouspage quick-export-to-qml.html
\page creator-qml-modules-with-plugins.html
\nextpage creator-using-qt-designer.html
......
......@@ -27,7 +27,7 @@
\contentspage index.html
\previouspage quick-scalable-image.html
\page quick-screens.html
\nextpage quick-animations.html
\nextpage quick-export-to-qml.html
\title Creating Screens
......@@ -183,17 +183,7 @@
\endlist
*/
/*!
\contentspage index.html
\previouspage quick-screens.html
\page quick-animations.html
\nextpage quick-user-interaction.html
\title Animating Screens
\section1 Animating Screens
To make movement between states smooth, you can specify transitions. You can
use different types of animated transitions. For example, you can animate
......@@ -210,17 +200,7 @@
see \l{http://qt-project.org/doc/qt-5.0/qtquick/qml-qtquick2-transition.html}
{Transition}.
*/
/*!
\contentspage index.html
\previouspage quick-animations.html
\page quick-user-interaction.html
\nextpage quick-export-to-qml.html
\title Adding User Interaction Methods
\section1 Adding User Interaction Methods
You can add the following basic interaction methods to scenes:
......@@ -242,4 +222,16 @@
\endlist
\section1 Implementing Application Logic
A user interface is only a part of an application, and not really useful by itself.
You can use Qt or JavaScript to implement the application logic. For more information on
using JavaScript, see
\l{http://qt-project.org/doc/qt-5.0/qtqml/qtqml-javascript-topic.html}
{Integrating QML and JavaScript}.
For an example of how to use JavaScript to develop a game, see the
\l{http://qt-project.org/doc/qt-5.0/qtquick/qtquick2-qml-advtutorial.html}
{QML Advanced Tutorial}.
*/
import qbs.base 1.0
import "../../qbs/functions.js" as QtcFunctions
import QtcFunctions
DynamicLibrary {
Depends { name: "cpp" }
......@@ -22,11 +22,12 @@ DynamicLibrary {
cpp.rpaths: qbs.targetOS.contains("osx")
? ["@loader_path/..", "@executable_path/.."]
: ["$ORIGIN", "$ORIGIN/.."]
cpp.includePaths: [path]
property string libIncludeBase: ".." // #include <lib/header.h>
cpp.includePaths: [libIncludeBase]
Export {
Depends { name: "cpp" }
cpp.includePaths: [path]
cpp.includePaths: [libIncludeBase]
}
Group {
......
import qbs.base 1.0
import qbs.FileInfo
import "../../qbs/functions.js" as QtcFunctions
import QtcFunctions
Product {
type: ["dynamiclibrary", "pluginSpec"]
......@@ -33,7 +33,9 @@ Product {
else if (qbs.buildVariant == "debug" && qbs.toolchain.contains("msvc"))
return ["/INCREMENTAL:NO"] // Speed up startup time when debugging with cdb
}
cpp.includePaths: [path]
property string pluginIncludeBase: ".." // #include <plugin/header.h>
cpp.includePaths: [pluginIncludeBase]
Group {
name: "PluginSpec"
......@@ -55,6 +57,6 @@ Product {
Export {
Depends { name: "ExtensionSystem" }
Depends { name: "cpp" }
cpp.includePaths: [path]
cpp.includePaths: [pluginIncludeBase]
}
}
......@@ -104,7 +104,7 @@ macx {
copy_menu_nib_installer.commands = cp -R \"$$MENU_NIB\" \"$${INSTALLER_NAME}.app/Contents/Resources\"
codesign_installer.commands = codesign -s \"$(SIGNING_IDENTITY)\" $(SIGNING_FLAGS) \"$${INSTALLER_NAME}.app\"
dmg_installer.commands = hdiutil create -srcfolder "$${INSTALLER_NAME}.app" -volname \"Qt Creator\" -format UDBZ "$${BASENAME}-installer.dmg" -ov -scrub -stretch 2g
dmg_installer.commands = hdiutil create -srcfolder "$${INSTALLER_NAME}.app" -volname \"Qt Creator\" -format UDBZ "$${BASENAME}-installer.dmg" -ov -scrub -size 1g -verbose
QMAKE_EXTRA_TARGETS += codesign_installer dmg_installer copy_menu_nib_installer
}
......
......@@ -52,7 +52,7 @@ Project {
"QT_NO_CAST_TO_ASCII",
"QT_NO_CAST_FROM_ASCII"
].concat(testsEnabled ? ["WITH_TESTS"] : [])
moduleSearchPaths: "qbs"
qbsSearchPaths: "qbs"
references: [
"src/src.qbs",
......
......@@ -12,7 +12,9 @@ cp -a "${sourceFolder}/" "${intermediateFolder}"
ln -s /Applications "${intermediateFolder}"
cp "$(dirname "${BASH_SOURCE[0]}")/../LICENSE.LGPL" "${intermediateFolder}/LICENSE_LGPL.txt"
echo Creating image...
hdiutil create -srcfolder "${intermediateFolder}" -volname "${title}" -format UDBZ "${finalDMGName}" -ov -scrub -stretch 2g
hdiutil create -srcfolder "${intermediateFolder}" -volname "${title}" -format UDBZ "${finalDMGName}" -ov -scrub -size 1g -verbose
# make sure that the image is umounted etc
sleep 4
# clean up
rm -rf "${intermediateFolder}"
......@@ -44,10 +44,10 @@ import HelperWidgets 2.0
Row {
id: alignmentHorizontalButtons
Rectangle {
RoundedPanel {
width: 14
height: parent.height
color: "gray"
roundLeft: true
ExtendedFunctionButton {
anchors.verticalCenter: parent.verticalCenter
backendValue: alignmentHorizontalButtons.backendValue
......@@ -106,6 +106,7 @@ Row {
exclusive: true
ButtonRowButton {
roundLeftButton: false
iconSource: blueHighlight ? "images/alignmentleft-h-icon.png" : "images/alignmentleft-icon.png"
onClicked: {
if (checked)
......
......@@ -44,10 +44,11 @@ import HelperWidgets 2.0
Row {
id: alignmentVerticalButtons
Rectangle {
RoundedPanel {
width: 14
height: parent.height
color: "gray"
roundLeft: true
ExtendedFunctionButton {
anchors.verticalCenter: parent.verticalCenter
backendValue: alignmentVerticalButtons.backendValue
......@@ -106,6 +107,7 @@ Row {
exclusive: true
ButtonRowButton {
roundLeftButton: false
iconSource: blueHighlight ? "images/alignmenttop-h-icon.png" : "images/alignmenttop-icon.png"
onClicked: {
if (checked)
......
......@@ -99,6 +99,6 @@ ButtonRowButton {
ExtendedFunctionButton {
backendValue: boolButtonRowButton.backendValue
x: 0
y: 2
y: 4
}
}
......@@ -35,12 +35,14 @@ Item {
id: buttonRowButton
property bool checked: false
property bool roundLeftButton: true
property alias iconSource: image.source
signal clicked()
width: 20 + leftPadding
height: 20
width: 24 + leftPadding
height: 24
property int leftPadding: 0
......@@ -52,9 +54,33 @@ Item {
return -1;
}
Rectangle {
color: checked ? "black" : "gray"
function isFirst() {
return index() === 0;
}
function isLast() {
return index() === (parent.children.length - 1);
}
RoundedPanel {
roundLeft: isFirst() && roundLeftButton
roundRight: isLast()
anchors.fill: parent
visible: checked
gradient: Gradient {
GradientStop {color: '#444' ; position: 0}
GradientStop {color: '#333' ; position: 1}
}
}
RoundedPanel {
roundLeft: isFirst()
roundRight: isLast()
anchors.fill: parent
visible: !checked
}
Image {
......
......@@ -28,7 +28,7 @@
****************************************************************************/
import QtQuick 2.1
import QtQuick.Controls 1.0
import QtQuick.Controls 1.0 as Controls
Item {
id: colorButton
......@@ -271,6 +271,9 @@ Item {
Label {
text: "H:"
width: 16
color: "#eee"
elide: Text.ElideRight
anchors.verticalCenter: parent.verticalCenter
}
SliderSpinBox {
id: hueSlider2
......@@ -289,9 +292,12 @@ Item {
Row {
z: 2
spacing: 4
Label {
Controls.Label {
text: "S:"
width: 16
color: "#eee"
elide: Text.ElideRight
anchors.verticalCenter: parent.verticalCenter
}
SliderSpinBox {
......@@ -311,9 +317,12 @@ Item {
Row {
z: 1
spacing: 4
Label {
Controls.Label {
text: "L:"
width: 16
color: "#eee"
elide: Text.ElideRight
anchors.verticalCenter: parent.verticalCenter
}
SliderSpinBox {
id: lightnessSlider
......@@ -332,9 +341,12 @@ Item {
Row {
z: 0
spacing: 4
Label {
Controls.Label {
text: "A:"
width: 16
color: "#eee"
elide: Text.ElideRight
anchors.verticalCenter: parent.verticalCenter
}
SliderSpinBox {
......@@ -348,7 +360,6 @@ Item {
if (colorButton.alpha !== value)
colorButton.alpha = value
}
}
}
......
......@@ -29,9 +29,11 @@
import QtQuick 2.1
import QtQuick.Controls 1.1 as Controls
import QtQuick.Controls.Styles 1.1
Controls.ComboBox {
id: comboBox
property variant backendValue
QtObject {
......@@ -46,7 +48,6 @@ Controls.ComboBox {
backendValue.value = currentText;
}
onFocusChanged: {
if (focus) {
transaction.start();
......@@ -55,5 +56,6 @@ Controls.ComboBox {
}
}
style: CustomComboBoxStyle {
}
}
/****************************************************************************
**
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia. For licensing terms and
** conditions see http://qt.digia.com/licensing. For further information
** use the contact form at http://qt.digia.com/contact-us.
**
** 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, Digia gives you certain additional
** rights. These rights are described in the Digia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
****************************************************************************/