ImageViewer: De-pimpl two internal classes

Change-Id: I3302463157f757fbb5190f25052fad1506d10612
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
hjk
2014-02-24 18:29:27 +01:00
parent d967b6413f
commit c17cd92073
5 changed files with 19 additions and 46 deletions

View File

@@ -32,16 +32,16 @@
#include "imageviewer.h"
#include "imageviewerconstants.h"
#include <QList>
#include <QSignalMapper>
#include <QAction>
#include <coreplugin/icore.h>
#include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/actionmanager/command.h>
#include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/id.h>
#include <QAction>
#include <QList>
#include <QSignalMapper>
namespace ImageViewer {
namespace Internal {

View File

@@ -29,7 +29,6 @@
****************************************************************************/
#include "imageviewerfactory.h"
#include "imagevieweractionhandler.h"
#include "imageviewerconstants.h"
#include "imageviewer.h"
@@ -41,20 +40,12 @@
namespace ImageViewer {
namespace Internal {
struct ImageViewerFactoryPrivate
{
QPointer<ImageViewerActionHandler> actionHandler;
};
ImageViewerFactory::ImageViewerFactory(QObject *parent) :
Core::IEditorFactory(parent),
d(new ImageViewerFactoryPrivate)
Core::IEditorFactory(parent)
{
setId(Constants::IMAGEVIEWER_ID);
setDisplayName(qApp->translate("OpenWith::Editors", Constants::IMAGEVIEWER_DISPLAY_NAME));
d->actionHandler = new ImageViewerActionHandler(this);
QMap<QByteArray, const char *> possibleMimeTypes;
possibleMimeTypes.insert("bmp", "image/bmp");
possibleMimeTypes.insert("gif", "image/gif");
@@ -80,11 +71,6 @@ ImageViewerFactory::ImageViewerFactory(QObject *parent) :
}
}
ImageViewerFactory::~ImageViewerFactory()
{
delete d;
}
Core::IEditor *ImageViewerFactory::createEditor()
{
return new ImageViewer();
@@ -92,7 +78,7 @@ Core::IEditor *ImageViewerFactory::createEditor()
void ImageViewerFactory::extensionsInitialized()
{
d->actionHandler->createActions();
m_actionHandler.createActions();
}
} // namespace Internal

View File

@@ -31,6 +31,8 @@
#ifndef IMAGEVIEWERFACTORY_H
#define IMAGEVIEWERFACTORY_H
#include "imagevieweractionhandler.h"
#include <coreplugin/editormanager/ieditorfactory.h>
#include <coreplugin/editormanager/ieditor.h>
#include <coreplugin/idocument.h>
@@ -38,19 +40,20 @@
namespace ImageViewer {
namespace Internal {
class ImageViewerActionHandler;
class ImageViewerFactory : public Core::IEditorFactory
{
Q_OBJECT
public:
explicit ImageViewerFactory(QObject *parent = 0);
~ImageViewerFactory();
Core::IEditor *createEditor();
void extensionsInitialized();
private:
struct ImageViewerFactoryPrivate *d;
ImageViewerActionHandler m_actionHandler;
};
} // namespace Internal

View File

@@ -42,24 +42,8 @@
namespace ImageViewer {
namespace Internal {
///////////////////////////////// ImageViewerPluginPrivate //////////////////////////////////
struct ImageViewerPluginPrivate
{
QPointer<ImageViewerFactory> factory;
};
///////////////////////////////// ImageViewerPlugin //////////////////////////////////
ImageViewerPlugin::ImageViewerPlugin()
: d(new ImageViewerPluginPrivate)
{
}
ImageViewerPlugin::~ImageViewerPlugin()
{
delete d;
}
bool ImageViewerPlugin::initialize(const QStringList &arguments, QString *errorMessage)
{
Q_UNUSED(arguments)
@@ -67,17 +51,17 @@ bool ImageViewerPlugin::initialize(const QStringList &arguments, QString *errorM
if (!Core::MimeDatabase::addMimeTypes(QLatin1String(":/imageviewer/ImageViewer.mimetypes.xml"), errorMessage))
return false;
d->factory = new ImageViewerFactory(this);
m_factory = new ImageViewerFactory(this);
Aggregation::Aggregate *aggregate = new Aggregation::Aggregate;
aggregate->add(d->factory);
aggregate->add(m_factory);
addAutoReleasedObject(d->factory);
addAutoReleasedObject(m_factory);
return true;
}
void ImageViewerPlugin::extensionsInitialized()
{
d->factory->extensionsInitialized();
m_factory->extensionsInitialized();
}
} // namespace Internal

View File

@@ -33,11 +33,12 @@
#include <extensionsystem/iplugin.h>
#include <QPointer>
#include <QtPlugin>
namespace ImageViewer {
namespace Internal {
class ImageViewerFactory;
class ImageViewerPlugin : public ExtensionSystem::IPlugin
@@ -46,14 +47,13 @@ class ImageViewerPlugin : public ExtensionSystem::IPlugin
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "ImageViewer.json")
public:
ImageViewerPlugin();
~ImageViewerPlugin();
ImageViewerPlugin() {}
bool initialize(const QStringList &arguments, QString *errorMessage = 0);
void extensionsInitialized();
private:
struct ImageViewerPluginPrivate *d;
QPointer<ImageViewerFactory> m_factory;
};
} // namespace Internal