some action cleanup for the qml editor

done with Erik Verbruggen
This commit is contained in:
mae
2009-10-01 13:34:02 +02:00
parent dc40d764b3
commit 3a2974b3f9
15 changed files with 34 additions and 45 deletions

View File

@@ -1868,7 +1868,8 @@ void CPPEditor::setFontSettings(const TextEditor::FontSettings &fs)
<< QLatin1String(TextEditor::Constants::C_LABEL)
<< QLatin1String(TextEditor::Constants::C_COMMENT)
<< QLatin1String(TextEditor::Constants::C_DOXYGEN_COMMENT)
<< QLatin1String(TextEditor::Constants::C_DOXYGEN_TAG);
<< QLatin1String(TextEditor::Constants::C_DOXYGEN_TAG)
<< QLatin1String(TextEditor::Constants::C_VISUAL_WHITESPACE);
}
const QVector<QTextCharFormat> formats = fs.toTextCharFormats(categories);

View File

@@ -49,6 +49,7 @@ enum CppFormats {
CppCommentFormat,
CppDoxygenCommentFormat,
CppDoxygenTagFormat,
CppVisualWhitespace,
NumCppFormats
};

View File

@@ -44,7 +44,6 @@ using namespace CPlusPlus;
CppHighlighter::CppHighlighter(QTextDocument *document) :
QSyntaxHighlighter(document)
{
visualSpaceFormat.setForeground(Qt::lightGray);
}
void CppHighlighter::highlightBlock(const QString &text)
@@ -75,7 +74,7 @@ void CppHighlighter::highlightBlock(const QString &text)
}
TextEditDocumentLayout::clearParentheses(currentBlock());
if (text.length()) // the empty line can still contain whitespace
setFormat(0, text.length(), visualSpaceFormat);
setFormat(0, text.length(), m_formats[CppVisualWhitespace]);
return;
}
@@ -98,7 +97,7 @@ void CppHighlighter::highlightBlock(const QString &text)
if (previousTokenEnd != tk.position()) {
setFormat(previousTokenEnd, tk.position() - previousTokenEnd,
visualSpaceFormat);
m_formats[CppVisualWhitespace]);
}
if (tk.is(T_LPAREN) || tk.is(T_LBRACE) || tk.is(T_LBRACKET)) {
@@ -176,7 +175,7 @@ void CppHighlighter::highlightBlock(const QString &text)
const SimpleToken tk = tokens.last();
const int lastTokenEnd = tk.position() + tk.length();
if (text.length() > lastTokenEnd)
setFormat(lastTokenEnd, text.length() - lastTokenEnd, visualSpaceFormat);
setFormat(lastTokenEnd, text.length() - lastTokenEnd, m_formats[CppVisualWhitespace]);
}
if (TextBlockUserData *userData = TextEditDocumentLayout::testUserData(currentBlock())) {

View File

@@ -65,7 +65,6 @@ private:
bool isQtKeyword(const QStringRef &text) const;
QTextCharFormat m_formats[NumCppFormats];
QTextCharFormat visualSpaceFormat;
};
} // namespace Internal

View File

@@ -46,6 +46,7 @@
#include <coreplugin/icore.h>
#include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/uniqueidmanager.h>
#include <extensionsystem/pluginmanager.h>
#include <texteditor/basetextdocument.h>
#include <texteditor/fontsettings.h>
@@ -364,14 +365,17 @@ protected:
#endif
};
ScriptEditorEditable::ScriptEditorEditable(ScriptEditor *editor, const QList<int> &context)
: BaseTextEditorEditable(editor), m_context(context)
ScriptEditorEditable::ScriptEditorEditable(ScriptEditor *editor)
: BaseTextEditorEditable(editor)
{
Core::UniqueIDManager *uidm = Core::UniqueIDManager::instance();
m_context << uidm->uniqueIdentifier(QmlEditor::Constants::C_QMLEDITOR);
m_context << uidm->uniqueIdentifier(TextEditor::Constants::C_TEXTEDITOR);
}
ScriptEditor::ScriptEditor(const Context &context, QWidget *parent) :
ScriptEditor::ScriptEditor(QWidget *parent) :
TextEditor::BaseTextEditor(parent),
m_context(context),
m_methodCombo(0),
m_modelManager(0)
{
@@ -411,7 +415,7 @@ QStringList ScriptEditor::words() const
Core::IEditor *ScriptEditorEditable::duplicate(QWidget *parent)
{
ScriptEditor *newEditor = new ScriptEditor(m_context, parent);
ScriptEditor *newEditor = new ScriptEditor(parent);
newEditor->duplicateFrom(editor());
QmlEditorPlugin::instance()->initializeEditor(newEditor);
return newEditor->editableInterface();
@@ -605,7 +609,8 @@ void ScriptEditor::setFontSettings(const TextEditor::FontSettings &fs)
<< QLatin1String(TextEditor::Constants::C_KEYWORD)
<< QLatin1String(TextEditor::Constants::C_PREPROCESSOR)
<< QLatin1String(TextEditor::Constants::C_LABEL)
<< QLatin1String(TextEditor::Constants::C_COMMENT);
<< QLatin1String(TextEditor::Constants::C_COMMENT)
<< QLatin1String(TextEditor::Constants::C_VISUAL_WHITESPACE);
}
highlighter->setFormats(fs.toTextCharFormats(categories));
@@ -674,7 +679,7 @@ void ScriptEditor::indentBlock(QTextDocument *, QTextBlock block, QChar typedCha
TextEditor::BaseTextEditorEditable *ScriptEditor::createEditableInterface()
{
ScriptEditorEditable *editable = new ScriptEditorEditable(this, m_context);
ScriptEditorEditable *editable = new ScriptEditorEditable(this);
createToolBar(editable);
return editable;
}

View File

@@ -59,7 +59,7 @@ class ScriptEditorEditable : public TextEditor::BaseTextEditorEditable
Q_OBJECT
public:
ScriptEditorEditable(ScriptEditor *, const QList<int> &);
ScriptEditorEditable(ScriptEditor *);
QList<int> context() const;
bool duplicateSupported() const { return true; }
@@ -95,8 +95,7 @@ class ScriptEditor : public TextEditor::BaseTextEditor
public:
typedef QList<int> Context;
ScriptEditor(const Context &context,
QWidget *parent = 0);
ScriptEditor(QWidget *parent = 0);
~ScriptEditor();
QList<Declaration> declarations() const;

View File

@@ -41,18 +41,15 @@
using namespace QmlEditor::Internal;
using namespace QmlEditor::Constants;
QmlEditorFactory::QmlEditorFactory(const Context &context, QObject *parent)
QmlEditorFactory::QmlEditorFactory(QObject *parent)
: Core::IEditorFactory(parent),
m_kind(QLatin1String(C_QMLEDITOR)),
m_mimeTypes(QLatin1String(QmlEditor::Constants::QMLEDITOR_MIMETYPE)),
m_context(context),
m_actionHandler(new QmlEditorActionHandler)
m_mimeTypes(QLatin1String(QmlEditor::Constants::QMLEDITOR_MIMETYPE))
{
}
QmlEditorFactory::~QmlEditorFactory()
{
delete m_actionHandler;
}
QString QmlEditorFactory::kind() const
@@ -72,7 +69,7 @@ Core::IFile *QmlEditorFactory::open(const QString &fileName)
Core::IEditor *QmlEditorFactory::createEditor(QWidget *parent)
{
ScriptEditor *rc = new ScriptEditor(m_context, parent);
ScriptEditor *rc = new ScriptEditor(parent);
QmlEditorPlugin::instance()->initializeEditor(rc);
return rc->editableInterface();
}

View File

@@ -48,9 +48,7 @@ class QmlEditorFactory : public Core::IEditorFactory
Q_OBJECT
public:
typedef QList<int> Context;
QmlEditorFactory(const Context &context, QObject *parent);
QmlEditorFactory(QObject *parent);
~QmlEditorFactory();
virtual QStringList mimeTypes() const;
@@ -62,9 +60,6 @@ public:
private:
const QString m_kind;
const QStringList m_mimeTypes;
const Context m_context;
TextEditor::TextEditorActionHandler *m_actionHandler;
};
} // namespace Internal

View File

@@ -92,13 +92,10 @@ bool QmlEditorPlugin::initialize(const QStringList & /*arguments*/, QString *err
m_modelManager = new QmlModelManager(this);
addAutoReleasedObject(m_modelManager);
m_scriptcontext << core->uniqueIDManager()->uniqueIdentifier(QmlEditor::Constants::C_QMLEDITOR);
m_context = m_scriptcontext;
m_context << core->uniqueIDManager()->uniqueIdentifier(TextEditor::Constants::C_TEXTEDITOR);
QList<int> context;
context<< core->uniqueIDManager()->uniqueIdentifier(QmlEditor::Constants::C_QMLEDITOR);
registerActions();
m_editor = new QmlEditorFactory(m_context, this);
m_editor = new QmlEditorFactory(this);
addObject(m_editor);
Core::BaseFileWizardParameters wizardParameters(Core::IWizard::FileWizard);
@@ -150,8 +147,4 @@ void QmlEditorPlugin::initializeEditor(QmlEditor::Internal::ScriptEditor *editor
TextEditor::Internal::CompletionSupport::instance(), SLOT(autoComplete(ITextEditable*, bool)));
}
void QmlEditorPlugin::registerActions()
{
}
Q_EXPORT_PLUGIN(QmlEditorPlugin)

View File

@@ -65,14 +65,8 @@ public:
void initializeEditor(ScriptEditor *editor);
private:
void registerActions();
static QmlEditorPlugin *m_instance;
typedef QList<int> Context;
Context m_context;
Context m_scriptcontext;
QmlModelManagerInterface *m_modelManager;
QmlFileWizard *m_wizard;
QmlEditorFactory *m_editor;

View File

@@ -322,7 +322,8 @@ void ScriptEditor::setFontSettings(const TextEditor::FontSettings &fs)
<< QLatin1String(TextEditor::Constants::C_KEYWORD)
<< QLatin1String(TextEditor::Constants::C_PREPROCESSOR)
<< QLatin1String(TextEditor::Constants::C_LABEL)
<< QLatin1String(TextEditor::Constants::C_COMMENT);
<< QLatin1String(TextEditor::Constants::C_COMMENT)
<< QLatin1String(TextEditor::Constants::C_VISUAL_WHITESPACE);
}
highlighter->setFormats(fs.toTextCharFormats(categories));

View File

@@ -93,6 +93,7 @@ const char * const C_LABEL = "Label";
const char * const C_COMMENT = "Comment";
const char * const C_DOXYGEN_COMMENT = "Doxygen.Comment";
const char * const C_DOXYGEN_TAG = "Doxygen.Tag";
const char * const C_VISUAL_WHITESPACE = "VisualWhitespace";
const char * const C_DISABLED_CODE = "DisabledCode";
@@ -101,6 +102,7 @@ const char * const C_REMOVED_LINE = "RemovedLine";
const char * const C_DIFF_FILE = "DiffFile";
const char * const C_DIFF_LOCATION = "DiffLocation";
} // namespace Constants
} // namespace TextEditor

View File

@@ -92,6 +92,7 @@ TextEditorSettings::TextEditorSettings(QObject *parent)
formatDescriptions.append(FormatDescription(QLatin1String(C_COMMENT), tr("Comment"), Qt::darkGreen));
formatDescriptions.append(FormatDescription(QLatin1String(C_DOXYGEN_COMMENT), tr("Doxygen Comment"), Qt::darkBlue));
formatDescriptions.append(FormatDescription(QLatin1String(C_DOXYGEN_TAG), tr("Doxygen Tag"), Qt::blue));
formatDescriptions.append(FormatDescription(QLatin1String(C_VISUAL_WHITESPACE), tr("Visual Whitespace"), Qt::lightGray));
formatDescriptions.append(FormatDescription(QLatin1String(C_DISABLED_CODE), tr("Disabled Code"), Qt::gray));
// Diff categories

View File

@@ -203,6 +203,7 @@ const QVector<QTextCharFormat> &QScriptHighlighter::defaultFormats()
rc[CommentFormat].setForeground(Qt::red);
rc[CommentFormat].setFontItalic(true);
rc[PreProcessorFormat].setForeground(Qt::darkBlue);
rc[VisualWhitespace].setForeground(Qt::lightGray);
}
return rc;
}

View File

@@ -47,6 +47,7 @@ public:
enum { NumberFormat, StringFormat, TypeFormat,
KeywordFormat, PreProcessorFormat, LabelFormat, CommentFormat,
VisualWhitespace,
NumFormats };
bool isDuiEnabled() const;