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


Yeah... It's great progress, but definitely needs more work. Here are a couple 
of preliminary notes.

* that a single click doesn't paint really is a _big_ problem. We need to find 
a solution here.
* pan with space seems to put the canvas in the wrong place.
* did we lose zoom with the mouse wheel?
* right cursor moves the canvas left -- here I'd also expect autorepeat to work.
* let's not forget the level jump when zooming with the keyboard.
* there's a problem with the brush resizing: it is less precise than it used to 
be and the brush tends to snap back to a bigger size on mouseup/shift up. It 
feels a bit more like it is on windows, in fact, with not enough feedback 
between stages.
* applying a gradient with the tablet doesn't work: the action doesn't get 
started 
* then applying a gradient with the mouse causes a crash:

#6  KisToolInvocationAction::end (this=0x5de8df0) at 
/home/boud/kde/src/calligra/krita/ui/input/kis_tool_invocation_action.cpp:80
#7  0x00007f9e967fb12a in KisInputManager::Private::clearState (this=0x5de8d80) 
at /home/boud/kde/src/calligra/krita/ui/input/kis_input_manager.cpp:376
#8  0x00007f9e967fb921 in KisInputManager::eventFilter (this=0x5de8ca0, 
object=<optimized out>, event=0x7fff94927e50) at 
/home/boud/kde/src/calligra/krita/ui/input/kis_input_manager.cpp:137
#9  0x00007f9e96e9e3b8 in 
QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<optimized out>, 
receiver=0x69ef730, event=0x7fff94927e50) at kernel/qcoreapplication.cpp:986
#10 0x00007f9e8fbec09f in QApplicationPrivate::notify_helper(QObject*, QEvent*) 
() from /usr/lib64/libQtGui.so.4
#11 0x00007f9e8fbf1823 in QApplication::notify(QObject*, QEvent*) () from 
/usr/lib64/libQtGui.so.4
#12 0x00007f9e909308f6 in KApplication::notify(QObject*, QEvent*) () from 
/usr/lib64/libkdeui.so.5
#13 0x00007f9e96e9e22c in QCoreApplication::notifyInternal 
(this=0x7fff949289b0, receiver=0x69ef730, event=0x7fff94927e50) at 
kernel/qcoreapplication.cpp:876
#14 0x00007f9e8fbed0a2 in QApplicationPrivate::sendMouseEvent(QWidget*, 
QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from 
/usr/lib64/libQtGui.so.4
#15 0x00007f9e8fc68e85 in ?? () from /usr/lib64/libQtGui.so.4
#16 0x00007f9e8fc67d4a in QApplication::x11ProcessEvent(_XEvent*) () from 
/usr/lib64/libQtGui.so.4
#17 0x00007f9e8fc904da in ?? () from /usr/lib64/libQtGui.so.4
#18 0x00007f9e96e9d012 in QEventLoop::processEvents (this=<optimized out>, 
flags=...) at kernel/qeventloop.cpp:149
#19 0x00007f9e96e9d267 in QEventLoop::exec (this=0x7fff94928970, flags=...) at 
kernel/qeventloop.cpp:204
#20 0x00007f9e96ea1dc5 in QCoreApplication::exec () at 
kernel/qcoreapplication.cpp:1148
#21 0x00007f9e973c74ed in kdemain (argc=<optimized out>, argv=<optimized out>) 
at /home/boud/kde/src/calligra/krita/main.cc:71
#22 0x00007f9e8e57223d in __libc_start_main () from /lib64/libc.so.6
#23 0x0000000000400921 in _start () at ../sysdeps/x86_64/elf/start.S:113

* rotating with shift-space is way too fast, at least with the opengl canvas, 
it's less smooth than with the pan tool in the qpainter canvas. The steps seem 
too big, too. Also, I got the same crash as above.





krita/ui/input/kis_pan_action.cpp
<http://git.reviewboard.kde.org/r/105250/#comment11636>

    This fails to compile:
    
    /home/boud/kde/src/calligra/krita/ui/input/kis_pan_action.cpp:40:29: error: 
ISO C++ forbids initialization of member ‘panDistance’ [-fpermissive]
    /home/boud/kde/src/calligra/krita/ui/input/kis_pan_action.cpp:40:29: error: 
making ‘panDistance’ static [-fpermissive]
    


- Boudewijn Rempt


On June 14, 2012, 1:18 p.m., Arjen Hiemstra wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/105250/
> -----------------------------------------------------------
> 
> (Updated June 14, 2012, 1:18 p.m.)
> 
> 
> Review request for Calligra and Boudewijn Rempt.
> 
> 
> 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
> -----
> 
>   krita/ui/CMakeLists.txt 212f515 
>   krita/ui/canvas/kis_canvas2.cpp 8f22f46 
>   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