Commit edeb4159 authored by con's avatar con
Browse files

Merge remote branch 'origin/2.1'

parents 985e5d8d d2c7aad8
......@@ -27,22 +27,22 @@ cd $BUILD_DIRECTORY
qmake $SOURCE_DIRECTORY/qtcreator.pro
make (or mingw32-make or nmake or jom, depending on your platform)
QmlDesigner, QmlInspector require private headers
-------------------------------------------------
QmlDesigner requires private headers from Qt 4.7.1
--------------------------------------------------
The QmlDesigner and QmlInspector plugins depend on "private" Qt headers,
specifically from the QtDeclarative module. These private headers always end
with an "_p.h", and Nokia does not make any promises to keep the files or API's
binary or source compatible between releases. This means that when compiled,
the two plugins have a dependency to the exact Qt version they were compiled
with. Running Qt Creator with the plugins against updated Qt libraries (also for
patch releases) might lead to link time failures, or even crashes.
The QmlDesigner plugin depends on "private" headers from Qt 4.7.1, specifically from
the QtDeclarative module. These private headers always end with an "_p.h", and Nokia
does not make any promises to keep the files or API's binary or source compatible
between releases. This means that when compiled, the plugin has a dependency to the
exact Qt version it was compiled with. Running Qt Creator with the plugin against
updated Qt libraries (also for patch releases) might lead to link time failures,
or even crashes.
If you want to disable the plugins, you can pass "QT_PRIVATE_HEADERS=" to qmake:
If you want to disable the plugin, you can pass "QT_PRIVATE_HEADERS=" to qmake:
qmake "QT_PRIVATE_HEADERS=" $SOURCE_DIRECTORY/qtcreator.pro
Anyhow, the plugins will not be compiled when the private header files needed
Anyhow, the plugin will not be compiled when the private header files needed
are not found. This might be the case when you are using a Qt version from your
distribution, or when you installed your self-compiled Qt to a separate
directory via 'make install'. You can fix this by either re-building your Qt
......
......@@ -49,3 +49,9 @@ QMAKE_EXTRA_TARGETS += html_docs html_docs_online qch_docs docs docs_online
OTHER_FILES = $$HELP_DEP_FILES \
$$PWD/api/qtcreator-api.qdoc \
$$PWD/api/qtcreator-api.qdocconf
fixnavi.commands = \
cd $$targetPath($$PWD) && \
perl fixnavi.pl -Dqcmanual -Dqtquick \
qtcreator.qdoc maemodev.qdoc symbiandev.qdoc
QMAKE_EXTRA_TARGETS += fixnavi
......@@ -2,37 +2,82 @@
use strict;
@ARGV == 1 or die "usage: $0 <qdoc-file>\n";
my $file = $ARGV[0];
open FILE, $file or die "File $file cannot be opened.\n";
my @files = ();
my %defines = ();
for (@ARGV) {
if (/^-D(.*)$/) {
$defines{$1} = 1;
} elsif (/^-/) {
printf STDERR "Unknown option '".$_."'\n";
exit 1;
} else {
push @files, $_;
}
}
int(@files) or die "usage: $0 [-D<define>]... <qdoc-file>\n";
my @toc = ();
my %title2page = ();
my $doctitle = "";
my $curpage = "";
my $intoc = 0;
while (<FILE>) {
if (keys(%title2page) == 1 && /^\h*\\list/) {
$intoc++;
} elsif (!$intoc) {
if (/^\h*\\page\h+(\H+)/) {
$curpage = $1;
} elsif (/^\h*\\title\h+(.+)$/) {
if ($curpage eq "") {
die "Title '$1' appears in no \\page.\n";
my %prev_skips = ();
my %next_skips = ();
my %define_skips = ();
my %polarity_skips = ();
my $prev_skip = "";
my $next_skip = "";
my $define_skip = "";
my $polarity_skip = 0;
for my $file (@files) {
my $skipping = 0; # no nested ifs!
open FILE, $file or die "File $file cannot be opened.\n";
while (<FILE>) {
if (/^\h*\\if\h+defined\h*\(\h*(\H+)\h*\)/) {
$skipping = !defined($defines{$1});
if (!$intoc) {
$define_skip = $1;
$polarity_skip = $skipping;
}
} elsif (/^\h*\\else/) {
$skipping = 1 - $skipping;
} elsif (/^\h*\\endif/) {
$skipping = 0;
} elsif (keys(%title2page) == 1 && /^\h*\\list/) {
$intoc++;
} elsif (!$intoc) {
if ($skipping && /^\h*\\previouspage\h+(\H+)/) {
$prev_skip = $1;
} elsif ($skipping && /^\h*\\nextpage\h+(\H+)/) {
$next_skip = $1;
} elsif (/^\h*\\page\h+(\H+)/) {
$curpage = $1;
} elsif (/^\h*\\title\h+(.+)$/) {
if ($curpage eq "") {
die "Title '$1' appears in no \\page.\n";
}
if (length($define_skip)) {
$define_skips{$1} = $define_skip;
$polarity_skips{$1} = $polarity_skip;
$prev_skips{$1} = $prev_skip;
$next_skips{$1} = $next_skip;
$define_skip = $prev_skip = $next_skip = "";
}
$title2page{$1} = $curpage;
$doctitle = $1 if (!$doctitle);
$curpage = "";
}
} else {
if (/^\h*\\endlist/) {
$intoc--;
} elsif (!$skipping && /^\h*\\o\h+\\l\h*{(.*)}$/) {
push @toc, $1;
}
$title2page{$1} = $curpage;
$doctitle = $1 if (!$doctitle);
$curpage = "";
}
} else {
if (/^\h*\\endlist/) {
$intoc--;
} elsif (/^\h*\\o\h+\\l\h*{(.*)}$/) {
push @toc, $1;
}
}
close FILE;
}
close FILE;
my %prev = ();
my %next = ();
......@@ -43,28 +88,57 @@ for my $title (@toc) {
$last = $title;
}
open IN, $file or die "File $file cannot be opened a second time?!\n";
open OUT, '>'.$file.".out" or die "File $file.out cannot be created.\n";
my $cutting = 0;
while (<IN>) {
if (!$cutting) {
if (/^\h*\\contentspage/) {
$cutting = 1;
}
} else {
if (/^\h*\\title\h+(.+)$/) {
print OUT " \\previouspage ".$prev{$1} if ($prev{$1});
print OUT " \\page ".$title2page{$1};
print OUT " \\nextpage ".$next{$1} if ($next{$1});
print OUT "\n";
$cutting = 0;
for my $file (@files) {
open IN, $file or die "File $file cannot be opened a second time?!\n";
open OUT, '>'.$file.".out" or die "File $file.out cannot be created.\n";
my $cutting = 0;
while (<IN>) {
if (!$cutting) {
if (/^\h*\\contentspage/) {
$cutting = 1;
}
} else {
next;
if (/^\h*\\title\h+(.+)$/) {
if (defined($define_skips{$1})) {
print OUT " \\if defined(".$define_skips{$1}.")\n";
if ($polarity_skips{$1}) {
print OUT " \\previouspage ".$prev_skips{$1} if ($prev_skips{$1});
print OUT " \\else\n";
}
}
print OUT " \\previouspage ".$prev{$1} if ($prev{$1});
if (defined($define_skips{$1})) {
if (!$polarity_skips{$1}) {
print OUT " \\else\n";
print OUT " \\previouspage ".$prev_skips{$1} if ($prev_skips{$1});
}
print OUT " \\endif\n";
}
print OUT " \\page ".$title2page{$1};
if (defined($define_skips{$1})) {
print OUT " \\if defined(".$define_skips{$1}.")\n";
if ($polarity_skips{$1}) {
print OUT " \\nextpage ".$next_skips{$1} if ($next_skips{$1});
print OUT " \\else\n";
}
}
print OUT " \\nextpage ".$next{$1} if ($next{$1});
if (defined($define_skips{$1})) {
if (!$polarity_skips{$1}) {
print OUT " \\else\n";
print OUT " \\nextpage ".$next_skips{$1} if ($next_skips{$1});
}
print OUT " \\endif\n";
}
print OUT "\n";
$cutting = 0;
} else {
next;
}
}
print OUT $_;
}
print OUT $_;
close OUT;
close IN;
rename($file.".out", $file) or die "Cannot replace $file with new version.\n";
}
close OUT;
close IN;
rename($file.".out", $file) or die "Cannot replace $file with new version.\n";
doc/images/qt-simulator.png

231 KB | W: | H:

doc/images/qt-simulator.png

85.1 KB | W: | H:

doc/images/qt-simulator.png
doc/images/qt-simulator.png
doc/images/qt-simulator.png
doc/images/qt-simulator.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -73,6 +73,7 @@
\o \l{Managing Projects}
\list
\o \l{Creating a Project}
\o \l{Opening a Project}
\o \l{Setting Up a qmake Project}
\o \l{Adding Libraries to qmake Projects}
\o \l{Setting Up a CMake Project}
......@@ -104,6 +105,8 @@
\o \l {Creating Qt Quick Projects}
\o \l {Using Qt Quick Designer}
\o \l {Creating Components}
\o \l {Creating Buttons}
\o \l {Creating Scalable Buttons and Borders}
\o \l {Creating Screens}
\o \l {Animating Screens}
\o \l {Adding User Interaction Methods}
......@@ -779,7 +782,7 @@
/*!
\contentspage index.html
\previouspage creator-task-lists.html
\previouspage creator-cli.html
\page creator-help.html
\nextpage creator-tips.html
......@@ -1968,6 +1971,7 @@
\list
\o \l{Creating a Project}
\o \l{Opening a Project}
\o \l{Setting Up a qmake Project}
\o \l{Adding Libraries to qmake Projects}
\o \l{Setting Up a CMake Project}
......@@ -1985,7 +1989,7 @@
\contentspage index.html
\previouspage creator-project-managing.html
\page creator-project-creating.html
\nextpage creator-project-qmake.html
\nextpage creator-project-opening.html
\title Creating a Project
......@@ -2131,6 +2135,69 @@
*/
/*!
\contentspage index.html
\previouspage creator-project-creating.html
\page creator-project-opening.html
\nextpage creator-project-qmake.html
\title Opening a Project
Qt Creator stores information that it needs to build projects in a .user file.
If Qt Creator cannot find the file when you open an existing project, it prompts you
to enter the information. If you created the project by using another Qt Creator
instance, Qt Creator asks whether you want to use the old settings. The settings
are specific to the development environment, and should not be copied from one
environment to another. Therefore, we recommend that you click \gui No and enter
the information again in the \gui {Project Setup} dialog.
The \gui {Project Setup} dialog displays a list of development environments for
target platforms (such as desktop, Maemo devices, and Symbian devices) that are
installed on the development PC. Select the Qt versions that you want to use to build
the project for each target.
\image qtcreator-open-project-targets.png "Qt Versions dialog"
The status \gui New indicates that Qt Creator did not find an existing build
for a particular development environment (Qt version) and target. Therefore,
Qt Creator starts out from a clean slate, and creates a new build in the directory
listed in the \gui {Build Directory} field.
By default, Qt Creator does a \l{glossary-shadow-build}{shadow build} and also
creates the directory. However, shadow building is not supported for the Symbian
target.
If you have built the project before, Qt Creator can use the existing build
configuration to make the exact same build as found in the directory available to
Qt Creator. The \gui Status column displays the status \gui Import if Qt creator
found an existing build of the project. The status is displayed for each
available development environment.
If you know you have a build, but it is not listed, click \gui {Import Existing
Shadow Build} to locate it. Select a directory, and Qt Creator scans it (including
subdirectories) for additional builds of the project. Qt Creator adds the found
builds to the target list with \gui Import status.
You can edit the build configuration later. For more information, see
\l{Editing Build Configurations}.
To open a project:
\list 1
\o Select \gui File > \gui{Open File or Project} and select the project
to open.
\o In the \gui {Project Setup} dialog, select the Qt versions to use as
build targets for your project, and click \gui{Next}.
\note If you have only one development environment installed, this dialog
is skipped.
\endlist
*/
/*!
\contentspage index.html
\previouspage creator-project-managing-sessions.html
......@@ -2593,7 +2660,7 @@
/*!
\contentspage index.html
\previouspage creator-project-creating.html
\previouspage creator-project-opening.html
\page creator-project-qmake.html
\nextpage creator-project-qmake-libraries.html
......@@ -4293,8 +4360,9 @@
\list 1
\o On the \gui Welcome page, select \gui {Choose an Example... >
Animation Framework > Animated Tiles}.
\o On the \gui Welcome page, select \gui {Choose an Example...}
in the \gui {Explore Qt Quick Examples} field, and then select
\gui {Toys > Clocks}.
\image qtcreator-gs-build-example-open.png "Selecting an example"
......@@ -4324,18 +4392,18 @@
\image {qt-simulator.png} "Qt Simulator"
\o Change the settings in the
\gui View pane, for example, to toggle the orientation by clicking
\gui {Rotate Device}, or choose from the various Symbian and Maemo
configurations by clicking \gui {Device}. You can also simulate various
\gui View pane. For example, rotate the device by clicking the
\gui {Orientation} buttons or choose from the various Symbian and Maemo
configurations in the \gui {Device} field. You can also simulate various
mobile functions and create your own scripts.
\o To test the application on a Symbian device install Qt libraries
\o To test the application on a Symbian device, install Qt libraries
and the TRK debugging application on the device. For more information,
see \l{Setting Up Development Environment for Symbian}.
\o Click the \gui {Target Selector} and select \gui {Symbian Device}.
\o Click \gui Run to build the application for the Symbian device.
\o Click \gui Run to build the application and run it on the Symbian device.
\endlist
......@@ -6604,7 +6672,7 @@
/*!
\contentspage index.html
\previouspage creator-project-qmake.html
\previouspage creator-project-qmake-libraries.html
\page creator-project-cmake.html
\nextpage creator-project-generic.html
......@@ -6970,6 +7038,8 @@
\o \l {Creating Qt Quick Projects}
\o \l {Using Qt Quick Designer}
\o \l {Creating Components}
\o \l {Creating Buttons}
\o \l {Creating Scalable Buttons and Borders}
\o \l {Creating Screens}
\o \l {Animating Screens}
\o \l {Adding User Interaction Methods}
......@@ -7490,7 +7560,7 @@
/*!
\contentspage index.html
\previouspage quick-components.html
\previouspage quick-scalable-image.html
\page quick-screens.html
\nextpage quick-animations.html
......
......@@ -24,14 +24,20 @@ symbian {
contains(DEFINES, ORIENTATIONLOCK):LIBS += -lavkon -leikcore -lcone
contains(DEFINES, NETWORKACCESS):TARGET.CAPABILITY += NetworkServices
} else:win32 {
!isEqual(PWD,$$OUT_PWD) {
copyCommand = @echo Copying application data...
for(deploymentfolder, DEPLOYMENTFOLDERS) {
source = $$eval($${deploymentfolder}.source)
pathSegments = $$split(source, /)
sourceAndTarget = $$MAINPROFILEPWD/$$source $$OUT_PWD/$$eval($${deploymentfolder}.target)/$$last(pathSegments)
copyCommand += && $(COPY_DIR) $$replace(sourceAndTarget, /, \\)
copyCommand =
for(deploymentfolder, DEPLOYMENTFOLDERS) {
source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
source = $$replace(source, /, \\)
sourcePathSegments = $$split(source, \\)
target = $$OUT_PWD/$$eval($${deploymentfolder}.target)/$$last(sourcePathSegments)
target = $$replace(target, /, \\)
!isEqual(source,$$target) {
!isEmpty(copyCommand):copyCommand += &&
copyCommand += $(COPY_DIR) \"$$source\" \"$$target\"
}
}
!isEmpty(copyCommand) {
copyCommand = @echo Copying application data... && $$copyCommand
copydeploymentfolders.commands = $$copyCommand
first.depends = $(first) copydeploymentfolders
export(first.depends)
......@@ -41,21 +47,30 @@ symbian {
} else:unix {
maemo5 {
installPrefix = /opt/usr
desktopfile.path = /usr/share/applications/hildon
desktopfile.path = /usr/share/applications/hildon
} else {
installPrefix = /usr
desktopfile.path = /usr/share/applications
!isEqual(PWD,$$OUT_PWD) {
copyCommand = @echo Copying application data...
for(deploymentfolder, DEPLOYMENTFOLDERS) {
macx {
target = $$OUT_PWD/$${TARGET}.app/Contents/Resources/$$eval($${deploymentfolder}.target)
} else {
target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
}
copyCommand += && $(MKDIR) $$target
copyCommand += && $(COPY_DIR) $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source) $$target
copyCommand =
for(deploymentfolder, DEPLOYMENTFOLDERS) {
source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
source = $$replace(source, \\, /)
macx {
target = $$OUT_PWD/$${TARGET}.app/Contents/Resources/$$eval($${deploymentfolder}.target)
} else {
target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
}
target = $$replace(target, \\, /)
sourcePathSegments = $$split(source, /)
targetFullPath = $$target/$$last(sourcePathSegments)
!isEqual(source,$$targetFullPath) {
!isEmpty(copyCommand):copyCommand += &&
copyCommand += $(MKDIR) \"$$target\"
copyCommand += && $(COPY_DIR) \"$$source\" \"$$target\"
}
}
!isEmpty(copyCommand) {
copyCommand = @echo Copying application data... && $$copyCommand
copydeploymentfolders.commands = $$copyCommand
first.depends = $(first) copydeploymentfolders
export(first.depends)
......
......@@ -2550,6 +2550,10 @@ Dodaj, zmodyfikuj lub usuń filtry dokumentów, które determinują zestaw dokum
<source>Debugging helpers:</source>
<translation>Asystenci debuggera:</translation>
</message>
<message>
<source>SBS v2 directory:</source>
<translation>Katalog SBS v2:</translation>
</message>
</context>
<context>
<name>ShowBuildLog</name>
......@@ -3628,7 +3632,7 @@ Przyczyna: %3</translation>
</message>
<message>
<source>Choose File</source>
<translation></translation>
<translation>Wybierz plik</translation>
</message>
<message>
<source>&lt;not valid&gt;</source>
......@@ -5196,7 +5200,7 @@ Zwróć uwagę że spowoduje to usunięcie lokalnego pliku.</translation>
</message>
<message>
<source>Commit &quot;%1&quot;</source>
<translation>Commit &quot;%1&quot;</translation>
<translation type="unfinished">Commit &quot;%1&quot;</translation>
</message>
<message>
<source>Alt+C,Alt+C</source>
......@@ -10907,7 +10911,7 @@ S60 emulator run configuration default display name, %1 is base pro-File name</e
<message>
<source>Desktop</source>
<comment>Qt Version is meant for the desktop</comment>
<translation></translation>
<translation>Desktop</translation>
</message>
<message>
<source>Symbian</source>
......@@ -17264,11 +17268,11 @@ should a repository require SSH-authentication (see documentation on SSH and the
</message>
<message>
<source>Set anchors</source>
<translation type="unfinished"></translation>
<translation>Ustaw kotwice</translation>
</message>
<message>
<source>Setting anchors in states is not supported.</source>
<translation type="unfinished"></translation>
<translation>Ustawianie kotwic w stanach nie jest obsługiwane.</translation>
</message>
<message>
<source>Target</source>
......@@ -17377,10 +17381,6 @@ should a repository require SSH-authentication (see documentation on SSH and the
<source>Smooth</source>
<translation>Gładki</translation>
</message>
<message>
<source></source>
<translation></translation>
</message>
</context>
<context>
<name>Switches</name>
......@@ -19235,7 +19235,7 @@ Lista serwera: %2.</translation>
</message>
<message>
<source>An instance of the CDB engine is still running; cannot create an a new instance.</source>
<translation type="unfinished"></translation>
<translation>Silnik CDB jest wciąż uruchomiony, nie można uruchomić kolejnego.</translation>
</message>
<message>
<source>Version: %1</source>
......@@ -19564,7 +19564,7 @@ Lista serwera: %2.</translation>
</message>
<message>
<source>Taking notice of pid %1</source>
<translation type="unfinished"></translation>
<translation type="unfinished">Odnotowano pid %1</translation>
</message>
</context>
<context>
......@@ -20806,7 +20806,7 @@ Adds the library and include paths to the .pro file.</source>
</message>
<message>
<source>Installation to sysroot failed, continuing anyway.</source>
<translation type="unfinished">Instalacja w sysroot nieudana, </translation>
<translation>Instalacja w sysroot nieudana, proces jest kontynuowany.</translation>
</message>
<message>
<source>Copying files to sysroot ...</source>
......@@ -20814,7 +20814,7 @@ Adds the library and include paths to the .pro file.</source>
</message>
<message>
<source>Sysroot installation failed: Could not copy &apos;%1&apos; to &apos;%2&apos;. Continuing anyway.</source>
<translation type="unfinished"></translation>
<translation>Instalacja w sysroot nieudana. Nie można skopiować &quot;%1&quot; do &quot;%2&quot;. Proces jest kontynuowany.</translation>
</message>
<message>
<source>Connecting to device...</source>
......@@ -20974,7 +20974,7 @@ stderr was: &apos;%1&apos;</source>
</message>
<message>
<source>Could not upload UTFS client (%1), continuing anyway.</source>
<translation type="unfinished"></translation>
<translation>Nie można przesłać klienta UTFS (%1). Proces jest kontynuowany.</translation>
</message>
<message>
<source>Starting remote UTFS clients...</source>
......@@ -21024,6 +21024,10 @@ stderr był: %1</translation>
<source>No device configuration set for run configuration.</source>
<translation>Brak konfiguracji urządzenia dla konfiguracji uruchamiania.</translation>
</message>
<message>
<source>Run configuration no longer available.</source>
<translation>Konfiguracja budowania nie jest już dostępna.</translation>
</message>
<message>
<source>Starting remote process ...</source>
<translation>Uruchamianie zdalnego procesu...</translation>
......@@ -21077,11 +21081,11 @@ stderr był: %1</translation>
</message>
<message>
<source>Unmounting left-over host directory mounts...</source>
<translation type="unfinished"></translation>
<translation>Usuwanie pozostałości po zamontowanym katalogu hosta...</translation>