Commit 03717cf7 authored by Eike Ziller's avatar Eike Ziller
Browse files

Merge remote-tracking branch 'origin/2.6'

Conflicts:
	src/plugins/debugger/gdb/gdboptionspage.cpp
	src/plugins/fakevim/fakevimoptions.ui
	src/share/share.qbs

Change-Id: Ic45b68ba7b1cc1b780be4271ba4ee939e6055b80
parents aa0dc33d 4510d1ef
[Paths]
Imports = ../..
Plugins = ../../../PlugIns
......@@ -5,7 +5,7 @@ headerdirs =
sourcedirs = $SRCDIR/src
imagedirs = $SRCDIR/images $SRCDIR/templates/images
outputdir = $OUTDIR
exampledirs = $SRCDIR
exampledirs = $SRCDIR/examples
indexes = qt.index
include(compat.qdocconf)
......
......@@ -4523,9 +4523,6 @@
<contents name="implicit-sharing-in-detail" title="Implicit Sharing in Detail" level="1"/>
<contents name="list-of-classes" title="List of Classes" level="1"/>
</page>
<page access="public" status="commendable" name="index.html" href="index.html" subtype="page" title="" fulltitle="" subtitle="" location="index.qdoc">
<keyword name="qt-reference-documentation"/>
</page>
<page access="public" status="commendable" name="install-Symbian-installer.html" href="install-symbian-installer.html" subtype="page" title="Installing Qt for the Symbian platform from a Binary Package" fulltitle="Installing Qt for the Symbian platform from a Binary Package" subtitle="" location="installation.qdoc"/>
<page access="public" status="commendable" name="install-Symbian.html" href="install-symbian.html" subtype="page" title="Installing Qt for the Symbian Platform" fulltitle="Installing Qt for the Symbian Platform" subtitle="" location="installation.qdoc">
<contents name="step-1-set-up-the-development-environment" title="Step 1: Set Up the Development Environment" level="1"/>
......@@ -39,32 +39,19 @@
\image qtcreator-gs-build-example-open.png "Selecting an example"
\o Search for \gui {Toys: Clocks Example} (2) in the list of examples
and select it (3).
\o Select an example in the list of examples. You can also search for
examples (2).
\note The project opens in the \gui Edit mode, and the documentation
for the example hides these instructions. To return to these
instructions, select \gui {Previous Page} on the toolbar or
press \key {Alt+Left}.
\o Select \gui Projects to configure the project:
\image qtcreator-gs-build-example-targets.png "Selecting kit for building and running"
\list 1
\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 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-kit-selector.png "Selecting a kit to build with"
\image qtcreator-gs-build-example-kit-selector.png "Selecting a kit to build with"
\o Click
\inlineimage qtcreator-run.png
......
......@@ -207,7 +207,7 @@
The qml.main file should now look as follows:
\snippet examples/transitions/qml/Transitions/main.qml 0
\snippet transitions/qml/Transitions/main.qml 0
\o In the \gui Navigator pane, copy topLeftRect (by pressing
\key {Ctrl+C}) and paste it to the canvas twice (by pressing
......@@ -259,7 +259,7 @@
The qml.main file should now look as follows:
\snippet examples/transitions/qml/Transitions/main.qml 1
\snippet transitions/qml/Transitions/main.qml 1
\endlist
......@@ -360,6 +360,6 @@
When you have completed the steps, the main.qml file should look as follows:
\snippet examples/transitions/qml/Transitions/main.qml 2
\snippet transitions/qml/Transitions/main.qml 2
*/
......@@ -216,7 +216,7 @@
\c{Ui::TextFinder} pointer, as illustrated by the following code
snippet:
\snippet examples/textfinder/textfinder.h 0
\snippet textfinder/textfinder.h 0
\endlist
......@@ -236,12 +236,12 @@
{setPlainText()}.
This is illustrated by the following code snippet:
\snippet examples/textfinder/textfinder.cpp 0
\snippet textfinder/textfinder.cpp 0
\o To use QFile and QTextStream, add the following #includes to
textfinder.cpp:
\snippet examples/textfinder/textfinder.cpp 1
\snippet textfinder/textfinder.cpp 1
\o For the \c{on_findButton_clicked()} slot, add code to extract the
search string and use the
......@@ -250,13 +250,13 @@
to look for the search string within the text file. This is
illustrated by the following code snippet:
\snippet examples/textfinder/textfinder.cpp 2
\snippet textfinder/textfinder.cpp 2
\o Once both of these functions are complete, add a line to call
\c{loadTextFile()} in the constructor, as illustrated by the
following code snippet:
\snippet examples/textfinder/textfinder.cpp 3
\snippet textfinder/textfinder.cpp 3
\endlist
......
......@@ -87,13 +87,13 @@
\o To check the paths used in the Qwt library, enter the following
\c otool command:
\snippet examples/doc_src_plugins.qdoc 0
\snippet doc_src_plugins.qdoc 0
The output for Qwt 5.2.1 indicates that the plugin uses Qt core
libraries (QtDesigner, QtScript, QtXml, QtGui and QtCore) and
libqwt.5.dylib:
\snippet examples/doc_src_plugins.qdoc 1
\snippet doc_src_plugins.qdoc 1
\o You must copy the \QD plugin and the Qwt library files to the
......@@ -110,21 +110,21 @@
Enter the following commands:
\snippet examples/doc_src_plugins.qdoc 4
\snippet doc_src_plugins.qdoc 4
\o Enter the following \c otool command to check the libraries that are
used by the Qwt library:
\snippet examples/doc_src_plugins.qdoc 2
\snippet doc_src_plugins.qdoc 2
The command returns the following output:
\snippet examples/doc_src_plugins.qdoc 3
\snippet doc_src_plugins.qdoc 3
\o Enter the following \c install_name_tool command to fix the
references of the libraries:
\snippet examples/doc_src_plugins.qdoc 5
\snippet doc_src_plugins.qdoc 5
\endlist
......
......@@ -21,4 +21,4 @@ test -d "$qmlpuppetResources" || mkdir -p "$qmlpuppetResources"
cp "$(dirname "${BASH_SOURCE[0]}")/../dist/installer/mac/qmlpuppet_qt.conf" "$qmlpuppetResources/qt.conf" || exit 1
# copy Qt translations
cp "$2"/qt_*.qm "$1/Contents/Resources/translations/" || exit 1
cp "$2"/*.qm "$1/Contents/Resources/translations/" || exit 1
......@@ -95,7 +95,8 @@ DATA_FILES_SRC = \
externaltools/lrelease.xml \
externaltools/lupdate.xml \
externaltools/sort.xml \
externaltools/qmlviewer.xml
externaltools/qmlviewer.xml \
externaltools/qmlscene.xml
unix {
macx:DATA_FILES_SRC += externaltools/vi_mac.xml
else:DATA_FILES_SRC += externaltools/vi.xml
......
......@@ -22,17 +22,15 @@ class QtQuick2ApplicationViewerPrivate
QString QtQuick2ApplicationViewerPrivate::adjustPath(const QString &path)
{
#ifdef Q_OS_UNIX
#ifdef Q_OS_MAC
#if defined(Q_OS_MAC)
if (!QDir::isAbsolutePath(path))
return QString::fromLatin1("%1/../Resources/%2")
.arg(QCoreApplication::applicationDirPath(), path);
#elif !defined(Q_OS_ANDROID)
#elif defined(Q_OS_UNIX)
const QString pathInInstallDir =
QString::fromLatin1("%1/../%2").arg(QCoreApplication::applicationDirPath(), path);
if (QFileInfo(pathInInstallDir).exists())
return pathInInstallDir;
#endif
#endif
return path;
}
......@@ -43,10 +41,6 @@ QtQuick2ApplicationViewer::QtQuick2ApplicationViewer(QWindow *parent)
{
connect(engine(), SIGNAL(quit()), SLOT(close()));
setResizeMode(QQuickView::SizeRootObjectToView);
#ifdef Q_OS_ANDROID
engine()->setBaseUrl(QUrl::fromLocalFile("/"));
#endif
}
QtQuick2ApplicationViewer::~QtQuick2ApplicationViewer()
......
......@@ -13,18 +13,6 @@
<description><![CDATA[This tutorial uses basic elements and illustrates basic concepts of Qt Quick.]]></description>
<tags>qt quick,qml,states,transitions,visual designer,qt creator</tags>
</tutorial>
<tutorial imageUrl="images/icons/components.png" difficulty="" docUrl="qthelp://com.nokia.qtcreator/doc/creator-qml-components-example.html" projectPath="" name="Qt Quick Components">
<description><![CDATA[This tutorial describes how to use Qt Creator to create a small Qt application, Battery Status, that uses the System Information Mobility API to fetch battery information from the device. ]]></description>
<tags>qt quick,qml,components,symbian,visual designer,qt creator</tags>
</tutorial>
<tutorial imageUrl="images/icons/developing_with_qt_creator.png" difficulty="" projectPath="" name="Qt SDK 1.1: Developing with Nokia's Qt Creator" isVideo="true" videoUrl="http://youtu.be/h0TxFBCyMWo" videoLength="3:40">
<description><![CDATA[Lauri Jääskelä from Forum Nokia gives you a kick-start with Qt SDK 1.1 and Qt Quick. ]]></description>
<tags>qt sdk,qt creator</tags>
</tutorial>
<tutorial imageUrl="images/icons/qt_sdk.png" difficulty="" projectPath="" name="Qt SDK 1.1" isVideo="true" videoUrl="http://youtu.be/n-lPFyqG6Vs" videoLength="3:31">
<description><![CDATA[Christian D. Kamm, software engineer at Nokia, Qt Development Frameworks, introduces the new features delivered in the Qt SDK 1.1. Christian discusses the capabilities of Qt Quick and the Qt Mobility APIs.]]></description>
<tags>qt sdk,qt creator,qt quick</tags>
</tutorial>
<tutorial imageUrl="images/icons/qt_quick_1.png" difficulty="" projectPath="" name="Qt Quick Elements, Part 1" isVideo="true" videoUrl="http://youtu.be/vGIVWfLVZLM" videoLength="5:04">
<description><![CDATA[In this video Nigel Hietala describes how QML Elements are used. Nigel creates a new Qt Quick based application project using Qt SDK, shows how a basic UI is built using elements and is previewed in the Qt Quick viewer.]]></description>
<tags>qt quick,qml,qt sdk,qt creator</tags>
......@@ -41,17 +29,41 @@
<description><![CDATA[All you need to start with Qt Creator - a cross-platform IDE Are you developing cross-platform applications with Qt, but are missing a cross-platform development environment?]]></description>
<tags>qt sdk,qt creator</tags>
</tutorial>
<tutorial imageUrl="images/icons/ddays10.png" difficulty="" projectPath="" name="Qt Quick - Rapid User Interface Prototyping" isVideo="true" videoUrl="http://developer.qt.nokia.com/videos/watch/qt_quick_rapid_user_interface_prototyping" videoLength="1:09:53">
<tutorial imageUrl="images/icons/ddays11.png" difficulty="" projectPath="" name="Qt Quick - Rapid User Interface Prototyping" isVideo="true" videoUrl="http://qt-project.org/videos/watch/using-qt-quick-for-rapid-ui-prototyping-and-development" videoLength="55:47">
<description><![CDATA[Skip Flash & PhotoShop. Go straight to Qt Quick! Creating an application with a great user experience is a challenge. Traditionally a lot of effort goes into upfront design where tools such as Flash or PhotoShop are used to prototype ideas.]]></description>
<tags>qt quick,qml,qt sdk,qt creator</tags>
</tutorial>
<tutorial imageUrl="images/icons/ddays10.png" difficulty="" projectPath="" name="Qt Creator! Getting the Most out" isVideo="true" videoUrl="http://developer.qt.nokia.com/videos/watch/getting_the_most_out_of_qt_creator" videoLength="1:16:27">
<description><![CDATA[A quick intro plus hidden wonders! In this session, we will provide a very quick introduction to Qt Creator, then dive into the hidden wonders of this powerful and easy-to-use cross-platform Qt IDE.]]></description>
<tags>qt sdk,qt creator</tags>
</tutorial>
<tutorial imageUrl="images/icons/ddays10.png" difficulty="" projectPath="" name="Meet Qt Quick" isVideo="true" videoUrl="http://developer.qt.nokia.com/videos/watch/meet_qt_quick" videoLength="1:08:24">
<description><![CDATA[The fundamental elements behind Qt Quick and how to quickly create fluid, animated user interfaces! Qt Quick is a set of technologies that makes it easier for developers and designers to create modern and attractive UIs.]]></description>
<tags>qt quick, qml</tags>
</tutorial>
<tutorial imageUrl="images/icons/ddays11.png" difficulty="" projectPath="" name="What’s new in QtQuick 2.0" isVideo="true" videoUrl="http://qt-project.org/videos/watch/whats-new-in-qtquick-2.0" videoLength="46:10">
<description><![CDATA[Qt Quick 1.0 brought a suite of technologies to make it easy for designers and developers to easily create fluid animated interfaces. QtQuick 2.0 takes this further with the introduction of a built-in Scene Graph rendering system and more.]]></description>
<tags>qt quick, qml</tags>
</tutorial>
<tutorial imageUrl="images/icons/ddays11.png" difficulty="" projectPath="" name="Qt Quick Best Practices and Design Patterns" isVideo="true" videoUrl="http://qt-project.org/videos/watch/qt-quick-best-practices-and-design-patterns" videoLength="48:51">
<description><![CDATA[This talk discusses various QML best practices and design patterns for building powerful and scalable Qt Quick applications with QML and C++ code.]]></description>
<tags>qt quick, qml</tags>
</tutorial>
<tutorial imageUrl="images/icons/ddays11.png" difficulty="" projectPath="" name="Meet Qt and Qt Quick" isVideo="true" videoUrl="http://qt-project.org/videos/watch/qt-quick-best-practices-and-design-patterns" videoLength="1:07:43">
<description><![CDATA[Are you fully aware of all you can really accomplish with Qt and Qt Quick? We’ll take you beyond the benefits of Qt and Qt Quick from a marketing standpoint and dive into the technical aspects of what they are and how they work together.]]></description>
<tags>qt quick, qml</tags>
</tutorial>
<tutorial imageUrl="images/icons/ddays12.png" difficulty="" projectPath="" name="What is New in QtWebKit in 5.0" isVideo="true" videoUrl="http://www.youtube.com/watch?v=xEuapSGxaeU" videoLength="1:01:55">
<description><![CDATA[The web platform continues to evolve at breakneck speed. With our WebKit port to Qt 5 we are bringing these latest web technologies to the Qt world.]]></description>
<tags>qt, webkit</tags>
</tutorial>
<tutorial imageUrl="images/icons/ddays12.png" difficulty="" projectPath="" name="Qt Creator 101" isVideo="true" videoUrl="http://www.youtube.com/watch?v=s7PgHmuFaGY" videoLength="55:38">
<description><![CDATA[The presentation provides a short introduction into Qt Creator, demonstrates targeting different environments from within the IDE and highlights new features found in Qt Creator 2.6.]]></description>
<tags>qt creator</tags>
</tutorial>
<tutorial imageUrl="images/icons/ddays12.png" difficulty="" projectPath="" name="Qt 5 Roadmap" isVideo="true" videoUrl="http://www.youtube.com/watch?v=3QgG9oYhH-c" videoLength="1:01:43">
<description><![CDATA[Qt 5.0 is a major step forward for Qt. It includes many new features and forms a great basis for the years to come. The talk gives an overview over these, as well as an outlook towards upcoming Qt release.]]></description>
<tags>qt 5, qt</tags>
</tutorial>
<tutorial imageUrl="images/icons/ddays12.png" difficulty="" projectPath="" name="QML Coding, Performance and Debugging: Usage of Tools" isVideo="true" videoUrl="http://www.youtube.com/watch?v=mPXn6L2Wftc" videoLength="53:52">
<description><![CDATA[The presentation shows the usage of the various QtQuick tools. The Editor provides code navigation, code completion and validation and context help, among other features.]]></description>
<tags>qt quick, qml, qt creator</tags>
</tutorial>
</tutorials>
</instructionals>
......@@ -629,8 +629,7 @@ std::string SymbolGroupValue::pointedToSymbolName(ULONG64 address, const std::st
* (due to the amiguities and artifacts that appear like 'QGuid4!qstrdup'). */
static inline std::string resolveQtSymbol(const char *symbolC,
const char *defaultModuleNameC,
const char *modulePatternC,
const char *moduleNameC,
const SymbolGroupValueContext &ctx)
{
enum { debugResolveQtSymbol = 0 };
......@@ -638,13 +637,20 @@ static inline std::string resolveQtSymbol(const char *symbolC,
typedef StringList::const_iterator StringListConstIt;
if (debugResolveQtSymbol)
DebugPrint() << ">resolveQtSymbol" << symbolC << " def=" << defaultModuleNameC << " defModName="
<< defaultModuleNameC << " modPattern=" << modulePatternC;
const SubStringPredicate modulePattern(modulePatternC);
// First try a match with the default module name 'QtCored4!qstrdup' for speed reasons
DebugPrint() << ">resolveQtSymbol" << symbolC << " def=" << moduleNameC << " defModName="
<< moduleNameC;
const SubStringPredicate modulePattern(moduleNameC);
// First try a match with the default module name 'QtCored4!qstrdup' or
// 'Qt5Cored!qstrdup' for speed reasons.
for (int qtVersion = 4; qtVersion < 6; qtVersion++) {
std::ostringstream str;
str << defaultModuleNameC << qtVersion << '!' << symbolC;
str << "Qt";
if (qtVersion >= 5)
str << qtVersion;
str << moduleNameC << 'd';
if (qtVersion == 4)
str << qtVersion;
str << '!' << symbolC;
const std::string defaultPattern = str.str();
const StringList defaultMatches = SymbolGroupValue::resolveSymbolName(defaultPattern.c_str(), ctx);
if (debugResolveQtSymbol)
......@@ -685,7 +691,7 @@ const QtInfo &QtInfo::get(const SymbolGroupValueContext &ctx)
do {
// Lookup qstrdup() to hopefully get module (potential libinfix) and namespace
// Typically, this resolves to 'QtGuid4!qstrdup' and 'QtCored4!qstrdup'...
const std::string qualifiedSymbol = resolveQtSymbol("qstrdup", "QtCored", "Core", ctx);
const std::string qualifiedSymbol = resolveQtSymbol("qstrdup", "Core", ctx);
const std::string::size_type libPos = qualifiedSymbol.find("Core");
const std::string::size_type exclPos = qualifiedSymbol.find('!'); // Resolved: 'QtCored4!qstrdup'
if (libPos == std::string::npos || exclPos == std::string::npos) {
......
......@@ -582,13 +582,16 @@ QAction *AnalyzerManagerPrivate::actionFromToolAndMode(IAnalyzerTool *tool, Star
void AnalyzerManagerPrivate::selectSavedTool()
{
const QSettings *settings = ICore::settings();
const Id lastActiveAction(settings->value(QLatin1String(LAST_ACTIVE_TOOL)).toString());
foreach (QAction *action, m_actions) {
IAnalyzerTool *tool = m_toolFromAction.value(action);
StartMode mode = m_modeFromAction.value(action);
if (tool->actionId(mode) == lastActiveAction) {
selectTool(tool, mode);
return;
if (settings->contains(QLatin1String(LAST_ACTIVE_TOOL))) {
const Id lastActiveAction(settings->value(QLatin1String(LAST_ACTIVE_TOOL)).toString());
foreach (QAction *action, m_actions) {
IAnalyzerTool *tool = m_toolFromAction.value(action);
StartMode mode = m_modeFromAction.value(action);
if (tool->actionId(mode) == lastActiveAction) {
selectTool(tool, mode);
return;
}
}
}
// fallback to first available tool
......
......@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>392</width>
<height>303</height>
<width>649</width>
<height>337</height>
</rect>
</property>
<property name="windowTitle">
......@@ -103,26 +103,13 @@
</widget>
</item>
<item row="0" column="2">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>213</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0">
<widget class="QLabel" name="timeoutSecondsLabel">
<property name="text">
<string>Timeout:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<item row="0" column="3">
<widget class="QSpinBox" name="timeout">
<property name="suffix">
<string>s</string>
......@@ -132,7 +119,20 @@
</property>
</widget>
</item>
<item row="2" column="0" colspan="3">
<item row="0" column="4">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>213</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0" colspan="2">
<widget class="QCheckBox" name="promptOnSubmitCheckBox">
<property name="text">
<string>Prompt on submit</string>
......
......@@ -414,8 +414,11 @@ void CMakeRunConfigurationWidget::setWorkingDirectory()
void CMakeRunConfigurationWidget::workingDirectoryChanged(const QString &workingDirectory)
{
if (!m_ignoreChange)
if (!m_ignoreChange) {
m_ignoreChange = true;
m_workingDirectoryEdit->setPath(workingDirectory);
m_ignoreChange = false;
}
}
void CMakeRunConfigurationWidget::resetWorkingDirectory()
......
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