Commit 68c796e2 authored by Eike Ziller's avatar Eike Ziller
Browse files

Merge origin/2.6

Conflicts:
	src/libs/utils/fileutils.cpp
	src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
	src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp
	src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.h
	src/plugins/cmakeprojectmanager/cmakeproject.cpp
	src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp
	src/plugins/cmakeprojectmanager/makestep.cpp
	src/plugins/qtsupport/baseqtversion.cpp

Change-Id: I153295bad2d97609d96d28945e9f942c5b46b2da
parents 43f2c77a 0fc9e7c8
......@@ -55,7 +55,7 @@ modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
......@@ -111,7 +111,7 @@ modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
......@@ -158,7 +158,7 @@ Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
......@@ -216,7 +216,7 @@ instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
......@@ -267,7 +267,7 @@ Library will still fall under Section 6.)
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
......@@ -329,7 +329,7 @@ restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
......@@ -370,7 +370,7 @@ subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
......@@ -422,7 +422,7 @@ conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
......@@ -456,7 +456,7 @@ SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
......
doc/images/qtcreator-add-resource.png

12.7 KB | W: | H:

doc/images/qtcreator-add-resource.png

38.1 KB | W: | H:

doc/images/qtcreator-add-resource.png
doc/images/qtcreator-add-resource.png
doc/images/qtcreator-add-resource.png
doc/images/qtcreator-add-resource.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -31,7 +31,7 @@
\title Building and Running an Example
You can test that your installation is successful by opening an existing
You can test that your \QSDK installation is successful by opening an existing
example application project.
\list 1
......@@ -54,37 +54,28 @@
\list 1
\o Select at least \QS and one of the mobile
\l{glossary-buildandrun-kit}{kits} (1), Maemo 5 or
MeeGo Harmattan, depending on the device you develop for.
\o Select the kits \l{glossary-buildandrun-kit}{kits} (1) that
specify the devices you develop for.
\o Select \gui {Configure Project} (2).
\endlist
\o To test the application in \QS, click the \gui {Kit
Selector} and select \gui {\QS}.
\o To check that the application code can be compiled and linked for a
device, click the \gui {Kit Selector} and select a kit for the
device.
\image qtcreator-gs-build-example-select-qs.png "Selecting Qt Simulator to run on"
\image qtcreator-kit-selector.png "Selecting a kit to build with"
\o Click
\inlineimage qtcreator-run.png
(\gui Run) to build the application and run it in \QS.
(\gui Run) to build and run the application.
\o To see the compilation progress, press \key{Alt+4} to open the
\gui {Compile Output} pane.
The \gui Build progress bar on the toolbar turns green when the
project is successfully built. The application opens in
\QS.
\image qt-simulator.png "Qt Simulator"
\o Change the settings in the \gui Model view. For example, rotate the
device by clicking the \gui {Orientation} buttons or choose from the
various mobile devices in the \gui {Device} field. You
can also simulate various mobile functions and create your own
scripts.
project is successfully built. The application opens on the device.
\endlist
......
......@@ -55,14 +55,15 @@
\o In the \gui{Name} field, type \bold {TextFinder}.
\o In the \gui {Create in} field, enter the path for the project files.
For example, \c {C:\Qt\examples}, and then click \gui{Next}.
For example, \c {C:\Qt\examples}, and then click \gui{Next} (on
Windows and Linux) or \gui Continue (on Mac OS).
The \gui {Kit Selection} dialog opens.
\image qtcreator-new-project-qt-versions-qt-gui.png "Kit Selection dialog"
\o Select build and run \l{glossary-buildandrun-kit}{kits} for your project,
and click \gui{Next}.
and click \gui Next or \gui Continue.
\note If only one kit is specified in \gui Tools > \gui Options >
\gui {Build & Run} > \gui Kits, this dialog is
......@@ -81,14 +82,14 @@
\note The \gui{Header file}, \gui{Source file} and \gui{Form file}
fields are automatically updated to match the name of the class.
\o Click \gui{Next}.
\o Click \gui Next or \gui Continue.
The \gui{Project Management} dialog opens.
\image qtcreator-new-project-summary-qt-gui.png "Project Management dialog"
\o Review the project settings, and click \gui{Finish} to create the
project.
\o Review the project settings, and click \gui{Finish} (on Windows and
Linux) or \gui Done (on Mac OS) to create the project.
\endlist
......@@ -155,9 +156,10 @@
\image qtcreator-textfinder-objectname.png "Changing object names"
\o Press \key {Ctrl+A} to select the widgets and click
\gui{Lay out Horizontally} (or press \gui{Ctrl+H}) to apply a
horizontal layout (QHBoxLayout).
\o Press \key {Ctrl+A} (or \key {Cmd+A}) to select the widgets and
click \gui{Lay out Horizontally} (or press \gui{Ctrl+H} on Linux or
Windows or \key {Ctrl+Shift+H} on Mac OS) to apply a horizontal
layout (QHBoxLayout).
\image qtcreator-texfinder-ui-horizontal-layout.png "Applying horizontal layout"
......@@ -192,7 +194,7 @@
\endlist
\o Press \gui{Ctrl+S} to save your changes.
\o Press \gui{Ctrl+S} (or \key {Cmd+S}) to save your changes.
\endlist
......@@ -289,7 +291,7 @@
\o In the \gui{Name} field, enter \bold{textfinder}.
\o In the \gui{Path} field, enter \c{C:\Qt\examples\TextFinder},
and click \gui{Next}.
and click \gui Next or \gui Continue.
The \gui{Project Management} dialog opens.
......@@ -297,7 +299,8 @@
\o In the \gui{Add to project} field, select \bold{TextFinder.pro}
and click \gui{Finish} to open the file in the code editor.
and click \gui{Finish} or \gui Done to open the file in the code
editor.
\o Select \gui{Add > Add Prefix}.
......
......@@ -3,8 +3,8 @@
# Prepend a copyright header to all files given on the command line.
# Sample usage:
# find . -type f -name \*.cpp -o -name \*.h | \
# xargs ~/bin/hasCopyright.sh | grep ": NO COPYRIGHT" | grep "^./src/" | \
# cut -d ':' -f1 | xargs ~/bin/fixCopyright.sh /tmp/copyright.txt
# xargs ~/bin/hasCopyright.pl | grep ": No copyright, NOK" | grep "^./src/" | \
# cut -d ':' -f1 | xargs ~/bin/fixCopyright.sh dist/copyright_template.txt
COPYRIGHT_HEADER=$1
......
#!/usr/bin/perl -w
# Report possible problems with copy right headers
#
# Sample usage:
# find . -type f | xargs ./scripts/hasCopyright.pl
use strict;
shift; # remove script
sub canIgnoreNoCopyright {
my $file = shift;
return 1 if ($file =~ /\.png$/ or
$file =~ /\.ico$/ or
$file =~ /\.svg$/ or
$file =~ /\.xpm$/ or
$file =~ /\.dia$/ or
$file =~ /\/Doxyfile$/ or
$file =~ /\.qmlproject$/ or
$file =~ /\.pr[oi]$/ or
$file =~ /\.qbs$/ or
$file =~ /\.qrc$/ or
$file =~ /\.txt$/i or
$file =~ /\/README[^\/]*$/i or
$file =~ /\/LICENSE.LGPL$/i or
$file =~ /\.ui$/i or
$file =~ /\.xml$/ or
$file =~ /\.css$/ or
$file =~ /\.metainfo$/ or
$file =~ /\.json$/ or
$file =~ /\.pl$/ or
$file =~ /\.py$/ or
$file =~ /\.sh$/ or
$file =~ /\.bat$/ or
$file =~ /\.patch$/ or
$file =~ /\.sed$/ or
$file =~ /\.pro\.user$/ or
$file =~ /\.plist$/ or
$file =~ /\.qdocconf$/i or
$file =~ /\.qdocinc/);
return 0;
}
while (1) {
my $file = shift;
last unless $file;
my $hasCopyright = 0;
my $hasCurrent = 0;
my $hasContact = 0;
my $hasCommercial = 0;
my $hasLGPL = 0;
my $hasGPL = 0;
my $hasDigia = 0;
my $linecount = 0;
if ($file !~ /\.png$/) {
open(my $fh, "<", $file) or die "Could not open $file.\n";
while (<$fh>) {
$linecount++;
last if ($linecount > 50);
$hasCopyright = 1 if $_ =~ /Copyright/i;
$hasCurrent = 1 if $_ =~ /\(c\).*\s2012/i;
$hasContact = 1 if $_ =~ /Contact: http:\/\/www.qt-project.org\/legal/;
$hasCommercial = 1 if $_ =~ /Commercial License Usage/;
$hasDigia = 1 if $_ =~ /Digia Plc/;
$hasLGPL = 1 if $_ =~ /GNU Lesser General Public License Usage/;
$hasGPL = 1 if $_ =~ /GNU General Public License Usage/;
}
close $fh;
}
unless ($hasCopyright) {
print "$file\t";
if (canIgnoreNoCopyright($file)) {
print "Warning\t";
} else {
print "ERROR\t";
}
print "No copyright\n";
next;
}
unless ($hasCurrent) {
print "$file\tERROR\tcopyright outdated\n";
next;
}
unless ($hasDigia) {
print "$file\tERROR\tNo digia\n";
next;
}
unless ($hasContact) {
print "$file\tERROR\tWrong contact\n";
next;
}
unless ($hasCommercial) {
print "$file\tERROR\tNo commercial license\n";
next;
}
unless ($hasLGPL) {
print "$file\tERROR\tNo LGPL license\n";
next;
}
if ($hasGPL) {
print "$file\tERROR\tHas GPL license\n";
next;
}
print "$file\tinfo\tCopyright OK\n";
} # loop over files
exit 0;
#!/bin/sh
# Scan files given on the command line for a copyright header.
# Only the first 15 lines will be examined and must contain the
# string 'Copyright'.
#
# Sample usage:
# find . -type f -name \*.cpp -o -name \*.h | xargs ./scripts/hasCopyright.sh
for i in "$@" ; do
if test -f "$i" && test -s "$i" ; then
if head -n 35 "$1" | grep "info@qt.nokia.com" > /dev/null 2>&1 ; then
echo "$i: OLD EMAIL IN USE!"
elif head -n 35 "$i" | grep Copyright > /dev/null 2>&1 ; then
if head -n 35 "$i" | grep "GNU Lesser General Public License" > /dev/null 2>&1 &&
head -n 35 "$i" | grep "Other Usage" > /dev/null 2>&1 ; then
echo "$i: Copyright ok"
else
echo "$i: WRONG COPYRIGHT"
fi
else
echo "$i: NO COPYRIGHT"
fi
fi
done
......@@ -1670,7 +1670,7 @@ class Dumper:
self.putNumChild(0)
return
if (typeName.replace("(anonymous namespace)", "").find("(") != -1):
if innerType.code == MethodCode or innerType.code == FunctionCode:
# A function pointer with format None.
self.putValue(str(value))
self.putAddress(value.address)
......
......@@ -657,7 +657,7 @@ def qdump__QMapNode(d, value):
d.putSubItem("value", value["value"])
def qdumpHelper__QMap(d, value, forceLong):
def qdumpHelper__Qt4_QMap(d, value, forceLong):
d_ptr = value["d"].dereference()
e_ptr = value["e"].dereference()
n = d_ptr["size"]
......@@ -667,8 +667,8 @@ def qdumpHelper__QMap(d, value, forceLong):
d.putItemCount(n)
d.putNumChild(n)
if d.isExpanded():
if n > 1000:
n = 1000
if n > 10000:
n = 10000
keyType = templateArgument(value.type, 0)
valueType = templateArgument(value.type, 1)
......@@ -706,6 +706,66 @@ def qdumpHelper__QMap(d, value, forceLong):
it = it.dereference()["forward"].dereference()
def qdumpHelper__Qt5_QMap(d, value, forceLong):
d_ptr = value["d"].dereference()
n = d_ptr["size"]
check(0 <= n and n <= 100*1000*1000)
checkRef(d_ptr["ref"])
d.putItemCount(n)
d.putNumChild(n)
if d.isExpanded():
if n > 10000:
n = 10000
keyType = templateArgument(value.type, 0)
valueType = templateArgument(value.type, 1)
isCompact = mapCompact(d.currentItemFormat(), keyType, valueType)
nodeType = lookupType(d.ns + "QMapNode<%s, %s>" % (keyType, valueType))
if isCompact:
innerType = valueType
else:
innerType = nodeType
with Children(d, n, childType=innerType):
toDo = []
i = -1
node = d_ptr["header"]
left = node["left"]
if not isNull(left):
toDo.append(left.dereference())
right = node["right"]
if not isNull(right):
toDo.append(right.dereference())
while len(toDo):
node = toDo[0].cast(nodeType)
toDo = toDo[1:]
left = node["left"]
if not isNull(left):
toDo.append(left.dereference())
right = node["right"]
if not isNull(right):
toDo.append(right.dereference())
i += 1
with SubItem(d, i):
if isCompact:
if forceLong:
d.putName("[%s] %s" % (i, node["key"]))
else:
d.putMapName(node["key"])
d.putItem(node["value"])
else:
qdump__QMapNode(d, node)
def qdumpHelper__QMap(d, value, forceLong):
if value["d"].dereference().type.fields()[0].name == "backward":
qdumpHelper__Qt4_QMap(d, value, forceLong)
else:
qdumpHelper__Qt5_QMap(d, value, forceLong)
def qform__QMap():
return mapForms()
......@@ -738,7 +798,10 @@ def qdump__QObject(d, value):
staticMetaObject = value["staticMetaObject"]
d_ptr = value["d_ptr"]["d"].cast(privateType.pointer()).dereference()
#warn("D_PTR: %s " % d_ptr)
objectName = d_ptr["objectName"]
try:
objectName = d_ptr["objectName"]
except: # Qt 5
objectName = d_ptr["extraData"].dereference()["objectName"]
except:
d.putPlainChildren(value)
return
......
......@@ -14,8 +14,8 @@
<publisher>PUBLISHER</publisher>
<copyright>COPYRIGHT</copyright>
<env var="QML_IMPORT_PATH" value="app/native/imports"/>
<env var="QT_PLUGIN_PATH" value="app/native/plugins"/>
<env var="LD_LIBRARY_PATH" value="app/native/lib"/>
<env var="QT_PLUGIN_PATH" value="app/native/plugins:/usr/lib/qt4/plugins"/>
<env var="LD_LIBRARY_PATH" value="app/native/lib:/usr/lib/qt4/lib/"/>
<arg>-platform</arg>
<arg>blackberry</arg>
<arg>-style</arg>
......@@ -25,9 +25,4 @@
<!-- PROJECTPATH should point to the project binary, path can be relative -->
<asset entry="true" path="PROJECTPATH" type="Qnx/Elf">PROJECTNAME</asset>
<!-- These values will be replaced when deploying in Qt Creator -->
<asset path="%QT_INSTALL_LIBS%">lib</asset>
<asset path="%QT_INSTALL_PLUGINS%">plugins</asset>
<asset path="%QT_INSTALL_IMPORTS%">imports</asset>
</qnx>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment