31
31
#include "document/documentfactory.h"
32
32
#include "document/documentjob.h"
36
class ImageOperationCommand : public QUndoCommand {
37
class ImageOperationCommand : public QUndoCommand
38
ImageOperationCommand(AbstractImageOperation* op)
42
~ImageOperationCommand() {
40
ImageOperationCommand(AbstractImageOperation* op)
44
~ImageOperationCommand() {
51
AbstractImageOperation* mOp;
54
AbstractImageOperation* mOp;
55
57
struct AbstractImageOperationPrivate {
61
62
AbstractImageOperation::AbstractImageOperation()
62
: d(new AbstractImageOperationPrivate) {
66
AbstractImageOperation::~AbstractImageOperation() {
71
void AbstractImageOperation::applyToDocument(Document::Ptr doc) {
77
Document::Ptr AbstractImageOperation::document() const {
78
Document::Ptr doc = DocumentFactory::instance()->load(d->mUrl);
79
doc->startLoadingFullImage();
84
void AbstractImageOperation::finish(bool ok) {
86
ImageOperationCommand* command = new ImageOperationCommand(this);
87
command->setText(d->mText);
88
document()->undoStack()->push(command);
95
void AbstractImageOperation::finishFromKJob(KJob* job) {
96
finish(job->error() == KJob::NoError);
100
void AbstractImageOperation::setText(const QString& text) {
105
void AbstractImageOperation::redoAsDocumentJob(DocumentJob* job) {
106
connect(job, SIGNAL(result(KJob*)), SLOT(finishFromKJob(KJob*)));
107
document()->enqueueJob(job);
63
: d(new AbstractImageOperationPrivate)
67
AbstractImageOperation::~AbstractImageOperation()
72
void AbstractImageOperation::applyToDocument(Document::Ptr doc)
78
Document::Ptr AbstractImageOperation::document() const
80
Document::Ptr doc = DocumentFactory::instance()->load(d->mUrl);
81
doc->startLoadingFullImage();
85
void AbstractImageOperation::finish(bool ok)
88
ImageOperationCommand* command = new ImageOperationCommand(this);
89
command->setText(d->mText);
90
document()->undoStack()->push(command);
96
void AbstractImageOperation::finishFromKJob(KJob* job)
98
finish(job->error() == KJob::NoError);
101
void AbstractImageOperation::setText(const QString& text)
106
void AbstractImageOperation::redoAsDocumentJob(DocumentJob* job)
108
connect(job, SIGNAL(result(KJob*)), SLOT(finishFromKJob(KJob*)));
109
document()->enqueueJob(job);