Core: Make IEditorFactory::createEditor use a function object

Also, replace or remove unneeded Q_OBJECTs, and make base
setters and adders protected.

Change-Id: I212257ef53984d8852dc8c478537199fc9483486
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
hjk
2020-02-04 18:16:57 +01:00
parent ccc2a347a7
commit d7ae3b79f8
24 changed files with 104 additions and 175 deletions

View File

@@ -38,16 +38,12 @@ ImageViewerFactory::ImageViewerFactory()
{
setId(Constants::IMAGEVIEWER_ID);
setDisplayName(QCoreApplication::translate("OpenWith::Editors", Constants::IMAGEVIEWER_DISPLAY_NAME));
setEditorCreator([] { return new ImageViewer; });
const QList<QByteArray> supportedMimeTypes = QImageReader::supportedMimeTypes();
foreach (const QByteArray &format, supportedMimeTypes)
for (const QByteArray &format : supportedMimeTypes)
addMimeType(format.constData());
}
Core::IEditor *ImageViewerFactory::createEditor()
{
return new ImageViewer();
}
} // namespace Internal
} // namespace ImageViewer

View File

@@ -27,19 +27,14 @@
#pragma once
#include <coreplugin/editormanager/ieditorfactory.h>
#include <coreplugin/editormanager/ieditor.h>
#include <coreplugin/idocument.h>
namespace ImageViewer {
namespace Internal {
class ImageViewerFactory : public Core::IEditorFactory
class ImageViewerFactory final : public Core::IEditorFactory
{
Q_OBJECT
public:
ImageViewerFactory();
Core::IEditor *createEditor() override;
};
} // namespace Internal