[calligra] krita/plugins/tools/tool_transform2: reset transform tool when the node chages

Boudewijn Rempt boud at valdyas.org
Thu Mar 8 07:56:39 GMT 2012


On Wednesday 07 March 2012 Mar, Sven Langkamp wrote:
> Git commit 1cf3389a2867e6741feb9a501152fd23c79bfde7 by Sven Langkamp.
> Committed on 07/03/2012 at 19:31.
> Pushed by langkamp into branch 'master'.
> 
> reset transform tool when the node chages
> BUG:295471

I think this fix should be backported to 2.4.

> 
> M  +11   -1    krita/plugins/tools/tool_transform2/kis_tool_transform.cc
> M  +4    -0    krita/plugins/tools/tool_transform2/kis_tool_transform.h
> 
> http://commits.kde.org/calligra/1cf3389a2867e6741feb9a501152fd23c79bfde7
> 
> diff --git a/krita/plugins/tools/tool_transform2/kis_tool_transform.cc b/krita/plugins/tools/tool_transform2/kis_tool_transform.cc
> index 4d1ed58..45d4830 100644
> --- a/krita/plugins/tools/tool_transform2/kis_tool_transform.cc
> +++ b/krita/plugins/tools/tool_transform2/kis_tool_transform.cc
> @@ -79,7 +79,7 @@
>  
>  KisToolTransform::KisToolTransform(KoCanvasBase * canvas)
>          : KisTool(canvas, KisCursor::rotateCursor())
> -        , m_canvas(canvas)
> +         , m_canvas(canvas), m_isActive(false)
>  {
>      setObjectName("tool_transform");
>      useCursor(KisCursor::selectCursor());
> @@ -932,6 +932,14 @@ void KisToolTransform::keyReleaseEvent(QKeyEvent *event)
>      KisTool::keyReleaseEvent(event);
>  }
>  
> +void KisToolTransform::resourceChanged(int key, const QVariant& res)
> +{
> +    KisTool::resourceChanged(key, res);
> +    if(m_isActive && key == KisCanvasResourceProvider::CurrentKritaNode) {
> +        initTransform(m_currentArgs.mode());
> +    }
> +}
> +
>  /* A sort of gradient descent method is used to find the correct scale
>     factors when scaling up/down the image from one of its corners,
>     when there is a perspective projection.
> @@ -2092,6 +2100,7 @@ void KisToolTransform::activate(ToolActivation toolActivation, const QSet<KoShap
>      else {
>          updateOptionWidget();
>      }
> +    m_isActive = true;
>  }
>  
>  void KisToolTransform::deactivate()
> @@ -2110,6 +2119,7 @@ void KisToolTransform::deactivate()
>      }
>  
>      KisTool::deactivate();
> +    m_isActive = false;
>  }
>  
>  void KisToolTransform::transform()
> diff --git a/krita/plugins/tools/tool_transform2/kis_tool_transform.h b/krita/plugins/tools/tool_transform2/kis_tool_transform.h
> index c4c25e4..b92a7dd 100644
> --- a/krita/plugins/tools/tool_transform2/kis_tool_transform.h
> +++ b/krita/plugins/tools/tool_transform2/kis_tool_transform.h
> @@ -100,6 +100,8 @@ public:
>      virtual void keyPressEvent(QKeyEvent *event);
>      virtual void keyReleaseEvent(QKeyEvent *event);
>  
> +    virtual void resourceChanged(int key, const QVariant& res);
> +
>  public:
>      void paint(QPainter& gc, const KoViewConverter &converter);
>  
> @@ -397,6 +399,8 @@ private:
>  	bool m_cursorOverPoint;
>  	int m_pointUnderCursor; // the id of the point in the vector
>  
> +    bool m_isActive;
> +
>  private slots:
>  
>      void slotSetFilter(const KoID &);
> 
> 


-- 
Boudewijn Rempt
http://www.valdyas.org, http://www.krita.org, http://www.boudewijnrempt.nl



More information about the calligra-devel mailing list