summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2003-07-08 10:12:26 (UTC)
committer mickeyl <mickeyl>2003-07-08 10:12:26 (UTC)
commit86cfa9479c119d581808f53f7b46e9cfeb127ccd (patch) (side-by-side diff)
tree615df0595ee711c8d479dd9b3be5d19d9deee20e
parent7fed22ccbc1272fe0c5fb1c7f47bc330f118b854 (diff)
downloadopie-86cfa9479c119d581808f53f7b46e9cfeb127ccd.zip
opie-86cfa9479c119d581808f53f7b46e9cfeb127ccd.tar.gz
opie-86cfa9479c119d581808f53f7b46e9cfeb127ccd.tar.bz2
make inputmethods half the desktop width on the SIMpad
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/launcher/inputmethods.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/core/launcher/inputmethods.cpp b/core/launcher/inputmethods.cpp
index 765dfe9..09b9a83 100644
--- a/core/launcher/inputmethods.cpp
+++ b/core/launcher/inputmethods.cpp
@@ -243,75 +243,79 @@ void InputMethods::chooseKbd()
int i = 0;
QValueList<InputMethod>::Iterator it;
for ( it = inputMethodList.begin(); it != inputMethodList.end(); ++it, i++ ) {
pop.insertItem( (*it).interface->name(), i );
if ( method == &(*it) )
pop.setItemChecked( i, TRUE );
}
QPoint pt = mapToGlobal(kbdChoice->geometry().topRight());
QSize s = pop.sizeHint();
pt.ry() -= s.height();
pt.rx() -= s.width();
i = pop.exec( pt );
if ( i == -1 )
return;
InputMethod *im = &inputMethodList[i];
chooseMethod(im);
}
void InputMethods::chooseMethod(InputMethod* im)
{
if ( im != method ) {
if ( method && method->widget->isVisible() )
method->widget->hide();
method = im;
Config cfg("qpe");
cfg.setGroup("InputMethod");
cfg.writeEntry("current", method->interface->name());
kbdButton->setPixmap( *method->interface->icon() );
}
if ( !kbdButton->isOn() )
kbdButton->setOn( TRUE );
else
showKbd( TRUE );
}
void InputMethods::showKbd( bool on )
{
if ( !method )
return;
if ( on ) {
method->interface->resetState();
// HACK... Make the texteditor fit with all input methods
// Input methods should also never use more than about 40% of the screen
int height = QMIN( method->widget->sizeHint().height(), 134 );
+ #ifdef QT_QWS_SIMPAD
+ method->widget->resize( qApp->desktop()->width() / 2, height ); // make it half the width on the SIMpad
+ #else
method->widget->resize( qApp->desktop()->width(), height );
+ #endif
method->widget->move( 0, mapToGlobal( QPoint() ).y() - height );
method->widget->show();
} else {
method->widget->hide();
}
emit inputToggled( on );
}
bool InputMethods::shown() const
{
return method && method->widget->isVisible();
}
QString InputMethods::currentShown() const
{
return method && method->widget->isVisible()
? method->interface->name() : QString::null;
}
void InputMethods::sendKey( ushort unicode, ushort scancode, ushort mod, bool press, bool repeat )
{
#if defined(Q_WS_QWS)
QWSServer::sendKeyEvent( unicode, scancode, mod, press, repeat );
#endif
}