[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-kimageshop
Subject: Re: [calligra/calligra/2.9] krita: Add snap-single checkbox under assistant snapping.
From: Raghavendra Kamath <raghu () raghukamath ! com>
Date: 2015-08-25 15:57:08
Message-ID: 55DC8D84.2070007 () raghukamath ! com
[Download RAW message or body]
[Attachment #2 (multipart/alternative)]
Thanks Wolthera,
this was some hindrance in using assistants.
thank you for the options :)
On Tuesday 25 August 2015 07:49 PM, Wolthera van Hovell wrote:
> Git commit 750f3c9c5d048e08db36520c0ba2509e7a013962 by Wolthera van Hovell.
> Committed on 25/08/2015 at 14:18.
> Pushed by woltherav into branch 'calligra/2.9'.
>
> Add snap-single checkbox under assistant snapping.
>
> This adds a checkbox to assistant snapping that will make the snapping happen
> to only the first snapped-to-assistant. This removes snapping issues on
> infinite assistants while keeping the ability to snap to chained assistants
> while the checkbox is unticked.
>
> BUG: 331788
> CCMAIL:kimageshop@kde.org
>
> M +9 -1 krita/plugins/tools/defaulttools/kis_tool_brush.cc
> M +1 -0 krita/plugins/tools/defaulttools/kis_tool_brush.h
> M +42 -9 krita/ui/kis_painting_assistants_decoration.cpp
> M +2 -0 krita/ui/kis_painting_assistants_decoration.h
> M +7 -0 krita/ui/tool/kis_tool_freehand.cc
> M +2 -0 krita/ui/tool/kis_tool_freehand.h
>
> http://commits.kde.org/calligra/750f3c9c5d048e08db36520c0ba2509e7a013962
>
> diff --git a/krita/plugins/tools/defaulttools/kis_tool_brush.cc \
> b/krita/plugins/tools/defaulttools/kis_tool_brush.cc index 85ff008..87b9183 100644
> --- a/krita/plugins/tools/defaulttools/kis_tool_brush.cc
> +++ b/krita/plugins/tools/defaulttools/kis_tool_brush.cc
> @@ -421,6 +421,7 @@ QWidget * KisToolBrush::createOptionWidget()
> assistantWidget->setToolTip(i18n("You need to add Ruler Assistants before this tool \
> will work.")); connect(m_chkAssistant, SIGNAL(toggled(bool)), this, \
> SLOT(setAssistant(bool))); assistantLayout->addWidget(m_chkAssistant);
> +
> m_sliderMagnetism = new KisSliderSpinBox(optionsWidget);
> m_sliderMagnetism->setToolTip(i18n("Assistant Magnetism"));
> m_sliderMagnetism->setRange(0, MAXIMUM_MAGNETISM);
> @@ -428,13 +429,20 @@ QWidget * KisToolBrush::createOptionWidget()
> connect(m_chkAssistant, SIGNAL(toggled(bool)), m_sliderMagnetism, \
> SLOT(setEnabled(bool))); m_sliderMagnetism->setValue(m_magnetism * \
> MAXIMUM_MAGNETISM); connect(m_sliderMagnetism, SIGNAL(valueChanged(int)), \
> SLOT(slotSetMagnetism(int)));
> -
> +
> KAction *toggleaction = new KAction(i18n("Toggle Assistant"), this);
> addAction("toggle_assistant", toggleaction);
> toggleaction->setShortcut(KShortcut(Qt::ControlModifier + Qt::ShiftModifier + \
> Qt::Key_L)); connect(toggleaction, SIGNAL(triggered(bool)), m_chkAssistant, \
> SLOT(toggle()));
> addOptionWidgetOption(m_sliderMagnetism, assistantWidget);
> +
> + m_chkOnlyOneAssistant = new QCheckBox(optionsWidget);
> + m_chkOnlyOneAssistant->setToolTip(i18nc("@info:tooltip","Make it only snap to \
> a single assistant, prevents snapping mess while using the infinite assistants.")); \
> + m_chkOnlyOneAssistant->setCheckState(Qt::Checked);//turn on by default. + \
> connect(m_chkOnlyOneAssistant, SIGNAL(toggled(bool)), this, \
> SLOT(setOnlyOneAssistantSnap(bool))); + \
> addOptionWidgetOption(m_chkOnlyOneAssistant, new QLabel(i18n("Snap single:"))); +
>
> //load settings from configuration kritarc file
> slotSetSmoothingType((int)m_configGroup.readEntry("smoothingType", 0));
> diff --git a/krita/plugins/tools/defaulttools/kis_tool_brush.h \
> b/krita/plugins/tools/defaulttools/kis_tool_brush.h index c30c0cd..c0d5ff7 100644
> --- a/krita/plugins/tools/defaulttools/kis_tool_brush.h
> +++ b/krita/plugins/tools/defaulttools/kis_tool_brush.h
> @@ -120,6 +120,7 @@ private:
>
> QCheckBox *m_chkAssistant;
> KisSliderSpinBox *m_sliderMagnetism;
> + QCheckBox *m_chkOnlyOneAssistant;
> KisDoubleSliderSpinBox *m_sliderSmoothnessDistance;
> KisDoubleSliderSpinBox *m_sliderTailAggressiveness;
> QCheckBox *m_chkSmoothPressure;
> diff --git a/krita/ui/kis_painting_assistants_decoration.cpp \
> b/krita/ui/kis_painting_assistants_decoration.cpp index bcd1e1b..545f412 100644
> --- a/krita/ui/kis_painting_assistants_decoration.cpp
> +++ b/krita/ui/kis_painting_assistants_decoration.cpp
> @@ -34,6 +34,9 @@ struct KisPaintingAssistantsDecoration::Private {
> QList<KisPaintingAssistant*> assistants;
> bool assistantVisible;
> bool outlineVisible;
> + bool snapOnlyOneAssistant;
> + KisPaintingAssistant* firstAssistant;
> + bool aFirstStroke;
> };
>
> KisPaintingAssistantsDecoration::KisPaintingAssistantsDecoration(QPointer<KisView> \
> parent) : @@ -42,6 +45,7 @@ \
> KisPaintingAssistantsDecoration::KisPaintingAssistantsDecoration(QPointer<KisVie {
> setAssistantVisible(true);
> setOutlineVisible(true);
> + d->snapOnlyOneAssistant=true;//turn on by default.
> }
>
> KisPaintingAssistantsDecoration::~KisPaintingAssistantsDecoration()
> @@ -87,22 +91,46 @@ QPointF KisPaintingAssistantsDecoration::adjustPosition(const \
> QPointF& point, co QPointF best = point;
> double distance = DBL_MAX;
> //the following tries to find the closest point to stroke-begin. It checks all \
> assistants for the closest point//
> - foreach(KisPaintingAssistant* assistant, d->assistants) {
> - if(assistant->snapping()==true){//this checks if the assistant in question \
> has it's snapping boolean turned on//
> - QPointF pt = assistant->adjustPosition(point, strokeBegin);
> - if (pt.x() != pt.x()) continue;
> - double d = qAbs(pt.x() - point.x()) + qAbs(pt.y() - point.y());
> - if (d < distance) {
> - best = pt;
> - distance = d;
> + if(!d->snapOnlyOneAssistant){
> + foreach(KisPaintingAssistant* assistant, d->assistants) {
> + if(assistant->snapping()==true){//this checks if the assistant in \
> question has it's snapping boolean turned on// + QPointF pt = \
> assistant->adjustPosition(point, strokeBegin); + if (pt.x() != \
> pt.x()) continue; + double dist = qAbs(pt.x() - point.x()) + \
> qAbs(pt.y() - point.y()); + if (dist < distance) {
> + best = pt;
> + distance = dist;
> + }
> + }
> + }
> + } else if (d->aFirstStroke==false) {
> + foreach(KisPaintingAssistant* assistant, d->assistants) {
> + if(assistant->snapping()==true){//this checks if the assistant in \
> question has it's snapping boolean turned on// + QPointF pt = \
> assistant->adjustPosition(point, strokeBegin); + if (pt.x() != \
> pt.x()) continue; + double dist = qAbs(pt.x() - point.x()) + \
> qAbs(pt.y() - point.y()); + if (dist < distance) {
> + best = pt;
> + distance = dist;
> + d->firstAssistant = assistant;
> + }
> }
> }
> + } else {
> + best = d->firstAssistant->adjustPosition(point, strokeBegin);
> }
> + //this is here to be compatible with the movement in the perspective tool.
> + qreal dx = point.x() - strokeBegin.x(), dy = point.y() - strokeBegin.y();
> + if (dx * dx + dy * dy >= 4.0) {
> + // allow some movement before snapping
> + d->aFirstStroke=true;
> + }
> return best;
> }
>
> void KisPaintingAssistantsDecoration::endStroke()
> {
> + d->aFirstStroke=false;
> foreach(KisPaintingAssistant* assistant, d->assistants) {
> assistant->endStroke();
> }
> @@ -153,6 +181,12 @@ void KisPaintingAssistantsDecoration::setOutlineVisible(bool \
> set) {
> d->outlineVisible=set;
> }
> +
> +void KisPaintingAssistantsDecoration::setOnlyOneAssistantSnap(bool assistant)
> +{
> + d->snapOnlyOneAssistant = assistant;
> +}
> +
> bool KisPaintingAssistantsDecoration::assistantVisibility()
> {
> return d->assistantVisible;
> @@ -161,7 +195,6 @@ bool KisPaintingAssistantsDecoration::outlineVisibility()
> {
> return d->outlineVisible;
> }
> -
> void KisPaintingAssistantsDecoration::uncache()
> {
> foreach(KisPaintingAssistant* assistant, d->assistants) {
> diff --git a/krita/ui/kis_painting_assistants_decoration.h \
> b/krita/ui/kis_painting_assistants_decoration.h index 78ebfed..0138c0f 100644
> --- a/krita/ui/kis_painting_assistants_decoration.h
> +++ b/krita/ui/kis_painting_assistants_decoration.h
> @@ -48,6 +48,8 @@ public:
> void setAssistantVisible(bool set);
> /*sets whether the preview is visible*/
> void setOutlineVisible(bool set);
> + /*sets whether we snap to only one assistant*/
> + void setOnlyOneAssistantSnap(bool assistant);
> /*returns assistant visibility*/
> bool assistantVisibility();
> /*returns preview visibility*/
> diff --git a/krita/ui/tool/kis_tool_freehand.cc \
> b/krita/ui/tool/kis_tool_freehand.cc index 6f5b7b9..bdfd9f1 100644
> --- a/krita/ui/tool/kis_tool_freehand.cc
> +++ b/krita/ui/tool/kis_tool_freehand.cc
> @@ -62,6 +62,7 @@ KisToolFreehand::KisToolFreehand(KoCanvasBase * canvas, const \
> QCursor & cursor, {
> m_assistant = false;
> m_magnetism = 1.0;
> + m_only_one_assistant = true;
>
> setSupportOutline(true);
>
> @@ -359,9 +360,15 @@ void KisToolFreehand::setAssistant(bool assistant)
> m_assistant = assistant;
> }
>
> +void KisToolFreehand::setOnlyOneAssistantSnap(bool assistant)
> +{
> + m_only_one_assistant = assistant;
> +}
> +
> QPointF KisToolFreehand::adjustPosition(const QPointF& point, const QPointF& \
> strokeBegin) {
> if (m_assistant && \
> static_cast<KisCanvas2*>(canvas())->paintingAssistantsDecoration()) { + \
> static_cast<KisCanvas2*>(canvas())->paintingAssistantsDecoration()->setOnlyOneAssistantSnap(m_only_one_assistant);
> QPointF ap = static_cast<KisCanvas2*>(canvas())->paintingAssistantsDecoration()->adjustPosition(point, \
> strokeBegin); return (1.0 - m_magnetism) * point + m_magnetism * ap;
> }
> diff --git a/krita/ui/tool/kis_tool_freehand.h b/krita/ui/tool/kis_tool_freehand.h
> index d4a189e..36a1578 100644
> --- a/krita/ui/tool/kis_tool_freehand.h
> +++ b/krita/ui/tool/kis_tool_freehand.h
> @@ -91,6 +91,7 @@ protected Q_SLOTS:
> void explicitUpdateOutline();
> virtual void resetCursorStyle();
> void setAssistant(bool assistant);
> + void setOnlyOneAssistantSnap(bool assistant);
>
> private:
> friend class KisToolFreehandPaintingInformationBuilder;
> @@ -114,6 +115,7 @@ protected:
> KisSmoothingOptionsSP smoothingOptions() const;
> bool m_assistant;
> double m_magnetism;
> + bool m_only_one_assistant;
>
> private:
> KisPaintingInformationBuilder *m_infoBuilder;
> _______________________________________________
> Krita mailing list
> kimageshop@kde.org
> https://mail.kde.org/mailman/listinfo/kimageshop
--
/*Raghavendra Kamath*
/ /Illustration & Design
m: +91 9867272640 <tel:9867272640> /
/w: raghukamath.com <http://www.raghukamath.com/>/
[Attachment #5 (text/html)]
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Thanks Wolthera,<br>
this was some hindrance in using assistants. <br>
thank you for the options :)<br>
<br>
<div class="moz-cite-prefix">On Tuesday 25 August 2015 07:49 PM,
Wolthera van Hovell wrote:<br>
</div>
<blockquote cite="mid:E1ZUF41-0007ZP-R9@scm.kde.org" type="cite">
<pre wrap="">Git commit 750f3c9c5d048e08db36520c0ba2509e7a013962 by Wolthera \
van Hovell. Committed on 25/08/2015 at 14:18.
Pushed by woltherav into branch 'calligra/2.9'.
Add snap-single checkbox under assistant snapping.
This adds a checkbox to assistant snapping that will make the snapping happen
to only the first snapped-to-assistant. This removes snapping issues on
infinite assistants while keeping the ability to snap to chained assistants
while the checkbox is unticked.
BUG: 331788
<a class="moz-txt-link-abbreviated" \
href="mailto:CCMAIL:kimageshop@kde.org">CCMAIL:kimageshop@kde.org</a>
M +9 -1 krita/plugins/tools/defaulttools/kis_tool_brush.cc
M +1 -0 krita/plugins/tools/defaulttools/kis_tool_brush.h
M +42 -9 krita/ui/kis_painting_assistants_decoration.cpp
M +2 -0 krita/ui/kis_painting_assistants_decoration.h
M +7 -0 krita/ui/tool/kis_tool_freehand.cc
M +2 -0 krita/ui/tool/kis_tool_freehand.h
<a class="moz-txt-link-freetext" \
href="http://commits.kde.org/calligra/750f3c9c5d048e08db36520c0ba2509e7a013962">http://commits.kde.org/calligra/750f3c9c5d048e08db36520c0ba2509e7a013962</a>
diff --git a/krita/plugins/tools/defaulttools/kis_tool_brush.cc \
b/krita/plugins/tools/defaulttools/kis_tool_brush.cc index 85ff008..87b9183 100644
--- a/krita/plugins/tools/defaulttools/kis_tool_brush.cc
+++ b/krita/plugins/tools/defaulttools/kis_tool_brush.cc
@@ -421,6 +421,7 @@ QWidget * KisToolBrush::createOptionWidget()
assistantWidget->setToolTip(i18n("You need to add Ruler Assistants before \
this tool will work."));
connect(m_chkAssistant, SIGNAL(toggled(bool)), this, SLOT(setAssistant(bool)));
assistantLayout->addWidget(m_chkAssistant);
+
m_sliderMagnetism = new KisSliderSpinBox(optionsWidget);
m_sliderMagnetism->setToolTip(i18n("Assistant Magnetism"));
m_sliderMagnetism->setRange(0, MAXIMUM_MAGNETISM);
@@ -428,13 +429,20 @@ QWidget * KisToolBrush::createOptionWidget()
connect(m_chkAssistant, SIGNAL(toggled(bool)), m_sliderMagnetism, \
SLOT(setEnabled(bool))); m_sliderMagnetism->setValue(m_magnetism * \
MAXIMUM_MAGNETISM);
connect(m_sliderMagnetism, SIGNAL(valueChanged(int)), \
SLOT(slotSetMagnetism(int)));
-
+
KAction *toggleaction = new KAction(i18n("Toggle Assistant"), this);
addAction("toggle_assistant", toggleaction);
toggleaction->setShortcut(KShortcut(Qt::ControlModifier + Qt::ShiftModifier + \
Qt::Key_L));
connect(toggleaction, SIGNAL(triggered(bool)), m_chkAssistant, SLOT(toggle()));
addOptionWidgetOption(m_sliderMagnetism, assistantWidget);
+
+ m_chkOnlyOneAssistant = new QCheckBox(optionsWidget);
+ m_chkOnlyOneAssistant->setToolTip(i18nc("@<a class="moz-txt-link-freetext" \
href="info:tooltip">info:tooltip</a>","Make it only snap to a single assistant, \
prevents snapping mess while using the infinite assistants.")); + \
m_chkOnlyOneAssistant->setCheckState(Qt::Checked);//turn on by default. + \
connect(m_chkOnlyOneAssistant, SIGNAL(toggled(bool)), this, \
SLOT(setOnlyOneAssistantSnap(bool))); + \
addOptionWidgetOption(m_chkOnlyOneAssistant, new QLabel(i18n("Snap single:"))); +
//load settings from configuration kritarc file
slotSetSmoothingType((int)m_configGroup.readEntry("smoothingType", 0));
diff --git a/krita/plugins/tools/defaulttools/kis_tool_brush.h \
b/krita/plugins/tools/defaulttools/kis_tool_brush.h index c30c0cd..c0d5ff7 100644
--- a/krita/plugins/tools/defaulttools/kis_tool_brush.h
+++ b/krita/plugins/tools/defaulttools/kis_tool_brush.h
@@ -120,6 +120,7 @@ private:
QCheckBox *m_chkAssistant;
KisSliderSpinBox *m_sliderMagnetism;
+ QCheckBox *m_chkOnlyOneAssistant;
KisDoubleSliderSpinBox *m_sliderSmoothnessDistance;
KisDoubleSliderSpinBox *m_sliderTailAggressiveness;
QCheckBox *m_chkSmoothPressure;
diff --git a/krita/ui/kis_painting_assistants_decoration.cpp \
b/krita/ui/kis_painting_assistants_decoration.cpp index bcd1e1b..545f412 100644
--- a/krita/ui/kis_painting_assistants_decoration.cpp
+++ b/krita/ui/kis_painting_assistants_decoration.cpp
@@ -34,6 +34,9 @@ struct KisPaintingAssistantsDecoration::Private {
QList<KisPaintingAssistant*> assistants;
bool assistantVisible;
bool outlineVisible;
+ bool snapOnlyOneAssistant;
+ KisPaintingAssistant* firstAssistant;
+ bool aFirstStroke;
};
KisPaintingAssistantsDecoration::KisPaintingAssistantsDecoration(QPointer<KisView> \
parent) : @@ -42,6 +45,7 @@ \
KisPaintingAssistantsDecoration::KisPaintingAssistantsDecoration(QPointer<KisVie \
{ setAssistantVisible(true);
setOutlineVisible(true);
+ d->snapOnlyOneAssistant=true;//turn on by default.
}
KisPaintingAssistantsDecoration::~KisPaintingAssistantsDecoration()
@@ -87,22 +91,46 @@ QPointF KisPaintingAssistantsDecoration::adjustPosition(const \
QPointF& point, co QPointF best = point;
double distance = DBL_MAX;
//the following tries to find the closest point to stroke-begin. It checks all \
assistants for the closest point//
- foreach(KisPaintingAssistant* assistant, d->assistants) {
- if(assistant->snapping()==true){//this checks if the assistant in \
question has it's snapping boolean turned on//
- QPointF pt = assistant->adjustPosition(point, strokeBegin);
- if (pt.x() != pt.x()) continue;
- double d = qAbs(pt.x() - point.x()) + qAbs(pt.y() - point.y());
- if (d < distance) {
- best = pt;
- distance = d;
+ if(!d->snapOnlyOneAssistant){
+ foreach(KisPaintingAssistant* assistant, d->assistants) {
+ if(assistant->snapping()==true){//this checks if the assistant in \
question has it's snapping boolean turned on// + QPointF pt = \
assistant->adjustPosition(point, strokeBegin); + if (pt.x() != \
pt.x()) continue; + double dist = qAbs(pt.x() - point.x()) + \
qAbs(pt.y() - point.y()); + if (dist < distance) {
+ best = pt;
+ distance = dist;
+ }
+ }
+ }
+ } else if (d->aFirstStroke==false) {
+ foreach(KisPaintingAssistant* assistant, d->assistants) {
+ if(assistant->snapping()==true){//this checks if the assistant in \
question has it's snapping boolean turned on// + QPointF pt = \
assistant->adjustPosition(point, strokeBegin); + if (pt.x() != \
pt.x()) continue; + double dist = qAbs(pt.x() - point.x()) + \
qAbs(pt.y() - point.y()); + if (dist < distance) {
+ best = pt;
+ distance = dist;
+ d->firstAssistant = assistant;
+ }
}
}
+ } else {
+ best = d->firstAssistant->adjustPosition(point, strokeBegin);
}
+ //this is here to be compatible with the movement in the perspective tool.
+ qreal dx = point.x() - strokeBegin.x(), dy = point.y() - strokeBegin.y();
+ if (dx * dx + dy * dy >= 4.0) {
+ // allow some movement before snapping
+ d->aFirstStroke=true;
+ }
return best;
}
void KisPaintingAssistantsDecoration::endStroke()
{
+ d->aFirstStroke=false;
foreach(KisPaintingAssistant* assistant, d->assistants) {
assistant->endStroke();
}
@@ -153,6 +181,12 @@ void KisPaintingAssistantsDecoration::setOutlineVisible(bool \
set) {
d->outlineVisible=set;
}
+
+void KisPaintingAssistantsDecoration::setOnlyOneAssistantSnap(bool assistant)
+{
+ d->snapOnlyOneAssistant = assistant;
+}
+
bool KisPaintingAssistantsDecoration::assistantVisibility()
{
return d->assistantVisible;
@@ -161,7 +195,6 @@ bool KisPaintingAssistantsDecoration::outlineVisibility()
{
return d->outlineVisible;
}
-
void KisPaintingAssistantsDecoration::uncache()
{
foreach(KisPaintingAssistant* assistant, d->assistants) {
diff --git a/krita/ui/kis_painting_assistants_decoration.h \
b/krita/ui/kis_painting_assistants_decoration.h index 78ebfed..0138c0f 100644
--- a/krita/ui/kis_painting_assistants_decoration.h
+++ b/krita/ui/kis_painting_assistants_decoration.h
@@ -48,6 +48,8 @@ public:
void setAssistantVisible(bool set);
/*sets whether the preview is visible*/
void setOutlineVisible(bool set);
+ /*sets whether we snap to only one assistant*/
+ void setOnlyOneAssistantSnap(bool assistant);
/*returns assistant visibility*/
bool assistantVisibility();
/*returns preview visibility*/
diff --git a/krita/ui/tool/kis_tool_freehand.cc b/krita/ui/tool/kis_tool_freehand.cc
index 6f5b7b9..bdfd9f1 100644
--- a/krita/ui/tool/kis_tool_freehand.cc
+++ b/krita/ui/tool/kis_tool_freehand.cc
@@ -62,6 +62,7 @@ KisToolFreehand::KisToolFreehand(KoCanvasBase * canvas, const \
QCursor & cursor, {
m_assistant = false;
m_magnetism = 1.0;
+ m_only_one_assistant = true;
setSupportOutline(true);
@@ -359,9 +360,15 @@ void KisToolFreehand::setAssistant(bool assistant)
m_assistant = assistant;
}
+void KisToolFreehand::setOnlyOneAssistantSnap(bool assistant)
+{
+ m_only_one_assistant = assistant;
+}
+
QPointF KisToolFreehand::adjustPosition(const QPointF& point, const QPointF& \
strokeBegin) {
if (m_assistant && \
static_cast<KisCanvas2*>(canvas())->paintingAssistantsDecoration()) { + \
static_cast<KisCanvas2*>(canvas())->paintingAssistantsDecoration()->setOnlyOneAssistantSnap(m_only_one_assistant);
QPointF ap = \
static_cast<KisCanvas2*>(canvas())->paintingAssistantsDecoration()->adjustPosition(point, \
strokeBegin); return (1.0 - m_magnetism) * point + m_magnetism * ap;
}
diff --git a/krita/ui/tool/kis_tool_freehand.h b/krita/ui/tool/kis_tool_freehand.h
index d4a189e..36a1578 100644
--- a/krita/ui/tool/kis_tool_freehand.h
+++ b/krita/ui/tool/kis_tool_freehand.h
@@ -91,6 +91,7 @@ protected Q_SLOTS:
void explicitUpdateOutline();
virtual void resetCursorStyle();
void setAssistant(bool assistant);
+ void setOnlyOneAssistantSnap(bool assistant);
private:
friend class KisToolFreehandPaintingInformationBuilder;
@@ -114,6 +115,7 @@ protected:
KisSmoothingOptionsSP smoothingOptions() const;
bool m_assistant;
double m_magnetism;
+ bool m_only_one_assistant;
private:
KisPaintingInformationBuilder *m_infoBuilder;
_______________________________________________
Krita mailing list
<a class="moz-txt-link-abbreviated" \
href="mailto:kimageshop@kde.org">kimageshop@kde.org</a> <a \
class="moz-txt-link-freetext" \
href="https://mail.kde.org/mailman/listinfo/kimageshop">https://mail.kde.org/mailman/listinfo/kimageshop</a>
</pre>
</blockquote>
<br>
<div class="moz-signature">-- <br>
<em><b><font face="Georgia" size="-1" color="#333333">Raghavendra
Kamath</font></b><br>
</em>
<font face="Georgia" size="-1" color="#333">
<em>
Illustration & Design<br>
m: <a style="text-decoration:none; color:#333"
href="tel:9867272640">+91 9867272640</a>
</em>
<div><em>w: <a style="text-decoration:none; color:#333"
href="http://www.raghukamath.com/" \
target="_blank">raghukamath.com</a></em></div> </font>
</div>
</body>
</html>
[Attachment #6 (text/plain)]
_______________________________________________
Krita mailing list
kimageshop@kde.org
https://mail.kde.org/mailman/listinfo/kimageshop
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic