Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Tobias Hunger
qt-creator
Commits
4e16b27b
Commit
4e16b27b
authored
Aug 28, 2009
by
dt
Browse files
Merge branch 'master' of git@scm.dev.nokia.troll.no:creator/mainline
parents
f862a034
20e3d536
Changes
7
Hide whitespace changes
Inline
Side-by-side
share/qtcreator/gdbmacros/gdbmacros.cpp
View file @
4e16b27b
...
...
@@ -2834,7 +2834,7 @@ static void qDumpQSharedPointer(QDumper &d)
static
void
qDumpQString
(
QDumper
&
d
)
{
qCheckAccess
(
deref
(
d
.
data
));
//
qCheckAccess(deref(d.data));
const
QString
&
str
=
*
reinterpret_cast
<
const
QString
*>
(
d
.
data
);
const
int
size
=
str
.
size
();
...
...
src/plugins/cpptools/cppmodelmanager.cpp
View file @
4e16b27b
...
...
@@ -1099,6 +1099,9 @@ void CppModelManager::updateIncludesInPaths(QFutureInterface<void> &future,
QStringList
suffixes
)
{
QMap
<
QString
,
QStringList
>
entriesInPaths
;
typedef
QPair
<
QString
,
QString
>
SymLink
;
typedef
QList
<
SymLink
>
SymLinks
;
SymLinks
symlinks
;
int
processed
=
0
;
future
.
setProgressRange
(
0
,
paths
.
size
());
...
...
@@ -1111,6 +1114,11 @@ void CppModelManager::updateIncludesInPaths(QFutureInterface<void> &future,
break
;
const
QString
path
=
paths
.
takeFirst
();
// Skip already scanned paths
if
(
entriesInPaths
.
contains
(
path
))
continue
;
QStringList
entries
;
QDirIterator
i
(
path
,
QDir
::
Files
|
QDir
::
Dirs
|
QDir
::
NoDotAndDotDot
);
...
...
@@ -1125,11 +1133,18 @@ void CppModelManager::updateIncludesInPaths(QFutureInterface<void> &future,
// Also scan subdirectory, but avoid endless recursion with symbolic links
if
(
fileInfo
.
isSymLink
())
{
QMap
<
QString
,
QStringList
>::
const_iterator
result
=
entriesInPaths
.
find
(
fileInfo
.
canonicalFilePath
());
QString
target
=
fileInfo
.
symLinkTarget
();
// Don't add broken symlinks
if
(
!
QFileInfo
(
target
).
exists
())
continue
;
QMap
<
QString
,
QStringList
>::
const_iterator
result
=
entriesInPaths
.
find
(
target
);
if
(
result
!=
entriesInPaths
.
constEnd
())
{
entriesInPaths
.
insert
(
fileName
,
result
.
value
());
}
else
{
paths
.
append
(
fileName
);
paths
.
append
(
target
);
symlinks
.
append
(
SymLink
(
fileName
,
target
));
}
}
else
{
paths
.
append
(
fileName
);
...
...
@@ -1145,6 +1160,14 @@ void CppModelManager::updateIncludesInPaths(QFutureInterface<void> &future,
future
.
setProgressRange
(
0
,
processed
+
paths
.
size
());
future
.
setProgressValue
(
processed
);
}
// link symlinks
QListIterator
<
SymLink
>
it
(
symlinks
);
it
.
toBack
();
while
(
it
.
hasPrevious
())
{
SymLink
v
=
it
.
previous
();
QMap
<
QString
,
QStringList
>::
const_iterator
result
=
entriesInPaths
.
find
(
v
.
second
);
entriesInPaths
.
insert
(
v
.
first
,
result
.
value
());
}
manager
->
setIncludesInPaths
(
entriesInPaths
);
...
...
src/plugins/debugger/debuggermanager.cpp
View file @
4e16b27b
...
...
@@ -316,9 +316,10 @@ void DebuggerManager::init()
// Tooltip
//QTreeView *tooltipView = qobject_cast<QTreeView *>(m_tooltipWindow);
//tooltipView->setModel(m_watchHandler->model(TooltipsWatch));
//qRegisterMetaType<WatchData>("Debugger::Internal::WatchData");
qRegisterMetaType
<
WatchData
>
(
"WatchData"
);
connect
(
m_watchHandler
,
SIGNAL
(
watchDataUpdateNeeded
(
WatchData
)),
this
,
SLOT
(
updateWatchData
(
WatchData
)));
this
,
SLOT
(
updateWatchData
(
WatchData
))
,
Qt
::
QueuedConnection
);
m_continueAction
=
new
QAction
(
this
);
m_continueAction
->
setText
(
tr
(
"Continue"
));
...
...
src/plugins/debugger/gdb/gdbengine.cpp
View file @
4e16b27b
...
...
@@ -83,7 +83,7 @@ namespace Internal {
using
namespace
Debugger
::
Constants
;
//#define DEBUG_PENDING 1
//
#define DEBUG_SUBITEM 1
#define DEBUG_SUBITEM 1
#if DEBUG_PENDING
# define PENDING_DEBUG(s) qDebug() << s
...
...
@@ -2958,6 +2958,10 @@ void GdbEngine::runDebuggingHelper(const WatchData &data0, bool dumpChildren)
void
GdbEngine
::
createGdbVariable
(
const
WatchData
&
data
)
{
if
(
data
.
iname
==
_
(
"local.flist.0"
))
{
int
i
=
1
;
Q_UNUSED
(
i
);
}
postCommand
(
_
(
"-var-delete
\"
%1
\"
"
).
arg
(
data
.
iname
),
WatchUpdate
);
QString
exp
=
data
.
exp
;
if
(
exp
.
isEmpty
()
&&
data
.
addr
.
startsWith
(
__
(
"0x"
)))
...
...
@@ -3401,11 +3405,17 @@ void GdbEngine::handleDebuggingHelperValue2(const GdbResultRecord &record,
setWatchDataType
(
data
,
record
.
data
.
findChild
(
"type"
));
setWatchDataDisplayedType
(
data
,
record
.
data
.
findChild
(
"displaytype"
));
handleChildren
(
data
,
contents
);
QList
<
WatchData
>
list
;
handleChildren
(
data
,
contents
,
&
list
);
//for (int i = 0; i != list.size(); ++i)
// qDebug() << "READ: " << list.at(i).toString();
qq
->
watchHandler
()
->
insertBulkData
(
list
);
}
void
GdbEngine
::
handleChildren
(
const
WatchData
&
data0
,
const
GdbMi
&
item
)
void
GdbEngine
::
handleChildren
(
const
WatchData
&
data0
,
const
GdbMi
&
item
,
QList
<
WatchData
>
*
list
)
{
//qDebug() << "HANDLE CHILDREN: " << data0.toString() << item.toString();
WatchData
data
=
data0
;
if
(
!
qq
->
watchHandler
()
->
isExpandedIName
(
data
.
iname
))
data
.
setChildrenUnneeded
();
...
...
@@ -3432,16 +3442,16 @@ void GdbEngine::handleChildren(const WatchData &data0, const GdbMi &item)
setWatchDataValueToolTip
(
data
,
item
.
findChild
(
"valuetooltip"
),
item
.
findChild
(
"valuetooltipencoded"
).
data
().
toInt
());
setWatchDataValueDisabled
(
data
,
item
.
findChild
(
"valuedisabled"
));
//qDebug() << "HANDLE CHILDREN: " << data.toString();
list
->
append
(
data
);
// try not to repeat data too often
WatchData
childtemplate
;
setWatchDataType
(
childtemplate
,
item
.
findChild
(
"childtype"
));
setWatchDataChildCount
(
childtemplate
,
item
.
findChild
(
"childnumchild"
));
//
qDebug() << "CHILD TEMPLATE:" << childtemplate.toString();
qDebug
()
<<
"CHILD TEMPLATE:"
<<
childtemplate
.
toString
();
qq
->
watchHandler
()
->
insertData
(
data
);
int
i
=
0
;
QList
<
WatchData
>
list
;
foreach
(
GdbMi
child
,
children
.
children
())
{
WatchData
data1
=
childtemplate
;
GdbMi
name
=
child
.
findChild
(
"name"
);
...
...
@@ -3463,11 +3473,9 @@ void GdbEngine::handleChildren(const WatchData &data0, const GdbMi &item)
//data1.name += " (" + skey + ")";
data1
.
name
=
skey
;
}
handleChildren
(
data1
,
child
);
list
.
append
(
data1
);
handleChildren
(
data1
,
child
,
list
);
++
i
;
}
qq
->
watchHandler
()
->
insertBulkData
(
list
);
}
void
GdbEngine
::
handleDebuggingHelperValue3
(
const
GdbResultRecord
&
record
,
...
...
src/plugins/debugger/gdb/gdbengine.h
View file @
4e16b27b
...
...
@@ -241,7 +241,8 @@ private:
void
debugMessage
(
const
QString
&
msg
);
bool
showToolTip
();
void
handleChildren
(
const
WatchData
&
parent
,
const
GdbMi
&
child
);
void
handleChildren
(
const
WatchData
&
parent
,
const
GdbMi
&
child
,
QList
<
WatchData
>
*
insertions
);
const
bool
m_dumperInjectionLoad
;
OutputCollector
m_outputCollector
;
...
...
src/plugins/debugger/watchhandler.cpp
View file @
4e16b27b
...
...
@@ -1003,7 +1003,7 @@ void WatchHandler::insertBulkData(const QList<WatchData> &list)
{
if
(
list
.
isEmpty
())
return
;
Q
Hash
<
QString
,
QList
<
WatchData
>
>
hash
;
Q
Map
<
QString
,
QList
<
WatchData
>
>
hash
;
foreach
(
const
WatchData
&
data
,
list
)
{
if
(
data
.
isSomethingNeeded
())
...
...
src/plugins/helloworld/helloworldplugin.cpp
View file @
4e16b27b
...
...
@@ -114,6 +114,7 @@ bool HelloWorldPlugin::initialize(const QStringList &arguments, QString *error_m
baseMode
->
setIcon
(
QIcon
());
baseMode
->
setPriority
(
0
);
baseMode
->
setWidget
(
new
QPushButton
(
tr
(
"Hello World PushButton!"
)));
baseMode
->
setContext
(
context
);
addAutoReleasedObject
(
baseMode
);
// Add the Hello World action command to the mode manager (with 0 priority)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment