diff -uNr kdevelop.org/lib/kwrite/kwview.cpp kdevelop/lib/kwrite/kwview.cpp --- kdevelop.org/lib/kwrite/kwview.cpp Tue May 22 10:15:25 2001 +++ kdevelop/lib/kwrite/kwview.cpp Tue May 22 10:21:46 2001 @@ -1512,6 +1512,58 @@ } } +// by bumchul +bool KWriteView::event( QEvent* e ) +{ + if ( !QWidget::event(e) ) { + if ( e->type() == QXIMDRAWEVENT) { + return xim_preedit_draw( (QXIMDrawEvent*)e ); + } + else if( e->type() == QXIMSTARTEVENT) { + return xim_preedit_start( (QXIMStartEvent*)e ); + } + else if( e->type() == QXIMDONEEVENT) { + return xim_preedit_done( (QXIMDoneEvent*)e ); + } + return FALSE; + } else { + return TRUE; + } +} + +bool KWriteView::xim_preedit_start(QXIMStartEvent* e) +{ + //debug("KWriteView::xim_preedit_start"); + return TRUE; +} + +bool KWriteView::xim_preedit_draw(QXIMDrawEvent* e) +{ + VConfig c; + + getVConfig(c); + int chg_first = e->getChangeFirst(); + int chg_length = e->getChangeLength(); + QString str = e->getString(); + + setUpdatesEnabled( FALSE ); + for(int i = 0; ibackspace(c); + } + kWriteDoc->insertChars(c, str); + + dispatchKeyPressEvent(); + + setUpdatesEnabled( TRUE ); + kWriteDoc->updateViews(); + + return TRUE; +} +bool KWriteView::xim_preedit_done(QXIMDoneEvent* e) +{ + //debug("KWriteView::xim_preedit_done"); + return TRUE; +} KWBookmark::KWBookmark() { cursor.y = -1; //mark bookmark as invalid diff -uNr kdevelop.org/lib/kwrite/kwview.h kdevelop/lib/kwrite/kwview.h --- kdevelop.org/lib/kwrite/kwview.h Tue May 22 10:15:25 2001 +++ kdevelop/lib/kwrite/kwview.h Tue May 22 10:16:41 2001 @@ -39,6 +39,9 @@ #include #include "kwriteIface.h" +// by bumchul +#include + class KAction; class KToggleAction; class KRecentFilesAction; @@ -258,6 +261,14 @@ signals: // emitted when KWriteView is not handling its own URI drops void dropEventPass(QDropEvent*); + + // by bumchul OnTheSpot functions + protected: + bool event( QEvent * ); + public: + bool xim_preedit_start(QXIMStartEvent* e); + bool xim_preedit_draw(QXIMDrawEvent* e); + bool xim_preedit_done(QXIMDoneEvent* e); }; class KWBookmark {