diff --git a/src/plugins/duieditor/duidocument.cpp b/src/plugins/duieditor/duidocument.cpp index 1d3ba10c823..9d13d4745cd 100644 --- a/src/plugins/duieditor/duidocument.cpp +++ b/src/plugins/duieditor/duidocument.cpp @@ -38,54 +38,58 @@ using namespace DuiEditor; using namespace QmlJS; DuiDocument::DuiDocument(const QString &fileName) - : _engine(0), _pool(0), _program(0), _fileName(fileName), _parsedCorrectly(false) + : _engine(0) + , _pool(0) + , _program(0) + , _fileName(fileName) + , _parsedCorrectly(false) { } DuiDocument::~DuiDocument() { - delete _engine; - delete _pool; + delete _engine; + delete _pool; } DuiDocument::Ptr DuiDocument::create(const QString &fileName) { - DuiDocument::Ptr doc(new DuiDocument(fileName)); - return doc; + DuiDocument::Ptr doc(new DuiDocument(fileName)); + return doc; } AST::UiProgram *DuiDocument::program() const { - return _program; + return _program; } QList DuiDocument::diagnosticMessages() const { - return _diagnosticMessages; + return _diagnosticMessages; } void DuiDocument::setSource(const QString &source) { - _source = source; + _source = source; } bool DuiDocument::parse() { - Q_ASSERT(! _engine); - Q_ASSERT(! _pool); - Q_ASSERT(! _program); + Q_ASSERT(! _engine); + Q_ASSERT(! _pool); + Q_ASSERT(! _program); - _engine = new Engine(); - _pool = new NodePool(_fileName, _engine); + _engine = new Engine(); + _pool = new NodePool(_fileName, _engine); - Lexer lexer(_engine); - Parser parser(_engine); + Lexer lexer(_engine); + Parser parser(_engine); - lexer.setCode(_source, /*line = */ 1); + lexer.setCode(_source, /*line = */ 1); _parsedCorrectly = parser.parse(); - _program = parser.ast(); - _diagnosticMessages = parser.diagnosticMessages(); + _program = parser.ast(); + _diagnosticMessages = parser.diagnosticMessages(); return _parsedCorrectly; } @@ -96,5 +100,3 @@ Snapshot::Snapshot() Snapshot::~Snapshot() { } - - diff --git a/src/plugins/duieditor/duieditor.cpp b/src/plugins/duieditor/duieditor.cpp index bca8cb5d5ff..e3820817879 100644 --- a/src/plugins/duieditor/duieditor.cpp +++ b/src/plugins/duieditor/duieditor.cpp @@ -64,7 +64,7 @@ #include enum { - UPDATE_DOCUMENT_DEFAULT_INTERVAL = 250 + UPDATE_DOCUMENT_DEFAULT_INTERVAL = 250 }; using namespace QmlJS; @@ -76,321 +76,320 @@ namespace Internal { class FindWords: protected Visitor { public: - QStringList operator()(AST::Node *node) - { - _words.clear(); - accept(node); - return QStringList(_words.toList()); - } + QStringList operator()(AST::Node *node) + { + _words.clear(); + accept(node); + return QStringList(_words.toList()); + } protected: - void accept(AST::Node *node) - { AST::Node::acceptChild(node, this); } + void accept(AST::Node *node) + { AST::Node::acceptChild(node, this); } - using Visitor::visit; - using Visitor::endVisit; + using Visitor::visit; + using Visitor::endVisit; - void addWords(AST::UiQualifiedId *id) - { - for (; id; id = id->next) { - if (id->name) - _words.insert(id->name->asString()); - } - } + void addWords(AST::UiQualifiedId *id) + { + for (; id; id = id->next) { + if (id->name) + _words.insert(id->name->asString()); + } + } - virtual bool visit(AST::UiPublicMember *node) - { - if (node->name) - _words.insert(node->name->asString()); + virtual bool visit(AST::UiPublicMember *node) + { + if (node->name) + _words.insert(node->name->asString()); - return true; - } + return true; + } - virtual bool visit(AST::UiQualifiedId *node) - { - if (node->name) - _words.insert(node->name->asString()); + virtual bool visit(AST::UiQualifiedId *node) + { + if (node->name) + _words.insert(node->name->asString()); - return true; - } + return true; + } - virtual bool visit(AST::IdentifierExpression *node) - { - if (node->name) - _words.insert(node->name->asString()); + virtual bool visit(AST::IdentifierExpression *node) + { + if (node->name) + _words.insert(node->name->asString()); - return true; - } + return true; + } - virtual bool visit(AST::FieldMemberExpression *node) - { - if (node->name) - _words.insert(node->name->asString()); + virtual bool visit(AST::FieldMemberExpression *node) + { + if (node->name) + _words.insert(node->name->asString()); - return true; - } + return true; + } - virtual bool visit(AST::FunctionExpression *node) - { - if (node->name) - _words.insert(node->name->asString()); + virtual bool visit(AST::FunctionExpression *node) + { + if (node->name) + _words.insert(node->name->asString()); - for (AST::FormalParameterList *it = node->formals; it; it = it->next) { - if (it->name) - _words.insert(it->name->asString()); - } + for (AST::FormalParameterList *it = node->formals; it; it = it->next) { + if (it->name) + _words.insert(it->name->asString()); + } - return true; - } + return true; + } - virtual bool visit(AST::FunctionDeclaration *node) - { - if (node->name) - _words.insert(node->name->asString()); + virtual bool visit(AST::FunctionDeclaration *node) + { + if (node->name) + _words.insert(node->name->asString()); - for (AST::FormalParameterList *it = node->formals; it; it = it->next) { - if (it->name) - _words.insert(it->name->asString()); - } + for (AST::FormalParameterList *it = node->formals; it; it = it->next) { + if (it->name) + _words.insert(it->name->asString()); + } - return true; - } + return true; + } - virtual bool visit(AST::VariableDeclaration *node) - { - if (node->name) - _words.insert(node->name->asString()); + virtual bool visit(AST::VariableDeclaration *node) + { + if (node->name) + _words.insert(node->name->asString()); - return true; - } + return true; + } private: - QSet _words; + QSet _words; }; class FindIdDeclarations: protected Visitor { public: - typedef QMap > Result; + typedef QMap > Result; - Result operator()(AST::Node *node) - { - _ids.clear(); - _maybeIds.clear(); - accept(node); - return _ids; - } + Result operator()(AST::Node *node) + { + _ids.clear(); + _maybeIds.clear(); + accept(node); + return _ids; + } protected: - QString asString(AST::UiQualifiedId *id) - { - QString text; - for (; id; id = id->next) { - if (id->name) - text += id->name->asString(); - else - text += QLatin1Char('?'); + QString asString(AST::UiQualifiedId *id) + { + QString text; + for (; id; id = id->next) { + if (id->name) + text += id->name->asString(); + else + text += QLatin1Char('?'); - if (id->next) - text += QLatin1Char('.'); - } + if (id->next) + text += QLatin1Char('.'); + } - return text; - } + return text; + } - void accept(AST::Node *node) - { AST::Node::acceptChild(node, this); } + void accept(AST::Node *node) + { AST::Node::acceptChild(node, this); } - using Visitor::visit; - using Visitor::endVisit; + using Visitor::visit; + using Visitor::endVisit; - virtual bool visit(AST::UiScriptBinding *node) - { - if (asString(node->qualifiedId) == QLatin1String("id")) { - if (AST::ExpressionStatement *stmt = AST::cast(node->statement)) { - if (AST::IdentifierExpression *idExpr = AST::cast(stmt->expression)) { - if (idExpr->name) { - const QString id = idExpr->name->asString(); - QList *locs = &_ids[id]; - locs->append(idExpr->firstSourceLocation()); - locs->append(_maybeIds.value(id)); - _maybeIds.remove(id); - return false; - } - } - } - } + virtual bool visit(AST::UiScriptBinding *node) + { + if (asString(node->qualifiedId) == QLatin1String("id")) { + if (AST::ExpressionStatement *stmt = AST::cast(node->statement)) { + if (AST::IdentifierExpression *idExpr = AST::cast(stmt->expression)) { + if (idExpr->name) { + const QString id = idExpr->name->asString(); + QList *locs = &_ids[id]; + locs->append(idExpr->firstSourceLocation()); + locs->append(_maybeIds.value(id)); + _maybeIds.remove(id); + return false; + } + } + } + } - accept(node->statement); + accept(node->statement); - return false; - } + return false; + } - virtual bool visit(AST::IdentifierExpression *node) - { - if (node->name) { - const QString name = node->name->asString(); + virtual bool visit(AST::IdentifierExpression *node) + { + if (node->name) { + const QString name = node->name->asString(); - if (_ids.contains(name)) - _ids[name].append(node->identifierToken); - else - _maybeIds[name].append(node->identifierToken); - } - return false; - } + if (_ids.contains(name)) + _ids[name].append(node->identifierToken); + else + _maybeIds[name].append(node->identifierToken); + } + return false; + } private: - Result _ids; - Result _maybeIds; + Result _ids; + Result _maybeIds; }; class FindDeclarations: protected Visitor { - QList _declarations; - int _depth; + QList _declarations; + int _depth; public: - QList operator()(AST::Node *node) - { - _depth = -1; - _declarations.clear(); - accept(node); - return _declarations; - } + QList operator()(AST::Node *node) + { + _depth = -1; + _declarations.clear(); + accept(node); + return _declarations; + } protected: - using Visitor::visit; - using Visitor::endVisit; + using Visitor::visit; + using Visitor::endVisit; - QString asString(AST::UiQualifiedId *id) - { - QString text; - for (; id; id = id->next) { - if (id->name) - text += id->name->asString(); - else - text += QLatin1Char('?'); + QString asString(AST::UiQualifiedId *id) + { + QString text; + for (; id; id = id->next) { + if (id->name) + text += id->name->asString(); + else + text += QLatin1Char('?'); - if (id->next) - text += QLatin1Char('.'); - } + if (id->next) + text += QLatin1Char('.'); + } - return text; - } + return text; + } - void accept(AST::Node *node) - { AST::Node::acceptChild(node, this); } + void accept(AST::Node *node) + { AST::Node::acceptChild(node, this); } - void init(Declaration *decl, AST::UiObjectMember *member) - { - const SourceLocation first = member->firstSourceLocation(); - const SourceLocation last = member->lastSourceLocation(); - decl->startLine = first.startLine; - decl->startColumn = first.startColumn; - decl->endLine = last.startLine; - decl->endColumn = last.startColumn + last.length; - } + void init(Declaration *decl, AST::UiObjectMember *member) + { + const SourceLocation first = member->firstSourceLocation(); + const SourceLocation last = member->lastSourceLocation(); + decl->startLine = first.startLine; + decl->startColumn = first.startColumn; + decl->endLine = last.startLine; + decl->endColumn = last.startColumn + last.length; + } - virtual bool visit(AST::UiObjectDefinition *node) - { - ++_depth; + virtual bool visit(AST::UiObjectDefinition *node) + { + ++_depth; - Declaration decl; - init(&decl, node); + Declaration decl; + init(&decl, node); - decl.text.fill(QLatin1Char(' '), _depth); - if (node->qualifiedTypeNameId) - decl.text.append(asString(node->qualifiedTypeNameId)); - else - decl.text.append(QLatin1Char('?')); + decl.text.fill(QLatin1Char(' '), _depth); + if (node->qualifiedTypeNameId) + decl.text.append(asString(node->qualifiedTypeNameId)); + else + decl.text.append(QLatin1Char('?')); - _declarations.append(decl); + _declarations.append(decl); - return true; // search for more bindings - } + return true; // search for more bindings + } - virtual void endVisit(AST::UiObjectDefinition *) - { - --_depth; - } + virtual void endVisit(AST::UiObjectDefinition *) + { + --_depth; + } - virtual bool visit(AST::UiObjectBinding *node) - { - ++_depth; + virtual bool visit(AST::UiObjectBinding *node) + { + ++_depth; - Declaration decl; - init(&decl, node); + Declaration decl; + init(&decl, node); - decl.text.fill(QLatin1Char(' '), _depth); + decl.text.fill(QLatin1Char(' '), _depth); - decl.text.append(asString(node->qualifiedId)); - decl.text.append(QLatin1String(": ")); + decl.text.append(asString(node->qualifiedId)); + decl.text.append(QLatin1String(": ")); - if (node->qualifiedTypeNameId) - decl.text.append(asString(node->qualifiedTypeNameId)); - else - decl.text.append(QLatin1Char('?')); + if (node->qualifiedTypeNameId) + decl.text.append(asString(node->qualifiedTypeNameId)); + else + decl.text.append(QLatin1Char('?')); - _declarations.append(decl); + _declarations.append(decl); - return true; // search for more bindings - } + return true; // search for more bindings + } - virtual void endVisit(AST::UiObjectBinding *) - { - --_depth; - } + virtual void endVisit(AST::UiObjectBinding *) + { + --_depth; + } #if 0 // ### ignore script bindings for now. - virtual bool visit(AST::UiScriptBinding *node) - { - ++_depth; + virtual bool visit(AST::UiScriptBinding *node) + { + ++_depth; - Declaration decl; - init(&decl, node); + Declaration decl; + init(&decl, node); - decl.text.fill(QLatin1Char(' '), _depth); - decl.text.append(asString(node->qualifiedId)); + decl.text.fill(QLatin1Char(' '), _depth); + decl.text.append(asString(node->qualifiedId)); - _declarations.append(decl); + _declarations.append(decl); - return false; // more more bindings in this subtree. - } + return false; // more more bindings in this subtree. + } - virtual void endVisit(AST::UiScriptBinding *) - { - --_depth; - } + virtual void endVisit(AST::UiScriptBinding *) + { + --_depth; + } #endif }; -ScriptEditorEditable::ScriptEditorEditable(ScriptEditor *editor, const QList& context) - : BaseTextEditorEditable(editor), m_context(context) +ScriptEditorEditable::ScriptEditorEditable(ScriptEditor *editor, const QList &context) + : BaseTextEditorEditable(editor), m_context(context) { } -ScriptEditor::ScriptEditor(const Context &context, - QWidget *parent) : - TextEditor::BaseTextEditor(parent), - m_context(context), +ScriptEditor::ScriptEditor(const Context &context, QWidget *parent) : + TextEditor::BaseTextEditor(parent), + m_context(context), m_methodCombo(0), m_modelManager(0) { - setParenthesesMatchingEnabled(true); - setMarksVisible(true); - setCodeFoldingSupported(true); - setCodeFoldingVisible(true); - setMimeType(DuiEditor::Constants::C_DUIEDITOR_MIMETYPE); + setParenthesesMatchingEnabled(true); + setMarksVisible(true); + setCodeFoldingSupported(true); + setCodeFoldingVisible(true); + setMimeType(DuiEditor::Constants::C_DUIEDITOR_MIMETYPE); - m_updateDocumentTimer = new QTimer(this); - m_updateDocumentTimer->setInterval(UPDATE_DOCUMENT_DEFAULT_INTERVAL); - m_updateDocumentTimer->setSingleShot(true); + m_updateDocumentTimer = new QTimer(this); + m_updateDocumentTimer->setInterval(UPDATE_DOCUMENT_DEFAULT_INTERVAL); + m_updateDocumentTimer->setSingleShot(true); - connect(m_updateDocumentTimer, SIGNAL(timeout()), this, SLOT(updateDocumentNow())); + connect(m_updateDocumentTimer, SIGNAL(timeout()), this, SLOT(updateDocumentNow())); - connect(this, SIGNAL(textChanged()), this, SLOT(updateDocument())); + connect(this, SIGNAL(textChanged()), this, SLOT(updateDocument())); - baseTextDocument()->setSyntaxHighlighter(new DuiHighlighter); + baseTextDocument()->setSyntaxHighlighter(new DuiHighlighter); m_modelManager = ExtensionSystem::PluginManager::instance()->getObject(); @@ -412,34 +411,34 @@ QStringList ScriptEditor::words() const Core::IEditor *ScriptEditorEditable::duplicate(QWidget *parent) { - ScriptEditor *newEditor = new ScriptEditor(m_context, parent); - newEditor->duplicateFrom(editor()); - DuiEditorPlugin::instance()->initializeEditor(newEditor); - return newEditor->editableInterface(); + ScriptEditor *newEditor = new ScriptEditor(m_context, parent); + newEditor->duplicateFrom(editor()); + DuiEditorPlugin::instance()->initializeEditor(newEditor); + return newEditor->editableInterface(); } const char *ScriptEditorEditable::kind() const { - return DuiEditor::Constants::C_DUIEDITOR; + return DuiEditor::Constants::C_DUIEDITOR; } ScriptEditor::Context ScriptEditorEditable::context() const { - return m_context; + return m_context; } void ScriptEditor::updateDocument() { - m_updateDocumentTimer->start(UPDATE_DOCUMENT_DEFAULT_INTERVAL); + m_updateDocumentTimer->start(UPDATE_DOCUMENT_DEFAULT_INTERVAL); } void ScriptEditor::updateDocumentNow() { - // ### move in the parser thread. + // ### move in the parser thread. - m_updateDocumentTimer->stop(); + m_updateDocumentTimer->stop(); - const QString fileName = file()->fileName(); + const QString fileName = file()->fileName(); m_modelManager->updateSourceFiles(QStringList() << fileName); } @@ -451,103 +450,103 @@ void ScriptEditor::onDocumentUpdated(DuiDocument::Ptr doc) m_document = doc; - FindIdDeclarations updateIds; - m_ids = updateIds(doc->program()); + FindIdDeclarations updateIds; + m_ids = updateIds(doc->program()); if (doc->isParsedCorrectly()) { - FindDeclarations findDeclarations; - m_declarations = findDeclarations(doc->program()); + FindDeclarations findDeclarations; + m_declarations = findDeclarations(doc->program()); - FindWords findWords; - m_words = findWords(doc->program()); + FindWords findWords; + m_words = findWords(doc->program()); - QStringList items; - items.append(tr("")); - foreach (Declaration decl, m_declarations) - items.append(decl.text); + foreach (Declaration decl, m_declarations) + items.append(decl.text); - m_methodCombo->clear(); - m_methodCombo->addItems(items); - updateMethodBoxIndex(); + m_methodCombo->clear(); + m_methodCombo->addItems(items); + updateMethodBoxIndex(); } - QList selections; + QList selections; - QTextCharFormat errorFormat; - errorFormat.setUnderlineColor(Qt::red); - errorFormat.setUnderlineStyle(QTextCharFormat::WaveUnderline); + QTextCharFormat errorFormat; + errorFormat.setUnderlineColor(Qt::red); + errorFormat.setUnderlineStyle(QTextCharFormat::WaveUnderline); - QTextEdit::ExtraSelection sel; + QTextEdit::ExtraSelection sel; - m_diagnosticMessages = doc->diagnosticMessages(); + m_diagnosticMessages = doc->diagnosticMessages(); - foreach (const DiagnosticMessage &d, m_diagnosticMessages) { - int line = d.loc.startLine; - int column = d.loc.startColumn; + foreach (const DiagnosticMessage &d, m_diagnosticMessages) { + int line = d.loc.startLine; + int column = d.loc.startColumn; - if (column == 0) - column = 1; + if (column == 0) + column = 1; - QTextCursor c(document()->findBlockByNumber(line - 1)); - sel.cursor = c; + QTextCursor c(document()->findBlockByNumber(line - 1)); + sel.cursor = c; - sel.cursor.setPosition(c.position() + column - 1); - if (sel.cursor.atBlockEnd()) - sel.cursor.movePosition(QTextCursor::StartOfWord, QTextCursor::KeepAnchor); - else - sel.cursor.movePosition(QTextCursor::EndOfWord, QTextCursor::KeepAnchor); + sel.cursor.setPosition(c.position() + column - 1); + if (sel.cursor.atBlockEnd()) + sel.cursor.movePosition(QTextCursor::StartOfWord, QTextCursor::KeepAnchor); + else + sel.cursor.movePosition(QTextCursor::EndOfWord, QTextCursor::KeepAnchor); - sel.format = errorFormat; + sel.format = errorFormat; - selections.append(sel); - } + selections.append(sel); + } - setExtraSelections(CodeWarningsSelection, selections); + setExtraSelections(CodeWarningsSelection, selections); } void ScriptEditor::jumpToMethod(int index) { - if (index) { - Declaration d = m_declarations.at(index - 1); - gotoLine(d.startLine, d.startColumn - 1); - setFocus(); - } + if (index) { + Declaration d = m_declarations.at(index - 1); + gotoLine(d.startLine, d.startColumn - 1); + setFocus(); + } } void ScriptEditor::updateMethodBoxIndex() { - int line = 0, column = 0; - convertPosition(position(), &line, &column); + int line = 0, column = 0; + convertPosition(position(), &line, &column); - int currentSymbolIndex = 0; + int currentSymbolIndex = 0; - int index = 0; - while (index < m_declarations.size()) { - const Declaration &d = m_declarations.at(index++); + int index = 0; + while (index < m_declarations.size()) { + const Declaration &d = m_declarations.at(index++); - if (line < d.startLine) - break; - else - currentSymbolIndex = index; - } + if (line < d.startLine) + break; + else + currentSymbolIndex = index; + } - m_methodCombo->setCurrentIndex(currentSymbolIndex); + m_methodCombo->setCurrentIndex(currentSymbolIndex); - QList selections; - foreach (const AST::SourceLocation &loc, m_ids.value(wordUnderCursor())) { - if (! loc.isValid()) - continue; + QList selections; + foreach (const AST::SourceLocation &loc, m_ids.value(wordUnderCursor())) { + if (! loc.isValid()) + continue; - QTextEdit::ExtraSelection sel; - sel.format.setBackground(Qt::yellow); - sel.cursor = textCursor(); - sel.cursor.setPosition(loc.begin()); - sel.cursor.setPosition(loc.end(), QTextCursor::KeepAnchor); - selections.append(sel); - } + QTextEdit::ExtraSelection sel; + sel.format.setBackground(Qt::yellow); + sel.cursor = textCursor(); + sel.cursor.setPosition(loc.begin()); + sel.cursor.setPosition(loc.end(), QTextCursor::KeepAnchor); + selections.append(sel); + } - setExtraSelections(CodeSemanticsSelection, selections); + setExtraSelections(CodeSemanticsSelection, selections); } void ScriptEditor::updateMethodBoxToolTip() @@ -560,148 +559,147 @@ void ScriptEditor::updateFileName() void ScriptEditor::renameIdUnderCursor() { - const QString id = wordUnderCursor(); - bool ok = false; - const QString newId = QInputDialog::getText(Core::ICore::instance()->mainWindow(), - tr("Rename..."), - tr("New id:"), - QLineEdit::Normal, - id, &ok); - if (ok) { - TextWriter writer; + const QString id = wordUnderCursor(); + bool ok = false; + const QString newId = QInputDialog::getText(Core::ICore::instance()->mainWindow(), + tr("Rename..."), + tr("New id:"), + QLineEdit::Normal, + id, &ok); + if (ok) { + TextWriter writer; - QString code = toPlainText(); + QString code = toPlainText(); - foreach (const AST::SourceLocation &loc, m_ids.value(id)) { - writer.replace(loc.offset, loc.length, newId); - } + foreach (const AST::SourceLocation &loc, m_ids.value(id)) { + writer.replace(loc.offset, loc.length, newId); + } - QTextCursor tc = textCursor(); - writer.write(&tc); - } + QTextCursor tc = textCursor(); + writer.write(&tc); + } } QStringList ScriptEditor::keywords() const { - QStringList words; + QStringList words; - if (DuiHighlighter *highlighter = qobject_cast(baseTextDocument()->syntaxHighlighter())) { - words = highlighter->keywords().toList(); - } + if (DuiHighlighter *highlighter = qobject_cast(baseTextDocument()->syntaxHighlighter())) + words = highlighter->keywords().toList(); - return words; + return words; } void ScriptEditor::setFontSettings(const TextEditor::FontSettings &fs) { - TextEditor::BaseTextEditor::setFontSettings(fs); - DuiHighlighter *highlighter = qobject_cast(baseTextDocument()->syntaxHighlighter()); - if (!highlighter) - return; + TextEditor::BaseTextEditor::setFontSettings(fs); + DuiHighlighter *highlighter = qobject_cast(baseTextDocument()->syntaxHighlighter()); + if (!highlighter) + return; - static QVector categories; - if (categories.isEmpty()) { - categories << QLatin1String(TextEditor::Constants::C_NUMBER) - << QLatin1String(TextEditor::Constants::C_STRING) - << QLatin1String(TextEditor::Constants::C_TYPE) - << QLatin1String(TextEditor::Constants::C_KEYWORD) - << QLatin1String(TextEditor::Constants::C_PREPROCESSOR) - << QLatin1String(TextEditor::Constants::C_LABEL) - << QLatin1String(TextEditor::Constants::C_COMMENT); - } + static QVector categories; + if (categories.isEmpty()) { + categories << QLatin1String(TextEditor::Constants::C_NUMBER) + << QLatin1String(TextEditor::Constants::C_STRING) + << QLatin1String(TextEditor::Constants::C_TYPE) + << QLatin1String(TextEditor::Constants::C_KEYWORD) + << QLatin1String(TextEditor::Constants::C_PREPROCESSOR) + << QLatin1String(TextEditor::Constants::C_LABEL) + << QLatin1String(TextEditor::Constants::C_COMMENT); + } - highlighter->setFormats(fs.toTextCharFormats(categories)); - highlighter->rehighlight(); + highlighter->setFormats(fs.toTextCharFormats(categories)); + highlighter->rehighlight(); } QString ScriptEditor::wordUnderCursor() const { - QTextCursor tc = textCursor(); - tc.movePosition(QTextCursor::StartOfWord); - tc.movePosition(QTextCursor::EndOfWord, QTextCursor::KeepAnchor); - const QString word= tc.selectedText(); - return word; + QTextCursor tc = textCursor(); + tc.movePosition(QTextCursor::StartOfWord); + tc.movePosition(QTextCursor::EndOfWord, QTextCursor::KeepAnchor); + const QString word= tc.selectedText(); + return word; } bool ScriptEditor::isElectricCharacter(const QChar &ch) const { - if (ch == QLatin1Char('}')) - return true; - return false; + if (ch == QLatin1Char('}')) + return true; + return false; } void ScriptEditor::indentBlock(QTextDocument *, QTextBlock block, QChar typedChar) { - TextEditor::TabSettings ts = tabSettings(); + TextEditor::TabSettings ts = tabSettings(); - if (typedChar == QLatin1Char('}') - || ((typedChar == QChar::Null) && block.text().trimmed() == "}")) { + if (typedChar == QLatin1Char('}') + || ((typedChar == QChar::Null) && block.text().trimmed() == "}")) { - QTextCursor tc(block); + QTextCursor tc(block); - if (typedChar == QLatin1Char('}')) - tc = textCursor(); - - if (TextEditor::TextBlockUserData::findPreviousBlockOpenParenthesis(&tc)) { - const QString text = tc.block().text(); - int indent = ts.columnAt(text, ts.firstNonSpace(text)); - ts.indentLine(block, indent); - return; - } - } + if (typedChar == QLatin1Char('}')) + tc = textCursor(); - int indent = 0; - int extraIndent = 0; + if (TextEditor::TextBlockUserData::findPreviousBlockOpenParenthesis(&tc)) { + const QString text = tc.block().text(); + int indent = ts.columnAt(text, ts.firstNonSpace(text)); + ts.indentLine(block, indent); + return; + } + } - if (block.previous().isValid()) { - const int braceDepth = qMax(0, block.previous().userState() >> 8); - const int previousBraceDepth = qMax(0, block.previous().previous().userState() >> 8); + int indent = 0; + int extraIndent = 0; - if (braceDepth > previousBraceDepth) - extraIndent = ts.m_indentSize * (braceDepth - previousBraceDepth); - } + if (block.previous().isValid()) { + const int braceDepth = qMax(0, block.previous().userState() >> 8); + const int previousBraceDepth = qMax(0, block.previous().previous().userState() >> 8); - QTextBlock it = block.previous(); - for (; it.isValid(); it = it.previous()) { - const QString text = it.text(); + if (braceDepth > previousBraceDepth) + extraIndent = ts.m_indentSize * (braceDepth - previousBraceDepth); + } - if (! text.isEmpty()) { - indent = ts.columnAt(text, ts.firstNonSpace(text)); - break; - } - } + QTextBlock it = block.previous(); + for (; it.isValid(); it = it.previous()) { + const QString text = it.text(); - ts.indentLine(block, extraIndent + indent); + if (! text.isEmpty()) { + indent = ts.columnAt(text, ts.firstNonSpace(text)); + break; + } + } + + ts.indentLine(block, extraIndent + indent); } TextEditor::BaseTextEditorEditable *ScriptEditor::createEditableInterface() { - ScriptEditorEditable *editable = new ScriptEditorEditable(this, m_context); - createToolBar(editable); - return editable; + ScriptEditorEditable *editable = new ScriptEditorEditable(this, m_context); + createToolBar(editable); + return editable; } void ScriptEditor::createToolBar(ScriptEditorEditable *editable) { - m_methodCombo = new QComboBox; - m_methodCombo->setMinimumContentsLength(22); - //m_methodCombo->setSizeAdjustPolicy(QComboBox::AdjustToContents); + m_methodCombo = new QComboBox; + m_methodCombo->setMinimumContentsLength(22); + //m_methodCombo->setSizeAdjustPolicy(QComboBox::AdjustToContents); - // Make the combo box prefer to expand - QSizePolicy policy = m_methodCombo->sizePolicy(); - policy.setHorizontalPolicy(QSizePolicy::Expanding); - m_methodCombo->setSizePolicy(policy); + // Make the combo box prefer to expand + QSizePolicy policy = m_methodCombo->sizePolicy(); + policy.setHorizontalPolicy(QSizePolicy::Expanding); + m_methodCombo->setSizePolicy(policy); - connect(m_methodCombo, SIGNAL(activated(int)), this, SLOT(jumpToMethod(int))); - connect(this, SIGNAL(cursorPositionChanged()), this, SLOT(updateMethodBoxIndex())); - connect(m_methodCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(updateMethodBoxToolTip())); + connect(m_methodCombo, SIGNAL(activated(int)), this, SLOT(jumpToMethod(int))); + connect(this, SIGNAL(cursorPositionChanged()), this, SLOT(updateMethodBoxIndex())); + connect(m_methodCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(updateMethodBoxToolTip())); - connect(file(), SIGNAL(changed()), this, SLOT(updateFileName())); + connect(file(), SIGNAL(changed()), this, SLOT(updateFileName())); - QToolBar *toolBar = static_cast(editable->toolBar()); + QToolBar *toolBar = static_cast(editable->toolBar()); - QList actions = toolBar->actions(); - toolBar->insertWidget(actions.first(), m_methodCombo); + QList actions = toolBar->actions(); + toolBar->insertWidget(actions.first(), m_methodCombo); } TextEditor::BaseTextEditor::Link ScriptEditor::findLinkAt(const QTextCursor &cursor, bool resolveTarget) @@ -733,36 +731,36 @@ TextEditor::BaseTextEditor::Link ScriptEditor::findLinkAt(const QTextCursor &cur return link; } -void ScriptEditor::reformat(QTextDocument *, QTextBlock block) +void ScriptEditor::reformat(QTextDocument *, QTextBlock) { // TODO (EV) } void ScriptEditor::contextMenuEvent(QContextMenuEvent *e) { - QMenu *menu = createStandardContextMenu(); + QMenu *menu = createStandardContextMenu(); - if (Core::ActionContainer *mcontext = Core::ICore::instance()->actionManager()->actionContainer(DuiEditor::Constants::M_CONTEXT)) { - QMenu *contextMenu = mcontext->menu(); - foreach (QAction *action, contextMenu->actions()) - menu->addAction(action); - } + if (Core::ActionContainer *mcontext = Core::ICore::instance()->actionManager()->actionContainer(DuiEditor::Constants::M_CONTEXT)) { + QMenu *contextMenu = mcontext->menu(); + foreach (QAction *action, contextMenu->actions()) + menu->addAction(action); + } - const QString id = wordUnderCursor(); - const QList &locations = m_ids.value(id); - if (! locations.isEmpty()) { - menu->addSeparator(); - QAction *a = menu->addAction(tr("Rename id '%1'...").arg(id)); - connect(a, SIGNAL(triggered()), this, SLOT(renameIdUnderCursor())); - } + const QString id = wordUnderCursor(); + const QList &locations = m_ids.value(id); + if (! locations.isEmpty()) { + menu->addSeparator(); + QAction *a = menu->addAction(tr("Rename id '%1'...").arg(id)); + connect(a, SIGNAL(triggered()), this, SLOT(renameIdUnderCursor())); + } - menu->exec(e->globalPos()); - menu->deleteLater(); + menu->exec(e->globalPos()); + menu->deleteLater(); } void ScriptEditor::unCommentSelection() { - Core::Utils::unCommentSelection(this); + Core::Utils::unCommentSelection(this); } } // namespace Internal diff --git a/src/plugins/duieditor/duimodelmanagerinterface.cpp b/src/plugins/duieditor/duimodelmanagerinterface.cpp index bf66810feeb..3143673761d 100644 --- a/src/plugins/duieditor/duimodelmanagerinterface.cpp +++ b/src/plugins/duieditor/duimodelmanagerinterface.cpp @@ -32,7 +32,7 @@ using namespace DuiEditor; DuiModelManagerInterface::DuiModelManagerInterface(QObject *parent): - QObject(parent) + QObject(parent) { }