diff -uNr kdebase.org/kate/view/kateview.cpp kdebase/kate/view/kateview.cpp --- kdebase.org/kate/view/kateview.cpp Thu May 17 12:14:17 2001 +++ kdebase/kate/view/kateview.cpp Thu May 17 14:26:29 2001 @@ -1327,6 +1327,61 @@ } } + +// by bumchul +bool KateViewInternal::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 KateViewInternal::xim_preedit_start(QXIMStartEvent* e) +{ + //debug("KWriteView::xim_preedit_start"); + return TRUE; +} + +bool KateViewInternal::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); + } + myDoc->insertChars(c, str); + + dispatchKeyPressEvent(); + + setUpdatesEnabled( TRUE ); + myDoc->updateViews(); + + return TRUE; +} + +bool KateViewInternal::xim_preedit_done(QXIMDoneEvent* e) +{ + //debug("KWriteView::xim_preedit_done"); + return TRUE; +} + uint KateView::uniqueID = 0; KateView::KateView(KateDocument *doc, QWidget *parent, const char * name) : Kate::View (doc, parent, name), DCOPObject( (QString("KateView%1-%2").arg(doc->docID()).arg(uniqueID)).latin1()) @@ -3375,6 +3430,4 @@ break; } } - - diff -uNr kdebase.org/kate/view/kateview.h kdebase/kate/view/kateview.h --- kdebase.org/kate/view/kateview.h Thu May 17 12:14:17 2001 +++ kdebase/kate/view/kateview.h Thu May 17 14:27:18 2001 @@ -51,6 +51,9 @@ #include "kateviewIface.h" +// by bumchul +#include + class KToggleAction; class KActionMenu; class KAction; @@ -281,6 +284,14 @@ signals: // emitted when KateViewInternal 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); }; /**