EditorFactory: Replace some virtual functions with data members

Change-Id: I014cb57460c4e3a36bf7403960908b5ffec867ff
Reviewed-by: David Schulz <david.schulz@digia.com>
This commit is contained in:
hjk
2013-05-31 19:35:37 +02:00
parent be112d853a
commit b772001c82
38 changed files with 132 additions and 545 deletions

View File

@@ -44,21 +44,9 @@ AndroidManifestEditorFactory::AndroidManifestEditorFactory(QObject *parent)
: Core::IEditorFactory(parent),
m_actionHandler(new TextEditor::TextEditorActionHandler(Constants::ANDROID_MANIFEST_EDITOR_CONTEXT))
{
}
QStringList AndroidManifestEditorFactory::mimeTypes() const
{
return QStringList() << QLatin1String(Constants::ANDROID_MANIFEST_MIME_TYPE);
}
Core::Id AndroidManifestEditorFactory::id() const
{
return Constants::ANDROID_MANIFEST_EDITOR_ID;
}
QString AndroidManifestEditorFactory::displayName() const
{
return tr("Android Manifest editor");
setId(Constants::ANDROID_MANIFEST_EDITOR_ID);
setDisplayName(tr("Android Manifest editor"));
addMimeType(Constants::ANDROID_MANIFEST_MIME_TYPE);
}
Core::IEditor *AndroidManifestEditorFactory::createEditor(QWidget *parent)

View File

@@ -40,14 +40,12 @@ namespace Internal {
class AndroidManifestEditorFactory : public Core::IEditorFactory
{
Q_OBJECT
public:
explicit AndroidManifestEditorFactory(QObject *parent = 0);
QStringList mimeTypes() const;
Core::Id id() const;
QString displayName() const;
Core::IEditor *createEditor(QWidget *parent);
private:
TextEditor::TextEditorActionHandler *m_actionHandler;
};

View File

@@ -402,19 +402,11 @@ private:
///////////////////////////////// BinEditorFactory //////////////////////////////////
BinEditorFactory::BinEditorFactory(BinEditorPlugin *owner) :
m_mimeTypes(QLatin1String(Constants::C_BINEDITOR_MIMETYPE)),
m_owner(owner)
{
}
Core::Id BinEditorFactory::id() const
{
return Core::Id(Core::Constants::K_DEFAULT_BINARY_EDITOR_ID);
}
QString BinEditorFactory::displayName() const
{
return qApp->translate("OpenWith::Editors", Constants::C_BINEDITOR_DISPLAY_NAME);
setId(Core::Constants::K_DEFAULT_BINARY_EDITOR_ID);
setDisplayName(qApp->translate("OpenWith::Editors", Constants::C_BINEDITOR_DISPLAY_NAME));
addMimeType(Constants::C_BINEDITOR_MIMETYPE);
}
Core::IEditor *BinEditorFactory::createEditor(QWidget *parent)
@@ -426,10 +418,6 @@ Core::IEditor *BinEditorFactory::createEditor(QWidget *parent)
return editor;
}
QStringList BinEditorFactory::mimeTypes() const
{
return m_mimeTypes;
}
/*!
\class BINEditor::BinEditorWidgetFactory

View File

@@ -102,13 +102,9 @@ class BinEditorFactory : public Core::IEditorFactory
public:
explicit BinEditorFactory(BinEditorPlugin *owner);
QStringList mimeTypes() const;
Core::IEditor *createEditor(QWidget *parent);
Core::Id id() const;
QString displayName() const;
private:
const QStringList m_mimeTypes;
BinEditorPlugin *m_owner;
};

View File

@@ -43,12 +43,15 @@ using namespace CMakeProjectManager;
using namespace CMakeProjectManager::Internal;
CMakeEditorFactory::CMakeEditorFactory(CMakeManager *manager)
: m_mimeTypes(QStringList() << QLatin1String(CMakeProjectManager::Constants::CMAKEMIMETYPE)),
m_manager(manager)
: m_manager(manager)
{
using namespace Core;
using namespace TextEditor;
setId(CMakeProjectManager::Constants::CMAKE_EDITOR_ID);
setDisplayName(tr(CMakeProjectManager::Constants::CMAKE_EDITOR_DISPLAY_NAME));
addMimeType(CMakeProjectManager::Constants::CMAKEMIMETYPE);
m_actionHandler =
new TextEditorActionHandler(Constants::C_CMAKEEDITOR,
TextEditorActionHandler::UnCommentSelection
@@ -67,24 +70,9 @@ CMakeEditorFactory::CMakeEditorFactory(CMakeManager *manager)
contextMenu->addAction(cmd);
}
Core::Id CMakeEditorFactory::id() const
{
return Core::Id(CMakeProjectManager::Constants::CMAKE_EDITOR_ID);
}
QString CMakeEditorFactory::displayName() const
{
return tr(CMakeProjectManager::Constants::CMAKE_EDITOR_DISPLAY_NAME);
}
Core::IEditor *CMakeEditorFactory::createEditor(QWidget *parent)
{
CMakeEditorWidget *rc = new CMakeEditorWidget(parent, this, m_actionHandler);
TextEditor::TextEditorSettings::instance()->initializeEditor(rc);
return rc->editor();
}
QStringList CMakeEditorFactory::mimeTypes() const
{
return m_mimeTypes;
}

View File

@@ -34,11 +34,7 @@
#include <coreplugin/editormanager/ieditorfactory.h>
#include <QStringList>
namespace TextEditor {
class TextEditorActionHandler;
}
namespace TextEditor { class TextEditorActionHandler; }
namespace CMakeProjectManager {
namespace Internal {
@@ -49,11 +45,6 @@ class CMakeEditorFactory : public Core::IEditorFactory
public:
CMakeEditorFactory(CMakeManager *parent);
// IEditorFactory
QStringList mimeTypes() const;
Core::Id id() const;
QString displayName() const;
Core::IEditor *createEditor(QWidget *parent);
private:

View File

@@ -30,18 +30,14 @@
#ifndef IDOCUMENTFACTORY_H
#define IDOCUMENTFACTORY_H
#include "core_global.h"
#include "id.h"
#include <QObject>
QT_BEGIN_NAMESPACE
class QStringList;
QT_END_NAMESPACE
#include <QStringList>
namespace Core {
class IDocument;
class Id;
class CORE_EXPORT IDocumentFactory : public QObject
{
@@ -50,10 +46,23 @@ class CORE_EXPORT IDocumentFactory : public QObject
public:
IDocumentFactory(QObject *parent = 0) : QObject(parent) {}
virtual QStringList mimeTypes() const = 0;
virtual Id id() const = 0;
virtual QString displayName() const = 0;
virtual IDocument *open(const QString &fileName) = 0;
Id id() const { return m_id; }
QStringList mimeTypes() const { return m_mimeTypes; }
QString displayName() const { return m_displayName; }
protected:
void setId(Id id) { m_id = id; }
void setDisplayName(const QString &displayName) { m_displayName = displayName; }
void setMimeTypes(const QStringList &mimeTypes) { m_mimeTypes = mimeTypes; }
void addMimeType(const char *mimeType) { m_mimeTypes.append(QLatin1String(mimeType)); }
void addMimeType(const QString &mimeType) { m_mimeTypes.append(mimeType); }
private:
Id m_id;
QStringList m_mimeTypes;
QString m_displayName;
};
} // namespace Core

View File

@@ -68,10 +68,12 @@ enum { QUICKFIX_INTERVAL = 20 };
CppEditorFactory::CppEditorFactory(CppEditorPlugin *owner) :
m_owner(owner)
{
m_mimeTypes << QLatin1String(CppEditor::Constants::C_SOURCE_MIMETYPE)
<< QLatin1String(CppEditor::Constants::C_HEADER_MIMETYPE)
<< QLatin1String(CppEditor::Constants::CPP_SOURCE_MIMETYPE)
<< QLatin1String(CppEditor::Constants::CPP_HEADER_MIMETYPE);
setId(CppEditor::Constants::CPPEDITOR_ID);
setDisplayName(qApp->translate("OpenWith::Editors", CppEditor::Constants::CPPEDITOR_DISPLAY_NAME));
addMimeType(CppEditor::Constants::C_SOURCE_MIMETYPE);
addMimeType(CppEditor::Constants::C_HEADER_MIMETYPE);
addMimeType(CppEditor::Constants::CPP_SOURCE_MIMETYPE);
addMimeType(CppEditor::Constants::CPP_HEADER_MIMETYPE);
if (!Utils::HostOsInfo::isMacHost() && !Utils::HostOsInfo::isWindowsHost()) {
Core::FileIconProvider *iconProvider = Core::FileIconProvider::instance();
@@ -85,16 +87,6 @@ CppEditorFactory::CppEditorFactory(CppEditorPlugin *owner) :
}
}
Core::Id CppEditorFactory::id() const
{
return Core::Id(CppEditor::Constants::CPPEDITOR_ID);
}
QString CppEditorFactory::displayName() const
{
return qApp->translate("OpenWith::Editors", CppEditor::Constants::CPPEDITOR_DISPLAY_NAME);
}
Core::IEditor *CppEditorFactory::createEditor(QWidget *parent)
{
CPPEditorWidget *editor = new CPPEditorWidget(parent);
@@ -103,11 +95,6 @@ Core::IEditor *CppEditorFactory::createEditor(QWidget *parent)
return editor->editor();
}
QStringList CppEditorFactory::mimeTypes() const
{
return m_mimeTypes;
}
///////////////////////////////// CppEditorPlugin //////////////////////////////////
CppEditorPlugin *CppEditorPlugin::m_instance = 0;

View File

@@ -35,7 +35,6 @@
#include <extensionsystem/iplugin.h>
#include <QtPlugin>
#include <QStringList>
#include <QAction>
namespace TextEditor {
@@ -286,15 +285,10 @@ class CppEditorFactory : public Core::IEditorFactory
public:
CppEditorFactory(CppEditorPlugin *owner);
// IEditorFactory
QStringList mimeTypes() const;
Core::IEditor *createEditor(QWidget *parent);
Core::Id id() const;
QString displayName() const;
private:
CppEditorPlugin *m_owner;
QStringList m_mimeTypes;
};
} // namespace Internal

View File

@@ -48,24 +48,17 @@ namespace Designer {
namespace Internal {
FormEditorFactory::FormEditorFactory()
: Core::IEditorFactory(Core::ICore::instance()),
m_mimeTypes(QLatin1String(FORM_MIMETYPE))
: Core::IEditorFactory(Core::ICore::instance())
{
setId(K_DESIGNER_XML_EDITOR_ID);
setDisplayName(qApp->translate("Designer", C_DESIGNER_XML_DISPLAY_NAME));
addMimeType(FORM_MIMETYPE);
Core::FileIconProvider *iconProvider = Core::FileIconProvider::instance();
iconProvider->registerIconOverlayForSuffix(QIcon(QLatin1String(":/formeditor/images/qt_ui.png")),
QLatin1String("ui"));
}
Core::Id FormEditorFactory::id() const
{
return Core::Id(K_DESIGNER_XML_EDITOR_ID);
}
QString FormEditorFactory::displayName() const
{
return qApp->translate("Designer", C_DESIGNER_XML_DISPLAY_NAME);
}
Core::IEditor *FormEditorFactory::createEditor(QWidget *parent)
{
const EditorData data = FormEditorW::instance()->createEditor(parent);
@@ -78,11 +71,6 @@ Core::IEditor *FormEditorFactory::createEditor(QWidget *parent)
return data.formWindowEditor;
}
QStringList FormEditorFactory::mimeTypes() const
{
return m_mimeTypes;
}
void FormEditorFactory::designerModeClicked()
{
Core::ModeManager::activateMode(Core::Constants::MODE_DESIGN);
@@ -90,5 +78,3 @@ void FormEditorFactory::designerModeClicked()
} // namespace Internal
} // namespace Designer

View File

@@ -32,8 +32,6 @@
#include <coreplugin/editormanager/ieditorfactory.h>
#include <QStringList>
namespace Designer {
namespace Internal {
@@ -44,17 +42,10 @@ class FormEditorFactory : public Core::IEditorFactory
public:
FormEditorFactory();
// IEditorFactory
QStringList mimeTypes() const;
Core::Id id() const;
QString displayName() const;
Core::IEditor *createEditor(QWidget *parent);
private slots:
void designerModeClicked();
private:
const QStringList m_mimeTypes;
};
} // namespace Internal

View File

@@ -45,7 +45,6 @@
#include <coreplugin/editormanager/editormanager.h>
namespace DiffEditor {
namespace Internal {
DiffEditorPlugin::DiffEditorPlugin()

View File

@@ -54,9 +54,11 @@ ProjectFilesFactory::ProjectFilesFactory(Manager *manager, TextEditorActionHandl
: Core::IEditorFactory(manager),
m_actionHandler(handler)
{
m_mimeTypes.append(QLatin1String(Constants::FILES_MIMETYPE));
m_mimeTypes.append(QLatin1String(Constants::INCLUDES_MIMETYPE));
m_mimeTypes.append(QLatin1String(Constants::CONFIG_MIMETYPE));
setId(Constants::FILES_EDITOR_ID);
setDisplayName(QCoreApplication::translate("OpenWith::Editors", ".files Editor"));
addMimeType(Constants::FILES_MIMETYPE);
addMimeType(Constants::INCLUDES_MIMETYPE);
addMimeType(Constants::CONFIG_MIMETYPE);
}
Core::IEditor *ProjectFilesFactory::createEditor(QWidget *parent)
@@ -66,21 +68,6 @@ Core::IEditor *ProjectFilesFactory::createEditor(QWidget *parent)
return ed->editor();
}
QStringList ProjectFilesFactory::mimeTypes() const
{
return m_mimeTypes;
}
Core::Id ProjectFilesFactory::id() const
{
return Core::Id(Constants::FILES_EDITOR_ID);
}
QString ProjectFilesFactory::displayName() const
{
return QCoreApplication::translate("OpenWith::Editors", ".files Editor");
}
////////////////////////////////////////////////////////////////////////////////////////
//
// ProjectFilesEditable

View File

@@ -56,13 +56,8 @@ public:
Core::IEditor *createEditor(QWidget *parent);
QStringList mimeTypes() const;
Core::Id id() const;
QString displayName() const;
private:
TextEditor::TextEditorActionHandler *m_actionHandler;
QStringList m_mimeTypes;
};
class ProjectFilesEditor : public TextEditor::BaseTextEditor

View File

@@ -37,14 +37,9 @@
#include <extensionsystem/pluginspec.h>
#include <coreplugin/icore.h>
#include <coreplugin/editormanager/editormanager.h>
#include <QCoreApplication>
#include <QFileInfo>
#include <QDebug>
#include <QSettings>
#include <QMessageBox>
#include <QPushButton>
using namespace GLSLEditor::Internal;
using namespace GLSLEditor::Constants;
@@ -52,23 +47,13 @@ using namespace GLSLEditor::Constants;
GLSLEditorFactory::GLSLEditorFactory(QObject *parent)
: Core::IEditorFactory(parent)
{
m_mimeTypes
<< QLatin1String(GLSLEditor::Constants::GLSL_MIMETYPE)
<< QLatin1String(GLSLEditor::Constants::GLSL_MIMETYPE_VERT)
<< QLatin1String(GLSLEditor::Constants::GLSL_MIMETYPE_FRAG)
<< QLatin1String(GLSLEditor::Constants::GLSL_MIMETYPE_VERT_ES)
<< QLatin1String(GLSLEditor::Constants::GLSL_MIMETYPE_FRAG_ES)
;
}
Core::Id GLSLEditorFactory::id() const
{
return Core::Id(C_GLSLEDITOR_ID);
}
QString GLSLEditorFactory::displayName() const
{
return qApp->translate("OpenWith::Editors", C_GLSLEDITOR_DISPLAY_NAME);
setId(C_GLSLEDITOR_ID);
setDisplayName(qApp->translate("OpenWith::Editors", C_GLSLEDITOR_DISPLAY_NAME));
addMimeType(GLSLEditor::Constants::GLSL_MIMETYPE);
addMimeType(GLSLEditor::Constants::GLSL_MIMETYPE_VERT);
addMimeType(GLSLEditor::Constants::GLSL_MIMETYPE_FRAG);
addMimeType(GLSLEditor::Constants::GLSL_MIMETYPE_VERT_ES);
addMimeType(GLSLEditor::Constants::GLSL_MIMETYPE_FRAG_ES);
}
Core::IEditor *GLSLEditorFactory::createEditor(QWidget *parent)
@@ -78,11 +63,6 @@ Core::IEditor *GLSLEditorFactory::createEditor(QWidget *parent)
return rc->editor();
}
QStringList GLSLEditorFactory::mimeTypes() const
{
return m_mimeTypes;
}
void GLSLEditorFactory::updateEditorInfoBar(Core::IEditor *)
{
}

View File

@@ -32,8 +32,6 @@
#include <coreplugin/editormanager/ieditorfactory.h>
#include <QStringList>
namespace GLSLEditor {
namespace Internal {
@@ -44,17 +42,10 @@ class GLSLEditorFactory : public Core::IEditorFactory
public:
GLSLEditorFactory(QObject *parent);
// IEditorFactory
QStringList mimeTypes() const;
Core::Id id() const;
QString displayName() const;
Core::IEditor *createEditor(QWidget *parent);
private slots:
void updateEditorInfoBar(Core::IEditor *editor);
private:
QStringList m_mimeTypes;
};
} // namespace Internal

View File

@@ -43,7 +43,6 @@ namespace Internal {
struct ImageViewerFactoryPrivate
{
QStringList mimeTypes;
QPointer<ImageViewerActionHandler> actionHandler;
};
@@ -51,30 +50,33 @@ ImageViewerFactory::ImageViewerFactory(QObject *parent) :
Core::IEditorFactory(parent),
d(new ImageViewerFactoryPrivate)
{
setId(Constants::IMAGEVIEWER_ID);
setDisplayName(qApp->translate("OpenWith::Editors", Constants::IMAGEVIEWER_DISPLAY_NAME));
d->actionHandler = new ImageViewerActionHandler(this);
QMap<QByteArray, QString> possibleMimeTypes;
possibleMimeTypes.insert("bmp", QLatin1String("image/bmp"));
possibleMimeTypes.insert("gif", QLatin1String("image/gif"));
possibleMimeTypes.insert("ico", QLatin1String("image/x-icon"));
possibleMimeTypes.insert("jpeg", QLatin1String("image/jpeg"));
possibleMimeTypes.insert("jpg", QLatin1String("image/jpeg"));
possibleMimeTypes.insert("mng", QLatin1String("video/x-mng"));
possibleMimeTypes.insert("pbm", QLatin1String("image/x-portable-bitmap"));
possibleMimeTypes.insert("pgm", QLatin1String("image/x-portable-graymap"));
possibleMimeTypes.insert("png", QLatin1String("image/png"));
possibleMimeTypes.insert("ppm", QLatin1String("image/x-portable-pixmap"));
possibleMimeTypes.insert("svg", QLatin1String("image/svg+xml"));
possibleMimeTypes.insert("tif", QLatin1String("image/tiff"));
possibleMimeTypes.insert("tiff", QLatin1String("image/tiff"));
possibleMimeTypes.insert("xbm", QLatin1String("image/xbm"));
possibleMimeTypes.insert("xpm", QLatin1String("image/xpm"));
QMap<QByteArray, const char *> possibleMimeTypes;
possibleMimeTypes.insert("bmp", "image/bmp");
possibleMimeTypes.insert("gif", "image/gif");
possibleMimeTypes.insert("ico", "image/x-icon");
possibleMimeTypes.insert("jpeg","image/jpeg");
possibleMimeTypes.insert("jpg", "image/jpeg");
possibleMimeTypes.insert("mng", "video/x-mng");
possibleMimeTypes.insert("pbm", "image/x-portable-bitmap");
possibleMimeTypes.insert("pgm", "image/x-portable-graymap");
possibleMimeTypes.insert("png", "image/png");
possibleMimeTypes.insert("ppm", "image/x-portable-pixmap");
possibleMimeTypes.insert("svg", "image/svg+xml");
possibleMimeTypes.insert("tif", "image/tiff");
possibleMimeTypes.insert("tiff","image/tiff");
possibleMimeTypes.insert("xbm", "image/xbm");
possibleMimeTypes.insert("xpm", "image/xpm");
QList<QByteArray> supportedFormats = QImageReader::supportedImageFormats();
foreach (const QByteArray &format, supportedFormats) {
const QString &value = possibleMimeTypes.value(format);
if (!value.isEmpty())
d->mimeTypes.append(value);
const char *value = possibleMimeTypes.value(format);
if (value)
addMimeType(value);
}
}
@@ -88,21 +90,6 @@ Core::IEditor *ImageViewerFactory::createEditor(QWidget *parent)
return new ImageViewer(parent);
}
QStringList ImageViewerFactory::mimeTypes() const
{
return d->mimeTypes;
}
Core::Id ImageViewerFactory::id() const
{
return Core::Id(Constants::IMAGEVIEWER_ID);
}
QString ImageViewerFactory::displayName() const
{
return qApp->translate("OpenWith::Editors", Constants::IMAGEVIEWER_DISPLAY_NAME);
}
void ImageViewerFactory::extensionsInitialized()
{
d->actionHandler->createActions();

View File

@@ -47,10 +47,6 @@ public:
Core::IEditor *createEditor(QWidget *parent);
QStringList mimeTypes() const;
Core::Id id() const;
QString displayName() const;
void extensionsInitialized();
private:

View File

@@ -49,24 +49,11 @@ using namespace ProjectExplorer::Internal;
*/
ProjectFileFactory::ProjectFileFactory(IProjectManager *manager)
: m_mimeTypes(manager->mimeType()),
m_manager(manager)
: m_manager(manager)
{
}
QStringList ProjectFileFactory::mimeTypes() const
{
return m_mimeTypes;
}
Core::Id ProjectFileFactory::id() const
{
return Core::Id(Constants::FILE_FACTORY_ID);
}
QString ProjectFileFactory::displayName() const
{
return tr("Project File Factory", "ProjectExplorer::ProjectFileFactory display name.");
setId(Constants::FILE_FACTORY_ID);
setDisplayName(tr("Project File Factory", "ProjectExplorer::ProjectFileFactory display name."));
addMimeType(manager->mimeType());
}
Core::IDocument *ProjectFileFactory::open(const QString &fileName)

View File

@@ -48,16 +48,11 @@ class ProjectFileFactory : public Core::IDocumentFactory
explicit ProjectFileFactory(ProjectExplorer::IProjectManager *manager);
public:
virtual QStringList mimeTypes() const;
Core::Id id() const;
QString displayName() const;
Core::IDocument *open(const QString &fileName);
static QList<ProjectFileFactory*> createFactories(QString *filterString);
private:
const QStringList m_mimeTypes;
ProjectExplorer::IProjectManager *m_manager;
};

View File

@@ -43,17 +43,9 @@ namespace PythonEditor {
EditorFactory::EditorFactory(QObject *parent)
: Core::IEditorFactory(parent)
{
m_mimeTypes << QLatin1String(Constants::C_PY_MIMETYPE);
}
Core::Id EditorFactory::id() const
{
return Constants::C_PYTHONEDITOR_ID;
}
QString EditorFactory::displayName() const
{
return tr(Constants::C_EDITOR_DISPLAY_NAME);
setId(Constants::C_PYTHONEDITOR_ID);
setDisplayName(tr(Constants::C_EDITOR_DISPLAY_NAME));
addMimeType(QLatin1String(Constants::C_PY_MIMETYPE));
}
Core::IEditor *EditorFactory::createEditor(QWidget *parent)
@@ -64,9 +56,4 @@ Core::IEditor *EditorFactory::createEditor(QWidget *parent)
return widget->editor();
}
QStringList EditorFactory::mimeTypes() const
{
return m_mimeTypes;
}
} // namespace PythonEditor

View File

@@ -32,7 +32,6 @@
#include "pythoneditor_global.h"
#include <coreplugin/editormanager/ieditorfactory.h>
#include <QStringList>
namespace PythonEditor {
@@ -43,24 +42,10 @@ class PYEDITOR_EXPORT EditorFactory : public Core::IEditorFactory
public:
EditorFactory(QObject *parent);
/**
Returns MIME types handled by editor
*/
QStringList mimeTypes() const;
/**
Unique editor class identifier, see Constants::C_PYEDITOR_ID
*/
Core::Id id() const;
QString displayName() const;
/**
Creates and initializes new editor widget
*/
Core::IEditor *createEditor(QWidget *parent);
private:
QStringList m_mimeTypes;
};
} // namespace PythonEditor

View File

@@ -35,19 +35,7 @@
#include <qmljstools/qmljstoolsconstants.h>
#include <extensionsystem/pluginmanager.h>
#include <extensionsystem/pluginspec.h>
#include <coreplugin/icore.h>
#include <coreplugin/infobar.h>
#include <coreplugin/editormanager/editormanager.h>
#include <QCoreApplication>
#include <QFileInfo>
#include <QDebug>
#include <QSettings>
#include <QMessageBox>
#include <QPushButton>
namespace QmlJSEditor {
namespace Internal {
@@ -55,24 +43,15 @@ namespace Internal {
QmlJSEditorFactory::QmlJSEditorFactory(QObject *parent)
: Core::IEditorFactory(parent)
{
m_mimeTypes
<< QLatin1String(QmlJSTools::Constants::QML_MIMETYPE)
<< QLatin1String(QmlJSTools::Constants::QMLPROJECT_MIMETYPE)
<< QLatin1String(QmlJSTools::Constants::QBS_MIMETYPE)
<< QLatin1String(QmlJSTools::Constants::QMLTYPES_MIMETYPE)
<< QLatin1String(QmlJSTools::Constants::JS_MIMETYPE)
<< QLatin1String(QmlJSTools::Constants::JSON_MIMETYPE)
;
}
setId(Constants::C_QMLJSEDITOR_ID);
setDisplayName(qApp->translate("OpenWith::Editors", Constants::C_QMLJSEDITOR_DISPLAY_NAME));
Core::Id QmlJSEditorFactory::id() const
{
return Core::Id(Constants::C_QMLJSEDITOR_ID);
}
QString QmlJSEditorFactory::displayName() const
{
return qApp->translate("OpenWith::Editors", Constants::C_QMLJSEDITOR_DISPLAY_NAME);
addMimeType(QmlJSTools::Constants::QML_MIMETYPE);
addMimeType(QmlJSTools::Constants::QMLPROJECT_MIMETYPE);
addMimeType(QmlJSTools::Constants::QBS_MIMETYPE);
addMimeType(QmlJSTools::Constants::QMLTYPES_MIMETYPE);
addMimeType(QmlJSTools::Constants::JS_MIMETYPE);
addMimeType(QmlJSTools::Constants::JSON_MIMETYPE);
}
Core::IEditor *QmlJSEditorFactory::createEditor(QWidget *parent)
@@ -82,10 +61,5 @@ Core::IEditor *QmlJSEditorFactory::createEditor(QWidget *parent)
return rc->editor();
}
QStringList QmlJSEditorFactory::mimeTypes() const
{
return m_mimeTypes;
}
} // namespace Internal
} // namespace QmlJSEditor

View File

@@ -32,8 +32,6 @@
#include <coreplugin/editormanager/ieditorfactory.h>
#include <QStringList>
namespace QmlJSEditor {
namespace Internal {
@@ -44,14 +42,7 @@ class QmlJSEditorFactory : public Core::IEditorFactory
public:
QmlJSEditorFactory(QObject *parent);
// IEditorFactory
QStringList mimeTypes() const;
Core::Id id() const;
QString displayName() const;
Core::IEditor *createEditor(QWidget *parent);
private:
QStringList m_mimeTypes;
};
} // namespace Internal

View File

@@ -42,23 +42,10 @@ using namespace Qnx::Internal;
BarDescriptorEditorFactory::BarDescriptorEditorFactory(QObject *parent)
: Core::IEditorFactory(parent)
, m_mimeTypes(QStringList() << QLatin1String(Constants::QNX_BAR_DESCRIPTOR_MIME_TYPE))
{
}
QStringList BarDescriptorEditorFactory::mimeTypes() const
{
return m_mimeTypes;
}
Core::Id BarDescriptorEditorFactory::id() const
{
return Constants::QNX_BAR_DESCRIPTOR_EDITOR_ID;
}
QString BarDescriptorEditorFactory::displayName() const
{
return tr("Bar descriptor editor");
setId(Constants::QNX_BAR_DESCRIPTOR_EDITOR_ID);
setDisplayName(tr("Bar descriptor editor"));
addMimeType(Constants::QNX_BAR_DESCRIPTOR_MIME_TYPE);
}
Core::IEditor *BarDescriptorEditorFactory::createEditor(QWidget *parent)

View File

@@ -34,25 +34,17 @@
#include <coreplugin/editormanager/ieditorfactory.h>
#include <QtCore/QStringList>
namespace Qnx {
namespace Internal {
class BarDescriptorEditorFactory : public Core::IEditorFactory
{
Q_OBJECT
public:
explicit BarDescriptorEditorFactory(QObject *parent = 0);
QStringList mimeTypes() const;
Core::Id id() const;
QString displayName() const;
Core::IEditor *createEditor(QWidget *parent);
private:
QStringList m_mimeTypes;
};
} // namespace Internal

View File

@@ -43,12 +43,15 @@ using namespace Qt4ProjectManager;
using namespace Qt4ProjectManager::Internal;
ProFileEditorFactory::ProFileEditorFactory(Qt4Manager *manager, TextEditor::TextEditorActionHandler *handler) :
m_mimeTypes(QStringList() << QLatin1String(Qt4ProjectManager::Constants::PROFILE_MIMETYPE)
<< QLatin1String(Qt4ProjectManager::Constants::PROINCLUDEFILE_MIMETYPE)
<< QLatin1String(Qt4ProjectManager::Constants::PROFEATUREFILE_MIMETYPE)),
m_manager(manager),
m_actionHandler(handler)
{
setId(Qt4ProjectManager::Constants::PROFILE_EDITOR_ID);
setDisplayName(qApp->translate("OpenWith::Editors", Qt4ProjectManager::Constants::PROFILE_EDITOR_DISPLAY_NAME));
addMimeType(Qt4ProjectManager::Constants::PROFILE_MIMETYPE);
addMimeType(Qt4ProjectManager::Constants::PROINCLUDEFILE_MIMETYPE);
addMimeType(Qt4ProjectManager::Constants::PROFEATUREFILE_MIMETYPE);
Core::FileIconProvider *iconProvider = Core::FileIconProvider::instance();
iconProvider->registerIconOverlayForSuffix(QIcon(QLatin1String(QtSupport::Constants::ICON_QT_PROJECT)),
QLatin1String("pro"));
@@ -58,28 +61,9 @@ ProFileEditorFactory::ProFileEditorFactory(Qt4Manager *manager, TextEditor::Text
QLatin1String("prf"));
}
ProFileEditorFactory::~ProFileEditorFactory()
{
}
Core::Id ProFileEditorFactory::id() const
{
return Core::Id(Qt4ProjectManager::Constants::PROFILE_EDITOR_ID);
}
QString ProFileEditorFactory::displayName() const
{
return qApp->translate("OpenWith::Editors", Qt4ProjectManager::Constants::PROFILE_EDITOR_DISPLAY_NAME);
}
Core::IEditor *ProFileEditorFactory::createEditor(QWidget *parent)
{
ProFileEditorWidget *editor = new ProFileEditorWidget(parent, this, m_actionHandler);
TextEditor::TextEditorSettings::instance()->initializeEditor(editor);
return editor->editor();
}
QStringList ProFileEditorFactory::mimeTypes() const
{
return m_mimeTypes;
}

View File

@@ -32,11 +32,7 @@
#include <coreplugin/editormanager/ieditorfactory.h>
#include <QStringList>
namespace TextEditor {
class TextEditorActionHandler;
}
namespace TextEditor { class TextEditorActionHandler; }
namespace Qt4ProjectManager {
@@ -50,18 +46,12 @@ class ProFileEditorFactory : public Core::IEditorFactory
public:
ProFileEditorFactory(Qt4Manager *parent, TextEditor::TextEditorActionHandler *handler);
~ProFileEditorFactory();
// IEditorFactory
QStringList mimeTypes() const;
Core::Id id() const;
QString displayName() const;
Core::IEditor *createEditor(QWidget *parent);
Qt4Manager *qt4ProjectManager() const { return m_manager; }
private:
const QStringList m_mimeTypes;
Qt4Manager *m_manager;
TextEditor::TextEditorActionHandler *m_actionHandler;
};

View File

@@ -44,31 +44,19 @@ using namespace ResourceEditor::Constants;
ResourceEditorFactory::ResourceEditorFactory(ResourceEditorPlugin *plugin) :
Core::IEditorFactory(plugin),
m_mimeTypes(QStringList(QLatin1String(C_RESOURCE_MIMETYPE))),
m_plugin(plugin)
{
setId(RESOURCEEDITOR_ID);
setMimeTypes(QStringList(QLatin1String(C_RESOURCE_MIMETYPE)));
setDisplayName(qApp->translate("OpenWith::Editors", C_RESOURCEEDITOR_DISPLAY_NAME));
Core::FileIconProvider *iconProvider = Core::FileIconProvider::instance();
iconProvider->registerIconOverlayForSuffix(QIcon(QLatin1String(":/resourceeditor/images/qt_qrc.png")),
QLatin1String("qrc"));
}
Core::Id ResourceEditorFactory::id() const
{
return Core::Id(RESOURCEEDITOR_ID);
}
QString ResourceEditorFactory::displayName() const
{
return qApp->translate("OpenWith::Editors", C_RESOURCEEDITOR_DISPLAY_NAME);
}
Core::IEditor *ResourceEditorFactory::createEditor(QWidget *parent)
{
Core::Context context(ResourceEditor::Constants::C_RESOURCEEDITOR);
return new ResourceEditorW(context, m_plugin, parent);
}
QStringList ResourceEditorFactory::mimeTypes() const
{
return m_mimeTypes;
}

View File

@@ -47,15 +47,9 @@ class ResourceEditorFactory : public Core::IEditorFactory
public:
explicit ResourceEditorFactory(ResourceEditorPlugin *plugin);
virtual QStringList mimeTypes() const;
// IEditorFactory
Core::Id id() const;
QString displayName() const;
Core::IEditor *createEditor(QWidget *parent);
private:
const QStringList m_mimeTypes;
ResourceEditorPlugin *m_plugin;
};

View File

@@ -33,7 +33,6 @@
#include <projectexplorer/projectexplorer.h>
#include <coreplugin/icore.h>
#include <coreplugin/id.h>
#include <coreplugin/documentmanager.h>
#include <QMessageBox>
@@ -45,26 +44,11 @@ using namespace TaskList::Internal;
// --------------------------------------------------------------------------
TaskFileFactory::TaskFileFactory(QObject * parent) :
Core::IDocumentFactory(parent),
m_mimeTypes(QStringList() << QLatin1String("text/x-tasklist"))
{ }
TaskFileFactory::~TaskFileFactory()
{ }
QStringList TaskFileFactory::mimeTypes() const
Core::IDocumentFactory(parent)
{
return m_mimeTypes;
}
Core::Id TaskFileFactory::id() const
{
return Core::Id("ProjectExplorer.TaskFileFactory");
}
QString TaskFileFactory::displayName() const
{
return tr("Task file reader");
setId("ProjectExplorer.TaskFileFactory");
setDisplayName(tr("Task file reader"));
addMimeType(QLatin1String("text/x-tasklist"));
}
Core::IDocument *TaskFileFactory::open(const QString &fileName)

View File

@@ -33,11 +33,7 @@
#include <coreplugin/idocumentfactory.h>
#include <coreplugin/idocument.h>
#include <QStringList>
namespace ProjectExplorer {
class Project;
} // namespace ProjectExplorer
namespace ProjectExplorer { class Project; }
namespace TaskList {
namespace Internal {
@@ -45,14 +41,9 @@ namespace Internal {
class TaskFileFactory : public Core::IDocumentFactory
{
Q_OBJECT
public:
TaskFileFactory(QObject *parent = 0);
~TaskFileFactory();
QStringList mimeTypes() const;
Core::Id id() const;
QString displayName() const;
Core::IDocument *open(const QString &fileName);
Core::IDocument *open(ProjectExplorer::Project *context, const QString &fileName);
@@ -60,7 +51,6 @@ public:
void closeAllFiles();
private:
QStringList m_mimeTypes;
QList<Core::IDocument *> m_openFiles;
};

View File

@@ -46,12 +46,15 @@ using namespace TextEditor::Internal;
PlainTextEditorFactory::PlainTextEditorFactory(QObject *parent)
: Core::IEditorFactory(parent)
{
setId(Core::Constants::K_DEFAULT_TEXT_EDITOR_ID);
setDisplayName(qApp->translate("OpenWith::Editors", Core::Constants::K_DEFAULT_TEXT_EDITOR_DISPLAY_NAME));
addMimeType(QLatin1String(TextEditor::Constants::C_TEXTEDITOR_MIMETYPE_TEXT));
m_actionHandler = new TextEditorActionHandler(
TextEditor::Constants::C_TEXTEDITOR,
TextEditorActionHandler::Format |
TextEditorActionHandler::UnCommentSelection |
TextEditorActionHandler::UnCollapseAll);
m_mimeTypes << QLatin1String(TextEditor::Constants::C_TEXTEDITOR_MIMETYPE_TEXT);
}
PlainTextEditorFactory::~PlainTextEditorFactory()
@@ -59,16 +62,6 @@ PlainTextEditorFactory::~PlainTextEditorFactory()
delete m_actionHandler;
}
Core::Id PlainTextEditorFactory::id() const
{
return Core::Id(Core::Constants::K_DEFAULT_TEXT_EDITOR_ID);
}
QString PlainTextEditorFactory::displayName() const
{
return qApp->translate("OpenWith::Editors", Core::Constants::K_DEFAULT_TEXT_EDITOR_DISPLAY_NAME);
}
Core::IEditor *PlainTextEditorFactory::createEditor(QWidget *parent)
{
PlainTextEditorWidget *rc = new PlainTextEditorWidget(parent);
@@ -106,13 +99,3 @@ void PlainTextEditorFactory::updateEditorInfoBar(Core::IEditor *editor)
}
}
}
void PlainTextEditorFactory::addMimeType(const QString &type)
{
m_mimeTypes.append(type);
}
QStringList PlainTextEditorFactory::mimeTypes() const
{
return m_mimeTypes;
}

View File

@@ -44,22 +44,16 @@ class PlainTextEditorFactory : public Core::IEditorFactory
public:
PlainTextEditorFactory(QObject *parent = 0);
virtual ~PlainTextEditorFactory();
~PlainTextEditorFactory();
void addMimeType(const QString &type);
virtual QStringList mimeTypes() const;
//Core::IEditorFactory
Core::Id id() const;
QString displayName() const;
using Core::IEditorFactory::addMimeType;
Core::IEditor *createEditor(QWidget *parent);
TextEditor::TextEditorActionHandler *actionHandler() const { return m_actionHandler; }
private slots:
void updateEditorInfoBar(Core::IEditor *editor);
private:
QStringList m_mimeTypes;
TextEditor::TextEditorActionHandler *m_actionHandler;
};

View File

@@ -54,16 +54,11 @@ public:
BaseVcsEditorFactoryPrivate(const VcsBaseEditorParameters *t);
const VcsBaseEditorParameters *m_type;
const Core::Id m_id;
QString m_displayName;
const QStringList m_mimeTypes;
TextEditor::TextEditorActionHandler *m_editorHandler;
};
BaseVcsEditorFactoryPrivate::BaseVcsEditorFactoryPrivate(const VcsBaseEditorParameters *t) :
m_type(t),
m_id(t->id),
m_mimeTypes(QStringList(QLatin1String(t->mimeType))),
m_editorHandler(new TextEditor::TextEditorActionHandler(t->context))
{
}
@@ -73,7 +68,9 @@ BaseVcsEditorFactoryPrivate::BaseVcsEditorFactoryPrivate(const VcsBaseEditorPara
BaseVcsEditorFactory::BaseVcsEditorFactory(const VcsBaseEditorParameters *t)
: d(new Internal::BaseVcsEditorFactoryPrivate(t))
{
d->m_displayName = QCoreApplication::translate("VCS", t->displayName);
setId(t->id);
setDisplayName(QCoreApplication::translate("VCS", t->displayName));
addMimeType(t->mimeType);
}
BaseVcsEditorFactory::~BaseVcsEditorFactory()
@@ -81,26 +78,11 @@ BaseVcsEditorFactory::~BaseVcsEditorFactory()
delete d;
}
QStringList BaseVcsEditorFactory::mimeTypes() const
{
return d->m_mimeTypes;
}
Core::Id BaseVcsEditorFactory::id() const
{
return d->m_id;
}
QString BaseVcsEditorFactory::displayName() const
{
return d->m_displayName;
}
Core::IEditor *BaseVcsEditorFactory::createEditor(QWidget *parent)
{
VcsBaseEditorWidget *vcsEditor = createVcsBaseEditor(d->m_type, parent);
vcsEditor ->setMimeType(d->m_mimeTypes.front());
vcsEditor->setMimeType(mimeTypes().front());
d->m_editorHandler->setupActions(vcsEditor);
// Wire font settings and set initial values

View File

@@ -35,8 +35,6 @@
#include <coreplugin/editormanager/ieditorfactory.h>
QT_FORWARD_DECLARE_CLASS(QStringList)
namespace VcsBase {
namespace Internal {
class BaseVcsEditorFactoryPrivate;
@@ -45,15 +43,11 @@ class BaseVcsEditorFactoryPrivate;
class VCSBASE_EXPORT BaseVcsEditorFactory : public Core::IEditorFactory
{
Q_OBJECT
public:
explicit BaseVcsEditorFactory(const VcsBaseEditorParameters *type);
~BaseVcsEditorFactory();
QStringList mimeTypes() const;
// IEditorFactory
Core::Id id() const;
QString displayName() const;
Core::IEditor *createEditor(QWidget *parent);
private:

View File

@@ -32,58 +32,21 @@
namespace VcsBase {
namespace Internal {
class BaseVcsSubmitEditorFactoryPrivate
{
public:
BaseVcsSubmitEditorFactoryPrivate(const VcsBaseSubmitEditorParameters *parameters);
const VcsBaseSubmitEditorParameters *m_parameters;
const Core::Id m_id;
const QString m_displayName;
const QStringList m_mimeTypes;
};
BaseVcsSubmitEditorFactoryPrivate::BaseVcsSubmitEditorFactoryPrivate(const VcsBaseSubmitEditorParameters *parameters) :
m_parameters(parameters),
m_id(parameters->id),
m_displayName(QLatin1String(parameters->displayName)),
m_mimeTypes(QLatin1String(parameters->mimeType))
{
}
} // namespace Internal
BaseVcsSubmitEditorFactory::BaseVcsSubmitEditorFactory(const VcsBaseSubmitEditorParameters *parameters) :
d(new Internal::BaseVcsSubmitEditorFactoryPrivate(parameters))
BaseVcsSubmitEditorFactory::BaseVcsSubmitEditorFactory(const VcsBaseSubmitEditorParameters *parameters)
: m_parameters(parameters)
{
setId(parameters->id);
setDisplayName(QLatin1String(parameters->displayName));
addMimeType(parameters->mimeType);
}
BaseVcsSubmitEditorFactory::~BaseVcsSubmitEditorFactory()
{
delete d;
}
Core::IEditor *BaseVcsSubmitEditorFactory::createEditor(QWidget *parent)
{
return createBaseSubmitEditor(d->m_parameters, parent);
}
Core::Id BaseVcsSubmitEditorFactory::id() const
{
return d->m_id;
}
QString BaseVcsSubmitEditorFactory::displayName() const
{
return d->m_displayName;
}
QStringList BaseVcsSubmitEditorFactory::mimeTypes() const
{
return d->m_mimeTypes;
return createBaseSubmitEditor(m_parameters, parent);
}
} // namespace VcsBase

View File

@@ -39,10 +39,6 @@ namespace VcsBase {
class VcsBaseSubmitEditor;
class VcsBaseSubmitEditorParameters;
namespace Internal {
class BaseVcsSubmitEditorFactoryPrivate;
} // namespace Internal
// Parametrizable base class for editor factories creating instances of
// VcsBaseSubmitEditor subclasses.
class VCSBASE_EXPORT BaseVcsSubmitEditorFactory : public Core::IEditorFactory
@@ -51,21 +47,17 @@ class VCSBASE_EXPORT BaseVcsSubmitEditorFactory : public Core::IEditorFactory
protected:
explicit BaseVcsSubmitEditorFactory(const VcsBaseSubmitEditorParameters *parameters);
public:
~BaseVcsSubmitEditorFactory();
public:
Core::IEditor *createEditor(QWidget *parent);
Core::Id id() const;
QString displayName() const;
QStringList mimeTypes() const;
private:
virtual VcsBaseSubmitEditor
*createBaseSubmitEditor(const VcsBaseSubmitEditorParameters *parameters,
QWidget *parent) = 0;
Internal::BaseVcsSubmitEditorFactoryPrivate *const d;
const VcsBaseSubmitEditorParameters *const m_parameters; // Not owned.
};
// Utility template to create an editor that has a constructor taking the