Files
qt-creator/src/plugins/texteditor/plaintexteditorfactory.cpp
Lucie Gérard a7956df3ca Use SPDX license identifiers
Replace the current license disclaimer in files by
a SPDX-License-Identifier.

Task-number: QTBUG-67283
Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-08-26 12:27:18 +00:00

65 lines
2.1 KiB
C++

// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0
#include "plaintexteditorfactory.h"
#include "basehoverhandler.h"
#include "textdocument.h"
#include "texteditor.h"
#include "texteditoractionhandler.h"
#include "texteditorconstants.h"
#include "texteditorplugin.h"
#include "texteditorsettings.h"
#include "textindenter.h"
#include <coreplugin/coreconstants.h>
#include <utils/infobar.h>
#include <utils/qtcassert.h>
#include <QCoreApplication>
namespace TextEditor {
static PlainTextEditorFactory *m_instance = nullptr;
class PlainTextEditorWidget : public TextEditorWidget
{
public:
PlainTextEditorWidget() = default;
void finalizeInitialization() override
{
textDocument()->setMimeType(QLatin1String(Constants::C_TEXTEDITOR_MIMETYPE_TEXT));
}
};
PlainTextEditorFactory::PlainTextEditorFactory()
{
QTC_CHECK(!m_instance);
m_instance = this;
setId(Core::Constants::K_DEFAULT_TEXT_EDITOR_ID);
setDisplayName(QCoreApplication::translate("OpenWith::Editors", Core::Constants::K_DEFAULT_TEXT_EDITOR_DISPLAY_NAME));
addMimeType(QLatin1String(TextEditor::Constants::C_TEXTEDITOR_MIMETYPE_TEXT));
addMimeType(QLatin1String("text/css")); // for some reason freedesktop thinks css is text/x-csrc
addHoverHandler(new BaseHoverHandler);
setDocumentCreator([]() { return new TextDocument(Core::Constants::K_DEFAULT_TEXT_EDITOR_ID); });
setEditorWidgetCreator([]() { return new PlainTextEditorWidget; });
setUseGenericHighlighter(true);
setEditorActionHandlers(TextEditorActionHandler::Format |
TextEditorActionHandler::UnCommentSelection |
TextEditorActionHandler::UnCollapseAll |
TextEditorActionHandler::FollowSymbolUnderCursor);
}
PlainTextEditorFactory *PlainTextEditorFactory::instance()
{
return m_instance;
}
BaseTextEditor *PlainTextEditorFactory::createPlainTextEditor()
{
return qobject_cast<BaseTextEditor *>(m_instance->createEditor());
}
} // namespace TextEditor