forked from qt-creator/qt-creator
ImageViewer: De-pimpl two internal classes
Change-Id: I3302463157f757fbb5190f25052fad1506d10612 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
@@ -32,16 +32,16 @@
|
|||||||
#include "imageviewer.h"
|
#include "imageviewer.h"
|
||||||
#include "imageviewerconstants.h"
|
#include "imageviewerconstants.h"
|
||||||
|
|
||||||
#include <QList>
|
|
||||||
#include <QSignalMapper>
|
|
||||||
#include <QAction>
|
|
||||||
|
|
||||||
#include <coreplugin/icore.h>
|
#include <coreplugin/icore.h>
|
||||||
#include <coreplugin/actionmanager/actionmanager.h>
|
#include <coreplugin/actionmanager/actionmanager.h>
|
||||||
#include <coreplugin/actionmanager/command.h>
|
#include <coreplugin/actionmanager/command.h>
|
||||||
#include <coreplugin/editormanager/editormanager.h>
|
#include <coreplugin/editormanager/editormanager.h>
|
||||||
#include <coreplugin/id.h>
|
#include <coreplugin/id.h>
|
||||||
|
|
||||||
|
#include <QAction>
|
||||||
|
#include <QList>
|
||||||
|
#include <QSignalMapper>
|
||||||
|
|
||||||
namespace ImageViewer {
|
namespace ImageViewer {
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,6 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#include "imageviewerfactory.h"
|
#include "imageviewerfactory.h"
|
||||||
#include "imagevieweractionhandler.h"
|
|
||||||
#include "imageviewerconstants.h"
|
#include "imageviewerconstants.h"
|
||||||
#include "imageviewer.h"
|
#include "imageviewer.h"
|
||||||
|
|
||||||
@@ -41,20 +40,12 @@
|
|||||||
namespace ImageViewer {
|
namespace ImageViewer {
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
struct ImageViewerFactoryPrivate
|
|
||||||
{
|
|
||||||
QPointer<ImageViewerActionHandler> actionHandler;
|
|
||||||
};
|
|
||||||
|
|
||||||
ImageViewerFactory::ImageViewerFactory(QObject *parent) :
|
ImageViewerFactory::ImageViewerFactory(QObject *parent) :
|
||||||
Core::IEditorFactory(parent),
|
Core::IEditorFactory(parent)
|
||||||
d(new ImageViewerFactoryPrivate)
|
|
||||||
{
|
{
|
||||||
setId(Constants::IMAGEVIEWER_ID);
|
setId(Constants::IMAGEVIEWER_ID);
|
||||||
setDisplayName(qApp->translate("OpenWith::Editors", Constants::IMAGEVIEWER_DISPLAY_NAME));
|
setDisplayName(qApp->translate("OpenWith::Editors", Constants::IMAGEVIEWER_DISPLAY_NAME));
|
||||||
|
|
||||||
d->actionHandler = new ImageViewerActionHandler(this);
|
|
||||||
|
|
||||||
QMap<QByteArray, const char *> possibleMimeTypes;
|
QMap<QByteArray, const char *> possibleMimeTypes;
|
||||||
possibleMimeTypes.insert("bmp", "image/bmp");
|
possibleMimeTypes.insert("bmp", "image/bmp");
|
||||||
possibleMimeTypes.insert("gif", "image/gif");
|
possibleMimeTypes.insert("gif", "image/gif");
|
||||||
@@ -80,11 +71,6 @@ ImageViewerFactory::ImageViewerFactory(QObject *parent) :
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ImageViewerFactory::~ImageViewerFactory()
|
|
||||||
{
|
|
||||||
delete d;
|
|
||||||
}
|
|
||||||
|
|
||||||
Core::IEditor *ImageViewerFactory::createEditor()
|
Core::IEditor *ImageViewerFactory::createEditor()
|
||||||
{
|
{
|
||||||
return new ImageViewer();
|
return new ImageViewer();
|
||||||
@@ -92,7 +78,7 @@ Core::IEditor *ImageViewerFactory::createEditor()
|
|||||||
|
|
||||||
void ImageViewerFactory::extensionsInitialized()
|
void ImageViewerFactory::extensionsInitialized()
|
||||||
{
|
{
|
||||||
d->actionHandler->createActions();
|
m_actionHandler.createActions();
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
|||||||
@@ -31,6 +31,8 @@
|
|||||||
#ifndef IMAGEVIEWERFACTORY_H
|
#ifndef IMAGEVIEWERFACTORY_H
|
||||||
#define IMAGEVIEWERFACTORY_H
|
#define IMAGEVIEWERFACTORY_H
|
||||||
|
|
||||||
|
#include "imagevieweractionhandler.h"
|
||||||
|
|
||||||
#include <coreplugin/editormanager/ieditorfactory.h>
|
#include <coreplugin/editormanager/ieditorfactory.h>
|
||||||
#include <coreplugin/editormanager/ieditor.h>
|
#include <coreplugin/editormanager/ieditor.h>
|
||||||
#include <coreplugin/idocument.h>
|
#include <coreplugin/idocument.h>
|
||||||
@@ -38,19 +40,20 @@
|
|||||||
namespace ImageViewer {
|
namespace ImageViewer {
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
|
class ImageViewerActionHandler;
|
||||||
|
|
||||||
class ImageViewerFactory : public Core::IEditorFactory
|
class ImageViewerFactory : public Core::IEditorFactory
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit ImageViewerFactory(QObject *parent = 0);
|
explicit ImageViewerFactory(QObject *parent = 0);
|
||||||
~ImageViewerFactory();
|
|
||||||
|
|
||||||
Core::IEditor *createEditor();
|
Core::IEditor *createEditor();
|
||||||
|
|
||||||
void extensionsInitialized();
|
void extensionsInitialized();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
struct ImageViewerFactoryPrivate *d;
|
ImageViewerActionHandler m_actionHandler;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
|||||||
@@ -42,24 +42,8 @@
|
|||||||
namespace ImageViewer {
|
namespace ImageViewer {
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
///////////////////////////////// ImageViewerPluginPrivate //////////////////////////////////
|
|
||||||
struct ImageViewerPluginPrivate
|
|
||||||
{
|
|
||||||
QPointer<ImageViewerFactory> factory;
|
|
||||||
};
|
|
||||||
|
|
||||||
///////////////////////////////// ImageViewerPlugin //////////////////////////////////
|
///////////////////////////////// ImageViewerPlugin //////////////////////////////////
|
||||||
|
|
||||||
ImageViewerPlugin::ImageViewerPlugin()
|
|
||||||
: d(new ImageViewerPluginPrivate)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
ImageViewerPlugin::~ImageViewerPlugin()
|
|
||||||
{
|
|
||||||
delete d;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ImageViewerPlugin::initialize(const QStringList &arguments, QString *errorMessage)
|
bool ImageViewerPlugin::initialize(const QStringList &arguments, QString *errorMessage)
|
||||||
{
|
{
|
||||||
Q_UNUSED(arguments)
|
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))
|
if (!Core::MimeDatabase::addMimeTypes(QLatin1String(":/imageviewer/ImageViewer.mimetypes.xml"), errorMessage))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
d->factory = new ImageViewerFactory(this);
|
m_factory = new ImageViewerFactory(this);
|
||||||
Aggregation::Aggregate *aggregate = new Aggregation::Aggregate;
|
Aggregation::Aggregate *aggregate = new Aggregation::Aggregate;
|
||||||
aggregate->add(d->factory);
|
aggregate->add(m_factory);
|
||||||
|
|
||||||
addAutoReleasedObject(d->factory);
|
addAutoReleasedObject(m_factory);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ImageViewerPlugin::extensionsInitialized()
|
void ImageViewerPlugin::extensionsInitialized()
|
||||||
{
|
{
|
||||||
d->factory->extensionsInitialized();
|
m_factory->extensionsInitialized();
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
|||||||
@@ -33,11 +33,12 @@
|
|||||||
|
|
||||||
#include <extensionsystem/iplugin.h>
|
#include <extensionsystem/iplugin.h>
|
||||||
|
|
||||||
|
#include <QPointer>
|
||||||
#include <QtPlugin>
|
#include <QtPlugin>
|
||||||
|
|
||||||
namespace ImageViewer {
|
namespace ImageViewer {
|
||||||
|
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
class ImageViewerFactory;
|
class ImageViewerFactory;
|
||||||
|
|
||||||
class ImageViewerPlugin : public ExtensionSystem::IPlugin
|
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")
|
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "ImageViewer.json")
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ImageViewerPlugin();
|
ImageViewerPlugin() {}
|
||||||
~ImageViewerPlugin();
|
|
||||||
|
|
||||||
bool initialize(const QStringList &arguments, QString *errorMessage = 0);
|
bool initialize(const QStringList &arguments, QString *errorMessage = 0);
|
||||||
void extensionsInitialized();
|
void extensionsInitialized();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
struct ImageViewerPluginPrivate *d;
|
QPointer<ImageViewerFactory> m_factory;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
|||||||
Reference in New Issue
Block a user