SVN commit 1097345 by langkamp: fix outline in duplicate op M +2 -17 kis_duplicateop_settings.cpp M +2 -2 kis_duplicateop_settings.h M +1 -5 kis_duplicateop_settings_widget.cpp M +2 -5 kis_duplicateop_settings_widget.h --- trunk/koffice/krita/plugins/paintops/defaultpaintops/duplicate/kis_duplicateop_settings.cpp #1097344:1097345 @@ -145,29 +145,14 @@ QRectF dubRect = duplicateOutlineRect(pos, image); if (_mode == CURSOR_IS_OUTLINE) { - KisBrushSP brush = options->m_brushOption->brush(); - QPointF hotSpot = brush->hotSpot(1.0, 1.0); - QRectF rect = QRect(0, 0, brush->width(), brush->height()); - rect.translate(pos - hotSpot - QPoint(0.5, 0.5)); - rect = image->pixelToDocument(rect).translated(pos); - dubRect |= rect; + dubRect |= KisBrushBasedPaintOpSettings::paintOutlineRect(pos, image, _mode); } return dubRect; } void KisDuplicateOpSettings::paintOutline(const QPointF& pos, KisImageWSP image, QPainter &painter, const KoViewConverter &converter, OutlineMode _mode) const { - KisDuplicateOpSettingsWidget* options = dynamic_cast(optionsWidget()); - if(!options) - return; - - KisBrushSP brush = options->m_brushOption->brush(); - painter.setPen(Qt::black); - painter.setBackground(Qt::black); - if (_mode == CURSOR_IS_OUTLINE) { - QPointF hotSpot = brush->hotSpot(1.0, 1.0); - painter.drawEllipse(converter.documentToView(image->pixelToDocument(QRectF(0, 0, brush->width(), brush->height()).translated(- hotSpot - QPoint(1.0, 1.0))).translated(pos))); - } + KisBrushBasedPaintOpSettings::paintOutline(pos, image, painter, converter, _mode); QRectF rect2 = converter.documentToView(duplicateOutlineRect(pos, image)); painter.drawLine(rect2.topLeft(), rect2.bottomRight()); painter.drawLine(rect2.topRight(), rect2.bottomLeft()); --- trunk/koffice/krita/plugins/paintops/defaultpaintops/duplicate/kis_duplicateop_settings.h #1097344:1097345 @@ -23,14 +23,14 @@ #ifndef KIS_DUPLICATEOP_SETTINGS_H_ #define KIS_DUPLICATEOP_SETTINGS_H_ -#include +#include #include #include #include "kis_duplicateop_settings_widget.h" class QDomElement; -class KisDuplicateOpSettings : public KisPaintOpSettings +class KisDuplicateOpSettings : public KisBrushBasedPaintOpSettings { public: --- trunk/koffice/krita/plugins/paintops/defaultpaintops/duplicate/kis_duplicateop_settings_widget.cpp #1097344:1097345 @@ -26,28 +26,24 @@ #include #include -#include #include #include #include KisDuplicateOpSettingsWidget::KisDuplicateOpSettingsWidget(QWidget* parent) - : KisPaintOpOptionsWidget(parent) + : KisBrushBasedPaintopOptionWidget(parent) { setObjectName("brush option widget"); - m_brushOption = new KisBrushOptionWidget; m_duplicateOption = new KisDuplicateOpOption; - addPaintOpOption(m_brushOption); addPaintOpOption(new KisCurveOptionWidget(new KisPressureSizeOption())); addPaintOpOption(m_duplicateOption); } KisDuplicateOpSettingsWidget::~KisDuplicateOpSettingsWidget() { - delete m_brushOption; delete m_duplicateOption; } --- trunk/koffice/krita/plugins/paintops/defaultpaintops/duplicate/kis_duplicateop_settings_widget.h #1097344:1097345 @@ -23,14 +23,13 @@ #ifndef KIS_DUPLICATEOP_SETTINGS_WIDGET_H_ #define KIS_DUPLICATEOP_SETTINGS_WIDGET_H_ -#include +#include #include -class KisBrushOptionWidget; class KisPressureSizeOption; class KisDuplicateOpOption; -class KisDuplicateOpSettingsWidget : public KisPaintOpOptionsWidget +class KisDuplicateOpSettingsWidget : public KisBrushBasedPaintopOptionWidget { Q_OBJECT @@ -44,8 +43,6 @@ KisPropertiesConfiguration* configuration() const; public: - - KisBrushOptionWidget* m_brushOption; KisDuplicateOpOption* m_duplicateOption; };