let the keyboard reasonably control the browser window
authorDiane Trout <diane@caltech.edu>
Thu, 25 May 2006 23:33:43 +0000 (23:33 +0000)
committerDiane Trout <diane@caltech.edu>
Thu, 25 May 2006 23:33:43 +0000 (23:33 +0000)
Set tab order, single step size and page step size to make interacting with
the glseqbrowser from the keyboard a bit more pleasant.

qui/MussaAlignedWindow.cpp
qui/seqbrowser/ScrollableSequenceBrowser.cpp

index e789f0c2aebf1165ba983ab63e6af9485a57e757..255b74f5f2e0feb14178eddac5a26d609698c55e 100644 (file)
@@ -27,6 +27,8 @@ MussaAlignedWindow::MussaAlignedWindow(Mussa& m,
   zoom.setValue(zoom_level);
   computeMatchLines();
   setupMenus();
+  
+  setCentralWidget(&browser);
 
   addToolBar(&alignTB);
   alignTB.addWidget(&zoom);
@@ -34,7 +36,6 @@ MussaAlignedWindow::MussaAlignedWindow(Mussa& m,
   connect(&zoom, SIGNAL(valueChanged(double)), 
           &browser, SLOT(setZoom(double)));
  
-  setCentralWidget(&browser);
 
   //Save pixel map action
   saveBrowserPixmapAction = new QAction(tr("Save to image..."), this);
index b379d4f6f07c9bbf42b7f8363e70e76b968718b8..ab4ce603b1a65ac938c1b0d11eef186becf64b74 100644 (file)
@@ -21,6 +21,9 @@ ScrollableSequenceBrowser::ScrollableSequenceBrowser(QWidget *parent) :
 
   // sets range & scale
   updateScrollBar();
+
+  // enble keyboard input
+  viewportBar.setFocusPolicy(Qt::StrongFocus);
 }
 
 void ScrollableSequenceBrowser::updateScrollBar()
@@ -29,6 +32,10 @@ void ScrollableSequenceBrowser::updateScrollBar()
   viewportBar.setRange((int)sequence_browser.left(), 
                        (int)sequence_browser.right());
   viewportBar.setValue(thumb);
+  viewportBar.setPageStep(static_cast<int>(sequence_browser.viewportWidth()));
+  int step_size = static_cast<int>(sequence_browser.zoom());
+  step_size = step_size > 1 ? step_size : 1;
+  viewportBar.setSingleStep(static_cast<int>( step_size ));
 }
 
 void ScrollableSequenceBrowser::setViewportCenter(int x)