Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • tohunger/qt-creator
1 result
Show changes
Commits on Source (34)
Showing
with 87324 additions and 7554 deletions
The QtCreator 1.2.1 release is a bug fix release and updates translations.
Below is a list of relevant changes. You can find a complete list of changes
within the logs of Qt Creator's sources. Simply check it out from the public git
repository e.g.,
git clone git://gitorious.org/qt-creator/qt-creator.git
git log --pretty=oneline v1.2.0..v1.2.1
Building and Running
* Fixed crash when clicking on the Build Settings tab with an invalid Qt version.
* Fixed crash when removing an active .pro file outside Qt Creator.
Editor
* Fixed crash when completing function-like arguments
Debugging
* Fixed problem with GDB debugging after first debugging run
* Fixed display of debugging helper status in some cases
* Disallow starting CDB debugger more than once
* Additional debug output for the CDB debugger
* Make loading debugging helpers more reliable with GDB
* Fixed regression in QVariant dumper
* Removed QtGui dependency from debugging helpers
* Made it possible to build the debugging helpers for Qt 4.4 again
I18N:
* Fixed Russian translation
BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
font-family: Arial, Geneva, Helvetica, sans-serif;
}
H1 {
text-align: center;
font-size: 160%;
}
H2 {
font-size: 120%;
}
H3 {
font-size: 100%;
}
h3.fn,span.fn h3.fn,span.fn
{ {
margin-left: 1cm; background-color: #eee;
text-indent: -1cm; border-width: 1px;
border-style: solid;
border-color: #ddd;
font-weight: bold;
padding: 6px 0px 6px 10px;
margin: 42px 0px 0px 0px;
}
hr {
border: 0;
color: #a0a0a0;
background-color: #ccc;
height: 1px;
width: 100%;
text-align: left;
margin: 34px 0px 34px 0px;
}
table.valuelist {
border-width: 1px 1px 1px 1px;
border-style: solid;
border-color: #dddddd;
border-collapse: collapse;
background-color: #f0f0f0;
}
table.indextable {
border-width: 1px 1px 1px 1px;
border-collapse: collapse;
background-color: #f0f0f0;
border-color:#555;
font-size: 110%;
}
table td.largeindex {
border-width: 1px 1px 1px 1px;
border-collapse: collapse;
background-color: #f0f0f0;
border-color:#555;
font-size: 120%;
}
table.valuelist th {
border-width: 1px 1px 1px 2px;
padding: 4px;
border-style: solid;
border-color: #666;
color:white;
background-color:#666;
}
th.titleheader {
border-width: 1px 0px 1px 0px;
padding: 4px;
border-style: solid;
border-color: #444;
color:white;
background-color:#555555;
font-size: 110%;
}
th.largeheader {
border-width: 1px 0px 1px 0px;
padding: 4px;
border-style: solid;
border-color: #444;
color:white;
background-color:#555555;
font-size: 120%;
}
p {
margin-left: 4px;
margin-top: 8px;
margin-bottom: 8px;
} }
a:link a:link
{ {
color: #004faf; color: #0046ad;
text-decoration: none text-decoration: none
} }
...@@ -16,14 +105,28 @@ a:visited ...@@ -16,14 +105,28 @@ a:visited
text-decoration: none text-decoration: none
} }
td.postheader a.obsolete
{
color: #661100;
text-decoration: none
}
a.compat
{
color: #661100;
text-decoration: none
}
a.obsolete:visited
{ {
font-family: sans-serif color: #995500;
text-decoration: none
} }
tr.address a.compat:visited
{ {
font-family: sans-serif color: #995500;
text-decoration: none
} }
body body
...@@ -32,6 +135,34 @@ body ...@@ -32,6 +135,34 @@ body
color: black color: black
} }
table.generic, table.annotated
{
border-width: 1px;
border-color:#bbb;
border-style:solid;
border-collapse:collapse;
}
table td.memItemLeft {
width: 180px;
padding: 2px 0px 0px 8px;
margin: 4px;
border-width: 1px;
border-color: #E0E0E0;
border-style: none;
font-size: 100%;
white-space: nowrap
}
table td.memItemRight {
padding: 2px 8px 0px 8px;
margin: 4px;
border-width: 1px;
border-color: #E0E0E0;
border-style: none;
font-size: 100%;
}
table tr.odd { table tr.odd {
background: #f0f0f0; background: #f0f0f0;
color: black; color: black;
...@@ -53,17 +184,17 @@ table.annotated td { ...@@ -53,17 +184,17 @@ table.annotated td {
table tr pre table tr pre
{ {
padding-top: none; padding-top: 0px;
padding-bottom: none; padding-bottom: 0px;
padding-left: none; padding-left: 0px;
padding-right: none; padding-right: 0px;
border: none; border: none;
background: none background: none
} }
tr.qt-style tr.qt-style
{ {
background: #a2c511; background: #96E066;
color: black color: black
} }
...@@ -75,6 +206,14 @@ body pre ...@@ -75,6 +206,14 @@ body pre
color: black color: black
} }
table tr.qt-code pre
{
padding: 0.2em;
border: #e7e7e7 1px solid;
background: #f1f1f1;
color: black
}
span.preprocessor, span.preprocessor a span.preprocessor, span.preprocessor a
{ {
color: darkblue; color: darkblue;
...@@ -91,6 +230,11 @@ span.string,span.char ...@@ -91,6 +230,11 @@ span.string,span.char
color: darkgreen; color: darkgreen;
} }
.title
{
text-align: center
}
.subtitle .subtitle
{ {
font-size: 0.8em font-size: 0.8em
...@@ -100,3 +244,52 @@ span.string,span.char ...@@ -100,3 +244,52 @@ span.string,span.char
{ {
font-size: 0.65em font-size: 0.65em
} }
.qmlitem {
padding: 0;
}
.qmlname {
white-space: nowrap;
font-weight: bold;
font-size: 125%;
}
.qmltype {
font-weight: bold;
font-size: 125%;
}
.qmlproto, .qmldoc {
// border-top: 1px solid #84b0c7;
}
.qmlproto {
padding: 0;
//background-color: #e4e4e4;//#d5e1e8;
//font-weight: bold;
//-webkit-border-top-left-radius: 8px;
//-webkit-border-top-right-radius: 8px;
//-moz-border-radius-topleft: 8px;
//-moz-border-radius-topright: 8px;
}
.qmldoc {
border-top: 1px solid #e4e4e4;
//padding: 2px 5px;
//background-color: #eef3f5;
//border-top-width: 0;
//-webkit-border-bottom-left-radius: 8px;
//-webkit-border-bottom-right-radius: 8px;
//-moz-border-radius-bottomleft: 8px;
//-moz-border-radius-bottomright: 8px;
}
.qmldoc p, .qmldoc dl, .qmldoc ul {
//margin: 6px 0;
}
*.qmlitem p {
//margin-top: 0px;
//margin-bottom: 0px;
}
doc/images/qtcreator-screenshots.png

243 KiB | W: 0px | H: 0px

doc/images/qtcreator-screenshots.png

81.2 KiB | W: 0px | H: 0px

doc/images/qtcreator-screenshots.png
doc/images/qtcreator-screenshots.png
doc/images/qtcreator-screenshots.png
doc/images/qtcreator-screenshots.png
  • 2-up
  • Swipe
  • Onion skin
doc/images/qtcreator-session-manager.png

43.6 KiB | W: 0px | H: 0px

doc/images/qtcreator-session-manager.png

31.4 KiB | W: 0px | H: 0px

doc/images/qtcreator-session-manager.png
doc/images/qtcreator-session-manager.png
doc/images/qtcreator-session-manager.png
doc/images/qtcreator-session-manager.png
  • 2-up
  • Swipe
  • Onion skin
doc/images/qtcreator-welcome-session.png

81.9 KiB

This diff is collapsed.
...@@ -5,23 +5,21 @@ ...@@ -5,23 +5,21 @@
\title Qt Creator Manual \title Qt Creator Manual
\section1 Version 1.2.0 \section1 Version 1.2.1
The goal of Qt Creator is to provide a cross-platform, complete Integrated The goal of Qt Creator is to provide a cross-platform, complete Integrated
Development Environment (IDE) to develop Qt projects. It is available for Development Environment (IDE) to develop Qt projects. It is available for
the Linux, Mac OS X and Windows platforms. the Linux, Mac OS X and Windows platforms.
\note Please report bugs and suggestions to the Qt task tracker at \note Please report bugs and suggestions to the
http://qtsoftware.com/developer/task-tracker. You can also join the \l{http://qt.nokia.com/developer/task-tracker}{Qt task tracker}.
qt-creator@trolltech.com mailing list. To subscribe, send a message with You can also join the Qt Creator mailing list. To subscribe,
the word \e subscribe to qt-creator-request@trolltech.com. For more send a message with the word \e subscribe to
information on Qt mailing lists, visit http://lists.trolltech.com \l{mailto:qt-creator-request@trolltech.com}
{qt-creator-request@trolltech.com}. For more information on Qt mailing
lists, visit \l{http://lists.trolltech.com}{http://lists.trolltech.com}.
\image qtcreator-screenshots.png Qt Creator includes a wide range of useful features. Among them are:
\table
\row
\o Qt Creator includes a wide range of useful features. Among them are:
\list 1 \list 1
\o \bold{Smart Code Editor}: The code editor provides syntax \o \bold{Smart Code Editor}: The code editor provides syntax
highlighting as well as code completion. highlighting as well as code completion.
...@@ -41,10 +39,14 @@ ...@@ -41,10 +39,14 @@
within Qt Creator using a graphical frontend to the GNU symbolic within Qt Creator using a graphical frontend to the GNU symbolic
debugger (GDB) and the Microsoft Console Debugger (CDB). debugger (GDB) and the Microsoft Console Debugger (CDB).
\endlist \endlist
\endtable
To learn more about the Qt Creator, click on one of the links below: To learn more about the Qt Creator, click on one of the links below:
\raw HTML
<img border="0" style="float:right;" src="images/qtcreator-screenshots.png" />
\endraw
\list \list
\o \l{A Quick Tour of Qt Creator} \o \l{A Quick Tour of Qt Creator}
\o \l{Creating a Project in Qt Creator} \o \l{Creating a Project in Qt Creator}
...@@ -54,6 +56,7 @@ ...@@ -54,6 +56,7 @@
\o \l{Writing a Simple Program with Qt Creator} \o \l{Writing a Simple Program with Qt Creator}
\o \l{Qt Creator and Version Control Systems} \o \l{Qt Creator and Version Control Systems}
\o \l{Navigating Quickly Around Your Code with Locator} \o \l{Navigating Quickly Around Your Code with Locator}
\o \l{Session Management in Qt Creator}
\o \l{Debugging with Qt Creator} \o \l{Debugging with Qt Creator}
\o \l{CMake Support in Qt Creator} \o \l{CMake Support in Qt Creator}
\o \l{Support for Generic Projects in Qt Creator} \o \l{Support for Generic Projects in Qt Creator}
...@@ -65,10 +68,8 @@ ...@@ -65,10 +68,8 @@
\o \l{Known Issues} \o \l{Known Issues}
\o \l{Acknowledgements} \o \l{Acknowledgements}
\endlist \endlist
*/ */
/*! /*!
\contentspage index.html \contentspage index.html
\page creator-quick-tour.html \page creator-quick-tour.html
...@@ -129,9 +130,9 @@ ...@@ -129,9 +130,9 @@
\section2 Build Issues \section2 Build Issues
The {Build Issues} pane provides a list of issues, e.g., error messages or The \gui{Build Issues} pane provides a list of issues, e.g., error messages
warnings that need to be fixed. It filters out irrelevant output from the or warnings that need to be fixed. It filters out irrelevant output from
compiler and collects them in an organized way. the compiler and collects them in an organized way.
\image qtcreator-build-issues.png \image qtcreator-build-issues.png
...@@ -163,24 +164,6 @@ ...@@ -163,24 +164,6 @@
\image qtcreator-compile-pane.png \image qtcreator-compile-pane.png
\section1 Session Management in Qt Creator
In Qt Creator, a session is a collection of loaded projects, opened files,
editor settings, and so on. When you run Qt Creator, you have a default
session. You can create a new session using the \gui{Session Manager...}
option, available in the \gui{File -> Session} menu.
\image qtcreator-session-manager.png
To switch between sessions, select \gui{File -> Session}. If you do not
create and select any session, Qt Creator will always use the default
session.
\image qtcreator-session-menu.png
\section1 Qt Help Integration \section1 Qt Help Integration
Qt Creator comes fully integrated with all of Qt's documentation and Qt Creator comes fully integrated with all of Qt's documentation and
...@@ -993,6 +976,45 @@ ...@@ -993,6 +976,45 @@
*/ */
/*!
\contentspage index.html
\previouspage creator-navigation.html
\page creator-session.html
\nextpage creator-debugging.html
\title Session Management in Qt Creator
In Qt Creator, a session is a collection of:
\list
\o open projects together with their dependencies,
\o open editors,
\o breakpoints and watches, as well as
\o bookmarks
\endlist
When you run Qt Creator, you have a default session. You can create a new
session using the \gui{Session Manager...} option, available in the
\gui{File -> Session} menu.
\image qtcreator-session-manager.png
To switch between sessions, select \gui{File -> Session}. If you do not
create and select any session, Qt Creator will always use the default
session.
\image qtcreator-session-menu.png
When you launch Qt Creator, a list of your recent sessions will be
displayed on the \gui{Welcome Screen}.
\image qtcreator-welcome-session.png
*/
/*! /*!
\contentspage index.html \contentspage index.html
\previouspage creator-navigation.html \previouspage creator-navigation.html
...@@ -1427,14 +1449,57 @@ ...@@ -1427,14 +1449,57 @@
\title Support for Generic Projects in Qt Creator \title Support for Generic Projects in Qt Creator
Since Qt Creator 1.1, generic projects are supported, in addition to Since Qt Creator 1.1, generic projects are supported, in addition to
\c qmake projects. In other words, you can import existing projects that \c qmake projects. In other words, you can import existing projects that do
do not use \c qmake or \c CMake and Qt Creator will simply ignore your not use \c qmake or \c CMake and Qt Creator will simply ignore your build
build system. system.
This feature lets you use Qt Creator as a code editor. You can change the
way your project is built by modifying the \c make command under
\gui{Build Settings} in the \gui{Projects} mode.
This feature lets you use Qt Creator as a code editor. You can build your For a generic project, you have to manually specify which files belong to
project by modifying the \c make command in the \gui{Project Settings} your project and which include directories/defines you want to pass to your
page. compiler.
\section2 Specifying Files
The list of files for a generic project is specified in the \c{.files}
file. When you first create a generic project, Qt Creator will add any
files it recognizes to your project. To add or remove files later, simply
edit the \c{.files} file in Qt Creator. Your project tree will be refreshed
when you save this file.
If you frequently need to update the \c{.files} file, we recommend the use
of a small script that will update the files for you. Currently, if the
file is modified externally, Qt Creator must be restarted for the changes
to take effect.
\section2 Specifying Include Paths
The include paths are specified in the \c{.includes} file, one include
path per line. The paths can be either absolute or relative to the
\c{.includes} file.
\section2 Specifying Defines
The defines are specified in the \c{.config} file. This file is a regular
C++ file, prepended to all your source files when they are being parsed.
However, you should only use it to add lines like the following:
\code
#define NAME value
\endcode
\section2 Creating a Run Configuration
Qt Creator cannot automatically determine which executable it should run.
To set up a custom executable run configuration in the \gui Projects mode,
use the \bold{Add} button. Here you can specify the name, executable, and
some optional arguments. By default, the working directory is
\c{$BUILDDIR} which should work fine.
*/ */
...@@ -1447,7 +1512,7 @@ ...@@ -1447,7 +1512,7 @@
\title Handling External Libraries \title Handling External Libraries
The ability to recognize external libraries is not only important for the The ability to recognize external libraries is not only important for the
underlying buidl system, but also for Qt Creator itself. This ability underlying build system, but also for Qt Creator itself. This ability
allows Qt Creator to support code completion and syntax highlighting for allows Qt Creator to support code completion and syntax highlighting for
external libraries as if they were part of the current project or the Qt external libraries as if they were part of the current project or the Qt
library. library.
...@@ -1465,31 +1530,33 @@ ...@@ -1465,31 +1530,33 @@
{Declaring other Libraries} section of the Qt documentation. {Declaring other Libraries} section of the Qt documentation.
If your project successfully builds and links against the external library, If your project successfully builds and links against the external library,
syntax completion and highlighting should also work. syntax completion and highlighting should work.
\section1 CMake Projects \section1 CMake Projects
In CMake, libraries are usually detected using the \c{FIND_PACKAGE()} macro. In CMake, libraries are usually detected using the \c{FIND_PACKAGE()}
A couple of them are already being shipped with CMake, they can be found in macro. A couple of them are already being shipped with CMake, they can be
the \c{Modules} directory of your CMake installation. If you provide found in the \c{Modules} directory of your CMake installation. If you
libraries on your own, you will need to provide your own \c{FindFoo.cmake} provide libraries on your own, you will need to provide your own
file. Refer to the \l{http://vtk.org/Wiki/CMake_FAQ#Writing_FindXXX.cmake_files} \c{FindFoo.cmake} file. Refer to the
{CMake FAQ} for details. \l{http://vtk.org/Wiki/CMake_FAQ#Writing_FindXXX.cmake_files}{CMake FAQ}
for details.
As with qmake project, syntax completion and highlighting should work if As with \c qmake projects, syntax completion and highlighting should work
you can sucessfully build and link against the external library. if you can sucessfully build and link against the external library.
\section1 Generic Projects \section1 Generic Projects
If you import a project using the \e{Generic Projects} function, Qt Creator will If you import a project using the \e{Generic Projects} function, Qt Creator
create a file called \c{<projectname>.includes} in your project root directory. It will will create a file called \c{<projectname>.includes} in your project root
contain all project subdirectories it that was able to find relevant header files in. directory. This file contains all project subdirectories which Qt Creator
Simply add your include pathes there. could find relevant headers for. Simply add your include pathes here.
Note that in Generic Project mode, Qt Creator will refrain from touching any In \gui{Generic Project} mode, Qt Creator will not modify any project
project settings, so the above is merely a hint for the code completion and settings, so the above is merely a hint for code completion and syntax
the syntax highlighter. highlighting.
*/ */
...@@ -1718,7 +1785,7 @@ ...@@ -1718,7 +1785,7 @@
There are some known issues with Qt Creator. There are some known issues with Qt Creator.
The development team is aware of those, there is no need to report them as bug. The development team is aware of those, there is no need to report them as bug.
\section1 Known Issues of Version 1.2.0 \section1 Known Issues of Version 1.2.1
\list \list
\o Gdb on Windows may not work if the 'Embassy \reg Security Center' software \o Gdb on Windows may not work if the 'Embassy \reg Security Center' software
......
...@@ -9,24 +9,26 @@ sourcedirs = $SRCDIR ...@@ -9,24 +9,26 @@ sourcedirs = $SRCDIR
imagedirs = $SRCDIR/images imagedirs = $SRCDIR/images
outputdir = $OUTDIR outputdir = $OUTDIR
exampledirs = $SRCDIR exampledirs = $SRCDIR
indexes = qt.index
extraimages.HTML = qt-logo \ extraimages.HTML = qt-logo \
trolltech-logo qtcreator-screenshots
sources.fileextensions = "qtcreator.qdoc addressbook-sdk.qdoc" sources.fileextensions = "qtcreator.qdoc addressbook-sdk.qdoc"
qhp.projects = QtCreator qhp.projects = QtCreator
qhp.QtCreator.file = qtcreator.qhp qhp.QtCreator.file = qtcreator.qhp
qhp.QtCreator.namespace = com.nokia.qtcreator.120 qhp.QtCreator.namespace = com.nokia.qtcreator.121
qhp.QtCreator.virtualFolder = doc qhp.QtCreator.virtualFolder = doc
qhp.QtCreator.indexTitle = Qt Creator qhp.QtCreator.indexTitle = Qt Creator
qhp.QtCreator.indexRoot = qhp.QtCreator.indexRoot =
qhp.QtCreator.extraFiles = classic.css \ qhp.QtCreator.extraFiles = classic.css \
images/qt-logo.png images/qt-logo.png \
qhp.QtCreator.filterAttributes = qtcreator 1.2.0 images/qtcreator-screenshots.png
qhp.QtCreator.customFilters.QtCreator.name = Qt Creator 1.2.0 qhp.QtCreator.filterAttributes = qtcreator 1.2.1
qhp.QtCreator.customFilters.QtCreator.filterAttributes = qtcreator 1.2.0 qhp.QtCreator.customFilters.QtCreator.name = Qt Creator 1.2.1
qhp.QtCreator.customFilters.QtCreator.filterAttributes = qtcreator 1.2.1
# macros.qdocconf # macros.qdocconf
...@@ -85,7 +87,6 @@ macro.i81 = "\\o{8,1}" ...@@ -85,7 +87,6 @@ macro.i81 = "\\o{8,1}"
macro.i91 = "\\o{9,1}" macro.i91 = "\\o{9,1}"
macro.img = "\\image" macro.img = "\\image"
macro.endquote = "\\endquotation" macro.endquote = "\\endquotation"
spurious = "Missing comma in .*" \ spurious = "Missing comma in .*" \
"Missing pattern .*" "Missing pattern .*"
...@@ -189,18 +190,26 @@ HTML.stylesheets = classic.css ...@@ -189,18 +190,26 @@ HTML.stylesheets = classic.css
HTML.postheader = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n" \ HTML.postheader = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n" \
"<tr>\n" \ "<tr>\n" \
"<td align=\"left\" valign=\"top\" width=\"32\">" \ "<td align=\"left\" valign=\"top\" width=\"32\">" \
"<img src=\"images/qt-logo.png\" align=\"left\" width=\"32\" height=\"32\" border=\"0\" />" \ "<a href=\"http://qt.nokia.com/\"><img src=\"images/qt-logo.png\" align=\"left\" border=\"0\" /></a>" \
"</td>\n" \ "</td>\n" \
"<td width=\"1\">&nbsp;&nbsp;</td>" \ "<td width=\"1\">&nbsp;&nbsp;</td>" \
"<td class=\"postheader\" valign=\"center\">" \ "<td class=\"postheader\" valign=\"center\">" \
"<a href=\"qtcreator-manual.html\">" \ "<a href=\"index.html\">" \
"<font color=\"#004faf\">Home</font></a>" \ "<font color=\"#004faf\">Home</font></a>&nbsp;&middot; " \
"</td>\n" \ "<a href=\"creator-code-editor.html\">" \
"<td align=\"right\" valign=\"top\" width=\"230\"></td></tr></table><br>" "<font color=\"#004faf\">Editor</font></a>&nbsp;&middot; " \
"<a href=\"creator-navigation.html\">" \
"<font color=\"#004faf\">Code Navigation</font></a>&nbsp;&middot; " \
"<a href=\"creator-keyboard-shortcuts.html\">" \
"<font color=\"#004faf\">Shortcuts</font></a>&nbsp;&middot; " \
"<a href=\"http://qt.gitorious.org/qt-creator/pages/Home\">" \
"<font color=\"#004faf\">Wiki</font></a>" \
"</td>" \
"</tr></table>"
HTML.footer = "<p /><address><hr /><div align=\"center\">\n" \ HTML.footer = "<p /><address><hr /><div align=\"center\">\n" \
"<table width=\"100%\" cellspacing=\"0\" border=\"0\"><tr class=\"address\">\n" \ "<table width=\"100%\" cellspacing=\"0\" border=\"0\"><tr class=\"address\">\n" \
"<td width=\"30%\" align=\"left\">Copyright &copy; 2009 Nokia</td>\n" \ "<td width=\"40%\" align=\"left\">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>\n" \
"<td width=\"40%\" align=\"center\">&nbsp;</td>\n" \ "<td width=\"20%\" align=\"center\"><a href=\"trademarks.html\">Trademarks</a></td>\n" \
"<td width=\"30%\" align=\"right\"><div align=\"right\">Qt Creator 1.2.0</div></td>\n" \ "<td width=\"40%\" align=\"right\"><div align=\"right\">Qt Creator 1.2.1</div></td>\n" \
"</tr></table></div></address>" "</tr></table></div></address>"
...@@ -44,15 +44,24 @@ ...@@ -44,15 +44,24 @@
#include <QtCore/QObject> #include <QtCore/QObject>
#include <QtCore/QPointer> #include <QtCore/QPointer>
#include <QtCore/QString> #include <QtCore/QString>
#include <QtCore/QSharedPointer>
#include <QtCore/QSharedDataPointer>
#include <QtCore/QTextCodec> #include <QtCore/QTextCodec>
#include <QtCore/QVector> #include <QtCore/QVector>
#if QT_VERSION >= 0x040500
#include <QtCore/QSharedPointer>
#include <QtCore/QSharedDataPointer>
#include <QtCore/QWeakPointer> #include <QtCore/QWeakPointer>
#endif
int qtGhVersion = QT_VERSION; int qtGhVersion = QT_VERSION;
#ifdef QT_GUI_LIB #ifndef USE_QT_GUI
# ifdef QT_GUI_LIB
# define USE_QT_GUI 1
# endif
#endif
#if USE_QT_GUI
# include <QtGui/QWidget> # include <QtGui/QWidget>
# include <QtGui/QPixmap> # include <QtGui/QPixmap>
# include <QtGui/QImage> # include <QtGui/QImage>
...@@ -1296,9 +1305,9 @@ static void qDumpQHashNode(QDumper &d) ...@@ -1296,9 +1305,9 @@ static void qDumpQHashNode(QDumper &d)
d.disarm(); d.disarm();
} }
#if USE_QT_GUI
static void qDumpQImage(QDumper &d) static void qDumpQImage(QDumper &d)
{ {
#ifdef QT_GUI_LIB
const QImage &im = *reinterpret_cast<const QImage *>(d.data); const QImage &im = *reinterpret_cast<const QImage *>(d.data);
P(d, "value", "(" << im.width() << "x" << im.height() << ")"); P(d, "value", "(" << im.width() << "x" << im.height() << ")");
P(d, "type", NS"QImage"); P(d, "type", NS"QImage");
...@@ -1312,14 +1321,12 @@ static void qDumpQImage(QDumper &d) ...@@ -1312,14 +1321,12 @@ static void qDumpQImage(QDumper &d)
d.endHash(); d.endHash();
} }
d.disarm(); d.disarm();
#else
Q_UNUSED(d);
#endif
} }
#endif
#if USE_QT_GUI
static void qDumpQImageData(QDumper &d) static void qDumpQImageData(QDumper &d)
{ {
#ifdef QT_GUI_LIB
const QImage &im = *reinterpret_cast<const QImage *>(d.data); const QImage &im = *reinterpret_cast<const QImage *>(d.data);
const QByteArray ba(QByteArray::fromRawData((const char*)im.bits(), im.numBytes())); const QByteArray ba(QByteArray::fromRawData((const char*)im.bits(), im.numBytes()));
P(d, "type", NS"QImageData"); P(d, "type", NS"QImageData");
...@@ -1334,10 +1341,8 @@ static void qDumpQImageData(QDumper &d) ...@@ -1334,10 +1341,8 @@ static void qDumpQImageData(QDumper &d)
P(d, "value", ba); P(d, "value", ba);
#endif #endif
d.disarm(); d.disarm();
#else
Q_UNUSED(d);
#endif
} }
#endif
static void qDumpQList(QDumper &d) static void qDumpQList(QDumper &d)
{ {
...@@ -2020,18 +2025,16 @@ static void qDumpQObjectSlotList(QDumper &d) ...@@ -2020,18 +2025,16 @@ static void qDumpQObjectSlotList(QDumper &d)
} }
#if USE_QT_GUI
static void qDumpQPixmap(QDumper &d) static void qDumpQPixmap(QDumper &d)
{ {
#ifdef QT_GUI_LIB
const QPixmap &im = *reinterpret_cast<const QPixmap *>(d.data); const QPixmap &im = *reinterpret_cast<const QPixmap *>(d.data);
P(d, "value", "(" << im.width() << "x" << im.height() << ")"); P(d, "value", "(" << im.width() << "x" << im.height() << ")");
P(d, "type", NS"QPixmap"); P(d, "type", NS"QPixmap");
P(d, "numchild", "0"); P(d, "numchild", "0");
d.disarm(); d.disarm();
#else
Q_UNUSED(d);
#endif
} }
#endif
static void qDumpQSet(QDumper &d) static void qDumpQSet(QDumper &d)
{ {
...@@ -2078,6 +2081,7 @@ static void qDumpQSet(QDumper &d) ...@@ -2078,6 +2081,7 @@ static void qDumpQSet(QDumper &d)
d.disarm(); d.disarm();
} }
#if QT_VERSION >= 0x040500
static void qDumpQSharedPointer(QDumper &d) static void qDumpQSharedPointer(QDumper &d)
{ {
const QSharedPointer<int> &ptr = const QSharedPointer<int> &ptr =
...@@ -2116,6 +2120,7 @@ static void qDumpQSharedPointer(QDumper &d) ...@@ -2116,6 +2120,7 @@ static void qDumpQSharedPointer(QDumper &d)
} }
d.disarm(); d.disarm();
} }
#endif
static void qDumpQString(QDumper &d) static void qDumpQString(QDumper &d)
{ {
...@@ -2243,7 +2248,7 @@ static void qDumpQVariant(QDumper &d) ...@@ -2243,7 +2248,7 @@ static void qDumpQVariant(QDumper &d)
if (isInvalid) { if (isInvalid) {
P(d, "value", "(invalid)"); P(d, "value", "(invalid)");
} else if (value.isEmpty()) { } else if (value.isEmpty()) {
P(d, "value", "(" << v.typeName() << ") " << qPrintable(value)); P(d, "value", "(" << v.typeName() << ") ");
} else { } else {
QByteArray ba; QByteArray ba;
ba += '('; ba += '(';
...@@ -2251,7 +2256,7 @@ static void qDumpQVariant(QDumper &d) ...@@ -2251,7 +2256,7 @@ static void qDumpQVariant(QDumper &d)
ba += ") "; ba += ") ";
ba += qPrintable(value); ba += qPrintable(value);
P(d, "value", ba); P(d, "value", ba);
P(d, "valueencoded", "4"); P(d, "valueencoded", "5");
} }
P(d, "type", NS"QVariant"); P(d, "type", NS"QVariant");
P(d, "numchild", (isInvalid ? "0" : "1")); P(d, "numchild", (isInvalid ? "0" : "1"));
...@@ -2315,6 +2320,7 @@ static void qDumpQVector(QDumper &d) ...@@ -2315,6 +2320,7 @@ static void qDumpQVector(QDumper &d)
d.disarm(); d.disarm();
} }
#if QT_VERSION >= 0x040500
static void qDumpQWeakPointer(QDumper &d) static void qDumpQWeakPointer(QDumper &d)
{ {
const int v = sizeof(void *); const int v = sizeof(void *);
...@@ -2352,6 +2358,7 @@ static void qDumpQWeakPointer(QDumper &d) ...@@ -2352,6 +2358,7 @@ static void qDumpQWeakPointer(QDumper &d)
} }
d.disarm(); d.disarm();
} }
#endif
static void qDumpStdList(QDumper &d) static void qDumpStdList(QDumper &d)
{ {
...@@ -2691,10 +2698,12 @@ static void handleProtocolVersion2and3(QDumper & d) ...@@ -2691,10 +2698,12 @@ static void handleProtocolVersion2and3(QDumper & d)
qDumpStdList(d); qDumpStdList(d);
break; break;
case 'I': case 'I':
#if USE_QT_GUI
if (isEqual(type, "QImage")) if (isEqual(type, "QImage"))
qDumpQImage(d); qDumpQImage(d);
else if (isEqual(type, "QImageData")) else if (isEqual(type, "QImageData"))
qDumpQImageData(d); qDumpQImageData(d);
#endif
break; break;
case 'L': case 'L':
if (isEqual(type, "QList")) if (isEqual(type, "QList"))
...@@ -2731,14 +2740,18 @@ static void handleProtocolVersion2and3(QDumper & d) ...@@ -2731,14 +2740,18 @@ static void handleProtocolVersion2and3(QDumper & d)
qDumpQObjectSlotList(d); qDumpQObjectSlotList(d);
break; break;
case 'P': case 'P':
#if USE_QT_GUI
if (isEqual(type, "QPixmap")) if (isEqual(type, "QPixmap"))
qDumpQPixmap(d); qDumpQPixmap(d);
#endif
break; break;
case 'S': case 'S':
if (isEqual(type, "QSet")) if (isEqual(type, "QSet"))
qDumpQSet(d); qDumpQSet(d);
#if QT_VERSION >= 0x040500
else if (isEqual(type, "QSharedPointer")) else if (isEqual(type, "QSharedPointer"))
qDumpQSharedPointer(d); qDumpQSharedPointer(d);
#endif
else if (isEqual(type, "QString")) else if (isEqual(type, "QString"))
qDumpQString(d); qDumpQString(d);
else if (isEqual(type, "QStringList")) else if (isEqual(type, "QStringList"))
...@@ -2775,8 +2788,11 @@ static void handleProtocolVersion2and3(QDumper & d) ...@@ -2775,8 +2788,11 @@ static void handleProtocolVersion2and3(QDumper & d)
qDumpQVector(d); qDumpQVector(d);
break; break;
case 'W': case 'W':
#if QT_VERSION >= 0x040500
if (isEqual(type, "QWeakPointer")) if (isEqual(type, "QWeakPointer"))
qDumpQWeakPointer(d); qDumpQWeakPointer(d);
#endif
break;
} }
if (!d.success) if (!d.success)
...@@ -2835,9 +2851,6 @@ void *qDumpObjectData440( ...@@ -2835,9 +2851,6 @@ void *qDumpObjectData440(
"\""NS"QMap\"," "\""NS"QMap\","
"\""NS"QMapNode\"," "\""NS"QMapNode\","
"\""NS"QModelIndex\"," "\""NS"QModelIndex\","
#if QT_VERSION >= 0x040500
"\""NS"QMultiMap\","
#endif
"\""NS"QObject\"," "\""NS"QObject\","
"\""NS"QObjectMethodList\"," // hack to get nested properties display "\""NS"QObjectMethodList\"," // hack to get nested properties display
"\""NS"QObjectPropertyList\"," "\""NS"QObjectPropertyList\","
...@@ -2847,14 +2860,19 @@ void *qDumpObjectData440( ...@@ -2847,14 +2860,19 @@ void *qDumpObjectData440(
"\""NS"QObjectSlotList\"," "\""NS"QObjectSlotList\","
// << "\""NS"QRegion\"," // << "\""NS"QRegion\","
"\""NS"QSet\"," "\""NS"QSet\","
"\""NS"QSharedPointer\","
"\""NS"QString\"," "\""NS"QString\","
"\""NS"QStringList\"," "\""NS"QStringList\","
"\""NS"QTextCodec\"," "\""NS"QTextCodec\","
"\""NS"QVariant\"," "\""NS"QVariant\","
"\""NS"QVector\"," "\""NS"QVector\","
"\""NS"QWeakPointer\"," #if USE_QT_GUI
"\""NS"QWidget\"," "\""NS"QWidget\","
#endif
#if QT_VERSION >= 0x040500
"\""NS"QMultiMap\","
"\""NS"QSharedPointer\","
"\""NS"QWeakPointer\","
#endif
#ifdef Q_OS_WIN #ifdef Q_OS_WIN
"\"basic_string\"," "\"basic_string\","
"\"list\"," "\"list\","
...@@ -2884,7 +2902,7 @@ void *qDumpObjectData440( ...@@ -2884,7 +2902,7 @@ void *qDumpObjectData440(
<< ""NS"QString=\"" << sizeof(QString) << "\"," << ""NS"QString=\"" << sizeof(QString) << "\","
<< ""NS"QStringList=\"" << sizeof(QStringList) << "\"," << ""NS"QStringList=\"" << sizeof(QStringList) << "\","
<< ""NS"QObject=\"" << sizeof(QObject) << "\"," << ""NS"QObject=\"" << sizeof(QObject) << "\","
#ifdef QT_GUI_LIB #if USE_QT_GUI
<< ""NS"QWidget=\"" << sizeof(QWidget)<< "\"," << ""NS"QWidget=\"" << sizeof(QWidget)<< "\","
#endif #endif
#ifdef Q_OS_WIN #ifdef Q_OS_WIN
......
TEMPLATE = lib TEMPLATE = lib
CONFIG += shared CONFIG += shared
QT = core
linux-* { linux-* {
CONFIG -= release CONFIG -= release
CONFIG += debug CONFIG += debug
} }
SOURCES=gdbmacros.cpp SOURCES=gdbmacros.cpp
true {
DEFINES += USE_QT_GUI=0
QT = core
} else {
DEFINES += USE_QT_GUI=1
QT = core gui
}
exists($$QMAKE_INCDIR_QT/QtCore/private/qobject_p.h) { exists($$QMAKE_INCDIR_QT/QtCore/private/qobject_p.h) {
DEFINES+=HAS_QOBJECT_P_H DEFINES+=HAS_QOBJECT_P_H
} }
...@@ -1759,7 +1759,7 @@ Sollen sie überschrieben werden?</translation> ...@@ -1759,7 +1759,7 @@ Sollen sie überschrieben werden?</translation>
<location line="+11"/> <location line="+11"/>
<source>From revision %1&lt;br/&gt;</source> <source>From revision %1&lt;br/&gt;</source>
<extracomment>This gets conditionally inserted as argument %8 into the description string.</extracomment> <extracomment>This gets conditionally inserted as argument %8 into the description string.</extracomment>
<translation>Revision:</translation> <translation>Revision %1&lt;br/&gt;</translation>
</message> </message>
<message> <message>
<location line="+3"/> <location line="+3"/>
......
...@@ -1721,7 +1721,7 @@ Would you like to overwrite them?</source> ...@@ -1721,7 +1721,7 @@ Would you like to overwrite them?</source>
<location line="+11"/> <location line="+11"/>
<source>From revision %1&lt;br/&gt;</source> <source>From revision %1&lt;br/&gt;</source>
<extracomment>This gets conditionally inserted as argument %8 into the description string.</extracomment> <extracomment>This gets conditionally inserted as argument %8 into the description string.</extracomment>
<translation>Revisión %1</translation> <translation>Revisión %1&lt;br/&gt;</translation>
</message> </message>
<message> <message>
<location line="+3"/> <location line="+3"/>
......
...@@ -182,8 +182,8 @@ ...@@ -182,8 +182,8 @@
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
<string>com.nokia.qtcreator</string> <string>com.nokia.qtcreator</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>1.2.0</string> <string>1.2.1</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>1.2.0</string> <string>1.2.1</string>
</dict> </dict>
</plist> </plist>
...@@ -667,7 +667,7 @@ ResolveExpression::resolveMemberExpression(const QList<Result> &baseResults, ...@@ -667,7 +667,7 @@ ResolveExpression::resolveMemberExpression(const QList<Result> &baseResults,
if (NamedType *namedTy = ty->asNamedType()) if (NamedType *namedTy = ty->asNamedType())
results += resolveMember(p, memberName, namedTy); results += resolveMember(p, memberName, namedTy);
else if (Function *fun = ty->asFunctionType()) { else if (Function *fun = ty->asFunctionType()) {
if (fun->scope()->isBlockScope() || fun->scope()->isNamespaceScope()) { if (fun->scope() && (fun->scope()->isBlockScope() || fun->scope()->isNamespaceScope())) {
ty = fun->returnType(); ty = fun->returnType();
if (ReferenceType *refTy = ty->asReferenceType()) if (ReferenceType *refTy = ty->asReferenceType())
...@@ -881,7 +881,7 @@ QList<Symbol *> ResolveClass::resolveClass(NamedType *namedTy, ...@@ -881,7 +881,7 @@ QList<Symbol *> ResolveClass::resolveClass(NamedType *namedTy,
if (Function *funTy = decl->type()->asFunctionType()) { if (Function *funTy = decl->type()->asFunctionType()) {
// QString foo("ciao"); // QString foo("ciao");
// foo. // foo.
if (funTy->scope()->isBlockScope() || funTy->scope()->isNamespaceScope()) { if (funTy->scope() && (funTy->scope()->isBlockScope() || funTy->scope()->isNamespaceScope())) {
const ResolveExpression::Result r(funTy->returnType(), decl); const ResolveExpression::Result r(funTy->returnType(), decl);
resolvedSymbols += resolveClass(r, context); resolvedSymbols += resolveClass(r, context);
} }
......
...@@ -243,8 +243,13 @@ void SavedAction::readSettings(QSettings *settings) ...@@ -243,8 +243,13 @@ void SavedAction::readSettings(QSettings *settings)
if (m_settingsGroup.isEmpty() || m_settingsKey.isEmpty()) if (m_settingsGroup.isEmpty() || m_settingsKey.isEmpty())
return; return;
settings->beginGroup(m_settingsGroup); settings->beginGroup(m_settingsGroup);
setValue(settings->value(m_settingsKey, m_defaultValue), false); QVariant var = settings->value(m_settingsKey, m_defaultValue);
//qDebug() << "READING: " << m_settingsKey << " -> " << m_value; // work around old ini files containing @Invalid() entries
if (isCheckable() && !var.isValid())
var = false;
setValue(var);
//qDebug() << "READING: " << var.isValid() << m_settingsKey << " -> " << m_value
// << " (default: " << m_defaultValue << ")" << var;
settings->endGroup(); settings->endGroup();
} }
......
<plugin name="BinEditor" version="1.2.0" compatVersion="1.2.0"> <plugin name="BinEditor" version="1.2.1" compatVersion="1.2.1">
<vendor>Nokia Corporation</vendor> <vendor>Nokia Corporation</vendor>
<copyright>(C) 2008-2009 Nokia Corporation</copyright> <copyright>(C) 2008-2009 Nokia Corporation</copyright>
<license> <license>
...@@ -19,7 +19,7 @@ will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.</license> ...@@ -19,7 +19,7 @@ will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.</license>
<description>Binary editor component.</description> <description>Binary editor component.</description>
<url>http://www.qtsoftware.com</url> <url>http://www.qtsoftware.com</url>
<dependencyList> <dependencyList>
<dependency name="Core" version="1.2.0"/> <dependency name="Core" version="1.2.1"/>
<dependency name="TextEditor" version="1.2.0"/> <dependency name="TextEditor" version="1.2.1"/>
</dependencyList> </dependencyList>
</plugin> </plugin>
<plugin name="Bookmarks" version="1.2.0" compatVersion="1.2.0"> <plugin name="Bookmarks" version="1.2.1" compatVersion="1.2.1">
<vendor>Nokia Corporation</vendor> <vendor>Nokia Corporation</vendor>
<copyright>(C) 2008-2009 Nokia Corporation</copyright> <copyright>(C) 2008-2009 Nokia Corporation</copyright>
<license> <license>
...@@ -19,8 +19,8 @@ will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.</license> ...@@ -19,8 +19,8 @@ will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.</license>
<description>Bookmarks in text editors.</description> <description>Bookmarks in text editors.</description>
<url>http://www.qtsoftware.com</url> <url>http://www.qtsoftware.com</url>
<dependencyList> <dependencyList>
<dependency name="TextEditor" version="1.2.0"/> <dependency name="TextEditor" version="1.2.1"/>
<dependency name="ProjectExplorer" version="1.2.0"/> <dependency name="ProjectExplorer" version="1.2.1"/>
<dependency name="Core" version="1.2.0"/> <dependency name="Core" version="1.2.1"/>
</dependencyList> </dependencyList>
</plugin> </plugin>
<plugin name="CMakeProjectManager" version="1.2.0" compatVersion="1.2.0"> <plugin name="CMakeProjectManager" version="1.2.1" compatVersion="1.2.1">
<vendor>Nokia Corporation</vendor> <vendor>Nokia Corporation</vendor>
<copyright>(C) 2008-2009 Nokia Corporation</copyright> <copyright>(C) 2008-2009 Nokia Corporation</copyright>
<license> <license>
...@@ -19,9 +19,9 @@ will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.</license> ...@@ -19,9 +19,9 @@ will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.</license>
<description>CMake support</description> <description>CMake support</description>
<url>http://www.qtsoftware.com</url> <url>http://www.qtsoftware.com</url>
<dependencyList> <dependencyList>
<dependency name="TextEditor" version="1.2.0"/> <dependency name="TextEditor" version="1.2.1"/>
<dependency name="ProjectExplorer" version="1.2.0"/> <dependency name="ProjectExplorer" version="1.2.1"/>
<dependency name="CppTools" version="1.2.0"/> <dependency name="CppTools" version="1.2.1"/>
<dependency name="CppEditor" version="1.2.0"/> <dependency name="CppEditor" version="1.2.1"/>
</dependencyList> </dependencyList>
</plugin> </plugin>
<plugin name="Core" version="1.2.0" compatVersion="1.2.0"> <plugin name="Core" version="1.2.1" compatVersion="1.2.1">
<vendor>Nokia Corporation</vendor> <vendor>Nokia Corporation</vendor>
<copyright>(C) 2008-2009 Nokia Corporation</copyright> <copyright>(C) 2008-2009 Nokia Corporation</copyright>
<license> <license>
......