[prev in list] [next in list] [prev in thread] [next in thread]
List: calligra-devel
Subject: Re: Proposal for new modifiers/shortcuts system
From: jaham () gmx ! net
Date: 2011-06-13 19:15:04
Message-ID: 201106132115.04679.jaham () gmx ! net
[Download RAW message or body]
On Sunday 12 June 2011 11:13:59 Dmitry Kazakov wrote:
> Hi!
>
> As we discussed at the last Krita sprint, Krita needs some common system to
> manage keyboard shortcuts and modifiers. The problem is, different keyboard
> keys should switch tools temporarily and restore the tool when the key is
> released. E.g. we need canvas panning, rotation, color picking, brush
> adjustments.
>
> I was thinking about the design of this system. And i think it is better to
> do it Calligra-wide. That's why I've published its design proposal to
> Calligra wiki:
>
> http://community.kde.org/Calligra/Libs/Interactional_Tools
>
> Theoretically, all the other tools may be ported to it in the future, but
> this is not mandatory as there are wrappers for old tools left.
>
> So i would really like to hear your opinion about this system. Especially,
> about naming of the classes =)
If I have understood correctly there two types of shortcuts needed.
1. Global shortcuts to change tools
2. Local shortcuts to change a tools state
What I think is that the global shortcuts should be handled by the
toolmanager, as that is exactly the kind of things the toolmanager is doing.
For local shortcuts I am not sure why it is not possible to fold the common
shortcut/gesture handling into the KoInteractionTool base class? I think we
should keep the number of involved classes at a minimum, otherwise no one can
understand what is actually happening in our tool system.
Also from reading your requirement list, I hope that you also looked at tools
that are not krita tools.
Requirement 1:
For instance shift drag is used to override the snapping. And there are
probably other places where dragging with a modifier is used. So you will have
a hard time reserving those for common stuff.
Requirement 2:
Single global key shortcuts are dangerous. The Ctrl modifier is use a lot, and
the space key is also used at least in the text tools.
Requirement 3:
I do not understand that. Can you elaborate, preferably with an example.
Requirement 4:
A Krita specific requirement, is there a more general example? What is canvas
rotation actually, a tool?
Requirement 5:
I am not sure i understand what you mean by that. Can you be more specific
please? I.e. how should a tool be canceled when Esc is bound to another
action?
Requirement 6:
Great!
Requirement 7:
Yes I agree.
To sum it up, I think i need some clarifications. ;-)
Ciao Jan
_______________________________________________
calligra-devel mailing list
calligra-devel@kde.org
https://mail.kde.org/mailman/listinfo/calligra-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic