forked from qt-creator/qt-creator
remove trailing whitespace
doing it in 1.3 as well to avoid possible later conflicts
This commit is contained in:
@@ -215,8 +215,8 @@
|
||||
|
||||
\snippet examples/addressbook-sdk/part1/main.cpp main function
|
||||
|
||||
The code constructs a new \c AddressBook widget on the stack and
|
||||
invokes its \l{QWidget::}{show()} function to display it.
|
||||
The code constructs a new \c AddressBook widget on the stack and
|
||||
invokes its \l{QWidget::}{show()} function to display it.
|
||||
However, the widget will not be shown until the application's event
|
||||
loop is started. This is done by calling the application's
|
||||
\l{QApplication::}{exec()} function. Finally, the result returned by
|
||||
|
@@ -32,8 +32,8 @@ that you:
|
||||
the case that you have better ideas, discuss them with other developers
|
||||
before writing the code.
|
||||
\o Take advantage of Qt. Don't re-invent the wheel. Think about what parts
|
||||
of your code are generic enough that they might be incorporated into
|
||||
Qt proper.
|
||||
of your code are generic enough that they might be incorporated into
|
||||
Qt proper.
|
||||
\o Document interfaces. Right now we use qdoc, but changing to doxygen
|
||||
is being considered.
|
||||
\endlist
|
||||
@@ -108,7 +108,7 @@ in C++.
|
||||
\endcode
|
||||
|
||||
|
||||
\o Using Qt's foreach is ok in non-time critical code when using a QTL
|
||||
\o Using Qt's foreach is ok in non-time critical code when using a QTL
|
||||
container. It is a nice way to keep line noise down and to give the
|
||||
loop variable a proper name:
|
||||
|
||||
@@ -122,14 +122,14 @@ in C++.
|
||||
for (Container::iterator it = container.begin(); it != end; ++it)
|
||||
doSomething(*it);
|
||||
\endcode
|
||||
|
||||
If the loop variable can be made const, do so. This can prevent
|
||||
|
||||
If the loop variable can be made const, do so. This can prevent
|
||||
unnecessary detaching of shared data in some cases. So:
|
||||
|
||||
\code
|
||||
foreach (const QString &name, someListOfNames)
|
||||
doSomething(name);
|
||||
|
||||
|
||||
- NOT -
|
||||
|
||||
foreach (QString name, someListOfNames)
|
||||
@@ -157,7 +157,7 @@ Only one declaration on each line.
|
||||
-NOT-
|
||||
QString a = "Joe", b = "Foo"; // not used in Qt Creator
|
||||
\endcode
|
||||
[Note that 'QString a = "Joe"' is formally calling a copy constructor
|
||||
[Note that 'QString a = "Joe"' is formally calling a copy constructor
|
||||
on a temporary constructed from a string literal and therefore has the
|
||||
potential of being more expensive then direct construction by
|
||||
'QString a("joe")'. However the compiler is allowed to elide the copy
|
||||
@@ -166,7 +166,7 @@ Only one declaration on each line.
|
||||
line with the traditional C-style initialization, _and_ cannot be
|
||||
mistaken as function declaration, _and_ reduces the level of nested
|
||||
parantheses in more initializations.]
|
||||
|
||||
|
||||
|
||||
\section2 Pointers and references
|
||||
|
||||
@@ -439,7 +439,7 @@ Line breaks
|
||||
|
||||
\section2 File headers
|
||||
|
||||
If you create a new file, the top of the file should include a
|
||||
If you create a new file, the top of the file should include a
|
||||
header comment equal to the one found in other source files of Qt Creator.
|
||||
|
||||
\section2 Include order
|
||||
@@ -474,7 +474,7 @@ Line breaks
|
||||
You document for the other developers, not for yourself.
|
||||
In the header you should document interfaces, i.e. what the function does,
|
||||
not the implementation.
|
||||
In the .cpp files you document the implementation if the implementation
|
||||
In the .cpp files you document the implementation if the implementation
|
||||
in non-obvious.
|
||||
|
||||
|
||||
|
@@ -83,5 +83,5 @@ exit 0
|
||||
|
||||
|
||||
## Properly close subshell
|
||||
)
|
||||
)
|
||||
exit $?
|
||||
|
@@ -54,5 +54,5 @@ exit 0
|
||||
|
||||
|
||||
## Properly close subshell
|
||||
)
|
||||
)
|
||||
exit $?
|
||||
|
@@ -1075,7 +1075,7 @@ static void qDumpQAbstractItem(QDumper &d)
|
||||
{
|
||||
ModelIndex *mm = reinterpret_cast<ModelIndex *>(&mi);
|
||||
mm->r = mm->c = 0;
|
||||
mm->p = mm->m = 0;
|
||||
mm->p = mm->m = 0;
|
||||
static const char *printFormat = sizeof(void *) == sizeof(long) ?
|
||||
"%d,%d,0x%lx,0x%lx" : "%d,%d,0x%llx,0x%llx";
|
||||
sscanf(d.templateParameters[0], printFormat, &mm->r, &mm->c, &mm->p, &mm->m);
|
||||
@@ -2147,7 +2147,7 @@ static void qDumpQVariantHelper(const QVariant *v, QString *value,
|
||||
case QVariant::KeySequence:
|
||||
#ifndef QT_NO_SHORTCUT
|
||||
*value = qvariant_cast<QKeySequence>(*v).toString();
|
||||
#else
|
||||
#else
|
||||
*value = QString::fromLatin1("Disabled by QT_NO_SHORTCUT");
|
||||
#endif
|
||||
break;
|
||||
@@ -2800,7 +2800,7 @@ static void qDumpQSharedPointer(QDumper &d)
|
||||
const QSharedPointer<int> &ptr =
|
||||
*reinterpret_cast<const QSharedPointer<int> *>(d.data);
|
||||
|
||||
if (ptr.isNull()) {
|
||||
if (ptr.isNull()) {
|
||||
d.putItem("value", "<null>");
|
||||
d.putItem("valueeditable", "false");
|
||||
d.putItem("numchild", 0);
|
||||
@@ -3743,9 +3743,9 @@ static inline void dumpSizes(QDumper &d)
|
||||
const SizeMap::const_iterator cend = sizeMap.constEnd();
|
||||
for (SizeMap::const_iterator it = sizeMap.constBegin(); it != cend; ++it) {
|
||||
// new size list
|
||||
if (it.key() != lastSize) {
|
||||
if (it.key() != lastSize) {
|
||||
if (lastSize)
|
||||
d.put("],");
|
||||
d.put("],");
|
||||
d.put("[\"");
|
||||
d.put(it.key());
|
||||
lastSize = it.key();
|
||||
@@ -3755,7 +3755,7 @@ static inline void dumpSizes(QDumper &d)
|
||||
d.put(it.value());
|
||||
d.put('"');
|
||||
}
|
||||
d.put("]]");
|
||||
d.put("]]");
|
||||
}
|
||||
|
||||
extern "C" Q_DECL_EXPORT
|
||||
|
@@ -1,15 +1,15 @@
|
||||
TEMPLATE = lib
|
||||
CONFIG += shared
|
||||
linux-* {
|
||||
linux-* {
|
||||
CONFIG -= release
|
||||
CONFIG += debug
|
||||
}
|
||||
SOURCES = gdbmacros.cpp
|
||||
false {
|
||||
false {
|
||||
DEFINES += USE_QT_GUI=0
|
||||
QT = core
|
||||
}
|
||||
else {
|
||||
else {
|
||||
DEFINES += USE_QT_GUI=1
|
||||
QT = core \
|
||||
gui
|
||||
|
@@ -245,7 +245,7 @@ static int dumpQMapQStringString()
|
||||
test.insert(QLatin1String("42s"), QLatin1String("fortytwo"));
|
||||
test.insert(QLatin1String("423"), QLatin1String("fortytree"));
|
||||
}
|
||||
prepareInBuffer("QMap", "local.qmapqstringqstring", "local.qmapqstringqstring", "QString@QString");
|
||||
prepareInBuffer("QMap", "local.qmapqstringqstring", "local.qmapqstringqstring", "QString@QString");
|
||||
qDumpObjectData440(2, 42, testAddress(&test), 1, sizeof(QString), sizeof(QString), sizeof(mapNode), valueOffset);
|
||||
fputs(qDumpOutBuffer, stdout);
|
||||
fputc('\n', stdout);
|
||||
@@ -451,7 +451,7 @@ static int dumpStdQStringSet()
|
||||
|
||||
static int dumpStdMapIntString()
|
||||
{
|
||||
std::map<int,std::string> test;
|
||||
std::map<int,std::string> test;
|
||||
std::map<int,std::string>::value_type entry(42, std::string("fortytwo"));
|
||||
if (!optEmptyContainers) {
|
||||
test.insert(entry);
|
||||
|
@@ -62,10 +62,10 @@ using namespace CPlusPlus;
|
||||
|
||||
/*!
|
||||
\fn void Client::startExpandingMacro(unsigned offset, const Macro ¯o, const QByteArray &originalText, bool inCondition = false, const QVector<MacroArgumentReference> &actuals = QVector<MacroArgumentReference>())
|
||||
|
||||
|
||||
Called when starting to expand a macro. The parameter \a inCondition indicates whether the
|
||||
expansion is happening inside a preprocessor conditional.
|
||||
|
||||
|
||||
\sa stopExpandingMacro()
|
||||
*/
|
||||
|
||||
|
@@ -477,7 +477,7 @@ bool ResolveExpression::visit(CallAST *ast)
|
||||
}
|
||||
}
|
||||
|
||||
} else if (Function *funTy = ty->asFunctionType()) {
|
||||
} else if (Function *funTy = ty->asFunctionType()) {
|
||||
if (maybeValidPrototype(funTy, actualArgumentCount))
|
||||
addResult(funTy->returnType().simplified(), lastVisibleSymbol);
|
||||
|
||||
@@ -601,7 +601,7 @@ ResolveExpression::resolveBaseExpression(const QList<Result> &baseResults, int a
|
||||
Name *arrowAccessOp = control()->operatorNameId(OperatorNameId::ArrowOp);
|
||||
const QList<Symbol *> candidates = resolveClass(namedTy->name(), result, _context);
|
||||
|
||||
foreach (Symbol *classObject, candidates) {
|
||||
foreach (Symbol *classObject, candidates) {
|
||||
const QList<Result> overloads = resolveMember(arrowAccessOp, classObject->asClass(),
|
||||
namedTy->name());
|
||||
|
||||
@@ -715,16 +715,16 @@ ResolveExpression::resolveMember(Name *memberName, Class *klass,
|
||||
foreach (Symbol *candidate, candidates) {
|
||||
FullySpecifiedType ty = candidate->type();
|
||||
Name *unqualifiedNameId = className;
|
||||
|
||||
|
||||
if (QualifiedNameId *q = className->asQualifiedNameId())
|
||||
unqualifiedNameId = q->unqualifiedNameId();
|
||||
|
||||
|
||||
if (TemplateNameId *templId = unqualifiedNameId->asTemplateNameId()) {
|
||||
GenTemplateInstance::Substitution subst;
|
||||
|
||||
|
||||
for (unsigned i = 0; i < templId->templateArgumentCount(); ++i) {
|
||||
FullySpecifiedType templArgTy = templId->templateArgumentAt(i);
|
||||
|
||||
|
||||
if (i < klass->templateParameterCount()) {
|
||||
Name *templArgName = klass->templateParameterAt(i)->name();
|
||||
if (templArgName && templArgName->identifier()) {
|
||||
@@ -733,11 +733,11 @@ ResolveExpression::resolveMember(Name *memberName, Class *klass,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
GenTemplateInstance inst(_context, subst);
|
||||
ty = inst(candidate);
|
||||
}
|
||||
|
||||
|
||||
results.append(Result(ty, candidate));
|
||||
}
|
||||
|
||||
|
@@ -46,7 +46,7 @@ public:
|
||||
QMap<QString, QString> *foundAppOptions,
|
||||
QString *errorString,
|
||||
PluginManagerPrivate *pmPrivate);
|
||||
|
||||
|
||||
bool parse();
|
||||
|
||||
static const char *NO_LOAD_OPTION;
|
||||
@@ -63,13 +63,13 @@ private:
|
||||
|
||||
enum TokenType { OptionalToken, RequiredToken };
|
||||
bool nextToken(TokenType type = OptionalToken);
|
||||
|
||||
|
||||
const QStringList &m_args;
|
||||
const QMap<QString, bool> &m_appOptions;
|
||||
QMap<QString, QString> *m_foundAppOptions;
|
||||
QString *m_errorString;
|
||||
PluginManagerPrivate *m_pmPrivate;
|
||||
|
||||
|
||||
// state
|
||||
QString m_currentArg;
|
||||
QStringList::const_iterator m_it;
|
||||
|
@@ -52,7 +52,7 @@ class EXTENSIONSYSTEM_EXPORT PluginDetailsView : public QWidget
|
||||
public:
|
||||
PluginDetailsView(QWidget *parent = 0);
|
||||
~PluginDetailsView();
|
||||
|
||||
|
||||
void update(PluginSpec *spec);
|
||||
|
||||
private:
|
||||
|
@@ -328,12 +328,12 @@ QList<PluginSpec *> PluginManager::plugins() const
|
||||
The caller (the application) may register itself for options via the \a appOptions list, containing pairs
|
||||
of "option string" and a bool that indicates if the option requires an argument.
|
||||
Application options always override any plugin's options.
|
||||
|
||||
|
||||
\a foundAppOptions is set to pairs of ("option string", "argument") for any application options that were found.
|
||||
The command line options that were not processed can be retrieved via the arguments() method.
|
||||
If an error occurred (like missing argument for an option that requires one), \a errorString contains
|
||||
a descriptive message of the error.
|
||||
|
||||
|
||||
Returns if there was an error.
|
||||
*/
|
||||
bool PluginManager::parseOptions(const QStringList &args,
|
||||
|
@@ -72,7 +72,7 @@ Q_DECLARE_METATYPE(ExtensionSystem::PluginSpec*);
|
||||
given plugin \a manager with a given \a parent widget.
|
||||
*/
|
||||
PluginView::PluginView(PluginManager *manager, QWidget *parent)
|
||||
: QWidget(parent),
|
||||
: QWidget(parent),
|
||||
m_ui(new Internal::Ui::PluginView),
|
||||
p(new Internal::PluginViewPrivate)
|
||||
{
|
||||
|
@@ -31,7 +31,7 @@
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
namespace Utils {
|
||||
namespace Utils {
|
||||
|
||||
QStringList AbstractProcess::fixWinEnvironment(const QStringList &env)
|
||||
{
|
||||
|
@@ -55,7 +55,7 @@ using namespace Utils;
|
||||
|
||||
/*!
|
||||
\class Utils::SavedAction
|
||||
|
||||
|
||||
\brief The SavedAction class is a helper class for actions with persistent
|
||||
state.
|
||||
|
||||
@@ -233,7 +233,7 @@ QAction *SavedAction::updatedAction(const QString &text0)
|
||||
}
|
||||
|
||||
/*
|
||||
Uses \c settingsGroup() and \c settingsKey() to restore the
|
||||
Uses \c settingsGroup() and \c settingsKey() to restore the
|
||||
item from \a settings,
|
||||
|
||||
\sa settingsKey(), settingsGroup(), writeSettings()
|
||||
@@ -254,7 +254,7 @@ void SavedAction::readSettings(QSettings *settings)
|
||||
}
|
||||
|
||||
/*
|
||||
Uses \c settingsGroup() and \c settingsKey() to write the
|
||||
Uses \c settingsGroup() and \c settingsKey() to write the
|
||||
item to \a settings,
|
||||
|
||||
\sa settingsKey(), settingsGroup(), readSettings()
|
||||
@@ -268,12 +268,12 @@ void SavedAction::writeSettings(QSettings *settings)
|
||||
//qDebug() << "WRITING: " << m_settingsKey << " -> " << toString();
|
||||
settings->endGroup();
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
A \c SavedAction can be connected to a widget, typically a
|
||||
checkbox, radiobutton, or a lineedit in some configuration dialog.
|
||||
|
||||
The widget will retrieve its contents from the SavedAction's
|
||||
The widget will retrieve its contents from the SavedAction's
|
||||
value, and - depending on the \a ApplyMode - either write
|
||||
changes back immediately, or when \s SavedAction::apply()
|
||||
is called explicitly.
|
||||
@@ -286,7 +286,7 @@ void SavedAction::connectWidget(QWidget *widget, ApplyMode applyMode)
|
||||
qDebug() << "ALREADY CONNECTED: " << widget << m_widget << toString(); return);
|
||||
m_widget = widget;
|
||||
m_applyMode = applyMode;
|
||||
|
||||
|
||||
if (QAbstractButton *button = qobject_cast<QAbstractButton *>(widget)) {
|
||||
if (button->isCheckable()) {
|
||||
button->setChecked(m_value.toBool());
|
||||
@@ -298,14 +298,14 @@ void SavedAction::connectWidget(QWidget *widget, ApplyMode applyMode)
|
||||
}
|
||||
} else if (QSpinBox *spinBox = qobject_cast<QSpinBox *>(widget)) {
|
||||
spinBox->setValue(m_value.toInt());
|
||||
//qDebug() << "SETTING VALUE" << spinBox->value();
|
||||
//qDebug() << "SETTING VALUE" << spinBox->value();
|
||||
connect(spinBox, SIGNAL(valueChanged(int)),
|
||||
this, SLOT(spinBoxValueChanged(int)));
|
||||
connect(spinBox, SIGNAL(valueChanged(QString)),
|
||||
this, SLOT(spinBoxValueChanged(QString)));
|
||||
} else if (QLineEdit *lineEdit = qobject_cast<QLineEdit *>(widget)) {
|
||||
lineEdit->setText(m_value.toString());
|
||||
//qDebug() << "SETTING TEXT" << lineEdit->text();
|
||||
//qDebug() << "SETTING TEXT" << lineEdit->text();
|
||||
connect(lineEdit, SIGNAL(editingFinished()),
|
||||
this, SLOT(lineEditEditingFinished()));
|
||||
} else if (PathChooser *pathChooser = qobject_cast<PathChooser *>(widget)) {
|
||||
|
@@ -72,7 +72,7 @@ public:
|
||||
|
||||
virtual void readSettings(QSettings *settings);
|
||||
Q_SLOT virtual void writeSettings(QSettings *settings);
|
||||
|
||||
|
||||
virtual void connectWidget(QWidget *widget, ApplyMode applyMode = DeferedApply);
|
||||
virtual void disconnectWidget();
|
||||
Q_SLOT virtual void apply(QSettings *settings);
|
||||
|
@@ -236,7 +236,7 @@ static QString wrappedText(const QTextEdit *e)
|
||||
const QChar newLine = QLatin1Char('\n');
|
||||
QString rc;
|
||||
QTextCursor cursor(e->document());
|
||||
cursor.movePosition(QTextCursor::Start);
|
||||
cursor.movePosition(QTextCursor::Start);
|
||||
while (!cursor.atEnd()) {
|
||||
cursor.select(QTextCursor::LineUnderCursor);
|
||||
rc += cursor.selectedText();
|
||||
@@ -272,7 +272,7 @@ void SubmitEditorWidget::setLineWrap(bool v)
|
||||
qDebug() << Q_FUNC_INFO << v;
|
||||
if (v) {
|
||||
m_d->m_ui.description->setLineWrapColumnOrWidth(m_d->m_lineWidth);
|
||||
m_d->m_ui.description->setLineWrapMode(QTextEdit::FixedColumnWidth);
|
||||
m_d->m_ui.description->setLineWrapMode(QTextEdit::FixedColumnWidth);
|
||||
} else {
|
||||
m_d->m_ui.description->setLineWrapMode(QTextEdit::NoWrap);
|
||||
}
|
||||
@@ -488,7 +488,7 @@ void SubmitEditorWidget::insertDescriptionEditContextMenuAction(int pos, QAction
|
||||
|
||||
void SubmitEditorWidget::editorCustomContextMenuRequested(const QPoint &pos)
|
||||
{
|
||||
QMenu *menu = m_d->m_ui.description->createStandardContextMenu();
|
||||
QMenu *menu = m_d->m_ui.description->createStandardContextMenu();
|
||||
// Extend
|
||||
foreach (const SubmitEditorWidgetPrivate::AdditionalContextMenuAction &a, m_d->descriptionEditContextMenuActions) {
|
||||
if (a.second) {
|
||||
|
@@ -104,7 +104,7 @@ void FieldEntry::deleteGuiLater()
|
||||
clearButton->deleteLater();
|
||||
browseButton->deleteLater();
|
||||
toolBar->deleteLater();
|
||||
lineEdit->deleteLater();
|
||||
lineEdit->deleteLater();
|
||||
combo->deleteLater();
|
||||
layout->deleteLater();
|
||||
}
|
||||
@@ -193,7 +193,7 @@ void SubmitFieldWidget::setFields(const QStringList & f)
|
||||
{
|
||||
// remove old fields
|
||||
for (int i = m_d->fieldEntries.size() - 1 ; i >= 0 ; i--)
|
||||
removeField(i);
|
||||
removeField(i);
|
||||
|
||||
m_d->fields = f;
|
||||
if (!f.empty())
|
||||
|
@@ -37,7 +37,7 @@ SOURCES += reloadpromptutils.cpp \
|
||||
fancymainwindow.cpp \
|
||||
detailsbutton.cpp \
|
||||
detailswidget.cpp
|
||||
win32 {
|
||||
win32 {
|
||||
SOURCES += abstractprocess_win.cpp \
|
||||
consoleprocess_win.cpp \
|
||||
winutils.cpp
|
||||
|
@@ -98,7 +98,7 @@ QTCREATOR_UTILS_EXPORT QString winGetDLLVersion(WinDLLVersionType t,
|
||||
if (!(*verQueryValueW)(data, TEXT("\\"), &versionInfo, &len)) {
|
||||
*errorMessage = QString::fromLatin1("Unable to determine version string of %1: %2").arg(name, winErrorMessage(GetLastError()));
|
||||
return QString();
|
||||
}
|
||||
}
|
||||
QString rc;
|
||||
switch (t) {
|
||||
case WinDLLFileVersion:
|
||||
|
@@ -368,7 +368,7 @@ void CMakeRunPage::initializePage()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
m_generatorComboBox->clear();
|
||||
// Find out whether we have multiple msvc versions
|
||||
QStringList msvcVersions = ProjectExplorer::ToolChain::availableMSVCVersions();
|
||||
@@ -412,7 +412,7 @@ void CMakeRunPage::runCMake()
|
||||
generator = "-GCodeBlocks - NMake Makefiles";
|
||||
m_cmakeWizard->setMsvcVersion(version);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#else // Q_OS_WIN
|
||||
QString generator = QLatin1String("-GCodeBlocks - Unix Makefiles");
|
||||
|
@@ -51,7 +51,7 @@ CMakeManager::CMakeManager(CMakeSettingsPage *cmakeSettingsPage)
|
||||
{
|
||||
Core::UniqueIDManager *uidm = Core::UniqueIDManager::instance();
|
||||
m_projectContext = uidm->uniqueIdentifier(CMakeProjectManager::Constants::PROJECTCONTEXT);
|
||||
m_projectLanguage = uidm->uniqueIdentifier(ProjectExplorer::Constants::LANG_CXX);
|
||||
m_projectLanguage = uidm->uniqueIdentifier(ProjectExplorer::Constants::LANG_CXX);
|
||||
}
|
||||
|
||||
int CMakeManager::projectContext() const
|
||||
@@ -115,7 +115,7 @@ void CMakeManager::createXmlFile(QProcess *proc, const QStringList &arguments, c
|
||||
proc->setProcessChannelMode(QProcess::MergedChannels);
|
||||
proc->setEnvironment(env.toStringList());
|
||||
|
||||
const QString srcdir = buildDirectory.exists(QLatin1String("CMakeCache.txt")) ? QString(QLatin1Char('.')) : sourceDirectory;
|
||||
const QString srcdir = buildDirectory.exists(QLatin1String("CMakeCache.txt")) ? QString(QLatin1Char('.')) : sourceDirectory;
|
||||
proc->start(cmakeExecutable(), QStringList() << srcdir << arguments << generator);
|
||||
}
|
||||
|
||||
|
@@ -20,6 +20,6 @@ SOURCES = cmakeproject.cpp \
|
||||
cmakeopenprojectwizard.cpp \
|
||||
cmakebuildenvironmentwidget.cpp
|
||||
RESOURCES += cmakeproject.qrc
|
||||
FORMS +=
|
||||
FORMS +=
|
||||
|
||||
OTHER_FILES += CMakeProjectManager.pluginspec
|
||||
|
@@ -126,7 +126,7 @@ public:
|
||||
|
||||
protected:
|
||||
void updateToolTipWithKeySequence();
|
||||
|
||||
|
||||
QAction *m_action;
|
||||
QList<CommandLocation> m_locations;
|
||||
QString m_toolTip;
|
||||
|
@@ -40,7 +40,7 @@ namespace Core {
|
||||
namespace Internal {
|
||||
|
||||
struct ShortcutItem;
|
||||
|
||||
|
||||
class CommandsFile : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
@@ -166,7 +166,7 @@ FORMS += dialogs/newdialog.ui \
|
||||
generalsettings.ui
|
||||
RESOURCES += core.qrc \
|
||||
fancyactionbar.qrc
|
||||
unix:!macx {
|
||||
unix:!macx {
|
||||
images.files = images/qtcreator_logo_*.png
|
||||
images.path = /share/pixmaps
|
||||
INSTALLS += images
|
||||
|
@@ -120,7 +120,7 @@ public:
|
||||
const QString &contents = QString());
|
||||
|
||||
bool openExternalEditor(const QString &fileName, const QString &editorKind);
|
||||
|
||||
|
||||
QStringList getOpenFileNames() const;
|
||||
QString getOpenWithEditorKind(const QString &fileName, bool *isExternalEditor = 0) const;
|
||||
|
||||
|
@@ -170,7 +170,7 @@ public:
|
||||
|
||||
inline bool isView() const { return m_view != 0; }
|
||||
inline bool isRoot() const { return m_isRoot; }
|
||||
|
||||
|
||||
inline bool isSplitter() const { return m_splitter != 0; }
|
||||
inline Core::IEditor *editor() const { return m_view ? m_view->currentEditor() : 0; }
|
||||
inline QList<Core::IEditor *> editors() const { return m_view ? m_view->editors() : QList<Core::IEditor*>(); }
|
||||
|
@@ -26,7 +26,7 @@
|
||||
** contact the sales department at http://qt.nokia.com/contact.
|
||||
**
|
||||
**************************************************************************/
|
||||
|
||||
|
||||
#ifndef OPENEDITORSVIEW_H
|
||||
#define OPENEDITORSVIEW_H
|
||||
|
||||
|
@@ -284,7 +284,7 @@ public:
|
||||
|
||||
void mousePressEvent(QMouseEvent *ev)
|
||||
{
|
||||
if (ev->modifiers() & Qt::ShiftModifier)
|
||||
if (ev->modifiers() & Qt::ShiftModifier)
|
||||
Utils::StyleHelper::setBaseColor(QColorDialog::getColor(Utils::StyleHelper::baseColor(), m_parent));
|
||||
}
|
||||
private:
|
||||
|
@@ -58,7 +58,7 @@ public:
|
||||
virtual QString displayName() = 0;
|
||||
virtual QKeySequence activationSequence();
|
||||
// This design is not optimal, think about it again once we need to extend it
|
||||
// It could be implemented as returning an object which has both the widget
|
||||
// It could be implemented as returning an object which has both the widget
|
||||
// and the docktoolbar widgets
|
||||
// Similar to how IView
|
||||
virtual NavigationView createWidget() = 0;
|
||||
|
@@ -138,7 +138,7 @@ static OutputPaneManager *m_instance = 0;
|
||||
|
||||
void OutputPaneManager::create()
|
||||
{
|
||||
m_instance = new OutputPaneManager;
|
||||
m_instance = new OutputPaneManager;
|
||||
}
|
||||
|
||||
void OutputPaneManager::destroy()
|
||||
|
@@ -37,13 +37,13 @@
|
||||
#include <QtGui/QPainter>
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
/*
|
||||
/*
|
||||
* This is a set of helper classes to allow for widget animations in
|
||||
* the style. Its mostly taken from Vista style so it should be fully documented
|
||||
* there.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class Animation
|
||||
{
|
||||
public :
|
||||
@@ -92,7 +92,7 @@ public:
|
||||
void startAnimation(Animation *);
|
||||
void stopAnimation(const QWidget *);
|
||||
Animation* widgetAnimation(const QWidget *) const;
|
||||
|
||||
|
||||
private:
|
||||
QBasicTimer animationTimer;
|
||||
QList <Animation*> animations;
|
||||
|
@@ -82,8 +82,8 @@ VersionDialog::VersionDialog(QWidget *parent)
|
||||
"The program is provided AS IS with NO WARRANTY OF ANY KIND, "
|
||||
"INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A "
|
||||
"PARTICULAR PURPOSE.<br/>")
|
||||
.arg(version, QLatin1String(QT_VERSION_STR), QString::number(QSysInfo::WordSize),
|
||||
QLatin1String(__DATE__), QLatin1String(__TIME__), QLatin1String(IDE_YEAR),
|
||||
.arg(version, QLatin1String(QT_VERSION_STR), QString::number(QSysInfo::WordSize),
|
||||
QLatin1String(__DATE__), QLatin1String(__TIME__), QLatin1String(IDE_YEAR),
|
||||
(QLatin1String(IDE_AUTHOR)), ideRev);
|
||||
|
||||
QLabel *copyRightLabel = new QLabel(description);
|
||||
|
@@ -78,7 +78,7 @@ ClassNamePage::ClassNamePage(QWidget *parent) :
|
||||
|
||||
connect(m_newClassWidget, SIGNAL(validChanged()), this, SLOT(slotValidChanged()));
|
||||
|
||||
QVBoxLayout *pageLayout = new QVBoxLayout(this);
|
||||
QVBoxLayout *pageLayout = new QVBoxLayout(this);
|
||||
pageLayout->addWidget(m_newClassWidget);
|
||||
QSpacerItem *vSpacer = new QSpacerItem(0, 0, QSizePolicy::Ignored, QSizePolicy::Expanding);
|
||||
pageLayout->addItem(vSpacer);
|
||||
|
@@ -759,7 +759,7 @@ CPlusPlus::Symbol *CPPEditor::findCanonicalSymbol(const QTextCursor &cursor,
|
||||
|
||||
|
||||
void CPPEditor::findUsages()
|
||||
{
|
||||
{
|
||||
if (Symbol *canonicalSymbol = markSymbols()) {
|
||||
m_modelManager->findUsages(canonicalSymbol);
|
||||
}
|
||||
@@ -1802,7 +1802,7 @@ const char *CPPEditorEditable::kind() const
|
||||
|
||||
bool CPPEditorEditable::open(const QString & fileName)
|
||||
{
|
||||
bool b = TextEditor::BaseTextEditorEditable::open(fileName);
|
||||
bool b = TextEditor::BaseTextEditorEditable::open(fileName);
|
||||
editor()->setMimeType(Core::ICore::instance()->mimeDatabase()->findByFile(QFileInfo(fileName)).type());
|
||||
return b;
|
||||
}
|
||||
|
@@ -259,7 +259,7 @@ bool CppPlugin::initialize(const QStringList & /*arguments*/, QString *errorMess
|
||||
| TextEditor::TextEditorActionHandler::UnCollapseAll);
|
||||
|
||||
m_actionHandler->initializeActions();
|
||||
|
||||
|
||||
contextMenu->addAction(createSeparator(am, this, context, CppEditor::Constants::SEPARATOR));
|
||||
|
||||
cmd = am->command(TextEditor::Constants::AUTO_INDENT_SELECTION);
|
||||
|
@@ -55,7 +55,7 @@ struct CppFileSettings {
|
||||
|
||||
void toSettings(QSettings *) const;
|
||||
void fromSettings(QSettings *);
|
||||
bool applySuffixesToMimeDB();
|
||||
bool applySuffixesToMimeDB();
|
||||
|
||||
// Convenience to return a license template completely formatted.
|
||||
// Currently made public in
|
||||
@@ -77,7 +77,7 @@ public:
|
||||
CppFileSettings settings() const;
|
||||
void setSettings(const CppFileSettings &s);
|
||||
|
||||
private slots:
|
||||
private slots:
|
||||
void slotEdit();
|
||||
|
||||
private:
|
||||
|
@@ -104,7 +104,7 @@ public:
|
||||
|
||||
public Q_SLOTS:
|
||||
void updateModifiedSourceFiles();
|
||||
virtual void updateSourceFiles(const QStringList &sourceFiles) = 0;
|
||||
virtual void updateSourceFiles(const QStringList &sourceFiles) = 0;
|
||||
virtual void GC() = 0;
|
||||
};
|
||||
|
||||
|
@@ -130,7 +130,7 @@ public:
|
||||
// return;
|
||||
if (m_data->markerLineNumber != lineNumber) {
|
||||
m_data->markerLineNumber = lineNumber;
|
||||
// FIXME: should we tell gdb about the change?
|
||||
// FIXME: should we tell gdb about the change?
|
||||
// Ignore it for now, as we would require re-compilation
|
||||
// and debugger re-start anyway.
|
||||
if (0 && !m_data->bpLineNumber.isEmpty()) {
|
||||
@@ -171,10 +171,10 @@ BreakpointData::BreakpointData(BreakHandler *handler)
|
||||
bpMultiple = false;
|
||||
//#if defined(Q_OS_MAC)
|
||||
// // full names do not work on Mac/MI
|
||||
useFullPath = false;
|
||||
useFullPath = false;
|
||||
//#else
|
||||
// //where = m_manager->shortName(data->fileName);
|
||||
// useFullPath = true;
|
||||
// useFullPath = true;
|
||||
//#endif
|
||||
}
|
||||
|
||||
@@ -491,7 +491,7 @@ QVariant BreakHandler::data(const QModelIndex &mi, int role) const
|
||||
// str = data->markerFileName;
|
||||
str = str.isEmpty() ? empty : str;
|
||||
if (data->useFullPath)
|
||||
str = "/.../" + str;
|
||||
str = "/.../" + str;
|
||||
return str;
|
||||
}
|
||||
if (role == Qt::UserRole)
|
||||
@@ -574,7 +574,7 @@ bool BreakHandler::setData(const QModelIndex &mi, const QVariant &value, int rol
|
||||
}
|
||||
return true;
|
||||
}
|
||||
default: {
|
||||
default: {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@@ -318,7 +318,7 @@ void BreakWindow::resizeColumnsToContents()
|
||||
void BreakWindow::setAlwaysResizeColumnsToContents(bool on)
|
||||
{
|
||||
m_alwaysResizeColumnsToContents = on;
|
||||
QHeaderView::ResizeMode mode = on
|
||||
QHeaderView::ResizeMode mode = on
|
||||
? QHeaderView::ResizeToContents : QHeaderView::Interactive;
|
||||
for (int i = model()->columnCount(); --i >= 0; )
|
||||
header()->setResizeMode(i, mode);
|
||||
|
@@ -1,5 +1,5 @@
|
||||
# Detect presence of "Debugging Tools For Windows"
|
||||
# in case VS compilers are used.
|
||||
# in case VS compilers are used.
|
||||
|
||||
win32 {
|
||||
contains(QMAKE_CXX, cl) {
|
||||
|
@@ -105,7 +105,7 @@ void CDBBreakPoint::clear()
|
||||
ignoreCount = 0;
|
||||
oneShot = false;
|
||||
enabled = true;
|
||||
clearExpressionData();
|
||||
clearExpressionData();
|
||||
}
|
||||
|
||||
void CDBBreakPoint::clearExpressionData()
|
||||
@@ -516,7 +516,7 @@ bool CDBBreakPoint::synchronizeBreakPoints(CIDebugControl* debugControl,
|
||||
CIDebugSymbols *syms,
|
||||
BreakHandler *handler,
|
||||
QString *errorMessage, QStringList *warnings)
|
||||
{
|
||||
{
|
||||
errorMessage->clear();
|
||||
warnings->clear();
|
||||
// Do an initial check whether we are in a state that allows
|
||||
|
@@ -308,7 +308,7 @@ CdbDebugEnginePrivate::CdbDebugEnginePrivate(DebuggerManager *manager,
|
||||
m_eventThreadId(-1),
|
||||
m_interruptArticifialThreadId(-1),
|
||||
m_ignoreInitialBreakPoint(false),
|
||||
m_interrupted(false),
|
||||
m_interrupted(false),
|
||||
m_watchTimer(-1),
|
||||
m_debugEventCallBack(engine),
|
||||
m_engine(engine),
|
||||
@@ -788,7 +788,7 @@ bool CdbDebugEngine::startDebuggerWithExecutable(DebuggerStartMode sm, QString *
|
||||
}
|
||||
|
||||
void CdbDebugEnginePrivate::processCreatedAttached(ULONG64 processHandle, ULONG64 initialThreadHandle)
|
||||
{
|
||||
{
|
||||
m_engine->setState(InferiorRunningRequested, Q_FUNC_INFO, __LINE__);
|
||||
setDebuggeeHandles(reinterpret_cast<HANDLE>(processHandle), reinterpret_cast<HANDLE>(initialThreadHandle));
|
||||
ULONG currentThreadId;
|
||||
@@ -845,7 +845,7 @@ bool CdbDebugEnginePrivate::endInferior(EndInferiorAction action, QString *error
|
||||
}
|
||||
bool success = false;
|
||||
switch (action) {
|
||||
case DetachInferior: {
|
||||
case DetachInferior: {
|
||||
const HRESULT hr = m_cif.debugClient->DetachCurrentProcess();
|
||||
if (SUCCEEDED(hr)) {
|
||||
success = true;
|
||||
@@ -1089,7 +1089,7 @@ bool CdbDebugEngine::step(unsigned long executionStatus)
|
||||
str << 'p';
|
||||
break;
|
||||
case DEBUG_STATUS_STEP_INTO:
|
||||
str << 't';
|
||||
str << 't';
|
||||
break;
|
||||
case CdbExtendedExecutionStatusStepOut:
|
||||
str << "gu";
|
||||
@@ -1126,7 +1126,7 @@ void CdbDebugEngine::nextExec()
|
||||
}
|
||||
|
||||
void CdbDebugEngine::stepIExec()
|
||||
{
|
||||
{
|
||||
stepExec(); // Step into by instruction (figured out by step)
|
||||
}
|
||||
|
||||
@@ -1143,7 +1143,7 @@ void CdbDebugEngine::stepOutExec()
|
||||
|
||||
void CdbDebugEngine::continueInferior()
|
||||
{
|
||||
QString errorMessage;
|
||||
QString errorMessage;
|
||||
if (!m_d->continueInferior(&errorMessage))
|
||||
warning(msgFunctionFailed(Q_FUNC_INFO, errorMessage));
|
||||
}
|
||||
@@ -1381,7 +1381,7 @@ void CdbDebugEngine::activateFrame(int frameIndex)
|
||||
QString errorMessage;
|
||||
bool success = false;
|
||||
StackHandler *stackHandler = manager()->stackHandler();
|
||||
do {
|
||||
do {
|
||||
WatchHandler *watchHandler = manager()->watchHandler();
|
||||
const int oldIndex = stackHandler->currentIndex();
|
||||
if (frameIndex >= stackHandler->stackSize()) {
|
||||
@@ -1493,7 +1493,7 @@ void CdbDebugEngine::fetchDisassembler(DisassemblerViewAgent *agent,
|
||||
bool ok = false;
|
||||
QString errorMessage;
|
||||
do {
|
||||
// get address
|
||||
// get address
|
||||
QString address;
|
||||
if (!frame.file.isEmpty())
|
||||
address = frame.address;
|
||||
@@ -1780,7 +1780,7 @@ bool CdbDebugEnginePrivate::setCDBThreadId(unsigned long threadId, QString *erro
|
||||
return false;
|
||||
}
|
||||
const QString msg = CdbDebugEngine::tr("Changing threads: %1 -> %2").arg(currentThreadId).arg(threadId);
|
||||
m_engine->showStatusMessage(msg, 500);
|
||||
m_engine->showStatusMessage(msg, 500);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1855,7 +1855,7 @@ void CdbDebugEnginePrivate::updateStackTrace()
|
||||
break;
|
||||
}
|
||||
// Visibly warn the users about missing top frames/all frames, as they otherwise
|
||||
// might think stepping is broken.
|
||||
// might think stepping is broken.
|
||||
if (!stackFrames.at(0).isUsable()) {
|
||||
const QString topFunction = count ? stackFrames.at(0).function : QString();
|
||||
const QString msg = current >= 0 ?
|
||||
|
@@ -73,8 +73,8 @@ public:
|
||||
virtual void nextExec();
|
||||
virtual void stepIExec();
|
||||
virtual void nextIExec();
|
||||
|
||||
virtual void continueInferior();
|
||||
|
||||
virtual void continueInferior();
|
||||
virtual void interruptInferior();
|
||||
|
||||
virtual void runToLineExec(const QString &fileName, int lineNumber);
|
||||
@@ -110,7 +110,7 @@ protected:
|
||||
private slots:
|
||||
void slotConsoleStubStarted();
|
||||
void slotConsoleStubError(const QString &msg);
|
||||
void slotConsoleStubTerminated();
|
||||
void slotConsoleStubTerminated();
|
||||
void warning(const QString &w);
|
||||
|
||||
private:
|
||||
|
@@ -157,7 +157,7 @@ struct CdbDebugEnginePrivate
|
||||
const QSharedPointer<CdbOptions> m_options;
|
||||
HANDLE m_hDebuggeeProcess;
|
||||
HANDLE m_hDebuggeeThread;
|
||||
bool m_interrupted;
|
||||
bool m_interrupted;
|
||||
int m_currentThreadId;
|
||||
int m_eventThreadId;
|
||||
int m_interruptArticifialThreadId;
|
||||
@@ -167,7 +167,7 @@ struct CdbDebugEnginePrivate
|
||||
int m_watchTimer;
|
||||
CdbComInterfaces m_cif;
|
||||
CdbDebugEventCallback m_debugEventCallBack;
|
||||
CdbDebugOutput m_debugOutputCallBack;
|
||||
CdbDebugOutput m_debugOutputCallBack;
|
||||
QSharedPointer<CdbDumperHelper> m_dumper;
|
||||
QString m_baseImagePath;
|
||||
|
||||
|
@@ -121,7 +121,7 @@ STDMETHODIMP CdbDebugEventCallbackBase::CreateProcess(
|
||||
__in ULONG64 /* ThreadDataOffset */,
|
||||
__in ULONG64 /* StartOffset */
|
||||
)
|
||||
{
|
||||
{
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
@@ -143,7 +143,7 @@ STDMETHODIMP CdbDebugEventCallbackBase::LoadModule(
|
||||
__in ULONG /* CheckSum */,
|
||||
__in ULONG /* TimeDateStamp */
|
||||
)
|
||||
{
|
||||
{
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
@@ -196,7 +196,7 @@ STDMETHODIMP CdbDebugEventCallbackBase::ChangeSymbolState(
|
||||
__in ULONG /* Flags */,
|
||||
__in ULONG64 /* Argument */
|
||||
)
|
||||
{
|
||||
{
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
|
@@ -331,7 +331,7 @@ void CdbDumperInitThread ::run()
|
||||
case CdbDumperHelper::Loaded: // Injection load succeeded, ideally
|
||||
break;
|
||||
}
|
||||
// Perform remaining initialization
|
||||
// Perform remaining initialization
|
||||
emit statusMessage(QCoreApplication::translate("Debugger::Internal::CdbDumperHelper", "Initializing dumpers..."), 60000);
|
||||
m_ok = m_helper.initResolveSymbols(m_errorMessage) && m_helper.initKnownTypes(m_errorMessage);
|
||||
}
|
||||
@@ -656,7 +656,7 @@ CdbDumperHelper::DumpResult CdbDumperHelper::dumpTypeI(const WatchData &wd, bool
|
||||
{
|
||||
errorMessage->clear();
|
||||
// Check failure cache and supported types
|
||||
if (m_state == Disabled) {
|
||||
if (m_state == Disabled) {
|
||||
*errorMessage =m_msgDisabled;
|
||||
return DumpNotHandled;
|
||||
}
|
||||
|
@@ -85,7 +85,7 @@ ExceptionBlocker::ExceptionBlocker(CIDebugControl *ctrl, ULONG code, Mode m) :
|
||||
{
|
||||
// Retrieve current state
|
||||
memset(&m_oldParameters, 0, sizeof(DEBUG_EXCEPTION_FILTER_PARAMETERS));
|
||||
if (getExceptionParameters(ctrl, code, &m_oldParameters, &m_errorString)) {
|
||||
if (getExceptionParameters(ctrl, code, &m_oldParameters, &m_errorString)) {
|
||||
// Are we in a nested instantiation?
|
||||
const ULONG desiredExOption = m == IgnoreException ? DEBUG_FILTER_IGNORE : DEBUG_FILTER_OUTPUT;
|
||||
const bool isAlreadyBlocked = m_oldParameters.ExecutionOption == desiredExOption
|
||||
|
@@ -64,7 +64,7 @@ bool getModuleNameList(CIDebugSymbols *syms, QStringList *modules, QString *erro
|
||||
}
|
||||
|
||||
bool getModuleList(CIDebugSymbols *syms, QList<Module> *modules, QString *errorMessage)
|
||||
{
|
||||
{
|
||||
ULONG count;
|
||||
modules->clear();
|
||||
if (!getModuleCount(syms, &count, errorMessage))
|
||||
@@ -105,7 +105,7 @@ bool getModuleList(CIDebugSymbols *syms, QList<Module> *modules, QString *errorM
|
||||
bool searchSymbols(CIDebugSymbols *syms, const QString &pattern,
|
||||
QStringList *matches, QString *errorMessage)
|
||||
{
|
||||
matches->clear();
|
||||
matches->clear();
|
||||
ULONG64 handle = 0;
|
||||
// E_NOINTERFACE means "no match". Apparently, it does not always
|
||||
// set handle.
|
||||
|
@@ -130,7 +130,7 @@ WatchHandleDumperInserter::WatchHandleDumperInserter(WatchHandler *wh,
|
||||
|
||||
// Prevent recursion of the model by setting value and type
|
||||
static inline bool fixDumperType(WatchData *wd, const WatchData *source = 0)
|
||||
{
|
||||
{
|
||||
const bool missing = wd->isTypeNeeded() || wd->type.isEmpty();
|
||||
if (missing) {
|
||||
static const QString unknownType = QCoreApplication::translate("CdbStackFrameContext", "<Unknown Type>");
|
||||
|
@@ -54,7 +54,7 @@ public:
|
||||
|
||||
explicit CdbStackFrameContext(const QSharedPointer<CdbDumperHelper> &dumper,
|
||||
CdbSymbolGroupContext *symbolContext);
|
||||
~CdbStackFrameContext();
|
||||
~CdbStackFrameContext();
|
||||
|
||||
bool assignValue(const QString &iname, const QString &value,
|
||||
QString *newValue /* = 0 */, QString *errorMessage);
|
||||
|
@@ -58,7 +58,7 @@ CdbStackTraceContext::CdbStackTraceContext(const QSharedPointer<CdbDumperHelper>
|
||||
CdbStackTraceContext *CdbStackTraceContext::create(const QSharedPointer<CdbDumperHelper> &dumper,
|
||||
unsigned long threadId,
|
||||
QString *errorMessage)
|
||||
{
|
||||
{
|
||||
if (debugCDB)
|
||||
qDebug() << Q_FUNC_INFO << threadId;
|
||||
// fill the DEBUG_STACK_FRAME array
|
||||
@@ -124,7 +124,7 @@ bool CdbStackTraceContext::init(unsigned long frameCount, QString * /*errorMessa
|
||||
}
|
||||
|
||||
int CdbStackTraceContext::indexOf(const QString &function) const
|
||||
{
|
||||
{
|
||||
|
||||
const QChar exclamationMark = QLatin1Char('!');
|
||||
const int count = m_frames.size();
|
||||
@@ -168,9 +168,9 @@ CdbStackFrameContext *CdbStackTraceContext::frameContextAt(int index, QString *e
|
||||
*errorMessage = msgFrameContextFailed(index, m_frames.at(index), *errorMessage);
|
||||
return 0;
|
||||
}
|
||||
// Exclude unitialized variables if desired
|
||||
// Exclude unitialized variables if desired
|
||||
QStringList uninitializedVariables;
|
||||
if (theDebuggerAction(UseCodeModel)->isChecked()) {
|
||||
if (theDebuggerAction(UseCodeModel)->isChecked()) {
|
||||
const StackFrame &frame = m_frames.at(index);
|
||||
getUninitializedVariables(DebuggerManager::instance()->cppCodeModelSnapshot(), frame.function, frame.file, frame.line, &uninitializedVariables);
|
||||
}
|
||||
@@ -267,7 +267,7 @@ static inline bool getStoppedThreadState(const CdbComInterfaces &cif,
|
||||
}
|
||||
ULONG frameCount;
|
||||
// Ignore the top frame if it is "ntdll!KiFastSystemCallRet", which is
|
||||
// not interesting for display.
|
||||
// not interesting for display.
|
||||
DEBUG_STACK_FRAME frames[MaxFrames];
|
||||
hr = cif.debugControl->GetStackTrace(0, 0, 0, frames, MaxFrames, &frameCount);
|
||||
if (FAILED(hr)) {
|
||||
|
@@ -55,7 +55,7 @@ struct ThreadData;
|
||||
* Maintains an on-demand constructed list of CdbStackFrameContext
|
||||
* containining the local variables of the stack. */
|
||||
|
||||
class CdbStackTraceContext
|
||||
class CdbStackTraceContext
|
||||
{
|
||||
Q_DISABLE_COPY(CdbStackTraceContext)
|
||||
|
||||
|
@@ -411,7 +411,7 @@ static bool inline getUnsignedHexValue(QString stringValue, quint64 *value)
|
||||
return false;
|
||||
stringValue.remove(0, 2);
|
||||
// Remove 64bit separator
|
||||
if (stringValue.size() > 9) {
|
||||
if (stringValue.size() > 9) {
|
||||
const int sepPos = stringValue.size() - 9;
|
||||
if (stringValue.at(sepPos) == QLatin1Char('`'))
|
||||
stringValue.remove(sepPos, 1);
|
||||
@@ -487,8 +487,8 @@ WatchData CdbSymbolGroupContext::watchDataAt(unsigned long index) const
|
||||
const QString fullShadowedName = WatchData::shadowedName(name, shadowedNumber);
|
||||
wd.name = WatchData::shadowedName(removeInnerTemplateType(name), shadowedNumber);
|
||||
wd.addr = hexSymbolOffset(m_symbolGroup, index);
|
||||
const QString type = getSymbolString(m_symbolGroup, &IDebugSymbolGroup2::GetSymbolTypeNameWide, index);
|
||||
wd.setType(type);
|
||||
const QString type = getSymbolString(m_symbolGroup, &IDebugSymbolGroup2::GetSymbolTypeNameWide, index);
|
||||
wd.setType(type);
|
||||
// Check for unitialized variables at level 0 only.
|
||||
const DEBUG_SYMBOL_PARAMETERS &p = m_symbolParameters.at(index);
|
||||
if (p.ParentSymbol == DEBUG_ANY_ID && m_uninitializedVariables.contains(fullShadowedName)) {
|
||||
|
@@ -74,7 +74,7 @@ class CdbSymbolGroupContext
|
||||
|
||||
public:
|
||||
~CdbSymbolGroupContext();
|
||||
static CdbSymbolGroupContext *create(const QString &prefix,
|
||||
static CdbSymbolGroupContext *create(const QString &prefix,
|
||||
CIDebugSymbolGroup *symbolGroup,
|
||||
const QStringList &uninitializedVariables,
|
||||
QString *errorMessage);
|
||||
|
@@ -77,7 +77,7 @@ FORMS += attachexternaldialog.ui \
|
||||
startexternaldialog.ui \
|
||||
startremotedialog.ui
|
||||
RESOURCES += debugger.qrc
|
||||
false {
|
||||
false {
|
||||
SOURCES += $$PWD/modeltest.cpp
|
||||
HEADERS += $$PWD/modeltest.h
|
||||
DEFINES += USE_MODEL_TEST=1
|
||||
|
@@ -60,7 +60,7 @@ DebuggerSettings::~DebuggerSettings()
|
||||
{
|
||||
qDeleteAll(m_items);
|
||||
}
|
||||
|
||||
|
||||
void DebuggerSettings::insertItem(int code, SavedAction *item)
|
||||
{
|
||||
QTC_ASSERT(!m_items.contains(code),
|
||||
@@ -81,7 +81,7 @@ void DebuggerSettings::writeSettings(QSettings *settings) const
|
||||
foreach (SavedAction *item, m_items)
|
||||
item->writeSettings(settings);
|
||||
}
|
||||
|
||||
|
||||
SavedAction *DebuggerSettings::item(int code) const
|
||||
{
|
||||
QTC_ASSERT(m_items.value(code, 0), qDebug() << "CODE: " << code; return 0);
|
||||
|
@@ -60,7 +60,7 @@ public slots:
|
||||
void writeSettings(QSettings *settings) const;
|
||||
|
||||
private:
|
||||
QHash<int, Utils::SavedAction *> m_items;
|
||||
QHash<int, Utils::SavedAction *> m_items;
|
||||
};
|
||||
|
||||
|
||||
@@ -87,7 +87,7 @@ enum DebuggerActionCode
|
||||
DebugDebuggingHelpers,
|
||||
|
||||
UseCodeModel,
|
||||
|
||||
|
||||
UseToolTipsInMainEditor,
|
||||
UseToolTipsInLocalsView,
|
||||
UseToolTipsInBreakpointsView,
|
||||
|
@@ -76,7 +76,7 @@ MemoryViewAgent::MemoryViewAgent(DebuggerManager *manager, quint64 addr)
|
||||
}
|
||||
|
||||
MemoryViewAgent::MemoryViewAgent(DebuggerManager *manager, const QString &addr)
|
||||
: QObject(manager), m_engine(manager->currentEngine()), m_manager(manager)
|
||||
: QObject(manager), m_engine(manager->currentEngine()), m_manager(manager)
|
||||
{
|
||||
bool ok = true;
|
||||
init(addr.toULongLong(&ok, 0));
|
||||
@@ -242,7 +242,7 @@ void DisassemblerViewAgent::setFrame(const StackFrame &frame)
|
||||
setContents(*it);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
IDebuggerEngine *engine = d->manager->currentEngine();
|
||||
QTC_ASSERT(engine, return);
|
||||
engine->fetchDisassembler(this, frame);
|
||||
@@ -296,7 +296,7 @@ void DisassemblerViewAgent::setContents(const QString &contents)
|
||||
bool DisassemblerViewAgent::contentsCoversAddress(const QString &contents) const
|
||||
{
|
||||
QTC_ASSERT(d, return false);
|
||||
for (int pos = 0, line = 0; ; ++line, ++pos) {
|
||||
for (int pos = 0, line = 0; ; ++line, ++pos) {
|
||||
if (contents.midRef(pos, d->frame.address.size()) == d->frame.address)
|
||||
return true;
|
||||
pos = contents.indexOf('\n', pos + 1);
|
||||
|
@@ -116,7 +116,7 @@ enum LogChannel
|
||||
LogStatus, // Used for status changed messages
|
||||
LogTime, // Used for time stamp messages
|
||||
LogDebug,
|
||||
LogMisc
|
||||
LogMisc
|
||||
};
|
||||
|
||||
} // namespace Debugger
|
||||
|
@@ -388,9 +388,9 @@ StartRemoteDialog::StartRemoteDialog(QWidget *parent)
|
||||
m_ui->serverStartScript->setExpectedKind(Utils::PathChooser::File);
|
||||
m_ui->serverStartScript->setPromptDialogTitle(tr("Select Executable"));
|
||||
|
||||
connect(m_ui->useServerStartScriptCheckBox, SIGNAL(toggled(bool)),
|
||||
connect(m_ui->useServerStartScriptCheckBox, SIGNAL(toggled(bool)),
|
||||
this, SLOT(updateState()));
|
||||
|
||||
|
||||
connect(m_ui->buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
|
||||
connect(m_ui->buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
|
||||
|
||||
|
@@ -664,7 +664,7 @@ void DebuggerManager::setSimpleDockWidgetArrangement()
|
||||
}
|
||||
|
||||
foreach (QDockWidget *dockWidget, dockWidgets) {
|
||||
if (dockWidget == d->m_outputDock)
|
||||
if (dockWidget == d->m_outputDock)
|
||||
d->m_mainWindow->addDockWidget(Qt::TopDockWidgetArea, dockWidget);
|
||||
else
|
||||
d->m_mainWindow->addDockWidget(Qt::BottomDockWidgetArea, dockWidget);
|
||||
@@ -990,7 +990,7 @@ void DebuggerManager::startNewDebugger(const DebuggerStartParametersPtr &sp)
|
||||
d->m_startParameters->toolChainType, &errorMessage);
|
||||
break;
|
||||
default:
|
||||
d->m_engine = determineDebuggerEngine(d->m_startParameters->executable,
|
||||
d->m_engine = determineDebuggerEngine(d->m_startParameters->executable,
|
||||
d->m_startParameters->toolChainType, &errorMessage, &settingsIdHint);
|
||||
break;
|
||||
}
|
||||
@@ -1427,7 +1427,7 @@ void DebuggerManager::showDebuggerInput(int channel, const QString &msg)
|
||||
{
|
||||
if (d->m_outputWindow)
|
||||
emit emitShowInput(channel, msg);
|
||||
else
|
||||
else
|
||||
qDebug() << "INPUT: " << channel << msg;
|
||||
}
|
||||
|
||||
|
@@ -137,8 +137,8 @@ enum DebuggerEngineTypeFlags
|
||||
ScriptEngineType = 0x02,
|
||||
CdbEngineType = 0x04,
|
||||
AllEngineTypes = GdbEngineType
|
||||
| ScriptEngineType
|
||||
| CdbEngineType
|
||||
| ScriptEngineType
|
||||
| CdbEngineType
|
||||
};
|
||||
|
||||
QDebug operator<<(QDebug d, DebuggerState state);
|
||||
@@ -280,7 +280,7 @@ private:
|
||||
Internal::ThreadsHandler *threadsHandler() const;
|
||||
Internal::WatchHandler *watchHandler() const;
|
||||
Internal::SourceFilesWindow *sourceFileWindow() const;
|
||||
QWidget *threadsWindow() const;
|
||||
QWidget *threadsWindow() const;
|
||||
|
||||
Internal::DebuggerManagerActions debuggerManagerActions() const;
|
||||
|
||||
|
@@ -53,7 +53,7 @@ public:
|
||||
|
||||
void bringPaneToForeground() { emit showPage(); }
|
||||
void setCursor(const QCursor &cursor);
|
||||
|
||||
|
||||
QString combinedContents() const;
|
||||
QString inputContents() const;
|
||||
|
||||
|
@@ -348,16 +348,16 @@ QWidget *CommonOptionsPage::createPage(QWidget *parent)
|
||||
m_ui.checkBoxUseMessageBoxForSignals);
|
||||
m_group.insert(theDebuggerAction(SkipKnownFrames),
|
||||
m_ui.checkBoxSkipKnownFrames);
|
||||
m_group.insert(theDebuggerAction(UseToolTipsInMainEditor),
|
||||
m_group.insert(theDebuggerAction(UseToolTipsInMainEditor),
|
||||
m_ui.checkBoxUseToolTipsInMainEditor);
|
||||
m_group.insert(theDebuggerAction(AutoDerefPointers), 0);
|
||||
m_group.insert(theDebuggerAction(UseToolTipsInLocalsView), 0);
|
||||
m_group.insert(theDebuggerAction(UseToolTipsInBreakpointsView), 0);
|
||||
m_group.insert(theDebuggerAction(UseAddressInBreakpointsView), 0);
|
||||
m_group.insert(theDebuggerAction(UseAddressInStackView), 0);
|
||||
m_group.insert(theDebuggerAction(EnableReverseDebugging),
|
||||
m_group.insert(theDebuggerAction(EnableReverseDebugging),
|
||||
m_ui.checkBoxEnableReverseDebugging);
|
||||
m_group.insert(theDebuggerAction(MaximalStackDepth),
|
||||
m_group.insert(theDebuggerAction(MaximalStackDepth),
|
||||
m_ui.spinBoxMaximalStackDepth);
|
||||
m_group.insert(theDebuggerAction(GdbWatchdogTimeout), 0);
|
||||
m_group.insert(theDebuggerAction(LogTimeStamps), 0);
|
||||
|
@@ -125,7 +125,7 @@ int ToolTipWidget::computeHeight(const QModelIndex &index) const
|
||||
return s;
|
||||
}
|
||||
|
||||
Q_SLOT void ToolTipWidget::computeSize()
|
||||
Q_SLOT void ToolTipWidget::computeSize()
|
||||
{
|
||||
int columns = 0;
|
||||
for (int i = 0; i < 3; ++i) {
|
||||
|
@@ -92,7 +92,7 @@ signals:
|
||||
|
||||
// The adapter is still running just fine, but it failed to acquire a debuggee.
|
||||
void inferiorStartFailed(const QString &msg);
|
||||
|
||||
|
||||
protected:
|
||||
DebuggerState state() const
|
||||
{ return m_engine->state(); }
|
||||
|
@@ -213,7 +213,7 @@ void GdbEngine::connectDebuggingHelperActions()
|
||||
connect(theDebuggerAction(RecheckDebuggingHelpers), SIGNAL(triggered()),
|
||||
this, SLOT(recheckDebuggingHelperAvailability()));
|
||||
}
|
||||
|
||||
|
||||
void GdbEngine::disconnectDebuggingHelperActions()
|
||||
{
|
||||
disconnect(theDebuggerAction(UseDebuggingHelpers), 0, this, 0);
|
||||
@@ -412,8 +412,8 @@ void GdbEngine::handleResponse(const QByteArray &buff)
|
||||
while (from != to) {
|
||||
GdbMi data;
|
||||
if (*from != ',') {
|
||||
// happens on archer where we get
|
||||
// 23^running <NL> *running,thread-id="all" <NL> (gdb)
|
||||
// happens on archer where we get
|
||||
// 23^running <NL> *running,thread-id="all" <NL> (gdb)
|
||||
result.m_type = GdbMi::Tuple;
|
||||
break;
|
||||
}
|
||||
@@ -448,22 +448,22 @@ void GdbEngine::handleResponse(const QByteArray &buff)
|
||||
showStatusMessage(tr("Library %1 unloaded.").arg(_(id)));
|
||||
invalidateSourcesList();
|
||||
} else if (asyncClass == "thread-group-created") {
|
||||
// Archer has "{id="28902"}"
|
||||
// Archer has "{id="28902"}"
|
||||
QByteArray id = result.findChild("id").data();
|
||||
showStatusMessage(tr("Thread group %1 created.").arg(_(id)));
|
||||
int pid = id.toInt();
|
||||
if (pid != inferiorPid())
|
||||
handleInferiorPidChanged(pid);
|
||||
} else if (asyncClass == "thread-created") {
|
||||
//"{id="1",group-id="28902"}"
|
||||
//"{id="1",group-id="28902"}"
|
||||
QByteArray id = result.findChild("id").data();
|
||||
showStatusMessage(tr("Thread %1 created.").arg(_(id)));
|
||||
} else if (asyncClass == "thread-group-exited") {
|
||||
// Archer has "{id="28902"}"
|
||||
// Archer has "{id="28902"}"
|
||||
QByteArray id = result.findChild("id").data();
|
||||
showStatusMessage(tr("Thread group %1 exited.").arg(_(id)));
|
||||
} else if (asyncClass == "thread-exited") {
|
||||
//"{id="1",group-id="28902"}"
|
||||
//"{id="1",group-id="28902"}"
|
||||
QByteArray id = result.findChild("id").data();
|
||||
QByteArray groupid = result.findChild("group-id").data();
|
||||
showStatusMessage(tr("Thread %1 in group %2 exited.")
|
||||
@@ -471,7 +471,7 @@ void GdbEngine::handleResponse(const QByteArray &buff)
|
||||
} else if (asyncClass == "thread-selected") {
|
||||
QByteArray id = result.findChild("id").data();
|
||||
showStatusMessage(tr("Thread %1 selected.").arg(_(id)));
|
||||
//"{id="2"}"
|
||||
//"{id="2"}"
|
||||
#if defined(Q_OS_MAC)
|
||||
} else if (asyncClass == "shlibs-updated") {
|
||||
// MAC announces updated libs
|
||||
@@ -615,7 +615,7 @@ void GdbEngine::readGdbStandardError()
|
||||
|
||||
void GdbEngine::readGdbStandardOutput()
|
||||
{
|
||||
if (m_commandTimer->isActive())
|
||||
if (m_commandTimer->isActive())
|
||||
m_commandTimer->start(); // Retrigger
|
||||
|
||||
int newstart = 0;
|
||||
@@ -682,7 +682,7 @@ void GdbEngine::maybeHandleInferiorPidChanged(const QString &pid0)
|
||||
}
|
||||
if (pid == inferiorPid())
|
||||
return;
|
||||
debugMessage(_("FOUND PID %1").arg(pid));
|
||||
debugMessage(_("FOUND PID %1").arg(pid));
|
||||
|
||||
handleInferiorPidChanged(pid);
|
||||
if (m_dumperInjectionLoad)
|
||||
@@ -841,7 +841,7 @@ void GdbEngine::commandTimeout()
|
||||
"the operation.\nYou can choose between waiting "
|
||||
"longer or abort debugging.").arg(timeOut / 1000);
|
||||
QMessageBox *mb = showMessageBox(QMessageBox::Critical,
|
||||
tr("Gdb not responding"), msg,
|
||||
tr("Gdb not responding"), msg,
|
||||
QMessageBox::Ok | QMessageBox::Cancel);
|
||||
mb->button(QMessageBox::Cancel)->setText(tr("Give gdb more time"));
|
||||
mb->button(QMessageBox::Ok)->setText(tr("Stop debugging"));
|
||||
@@ -885,7 +885,7 @@ void GdbEngine::handleResultRecord(GdbResponse *response)
|
||||
tr("Executable failed"), QString::fromLocal8Bit(msg));
|
||||
showStatusMessage(tr("Process failed to start."));
|
||||
shutdown();
|
||||
} else if (msg == "\"finish\" not meaningful in the outermost frame.") {
|
||||
} else if (msg == "\"finish\" not meaningful in the outermost frame.") {
|
||||
// Handle a case known to appear on gdb 6.4 symbianelf when
|
||||
// the stack is cut due to access to protected memory.
|
||||
debugMessage(_("APPLYING WORKAROUND #2"));
|
||||
@@ -1011,7 +1011,7 @@ void GdbEngine::updateAll()
|
||||
if (supportsThreads())
|
||||
postCommand(_("-thread-list-ids"), WatchUpdate, CB(handleStackListThreads), 0);
|
||||
manager()->reloadRegisters();
|
||||
updateLocals();
|
||||
updateLocals();
|
||||
}
|
||||
|
||||
void GdbEngine::handleQuerySources(const GdbResponse &response)
|
||||
@@ -1576,7 +1576,7 @@ void GdbEngine::detachDebugger()
|
||||
{
|
||||
QTC_ASSERT(state() == InferiorStopped, /**/);
|
||||
QTC_ASSERT(startMode() != AttachCore, /**/);
|
||||
postCommand(_("detach"));
|
||||
postCommand(_("detach"));
|
||||
setState(InferiorShuttingDown);
|
||||
setState(InferiorShutDown);
|
||||
shutdown();
|
||||
@@ -1642,7 +1642,7 @@ AbstractGdbAdapter *GdbEngine::createAdapter(const DebuggerStartParametersPtr &s
|
||||
void GdbEngine::startDebugger(const DebuggerStartParametersPtr &sp)
|
||||
{
|
||||
QTC_ASSERT(state() == EngineStarting, qDebug() << state());
|
||||
// This should be set by the constructor or in exitDebugger()
|
||||
// This should be set by the constructor or in exitDebugger()
|
||||
// via initializeVariables()
|
||||
//QTC_ASSERT(m_debuggingHelperState == DebuggingHelperUninitialized,
|
||||
// initializeVariables());
|
||||
@@ -1947,7 +1947,7 @@ void GdbEngine::sendInsertBreakpoint(int index)
|
||||
|
||||
void GdbEngine::reloadBreakListInternal()
|
||||
{
|
||||
m_breakListUpdating = true;
|
||||
m_breakListUpdating = true;
|
||||
postCommand(_("-break-list"), NeedsStop, CB(handleBreakList));
|
||||
}
|
||||
|
||||
@@ -2416,7 +2416,7 @@ void GdbEngine::handleStackSelectThread(const GdbResponse &)
|
||||
showStatusMessage(tr("Retrieving data for stack view..."), 3000);
|
||||
manager()->reloadRegisters();
|
||||
reloadStack(true);
|
||||
updateLocals();
|
||||
updateLocals();
|
||||
}
|
||||
|
||||
void GdbEngine::reloadFullStack()
|
||||
@@ -2512,7 +2512,7 @@ void GdbEngine::handleStackListFrames(const GdbResponse &response)
|
||||
targetFrame = i;
|
||||
}
|
||||
|
||||
bool canExpand = !cookie.isFull
|
||||
bool canExpand = !cookie.isFull
|
||||
&& (n >= theDebuggerAction(MaximalStackDepth)->value().toInt());
|
||||
theDebuggerAction(ExpandStack)->setEnabled(canExpand);
|
||||
manager()->stackHandler()->setFrames(stackFrames, canExpand);
|
||||
@@ -2538,7 +2538,7 @@ void GdbEngine::handleStackListFrames(const GdbResponse &response)
|
||||
// For targetFrame == 0 we already issued a 'gotoLocation'
|
||||
// when reading the *stopped message.
|
||||
bool jump = (m_isMacGdb || targetFrame != 0);
|
||||
|
||||
|
||||
manager()->stackHandler()->setCurrentIndex(targetFrame);
|
||||
if (jump || cookie.gotoLocation) {
|
||||
const StackFrame &frame = manager()->stackHandler()->currentFrame();
|
||||
@@ -2956,7 +2956,7 @@ void GdbEngine::runDebuggingHelper(const WatchData &data0, bool dumpChildren)
|
||||
data.setValue(_("<unavailable>"));
|
||||
data.setHasChildren(false);
|
||||
insertData(data);
|
||||
return;
|
||||
return;
|
||||
}
|
||||
m_processedNames.insert(processedName);
|
||||
|
||||
@@ -3053,7 +3053,7 @@ void GdbEngine::updateSubItem(const WatchData &data0)
|
||||
#if DEBUG_SUBITEM
|
||||
qDebug() << "IT'S A POINTER";
|
||||
#endif
|
||||
|
||||
|
||||
if (theDebuggerBoolSetting(AutoDerefPointers)) {
|
||||
// Try automatic dereferentiation
|
||||
data.exp = _("(*(") + data.exp + _("))");
|
||||
@@ -3196,7 +3196,7 @@ void GdbEngine::updateWatchData(const WatchData &data)
|
||||
data1.setValue(_("<unavailable>"));
|
||||
data1.setHasChildren(false);
|
||||
insertData(data1);
|
||||
return;
|
||||
return;
|
||||
}
|
||||
m_processedNames.insert(processedName);
|
||||
|
||||
@@ -3640,7 +3640,7 @@ void GdbEngine::handleStackFrame(const GdbResponse &response)
|
||||
}
|
||||
GdbMi all("[" + out + "]");
|
||||
//GdbMi all(out);
|
||||
|
||||
|
||||
//qDebug() << "\n\n\nALL: " << all.toString() << "\n";
|
||||
GdbMi locals = all.findChild("locals");
|
||||
//qDebug() << "\n\n\nLOCALS: " << locals.toString() << "\n";
|
||||
@@ -3770,10 +3770,10 @@ WatchData GdbEngine::localVariable(const GdbMi &item,
|
||||
data.setError(WatchData::msgNotInScope());
|
||||
return data;
|
||||
}
|
||||
//: Type of local variable or parameter shadowed by another
|
||||
//: Type of local variable or parameter shadowed by another
|
||||
//: variable of the same name in a nested block.
|
||||
setWatchDataValue(data, item.findChild("value"));
|
||||
data.setType(GdbEngine::tr("<shadowed>"));
|
||||
data.setType(GdbEngine::tr("<shadowed>"));
|
||||
data.setHasChildren(false);
|
||||
return data;
|
||||
}
|
||||
@@ -4030,7 +4030,7 @@ void GdbEngine::tryLoadDebuggingHelpers()
|
||||
// Load at least gdb macro based dumpers.
|
||||
QFile file(_(":/gdb/gdbmacros.txt"));
|
||||
file.open(QIODevice::ReadOnly);
|
||||
QByteArray contents = file.readAll();
|
||||
QByteArray contents = file.readAll();
|
||||
m_debuggingHelperState = DebuggingHelperLoadTried;
|
||||
postCommand(_(contents));
|
||||
return;
|
||||
@@ -4206,7 +4206,7 @@ void GdbEngine::fetchDisassemblerByAddress(DisassemblerViewAgent *agent,
|
||||
QString end = QString::number(address + 100, 16);
|
||||
// -data-disassemble [ -s start-addr -e end-addr ]
|
||||
// | [ -f filename -l linenum [ -n lines ] ] -- mode
|
||||
if (useMixedMode)
|
||||
if (useMixedMode)
|
||||
postCommand(_("-data-disassemble -s 0x%1 -e 0x%2 -- 1").arg(start).arg(end),
|
||||
Discardable, CB(handleFetchDisassemblerByAddress1),
|
||||
QVariant::fromValue(DisassemblerAgentCookie(agent)));
|
||||
@@ -4266,7 +4266,7 @@ QString GdbEngine::parseDisassembler(const GdbMi &lines)
|
||||
if (line >= 0 && line < fileContents.size())
|
||||
ba += " " + fileContents.at(line) + '\n';
|
||||
GdbMi insn = child.findChild("line_asm_insn");
|
||||
foreach (const GdbMi &line, insn.children())
|
||||
foreach (const GdbMi &line, insn.children())
|
||||
ba += parseLine(line);
|
||||
} else {
|
||||
// the non-mixed version
|
||||
@@ -4468,7 +4468,7 @@ bool GdbEngine::startGdb(const QStringList &args, const QString &gdb, const QStr
|
||||
}
|
||||
}
|
||||
if (m_gdbAdapter->dumperHandling() == AbstractGdbAdapter::DumperLoadedByGdbPreload
|
||||
&& checkDebuggingHelpers()) {
|
||||
&& checkDebuggingHelpers()) {
|
||||
QString cmd = _("set environment ");
|
||||
cmd += _(Debugger::Constants::Internal::LD_PRELOAD_ENV_VAR);
|
||||
cmd += _c(' ');
|
||||
|
@@ -306,7 +306,7 @@ QByteArray GdbMi::toString(bool multiline, int indent) const
|
||||
else
|
||||
result += "Invalid";
|
||||
break;
|
||||
case Const:
|
||||
case Const:
|
||||
if (!m_name.isEmpty())
|
||||
result += m_name + "=";
|
||||
result += "\"" + escapeCString(m_data) + "\"";
|
||||
|
@@ -39,50 +39,50 @@ namespace Internal {
|
||||
|
||||
/*
|
||||
|
||||
output ==>
|
||||
( out-of-band-record )* [ result-record ] "(gdb)" nl
|
||||
result-record ==>
|
||||
[ token ] "^" result-class ( "," result )* nl
|
||||
out-of-band-record ==>
|
||||
async-record | stream-record
|
||||
async-record ==>
|
||||
exec-async-output | status-async-output | notify-async-output
|
||||
exec-async-output ==>
|
||||
[ token ] "*" async-output
|
||||
status-async-output ==>
|
||||
[ token ] "+" async-output
|
||||
notify-async-output ==>
|
||||
[ token ] "=" async-output
|
||||
async-output ==>
|
||||
async-class ( "," result )* nl
|
||||
result-class ==>
|
||||
"done" | "running" | "connected" | "error" | "exit"
|
||||
async-class ==>
|
||||
"stopped" | others (where others will be added depending on the needs--this is still in development).
|
||||
result ==>
|
||||
variable "=" value
|
||||
variable ==>
|
||||
string
|
||||
value ==>
|
||||
const | tuple | list
|
||||
const ==>
|
||||
c-string
|
||||
tuple ==>
|
||||
"{}" | "{" result ( "," result )* "}"
|
||||
list ==>
|
||||
"[]" | "[" value ( "," value )* "]" | "[" result ( "," result )* "]"
|
||||
stream-record ==>
|
||||
console-stream-output | target-stream-output | log-stream-output
|
||||
console-stream-output ==>
|
||||
"~" c-string
|
||||
target-stream-output ==>
|
||||
"@" c-string
|
||||
log-stream-output ==>
|
||||
"&" c-string
|
||||
nl ==>
|
||||
CR | CR-LF
|
||||
token ==>
|
||||
any sequence of digits.
|
||||
output ==>
|
||||
( out-of-band-record )* [ result-record ] "(gdb)" nl
|
||||
result-record ==>
|
||||
[ token ] "^" result-class ( "," result )* nl
|
||||
out-of-band-record ==>
|
||||
async-record | stream-record
|
||||
async-record ==>
|
||||
exec-async-output | status-async-output | notify-async-output
|
||||
exec-async-output ==>
|
||||
[ token ] "*" async-output
|
||||
status-async-output ==>
|
||||
[ token ] "+" async-output
|
||||
notify-async-output ==>
|
||||
[ token ] "=" async-output
|
||||
async-output ==>
|
||||
async-class ( "," result )* nl
|
||||
result-class ==>
|
||||
"done" | "running" | "connected" | "error" | "exit"
|
||||
async-class ==>
|
||||
"stopped" | others (where others will be added depending on the needs--this is still in development).
|
||||
result ==>
|
||||
variable "=" value
|
||||
variable ==>
|
||||
string
|
||||
value ==>
|
||||
const | tuple | list
|
||||
const ==>
|
||||
c-string
|
||||
tuple ==>
|
||||
"{}" | "{" result ( "," result )* "}"
|
||||
list ==>
|
||||
"[]" | "[" value ( "," value )* "]" | "[" result ( "," result )* "]"
|
||||
stream-record ==>
|
||||
console-stream-output | target-stream-output | log-stream-output
|
||||
console-stream-output ==>
|
||||
"~" c-string
|
||||
target-stream-output ==>
|
||||
"@" c-string
|
||||
log-stream-output ==>
|
||||
"&" c-string
|
||||
nl ==>
|
||||
CR | CR-LF
|
||||
token ==>
|
||||
any sequence of digits.
|
||||
|
||||
*/
|
||||
|
||||
@@ -120,7 +120,7 @@ public:
|
||||
inline const QList<GdbMi> &children() const { return m_children; }
|
||||
inline int childCount() const { return m_children.size(); }
|
||||
|
||||
const GdbMi &childAt(int index) const { return m_children[index]; }
|
||||
const GdbMi &childAt(int index) const { return m_children[index]; }
|
||||
GdbMi &childAt(int index) { return m_children[index]; }
|
||||
GdbMi findChild(const char *name) const;
|
||||
|
||||
@@ -146,7 +146,7 @@ private:
|
||||
|
||||
enum GdbResultClass
|
||||
{
|
||||
// "done" | "running" | "connected" | "error" | "exit"
|
||||
// "done" | "running" | "connected" | "error" | "exit"
|
||||
GdbResultUnknown,
|
||||
GdbResultDone,
|
||||
GdbResultRunning,
|
||||
|
@@ -79,9 +79,9 @@ QWidget *GdbOptionsPage::createPage(QWidget *parent)
|
||||
m_ui.scriptFileChooser);
|
||||
m_group.insert(theDebuggerAction(GdbEnvironment),
|
||||
m_ui.environmentEdit);
|
||||
m_group.insert(theDebuggerAction(UsePreciseBreakpoints),
|
||||
m_group.insert(theDebuggerAction(UsePreciseBreakpoints),
|
||||
m_ui.checkBoxUsePreciseBreakpoints);
|
||||
m_group.insert(theDebuggerAction(GdbWatchdogTimeout),
|
||||
m_group.insert(theDebuggerAction(GdbWatchdogTimeout),
|
||||
m_ui.spinBoxGdbWatchdogTimeout);
|
||||
|
||||
|
||||
|
@@ -43,7 +43,7 @@ namespace Internal {
|
||||
* Provides a static convenience to prompt for both connection types. */
|
||||
|
||||
class S60DebuggerBluetoothStarter : public trk::AbstractBluetoothStarter
|
||||
{
|
||||
{
|
||||
public:
|
||||
static trk::PromptStartCommunicationResult
|
||||
startCommunication(const TrkDevicePtr &trkDevice,
|
||||
@@ -52,7 +52,7 @@ public:
|
||||
QWidget *msgBoxParent,
|
||||
QString *errorMessage);
|
||||
|
||||
protected:
|
||||
protected:
|
||||
virtual trk::BluetoothListener *createListener();
|
||||
|
||||
private:
|
||||
|
@@ -155,7 +155,7 @@ void Snapshot::insertMemory(const MemoryRange &range, const QByteArray &ba)
|
||||
{
|
||||
QTC_ASSERT(range.size() == uint(ba.size()),
|
||||
qDebug() << "RANGE: " << range << " BA SIZE: " << ba.size(); return);
|
||||
|
||||
|
||||
MEMORY_DEBUG("INSERT: " << range);
|
||||
// Try to combine with existing chunk.
|
||||
Snapshot::Memory::iterator it = memory.begin();
|
||||
@@ -660,7 +660,7 @@ void TrkGdbAdapter::handleGdbServerCommand(const QByteArray &cmd)
|
||||
// Kill inferior process
|
||||
logMessage(msgGdbPacket(QLatin1String("kill")));
|
||||
sendTrkMessage(0x41, TrkCB(handleDeleteProcess),
|
||||
trkDeleteProcessMessage(), "Delete process");
|
||||
trkDeleteProcessMessage(), "Delete process");
|
||||
}
|
||||
|
||||
else if (cmd.startsWith("m")) {
|
||||
@@ -924,7 +924,7 @@ i */
|
||||
if (data.startsWith("auxv:read::")) {
|
||||
const int offsetPos = data.lastIndexOf(':') + 1;
|
||||
const int commaPos = data.lastIndexOf(',');
|
||||
if (commaPos != -1) {
|
||||
if (commaPos != -1) {
|
||||
bool ok1 = false, ok2 = false;
|
||||
const int offset = data.mid(offsetPos, commaPos - offsetPos)
|
||||
.toUInt(&ok1, 16);
|
||||
@@ -1176,7 +1176,7 @@ void TrkGdbAdapter::handleReadRegisters(const TrkResult &result)
|
||||
const char *data = result.data.data() + 1; // Skip ok byte
|
||||
for (int i = 0; i < RegisterCount; ++i)
|
||||
m_snapshot.registers[i] = extractInt(data + 4 * i);
|
||||
}
|
||||
}
|
||||
|
||||
void TrkGdbAdapter::handleWriteRegister(const TrkResult &result)
|
||||
{
|
||||
@@ -1187,7 +1187,7 @@ void TrkGdbAdapter::handleWriteRegister(const TrkResult &result)
|
||||
return;
|
||||
}
|
||||
sendGdbServerMessage("OK");
|
||||
}
|
||||
}
|
||||
|
||||
void TrkGdbAdapter::reportRegisters()
|
||||
{
|
||||
@@ -1312,7 +1312,7 @@ void TrkGdbAdapter::tryAnswerGdbMemoryRequest(bool buffered)
|
||||
Snapshot::Memory::const_iterator et = m_snapshot.memory.end();
|
||||
for ( ; it != et; ++it) {
|
||||
MEMORY_DEBUG(" NEEDED: " << needed);
|
||||
needed -= it.key();
|
||||
needed -= it.key();
|
||||
}
|
||||
MEMORY_DEBUG("NEEDED: " << needed);
|
||||
|
||||
@@ -1475,7 +1475,7 @@ void TrkGdbAdapter::handleClearBreakpoint(const TrkResult &result)
|
||||
if (result.errorCode()) {
|
||||
logMessage("ERROR: " + result.errorString());
|
||||
//return;
|
||||
}
|
||||
}
|
||||
sendGdbServerMessage("OK");
|
||||
}
|
||||
|
||||
@@ -1568,7 +1568,7 @@ void TrkGdbAdapter::startAdapter()
|
||||
logMessage(QLatin1String("### Starting TrkGdbAdapter"));
|
||||
m_trkDevice->setSerialFrame(effectiveTrkDeviceType() != TrkOptions::BlueTooth);
|
||||
// Prompt the user to start communication
|
||||
QString message;
|
||||
QString message;
|
||||
const trk::PromptStartCommunicationResult src =
|
||||
S60DebuggerBluetoothStarter::startCommunication(m_trkDevice,
|
||||
effectiveTrkDevice(),
|
||||
@@ -1752,16 +1752,16 @@ void TrkGdbAdapter::handleDirectWrite1(const TrkResult &response)
|
||||
appendByte(&ba, 0xe5);
|
||||
#else
|
||||
// Thumb:
|
||||
// subs r0, #16
|
||||
// subs r0, #16
|
||||
appendByte(&ba, 0x08);
|
||||
appendByte(&ba, 0x3b);
|
||||
// subs r0, #16
|
||||
// subs r0, #16
|
||||
appendByte(&ba, 0x08);
|
||||
appendByte(&ba, 0x3b);
|
||||
//
|
||||
appendByte(&ba, 0x08);
|
||||
appendByte(&ba, 0x3b);
|
||||
// subs r0, #16
|
||||
// subs r0, #16
|
||||
appendByte(&ba, 0x08);
|
||||
appendByte(&ba, 0x3b);
|
||||
#endif
|
||||
|
@@ -246,7 +246,7 @@ private:
|
||||
QByteArray trkWriteMemoryMessage(uint addr, const QByteArray &date);
|
||||
QByteArray trkBreakpointMessage(uint addr, uint len, bool armMode = true);
|
||||
QByteArray trkStepRangeMessage(byte option);
|
||||
QByteArray trkDeleteProcessMessage();
|
||||
QByteArray trkDeleteProcessMessage();
|
||||
QByteArray trkInterruptMessage();
|
||||
|
||||
QSharedPointer<trk::TrkDevice> m_trkDevice;
|
||||
|
@@ -83,7 +83,7 @@ public:
|
||||
virtual void nextExec() = 0;
|
||||
virtual void stepIExec() = 0;
|
||||
virtual void nextIExec() = 0;
|
||||
|
||||
|
||||
virtual void continueInferior() = 0;
|
||||
virtual void interruptInferior() = 0;
|
||||
|
||||
|
@@ -84,7 +84,7 @@ QVariant ModulesModel::headerData(int section,
|
||||
{
|
||||
if (orientation == Qt::Horizontal && role == Qt::DisplayRole) {
|
||||
static QString headers[] = {
|
||||
tr("Module name") + " ",
|
||||
tr("Module name") + " ",
|
||||
tr("Symbols read") + " ",
|
||||
tr("Start address") + " ",
|
||||
tr("End address") + " "
|
||||
@@ -115,7 +115,7 @@ QVariant ModulesModel::data(const QModelIndex &index, int role) const
|
||||
break;
|
||||
case 1:
|
||||
if (role == Qt::DisplayRole)
|
||||
return module.symbolsRead ? "yes" : "no";
|
||||
return module.symbolsRead ? "yes" : "no";
|
||||
break;
|
||||
case 2:
|
||||
if (role == Qt::DisplayRole)
|
||||
|
@@ -175,7 +175,7 @@ void ModulesWindow::resizeColumnsToContents()
|
||||
void ModulesWindow::setAlwaysResizeColumnsToContents(bool on)
|
||||
{
|
||||
m_alwaysResizeColumnsToContents = on;
|
||||
QHeaderView::ResizeMode mode = on
|
||||
QHeaderView::ResizeMode mode = on
|
||||
? QHeaderView::ResizeToContents : QHeaderView::Interactive;
|
||||
header()->setResizeMode(0, mode);
|
||||
header()->setResizeMode(1, mode);
|
||||
@@ -189,7 +189,7 @@ void ModulesWindow::setModel(QAbstractItemModel *model)
|
||||
QTreeView::setModel(model);
|
||||
setAlwaysResizeColumnsToContents(true);
|
||||
}
|
||||
|
||||
|
||||
void ModulesWindow::showSymbols(const QString &name)
|
||||
{
|
||||
if (name.isEmpty())
|
||||
|
@@ -51,7 +51,7 @@
|
||||
#endif // DO_TRACE
|
||||
|
||||
namespace Debugger {
|
||||
namespace Internal {
|
||||
namespace Internal {
|
||||
|
||||
class NameDemanglerPrivate
|
||||
{
|
||||
@@ -138,7 +138,7 @@ private:
|
||||
QLatin1String(""))
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
const QString makeExpr(const QStringList &exprs) const
|
||||
{
|
||||
Q_ASSERT(exprs.size() == 2);
|
||||
@@ -166,7 +166,7 @@ private:
|
||||
QLatin1String(""))
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
const QString makeExpr(const QStringList &exprs) const
|
||||
{
|
||||
Q_ASSERT(exprs.size() == 2);
|
||||
@@ -182,7 +182,7 @@ private:
|
||||
QLatin1String(""))
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
virtual const QString makeExpr(const QStringList &exprs) const
|
||||
{
|
||||
Q_ASSERT(exprs.size() == 3);
|
||||
|
@@ -54,7 +54,7 @@ public:
|
||||
bool demangle(const QString &mangledName);
|
||||
|
||||
/*
|
||||
* A textual description of the error encountered, if there was one.
|
||||
* A textual description of the error encountered, if there was one.
|
||||
* Only valid if demangle() returned false.
|
||||
*/
|
||||
const QString &errorString() const;
|
||||
|
@@ -100,7 +100,7 @@ QVariant RegisterHandler::data(const QModelIndex &index, int role) const
|
||||
|
||||
if (role == RegisterChangedRole)
|
||||
return reg.changed;
|
||||
|
||||
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
|
@@ -39,7 +39,7 @@ enum RegisterRole
|
||||
{
|
||||
RegisterNumberBaseRole = Qt::UserRole, // Currently used number base
|
||||
RegisterAddressRole, // Start value for opening memory view
|
||||
RegisterChangedRole // Used for painting changed values
|
||||
RegisterChangedRole // Used for painting changed values
|
||||
};
|
||||
|
||||
class Register
|
||||
@@ -76,7 +76,7 @@ private:
|
||||
QVariant headerData(int section, Qt::Orientation orientation,
|
||||
int role = Qt::DisplayRole) const;
|
||||
Qt::ItemFlags flags(const QModelIndex &idx) const;
|
||||
|
||||
|
||||
QList<Register> m_registers;
|
||||
int m_base;
|
||||
int m_strlen; // approximate width of an value in chars
|
||||
|
@@ -205,7 +205,7 @@ void RegisterWindow::contextMenuEvent(QContextMenuEvent *ev)
|
||||
menu.addAction(theDebuggerAction(SettingsDialog));
|
||||
|
||||
QAction *act = menu.exec(ev->globalPos());
|
||||
|
||||
|
||||
if (act == actAdjust)
|
||||
resizeColumnsToContents();
|
||||
else if (act == actAlwaysAdjust)
|
||||
|
@@ -4,6 +4,6 @@ HEADERS += \
|
||||
SOURCES += \
|
||||
$$PWD/scriptengine.cpp \
|
||||
|
||||
FORMS +=
|
||||
FORMS +=
|
||||
|
||||
RESOURCES +=
|
||||
RESOURCES +=
|
||||
|
@@ -104,7 +104,7 @@ public:
|
||||
private:
|
||||
void maybeBreakNow(bool byFunction);
|
||||
|
||||
ScriptEngine *q;
|
||||
ScriptEngine *q;
|
||||
};
|
||||
|
||||
ScriptAgent::ScriptAgent(ScriptEngine *debugger, QScriptEngine *script)
|
||||
@@ -204,7 +204,7 @@ void ScriptEngine::executeDebuggerCommand(const QString &command)
|
||||
|
||||
void ScriptEngine::shutdown()
|
||||
{
|
||||
exitDebugger();
|
||||
exitDebugger();
|
||||
}
|
||||
|
||||
void ScriptEngine::exitDebugger()
|
||||
@@ -573,7 +573,7 @@ void ScriptEngine::maybeBreakNow(bool byFunction)
|
||||
showStatusMessage(tr("Stopped."), 5000);
|
||||
|
||||
StackFrame frame;
|
||||
frame.file = fileName;
|
||||
frame.file = fileName;
|
||||
frame.line = lineNumber;
|
||||
manager()->gotoLocation(frame, true);
|
||||
updateLocals();
|
||||
@@ -587,7 +587,7 @@ void ScriptEngine::updateLocals()
|
||||
|
||||
//
|
||||
// Build stack
|
||||
//
|
||||
//
|
||||
QList<StackFrame> stackFrames;
|
||||
int i = 0;
|
||||
for (QScriptContext *c = context; c; c = c->parentContext(), ++i) {
|
||||
@@ -599,7 +599,7 @@ void ScriptEngine::updateLocals()
|
||||
frame.from = QString::number(info.functionStartLineNumber());
|
||||
frame.to = QString::number(info.functionEndLineNumber());
|
||||
frame.line = info.lineNumber();
|
||||
|
||||
|
||||
if (frame.function.isEmpty())
|
||||
frame.function = "<global scope>";
|
||||
//frame.address = ...;
|
||||
|
@@ -35,7 +35,7 @@
|
||||
#include <stdio.h>
|
||||
#include <signal.h>
|
||||
#include <execinfo.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
namespace Debugger {
|
||||
namespace Internal {
|
||||
|
@@ -37,7 +37,7 @@ namespace Internal {
|
||||
|
||||
void dumpBacktrace(int maxdepth = -1);
|
||||
|
||||
} // namespace Internal
|
||||
} // namespace Internal
|
||||
} // namespace Debugger
|
||||
|
||||
#endif // DEBUGGER_BACKTRACE_H
|
||||
|
@@ -37,7 +37,7 @@
|
||||
|
||||
namespace Debugger {
|
||||
namespace Internal {
|
||||
|
||||
|
||||
#ifdef USE_PSAPI
|
||||
static inline QString imageName(DWORD processId)
|
||||
{
|
||||
|
@@ -160,7 +160,7 @@ static bool getDebugDirectory(IMAGE_NT_HEADERS *ntHeaders,
|
||||
#endif
|
||||
// Empty. This is the case for MinGW binaries
|
||||
if (debugDirSize == 0)
|
||||
return true;
|
||||
return true;
|
||||
// Look up in file
|
||||
DWORD debugDirOffset;
|
||||
if (!getFileOffsetFromRVA(ntHeaders, debugDirRva, &debugDirOffset)) {
|
||||
@@ -221,7 +221,7 @@ static void collectPDBfiles(void *fileMemory, IMAGE_DEBUG_DIRECTORY *directoryBa
|
||||
|
||||
namespace Debugger {
|
||||
namespace Internal {
|
||||
|
||||
|
||||
bool getPDBFiles(const QString &peExecutableFileName, QStringList *rc, QString *errorMessage)
|
||||
{
|
||||
HANDLE hFile = NULL;
|
||||
|
@@ -45,7 +45,7 @@ namespace Internal {
|
||||
// Return a list of Program-Database (*.pdb) files a PE executable refers to. */
|
||||
bool getPDBFiles(const QString &peExecutableFileName, QStringList *rc, QString *errorMessage);
|
||||
|
||||
} // namespace Internal
|
||||
} // namespace Internal
|
||||
} // namespace Debugger
|
||||
|
||||
#endif // DEBUGGER_PEUTILS_H
|
||||
|
@@ -1,7 +1,7 @@
|
||||
|
||||
|
||||
SOURCES += $$PWD/backtrace.cpp
|
||||
HEADERS += $$PWD/backtrace.h
|
||||
HEADERS += $$PWD/backtrace.h
|
||||
|
||||
win32 {
|
||||
|
||||
@@ -19,6 +19,6 @@ contains(QMAKE_CXX, cl) {
|
||||
# For the Privilege manipulation functions in sharedlibraryinjector.cpp.
|
||||
# Not required for MinGW.
|
||||
LIBS += advapi32.lib
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -95,7 +95,7 @@ QVariant SourceFilesModel::headerData(int section,
|
||||
{
|
||||
if (orientation == Qt::Horizontal && role == Qt::DisplayRole) {
|
||||
static QString headers[] = {
|
||||
tr("Internal name") + " ",
|
||||
tr("Internal name") + " ",
|
||||
tr("Full name") + " ",
|
||||
};
|
||||
return headers[section];
|
||||
@@ -178,7 +178,7 @@ SourceFilesWindow::SourceFilesWindow(QWidget *parent)
|
||||
setRootIsDecorated(false);
|
||||
setIconSize(QSize(10, 10));
|
||||
//header()->setDefaultAlignment(Qt::AlignLeft);
|
||||
|
||||
|
||||
connect(this, SIGNAL(activated(QModelIndex)),
|
||||
this, SLOT(sourceFileActivated(QModelIndex)));
|
||||
connect(act, SIGNAL(toggled(bool)),
|
||||
@@ -210,7 +210,7 @@ void SourceFilesWindow::contextMenuEvent(QContextMenuEvent *ev)
|
||||
act2 = new QAction(tr("Open file \"%1\"'").arg(name), &menu);
|
||||
act2->setEnabled(true);
|
||||
}
|
||||
|
||||
|
||||
menu.addAction(act1);
|
||||
menu.addAction(act2);
|
||||
menu.addSeparator();
|
||||
@@ -235,5 +235,5 @@ void SourceFilesWindow::removeAll()
|
||||
m_model->setSourceFiles(QMap<QString, QString>());
|
||||
header()->setResizeMode(0, QHeaderView::ResizeToContents);
|
||||
}
|
||||
|
||||
|
||||
#include "sourcefileswindow.moc"
|
||||
|
@@ -43,7 +43,7 @@ namespace Debugger {
|
||||
namespace Internal {
|
||||
|
||||
class SourceFilesModel;
|
||||
|
||||
|
||||
class SourceFilesWindow : public QTreeView
|
||||
{
|
||||
Q_OBJECT
|
||||
|
@@ -139,9 +139,9 @@ QVariant StackHandler::data(const QModelIndex &index, int role) const
|
||||
return QVariant();
|
||||
|
||||
if (index.row() == m_stackFrames.size()) {
|
||||
if (role == Qt::DisplayRole && index.column() == 0)
|
||||
if (role == Qt::DisplayRole && index.column() == 0)
|
||||
return tr("...");
|
||||
if (role == Qt::DisplayRole && index.column() == 1)
|
||||
if (role == Qt::DisplayRole && index.column() == 1)
|
||||
return tr("<More>");
|
||||
if (role == Qt::DecorationRole && index.column() == 0)
|
||||
return m_emptyIcon;
|
||||
@@ -209,7 +209,7 @@ Qt::ItemFlags StackHandler::flags(const QModelIndex &index) const
|
||||
}
|
||||
|
||||
StackFrame StackHandler::currentFrame() const
|
||||
{
|
||||
{
|
||||
QTC_ASSERT(m_currentIndex >= 0, return StackFrame());
|
||||
QTC_ASSERT(m_currentIndex < m_stackFrames.size(), return StackFrame());
|
||||
return m_stackFrames.at(m_currentIndex);
|
||||
|
@@ -93,7 +93,7 @@ void StackWindow::contextMenuEvent(QContextMenuEvent *ev)
|
||||
QModelIndex idx = indexAt(ev->pos());
|
||||
StackFrame frame = model()->data(idx, Qt::UserRole).value<StackFrame>();
|
||||
QString address = frame.address;
|
||||
|
||||
|
||||
QMenu menu;
|
||||
|
||||
menu.addAction(theDebuggerAction(ExpandStack));
|
||||
@@ -107,7 +107,7 @@ void StackWindow::contextMenuEvent(QContextMenuEvent *ev)
|
||||
actShowMemory->setEnabled(false);
|
||||
} else {
|
||||
actShowMemory->setText(tr("Open memory editor at %1").arg(address));
|
||||
}
|
||||
}
|
||||
|
||||
QAction *actShowDisassembler = menu.addAction(QString());
|
||||
if (address.isEmpty()) {
|
||||
|
@@ -43,7 +43,7 @@ class DebuggerManager;
|
||||
|
||||
namespace Internal {
|
||||
class DisassemblerViewAgent;
|
||||
|
||||
|
||||
class StackWindow : public QTreeView
|
||||
{
|
||||
Q_OBJECT
|
||||
|
@@ -34,7 +34,7 @@
|
||||
|
||||
namespace Debugger {
|
||||
namespace Internal {
|
||||
|
||||
|
||||
class ThreadsWindow : public QTreeView
|
||||
{
|
||||
Q_OBJECT
|
||||
|
@@ -61,7 +61,7 @@
|
||||
#if DEBUG_MODEL
|
||||
# define MODEL_DEBUG(s) qDebug() << s
|
||||
#else
|
||||
# define MODEL_DEBUG(s)
|
||||
# define MODEL_DEBUG(s)
|
||||
#endif
|
||||
#define MODEL_DEBUGX(s) qDebug() << s
|
||||
|
||||
@@ -101,7 +101,7 @@ public:
|
||||
// WatchData
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
WatchData::WatchData() :
|
||||
hasChildren(false),
|
||||
generation(-1),
|
||||
@@ -173,7 +173,7 @@ void WatchData::setValue(const QString &value0)
|
||||
// column. No need to duplicate it here.
|
||||
if (value.startsWith("(" + type + ") 0x"))
|
||||
value = value.section(" ", -1, -1);
|
||||
|
||||
|
||||
setValueUnneeded();
|
||||
}
|
||||
|
||||
@@ -499,7 +499,7 @@ QString niceType(const QString typeIn)
|
||||
for (int i = 0; i < 10; ++i) {
|
||||
int start = type.indexOf("std::allocator<");
|
||||
if (start == -1)
|
||||
break;
|
||||
break;
|
||||
// search for matching '>'
|
||||
int pos;
|
||||
int level = 0;
|
||||
@@ -691,7 +691,7 @@ bool WatchModel::hasChildren(const QModelIndex &parent) const
|
||||
|
||||
WatchItem *WatchModel::watchItem(const QModelIndex &idx) const
|
||||
{
|
||||
return idx.isValid()
|
||||
return idx.isValid()
|
||||
? static_cast<WatchItem*>(idx.internalPointer()) : m_root;
|
||||
}
|
||||
|
||||
@@ -700,7 +700,7 @@ QModelIndex WatchModel::watchIndex(const WatchItem *item) const
|
||||
return watchIndexHelper(item, m_root, QModelIndex());
|
||||
}
|
||||
|
||||
QModelIndex WatchModel::watchIndexHelper(const WatchItem *needle,
|
||||
QModelIndex WatchModel::watchIndexHelper(const WatchItem *needle,
|
||||
const WatchItem *parentItem, const QModelIndex &parentIndex) const
|
||||
{
|
||||
if (needle == parentItem)
|
||||
@@ -715,7 +715,7 @@ QModelIndex WatchModel::watchIndexHelper(const WatchItem *needle,
|
||||
return QModelIndex();
|
||||
}
|
||||
|
||||
void WatchModel::emitDataChanged(int column, const QModelIndex &parentIndex)
|
||||
void WatchModel::emitDataChanged(int column, const QModelIndex &parentIndex)
|
||||
{
|
||||
QModelIndex idx1 = index(0, column, parentIndex);
|
||||
QModelIndex idx2 = index(rowCount(parentIndex) - 1, column, parentIndex);
|
||||
@@ -785,7 +785,7 @@ QVariant WatchModel::data(const QModelIndex &idx, int role) const
|
||||
case ActiveDataRole:
|
||||
qDebug() << "ASK FOR" << data.iname;
|
||||
return true;
|
||||
|
||||
|
||||
case TypeFormatListRole:
|
||||
if (isIntType(data.type))
|
||||
return QStringList() << tr("decimal") << tr("hexadecimal")
|
||||
@@ -807,7 +807,7 @@ QVariant WatchModel::data(const QModelIndex &idx, int role) const
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
break;
|
||||
}
|
||||
return QVariant();
|
||||
}
|
||||
@@ -825,7 +825,7 @@ bool WatchModel::setData(const QModelIndex &index, const QVariant &value, int ro
|
||||
}
|
||||
} else if (role == TypeFormatRole) {
|
||||
m_handler->setFormat(data.type, value.toInt());
|
||||
} else if (role == IndividualFormatRole) {
|
||||
} else if (role == IndividualFormatRole) {
|
||||
const int format = value.toInt();
|
||||
if (format == -1) {
|
||||
m_handler->m_individualFormats.remove(data.iname);
|
||||
@@ -879,7 +879,7 @@ QVariant WatchModel::headerData(int section, Qt::Orientation orientation, int ro
|
||||
case 2: return QString(tr("Type") + QLatin1String(" "));
|
||||
}
|
||||
}
|
||||
return QVariant();
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
struct IName : public QString
|
||||
@@ -899,7 +899,7 @@ bool iNameLess(const QString &iname1, const QString &iname2)
|
||||
return i1 < i2;
|
||||
}
|
||||
}
|
||||
return name1 < name2;
|
||||
return name1 < name2;
|
||||
}
|
||||
|
||||
bool operator<(const IName &iname1, const IName &iname2)
|
||||
@@ -916,7 +916,7 @@ static int findInsertPosition(const QList<WatchItem *> &list, const WatchItem *i
|
||||
{
|
||||
QList<WatchItem *>::const_iterator it =
|
||||
qLowerBound(list.begin(), list.end(), item, iNameSorter);
|
||||
return it - list.begin();
|
||||
return it - list.begin();
|
||||
}
|
||||
|
||||
void WatchModel::insertData(const WatchData &data)
|
||||
@@ -967,7 +967,7 @@ void WatchModel::insertData(const WatchData &data)
|
||||
void WatchModel::insertBulkData(const QList<WatchData> &list)
|
||||
{
|
||||
#if 0
|
||||
for (int i = 0; i != list.size(); ++i)
|
||||
for (int i = 0; i != list.size(); ++i)
|
||||
insertData(list.at(i));
|
||||
return;
|
||||
#endif
|
||||
@@ -1436,7 +1436,7 @@ WatchModel *WatchHandler::model(WatchType type) const
|
||||
QTC_ASSERT(false, /**/);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
WatchModel *WatchHandler::modelForIName(const QString &iname) const
|
||||
{
|
||||
if (iname.startsWith(QLatin1String("local")))
|
||||
|
@@ -114,7 +114,7 @@ public:
|
||||
bool isLocal() const { return iname.startsWith(QLatin1String("local.")); }
|
||||
bool isWatcher() const { return iname.startsWith(QLatin1String("watch.")); }
|
||||
bool isValid() const { return !iname.isEmpty(); }
|
||||
|
||||
|
||||
bool isEqual(const WatchData &other) const;
|
||||
|
||||
static QString msgNotInScope();
|
||||
@@ -171,7 +171,7 @@ enum IntegerFormat
|
||||
enum DumpableFormat
|
||||
{
|
||||
PrettyFormat = 0, // keep that at 0 as default
|
||||
PlainFomat,
|
||||
PlainFomat,
|
||||
};
|
||||
|
||||
class WatchModel : public QAbstractItemModel
|
||||
|
@@ -332,7 +332,7 @@ static void blockRecursion(const CPlusPlus::Overview &overview,
|
||||
it = seenHash->insert(name, 0);
|
||||
} else {
|
||||
++(it.value());
|
||||
}
|
||||
}
|
||||
// Is the declaration on or past the current line, that is,
|
||||
// the variable not initialized.
|
||||
if (symbol->line() >= line)
|
||||
@@ -1388,7 +1388,7 @@ static void gbdMiToWatchData(const GdbMi &root,
|
||||
{
|
||||
if (debug > 1)
|
||||
qDebug() << Q_FUNC_INFO << '\n' << root.toString(false, 0);
|
||||
WatchData w;
|
||||
WatchData w;
|
||||
QString v;
|
||||
// Check for name/iname and use as expression default
|
||||
if (ctx.recursionLevel == 0) {
|
||||
@@ -1427,7 +1427,7 @@ static void gbdMiToWatchData(const GdbMi &root,
|
||||
w.exp = v;
|
||||
gdbMiGetStringValue(&w.addr, root, "addr");
|
||||
gdbMiGetStringValue(&w.saddr, root, "saddr");
|
||||
gdbMiGetBoolValue(&w.valueEnabled, root, "valueenabled");
|
||||
gdbMiGetBoolValue(&w.valueEnabled, root, "valueenabled");
|
||||
gdbMiGetBoolValue(&w.valueEditable, root, "valueeditable");
|
||||
if (gdbMiGetStringValue(&v, root, "valuetooltip", "valuetooltipencoded"))
|
||||
w.setValue(v);
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user