Revision: 6233
Author: nogu.dev
Date: Sat Mar  6 15:42:04 2010
Log: * qt4/candwin/qt4.cpp
  - (CandidateWindow::CandidateWindow, CandidateWindow::strParse,
     CandidateWindow::setIndex): Disable auto scroll in table widget.
    This commit is a true fix for a bug in selecting a cell
    and also removes the workaround added in r6217 and r6225.
* qt4/immodule/candidatewindow.cpp
  - (CandidateWindow::CandidateWindow, CandidateWindow::setIndex,
     CandidateWindow::setIndexInPage, CandidateWindow::shiftPage): Ditto.
http://code.google.com/p/uim/source/detail?r=6233

Modified:
 /trunk/qt4/candwin/qt4.cpp
 /trunk/qt4/immodule/candidatewindow.cpp

=======================================
--- /trunk/qt4/candwin/qt4.cpp  Fri Mar  5 06:02:37 2010
+++ /trunk/qt4/candwin/qt4.cpp  Sat Mar  6 15:42:04 2010
@@ -90,6 +90,7 @@
     cList->verticalHeader()->hide();
     cList->setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
     cList->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
+    cList->setAutoScroll( false );
     cList->setShowGrid( false );
     cList->setMinimumWidth( MIN_CAND_WIDTH );
     connect( cList, SIGNAL( cellClicked( int, int ) ),
@@ -421,7 +422,6 @@

 void CandidateWindow::slotCandidateSelected( int row )
 {
-    cList->scrollToItem( cList->item( row, 0 ) );
     candidateIndex = ( pageIndex * displayLimit ) + row;

     // write message
@@ -570,7 +570,6 @@
         {
             cList->clearSelection();
             cList->selectRow( pos );
-            cList->scrollToItem( cList->item( pos, 0 ) );
         }
     }
     else
=======================================
--- /trunk/qt4/immodule/candidatewindow.cpp     Fri Mar  5 06:02:52 2010
+++ /trunk/qt4/immodule/candidatewindow.cpp     Sat Mar  6 15:42:04 2010
@@ -80,6 +80,7 @@
     cList->verticalHeader()->hide();
     cList->setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
     cList->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
+    cList->setAutoScroll( false );
     cList->setShowGrid( false );
     cList->setMinimumWidth( MIN_CAND_WIDTH );
     connect( cList, SIGNAL( cellClicked( int, int ) ),
@@ -369,7 +370,6 @@
         {
             cList->clearSelection();
             cList->selectRow( pos );
-            cList->scrollToItem( cList->item( pos, 0 ) );
         }
     }
     else
@@ -391,7 +391,6 @@

 void CandidateWindow::slotCandidateSelected( int row )
 {
-    cList->scrollToItem( cList->item( row, 0 ) );
     candidateIndex = ( pageIndex * displayLimit ) + row;
     if ( ic && ic->uimContext() )
         uim_set_candidate_index( ic->uimContext(), candidateIndex );
@@ -426,7 +425,6 @@
         cList->clearSelection();
int idx = displayLimit ? candidateIndex % displayLimit : candidateIndex;
         cList->selectRow( idx );
-        cList->scrollToItem( cList->item( idx, 0 ) );
     }
     if ( ic && ic->uimContext() && candidateIndex != -1 )
         uim_set_candidate_index( ic->uimContext(), candidateIndex );

Reply via email to