summaryrefslogtreecommitdiffstats
path: root/ChangeLog.immodule
blob: 379d51863ddcc55d8b4b4e78ba160b878c1132ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2004-09-10  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* changes.immodule
	  - Describe a bugfix
	
2004-09-10  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* src/inputmethod/qinputcontextinterface_p.h
	  - Update UUID of QInputContextFactory in accordance with API change
	    of QInputContext to avoid loading old invalid plugins
	
2004-09-10  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* README.immodule
	  - Add 'About this release' section
	  - Update version information
	  - Update to follow the change of configure options
	  - Modify some English expressions
	
	* changes.immodule
	  - Move release information to README.immodule
	  - Add differences from previous release
	  - Add description about incremental change indication
	
	* ChangeLog.immodule
	  - Update
	
2004-09-09  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* src/kernel/qapplication.cpp
	  - (removePostedEvents):
	    * Fix infinite loop condition
	    * delete receiver->postedEvents if the list has been empty
	
2004-09-09  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* This commit backports some code fragments from Qt4 branch to make
	  input method plugins source compatible with Qt4.
	
	* src/kernel/qinputcontext.cpp
	  - (QInputContext): Add 'parent' arg
	
	* src/kernel/qinputcontext.h
	  - Exclude qptrlist.h when compile with Qt4
	  - (struct QInputContextMenu): Exclude member variables when compile
	    with Qt4
	  - (QInputContext): Add 'parent' arg
	  - (addActionsTo): New function for Qt4
	
2004-09-08  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* This commit renames input method module from 'input' to 'inputmehod'
	  because the name 'input' is too generic to indicate its function
	
	* configure
	  - Replace configuration options '-im' and '-im-ext' with
	    '-inputmethod' and '-inputmethod-ext' to be consistent with the
	    name of input method module subdirectory 'inputmethod'
	  - Rename the module name 'input' with 'inputmethod'
	
	* src/qt.pro
	  - Rename the module name 'input' with 'inputmethod'
	  - Rename some variable names inaccordance with the renaming of the
	    module
	  - Replace 'qt_input.pri' with 'qt_inputmethod.pri' in accordance
	    with the renaming of the file
	
	* src/inputmethod/qt_input.pri
	  - Rename to qt_inputmethod.pri
	* src/inputmethod/qt_input.pri
	  - Renamed from qt_input.pri
	  - Replace module names
	  - Rename some variable names inaccordance with the renaming of the
	    module
	
2004-09-08  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* Rename input module subdirectory from "input" to "inputmethod"
	
2004-09-08  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* This commit contains following issues
	  - An API change. Return type of QInputContext::identifierName and
	    QInputContext::language has been changed from QCString which is
	    deprecated in Qt4 to QString to make plugins source compatible
	    with Qt4.
	  - Other backports from Qt4 branch
	  - Fix event receiving order inversion between QKeyEvent and
	    QIMEvent. The code is implemented based on Cougar's and
	    Kazuki's. Thank you the efforts. See following discussion for
	    further information.
	    http://freedesktop.org/pipermail/immodule-qt/2004-September/000447.html
	    http://freedesktop.org/pipermail/immodule-qt/2004-September/000497.html
	
	* src/kernel/qinputcontext.h
	  - (identifierName, language): Change return type from QCString to QString
	  - (addMenusTo): Make Qt3 specific
	* src/kernel/qinputcontext.cpp
	  - (identifierName):
	    * Change return type from QCString to QString
	    * Modify the function description comment
	  - (language): Change return type from QCString to QString
	
	* src/kernel/qwidget.cpp
	  - (clearFocus): Enclose immodule specific code by #if
	    defined(Q_WS_X11)
	
	* src/kernel/qapplication.h
	  - Add 'class QIMEvent' declaration
	  - (removePostedEvents): New overriding function
	* src/kernel/qapplication_x11.cpp
	  - Remove redundant 'class QInputContext' declaration
	  - (postIMEvent): Fix the event receiving order inversion problem
	  - (x11_apply_settings): Replace QString::find() which is deprecated
	    in Qt4 with QString::startsWith()
	  - (postEvent): Fix invalid QIMEvent compression that ignores IMStart
	    boundary
	  - (removePostedEvents): Original version of the function. Replace
	    the implementation with 2-args version. The behavior is not
	    changed
	  - (removePostedEvents): New overriding function. This function only
	    removes events that has specified event type. The implementation
	    is copied from original version of the function and modified to
	    accept event_type. This function is retquired by postIMEvent()
	  - (setActiveWindow): Enclose immodule specific code by #if
	    defined(Q_WS_X11)
	
	* src/input/qinputcontextinterface_p.h
	  - Modify a coding style to follow Trolltech's one for Qt3
	
	* src/input/qinputcontextplugin.h
	  - Fix typos in comment
	* src/input/qinputcontextplugin.cpp
	  - (keys, QInputContextPlugin, ~QInputContextPlugin): Modify the
	    function description comment
	
	* src/input/qinputcontextfactory.h
	  - Remove #include "qinputcontext.h" to reduce compilation dependency
	  - Add 'class QWidget' declaration
	  - Remove inappropriate #ifndef QT_NO_STRINGLIST. QStringList is now
	    retquired feature for immodule. See also changes of qfeatures.h
	* src/input/qinputcontextfactory.cpp
	  - Add #include "qinputcontext.h"
	  - Remove unnecessary #include "qpopupmenu.h"
	  - Remove inappropriate #ifndef QT_NO_STRINGLIST. QStringList is now
	    retquired feature for immodule. See also changes of qfeatures.h
	
	* src/tools/qfeatures.h
	  - Define QT_NO_IM if QT_NO_STRINGLIST is defined
	  - Define QT_NO_IM_EXTENSIONS if QT_NO_IM or QT_NO_STRINGLIST is
	    defined
	
	* plugins/src/inputmethods/inputmethods.pro
	  - Rename conditional configuration symbol from "im" to "inputmethod"
	    inaccordance with chanege of configure script
	
	* plugins/src/inputmethods/simple/qsimpleinputcontext.h
	* plugins/src/inputmethods/simple/qsimpleinputcontext.cpp
	* plugins/src/inputmethods/imsw-multi/qmultiinputcontext.h
	  - (identifierName, language): Change return type from QCString to
	    QString
	
	* plugins/src/inputmethods/imsw-multi/qmultiinputcontext.cpp
	  - (identifierName, language): Change return type from QCString to
	    QString
	  - (createImSelPopup): Replace QString::find() which is deprecated in
	    Qt4 with QString::startsWith()
	
	* plugins/src/inputmethods/imsw-none/qnoneinputcontextplugin.cpp
	  - (create): Replace QString::find() which is deprecated in Qt4 with
	    QString::startsWith()
	
	* plugins/src/inputmethods/xim/qximinputcontext.h
	  - (language): Change return type from QCString to QString
	  - (identifierName):
	    * Change return type from QCString to QString
	    * Move inline implementation to qximinputcontext_x11.cpp
	* plugins/src/inputmethods/xim/qximinputcontext_x11.cpp
	  - (language): Change return type from QCString to QString
	  - (identifierName):
	    * Change return type from QCString to QString
	    * Move implementation from qximinputcontext.h
	  - (language): Replace QString::find() which is deprecated in Qt4 with
	    QString::startsWith()
	
2004-08-19  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* src/input/qinputcontextfactory.cpp
	  - (keys): Modify the function description comment
	
2004-08-18  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* src/input/qinputcontextfactory.cpp
	  - (create_manager): Fix plugin directory from "/input" to "/inputmethods"
	
2004-08-18  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* src/kernel/qapplication_x11.cpp
	  - (KeyTbl): Add translations for Japanese and Korean alias keys
	
2004-08-18  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* This commit disables default IM configuration feature using qtrc and
	  qtconfig in BC mode. See following discussion for further
	  information.
	  http://freedesktop.org/pipermail/immodule-qt/2004-August/000416.html
	
	* src/kernel/qapplication_x11.cpp
	  - (x11_apply_settings): 
	    * Move immodule handling into #ifndef QT_NO_IM rather than QT_NO_XIM
	    * Move qtrc handling into #ifndef QT_NO_IM_EXTENSIONS
	
	* src/inputmethods/imsw-multi/qmultiinputcontext.cpp
	  - (QMultiInputContext): Move qtrc handling into #ifndef
	    QT_NO_IM_EXTENSIONS
	
	* tools/qtconfig/mainwindow.cpp
	  - (MainWindow): Move qtrc handling into #ifndef QT_NO_IM_EXTENSIONS
	
	* src/kernel/qt_x11.pri
	  - Remove unnecessary configuration
	
2004-08-18  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	Merge differences between qt-x11-free-3.3.2 and qt-x11-free-3.3.3
	
2004-08-18  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* plugins/src/inputmethods/imsw-multi/imsw-multi.pro
	* plugins/src/inputmethods/simple/simple.pro
	* plugins/src/inputmethods/imsw-none/imsw-none.pro
	* plugins/src/inputmethods/xim/xim.pro
	  - Remove inappropriate 'thread' from CONFIG. Thanks to Takumi
	    Asaki for reporting
	
2004-08-18  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* tools/qtconfig/mainwindow.cpp
	  - (MainWindow): Modify a comment
	  - (fileSave): Fix inappropriate /qt/DefaultInputMethodSwitcher
	    overwriting. Thanks Takumi Asaki for the reporting
	
2004-08-17  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* plugins/src/inputmethods/imsw-multi/imsw-multi.pro
	* plugins/src/inputmethods/simple/simple.pro
	* plugins/src/inputmethods/imsw-none/imsw-none.pro
	* plugins/src/inputmethods/xim/xim.pro
	  - Change plugin directory from $QTDIR/plugins/input/ to
	    $QTDIR/plugins/inputmethods/
	* changes.immodule
	  - Add a description for the change of plugin directory
	
2004-08-17  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* src/kernel/qnamespace.h
	  - (Qt::Key) Add a comment about Korean-specific keyboard
	    support based on the information from Choe Hwanjin. Thanks
	    for the information. See following discussion for further
	    information
	    http://freedesktop.org/pipermail/immodule-qt/2004-August/000402.html
	  - (Qt::Key) Comment out some Korean-specific keys that has an
	    equivalent generic key
	
2004-08-14  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* This is preparation for qt-x11-immodule-unified-qt3.3.2-20040814
	
	* ChangeLog.immodule
	  - Update
	
2004-08-14  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* changes.immodule
	  - Add and modify some descriptions
	
	* configure
	  - Rewrite some codes to avoid patch rejection against Qt
	    3.3.3. Logically equivalent.
	* src/widgets/qtextedit.cpp
	  - Rewrite some codes to avoid patch rejection against Qt
	    3.3.3. Logically equivalent.
	* src/widgets/qlineedit.cpp
	  - Rewrite some codes to avoid patch rejection against Qt
	    3.3.3. Logically equivalent.
	
2004-08-13  LiuCougar  <liucougar@gmail.com>
	
	cleanup: get rid of some warnings
2004-08-12  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* changes.immodule
	  - New file. This file has been written for both users and
	    developers to inform important changes
	
2004-08-12  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* This is preparation for qt-x11-immodule-unified-qt3.3.2-20040812
	
	* ChangeLog.immodule
	  - Update
	
2004-08-12  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* src/kernel/qwidget_x11.cpp
	  - (changeInputContext, createInputContext): Fix qic location
	  - (destroyInputContext): Add safety check
	
2004-08-12  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* configure
	  - Fix incomplete qconfig configuratoin about QT_NO_IM and
	    QT_NO_IM_EXTENSIONS
	
	* src/kernel/qwidget_x11.cpp
	  - (changeInputContext, createInputContext, destroyInputContext): Fix
	    invalid pointer reference
	
2004-08-12  LiuCougar  <liucougar@gmail.com>
	
	fixed a compile issue in my gentoo box (gcc 3.3.3, glibc 2.3.3
2004-08-12  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* configure
	  - Fix option consistency handling between '-im' and '-im-ext'
	
	* README.immodule
	  - Fix a typo
	
2004-08-11  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* README.immodule
	  - Modify a little
	
2004-08-11  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* README.immodule
	  - New file. Some explanation has been described
	
	* ChangeLog.immodule
	  - New file
	
2004-08-11  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* plugins/src/inputmethods/xim/qximinputcontext_x11.cpp
	  - (language): Remove QLocale dependency to be compiled on Qt 3.2.x
	    or earlier
	
2004-08-11  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* This commit merges 'Binary Compatible branch' into the trunk to
	  reduce maintenance cost. Now binary compatibility is
	  configurable. Binary incompatible features are surrounded by
	  #ifndef QT_NO_IM_EXTENSIONS
	
	* configure
	  - Add '-im' option to enable immodule feature (default yes).
	  - Add '-im-ext' option to enable more immodule extensions (default
	    no). Specify this option 'no' to keep binary compatibility with
	    standard Qt3
	
	* src/kernel/qt_x11.pri
	  - Add conditional QT_NO_IM and QT_NO_IM_EXTENSIONS definition in
	    accordance with '-im' and '-im-ext' options
	
	* src/kernel/qwidget.h
	  - (icHolderWidget): New function for QT_NO_IM_EXTENSIONS
	  - (ic): Add #ifndef QT_NO_IM_EXTENSIONS for binary incompatible
	    variable
	  - (xic): Add #ifdef QT_NO_IM_EXTENSIONS for binary compatible
	    variable
	* src/kernel/qwidget_x11.cpp
	  - (create): Add #ifndef QT_NO_IM_EXTENSIONS
	  - (destroy): Make some codes QT_NO_IM_EXTENSIONS independent
	  - (createTLSysExtra): Add a code fragment for QT_NO_IM_EXTENSIONS
	  - (deleteTLSysExtra): Modify a comment
	  - (getInputContext, changeInputContext, createInputContext,
	    destroyInputContext): Merge code fragments for QT_NO_IM_EXTENSIONS
	  - (deleteExtra): Merge a comment for QT_NO_IM_EXTENSIONS
	
	* src/kernel/qapplication.h
	  - (locateICHolderWidget, icHolderWidgets, create_xim, close_xim):
	    New functions for QT_NO_IM_EXTENSIONS
	* src/kernel/qapplication_x11.cpp
	  - (create_im, close_im): Add #ifndef QT_NO_IM_EXTENSIONS
	  - (create_xim, close_xim): Merge functions for QT_NO_IM_EXTENSIONS
	  - (qt_init_internal, qt_cleanup): Merge code fragments for
	    QT_NO_IM_EXTENSIONS
	
	* plugins/src/inputmethods/inputmethods.pro
	  - Make plugin compilations configurable with '-im' option
	
2004-08-11  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* plugins/src/inputmethods/xim/qximinputcontext.h
	  - Replace QXIMINPUTCONTEXT_P_H with QXIMINPUTCONTEXT_H
	
	* src/widgets/qlineedit.cpp
	  - (QLineEditPrivate::updateMicroFocusHint): Modify the comment a
	    little
	
2004-08-11  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* This commit is participating with recent 'keyword static of C++'
	  discussion.  See
	  http://freedesktop.org/pipermail/immodule-qt/2004-August/000344.html
	  for further information
	
	* src/kernel/qapplication_x11.cpp
	  - (QETWidget::translateKeyEventInternal): Prevent interwidget key
	    state transition about RTL extensions. This code had been written
	    by Daisuke Kameda in qt-x11-immodule-all-qt3.3.1-20040316.diff
	
	* src/widgets/qlineedit.cpp
	  - (QLineEditPrivate::updateMicroFocusHint): Add a comment that
	    explains that old rect variable is intentionally static
	
2004-08-11  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* This commit turns the argument of QInputContext::filterEvent() into
	  const. See
	  http://freedesktop.org/pipermail/immodule-qt/2004-August/000335.html
	  for further information
	
	* src/kernel/qinputcontext.h
	  - (filterEvent): Follow the API change
	* src/kernel/qinputcontext.cpp
	  - (filterEvent): Follow the API change
	
	* plugins/src/inputmethods/simple/qsimpleinputcontext.h
	  - (filterEvent): Follow the API change
	* plugins/src/inputmethods/simple/qsimpleinputcontext.cpp
	  - (filterEvent): Follow the API change
	* plugins/src/inputmethods/imsw-multi/qmultiinputcontext.h
	  - (filterEvent): Follow the API change
	* plugins/src/inputmethods/imsw-multi/qmultiinputcontext.cpp
	  - (filterEvent): Follow the API change
	
2004-08-10  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* plugins/src/inputmethods/simple/xcompose2q.rb
	  - Update to accept Compose flie of X.org's X11R6.7.0
	  - Accept 'XCOMM' as comment sign to accept raw source file
	  - Accept both " " and "\"" as valid RHS
	* plugins/src/inputmethods/simple/composetable.cpp
	  - Update Compose table from XFree86 4.3.0 to X.org's X11R6.7.0
	
2004-08-10  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* This commit replaces the invalid header words 'This file is
	  part of the kernel module' of following files with 'This file
	  is part of the input method module'
	
	* plugins/src/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp
	* plugins/src/inputmethods/imsw-multi/qmultiinputcontext.cpp
	* plugins/src/inputmethods/imsw-multi/qmultiinputcontextplugin.h
	* plugins/src/inputmethods/imsw-multi/qmultiinputcontext.h
	* plugins/src/inputmethods/simple/qsimpleinputcontextplugin.cpp
	* plugins/src/inputmethods/simple/qsimpleinputcontext.cpp
	* plugins/src/inputmethods/simple/qsimpleinputcontextplugin.h
	* plugins/src/inputmethods/simple/qsimpleinputcontext.h
	* plugins/src/inputmethods/simple/composetable.cpp
	* plugins/src/inputmethods/imsw-none/qnoneinputcontextplugin.cpp
	* plugins/src/inputmethods/imsw-none/qnoneinputcontextplugin.h
	* plugins/src/inputmethods/xim/qximinputcontextplugin.cpp
	* plugins/src/inputmethods/xim/qximinputcontextplugin.h
	* plugins/src/inputmethods/xim/qximinputcontext.h
	* plugins/src/inputmethods/xim/qximinputcontext_x11.cpp
	
2004-08-10  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* plugins/src/inputmethods/simple/xcompose2q.rb
	  - Fix broken translation entries for most ASCII characters
	* plugins/src/inputmethods/simple/composetable.cpp
	  - Translate again with fixed xcompose2q.rb. This fixes many
	    translation entries involving ascii character such as
	    "<Multi_key> <space> <minus>"
	
2004-08-10  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* plugins/src/inputmethods/simple/xcompose2q.rb
	  - New file. This script is used for translating X's Compose
	    table into QSimpleInputContext's table
	  - Some bugs included
	  - Although I had released previous versions of this script
	    under GPL, I have released this version under another
	    license. See header
	
2004-08-10  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* plugins/src/inputmethods/simple/qsimpleinputcontext.h
	  - Follow Trolltech's coding style for Qt3
	  - Remove unnecessary headers
	  - (UNITIZE): Moved from qsimpleinputcontext.cpp. QT_ prefix is not
	    retquired since a macro does not pollute symbol space
	  - (struct _ComposeTableElement): Rename to QComposeTableElement
	  - (struct QComposeTableElement): Renamed from _ComposeTableElement
	  - (struct _ComposeTable): Rename to QComposeTable
	  - (struct QComposeTable): Renamed from _ComposeTable
	  - (isPreeditRelocationEnabled): Remove unnecessary overloading
	    function
	  - (isPreeditPreservationEnabled): Remove unnecessary function
	  - (checkComposeTable): Follow the renaming of the types of args
	  - (defaultComposeTable): New static member variable
	
	* plugins/src/inputmethods/simple/qsimpleinputcontext.cpp
	  - Separate composing table definition to composetable.cpp
	  - Remove unnecessary headers
	  - Replace 'true' and 'false' with 'TRUE' and 'FALSE' to follow
	    Trolltech's coding style for Qt3
	  - Replace _ComposeTableElement with QComposeTableElement to follow
	    the renaming
	  - Replace ComposeTable with QComposeTable to follow the renaming
	  - (UNITIZE): Move to qsimpleinputcontext.h
	  - (defaultTable): Move to composetable.cpp
	  - (qtComposeTable): Move to composetable.cpp as defaultComposeTable
	  - (filterEvent):
	    * Clean up
	    * Add a comment about key compression
	    * replace qtComposeTable with defaultComposeTable to follow the
	      renaming
	  - (unsetFocus): Remove unnecessary isPreeditPreservationEnabled()
	    check
	  - (identifierName): Remove 'FIXME' comment
	  - (isPreeditRelocationEnabled): Remove unnecessary overloading
	    function
	  - (isPreeditPreservationEnabled): Remove unnecessary function
	
	* plugins/src/inputmethods/simple/composetable.cpp
	  - New file. This file has been separated from
	    qsimpleinputcontext.cpp to achieve following issues
	    * increase table maintenance ability
	    * ease editing code part of QSimpleInputContext
	    * ease development log tracking
	    * ease copyright tracking
	    * enclose UTF-8 comments into this file only
	  - Add original header from Compose file of XFree86 4.3.0
	  - (defaultTable) Moved from qsimpleinputcontext.cpp
	  - (defaultComposeTable): New variable definition
	
	* plugins/src/inputmethods/simple/simple.pro
	  - Add composetable.cpp to SOURCES
	
	* plugins/src/inputmethods/simple/qsimpleinputcontextplugin.cpp
	  - (displayName, description): Modify the descriptions appropriately
	
2004-08-10  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* plugins/src/inputmethods/xim/qximinputcontext_x11.cpp
	  - Replace #include "qximinputcontext_p.h" with
	    "qximinputcontext.h". XIM plugin is now working properly
	
2004-08-10  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* This commit changes the XIM input method into plugin. A little
	  modification is still retquired to work. See next commit information
	
	* src/input/qinputcontextfactory.cpp
	  - Remove XIM dependency
	  - (create, keys): Remove XIM dependent codes
	
	* src/input/qt_input.pri
	  - Remove QXIMInputContext entries
	* src/input/qximinputcontext_p.h
	  - Moved to plugins/src/inputmethods/xim/qximinputcontext.h
	* src/input/qximinputcontext_x11.cpp
	  - Moved to plugins/src/inputmethods/xim/qximinputcontext_x11.cpp
	
	* plugins/src/inputmethods/inputmethods.pro
	  - Add xim to SUBDIRS
	* plugins/src/inputmethods/xim
	  - New directory
	* plugins/src/inputmethods/xim/xim.pro
	  - New file
	* plugins/src/inputmethods/xim/qximinputcontextplugin.h
	  - New file
	  - (class QXIMInputContextPlugin): New class
	  - (QXIMInputContextPlugin, ~QXIMInputContextPlugin, keys, create,
	    languages, displayName, description): New function
	* plugins/src/inputmethods/xim/qximinputcontextplugin.cpp
	  - New file
	* plugins/src/inputmethods/xim/qximinputcontext.h
	  - Moved from src/input/qximinputcontext_p.h. No code changes have
	    been applied. A little modification is retquired to work. See next
	    commit information
	* plugins/src/inputmethods/xim/qximinputcontext_x11.cpp
	  - Moved from src/input/qximinputcontext_x11.cpp. No code changes have
	    been applied
	
2004-08-10  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* src/input/qximinputcontext_p.h
	  - (QXIMInputContext): Remove the arg 'widget' to conform to standard
	    QInputContext API
	* src/input/qximinputcontext_x11.cpp
	  - (QXIMInputContext): Remove the arg 'widget' to conform to standard
	    QInputContext API
	  - (setHolderWidget): Add QInputContext::setHolderWidget() to fix
	    inproper overriding
	* src/input/qinputcontextfactory.cpp
	  - (create): Remove the arg from QXIMInputContext()
	
2004-08-10  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* src/input/qximinputcontext_p.h
	  - (setHolderWidget): New override function
	* src/input/qximinputcontext_x11.cpp
	  - (QXIMInputContext): Split most part of the initialization code
	    into setHolderWidget() to allow null widget. This is retquired to
	    make imsw-none working properly
	  - (setHolderWidget): New function
	
2004-08-10  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* src/kernel/qapplication_x11.cpp
	  - (x11_apply_settings): Restrict defaultIM to be an IM-switcher. An
	    IM-switcher has a 'imsw-' prefix
	
2004-08-10  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* This commit adds imsw-none IM-switcher plugin according to
	  following discussion with Takumi Asaki. Thanks for the opinion.
	  http://freedesktop.org/pipermail/immodule-qt/2004-August/000320.html
	
	* plugins/src/inputmethods/inputmethods.pro
	  - Add imsw-none to SUBDIRS
	* plugins/src/inputmethods/imsw-none/imsw-none.pro
	  - New file
	* plugins/src/inputmethods/imsw-none/qnoneinputcontextplugin.h
	  - New file
	  - (class QNoneInputContextPlugin): New class
	* plugins/src/inputmethods/imsw-none/qnoneinputcontextplugin.cpp
	  - New file
	  - (QNoneInputContextPlugin, ~QNoneInputContextPlugin, keys,
	    languages, displayName, description): New function
	  - (create): New function. Read key from QT_IM_MODULE or
	    /qt/DefaultInputMethod of qtrc and creates input context with the
	    key
	
2004-08-10  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* Rename input method plugin names to accord with other plugin names
	
	* plugins/src/inputmethods/imsw-multi/imsw-multi.pro
	  - Rename plugin name to qimsw-multi from qmultiinputcontextplugin
	* plugins/src/inputmethods/simple/simple.pro
	  - Rename plugin name to qsimple from qsimpleinputcontextplugin
	
2004-08-10  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* plugins/src/inputmethods/imsw-multi/multi.pro
	  - Move to imsw-multi.pro
	* plugins/src/inputmethods/imsw-multi/imsw-multi.pro
	  - Move from multi.pro
	
2004-08-10  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* plugins/src/inputmethods/multi
	  - Move to imsw-multi
	* plugins/src/inputmethods/imsw-multi
	  - Move from multi
	* plugins/src/inputmethods/inputmethods.pro
	  - Replace 'multi' with 'imsw-multi' in SUBDIRS
	
2004-08-10  Kazuki Ohta  <mover@hct.zaq.ne.jp>
	
	* plugins/src/inputmethods/simple/qsimpleinputcontext.cpp
	  - add full dead/multi key entries
	  - fix some bugs
	
2004-08-10  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* This commit changes pluggable popup menu API in accordance with
	  following discussion with Lars Knoll. Thanks for the advice.
	  http://freedesktop.org/pipermail/immodule-qt/2004-August/000300.html
	
	* src/kernel/qinputcontext.cpp
	  - (actions): New function
	  - (exportMenusInto): Remove to rename to addMenusTo()
	  - (addMenusTo):
	    * New function. Renamed from exportMenusInto()
	    * Follow introduction of enum QInputContextMenu::Action
	    * Add an explanation for this utility function to the function
	      description
	
	* src/kernel/qinputcontext.h
	  - (QInputContextMenu::Action): New enum
	  - (menus): Restrict to use with Qt3 only
	  - (qt4menus): Remove to replace with actions()
	  - (actions): New function for Qt4
	
	* src/widgets/qtextedit.cpp
	  - (createPopupMenu): Replace exportMenusInto() with addMenusTo()
	* src/widgets/qlineedit.cpp
	  - (createPopupMenu): Replace exportMenusInto() with addMenusTo()
	
2004-08-10  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* This commit changes the two input methods into plugin
	
	* src/input/qt_input.pri
	  - Remove QSimpleInputContext and QMultiInputContext entries
	* src/input/qmultiinputcontext.h
	  - Moved to plugins/src/inputmethods/multi/qmultiinputcontext.h
	* src/input/qmultiinputcontext.cpp
	  - Moved to plugins/src/inputmethods/multi/qmultiinputcontext.cpp
	* src/input/qsimpleinputcontext.h
	  - Moved to plugins/src/inputmethods/simple/qsimpleinputcontext.h
	* src/input/qsimpleinputcontext.cpp
	  - Moved to plugins/src/inputmethods/simple/qsimpleinputcontext.cpp
	
	* plugins/src/src.pro
	  - Add 'inputmethods' to SUBDIRS. The directory name 'inputmethods'
	    is intended to be compatible with Qt/Embedded. Install directory
	    name is still kept as 'input' for backward compatibility
	* plugins/src/inputmethods/inputmethods.pro
	  - New file
	
	* plugins/src/inputmethods/multi/multi.pro
	  - New file
	* plugins/src/inputmethods/multi/qmultiinputcontextplugin.h
	  - New file
	* plugins/src/inputmethods/multi/qmultiinputcontextplugin.cpp
	  - New file
	* plugins/src/inputmethods/multi/qmultiinputcontext.h
	  - Moved from src/input/qmultiinputcontext.h. No code changes have
	    been applied
	* plugins/src/inputmethods/multi/qmultiinputcontext.cpp
	  - Moved from src/input/qmultiinputcontext.cpp. No code changes have
	    been applied
	
	* plugins/src/inputmethods/simple/simple.pro
	  - New file
	* plugins/src/inputmethods/simple/qsimpleinputcontextplugin.h
	  - New file
	* plugins/src/inputmethods/simple/qsimpleinputcontextplugin.cpp
	  - New file
	* plugins/src/inputmethods/simple/qsimpleinputcontext.h
	  - Moved from src/input/qsimpleinputcontext.h. No code changes have
	    been applied
	* plugins/src/inputmethods/simple/qsimpleinputcontext.cpp
	  - Moved from src/input/qsimpleinputcontext.cpp. No code changes have
	    been applied
	
	* src/input/qinputcontextfactory.cpp
	  - (create): Remove dedicated instantiation handling for
	    QSimpleInputContext and QMultiInputContext
	
	* tools/qtconfig/mainwindow.h
	  - (inputMethodIdentifiers): New member variable
	* tools/qtconfig/mainwindow.cpp
	  - (MainWindow):
	    * Replace identifier name of input methods with displaynames
	    * Add filtering out process for IM-switchers that has "imsw-"
	      prefix
	    * Disable sorting for input method names
	    * Modify some comments
	    * Simplify setCurrentItem() handling for inputMethodCombo widget
	    * Add recorded input method name to the display name of unknown
	      input method
	    * Save recorded input method name even if unknown input method
	  - (fileSave):
	    * Save /qt/DefaultInputMethodSwitcher with default value
	      "imsw-multi"
	    * Save identifier name of the input method rather than display name
	
	* src/kernel/qinputcontext.cpp
	  - (class QInputContext): Update the class description comment
	
	* src/input/qinputcontextplugin.cpp
	  - (class QInputContextPlugin): Update the class description comment
	  - (keys): Update the function description comment
	  - (languages, displayName, description): Add the function
	    description comment
	
	
2004-08-05  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* This commit adds generic pluggable popup menu feature. See
	  http://freedesktop.org/pipermail/immodule-qt/2004-August/000266.html
	  for further information. The implementation may be altered in
	  accordance with discussion in the list.
	
	* src/kernel/qinputcontext.h
	  - (struct QInputContextMenu): New struct
	  - (qt4menus): New function. Just a placeholder for now
	  - (menus): New function
	  - (exportMenusInto): New function
	* src/kernel/qinputcontext.cpp
	  - (class QInputContext): Add 'Text widget implementor's guide'
	    section to the class description comment
	  - (menus): New function
	  - (exportMenusInto): New function
	
	* src/input/qmultiinputcontext.h
	  - (qt4menus): New function. Just a placeholder for now
	  - (menus): New function
	* src/input/qmultiinputcontext.cpp
	  - (menus):
	    * New function to follow new API. The function merges slave menus
	      and QMultiInputContext's own 'Select Input Method' menu
	    * The functionality is ported from QLineEdit::createPopupMenu()
	    * An accelerator has been added as 'Select Input &Method'
	
	* src/widgets/qtextedit.cpp
	  - Remove QMultiInputContext dependency
	  - (createPopupMenu): Replace QMultiInputContext dependent submenu
	    handling with the pluggable popup menu
	* src/widgets/qlineedit.cpp
	  - Remove QMultiInputContext dependency
	  - (createPopupMenu): Replace QMultiInputContext dependent submenu
	    handling with the pluggable popup menu
	
	* src/kernel/qwidget.h
	  - Remove #include "qinputcontext.h" to reduce compile time when we
	    hacked qinputcontext.h
	
2004-08-04  Kazuki Ohta  <mover@hct.zaq.ne.jp>
	
	* src/input/qmultiinputcontext.cpp
	  - use QInputContextFactory::description and set whatsthis help
	
2004-08-03  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* This commit adds QInputContextFactory::description() feature
	
	* src/input/qinputcontextinterface_p.h
	  - Update the UUID because the interface has been changed
	  - (description): New function
	
	* src/input/qinputcontextplugin.h
	  - (description): New function
	
	* src/input/qinputcontextfactory.h
	  - (description): New function
	  - (QInputContextPluginPrivate::description): New function
	* src/input/qinputcontextfactory.cpp
	  - (description): New function
	  - (displayName): Replace fallback value with empty string instead of
	    null
	
2004-08-03  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* This commit alters the configuration convention about
	  IM-switcher. See
	  http://freedesktop.org/pipermail/immodule-qt/2004-August/000232.html
	  for further information. The implementation may be altered in
	  accordance with discussion in the list.
	
	* src/kernel/qapplication_x11.cpp
	  - (defaultIM): Replace "xim" with "imsw-multi"
	  - (x11_apply_settings):
	    * Replace the environment variable name QT_IM_MODULE with
	      QT_IM_SWITCHER
	    * Replace the qtrc variable name /qt/DefaultInputMethod with
	      /qt/DefaultInputMethodSwitcher
	    * Replace "xim" with "imsw-multi" for default plugin
	
	* src/input/qmultiinputcontext.h
	  - (lastCreatedIMKey): Remove to rename to currentIMKey
	  - (currentIMKey): New member variable. Renamed from lastCreatedIMKey
	    because the semantics of the variable has been changed by
	    introduction of QT_IM_SWITCHER
	
	* src/input/qmultiinputcontext.cpp
	  - Replace lastCreatedIMKey with currentIMKey
	  - (QMultiInputContext): Add default input method specification
	    feature using QT_IM_MODULE and /qt/DefaultInputMethod
	  - (createImSelPopup):
	    * Add IM-switcher plugin elimination feature using "imsw-" prefix
	    * Add dispName.isNull() checking
	    * Apply some rewriting without altering logic for human readability
	
	* src/input/qinputcontextfactory.cpp
	  - (create): Replace the identifier name "multi" with "imsw-multi"
	
2004-08-03  Kazuki Ohta  <mover@hct.zaq.ne.jp>
	
	* This commit implements table searching suite
	
	- QKeyEvent::text() is restricted to only one character,
	  so qsimpleic use QChar::unicode() value in case keys are
	  pressed otherwise composing keys are pressed.
	
	- Composing Table is temporally deleted for testing.
	  Need to prepare proper entries.
	  Now qsimpleic can deal with capital letter more cleaner way
	
	* Next, I introduce X's composing parser to qsimpleic
	
2004-08-02  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* src/kernel/qapplication_x11.cpp
	  - (x11_apply_settings): Merge the comment about defaultIM
	    overwritten by r52 from r45
	
2004-07-31  LiuCougar  <liucougar@gmail.com>
	
	new environment variable QT_IM_MODULE to overwrite the default inputmethod plugin
2004-07-31  LiuCougar  <liucougar@gmail.com>
	
	"deleteLater" is safer then "delete" QObject directly
2004-07-30  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* src/kernel/qnamespace.h
	  - (Qt::Key):
	    * Replace dead key values with new one to avoid keycode conflict
	    * Add a comment about the latin 1 keycodes
	    * Add some comments about the offset for keycode from X keycode
	* src/kernel/qevent.cpp
	  - (key): Add a comment about latin 1 keycodes to the function
	    description.
	
	* src/kernel/qapplication_x11.cpp
	  - Define define XK_XKB_KEYS to include dead key definitions from
	    keysymdef.h
	   - Remove XK_dead_ keys definition
	
2004-07-29  Kazuki Ohta  <mover@hct.zaq.ne.jp>
	
	* Change to use displayName() in IM-Switch Popupmenu
	
	* src/input/qmultiinputcontext.h
	  - (keyDict): new variable
	* src/input/qmultiinputcontext.cpp
	  - (createImSelPopup): use displanName() on popup and store key in keyDict
	  - (changeInputMethodWithMenuId): find key from using keyDict
	
	* Problem *
	  - if key=="XIM", displayName(key) is QString::null
	* Wish *
	  - add "virtual QString description( const QString &key ) = 0;" for showing the description of IM on PopupMenu as a whatsthis help
	
2004-07-28  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* src/input/qinputcontextinterface_p.h
	  - Update the UUID because the interface has been changed
	  - (languages): New function
	  - (displayName): New function
	
	* src/input/qinputcontextplugin.h
	  - (languages): New function
	  - (displayName): New function
	* src/input/qinputcontextplugin.cpp
	  - (QInputContextPluginPrivate::languages): New function
	  - (QInputContextPluginPrivate::displayName): New function
	
	* src/input/qinputcontextfactory.h
	  - (languages): New function
	  - (displayName): New function
	* src/input/qinputcontextfactory.cpp
	  - (languages): New function
	  - (displayName): New function
	
2004-07-27  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* src/kernel/qinputcontext.h
	  - (deletionRequested): New signal. Added for fatal error handling
	* src/kernel/qinputcontext.cpp
	  - (deletionRequested): Add the function description comment
	* src/kernel/qwidget.h
	  - (destroyInputContext): Change ordinary function to slot to receive
	    the signal QInputContext::deletionRequested()
	* src/kernel/qwidget_x11.cpp
	  - (changeInputContext, createInputContext):
	    * Connect deletionRequested() signal of qic to destroyInputContext()
	    * Follow renaming of QApplication::imEventReceived() to postIMEvent()
	  - (destroyInputContext): Modify the function description comment
	
	* src/input/qximinputcontext_p.h
	  - (close): New function
	* src/input/qximinputcontext_x11.cpp
	  - (close_xim):
	    * Remove invalid QApplication::close_im() invocation
	    * Add proper finalization using deletionRequested() signal
	  - (close): New function
	
	* src/kernel/qapplication.h
	  - (imEventReceived): Remove this inappropriate name to rename to
	    postIMEvent()
	  - (postIMEvent): New slot. Renamed from imEventReceived()
	* src/kernel/qapplication_x11.cpp
	  - (imEventReceived): Remove this inappropriate name to rename to
	    postIMEvent()
	  - (postIMEvent): New slot. Renamed from imEventReceived()
	  - (close_im): Remove unused commented out code. The code had already
	    been moved to qximinputcontext.cpp
	
	* src/input/qmultiinputcontext.h
	  - (destroyInputContext): New slot
	  - (imEventReceived): Remove this inappropriate name to rename to
	    postIMEvent()
	  - (postIMEvent): New slot. Renamed from imEventReceived()
	* src/input/qmultiinputcontext.cpp
	  - (QT_NO_IM_QMULTIINPUTCONTEXT_IMINDEX): New macro. Defined as default
	  - (filterEvent): Insert #ifdef QT_NO_IM_QMULTIINPUTCONTEXT_IMINDEX
	  - (destroyInputContext): New slot. Processes deletionRequested from slave
	  - (imEventReceived): Remove this inappropriate name to rename to
	    postIMEvent()
	  - (postIMEvent): New slot. Renamed from imEventReceived()
	  - (slave):
	    * Add proper instanciation code for popup menu mode
	    * Insert #ifdef QT_NO_IM_QMULTIINPUTCONTEXT_IMINDEX
	  - (changeInputMethod(int)):
	    * Add error handling for no available input methods
	    * Insert #ifdef QT_NO_IM_QMULTIINPUTCONTEXT_IMINDEX
	  - (changeInputMethod(QString)):
	    * Add error handling for no available input methods
	    * Add default selection for null key
	    * Connect deletionRequested() signal
	    * Fix debug message
	* src/widgets/qtextedit.cpp
	  - (createPopupMenu):
	    * Add NULL check for input context
	    * Replace the label "SelectInputMethod" with "Select Input Method"
	* src/widgets/qlineedit.cpp
	  - (createPopupMenu):
	    * Add NULL check for input context
	    * Replace the label "SelectInputMethod" with "Select Input Method"
	
2004-07-27  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* src/kernel/qwidget_x11.cpp
	  - (changeInputContext):
	    * Remove unnecessary createInputContext()
	    * Reorder the code fragments to reduce temporal memory consumption
	
2004-07-27  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* This commit is a comment and variable name update. No actual code is
	  modified.
	
	* src/kernel/qinputcontext.cpp
	  - (class QInputContext): Modify the class description comment
	  - (filterEvent): Mark the argument as /* const */ to make it const
	    in future
	  - (reset): Add a retquirement to the function description comment for
	    reimplementation
	
	* src/kernel/qapplication_x11.cpp
	  - (locateICHolderWidget, icHolderWidgets, changeAllInputContext):
	    Modify the function description comment
	
	* src/kernel/qwidget_x11.cpp
	  - (changeInputContext):
	    * Rename 'name' with 'identifierName' to eliminate the ambiguity
	    * Modify the function description comment
	    * Modify a comment
	    * Follow Trolltech's coding style
	  - (createInputContext):
	    * Modify the function description comment
	    * Modify a comment
	  - (resetInputContext): Modify the function description comment
	
	* src/kernel/qapplication_x11.cpp
	  - (defaultIM): Modify the comment
	  - (changeAllInputContext):
	    * Rename 'name' with 'identifierName' to eliminate the ambiguity
	    * Follow Trolltech's coding style
	  - (defaultInputMethod): Modify the function description comment
	  - (x11_apply_settings): Modify a comment
	
	* src/input/qinputcontextplugin.cpp
	  - (class QInputContextPlugin): Modify the class description comment
	  - (create): Modify the function description comment
	
	* src/input/qinputcontextfactory.cpp
	  - (create): Modify the function description comment
	
2004-07-24  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* src/kernel/qinputcontext.cpp
	  - Add #if defined(Q_WS_X11) around X11 platform specific
	    functions. these functions cannot be moved to
	    qinputcontext_x11.cpp at now since the QInputContextPrivate is
	    defined in qinputcontext.cpp. This will be fixed in porting to
	    Qt4.
	  - (filterEvent): Add the function description comment according
	    with the Simplified API (filtering precedence, key compression)
	
	* src/kernel/qapplication_x11.cpp
	  - (locateICHolderWidget, icHolderWidgets, changeAllInputContext):
	    Modify the function description comment
	
2004-07-24  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* This commit is a comment update. No code is modified.
	
	* src/kernel/qinputcontext.cpp
	  - (class QInputContext): Add the class description comment according
	    with the Simplified API (preedit relocation is done, not entirely
	    completed yet)
	
2004-07-24  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* This commit contains the fixes in response to Lars Knoll's
	  advice. Thanks for the advice.
	
	* src/kernel/qapplication_x11.cpp
	  - (x11_apply_settings): Remove trUtf8() from "xim" to specify the
	    default input method
	
	* src/kernel/qapplication_x11.cpp, src/input/qximinputcontext_x11.cpp
	  - (ximServer, xim_preferred_style, composingKeycode, input_mapper):
	    Add qt_ prefix to avoid symbol space pollution
	  - (qt_ximServer, qt_xim_preferred_style, qt_ximComposingKeycode,
	    qt_input_mapper): Renamed from above one
	
2004-07-24  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* This commit is a comment update. No code is modified.
	
	* src/kernel/qinputcontext.cpp
	  - (class QInputContext): Modify several expressions
	
2004-07-23  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* This commit is a comment update. No code is modified.
	
	* src/kernel/qinputcontext.cpp
	  - (class QInputContext): Add the class description comment according
	    with the Simplified API (preedit preservation is done, not
	    entirely completed yet)
	  - (QInputContext, focusWidget, setFocusWidget, isComposing,
	    setFocus, unsetFocus): Modify a typo in the function description
	    comment
	
2004-07-23  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* src/input/qsimpleinputcontext.cpp
	  - Modify the file header description
	* src/input/qmultiinputcontext.cpp
	  - Modify the file header description
	* src/input/qsimpleinputcontext.h
	  - Modify the file header description
	* src/input/qmultiinputcontext.h
	  - Modify the file header description
	
2004-07-23  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* src/input/qsimpleinputcontext.h
	  - Add a copyright and license header
	
	* src/input/qsimpleinputcontext.cpp
	  - Add a copyright and license header
	
2004-07-23  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* This commit is a comment update. No code is modified.
	
	* src/kernel/qinputcontext.cpp
	  - (class QInputContext): Add the class description comment according
	    with the Simplified API (not completed yet)
	  - (QInputContext): Modify a expression in the function description
	    comment
	  - (sendIMEventInternal, font): Modify a typo in the function
	    description comment
	
2004-07-23  Kazuki Ohta  <mover@hct.zaq.ne.jp>
	
	* src/input/qsimpleinputcontext.cpp
	  - OOps. fix typo.
	
2004-07-23  Kazuki Ohta  <mover@hct.zaq.ne.jp>
	
	* src/input/qsimpleinputcontext.cpp
	  - follow Qt coding rule
	  - more valid capitalize case 
	
2004-07-23  Kazuki Ohta  <mover@hct.zaq.ne.jp>
	
	* src/input/qinputcontextfactory.cpp
	  - enable QSimpleInputContext by specifying in qtrc "DefaultInputMethod=simple"
	
2004-07-23  Kazuki Ohta  <mover@hct.zaq.ne.jp>
	
	* This commit add simple table based InputContext for dead/multi key support
	
	* src/input/qsimpleinputcontext.h, src/input/qsimpleinputcontext.cpp
	  - simple table based InputContext
	
2004-07-22  Kazuki Ohta  <mover@hct.zaq.ne.jp>
	
	* kernel/qapplication_x11.cpp, kernel/qnamespace.h
	  - add dead key entries
	
2004-07-22  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* This commit is a comment update. No code is modified.
	
	* src/kernel/qinputcontext.cpp
	  - (holderWidget, setHolderWidget, focusWidget, setFocusWidget,
	    releaseComposingWidget, isPreeditRelocationEnabled, isComposing,
	    sendIMEventInternal, sendIMEvent): Add the function description comment
	    according with the Simplified API
	  - (QInputContext, setFocus, unsetFocus): Update the function
	    description comment according with the Simplified API
	  - (~QInputContext, imEventGenerated): Add the function description
	    comment
	  - (reset, identifierName, language, filterEvent): Update the
	    function description comment
	  - (setMicroFocus, mouseHandler, reset, identifierName, language):
	    Modify a expression in the function description comment
	
	* src/kernel/qwidget_x11.cpp
	  - (icHolderWidget, resetInputContext, focusInputContext,
	    unfocusInputContext, sendMouseEventToInputContext): Update the
	    function description comment
	
	* src/kernel/qapplication_x11.cpp
	  - (imEventReceived): Update the function description comment
	
2004-07-21  Kazuki Ohta  <mover@hct.zaq.ne.jp>
	
	* src/input/qmultiinputcontext.h
	  - (createImSelPopup): new function
	  - (changeInputMethodWithMenuId): new slot
	  - (changeInputMethod(QString)): new function
	  - (popup): new variable
	  - (lastCreatedIMKey): new variable
	
	* src/input/qmultiinputcontext.cpp
	  - add #ifndef QT_NO_IM
	  - (createImSelPopup): create QPopupMenu object which can switch IM.
	    Currently selected IM is marked as checked.
	
	* src/input/qinputcontextfactory.h
	  - remove "class QPopupMenu"
	
	* src/widget/qtextedit.cpp
	  - add im-switch popup to the menu which is shown when widget is right-clicked.
	
	* src/widget/qlineedit.cpp
	  - add im-switch popup to the menu which is shown when widget is right-clicked.
	
2004-07-21  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* src/kernel/qinputcontext.cpp
	  - (filterEvent, setMicroFocus, mouseHandler): Update the function
	    description comment according with the Simplified API
	  - (reset, identifierName, language): Update the function description
	    comment
	
2004-07-20  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* src/input/qmultiinputcontext.cpp
	  - (changeInputMethod): Fix invalid imIndex circulation. Thanks
	    to Kazuki for reporting
	
2004-07-20  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* This commit enables a flexible signal connection
	  configuration. Default behavior is based on Cougar's
	  suggestion. Thanks.
	
	* src/input/qmultiinputcontext.h
	  - (beIndirectlyConnected): New instance variable
	
	* src/input/qmultiinputcontext.cpp
	  - (QMultiInputContext): Add beIndirectlyConnected to initializer list
	  - (imEventReceived): Add a function description comment
	  - (changeInputMethod): Connect imEventGenerated signal of slave
	    according with beIndirectlyConnected. The default behavior is
	    changed as directly connected to imEventGenerated signal of this
	
2004-07-20  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* src/kernel/qwidget_x11.cpp
	  - (setMicroFocusHint): Update the comment about XIM handling
	  - (focusInputContextunfocusInputContext,
	    sendMouseEventToInputContext): Add the function description comment
	
	* src/kernel/qinputcontext_x11.cpp
	  - (x11FilterEvent): Update the function description comment
	    according with the Simplified API
	
2004-07-20  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* src/input/qmultiinputcontext.cpp
	  - (changeInputMethod): Fix the conversion to const char * from
	    identifierName()
	
2004-07-20  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* src/input/qximinputcontext_p.h
	  - (identifierName): Replace the result "XIM" with "xim" to be
	    consistent with corresponding immodule of GTK+
	
	* src/kernel/qapplication_x11.cpp
	  - (defaultIM, x11_apply_settings): Replace "XIM" with "xim"
	
	* src/input/qinputcontextfactory.cpp
	  - (create, keys): Replace "XIM" with "xim"
	
	* tools/qtconfig/mainwindow.cpp
	  - (MainWindow): Replace "XIM" with "xim"
	
2004-07-20  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* This commit enables QInputContext proxying, and provide an
	  experimental immodule-switcher QMultiInputContext as its
	  examples. The changes is 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
	
	  4. Rename QInputContext::name() to identifierName() to avoid
	     conflicting with QObject::name()
	
	  This patch does not break binary compatibility from vanilla Qt3.
	  But it costs immodule developer small modification.
	
	* src/kernel/qinputcontext.h
	  - (class QInputContext): Inherit QObject and add Q_OBJECT macro
	  - (name): Remove to rename to identifierName() to avoid conflicting
	    with QObject::name()
	  - (identifierName): New function. Renamed from name()
	  - (isComposing, isPreeditRelocationEnabled): Move to public from
	    protected to allow proxying
	  - (setFocusWidget,setHolderWidget, releaseComposingWidget): Move to
	    public from private to allow proxying
	  - (focusWidget, holderWidget):
	    * Make public from protected
	    * Make virtual to allow overriding the method as proxy
	  - (imEventGenerated): New signal
	
	* src/kernel/qinputcontext.cpp
	  - (QInputContext): Add QObject() to initializer list
	  - (sendIMEventInternal): Replace QApplication::postEvent with signal
	    emitting according to the change
	  - (name): Remove to rename to identifierName() to avoid conflicting
	    with QObject::name()
	  - (identifierName):
	    * New function. Renamed from name()
	    * Return type has changed to QCString from QString to avoid using
	      of i18n string and confusing this with display name for endusers
	
	* src/kernel/qwidget_x11.cpp
	  - (changeInputContext): Add QObject::connect() to follow the change
	    of IMEvent flow
	  - (createInputContext): Add QObject::connect() to follow the change
	    of IMEvent flow
	
	* src/kernel/qapplication.h
	  - (imEventReceived): New slot
	* src/kernel/qapplication_x11.cpp
	  - (imEventReceived): New slot to relay QIMEvent to event queue using
	    postEvent()
	
	* src/input/qmultiinputcontext.h
	  - New file. Copyright and licensing information is temporarily
	    adapted to our cirmumstances
	  - (QMultiInputContext): New class
	  - (QMultiInputContext): New function
	  - (~QMultiInputContext): New function
	  - (identifierName): New function
	  - (language): New function
	  - (x11FilterEvent): New function. Added based on Cougar's
	    advice. Thanks
	  - (filterEvent): New function
	  - (reset): New function
	  - (setFocus): New function
	  - (unsetFocus): New function
	  - (setMicroFocus): New function
	  - (mouseHandler): New function
	  - (font): New function
	  - (isComposing): New function
	  - (isPreeditRelocationEnabled): New function
	  - (focusWidget): New function
	  - (holderWidget): New function
	  - (setFocusWidget): New function
	  - (setHolderWidget): New function
	  - (releaseComposingWidget): New function
	  - (slave): New function
	  - (slave): New function (const QInputContext *slave() const)
	  - (changeInputMethod): New function
	  - (imEventReceived): New slot
	* src/input/qmultiinputcontext.cpp
	  - New file. Copyright and licensing information is temporarily
	    adapted to our cirmumstances
	  - (QMultiInputContext): New function
	  - (~QMultiInputContext): New function
	  - (identifierName): New function
	  - (language): New function
	  - (x11FilterEvent): New function. Added based on Cougar's
	    advice. Thanks
	  - (filterEvent): New function. Filters Control+Alt+Key_Down and
	    Control+Alt+Key_Up as IM selection keys as temporary
	    implementation. We should show popup menu
	  - (reset): New function
	  - (setFocus): New function
	  - (unsetFocus): New function
	  - (setMicroFocus): New function
	  - (mouseHandler): New function
	  - (font): New function
	  - (isComposing): New function
	  - (isPreeditRelocationEnabled): New function
	  - (focusWidget): New function
	  - (holderWidget): New function
	  - (setFocusWidget): New function
	  - (setHolderWidget): New function
	  - (releaseComposingWidget): New function
	  - (slave): New function
	  - (slave): New function (const QInputContext *slave() const)
	  - (changeInputMethod): New function
	  - (imEventReceived): New slot
	* src/input/qinputcontextfactory.cpp
	  - (create): Add QMultiInputContext instanciation. Use the name
	    "multi" to specify it
	* src/input/qinputcontextfactory.h
	  - Add #include "qinputcontext.h" to avoid compilation error
	
	* src/input/qximinputcontext_p.h
	  - (class QXIMInputContext): Add Q_OBJECT macro to follow the API change
	  - (name): Remove to follow the API change
	  - (identifierName):
	    * New function. Renamed from name()
	    * Return type has changed to QCString from QString to follow the
	      API change
	  - (isPreeditRelocationEnabled): Move to public from protected to
	    follow the API change
	  - (isComposing): Remove unnecessary access permission breaker
	    because QInputContext::isComposing() have made public
	* src/input/qximinputcontext_x11.cpp
	  - (isComposing): Remove unnecessary access permission breaker
	    because QInputContext::isComposing() have made public
	
	* src/input/qt_input.pri
	  - Add qmultiinputcontext.h and multiinputcontext.cpp
	
2004-07-18  LiuCougar  <liucougar@gmail.com>
	
	use virtual insert version to make subclasses work as expected (merged from bc-branch r19)
2004-07-16  Kazuki Ohta  <mover@hct.zaq.ne.jp>
	
	* src/input/qinputcontextfactory.h: not the definition of QInputContextPlugin
	
2004-07-13  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* src/kernel/qapplication_x11.cpp
	  - (x11ProcessEvent): Add comment for key event filtering considerations
	  - (QETWidget::translateKeyEvent): Add comment for key compression
	    considerations
	
2004-07-11  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* src/kernel/qwidget.h
	  - (sendMouseEventToInputContext): Move into #if defined(Q_WS_X11)
	    because it is not implemented in other platforms
	
2004-07-11  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* This commit fixes a mismerge with my Simplified API patches
	
	* src/kernel/qwidget_x11.cpp
	  - (destroyInputContext): Replace the code with original Simplified
	    API patch. See the comment to recognize the original intention
	  - (focusInputContext): Fix a condition to call qic->setFocus() as
	    originally written. See added comment to recognize the original
	    intention
	
	* src/kernel/qwidget.h
	  - (changeInputContext): Move into #if defined(Q_WS_X11) as
	    originally written because it is not implemented in other
	    platforms
	
	* src/input/qximinputcontext_p.h
	  - (mouseHandler): Fix a typo as originally written
	
	* src/input/qximinputcontext_x11.cpp
	  - Fix a comment location to express original intention
	
2004-07-08  LiuCougar  <liucougar@gmail.com>
	
	replace sendEvent with postEvent in qinputcontext to improve the process performance of IMCompose events
2004-07-08  YamaKen  <yamaken@bp.iij4u.or.jp>
	
	* Insert the comment 'UPDATED COMMENT REQUIRED' into some places for future
	  modifications
	* Modify some comments
	* Replace 'InputMethod' in some comments with 'input method'
	* Replace 'InputContext' in some comments with 'input context'
	
	* src/kernel/qinputcontext.h
	  - Move description of QInputContext to qinputcontext.cpp
	* src/kernel/qinputcontext.cpp
	  - Move description of QInputContext from qinputcontext.h
	
2004-07-07  Daisuke Kameda  <kaminmat@cc.rim.or.jp>
	
	Adding the function which realize mapping arbitrary input context and widget:
	QApplication::locateICHolderWidget()
	QApplication::icHolderWidgets()
	QWidget::icHolderWidget()
	QWidget::getInputContext()
	
	Adding the function which changes input method:
	QApplication::changeAllInputContext()
	QWidget::changeInputContext()
	QApplication::defaultInputMethod()
	
	change QApplication::create_xim() to QApplication::create_im()
	change QApplication::close_xim() to QApplication::close_im()
	
	
2004-07-06  Daisuke Kameda  <kaminmat@cc.rim.or.jp>
	
	"QLineEdit should only setMicroFocus if the cursorRect has changed" by cougar
	
2004-07-06  Daisuke Kameda  <kaminmat@cc.rim.or.jp>
	
	Re-Creating immodule for Qt/X11 trunk

2004-06-22  YamaKen  <yamaken@bp.iij4u.or.jp>

	* src/kernel/qinputcontext.h
	  - (sendIMEvent): Private version of sendIMEvent(). Remove to
	    rename to sendIMEventInternal
	  - (sendIMEventInternal): Rename from sendIMEvent and accept
	    discrete variables rather than QEvent *e to be adaptable
	    to Qt/Embedded
	* src/kernel/qinputcontext.cpp
	  - (sendIMEvent): Protected version of sendIMEvent(). Move
	    QEvent construction to sendIMEventInternal()
	  - (sendIMEvent): Private version of sendIMEvent(). Remove to
	    rename to sendIMEventInternal
	  - (sendIMEventInternal):
	    * Rename from sendIMEvent
	    * accept discrete variables rather than QEvent *e to be
	      adaptable to Qt/Embedded
	    * Add placeholder for Qt/Embedded
	  - (setFocusWidget): Follow specification change of sendIMEvent()

2004-06-20  YamaKen  <yamaken@bp.iij4u.or.jp>

	* src/kernel/qevent.h
	  - (class QIMError): Remove to rename to QIMErrorEvent
	  - (class QIMErrorEvent): Rename from QIMError
	  - (QIMErrorEvent::isDeleteIC): Remove to rename to isDeletionRequest
	  - (QIMErrorEvent::isDeletionRequest): Rename from isDelete

	* src/kernel/qwidget.h
	  - (imErrorEvent): Follow renaming of QIMError
	* src/kernel/qwidget.cpp
	  - (imErrorEvent): Follow renaming of QIMError and
	    QIMError::isDeleteIC()
	  - (event): Follow renaming of QIMError

	* src/kernel/qinputcontext.h
	  - (ownerWidget): Remove to rename to holderWidget
	  - (holderWidget): Rename from ownerWidget
	  - (setOwnerWidget): Remove to rename to setHolderWidget
	  - (setHolderWidget): Rename from setOwnerWidget
	  - (releaseComposingWidget): New function.
	* src/kernel/qinputcontext.cpp
	  - (class QInputContextPrivate): Rename ownerWidget to holderWidget
	  - (ownerWidget): Remove to rename to holderWidget
	  - (holderWidget): Rename from ownerWidget
	  - (setOwnerWidget): Remove to rename to setHolderWidget
	  - (setHolderWidget): Rename from setOwnerWidget
	  - (sendIMError): Follow renaming of QIMError and
	    QIMError::isDeleteIC()
	  - (releaseComposingWidget): New function.

	* src/input/qinputcontextfactory.cpp
	  - (create): Follow renaming of QInputContext::setOwnerWidget()

	* src/kernel/qwidget_x11.cpp
	  - (destroy): Add qic->releaseComposingWidget() to reset
	    preserved composing information involving this widget

2004-06-15  YamaKen  <yamaken@bp.iij4u.or.jp>

	* src/kernel/qwidget_x11.cpp
	  - (setMicroFocusHint): Replace relative coordinate with
	    global one for qic->setMicroFocus(). This is retquired to
	    share particular IM plugin code with Qt/Embedded

	* src/widgets/qlineedit.cpp
	  - (sendMouseEventToInputContext): Add button event sending
	    when clicking on out of preedit

	* src/widgets/qtextedit.cpp
	  - (sendMouseEventToInputContext): Add button event sending
	    when clicking on out of preedit

	* src/input/qximinputcontext_p.h
	  - (isComposing): New function
	  - (composing, cpos, sellen): Remove to follow API change
	  - (isPreeditRelocationEnabled): New overriding function to
	    follow API change
	  - (isPreeditPreservationEnabled): New function

	* src/input/qximinputcontext_x11.cpp
	  - (xic_start_callback, xic_draw_callback, xic_done_callback,
	    x11FilterEvent, reset): Replace qic->composing with
	    qic->isComposing() to use automatic compose state tracking
	    of QInputContext
	  - (QXIMInputContext): Remove composing, cpos, sellen from
	    initializer list
	  - (sendIMEvent): Remove remembering of cpos, sellen
	  - (reset): Replace IMEnd event sending with
	    QInputContext::reset()
	  - (resetClientState): Remove cpos, sellen, composing
	  - (isComposing): Exported interface for xic callbacks to
	    access protected QInputContext::isComposing()
	  - (setMicroFocus): Follow API change that replaces relative
	    coordinate with global one
	  - (mouseHandler): Add approprate reset on clicking
	  - (setFocus, unsetFocus): Remove preedit preservation and
	    relocation to follow API change. They are moved to
	    QInputContext as generarization
	  - (isPreeditRelocationEnabled): New function to follow API
	    change.
	  - (isPreeditPreservationEnabled): New function. This
	    indicates that whether preedit state should be preserved
	    or not when focusing out the widget

2004-06-14  YamaKen  <yamaken@bp.iij4u.or.jp>

	* src/kernel/qinputcontext.h
	  - (setFocus): Remove hasPreservedPreedit arg
	  - (unsetFocus): Remove preservePreedit arg
	  - (isPreeditRelocationEnabled): New function
	  - (isComposing): New function

	* src/kernel/qinputcontext.cpp
	  - (class QInputContextPrivate): Reorganize variables for
	    preedit relocation
	  - (QInputContextPrivate::resetComposingState): New function
	  - (QInputContextPrivate::updateComposingState): New function
	  - (setFocusWidget): Add preedit relocation support. Preedit
	    state is relocated to another text widget when the shared
	    context has focused on the another text widget. This
	    feature is mainly used by Japanese input methods
	  - (isPreeditRelocationEnabled): New function. Preedit
	    relocation is enabled only if this function returned TRUE.
	  - (isComposing): New function. Returns current composing
	    state as result of automatic compose state tracking
	    through sendIMEvent(). The function is for used by
	    subclass of QInputContext to know preedit state of the
	    widget. Although QWidget and QInputContextFactory can
	    access to the function as friend, they must not use the
	    function to know composing state of contexts. Keep less
	    relationship to simplify input method development
	  - (sendIMEvent): New 1-arg overloaded function. The function
	    encupsulates platform-dependent IMEvent sending. Only
	    Q_WS_X11 is supported for now. Q_WS_QWS should be supported
	  - (sendIMEvent):
	    * 4-args version of the overloaded function
	    * Isolate platform-dependent event sending process to
	      separated function
	    * Add preedit relocation support
	    * Add compose state tracking support
	  - (unsetFocus): Add reset() for simple ephemeral input
	    contexts
	  - (mouseHandler): Add reset() when clicking for simple
	    ephemeral input contexts
	  - (reset): Add preedit finalization code. Overriding
	    function should call this function to ensure proper
	    preedit state

2004-06-11  YamaKen  <yamaken@bp.iij4u.or.jp>

	* src/kernel/qlineedit.cpp
	  - (QLineEditPrivate::xToPosInternal, QLineEditPrivate::xToPos):
	    Fix loose placement to tail when clicking beyond the string

2004-06-10  YamaKen  <yamaken@bp.iij4u.or.jp>

	* src/kernel/qinputcontext.h
	  - Remove several pointers to QWidget to share concrete IM
	    implementation code with Qt/Embedded. The IM model of
	    Qt/Embedded retquires that widgets and input contexts are
	    existing in another process
	  - (QInputContext): Remove the QWidget * arg
	  - (focusWidget, ownerWidget):
	    * Move to protected and unrecommended
	    * Move the inline function definition to qinputcontext.cpp
	  - (filterEvent): Remove unnecessary keywidget
	  - (setFocus):
	    * Remove newFocusWidget arg
	    * Add hasPreservedPreedit arg
	  - (unsetFocus): Add preservePreedit arg
	  - (sendIMError): New function to hide ownerWidget from
	    derived QInputContext
	  - (composingWidget, setComposingWidget): New function to support
	    preedit relocation of shared context on focus transition
	  - (setFocusWidget, setOwnerWidget): New function to
	    implement internal functionality on Qt/X11 platform
	  - (d): New variable to hide ABI change
	  - (QInputContext, operator=): New function to disable copy
	    constructor and operator=

	* src/kernel/qinputcontext.cpp
	  - (class QInputContextPrivate): New class to hide ABI change
	  - (QInputContext):
	    * Follow API change
	    * Follow introducing QInputContextPrivate
	  - (~QInputContext): Follow introducing QInputContextPrivate
	  - (ownerWidget):
	    * Move from qinputcontext.h
	    * Follow introducing QInputContextPrivate
	  - (setOwnerWidget): New function to complement removal of
	    the arg of QInputContext constructor
	  - (composingWidget, setComposingWidget): New function. These
	    functions are participating with preedit relocation of shared
	    context on focus transition
	  - (focusWidget):
	    * Move from qinputcontext.h
	    * Follow introducing QInputContextPrivate
	    * Follow introducing composingWidget
	  - (setFocusWidget): New function to complement removal of
	    the QWidget * arg of setFocus()
	  - (filterEvent): Follow API change of removal of keywidget
	  - (sendIMEvent): Add #ifdef to isolate Qt/X11 dependent code
	  - (sendIMError): New function to hide ownerWidget() from
	    derived QInputContext. This is retquired to share particular
	    IM plugin code with Qt/Embedded
	  - (setFocus, unsetFocus): Follow API change

	* src/input/qinputcontextfactory.cpp
	  - (create): Add ownerWidget initialization for new context

	* src/kernel/qwidget.cpp
	  - (setFocus): Remove unnecessary shared input context
	    checking

	* src/kernel/qwidget_x11.cpp
	  - (setActiveWindow): Replace duplicated code with
	    focusInputContext()
	  - (getInputContext): Return input context only if
	    isInputMethodEnabled() widget, otherwise returns 0. This
	    is retquired for proper focus transition handling
	  - (unfocusInputContext): Follow API change of
	    QInputContext::unsetFocus()

	* src/kernel/qapplication.cpp
	  - (setActiveWindow): Follow change of QWidget::unfocusInputContext()

	* src/kernel/qapplication_x11.cpp
	  - (x11ProcessEvent): Follow API change of
	    QInputContext::filterEvent()

	* src/input/qximinputcontext_p.h
	  - (setFocus, unsetFocus): Follow API Change
	  - (hasFocus): New function
	  - (close): New function

	* src/input/qximinputcontext.cpp
	  - Remove unrecommended focusWidget() and ownerWidget()
	  - (ximWidgetList): Remove to replace with ximContextList
	  - (ximContextList): New variable
	  - (xic_draw_callback): Replace focusWidget() with hasFocus()
	    to follow API Change
	  - (QXIMInputContext):
	    * Follow API change
	    * Follow replacing to ximContextList
	  - (~QXIMInputContext):
	    * Follow replacing to ximContextList
	    * Remove unnecessary QInputContext::unsetFocus()
	  - (close_xim):
	    * Follow replacing to ximContextList
	    * Follow API change 
	  - (close, hasFocus): New function. Exported interface for
	    xic_draw_callback to access protected features
	  - (setFocus, unsetFocus): Follow API change

2004-06-09  YamaKen  <yamaken@bp.iij4u.or.jp>

	* src/kernel/qwidget.cpp

	  - (hide): Remove unfocusInputContext(). This caused
	    excessive invalid QInputContext::unsetFocus().
	    QWidget::deactivateWidgetCleanup() handles
	    unfocusInputContext() appropriately via
	    qApp->setActiveWindow( 0 ).

2004-06-08  YamaKen  <yamaken@bp.iij4u.or.jp>

	* src/kernel/qrichtext_p.h
	  - (QTextCursor::place): New 5-args overloaded function
	  - (QTextCursor::place): 3-args version of the function is
	    reimplemented as inline function using new 5-args one.
	* src/kernel/qrichtext.cpp
	  - (QTextCursor::place): Remove 3-args version of the function
	  - (QTextCursor::place): New 5-args overloaded function. This
	    is copied from 3-args one and added new args loosePlacing
	    and matchBetweenCharacters

	* src/widgets/qtextedit.cpp
	  - (sendMouseEventToInputContext): Send mouse event when only
	    mouse cursor is placed within preedit area. This is
	    accomplished by new 5-args QTextCursor::place()
	  - (contentsContextMenuEvent): Disable context menu when in
	    IM composing state
	  - (drawContents): Add updateMicroFocusHint() to follow
	    dragging of active window by the showed candidate window
	  - (contentsMouseMoveEvent): Fix cursor vanishing on IM
	    composing state

	* src/kernel/qlineedit.cpp
	  - (sendMouseEventToInputContext): Exclude character at
	    preedit[preeditLength] from being handled as preedit
	  - (contextMenuEvent): Disable context menu when in IM
	    composing state
	  - (focusInEvent): Fix invalid MicroFocusHint position which
	    caused that candidate window is always showed at end of
	    the preedit when active window is show() back

2004-06-07  YamaKen  <yamaken@bp.iij4u.or.jp>

	* src/kernel/qwidget_x11.cpp
	  - (reparentSys): Fix an invalid assumption about input
	    context location involving destroyInputContext()
	  - (deleteTLSysExtra): Remove destroyInputContext() because
	    the input context is not a extra data and should be
	    destroyed in QWidget::destroy()
	  - (destroyInputContext): Remove icHolderWidget() because
	    this function is called to destroy the input context that
	    belongs to the widget itself
	  - (destroy): Replace 'this->ic' with 'ic'
	  - (create): Replace 'this->ic' with 'ic'

	* src/kernel/qwidget.cpp
	  - (hide): Add unfocusInputContext()

	* src/kernel/qapplication.cpp
	  - (setActiveWindow): Add unfocusInputContext()

	* src/kernel/qlineedit.cpp
	  - (QLineEditPrivate::xToPosInternal): New function. Copied
	      from xToPos and Remove the safety limiter.
	  - (QLineEditPrivate::xToPos): Reimprement using xToPosInternal
	  - (sendMouseEventToInputContext):
	    * Fix position boundary as matching with character
	      boundary rather than center of character
	    * Send mouse event when only mouse cursor is placed within
	      preedit area. This is accomplished by replacing xToPos()
	      with xToPosInternal()

2004-06-04  YamaKen  <yamaken@bp.iij4u.or.jp>

	* src/kernel/qinputcontext.h
	  - (font): New function. Returns the font of focusWidget()
	* src/kernel/qinputcontext.cpp
	  - (font): New function

	* src/kernel/qwidget_x11.cpp
	  - (setActiveWindow, focusInputContext): Avoid calling
	     qic->setFocus() if the target is identical widget
	  - (setMicroFocusHint, setActiveWindow, createInputContext,
	     destroyInputContext, resetInputContext,
	     focusInputContext): Remove obsolete comment around qic
	     retrieving

	* src/input/qximinputcontext_x11.cpp
	  - (language): Return Chinese languages appropriately (such
	     as "zh_CN")

2004-06-03  YamaKen  <yamaken@bp.iij4u.or.jp>

	* src/kernel/qinputcontext.h
	- (getOwnerWidget): Remove to rename to ownerWidget
	- (ownerWidget): New function. Rename from getOwnerWidget to
	  be consistent with the name focusWidget
	- (focusWidget): New function. Add to make IM-related
	  communication with focusWidget easy. The name is imported
	  from QApplication::focusWidget to be supposed same role
	- (language): Change return type to QCString from const char *
	- (filterEvent): Change args. Passes QEvent *event rather than
	  preexpanded key event values. This is intended to pass other
	  IM-related events in future. The IM-related events are
	  supposed as QWheelEvent, QTabletEvent and so on
	- (setFocusHint): Remove to be appropriate name
	- (setMicroFocus):
	  * Rename from setFocusHint to be appropriate name. This
	    function instructs 'MicroFocus' rect within a widget that
	    is different to normal focus for widgets, so the name
	    'setFocus' is invalid. And 'Hint' is a concept for the
	    manager of this class and loses the meaning when passed to
	    this class. The passed values are not a hint but have
	    well-defined actual effect, so the name 'Hint' is
	    invalid. Finally, Qt/Embedded 2.3.7 has a samely named
	    method in QWSInputMethod
	  * Remove the arg 'widget' to consistent with the new
	    focusWidget() method
	- (mouseHandler): New function. The method interface is
	  imported from QWSInputMethod::mouseHandler() of Qt/Embedded
	  2.3.7 and extended for desktop system
	- (sendIMEvent): New function. Conventional function to send
	  QIMEvent to appropriate widget using focusWidget(). IM
	  developers can send IMEvents without tracking focuswidget by
	  themself
	- (ownerWidget): Remove to Rename to _ownerWidget
	- (_ownerWidget): New variable. Renamed from ownerWidget to
	  avoid name conflict with ownerWidget()
	- (_focusWidget): New variable.
	* src/kernel/qinputcontext.cpp
	  - (QInputContext): Follow API change
	  - (~QInputContext): Clean up
	  - (filterEvent): Follow API change
	  - (sendIMEvent): New function.
	  - (setFocusHint): Remove to follow new API
	  - (setMicroFocus): copied from setFocusHint and reimplement to
	    follow new API
	  - (mouseHandler): New function
	  - (language): Follow API change

	* src/kernel/qwidget.h
	  - (sendMouseEventToInputContext): New function
	  - (unfocusInputContext): New function

	* src/kernel/qwidget.cpp
	  - (setFocus): Invoke unfocusInputContext() with previous
	    focus widget to delegate reset responsibility to input
	    context instead of resetInputContext() directly. See also
	    comment for further information
	  - (clearFocus): Add unfocusInputContext();
	  - (event): Delegate reset responsibility to input context
	    instead of resetInputContext() directly. See also comment
	    for further information

	* src/kernel/qwidget_x11.cpp
	  - (setMicroFocusHint): Modify to follow API change
	  - (setActiveWindow): Modify to follow API change
	  - (focusInputContext): Modify to follow API change
	  - (unfocusInputContext): New function
	  - (sendMouseEventToInputContext): New function

	* src/kernel/qapplication_x11.cpp
	  - (class QETWidget): Change translateKeyEventInternal definition
	  - (x11ProcessEvent): Change QInputContext::filterEvent()
	    invocation to follow API change
	  - (translateKeyEventInternal):
	    * Add new arg statefulTranslation to enable duplicate call
	    within single event loop. This is retquired to support both
	    QInputContext::filterEvent() and RTL extensions
	    * Restore accidencially omitted qt_mode_switch_remove_mask
	    handling

	* src/input/qximinputcontext_p.h
	  - (class QXIMInputContext): Follow API change of QInputContext
	  - (language): Change return type to follow new API
	  - (setFocus): Change arg to follow new API
	  - (setFocusHint): Remove to follow new API
	  - (setMicroFocus): New method to follow new API
	  - (mouseHandler): New method to follow new API
	  - (sendIMEvent): New method (reimp)
	  - (focusWidget): Remove to follow new API
	  - (cpos): New variable
	  - (sellen): New variable
	* src/input/qximinputcontext_x11.cpp
	  - (qt_compose_emptied): Remove as result of optimization. It
	    has become unnecessary now
	  - (xic_start_callback): Add IMStart event sending as
	    result of optimization
	  - (xic_draw_callback): Optimize state management for IMEvent
	    sending, and simplify using sendIMEvent()
	  - (xic_done_callback): Simplify using sendIMEvent()
	  - (QXIMInputContext):
	    * Follow class definition change
	    * Follow API change
	  - (~QXIMInputContext): Modify to follow API change
	  - (x11FilterEvent): Optimize state management for IMEvent
	    sending, and simplify using sendIMEvent()
	  - (sendIMEvent): New function. Implement to remember last
	    IMEvent information
	  - (reset): Simplify using sendIMEvent()
	  - (resetClientState): Follow class definition change
	  - (setFocusHint): Remove to follow new API
	  - (setMicroFocus): copied from setFocusHint and modified to
	    follow new API
	  - (mouseHandler): New function. Implemented to reset the
	    context on MouseButtonPress except for Japanese IM. See
	    also comment for further information
	  - (setFocus): Reimplement to follow new API. Automatically
	    handles appropriate IMEvent sending on focus transition
	  - (unsetFocus): Reimplement to follow new API. Implemented to
	    reset the context on FocusOut except for Japanese IM. See
	    also comment for further information

	* src/widgets/qlineedit.h
	  - (sendMouseEventToInputContext): New function
	* src/widgets/qlineedit.cpp
	  - (QLineEditPrivate::composeMode): New function
	  - (QLineEditPrivate::hasIMSelection): New function
	  - (QLineEditPrivate::preeditLength): New function
	  - (QLineEditPrivate::imSelectionLength): New function
	  - (mousePressEvent, mouseMoveEvent, mouseReleaseEvent,
	     mouseDoubleClickEvent): Support QInputContext::mouseHandler()
	  - (sendMouseEventToInputContext): New function. Retrieve the
	    position and call QWidget::sendMouseEventToInputContext()
	  - (drawContents): Follow API change

	* src/widgets/qtextedit.h
	  - (sendMouseEventToInputContext): New function
	* src/widgets/qtextedit.cpp
	  - (QTextEditPrivate::composeMode): New function
	  - (sendMouseEventToInputContext): New function. Retrieve the
	    position and call QWidget::sendMouseEventToInputContext()
	  - (imComposeEvent, imEndEvent): Clean up with composeMode()
	  - (contentsMousePressEvent, contentsMouseMoveEvent,
	     contentsMouseReleaseEvent, contentsMouseDoubleClickEvent):
	    Support QInputContext::mouseHandler()

2004-06-01  YamaKen  <yamaken@bp.iij4u.or.jp>

	* src/input/qximinputcontext_x11.cpp (x11FilterEvent): Fix
	  commit problem except for on-the-spot style

2004-05-31  YamaKen  <yamaken@bp.iij4u.or.jp>

	* First 'Simplified API' patch. A lot of changes to be described

2004-03-16  Daisuke Kameda  <kaminmat@cc.rim.or.jp>

	* A lot of changes to be described before this date. Almost
	  of code are written by Daisuke Kameda