Merge remote branch 'origin/2.0'

Conflicts:
	src/plugins/cpptools/cppcodecompletion.cpp
This commit is contained in:
con
2010-05-12 17:25:40 +02:00
65 changed files with 1014 additions and 512 deletions

View File

@@ -477,8 +477,7 @@ CodeCompletion::CodeCompletion(ModelManagerInterface *modelManager, QObject *par
: TextEditor::ICompletionCollector(parent),
m_modelManager(modelManager),
m_editor(0),
m_startPosition(0),
m_caseSensitivity(Qt::CaseSensitive)
m_startPosition(0)
{
Q_ASSERT(modelManager);
}
@@ -486,12 +485,6 @@ CodeCompletion::CodeCompletion(ModelManagerInterface *modelManager, QObject *par
CodeCompletion::~CodeCompletion()
{ }
Qt::CaseSensitivity CodeCompletion::caseSensitivity() const
{ return m_caseSensitivity; }
void CodeCompletion::setCaseSensitivity(Qt::CaseSensitivity caseSensitivity)
{ m_caseSensitivity = caseSensitivity; }
TextEditor::ITextEditable *CodeCompletion::editor() const
{ return m_editor; }
@@ -637,7 +630,7 @@ int CodeCompletion::startCompletion(TextEditor::ITextEditable *editor)
// Set up the current scope chain.
QList<AST::Node *> astPath = semanticInfo.astPath(editor->position());
context.build(astPath , document, snapshot, m_modelManager->importPaths());
context.build(astPath, document, snapshot, m_modelManager->importPaths());
// Search for the operator that triggered the completion.
QChar completionOperator;
@@ -854,7 +847,7 @@ void CodeCompletion::completions(QList<TextEditor::CompletionItem> *completions)
else if (length > 0) {
const QString key = m_editor->textAt(m_startPosition, length);
filter(m_completions, completions, key, FirstLetterCaseSensitive);
filter(m_completions, completions, key);
if (completions->size() == 1) {
if (key == completions->first().text)

View File

@@ -55,9 +55,6 @@ public:
CodeCompletion(ModelManagerInterface *modelManager, QObject *parent = 0);
virtual ~CodeCompletion();
Qt::CaseSensitivity caseSensitivity() const;
void setCaseSensitivity(Qt::CaseSensitivity caseSensitivity);
virtual TextEditor::ITextEditable *editor() const;
virtual int startPosition() const;
virtual bool shouldRestartCompletion();
@@ -81,7 +78,6 @@ private:
TextEditor::ITextEditable *m_editor;
int m_startPosition;
QList<TextEditor::CompletionItem> m_completions;
Qt::CaseSensitivity m_caseSensitivity;
QList<TextEditor::CompletionItem> m_snippets;
QDateTime m_snippetFileLastModified;

View File

@@ -77,8 +77,7 @@ QmlJSEditorPlugin::QmlJSEditorPlugin() :
m_modelManager(0),
m_wizard(0),
m_editor(0),
m_actionHandler(0),
m_completion(0)
m_actionHandler(0)
{
m_instance = this;
}
@@ -148,19 +147,16 @@ bool QmlJSEditorPlugin::initialize(const QStringList & /*arguments*/, QString *e
cmd = am->command(TextEditor::Constants::UN_COMMENT_SELECTION);
contextMenu->addAction(cmd);
m_completion = new CodeCompletion(m_modelManager);
addAutoReleasedObject(m_completion);
CodeCompletion *completion = new CodeCompletion(m_modelManager);
addAutoReleasedObject(completion);
addAutoReleasedObject(new HoverHandler());
addAutoReleasedObject(new HoverHandler);
// Restore settings
QSettings *settings = Core::ICore::instance()->settings();
settings->beginGroup(QLatin1String("CppTools")); // ### FIXME:
settings->beginGroup(QLatin1String("Completion"));
const bool caseSensitive = settings->value(QLatin1String("CaseSensitive"), true).toBool();
m_completion->setCaseSensitivity(caseSensitive ? Qt::CaseSensitive : Qt::CaseInsensitive);
settings->endGroup();
settings->endGroup();
// Set completion settings and keep them up to date
TextEditor::TextEditorSettings *textEditorSettings = TextEditor::TextEditorSettings::instance();
completion->setCompletionSettings(textEditorSettings->completionSettings());
connect(textEditorSettings, SIGNAL(completionSettingsChanged(TextEditor::CompletionSettings)),
completion, SLOT(setCompletionSettings(TextEditor::CompletionSettings)));
error_message->clear();

View File

@@ -52,7 +52,6 @@ class QmlFileWizard;
namespace Internal {
class QmlJSEditorFactory;
class CodeCompletion;
class QmlJSTextEditor;
class QmlJSPreviewRunner;
@@ -92,7 +91,6 @@ private:
QmlFileWizard *m_wizard;
QmlJSEditorFactory *m_editor;
TextEditor::TextEditorActionHandler *m_actionHandler;
CodeCompletion *m_completion;
};
} // namespace Internal