kdatetable keyboard navigation patch

Felix Berger bflat1 at gmx.net
Fri Jan 21 15:41:03 GMT 2005


when counting the weeks starting from a given start date in the kdatetable I 
had to notice that I can't do this by using the down key of my keyboard 
because kdatetable won't let me navigate beyond a month's days.

I suppose it was a conscious design decision, since extra code was added to 
KDateTable::keyPressEvent(...) to prevent the user from navigating beyond a 
month's boundary.

Is the reason for this decision still valid or can we do something about that, 
because it doesn't make keyboard usage very useful? As an aside, my nokia 
handy provides the same calendar layout and allows scrolling down beyond a 
month's boundary.

The attached patch removes this restriction and catches a few other KStdAccel  
key events like ::end() ::beginning() ::endOfLine() and beginningOfLine().

I had to remove the catch-all KnotifyClient::beep() at the end of the function 
since it also beeps when keyboard modifiers are pressed which initiate one of 
the navigation shortcuts like Ctrl+End. I tried to ignore the set modifiers 
in the key event for the beep but it didn't really work.

One could also think about implementing type-in completion as qt provides for 
QListView: When a user types a number or a sequence of numbers the 
appropriate day of the month is selected. But I guess that would just be 
overdoing it: lots of non-obvious code for a hardly used feature.

Being a fervent fan of Emacs I'd also like to see KStdAccels for lineUp and 
lineDown. This would mean even more configurable shortcuts in kcontrol so 
this might not be wanted. Furthermore a lot of code would have to be adapted 
to honor these shortcuts. But maybe the accessibility group is interested in 
such features?

Sorry for this longish email ;-)
Felix Berger

Use Debian GNU/Linux!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: datetable-navigation.patch
Type: text/x-diff
Size: 3371 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20050121/f2c5d3e4/attachment.patch>

More information about the kde-core-devel mailing list