rotation shortcuts patch for khistorycombo
Felix Berger
bflat1 at gmx.net
Tue Jan 25 13:46:26 GMT 2005
On Tuesday 25 January 2005 10:41, David Faure wrote:
> On Monday 24 January 2005 13:55, Felix Berger wrote:
> Applied, thanks.
> (Do you want a CVS account? If so please follow the instructions at
> http://developer.kde.org/documentation/other/developer-faq.html#q1.8 )
Sure, thanks for the hint.
> > This could be remedied by instantiating a KAccel object for each of the
> > widgets (kcolorbutton.cpp, kcombobox.cpp, keditcl1.cpp, klineedit.cpp,
> > ktextedit.cpp):
>
> That seems like the only solution to me.
I'd step forward and produce the necessary patches. But before doing so we
should maybe discuss the benefits and drawbacks of private versus virtual
public slots for these methods.
Should new slots like:
void wordForward();
void wordBackward();
void deleteWordForward();
void copy();
void paste();
void undo();
etc. be implementation details or part of the public API. For instance
KLineEdit already defines copy as public virtual member function although it
is a public slot in QLineEdit already.
QLineEdit also offers paste() and cut() etc as virtual public slots, and
cursorForward(bool) are public member functions, so it would maybe make sense
to offer wordForward() etc. as public API too.
> Hmm. I wonder what Ellis thinks :). But it would mean two implementations
> of the KAccelBase/KAccelPrivate code, I'm not sure if that's a good idea.
Agreed. If the flood of new slots is not a problem of some kind I'm perfectly
fine with that.
> Unless we can really reuse the existing code. But I can't seem to pinpoint
> where the code does that concatenation right now... Or is done in Qt?
I think it's happening in KAccelPrivate::slotKeyPressed (kaccel.cpp) and
KAccelBase (line 594). Only the first part of a multi-key shortcut is
registered, then if it's pressed, a popupmenu is created and shown which
accepts the following keys if there are more than one starting with the same
prefix. So actually the events are not concatenated but the set of possible
actions is restricted.
One could also argue if the popupmenu that is always shown for multi-key
shortcuts isn't a bit bothersome to power users who know their shortcuts by
heart.
Felix
--
Use Debian GNU/Linux!
http://www.felix.beldesign.de/
More information about the kde-core-devel
mailing list