forked from qt-creator/qt-creator
Merge branch '1.0.0'
Conflicts: tests/auto/cplusplus/shared/shared.pri tests/auto/cplusplus/shared/shared.pro
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.2 KiB |
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user