[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: koffice/libs
From: Jan Hambrecht <jaham () gmx ! net>
Date: 2010-05-07 11:12:36
Message-ID: 20100507111236.AFBE5AC8B0 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1123918 by jaham:
make the copy-paste offset configurable via the misc config page
M +13 -1 flake/KoShapePaste.cpp
M +29 -1 main/config/KoConfigMiscPage.cpp
M +1 -0 main/config/KoConfigMiscPage.h
--- trunk/koffice/libs/flake/KoShapePaste.cpp #1123917:1123918
@@ -36,6 +36,10 @@
#include "KoShapeRegistry.h"
#include "commands/KoShapeCreateCommand.h"
+#include <KGlobal>
+#include <KConfig>
+#include <KConfigGroup>
+
class KoShapePaste::Private
{
public:
@@ -76,6 +80,14 @@
QUndoCommand *cmd = 0;
+ QPointF copyOffset(10.0, 10.0);
+ // read copy offset from settings
+ KSharedConfigPtr config = KGlobal::config();
+ if (config->hasGroup("Misc")) {
+ const qreal offset = config->group("Misc").readEntry("CopyOffset", 10.0);
+ copyOffset = QPointF(offset, offset);
+ }
+
// TODO if this is a text create a text shape and load the text inside the new shape.
KoXmlElement element;
forEachElement(element, body) {
@@ -108,7 +120,7 @@
if (qAbs(s->size().height() - shape->size().height()) > 0.001)
continue;
// move it and redo our iteration.
- QPointF move(10, 10);
+ QPointF move(copyOffset);
d->canvas->clipToDocument(shape, move);
if (move.x() != 0 || move.y() != 0) {
shape->setPosition(shape->position() + move);
--- trunk/koffice/libs/main/config/KoConfigMiscPage.cpp #1123917:1123918
@@ -23,6 +23,7 @@
#include <KoUnit.h>
#include <KoDocument.h>
+#include <KoUnitDoubleSpinBox.h>
#include <kcomponentdata.h>
#include <kcombobox.h>
@@ -51,6 +52,8 @@
uint oldHandleRadius;
KIntNumInput * grabSensitivity;
uint oldGrabSensitivity;
+ KoUnitDoubleSpinBox* copyOffset;
+ qreal oldCopyOffset;
};
KoConfigMiscPage::KoConfigMiscPage(KoDocument* doc, char* name)
@@ -62,12 +65,14 @@
d->oldGrabSensitivity = 3;
d->oldHandleRadius = 3;
+ d->oldCopyOffset = 10.0;
if (d->config->hasGroup("Misc")) {
KConfigGroup miscGroup = d->config->group("Misc");
d->oldGrabSensitivity = miscGroup.readEntry("GrabSensitivity", d->oldGrabSensitivity);
d->oldHandleRadius = miscGroup.readEntry("HandleRadius", d->oldHandleRadius);
+ d->oldCopyOffset = miscGroup.readEntry("CopyOffset", d->oldCopyOffset);
}
KoUnit unit = d->doc->unit();
@@ -107,11 +112,20 @@
d->grabSensitivity->setValue(d->oldGrabSensitivity);
grid->addWidget(d->grabSensitivity, 2, 1);
- grid->setRowStretch(3, 1);
+ grid->addWidget(new QLabel(i18n("Copy offset:"), tmpQGroupBox), 3, 0);
+ d->copyOffset = new KoUnitDoubleSpinBox(tmpQGroupBox);
+ d->copyOffset->setMinMaxStep(-1000, 1000, 0.1);
+ d->copyOffset->setValue(d->oldCopyOffset);
+ d->copyOffset->setUnit(unit);
+ grid->addWidget(d->copyOffset, 3, 1);
+
+ grid->setRowStretch(4, 1);
+
tmpQGroupBox->setLayout(grid);
connect(d->unit, SIGNAL(activated(int)), SIGNAL(unitChanged(int)));
+ connect(d->unit, SIGNAL(activated(int)), SLOT(slotUnitChanged(int)));
}
KoConfigMiscPage::~KoConfigMiscPage()
@@ -139,6 +153,12 @@
if (currentGrabSensitivity != d->oldGrabSensitivity) {
miscGroup.writeEntry("GrabSensitivity", currentGrabSensitivity);
}
+
+ qreal currentCopyOffset = d->copyOffset->value();
+ if (currentCopyOffset != d->oldCopyOffset) {
+ miscGroup.writeEntry("CopyOffset", currentCopyOffset);
+ }
+
// FIXME how is the handle radius and grap sensitivitiy set?
}
@@ -147,5 +167,13 @@
d->unit->setCurrentIndex(0);
}
+void KoConfigMiscPage::slotUnitChanged(int u)
+{
+ KoUnit unit = KoUnit((KoUnit::Unit) u);
+ d->copyOffset->blockSignals(true);
+ d->copyOffset->setUnit(unit);
+ d->copyOffset->blockSignals(false);
+}
+
#include <KoConfigMiscPage.moc>
--- trunk/koffice/libs/main/config/KoConfigMiscPage.h #1123917:1123918
@@ -43,6 +43,7 @@
public slots:
void slotDefault();
+ void slotUnitChanged(int);
private:
class Private;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic