[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdelibs/kate/part
From:       Kazuki Ohta <mover () hct ! zaq ! ne ! jp>
Date:       2005-01-30 16:46:12
Message-ID: 20050130164612.0966E1CE7C () office ! kde ! org
[Download RAW message or body]

CVS commit by kzk: 

- set cursor position correctly in accordance with e->cursorPos();
- cleaning up the InputMethod related code.


  M +19 -11    kateviewinternal.cpp   1.335


--- kdelibs/kate/part/kateviewinternal.cpp  #1.334:1.335
@@ -3118,20 +3118,28 @@ void KateViewInternal::imComposeEvent( Q
   }
 
+  // remove old preedit
   if ( m_imPreeditLength > 0 ) {
-    m_doc->removeText( cursor.line(), m_imPreeditStart,
-                       cursor.line(), m_imPreeditStart + m_imPreeditLength );
+    cursor.setPos( m_imPreeditStartLine, m_imPreeditStart );
+    m_doc->removeText( m_imPreeditStartLine, m_imPreeditStart,
+                       m_imPreeditStartLine, m_imPreeditStart + m_imPreeditLength );
   }
 
-  m_doc->setIMSelectionValue( m_imPreeditStartLine, m_imPreeditStart, \
                m_imPreeditStart + e->text().length(),
-                              m_imPreeditStart + e->cursorPos(), m_imPreeditStart + \
e->cursorPos() + e->selectionLength(), +  m_imPreeditLength = e->text().length();
+  m_imPreeditSelStart = m_imPreeditStart + e->cursorPos();
+
+  // update selection
+  m_doc->setIMSelectionValue( m_imPreeditStartLine, m_imPreeditStart, \
m_imPreeditStart + m_imPreeditLength, +                              \
m_imPreeditSelStart, m_imPreeditSelStart + e->selectionLength(),  true );
 
-  m_doc->insertText( cursor.line(), cursor.col(), e->text() );
+  // insert new preedit
+  m_doc->insertText( m_imPreeditStartLine, m_imPreeditStart, e->text() );
 
-  updateView( true );
+
+  // update cursor
+  cursor.setPos( m_imPreeditStartLine, m_imPreeditSelStart );
   updateCursor( cursor, true );
 
-  m_imPreeditLength = e->text().length();
-  m_imPreeditSelStart = m_imPreeditStart + e->cursorPos();
+  updateView( true );
 }
 
@@ -3144,6 +3152,7 @@ void KateViewInternal::imEndEvent( QIMEv
 
   if ( m_imPreeditLength > 0 ) {
-    m_doc->removeText( cursor.line(), m_imPreeditStart,
-                       cursor.line(), m_imPreeditStart + m_imPreeditLength );
+    cursor.setPos( m_imPreeditStartLine, m_imPreeditStart );
+    m_doc->removeText( m_imPreeditStartLine, m_imPreeditStart,
+                       m_imPreeditStartLine, m_imPreeditStart + m_imPreeditLength );
   }
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic