-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/105250/
-----------------------------------------------------------

(Updated June 15, 2012, 12:59 p.m.)


Review request for Calligra and Boudewijn Rempt.


Changes
-------

Fixed several issues:

- Improved the recognition code to make it more likely to match the correct 
shortcuts. In addition, it now paints on single press again.
- Improved the pan action, it now works consistently with middle mouse and 
spacebar.
- Reduced the speed of rotation for the rotate action and improved its 
consistency.
- It is now possible to zoom using mouse wheel.


Description
-------

This patch is a squashed patch of all the current changes in the 
krita-canvasinteraction-ahiemstra branch. It implements the basics of my canvas 
interaction proposal. 

With these changes, the input to the canvas is now handled by the class 
KisInputManager. This class installs an event filter and uses the events to try 
and match certain shortcuts. When a match is found, an action associated with 
that shortcut gets activated and perfoms whatever the action is meant to do. 
These changes implement 7 different actions that cover most of what used to be 
performed by the canvas.

Known Issues:
- The recognition code is not yet very robust. Especially the shortcuts 
configured as Control + Some Button or Key seem hard to trigger.
- The "Alternate Invocation" action with the normal brush tool somehow does not 
get deactivated correctly.
- A KAction is added for setting up the mirror axis, but it fails. I do not 
know why since the code is, as far as I can see, the same as the old code.
- Due to the way recognition is currently done, a single click on the canvas 
will not paint.
- The Pan, Rotate and Zoom actions may be a little jumpy, due to them using 
incorrect mouse positions.

Still To Do:
- Loading shortcut configuration from a configuration file instead of 
hardcoding them.
- Create a configuration UI for shortcut configuration.
- Implement overlay widgets for the Pan, Rotate and Zoom actions.


Diffs (updated)
-----

  krita/ui/CMakeLists.txt 212f515 
  krita/ui/canvas/kis_canvas2.cpp 15c8c68 
  krita/ui/canvas/kis_canvas_widget_base.h d9a92fd 
  krita/ui/canvas/kis_canvas_widget_base.cpp 4ee3bb6 
  krita/ui/canvas/kis_qpainter_canvas.h a70f463 
  krita/ui/canvas/kis_qpainter_canvas.cpp c2cd5f6 
  krita/ui/input/kis_abstract_input_action.h PRE-CREATION 
  krita/ui/input/kis_abstract_input_action.cpp PRE-CREATION 
  krita/ui/input/kis_alternate_invocation_action.h PRE-CREATION 
  krita/ui/input/kis_alternate_invocation_action.cpp PRE-CREATION 
  krita/ui/input/kis_change_primary_setting_action.h PRE-CREATION 
  krita/ui/input/kis_change_primary_setting_action.cpp PRE-CREATION 
  krita/ui/input/kis_input_manager.h PRE-CREATION 
  krita/ui/input/kis_input_manager.cpp PRE-CREATION 
  krita/ui/input/kis_pan_action.h PRE-CREATION 
  krita/ui/input/kis_pan_action.cpp PRE-CREATION 
  krita/ui/input/kis_rotate_canvas_action.h PRE-CREATION 
  krita/ui/input/kis_rotate_canvas_action.cpp PRE-CREATION 
  krita/ui/input/kis_shortcut.h PRE-CREATION 
  krita/ui/input/kis_shortcut.cpp PRE-CREATION 
  krita/ui/input/kis_show_palette_action.h PRE-CREATION 
  krita/ui/input/kis_show_palette_action.cpp PRE-CREATION 
  krita/ui/input/kis_tool_invocation_action.h PRE-CREATION 
  krita/ui/input/kis_tool_invocation_action.cpp PRE-CREATION 
  krita/ui/input/kis_zoom_action.h PRE-CREATION 
  krita/ui/input/kis_zoom_action.cpp PRE-CREATION 
  krita/ui/opengl/kis_opengl_canvas2.h 7523e92 
  krita/ui/opengl/kis_opengl_canvas2.cpp d125f5a 
  krita/ui/tool/kis_tool.cc eca749a 
  krita/ui/tool/kis_tool_paint.cc 61be742 

Diff: http://git.reviewboard.kde.org/r/105250/diff/


Testing
-------

I have performed quite some drawing using this code. The basic concept works 
very well and most of the actions are fairly intuitive, but the recognition 
code needs improvement.


Thanks,

Arjen Hiemstra

_______________________________________________
calligra-devel mailing list
calligra-devel@kde.org
https://mail.kde.org/mailman/listinfo/calligra-devel

Reply via email to