[immodule-qt] Slave qt immodule support and dead key issue

LiuCougar liucougar at gmail.com
Sat Jul 17 19:38:34 EEST 2004


Thanks for your work

My comment about this patch:
about qinputcontext:
I think inputMethodName() is no better than the original name(),
because as you know in uim-qimm, that is input method name, but in
scim-qtimm, there is only one name "SCIM", so I think a more generic
name() function is better ;)

about multcontext:
1. maybe we should take x11FilterEvent into account too, for some
inputcontext uses it rather than filterEvent (such as the latest
scim-qtimm ;)
2. connect signal imEventGenerated to multicontext signal
imEventGenerated directly would be better

Regards,
Cougar

On Sat, 17 Jul 2004 19:43:48 +0900, YamaKen <yamaken at bp.iij4u.or.jp> wrote:
> Hi,
> 
> At Fri, 16 Jul 2004 16:18:15 +0000,
> liucougar at gmail.com wrote:
> > On Sat, 17 Jul 2004 00:26:03 +0900, YamaKen <yamaken at bp.iij4u.or.jp> wrote:
> > > I also agree with you. But I've found a API design error that
> > > prevents implementing slave context.
> > >
> > > The problem is the tight relationship between QWidget and
> > > QInputContext via QIMEvent and focusWidget. Current
> > > implementation is preventing multiplexing and proxying plural
> > > contexts. The problem is also preventing implementing an
> > > im-switcher that switches between qt-immodules (like
> > > gtkimmulticontext).
> > Yes, I think this is the real problem too. Maybe we need another proxy
> > abstract level?
> 
> I think that the API should be modified to enable ordinary proxy
> model.
> 
> > > I'm investigating how to resolve it.
> > What's your idea?
> 
> I've written an experimental patch and immodule-switcher. Please
> review attached patch. The changes are following.
> 
> 1. Use signal to deliver QIMEvent instead of explicit
>    postEvent(). This enables QIMEvent proxying and better
>    platform abstraction. Corresponding slot is created as
>    QApplication::imEventReceived().
> 
> 2. Move some methods of QInputContext to public from protected
>    or private. This enables that proxy-IM can access slave
>    methods.
> 
> 3. Make some methods of QInputContext virtual. This enables
>    overriding the methods as proxy
> 
> This patch does not break binary compatibility from vanilla Qt3.
> But it costs immodule developer small modification. See second
> patch for QtUim as example.
> 
> Since QMultiInputContext is just a prototype implementation, I
> hope that someone completes it as usable :)
> 
> -------------------------------
> 
> 
> YamaKen  yamaken at bp.iij4u.or.jp
> 
> 
>



More information about the immodule-qt mailing list