diff -ur qt-x11-free-3.0.3.orig/src/kernel/qapplication_x11.cpp qt-x11-free-3.0.3/src/kernel/qapplication_x11.cpp
--- qt-x11-free-3.0.3.orig/src/kernel/qapplication_x11.cpp Mon Mar 18 18:46:12 2002
+++ qt-x11-free-3.0.3/src/kernel/qapplication_x11.cpp Sun Apr 7 23:05:31 2002
@@ -1501,6 +1501,19 @@
p = strrchr( argv[0], '/' );
appName = p ? p + 1 : argv[0];
+ // Read global settings file
+#if !defined(QT_NO_XIM)
+ QString ximInputStyle = QSettings().readEntry( "/qt/XIMInputStyle", QObject::trUtf8( "On The Spot" ) );
+ if ( ximInputStyle == "On The Spot" )
+ xim_preferred_style = XIMPreeditCallbacks | XIMStatusNothing;
+ else if ( ximInputStyle == "Over The Spot" )
+ xim_preferred_style = XIMPreeditPosition | XIMStatusNothing;
+ else if ( ximInputStyle == "Off The Spot" )
+ xim_preferred_style = XIMPreeditArea | XIMStatusArea;
+ else if ( ximInputStyle == "Root" )
+ xim_preferred_style = XIMPreeditNothing | XIMStatusNothing;
+#endif // !QT_NO_XIM
+
// Get command line params
j = 1;
@@ -3382,7 +3395,7 @@
if ( inPopupMode() ) // no focus widget, see if we have a popup
keywidget = (QETWidget*) activePopupWidget();
else if ( widget )
- keywidget = (QETWidget*)widget->topLevelWidget();
+ keywidget = widget->focusWidget()?(QETWidget*)widget->focusWidget():widget;
}
}
}
Only in qt-x11-free-3.0.3/src/kernel: qapplication_x11.cpp~
diff -ur qt-x11-free-3.0.3.orig/tools/qtconfig/mainwindow.cpp qt-x11-free-3.0.3/tools/qtconfig/mainwindow.cpp
--- qt-x11-free-3.0.3.orig/tools/qtconfig/mainwindow.cpp Fri Jan 11 23:44:14 2002
+++ qt-x11-free-3.0.3/tools/qtconfig/mainwindow.cpp Sun Apr 7 00:33:43 2002
@@ -566,6 +566,13 @@
rtlExtensions->setChecked( settings.readBoolEntry( "/qt/useRtlExtensions", FALSE ) );
#ifdef Q_WS_X11
+ inputStyle->setCurrentText( settings.readEntry( "/qt/XIMInputStyle", trUtf8( "On The Spot" ) ) );
+#else
+ inputStyle->hide();
+ inputStyleLabel->hide();
+#endif
+
+#ifdef Q_WS_X11
xftcheckbox->setChecked( settings.readBoolEntry( "/qt/enableXft", TRUE ) );
if ( xftcheckbox->isChecked() ) {
aacheckbox->setEnabled( TRUE );
@@ -650,6 +657,18 @@
settings.writeEntry("/qt/useRtlExtensions", rtlExtensions->isChecked() );
+#ifdef Q_WS_X11
+ QString style = inputStyle->currentText();
+ QString str = "On The Spot";
+ if ( style == trUtf8( "Over The Spot" ) )
+ str = "Over The Spot";
+ else if ( style == trUtf8( "Off The Spot" ) )
+ str = "Off The Spot";
+ else if ( style == trUtf8( "Root" ) )
+ str = "Root";
+ settings.writeEntry( "/qt/XIMInputStyle", inputStyle->currentText() );
+#endif
+
QStringList effects;
if (effectcheckbox->isChecked()) {
effects << "general";
diff -ur qt-x11-free-3.0.3.orig/tools/qtconfig/mainwindowbase.ui qt-x11-free-3.0.3/tools/qtconfig/mainwindowbase.ui
--- qt-x11-free-3.0.3.orig/tools/qtconfig/mainwindowbase.ui Tue Dec 18 03:45:46 2001
+++ qt-x11-free-3.0.3/tools/qtconfig/mainwindowbase.ui Sun Apr 7 00:34:02 2002
@@ -673,7 +673,7 @@
Interface
-
+
unnamed
@@ -683,7 +683,7 @@
4
-
+
GroupBox4
@@ -785,7 +785,7 @@
-
+
GroupBox3
@@ -917,6 +917,9 @@
menueffect
+
+ 0
+
true
@@ -925,7 +928,7 @@
-
+
GroupBox5
@@ -988,7 +991,7 @@
-
+
rtlExtensions
@@ -996,7 +999,7 @@
Enhanced support for languages written right-to-left
-
+
Spacer5
@@ -1013,7 +1016,43 @@
-
+
+
+ inputStyleLabel
+
+
+ XIM Input Style:
+
+
+
+ -
+
+ On The Spot
+
+
+ -
+
+ Over The Spot
+
+
+ -
+
+ Off The Spot
+
+
+ -
+
+ Root
+
+
+
+ inputStyle
+
+
+ 0
+
+
+
@@ -1386,7 +1425,7 @@
0
0
- image0
+ image1
@@ -1449,6 +1488,9 @@
+ 789c6dd2c10ac2300c00d07bbf2234b7229d1be245fc04c5a3201e4615f430059d0711ff5ddb2e6bb236ec90eed134cb5a19d8ef36602af5ecdbfeeac05dda0798d3abebde87e3faa374d3807fa0d633a52d38d8de6f679fe33fc776e196f53cd010188256a3600a292882096246517815ca99884606e18044a3a40d91824820924265a7923a2e8bcd05f33db1173e002913175f2a6be6d3294871a2d95fa00e8a94ee017b69d339d90df1e77c57ea072ede6758
+
+
789cd3d7528808f055d0d2e72a2e492cc94c5648ce482c52d04a29cdcdad8c8eb5ade6523250004143a55a6b2e0026630c4f
@@ -1741,6 +1783,12 @@
MainWindowBase
somethingModified()
+
+ inputStyle
+ activated(const QString&)
+ MainWindowBase
+ somethingModified()
+
helpview
@@ -1773,6 +1821,9 @@
sublistbox
libpathlistbox
+
+ mainwindowbase.ui.h
+
init()
destroy()
@@ -1786,20 +1837,20 @@
downFontpath()
downLibpath()
downSubstitute()
- familySelected(const QString &)
+ familySelected( const QString & )
fileExit()
fileSave()
helpAbout()
helpAboutQt()
new_slot()
- pageChanged(QWidget *)
- paletteSelected(int)
+ pageChanged( QWidget * )
+ paletteSelected( int )
removeFontpath()
removeLibpath()
removeSubstitute()
somethingModified()
- styleSelected(const QString &)
- substituteSelected(const QString &)
+ styleSelected( const QString & )
+ substituteSelected( const QString & )
tunePalette()
upFontpath()
upLibpath()