Bug 137177

Summary: Accessibility: Keyboard control in reminder windows behave in an unexpected way
Product: [Applications] korganizer Reporter: Sami Liedes <sami.liedes>
Component: generalAssignee: kdepim bugs <kdepim-bugs>
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Debian testing   
OS: Linux   
Latest Commit: Version Fixed In:

Description Sami Liedes 2006-11-11 00:14:40 UTC
Version:            (using KDE KDE 3.5.5)
Installed from:    Debian testing/unstable Packages
OS:                Linux

In a reminder window, when focus is on the suspend duration field, I would expect pressing down arrow to decrease the number by one. What it does is decrease the number by one _and_ move focus to the Suspend button (the last part being unexpected). Pressing up arrow has a similar effect. Similarly when focus is on the minutes/hours/days menu, I would expect down and up arrow to only change the value, but focus is shifted to the OK button additionally.
Comment 1 Bram Schoenmakers 2006-11-11 12:08:41 UTC
SVN commit 604038 by bram:

Make the reminder dialog somewhat more usable when working with they keyboard. No strange focus switching with up-down arrows in the spin box for example. And added an accelerator for the interval spin box.


 M  +2 -5      alarmdialog.cpp  

--- branches/KDE/3.5/kdepim/korganizer/korgac/alarmdialog.cpp #604037:604038
@@ -73,9 +73,10 @@
   suspendBox->setSpacing( spacingHint() );
   topLayout->addWidget( suspendBox );
-  new QLabel( i18n("Suspend duration:"), suspendBox );
+  QLabel *l = new QLabel( i18n("Suspend &duration:"), suspendBox );
   mSuspendSpin = new QSpinBox( 1, 9999, 1, suspendBox );
   mSuspendSpin->setValue( 5 );  // default suspend duration
+  l->setBuddy( mSuspendSpin );
   mSuspendUnit = new KComboBox( suspendBox );
   mSuspendUnit->insertItem( i18n("minute(s)") );
@@ -83,10 +84,6 @@
   mSuspendUnit->insertItem( i18n("day(s)") );
   mSuspendUnit->insertItem( i18n("week(s)") );
-  connect( mSuspendSpin, SIGNAL( valueChanged(int) ), actionButton(User1), SLOT( setFocus() ) );
-  connect( mSuspendUnit, SIGNAL( activated(int) ), actionButton(User1), SLOT( setFocus() ) );
-  connect( mSuspendUnit, SIGNAL( activated(int) ), actionButton(User2), SLOT( setFocus() ) );
   // showButton( User2/*3*/, false );
   setMinimumSize( 300, 200 );