Hi Lúcio,

> I'm using Qt for Windows CE 4.4.3, and I'm having some problems with
> the SIP (Simple Input Panel).
> 
> When I click on a QLineEdit, the SIP is not shown, like the default
> LineEdit in Windows CE do.

This isn't implemented in Qt 4.4.x but is already done for Qt 4.5.x.
We will provide a QApplication property "autoSipEnabled" to turn on the 
SIP behaviour you're describing.
For now, overriding focusInEvent and focusOutEvent should work.

You also could change src/gui/inputmethod/qwininputcontext_win.cpp to 
show the SIP for all widgets:

inline void enableIme(QWidget *w,  bool value)
{
     if (value) {
         // enable ime
         if (defaultContext)
             ImmAssociateContext(w->effectiveWinId(), defaultContext);
#ifdef Q_OS_WINCE
        // show SIP here
#endif
     } else {
         // disable ime
         HIMC oldimc = ImmAssociateContext(w->effectiveWinId(), 0);
         if (!defaultContext)
             defaultContext = oldimc;
#ifdef Q_OS_WINCE
        // hide SIP here
#endif
     }
}

> I tried to re implement the focusInEvent()  and make a call to
> SipShowIM(SIPF_ON), but sometimes the event is not triggered.
> 
> The same thing happens with the lostFocus() event.

You're sure that the focus events get lost?
Then this is a bug. Could you provide example code to reproduce this 
false behaviour?


Best Regards,

Jörg

-- 
Joerg Bornemann
Software Developer
Nokia, Qt Software
Rudower Chaussee 13, 12489 Berlin, Germany
_______________________________________________
Qt-wince-interest mailing list
[email protected]
http://lists.trolltech.com/mailman/listinfo/qt-wince-interest

Reply via email to