forked from qt-creator/qt-creator
Merge remote branch 'origin/1.3'
Conflicts: doc/qtcreator.qdoc doc/qtcreator.qdocconf src/app/Info.plist src/plugins/bineditor/BinEditor.pluginspec src/plugins/bookmarks/Bookmarks.pluginspec src/plugins/cmakeprojectmanager/CMakeProjectManager.pluginspec src/plugins/coreplugin/Core.pluginspec src/plugins/coreplugin/coreconstants.h src/plugins/cpaster/CodePaster.pluginspec src/plugins/cppeditor/CppEditor.pluginspec src/plugins/cppeditor/cppeditor.cpp src/plugins/cpptools/CppTools.pluginspec src/plugins/cvs/CVS.pluginspec src/plugins/debugger/Debugger.pluginspec src/plugins/debugger/debuggeragents.cpp src/plugins/debugger/gdb/gdbengine.cpp src/plugins/designer/Designer.pluginspec src/plugins/fakevim/FakeVim.pluginspec src/plugins/find/Find.pluginspec src/plugins/genericprojectmanager/GenericProjectManager.pluginspec src/plugins/git/ScmGit.pluginspec src/plugins/helloworld/HelloWorld.pluginspec src/plugins/help/Help.pluginspec src/plugins/locator/Locator.pluginspec src/plugins/perforce/Perforce.pluginspec src/plugins/projectexplorer/ProjectExplorer.pluginspec src/plugins/qmleditor/QmlEditor.pluginspec src/plugins/qmleditor/idcollector.cpp src/plugins/qmleditor/idcollector.h src/plugins/qmleditor/parser/qmljsglobal_p.h src/plugins/qmleditor/qmlcodecompletion.cpp src/plugins/qmleditor/qmlcodeformatter.cpp src/plugins/qmleditor/qmlcodeformatter.h src/plugins/qmleditor/qmlexpressionundercursor.cpp src/plugins/qmleditor/qmllookupcontext.cpp src/plugins/qmleditor/qmlresolveexpression.cpp src/plugins/qmleditor/qmlsymbol.cpp src/plugins/qmleditor/qmlsymbol.h src/plugins/qmlprojectmanager/QmlProjectManager.pluginspec src/plugins/qt4projectmanager/Qt4ProjectManager.pluginspec src/plugins/qtscripteditor/QtScriptEditor.pluginspec src/plugins/regexp/RegExp.pluginspec src/plugins/resourceeditor/ResourceEditor.pluginspec src/plugins/snippets/Snippets.pluginspec src/plugins/subversion/Subversion.pluginspec src/plugins/texteditor/TextEditor.pluginspec src/plugins/vcsbase/VCSBase.pluginspec src/plugins/welcome/Welcome.pluginspec src/shared/qml/parser/qmljsast.cpp src/shared/qml/parser/qmljsast_p.h src/shared/qml/parser/qmljsastfwd_p.h src/shared/qml/parser/qmljsastvisitor.cpp src/shared/qml/parser/qmljsastvisitor_p.h src/shared/qml/parser/qmljsengine_p.cpp src/shared/qml/parser/qmljsengine_p.h src/shared/qml/parser/qmljsgrammar.cpp src/shared/qml/parser/qmljsgrammar_p.h src/shared/qml/parser/qmljslexer.cpp src/shared/qml/parser/qmljslexer_p.h src/shared/qml/parser/qmljsmemorypool_p.h src/shared/qml/parser/qmljsnodepool_p.h src/shared/qml/parser/qmljsparser.cpp src/shared/qml/parser/qmljsparser_p.h
This commit is contained in:
2
dist/changes-1.3.1
vendored
2
dist/changes-1.3.1
vendored
@@ -34,6 +34,8 @@ Debugging
|
||||
* CDB: Fixed disassembler for 64 bit addresses
|
||||
* Fixed finding the file for build issues when mingw32-make is used
|
||||
* Ignore case of file name in breakpoint handling on Windows
|
||||
* Fixed problems with gdb timing out and debugging sessions unexpectedly finishing
|
||||
* Improved startup time of gdb sessions by not asking for all files known to gdb
|
||||
|
||||
Help
|
||||
* Don't switch to Help mode if help side bar is already visible
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -493,11 +493,10 @@ Bookmark *BookmarkManager::bookmarkForIndex(QModelIndex index)
|
||||
|
||||
bool BookmarkManager::gotoBookmark(Bookmark* bookmark)
|
||||
{
|
||||
if (!TextEditor::BaseTextEditor::openEditorAt(bookmark->filePath(), bookmark->lineNumber())) {
|
||||
// Could not open editor
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
using namespace TextEditor;
|
||||
if (ITextEditor *editor = BaseTextEditor::openEditorAt(bookmark->filePath(), bookmark->lineNumber()))
|
||||
return (editor->currentLine() == bookmark->lineNumber());
|
||||
return false;
|
||||
}
|
||||
|
||||
void BookmarkManager::nextInDocument()
|
||||
|
||||
@@ -1515,10 +1515,17 @@ void CppCodeCompletion::completions(QList<TextEditor::CompletionItem> *completio
|
||||
}
|
||||
const QRegExp regExp(keyRegExp);
|
||||
|
||||
const bool hasKey = !key.isEmpty();
|
||||
foreach (TextEditor::CompletionItem item, m_completions) {
|
||||
if (regExp.indexIn(item.text) == 0) {
|
||||
item.relevance = (key.length() > 0 &&
|
||||
item.text.startsWith(key, Qt::CaseInsensitive)) ? 1 : 0;
|
||||
if (hasKey) {
|
||||
if (item.text.startsWith(key, Qt::CaseSensitive)) {
|
||||
item.relevance = 2;
|
||||
} else if (m_caseSensitivity == Qt::CaseInsensitive
|
||||
&& item.text.startsWith(key, Qt::CaseInsensitive)) {
|
||||
item.relevance = 1;
|
||||
}
|
||||
}
|
||||
(*completions) << item;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -106,7 +106,7 @@ void MemoryViewAgent::init(quint64 addr)
|
||||
m_manager->showMessageBox(QMessageBox::Warning,
|
||||
tr("No memory viewer available"),
|
||||
tr("The memory contents cannot be shown as no viewer plugin "
|
||||
"for binary data has been loaded."));
|
||||
"for binary data has been loaded."));
|
||||
deleteLater();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -833,7 +833,6 @@ int GdbEngine::commandTimeoutTime() const
|
||||
|
||||
void GdbEngine::commandTimeout()
|
||||
{
|
||||
qDebug("TIMEOUT");
|
||||
QList<int> keys = m_cookieForToken.keys();
|
||||
qSort(keys);
|
||||
bool killIt = false;
|
||||
@@ -851,10 +850,10 @@ void GdbEngine::commandTimeout()
|
||||
debugMessage(_("TIMED OUT WAITING FOR GDB REPLY. COMMANDS STILL IN PROGRESS:"));
|
||||
int timeOut = m_commandTimer->interval();
|
||||
//m_commandTimer->stop();
|
||||
QString msg = tr("The gdb process has not produced any response "
|
||||
"to a command within %1 seconds. This may been it is stuck "
|
||||
const QString msg = tr("The gdb process has not responded "
|
||||
"to a command within %1 seconds. This could mean it is stuck "
|
||||
"in an endless loop or taking longer than expected to perform "
|
||||
"the operation it was reqested.\nYou have a choice of waiting "
|
||||
"the operation.\nYou can choose between waiting "
|
||||
"longer or abort debugging.").arg(timeOut / 1000);
|
||||
QMessageBox *mb = showMessageBox(QMessageBox::Critical,
|
||||
tr("Gdb not responding"), msg,
|
||||
@@ -3453,6 +3452,17 @@ void GdbEngine::handleDebuggingHelperValue2(const GdbResponse &response)
|
||||
WatchData data = response.cookie.value<WatchData>();
|
||||
QTC_ASSERT(data.isValid(), return);
|
||||
|
||||
// The real dumper might have aborted without giving any answers.
|
||||
// Remove traces of the question, too.
|
||||
if (m_cookieForToken.contains(response.token - 1)) {
|
||||
m_cookieForToken.remove(response.token - 1);
|
||||
debugMessage(_("DETECTING LOST COMMAND %1").arg(response.token - 1));
|
||||
--m_pendingRequests;
|
||||
data.setError(WatchData::msgNotInScope());
|
||||
insertData(data);
|
||||
return;
|
||||
}
|
||||
|
||||
//qDebug() << "CUSTOM VALUE RESULT:" << response.toString();
|
||||
//qDebug() << "FOR DATA:" << data.toString() << response.resultClass;
|
||||
if (response.resultClass != GdbResultDone) {
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>397</width>
|
||||
<height>322</height>
|
||||
<width>480</width>
|
||||
<height>371</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
@@ -37,7 +37,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="Utils::PathChooser" name="gdbLocationChooser" native="true"/>
|
||||
<widget class="Utils::PathChooser" name="gdbLocationChooser"/>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="labelEnvironment">
|
||||
@@ -63,7 +63,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="Utils::PathChooser" name="scriptFileChooser" native="true"/>
|
||||
<widget class="Utils::PathChooser" name="scriptFileChooser"/>
|
||||
</item>
|
||||
<item row="3" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="checkBoxUsePreciseBreakpoints">
|
||||
@@ -88,11 +88,11 @@ name in different directories.</string>
|
||||
<item row="4" column="1">
|
||||
<widget class="QSpinBox" name="spinBoxGdbWatchdogTimeout">
|
||||
<property name="toolTip">
|
||||
<string>This is the number of second Qt Creator will wait before
|
||||
it terminates non-reacting gdb process. The default value of 20 seconds
|
||||
<string>This is the number of seconds Qt Creator will wait before
|
||||
it terminates non-responsive gdb process. The default value of 20 seconds
|
||||
should be sufficient for most applications, but there are situations when
|
||||
loading big libraries or listing source files takes much longer than that
|
||||
on slow machines. In this case the value should be increased.</string>
|
||||
on slow machines. In this case, the value should be increased.</string>
|
||||
</property>
|
||||
<property name="layoutDirection">
|
||||
<enum>Qt::LeftToRight</enum>
|
||||
|
||||
@@ -3634,11 +3634,11 @@ QString BaseTextEditor::autoComplete(QTextCursor &cursor, const QString &textToI
|
||||
const QString brackets = QLatin1String("[]");
|
||||
if (parentheses.contains(character) || brackets.contains(character)) {
|
||||
QTextCursor tmp= cursor;
|
||||
TextEditor::TextBlockUserData::findPreviousBlockOpenParenthesis(&tmp);
|
||||
int blockStart = tmp.isNull() ? 0 : tmp.position();
|
||||
bool foundBlockStart = TextEditor::TextBlockUserData::findPreviousBlockOpenParenthesis(&tmp);
|
||||
int blockStart = foundBlockStart ? tmp.position() : 0;
|
||||
tmp = cursor;
|
||||
TextEditor::TextBlockUserData::findNextBlockClosingParenthesis(&tmp);
|
||||
int blockEnd = tmp.isNull() ? (cursor.document()->characterCount()-1) : tmp.position();
|
||||
bool foundBlockEnd = TextEditor::TextBlockUserData::findNextBlockClosingParenthesis(&tmp);
|
||||
int blockEnd = foundBlockEnd ? tmp.position() : (cursor.document()->characterCount() - 1);
|
||||
const QChar openChar = parentheses.contains(character) ? QLatin1Char('(') : QLatin1Char('[');
|
||||
const QChar closeChar = parentheses.contains(character) ? QLatin1Char(')') : QLatin1Char(']');
|
||||
|
||||
|
||||
@@ -72,7 +72,12 @@ void BaseTextMark::editorOpened(Core::IEditor *editor)
|
||||
if (m_markableInterface == 0) { // We aren't added to something
|
||||
m_markableInterface = textEditor->markableInterface();
|
||||
m_internalMark = new InternalMark(this);
|
||||
m_markableInterface->addMark(m_internalMark, m_line);
|
||||
|
||||
if (!m_markableInterface->addMark(m_internalMark, m_line)) {
|
||||
delete m_internalMark;
|
||||
m_internalMark = 0;
|
||||
m_markableInterface = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user