Merge remote branch 'origin/2.1'

Conflicts:
	README
	doc/qt-html-templates.qdocconf
	doc/qtcreator.qdoc
	doc/qtcreator.qdocconf
	share/qtcreator/templates/wizards/qtcreatorplugin/MyPlugin.pluginspec
	src/app/Info.plist
	src/plugins/bineditor/BinEditor.pluginspec
	src/plugins/bookmarks/Bookmarks.pluginspec
	src/plugins/classview/ClassView.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/cpptools/CppTools.pluginspec
	src/plugins/cvs/CVS.pluginspec
	src/plugins/debugger/Debugger.pluginspec
	src/plugins/debugger/breakhandler.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/imageviewer/ImageViewer.pluginspec
	src/plugins/locator/Locator.pluginspec
	src/plugins/mercurial/Mercurial.pluginspec
	src/plugins/perforce/Perforce.pluginspec
	src/plugins/projectexplorer/ProjectExplorer.pluginspec
	src/plugins/qmldesigner/QmlDesigner.pluginspec
	src/plugins/qmljseditor/QmlJSEditor.pluginspec
	src/plugins/qmljsinspector/QmlJSInspector.pluginspec
	src/plugins/qmlprojectmanager/QmlProjectManager.pluginspec
	src/plugins/qt4projectmanager/Qt4ProjectManager.pluginspec
	src/plugins/regexp/RegExp.pluginspec
	src/plugins/resourceeditor/ResourceEditor.pluginspec
	src/plugins/snippets/Snippets.pluginspec
	src/plugins/subversion/Subversion.pluginspec
	src/plugins/tasklist/TaskList.pluginspec
	src/plugins/texteditor/TextEditor.pluginspec
	src/plugins/vcsbase/VCSBase.pluginspec
	src/plugins/welcome/Welcome.pluginspec
	tests/auto/cplusplus/codeformatter/tst_codeformatter.cpp
	tests/manual/fakevim/fakevim.pro
	tests/manual/ssh/errorhandling/main.cpp
This commit is contained in:
Christian Kamm
2010-10-11 14:16:33 +02:00
413 changed files with 5788 additions and 8076 deletions

View File

@@ -109,7 +109,8 @@ QList<Locator::FilterEntry> CppCurrentDocumentFilter::matchesFor(QFutureInterfac
void CppCurrentDocumentFilter::accept(Locator::FilterEntry selection) const
{
ModelItemInfo info = qvariant_cast<CppTools::Internal::ModelItemInfo>(selection.internalData);
TextEditor::BaseTextEditor::openEditorAt(info.fileName, info.line);
TextEditor::BaseTextEditor::openEditorAt(info.fileName, info.line, info.column,
QString(), Core::EditorManager::ModeSwitch);
}
void CppCurrentDocumentFilter::refresh(QFutureInterface<void> &future)

View File

@@ -127,7 +127,8 @@ QList<Locator::FilterEntry> CppLocatorFilter::matchesFor(QFutureInterface<Locato
void CppLocatorFilter::accept(Locator::FilterEntry selection) const
{
ModelItemInfo info = qvariant_cast<CppTools::Internal::ModelItemInfo>(selection.internalData);
TextEditor::BaseTextEditor::openEditorAt(info.fileName, info.line, info.column);
TextEditor::BaseTextEditor::openEditorAt(info.fileName, info.line, info.column,
QString(), Core::EditorManager::ModeSwitch);
}
void CppLocatorFilter::reset()

View File

@@ -104,7 +104,8 @@ CppRefactoringFile::CppRefactoringFile(TextEditor::BaseTextEditor *editor, CPlus
Document::Ptr CppRefactoringFile::cppDocument() const
{
if (!m_cppDocument) {
if (!m_cppDocument || !m_cppDocument->translationUnit() ||
!m_cppDocument->translationUnit()->ast()) {
const QString source = document()->toPlainText();
const QString name = fileName();
const Snapshot &snapshot = refactoringChanges()->snapshot();

View File

@@ -264,7 +264,6 @@ QString CppToolsPlugin::correspondingHeaderOrSourceI(const QString &fileName) co
const QString privateHeaderSuffix = QLatin1String("_p");
const QChar dot = QLatin1Char('.');
QStringList candidates;
// Check base matches 'source.h'-> 'source.cpp' and vice versa
const QStringList::const_iterator scend = suffixes.constEnd();
for (QStringList::const_iterator it = suffixes.constBegin(); it != scend; ++it) {

View File

@@ -35,6 +35,9 @@
#include <ASTVisitor.h>
#include <TranslationUnit.h>
#include <coreplugin/icore.h>
#include <coreplugin/mimedatabase.h>
using namespace CPlusPlus;
using namespace CppTools;
@@ -298,7 +301,21 @@ InsertionLocation InsertionPointLocator::methodDeclarationInClass(
}
}
static bool isSourceFile(const QString &fileName)
{
const Core::MimeDatabase *mimeDb = Core::ICore::instance()->mimeDatabase();
Core::MimeType cSourceTy = mimeDb->findByType(QLatin1String("text/x-csrc"));
Core::MimeType cppSourceTy = mimeDb->findByType(QLatin1String("text/x-c++src"));
Core::MimeType mSourceTy = mimeDb->findByType(QLatin1String("text/x-objcsrc"));
QStringList suffixes = cSourceTy.suffixes();
suffixes += cppSourceTy.suffixes();
suffixes += mSourceTy.suffixes();
QFileInfo fileInfo(fileName);
return suffixes.contains(fileInfo.suffix());
}
/// Currently, we return the end of fileName.cpp
/// \todo take the definitions of the surrounding declarations into account
QList<InsertionLocation> InsertionPointLocator::methodDefinition(
Declaration *declaration) const
{
@@ -306,14 +323,29 @@ QList<InsertionLocation> InsertionPointLocator::methodDefinition(
if (!declaration)
return result;
Internal::CppToolsPlugin *cpptools = Internal::CppToolsPlugin::instance();
const QString declFileName = QString::fromUtf8(declaration->fileName(),
declaration->fileNameLength());
QString target = declFileName;
if (!isSourceFile(declFileName)) {
Internal::CppToolsPlugin *cpptools = Internal::CppToolsPlugin::instance();
QString candidate = cpptools->correspondingHeaderOrSource(declFileName);
if (!candidate.isEmpty())
target = candidate;
}
const QString declFileName = QLatin1String(declaration->fileName());
QString target = cpptools->correspondingHeaderOrSource(declFileName);
Document::Ptr doc = m_refactoringChanges->file(target).cppDocument();
if (doc.isNull())
return result;
Snapshot simplified = m_refactoringChanges->snapshot().simplified(doc);
if (Symbol *s = simplified.findMatchingDefinition(declaration)) {
if (Function *f = s->asFunction()) {
if (f->isConst() == declaration->type().isConst()
&& f->isVolatile() == declaration->type().isVolatile())
return result;
}
}
TranslationUnit *xUnit = doc->translationUnit();
unsigned tokenCount = xUnit->tokenCount();
if (tokenCount < 2) // no tokens available

View File

@@ -278,10 +278,10 @@ SymbolsFindFilterConfigWidget::SymbolsFindFilterConfigWidget(SymbolsFindFilter *
connect(m_typeEnums, SIGNAL(clicked(bool)), this, SLOT(setState()));
connect(m_typeDeclarations, SIGNAL(clicked(bool)), this, SLOT(setState()));
m_searchProjectsOnly = new QRadioButton(tr("Projects Only"));
m_searchProjectsOnly = new QRadioButton(tr("Projects only"));
layout->addWidget(m_searchProjectsOnly, 2, 1);
m_searchGlobal = new QRadioButton(tr("Global"));
m_searchGlobal = new QRadioButton(tr("All files"));
layout->addWidget(m_searchGlobal, 2, 2);
m_searchGroup = new QButtonGroup(this);