Commit 1dcabe5a authored by con's avatar con
Browse files

Merge branch '1.0.0'

Conflicts:
	tests/auto/cplusplus/shared/shared.pri
	tests/auto/cplusplus/shared/shared.pro
parents 1f9bcd86 3b7c35fa
......@@ -92,6 +92,8 @@ QString TypePrettyPrinter::operator()(const FullySpecifiedType &type, const QStr
if (ch.isLetterOrNumber() || ch == QLatin1Char('_'))
text += QLatin1Char(' ');
text += _name;
} else if (text.isEmpty()) {
text = name;
}
(void) switchName(previousName);
return text;
......
......@@ -258,6 +258,7 @@ void CppHoverHandler::updateHelpIdAndTooltip(TextEditor::ITextEditor *editor, in
if (!types.isEmpty()) {
FullySpecifiedType firstType = types.first().first;
Symbol *symbol = types.first().second;
FullySpecifiedType docType = firstType;
if (const PointerType *pt = firstType->asPointerType()) {
......@@ -266,8 +267,8 @@ void CppHoverHandler::updateHelpIdAndTooltip(TextEditor::ITextEditor *editor, in
docType = rt->elementType();
}
m_helpId = buildHelpId(docType, types.first().second);
QString displayName = buildHelpId(firstType, types.first().second);
m_helpId = buildHelpId(docType, symbol);
QString displayName = buildHelpId(firstType, symbol);
if (!firstType->isClass() && !firstType->isNamedType()) {
Overview overview;
......@@ -297,7 +298,7 @@ void CppHoverHandler::updateHelpIdAndTooltip(TextEditor::ITextEditor *editor, in
m_helpEngineNeedsSetup = false;
}
if (! m_toolTip.isEmpty())
if (!m_toolTip.isEmpty())
m_toolTip = Qt::escape(m_toolTip);
if (!m_helpId.isEmpty() && !m_helpEngine->linksForIdentifier(m_helpId).isEmpty()) {
......
......@@ -11,7 +11,7 @@
</rect>
</property>
<property name="windowTitle">
<string>Start Debugger</string>
<string>Set Breakpoint at Function</string>
</property>
<layout class="QVBoxLayout">
<property name="spacing">
......
......@@ -3337,7 +3337,7 @@ void GdbEngine::handleQueryDataDumper2(const GdbResultRecord &record)
tr("Cannot find special data dumpers"),
tr("The debugged binary does not contain information needed for "
"nice display of Qt data types.\n\n"
"Try might want to try include the file\n\n"
"You might want to try including the file\n\n"
".../ide/main/bin/gdbmacros/gdbmacros.cpp'\n\n"
"into your project directly.")
);
......
......@@ -46,14 +46,12 @@ GccParser::GccParser()
m_regExpIncluded.setPattern("^.*from\\s([^:]+):(\\d+)(,|:)$");
m_regExpIncluded.setMinimal(true);
m_regExpLinker.setPattern("^(\\S+)\\(\\S+\\):\\s(.+)$");
m_regExpLinker.setPattern("^(\\S*)\\(\\S+\\):\\s(.+)$");
m_regExpLinker.setMinimal(true);
//make[4]: Entering directory `/home/kkoehne/dev/ide-explorer/src/plugins/qtscripteditor'
m_makeDir.setPattern("^make.*: (\\w+) directory .(.+).$");
m_makeDir.setMinimal(true);
m_linkIndent = false;
}
QString GccParser::name() const
......@@ -76,7 +74,15 @@ void GccParser::stdOutput(const QString & line)
void GccParser::stdError(const QString & line)
{
QString lne = line.trimmed();
if (m_regExp.indexIn(lne) > -1) {
if (m_regExpLinker.indexIn(lne) > -1) {
QString description = m_regExpLinker.cap(2);
emit addToTaskWindow(
m_regExpLinker.cap(1), //filename
ProjectExplorer::BuildParserInterface::Error,
-1, //linenumber
description);
//qDebug()<<"m_regExpLinker"<<m_regExpLinker.cap(2);
} else if (m_regExp.indexIn(lne) > -1) {
ProjectExplorer::BuildParserInterface::PatternType type;
if (m_regExp.cap(5) == "warning")
type = ProjectExplorer::BuildParserInterface::Warning;
......@@ -86,17 +92,14 @@ void GccParser::stdError(const QString & line)
type = ProjectExplorer::BuildParserInterface::Unknown;
QString description = m_regExp.cap(6);
if (m_linkIndent)
description.prepend(QLatin1String("-> "));
//qDebug()<<m_regExp.cap(1)<<m_regExp.cap(2)<<m_regExp.cap(3)<<m_regExp.cap(4);
//qDebug()<<"m_regExp"<<m_regExp.cap(1)<<m_regExp.cap(2)<<m_regExp.cap(5);
emit addToTaskWindow(
m_regExp.cap(1), //filename
type,
m_regExp.cap(2).toInt(), //line number
description);
} else if (m_regExpIncluded.indexIn(lne) > -1) {
emit addToTaskWindow(
m_regExpIncluded.cap(1), //filename
......@@ -104,29 +107,7 @@ void GccParser::stdError(const QString & line)
m_regExpIncluded.cap(2).toInt(), //linenumber
lne //description
);
} else if (m_regExpLinker.indexIn(lne) > -1) {
ProjectExplorer::BuildParserInterface::PatternType type = ProjectExplorer::BuildParserInterface::Error;
QString description = m_regExpLinker.cap(2);
if (lne.endsWith(QLatin1Char(':'))) {
m_linkIndent = true;
} else if (m_linkIndent) {
description.prepend(QLatin1String("-> "));
type = ProjectExplorer::BuildParserInterface::Unknown;
}
emit addToTaskWindow(
m_regExpLinker.cap(1), //filename
type,
-1, //linenumber
description);
//qDebug()<<"m_regExpInclude"<<m_regExpIncluded.cap(1)<<m_regExpIncluded.cap(2);
} else if (lne.startsWith(QLatin1String("collect2:"))) {
emit addToTaskWindow(
"",
ProjectExplorer::BuildParserInterface::Error,
-1,
lne //description
);
m_linkIndent = false;
} else {
m_linkIndent = false;
}
}
emit addToTaskWindow("", ProjectExplorer::BuildParserInterface::Error, -1, lne);
}}
......@@ -54,7 +54,6 @@ private:
QRegExp m_regExpIncluded;
QRegExp m_regExpLinker;
QRegExp m_makeDir;
bool m_linkIndent;
};
} // namespace ProjectExplorer
......
......@@ -540,7 +540,7 @@ Qt4ProFileNode::~Qt4ProFileNode()
void Qt4ProFileNode::buildStateChanged(ProjectExplorer::Project *project)
{
if (project == m_project && !ProjectExplorer::ProjectExplorerPlugin::instance()->buildManager()->isBuilding(m_project))
updateUiFiles();
updateUiFiles(m_project->buildDirectory(m_project->activeBuildConfiguration()));
}
bool Qt4ProFileNode::hasTargets() const
......@@ -710,7 +710,7 @@ void Qt4ProFileNode::update()
emit qt4Watcher->variablesChanged(this, m_varValues, newVarValues);
}
updateUiFiles();
updateUiFiles(m_project->buildDirectory(m_project->activeBuildConfiguration()));
foreach (NodesWatcher *watcher, watchers())
if (Qt4NodesWatcher *qt4Watcher = qobject_cast<Qt4NodesWatcher*>(watcher))
......@@ -744,7 +744,7 @@ namespace {
// It does so by storing a modification time for each ui file we know about.
// TODO this function should also be called if the build directory is changed
void Qt4ProFileNode::updateUiFiles()
void Qt4ProFileNode::updateUiFiles(const QString &buildDirectory)
{
// Only those two project types can have ui files for us
if (m_projectType != ApplicationTemplate
......@@ -757,7 +757,7 @@ void Qt4ProFileNode::updateUiFiles()
const QList<FileNode*> uiFiles = uiFilesVisitor.uiFileNodes;
// Find the UiDir, there can only ever be one
QString uiDir; // We should default to the build directory
QString uiDir = buildDirectory;
QStringList tmp = m_varValues[UiDirVar];
if (tmp.size() != 0)
uiDir = tmp.first();
......
......@@ -187,7 +187,7 @@ public slots:
void scheduleUpdate();
void update();
private slots:
void updateUiFiles();
void updateUiFiles(const QString& buildConfiguration);
void buildStateChanged(ProjectExplorer::Project*);
private:
......
......@@ -112,6 +112,7 @@ void QtVersionManager::addVersion(QtVersion *version)
{
m_versions.append(version);
emit qtVersionsChanged();
writeVersionsIntoSettings();
}
void QtVersionManager::updateDocumentation()
......
......@@ -3115,8 +3115,9 @@ bool TextBlockUserData::findPreviousOpenParenthesis(QTextCursor *cursor, bool se
if (!parenList.isEmpty() && !TextEditDocumentLayout::ifdefedOut(block)) {
for (int i = parenList.count()-1; i >= 0; --i) {
Parenthesis paren = parenList.at(i);
if (block == cursor->block() && position - block.position() <= paren.pos + 1)
continue;
if (block == cursor->block() &&
(position - block.position() <= paren.pos + (paren.type == Parenthesis::Closed ? 1 : 0)))
continue;
if (paren.type == Parenthesis::Closed) {
++ignore;
} else if (ignore > 0) {
......
......@@ -143,7 +143,7 @@ void QtLocalPeer::receiveConnection()
return;
// Why doesn't Qt have a blocking stream that takes care of this shait???
while (socket->bytesAvailable() < sizeof(quint32))
while (socket->bytesAvailable() < static_cast<int>(sizeof(quint32)))
socket->waitForReadyRead();
QDataStream ds(socket);
QByteArray uMsg;
......
......@@ -42,7 +42,7 @@
#include <QtCore/QDebug>
#ifdef Q_OS_WIN
# define QT_INSTALL_DIR "C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.4.3";
# define QT_INSTALL_DIR "C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.4.3/qt";
const char * const oldInstallBase = QT_INSTALL_DIR;
const char * const oldSourceBase = QT_INSTALL_DIR;
......@@ -108,7 +108,8 @@ bool patchBinariesWithQtPathes(const char *baseQtPath)
#ifdef Q_OS_WIN
"/bin/qmake.exe",
"/bin/QtCore4.dll",
"/bin/QtCored4.dll"
"/bin/QtCored4.dll",
"/lib/QtCored4.dll"
#else
"/bin/qmake",
"/lib/libQtCore.so",
......@@ -136,7 +137,6 @@ char * allocFileNameCopyAppend(const char * textToCopy,
Q_ASSERT(textToAppend != NULL);
if (textToAppend2 == NULL)
textToAppend2 = "";
Q_ASSERT(textToAppend2 != NULL);
char * const res = new char[bytesToAllocate];
const size_t textToCopyLen = strlen(textToCopy);
......@@ -153,7 +153,7 @@ char * allocFileNameCopyAppend(const char * textToCopy,
if (textToAppendLen > 0)
strncpy(res + textToCopyLen, textToAppend, bytesToAllocate - textToCopyLen - 1);
if (textToAppend2Len > 0)
strncpy(res + textToCopyLen + textToAppend2Len, textToAppend2, bytesToAllocate - textToCopyLen - textToAppend2Len - 1);
strncpy(res + textToCopyLen + textToAppendLen, textToAppend2, bytesToAllocate - textToCopyLen - textToAppendLen - 1);
res[textToCopyLen + textToAppendLen + textToAppend2Len] = '\0';
res[bytesToAllocate - 1] = '\0'; // Safe is safe
return res;
......@@ -183,6 +183,19 @@ bool patchDebugLibrariesWithQtPath(const char *baseQtPath)
{"/bin/QtWebKitd4.dll", "/src/3rdparty/webkit/WebCore/"},
{"/bin/QtXmld4.dll", "/src/xml/"},
{"/bin/QtXmlPatternsd4.dll", "/src/xmlpatterns/"},
{"/lib/Qt3Supportd4.dll", "/src/qt3support/"},
{"/lib/QtCored4.dll", "/src/corelib/"},
{"/lib/QtGuid4.dll", "/src/gui/"},
{"/lib/QtHelpd4.dll", "/tools/assistant/lib/"},
{"/lib/QtNetworkd4.dll", "/src/network/"},
{"/lib/QtOpenGLd4.dll", "/src/opengl/"},
{"/lib/QtScriptd4.dll", "/src/script/"},
{"/lib/QtSqld4.dll", "/src/sql/"},
{"/lib/QtSvgd4.dll", "/src/svg/"},
{"/lib/QtTestd4.dll", "/src/testlib/"},
{"/lib/QtWebKitd4.dll", "/src/3rdparty/webkit/WebCore/"},
{"/lib/QtXmld4.dll", "/src/xml/"},
{"/lib/QtXmlPatternsd4.dll", "/src/xmlpatterns/"},
{"/plugins/accessible/qtaccessiblecompatwidgetsd4.dll", "/src/plugins/accessible/compat/"},
{"/plugins/accessible/qtaccessiblewidgetsd4.dll", "/src/plugins/accessible/widgets/"},
{"/plugins/codecs/qcncodecsd4.dll", "/src/plugins/codecs/cn/"},
......
load(qttest_p4)
TEMPLATE = app
CONFIG += qt warn_on console depend_includepath
QT = core testlib
include(../shared/shared.pri)
QT = core
SOURCES += tst_ast.cpp
load(qttest_p4)
TEMPLATE = app
CONFIG += qt warn_on console depend_includepath
QT = core testlib
include(../shared/shared.pri)
QT = core
SOURCES += tst_semantic.cpp
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment