[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: Re: [calligra] krita/ui/tool: BUG: 324170
From: Lukast dev <lukast.dev () gmail ! com>
Date: 2013-10-30 10:19:12
Message-ID: CAKdU0rO6TTu4hezsVoki5SqNSHGKAvOObeZZ1kTN_C=o2u2SHQ () mail ! gmail ! com
[Download RAW message or body]
> + undo_polygon_selection->setShortcut(QKeySequence(Qt::ShiftModifier +
Qt::Key_Z));
I suppose this is not needed, standard system Undo shortcut will undo some
operation
2013/10/30 Salil Kapur <salilkapur93@gmail.com>
> Git commit fd128ac2c97f2016575a0424c0476d08e633fb33 by Salil Kapur.
> Committed on 30/10/2013 at 10:12.
> Pushed by salilkapur into branch 'master'.
>
> BUG: 324170
> Add shortcut to undo last polygonal selection point(s)
>
> M +28 -0 krita/ui/tool/kis_tool_polyline_base.cpp
> M +3 -0 krita/ui/tool/kis_tool_polyline_base.h
>
> http://commits.kde.org/calligra/fd128ac2c97f2016575a0424c0476d08e633fb33
>
> diff --git a/krita/ui/tool/kis_tool_polyline_base.cpp
> b/krita/ui/tool/kis_tool_polyline_base.cpp
> index 771783b..8b9389c 100644
> --- a/krita/ui/tool/kis_tool_polyline_base.cpp
> +++ b/krita/ui/tool/kis_tool_polyline_base.cpp
> @@ -27,6 +27,10 @@
> #include <KoViewConverter.h>
>
> #include "kis_tool_polyline_base.h"
> +#include "kis_canvas2.h"
> +#include <kis_view2.h>
> +#include <kis_action.h>
> +#include <kactioncollection.h>
>
> #define SNAPPING_THRESHOLD 10
> #define SNAPPING_HANDLE_RADIUS 8
> @@ -38,6 +42,12 @@ KisToolPolylineBase::KisToolPolylineBase(KoCanvasBase *
> canvas, KisToolPolyline
> m_type(type),
> m_closeSnappingActivated(false)
> {
> +
> + KisCanvas2 * kiscanvas = static_cast<KisCanvas2*>(this->canvas());
> + KAction *undo_polygon_selection = new KAction("Undo Polygon Selection
> Points",this);
> + undo_polygon_selection->setShortcut(QKeySequence(Qt::ShiftModifier +
> Qt::Key_Z));
> +
> kiscanvas->view()->actionCollection()->addAction("undo_polygon_selection",
> undo_polygon_selection);
> + connect(undo_polygon_selection, SIGNAL(triggered()),
> SLOT(undoSelection()));
> }
>
> void KisToolPolylineBase::deactivate()
> @@ -137,6 +147,24 @@ void
> KisToolPolylineBase::mouseDoubleClickEvent(KoPointerEvent *event)
> }
> }
>
> +void KisToolPolylineBase::undoSelection()
> +{
> + if(m_dragging) {
> + //Update canvas for drag before undo
> + QRectF updateRect = dragBoundingRect();
> + updateRect |= dragBoundingRect();
> + updateCanvasViewRect(updateRect);
> +
> + //Update canvas for last segment
> + QRectF rect = pixelToView(QRectF(m_points.last(), m_points.at
> (m_points.size()-2)).normalized());
> + rect.adjust(-PREVIEW_LINE_WIDTH, -PREVIEW_LINE_WIDTH,
> PREVIEW_LINE_WIDTH, PREVIEW_LINE_WIDTH);
> + rect |= rect;
> + updateCanvasViewRect(rect);
> + m_points.pop_back();
> + m_dragStart = m_points.last();
> + }
> +}
> +
> void KisToolPolylineBase::paint(QPainter& gc, const KoViewConverter
> &converter)
> {
> Q_UNUSED(converter);
> diff --git a/krita/ui/tool/kis_tool_polyline_base.h
> b/krita/ui/tool/kis_tool_polyline_base.h
> index 7d38d24..dc91daa 100644
> --- a/krita/ui/tool/kis_tool_polyline_base.h
> +++ b/krita/ui/tool/kis_tool_polyline_base.h
> @@ -53,6 +53,9 @@ private:
> void updateArea();
> QRectF dragBoundingRect();
>
> +private slots:
> + virtual void undoSelection();
> +
> private:
>
> QPointF m_dragStart;
>
[Attachment #3 (text/html)]
<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:13px">> + \
undo_polygon_selection-></span><span \
style="font-family:arial,sans-serif;font-size:13px">setShortcut(QKeySequence(Qt::</span><span \
style="font-family:arial,sans-serif;font-size:13px">ShiftModifier + \
Qt::Key_Z));</span><br> <div><span \
style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span \
style="font-family:arial,sans-serif;font-size:13px">I suppose this is not needed, \
standard system Undo shortcut will undo some operation</span></div> </div><div \
class="gmail_extra"><br><br><div class="gmail_quote">2013/10/30 Salil Kapur <span \
dir="ltr"><<a href="mailto:salilkapur93@gmail.com" \
target="_blank">salilkapur93@gmail.com</a>></span><br><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"> Git commit fd128ac2c97f2016575a0424c0476d08e633fb33 by Salil \
Kapur.<br> Committed on 30/10/2013 at 10:12.<br>
Pushed by salilkapur into branch 'master'.<br>
<br>
BUG: 324170<br>
Add shortcut to undo last polygonal selection point(s)<br>
<br>
M +28 -0 krita/ui/tool/kis_tool_polyline_base.cpp<br>
M +3 -0 krita/ui/tool/kis_tool_polyline_base.h<br>
<br>
<a href="http://commits.kde.org/calligra/fd128ac2c97f2016575a0424c0476d08e633fb33" \
target="_blank">http://commits.kde.org/calligra/fd128ac2c97f2016575a0424c0476d08e633fb33</a><br>
<br>
diff --git a/krita/ui/tool/kis_tool_polyline_base.cpp \
b/krita/ui/tool/kis_tool_polyline_base.cpp<br> index 771783b..8b9389c 100644<br>
--- a/krita/ui/tool/kis_tool_polyline_base.cpp<br>
+++ b/krita/ui/tool/kis_tool_polyline_base.cpp<br>
@@ -27,6 +27,10 @@<br>
#include <KoViewConverter.h><br>
<br>
#include "kis_tool_polyline_base.h"<br>
+#include "kis_canvas2.h"<br>
+#include <kis_view2.h><br>
+#include <kis_action.h><br>
+#include <kactioncollection.h><br>
<br>
#define SNAPPING_THRESHOLD 10<br>
#define SNAPPING_HANDLE_RADIUS 8<br>
@@ -38,6 +42,12 @@ KisToolPolylineBase::KisToolPolylineBase(KoCanvasBase * canvas, \
KisToolPolyline<br> m_type(type),<br>
m_closeSnappingActivated(false)<br>
{<br>
+<br>
+ KisCanvas2 * kiscanvas = static_cast<KisCanvas2*>(this->canvas());<br>
+ KAction *undo_polygon_selection = new KAction("Undo Polygon Selection \
Points",this);<br> + \
undo_polygon_selection->setShortcut(QKeySequence(Qt::ShiftModifier + \
Qt::Key_Z));<br> + \
kiscanvas->view()->actionCollection()->addAction("undo_polygon_selection", \
undo_polygon_selection);<br> + connect(undo_polygon_selection, \
SIGNAL(triggered()), SLOT(undoSelection()));<br> }<br>
<br>
void KisToolPolylineBase::deactivate()<br>
@@ -137,6 +147,24 @@ void KisToolPolylineBase::mouseDoubleClickEvent(KoPointerEvent \
*event)<br> }<br>
}<br>
<br>
+void KisToolPolylineBase::undoSelection()<br>
+{<br>
+ if(m_dragging) {<br>
+ //Update canvas for drag before undo<br>
+ QRectF updateRect = dragBoundingRect();<br>
+ updateRect |= dragBoundingRect();<br>
+ updateCanvasViewRect(updateRect);<br>
+<br>
+ //Update canvas for last segment<br>
+ QRectF rect = pixelToView(QRectF(m_points.last(), <a \
href="http://m_points.at" \
target="_blank">m_points.at</a>(m_points.size()-2)).normalized());<br> + \
rect.adjust(-PREVIEW_LINE_WIDTH, -PREVIEW_LINE_WIDTH, PREVIEW_LINE_WIDTH, \
PREVIEW_LINE_WIDTH);<br> + rect |= rect;<br>
+ updateCanvasViewRect(rect);<br>
+ m_points.pop_back();<br>
+ m_dragStart = m_points.last();<br>
+ }<br>
+}<br>
+<br>
void KisToolPolylineBase::paint(QPainter& gc, const KoViewConverter \
&converter)<br> {<br>
Q_UNUSED(converter);<br>
diff --git a/krita/ui/tool/kis_tool_polyline_base.h \
b/krita/ui/tool/kis_tool_polyline_base.h<br> index 7d38d24..dc91daa 100644<br>
--- a/krita/ui/tool/kis_tool_polyline_base.h<br>
+++ b/krita/ui/tool/kis_tool_polyline_base.h<br>
@@ -53,6 +53,9 @@ private:<br>
void updateArea();<br>
QRectF dragBoundingRect();<br>
<br>
+private slots:<br>
+ virtual void undoSelection();<br>
+<br>
private:<br>
<br>
QPointF m_dragStart;<br>
</blockquote></div><br></div>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic