1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
/* This file is part of the KDE project
Copyright (C) 2006, 2010 Thomas Zander <zander@kde.org>
Copyright (C) 2011 Jan Hambrecht <jaham@gmx.net>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#include "KoShapeBasedDocumentBase.h"
#include "KoDocumentResourceManager.h"
#include "KoShapeRegistry.h"
#include <KGlobal>
#include <KConfig>
#include <KConfigGroup>
class KoShapeBasedDocumentBasePrivate
{
public:
KoShapeBasedDocumentBasePrivate()
: resourceManager(new KoDocumentResourceManager())
{
KoShapeRegistry *registry = KoShapeRegistry::instance();
foreach (const QString &id, registry->keys()) {
KoShapeFactoryBase *shapeFactory = registry->value(id);
shapeFactory->newDocumentResourceManager(resourceManager);
}
// read persistent application wide resources
KSharedConfigPtr config = KGlobal::config();
if (config->hasGroup("Misc")) {
KConfigGroup miscGroup = config->group("Misc");
const qreal pasteOffset = miscGroup.readEntry("CopyOffset", 10.0);
resourceManager->setPasteOffset(pasteOffset);
const bool pasteAtCursor = miscGroup.readEntry("PasteAtCursor", true);
resourceManager->enablePasteAtCursor(pasteAtCursor);
const uint grabSensitivity = miscGroup.readEntry("GrabSensitivity", 3);
resourceManager->setGrabSensitivity(grabSensitivity);
const uint handleRadius = miscGroup.readEntry("HandleRadius", 3);
resourceManager->setHandleRadius(handleRadius);
}
}
~KoShapeBasedDocumentBasePrivate()
{
delete resourceManager;
}
KoDocumentResourceManager *resourceManager;
};
KoShapeBasedDocumentBase::KoShapeBasedDocumentBase()
: d(new KoShapeBasedDocumentBasePrivate())
{
}
KoShapeBasedDocumentBase::~KoShapeBasedDocumentBase()
{
delete d;
}
void KoShapeBasedDocumentBase::shapesRemoved(const QList<KoShape*> & /*shapes*/, KUndo2Command * /*command*/)
{
}
KoDocumentResourceManager *KoShapeBasedDocumentBase::resourceManager() const
{
return d->resourceManager;
}
|