Thread: [Initranslator-svncheckins] SF.net SVN: initranslator: [70] translator/trunk/src
Brought to you by:
peter3
|
From: <pe...@us...> - 2006-08-01 12:59:57
|
Revision: 70 Author: peter3 Date: 2006-08-01 05:59:47 -0700 (Tue, 01 Aug 2006) ViewCVS: http://svn.sourceforge.net/initranslator/?rev=70&view=rev Log Message: ----------- - Better TMX parsing - Removed unsupported TBX theme Modified Paths: -------------- translator/trunk/src/MainFrm.dfm translator/trunk/src/MainFrm.pas translator/trunk/src/TMXPlugin/TMXParserImpl.pas Modified: translator/trunk/src/MainFrm.dfm =================================================================== --- translator/trunk/src/MainFrm.dfm 2006-07-30 11:40:34 UTC (rev 69) +++ translator/trunk/src/MainFrm.dfm 2006-08-01 12:59:47 UTC (rev 70) @@ -1427,8 +1427,7 @@ Top = 192 Bitmap = { 494C010146004A00040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 - 0000000000003600000028000000400000003001000001002000000000000030 - 0100000000000000000000000000000000000000000000000000000000000000 + 0000000000003600000028000000400000003001000001001000000000000098 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1497,29 +1496,64 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008031803160666066004260660042 + 6066004260660042000000000000000000000000000000000000000010001000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008031F37F80316066606660666066 + 0042606600426066004200000000000000000000000000000000100000000000 + 1000000000001000100000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008031F37F207F8031606660666066 + 6066606660660042606600420000000000000000000000000000100000000000 + 1000000010000000000010000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008031F37FFF7F207F803160666066 + 6066606660666066004260660042000000000000000000000000100000000000 + 1000000010000000000010000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008031F37F207FFF7F207F80318031 + 8031803180318031803180318031803100000000000000000000000010001000 + 1000000010000000000010000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008031F37FFF7F207FFF7F207F207F + 207F207F207F0000000000000000000000000000000000000000000000000000 + 1000000010001000100000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008031F37F207FFF7FF37FF37FF37F + F37FF37FF37F0000000000001000100010000000000000000000000000000000 + 1000000010000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008031FF7FF37F3367803180318031 + 8031803180318031000000000000100010000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000006066803180318031606600426066 + 0042000010000000000000001000000010000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000006066606660666066606660660042 + 6066004200001000100010000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008031803180318031803180318031 + 8031803180310000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000207F207F207F207F207F00000000 + 0000000000000000000000001000100010000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000F37FF37FF37FF37FF37F00000000 + 0000000000000000000000000000100010000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008031803180318031803180310000 + 0000000010000000000000001000000010000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000001000100010000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1530,6 +1564,61 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000104218631863 + 1863186318631863186318631863186300000000000000000000104218631863 + 1863186318631863186318631863186300000000803180316066606600426066 + 0042606600426066004200000000000000000000000086316C4E6C4EC618C618 + C618C618C618C618D65AD65AC618803100001040104010401040104010401042 + 104010401040104010401040FF7F186300001040104010401040104010401042 + 104010401040104010401040FF7F186300001040104010401040104010400042 + 1040104010401040104010400000000000000000104010401040104010401040 + FF7F1040104010401040104010406C4E00000000000018631863186300000000 + 000018631863186310420000FF7F186300000000000018631863186300000000 + 000018631863186310420000FF7F186300000000000018631863186300000000 + 0000186318631863104200000042000000000000000000001863186318630000 + 00000000186318631863104200006C4E00000000104200000000000018631042 + 186300000000000000001040FF7F186300000000104200000000000018631042 + 186300000000000000001040FF7F186300000000104200000000000018631042 + 1863000000000000000010406066004200000000000010420000000000001863 + 10421863000000000000000010406C4E000000001042FF7FFF7F186310420000 + FF7FFF7FFF7F186300001040FF7F1863000000001042FF7FFF7F186310420000 + FF7FFF7FFF7F186300001040FF7F1863000000001042FF7FFF7F186310420000 + FF7FFF7FFF7F186300001040803180318031000000001042FF7FFF7F18631042 + 0000FF7FFF7FFF7F1863000010406C4E000000001042FF7FFF7F186310420000 + FF7FFF7FFF7F186300001040FF7F1863000000001042FF7FFF7F186310421042 + FF7FFF7FFF7F186300001040FF7F1863000000001042FF7FFF7F186310420000 + FF7FFF7FFF7F186300001040000000000000000000001042FF7FFF7F18631042 + 0000FF7FFF7FFF7F1863000010406C4E000000001042FF7FFF7F186310421042 + FF7FFF7FFF7F186300001040FF7F1863000000001042FF7FFF7F186310421042 + FF7FFF7FFF7F186300001040FF7F1863000000001042FF7FFF7F186310421042 + FF7FFF7FFF7F186300001040000000000000000000001042FF7FFF7F18631042 + 1042FF7FFF7FFF7F1863000010403367000000001042FF7FFF7F186310421042 + FF7FFF7FFF7F186300001040FF7F1863000000001042FF7FFF7F186310421042 + FF7FFF7FFF7F186300001040FF7F1863000000001042FF7FFF7F186310421042 + FF7FFF7FFF7F186300001040000000000000000000001042FF7FFF7F18631042 + 1042FF7FFF7FFF7F1863000010403367000000000000FF7FFF7F186310420000 + FF7FFF7FFF7F186300001040FF7F1863000000000000FF7FFF7F186310420000 + FF7FFF7FFF7F186300001040FF7F1863000000000000FF7FFF7F186310420000 + FF7FFF7FFF7F186300001040CC00CC00CC00000000000000FF7FFF7F18631042 + 0000FF7FFF7FFF7F186300001040336700000000000010421042000000000000 + 000010421042000018631863FF7F18630000007C007C007C104200000000007C + 000010421042000018631863FF7F186300000000000010421042000000000000 + 0000104210420000000000000000D300CC000000000000001042104200000000 + FF7F0000104210420000F97F863133670000000000000000000010421863FF7F + 1863E07F18631863FF7F000000000000000000000000007C007CFF7F007C007C + 0000E07F18631863FF7F00000000000000000000000000000000000000000000 + 00000000D300000000000000D3000000CC00000000008631F97F6C4EFF7FFF7F + FF7FFF7FFF7FF97FF97FF37F86318631000000000000000000001042FF7FE07F + FF7FFF7FFF7FE07FFF7F1863FF7F104200000000007C007C007C007C007C007C + 007C007CFF7FE07FFF7F1863FF7F104200000000000000000000000000000000 + 000000000000D300D300D300000000000000000000008631FF7F6C4E6C326C32 + 6C326C326C326C326C326C3286311863000000000000000000001042FF7FFF7F + FF7FE07FFF7FFF7FFF7F1863104200000000007C007C0000007C007C007CFF7F + FF7FE07FFF7FFF7FFF7F18631042000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000863186316C4E6C326C32 + 6C326C326C326C326C326C328631863100000000000000000000104210421042 + 104210421042104210421042000000000000000000000000007C1042007C007C + 1042104210421042104210420000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1539,10 +1628,126 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000104218631863 + 1863186318631863186318631863186300000000000000000000104218631863 + 1863186318631863186318631863186300000000000000000000104218631863 + 1863186318631863186318631863186300000000000000000000104218631863 + 18631863186318631863186318631863000000000000000000001042FF7FE07F + FF7FFF7FFF7FE07FFF7FE07FFF7F1863000000000000000000001042FF7FE07F + FF7FFF7FFF7FE07FFF7FE07FFF7F1863000000000000000000001042FF7FE07F + FF7FFF7FFF7FE07FFF7FE07FFF7F1863000000000000000000001042FF7FE07F + FF7FFF7FFF7FE07FFF7FE07FFF7F1863000000000000000000001042FF7FFF7F + FF7F0000000000000000FF7FFF7F1863000000000000000000001042FF7FFF7F + FF7F0000000000000000FF7FFF7F1863000000000000000000001042FF7FFF7F + FF7FFF7F1040FF7FFF7FFF7FFF7F1863000000000000000000001042FF7FFF7F + FF7FFF7F1040FF7FFF7FFF7FFF7F1863000000000000000000001042FF7FE07F + FF7FE07F00000000FF7FE07FFF7F1863000000000000000000001042FF7FE07F + FF7FE07F00000000FF7FE07FFF7F1863000000000000000000001042FF7FE07F + FF7F1040FF7FE07FFF7FE07FFF7F1863000000000000000000001042FF7FE07F + FF7F1040FF7FE07FFF7FE07FFF7F1863000000000000000000001042FF7FFF7F + FF7FFF7F00000000FF7FFF7FFF7F1863000000000000000000001042FF7FFF7F + FF7FFF7F00000000FF7FFF7FFF7F1863000000000000000000001042FF7FFF7F + 10401040FF7FFF7FFF7FFF7FFF7F1863000000000000000000001042FF7FFF7F + 10401040FF7FFF7FFF7FFF7FFF7F1863000000000000000000001042FF7FE07F + FF7FE07F00000000FF7FE07FFF7F1863000000000000000000001042FF7FE07F + FF7FE07F00000000FF7FE07FFF7F1863000000000000000000001042FF7FE07F + 10401040FF7FE07FFF7FE07FFF7F1863000000000000000000001042FF7FE07F + 10401040FF7FE07FFF7FE07FFF7F1863000000000000000000001042FF7FFF7F + FF7FFF7F000000000000FF7FFF7F18630000000000000000007C1042FF7F007C + FF7FFF7F000000000000FF7FFF7F1863000000000000000000001042FF7FFF7F + 104010401040FF7FFF7F1040FF7F18630000000000000000007C1042FF7F007C + 104010401040FF7FFF7F1040FF7F1863000000000000000000001042FF7FE07F + FF7FE07FFF7FE07FFF7FE07FFF7F18630000000000000000007C007CFF7F007C + FF7FE07FFF7FE07FFF7FE07FFF7F1863000000000000000000001042FF7FE07F + FF7F10401040104010401040FF7F18630000000000000000007C007CFF7F007C + FF7F10401040104010401040FF7F1863000000000000000000001042FF7FFF7F + FF7FFF7F00001042FF7FFF7FFF7F186300000000000000000000007C007C007C + FF7F007C007C1042FF7FFF7FFF7F1863000000000000000000001042FF7FFF7F + FF7FFF7F1040104010401040FF7F186300000000000000000000007C007C007C + FF7F007C007C104010401040FF7F1863000000000000000000001042FF7FE07F + FF7F0000000000001863FF7FFF7F186300000000007C007C007C007C007C007C + 007C007C000000001863FF7FFF7F1863000000000000000000001042FF7FE07F + FF7F10401040104010401040FF7F186300000000007C007C007C007C007C007C + 007C007C1040104010401040FF7F1863000000000000000000001042FF7FFF7F + FF7FFF7F00001042FF7F0000000000000000000000000000007C007CFF7F007C + 007CFF7F00001042FF7F000000000000000000000000000000001042FF7FFF7F + FF7FFF7FFF7FFF7FFF7F0000000000000000000000000000007C007CFF7F007C + 007CFF7FFF7FFF7FFF7F000000000000000000000000000000001042FF7FE07F + FF7FFF7FFF7FE07FFF7F1863FF7F1042000000000000007C007C007C007C007C + 007C007C007CE07FFF7F1863FF7F1042000000000000000000001042FF7FE07F + FF7FFF7FFF7FE07FFF7F1863FF7F1042000000000000007C007C007C007C007C + 007C007C007CE07FFF7F1863FF7F1042000000000000000000001042FF7FFF7F + FF7FE07FFF7FFF7FFF7F18631042000000000000007C007C0000007C007C007C + FF7FE07FFF7FFF7FFF7F186310420000000000000000000000001042FF7FFF7F + FF7FE07FFF7FFF7FFF7F18631042000000000000007C007C0000007C007C007C + FF7FE07FFF7FFF7FFF7F18631042000000000000000000000000104210421042 + 1042104210421042104210420000000000000000000000000000007C1042007C + 007C104210421042104210420000000000000000000000000000104210421042 + 1042104210421042104210420000000000000000000000000000007C1042007C + 007C104210421042104210420000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000001863 + 0000000000000000000000000000000000000000000000000000000000001863 + 0000000000000000000000000000000000000000000000000000000000001863 + 0000000000000000000000000000000000000000000000000000000000001863 + 0000000000000000000000000000000000000000000000000000186310001000 + 1042186318631863186318631863186300000000000000000000186310001000 + 1042186318631863186318631863186300000000000000000000186310001000 + 1042186318631863186318631863186300000000000000000000186310001000 + 104218631863186318631863186318630000000000000000186310001F001F00 + 1042FF7FE07FFF7FFF7FE07FFF7F18630000000000000000186310001F001F00 + 1042FF7FE07FFF7FFF7FE07FFF7F18630000000000000000186310001F001F00 + 1042FF7FE07FFF7FFF7FE07FFF7F18630000000000000000186310001F001F00 + 1042FF7FE07FFF7FFF7FE07FFF7F1863000000000000000010001F001F001F00 + 1042FF7FFF7F1F001F001F00FF7F1863000000000000000010001F001F001F00 + 1042FF7FFF7F1F001F001F00FF7F1863000000000000000010001F001F001F00 + 1042FF7FE07F100010001863FF7F1863000000000000000010001F001F001F00 + 1042FF7FE07F100010001863FF7F186300000000000018631F0000021F001F00 + 1042FF7FE07FFF7FFF7FE07FFF7F186300000000000018631F0000021F001F00 + 1042FF7FE07FFF7FFF7FE07FFF7F186300000000000018631F0000021F001F00 + 1042FF7F10021F001F0010001863186300000000000018631F0000021F001F00 + 1042FF7F10021F001F00100018631863000000000000104200021F001F001F00 + 1042FF7FFF7F1F001F001F00FF7F1863000000000000104200021F001F001F00 + 1042FF7FFF7F1F001F001F00FF7F1863000000000000104200021F001F001F00 + 1042FF7F100210420002100010421863000000000000104200021F001F001F00 + 1042FF7F100210420002100010421863000000000000104218631F001F001002 + 1042E07FFF7FFF7FE07FFF7FFF7F1863000000000000104218631F001F001002 + 1042E07FFF7FFF7FFF7FFF7FFF7F1863000000000000104218631F001F001002 + 1042FF7F1002FF7F1042100018631863000000000000104218631F001F001002 + 1042FF7F1002FF7F10421000186318630000000000001042100218631F001863 + 1042FF7FFF7F1F001F00186300000000000000000000007C10021863007C1863 + 1042FF7FFF7F1F001F001863000000000000000000001042100218631F001863 + 1042FF7FE07F10021002186300000000000000000000007C10021863007C1863 + 1042FF7FE07F1002100218630000000000000000000010421863FF7F18631F00 + 1042FF7FE07FFF7FFF7F1863FF7F1042104200000000007C007CFF7F007C1F00 + 1042FF7FE07FFF7FFF7F1863FF7F104210420000000010421863FF7F18631F00 + 1042FF7FE07FFF7FFF7F1863FF7F1042104200000000007C007CFF7F007C1F00 + 1042FF7FE07FFF7FFF7F1863FF7F1042104200000000186310421863FF7F0002 + 1042FF7FFF7FFF7FE07F1863104210421863000000001863007C007C007C0002 + 007C007CFF7FFF7FE07F186310421042186300000000186310421863FF7F0002 + 1042FF7FFF7FFF7FE07F1863104210421863000000001863007C007C007C0002 + 007C007CFF7FFF7FE07F18631042104218630000000000001042FF7F18631002 + 104210421042104210421042104200000000007C007C007C007C007C007C007C + 007C104210421042104210421042000000000000000000001042FF7F18631002 + 104210421042104210421042104200000000007C007C007C007C007C007C007C + 007C1042104210421042104210420000000000000000000018631042FF7F1863 + FF7F00021F00000200021F0010001863000000000000007C007CFF7F007C007C + FF7F00021F00000200021F0010001863000000000000000018631042FF7F1863 + FF7F00021F00000200021F0010001863000000000000007C007CFF7F007C007C + FF7F00021F00000200021F001000186300000000000000000000186310421042 + 18631F00100210021F001F001863000000000000007C007C007C007C007C007C + 007C007C100210021F001F001863000000000000000000000000186310421042 + 18631F00100210021F001F001863000000000000007C007C007C007C007C007C + 007C007C100210021F001F001863000000000000000000000000000000001863 + 104210421042104218630000000000000000007C007C0000007C007C007C1863 + 1042104210421042186300000000000000000000000000000000000000001863 + 104210421042104218630000000000000000007C007C0000007C007C007C1863 + 1042104210421042186300000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000007C0000007C007C 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000007C0000007C007C 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1551,6 +1756,63 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000001040 + 0000104200000000000000000000000000000000000000000000000010401040 + 1040104010401040104010401040104000000000000000000000104218631863 + 1863186318631863186318631863186300000000000000000000104218631863 + 1863186318631863186318631863186300000000000000000000000010401040 + 0000FF7F1863FF7F0000000000000000000000000000000000001040FF7F0000 + 104210421863FF7FFF7FFF7FFF7F1040000000000000000000001042FF7FE07F + FF7FE07FFF7FFF7FFF7FFF7FE07F1863000000000000000000001042FF7FE07F + FF7FE07FFF7FFF7FFF7FFF7FE07F186300000000000000000000104010401040 + 00001042FF7F1863FF7F186300000000000000000000000010401040FF7F0000 + 1863FF7F104210421863FF7FFF7F1040000000000000000000001042FF7FFF7F + FF7FFF7FFF7FFF7FE07FFF7FFF7F1863000000000000000000001042FF7FFF7F + FF7FFF7FFF7FFF7FE07FFF7FFF7F186300000000000000001040104010401040 + 18630000000010421863FF7F1863000000000000000010401040FF7FFF7F0000 + 1863FF7FFF7FFF7F10421863FF7F1040000000000000000000001042E07FFF7F + 1F001F001F001F001F00FF7FFF7F1863000000000000000000001042E07FFF7F + 1F001F001F001F001F00FF7FFF7F186300000000000010401040104010401863 + 104010401040000000001042FF7F10420000000000001040FF7FFF7FFF7F0000 + 1863FF7FE07FFF7FFF7F1042FF7F1040000000000000000000001042FF7FFF7F + E07FFF7FFF7FFF7FFF7FFF7FE07F1863000000000000000000001042FF7FFF7F + E07FFF7FFF7FFF7FFF7FFF7FE07F186300000000104010401040104018631040 + 104010401040104010400000000010420000000000001040FF7FFF7FFF7F0000 + 1863FF7FFF7FFF7FE07F1042FF7F1040000000000000000000001042FF7FFF7F + 1F001F001F001F001F00FF7FFF7F1863000000000000000000001042FF7FFF7F + 1F001F001F001F001F00FF7FFF7F1863000000001040007C10401863007C1040 + 10401040104010401040104010400000000000000000007CFF7FFF7F007C0000 + 1863FF7FE07FFF7FFF7F1042FF7F1040000000000000000000001042E07FFF7F + E07FFF7FFF7FFF7FFF7FFF7FFF7F1863000000000000000000001042E07FFF7F + E07FFF7FFF7FFF7FFF7FFF7FFF7F1863000000001040007C007C1040007C1040 + 10401040104010401040104010400000000000000000007C007CFF7F007C0000 + 1863FF7FFF7FFF7FE07F1042FF7F1040000000000000000000001042FF7FE07F + 1F001F001F001F001F00FF7FFF7F18630000000000000000007C1042FF7F007C + 1F001F001F001F001F00FF7FFF7F18630000000010401863007C007C007C1040 + 007C007C1040104010401040000000000000000000001040007C007C007C0000 + 007C007CE07FFF7FFF7F1042FF7F1040000000000000000000001042FF7FFF7F + FF7FFF7FFF7FFF7FFF7FFF7FE07F18630000000000000000007C007CFF7F007C + FF7FFF7FFF7FFF7FFF7FFF7FE07F18630000007C007C007C007C007C007C007C + 007C10401040104010400000000000000000007C007C007C007C007C007C007C + 007CFF7FFF7FFF7FE07F104200000000000000000000000000001042FF7FE07F + 1F001F001F001F00FF7FFF7FFF7F186300000000000000000000007C007C007C + 1F00007C007C1F00FF7FFF7FFF7F1863000000000000007C007CFF7F007C007C + 10401040104010400000000000000000000000000000007C007CFF7F007C007C + 000010421042FF7FFF7F104200000000000000000000000000001042FF7FFF7F + FF7FFF7FFF7FFF7FFF7F00000000000000000000007C007C007C007C007C007C + 007C007CFF7FFF7FFF7F00000000000000000000007C007C007C007C007C007C + 007C007C10400000000000000000000000000000007C007C007C007C007C007C + 007C007C000010421042104200000000000000000000000000001042FF7FE07F + E07FFF7FE07FFF7FFF7F1863FF7F10420000000000000000007C007CFF7F007C + 007CFF7FE07FFF7FFF7F1863FF7F10420000007C007C0000007C007C007C0000 + 104010400000000000000000000000000000007C007C1042007C007C007C0000 + 00000000000000000000000000000000000000000000000000001042FF7FFF7F + FF7FFF7FFF7FFF7FE07F186310420000000000000000007C007C007C007C007C + 007C007C007CFF7FE07F1863104200000000000000000000007C0000007C007C + 000000000000000000000000000000000000000000000000007C0000007C007C + 0000000000000000000000000000000000000000000000000000104210421042 + 1042104210421042104210420000000000000000007C007C0000007C007C007C + 1042104210421042104210420000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1560,126 +1822,509 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000001040 + 0000104200000000000000000000000000000000000000000000000010401040 + 1040104010401040104010401040104000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000010401040 + 0000FF7F1863FF7F0000000000000000000000000000000000001040FF7F0000 + 104210421863FF7FFF7FFF7FFF7F104000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000104010401040 + 00001042FF7F1863FF7F186300000000000000000000000010401040FF7F0000 + 1863FF7F104210421863FF7FFF7F104000000000000000000000FF7FFF7FFF7F + FF7FFF7FFF7FFF7FFF7F00000000000000000000000000000000000000000000 + 1042FF7F00000000000000000000000000000000000000001040104010401040 + 18630000000010421863FF7F1863000000000000000010401040FF7FFF7F0000 + 1863FF7FFF7FFF7F10421863FF7F104000000000000000000000104210420000 + 000000000000FF7FFF7F00000000000000000000000000000000000000001042 + 1042FF7FFF7F0000000000000000000000000000000010401040104010401863 + 104010401040000000001042FF7F10420000000000001040FF7FFF7FFF7F0000 + 1863FF7FE07FFF7FFF7F1042FF7F104000000000000000000000000010420000 + 000000000000FF7F000000000000000000000000000000000000000000001042 + 00000000FF7F0000000000000000000000000000104010401040104018631040 + 104010401040104010400000000010420000000000001040FF7FFF7FFF7F0000 + 1863FF7FFF7FFF7FE07F1042FF7F104000000000000000000000000010421042 + 00000000FF7FFF7F000000000000000000000000000000000000000010421042 + 00000000FF7FFF7F000000000000000000000000104010401040186310401040 + 104010401040104010401040104000000000000000001040FF7FFF7FFF7F0000 + 1863FF7FE07FFF7FFF7F1042FF7F104000000000000000000000000000001042 + 00000000FF7F0000000000000000000000000000000000000000000010420000 + 000000000000FF7F000000000000000000000000104010401863104010401040 + 104010401040104010401040104000000000000000001040FF7FFF7FFF7F0000 + 1863FF7FFF7FFF7FE07F1042FF7F104000000000000000000000000000001042 + 1042FF7FFF7F0000000000000000000000000000000000000000104210420000 + 000000000000FF7FFF7F00000000000000000000104018631040104010401040 + 104010401040104010401040000000000000000000001040FF7FFF7FFF7F0000 + 1863FF7FE07FFF7FFF7F1042FF7F104000000000000000000000000000000000 + 1042FF7F00000000000000000000000000000000000000000000104210421042 + 1042104210421042104200000000000000000000186310401040104010401040 + 104010401040104010400000000000000000000000001040FF7FFF7F18631042 + 1042FF7FFF7FFF7FE07F10420000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000001040104010401040 + 104010401040104000000000000000000000000000001040FF7FFF7F10420000 + 000010421042FF7FFF7F10420000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000063630000636300009CCE00009C - CE0000848400009CCE0000848400009CCE0000848400009CCE00008484000000 + 0000000000000000000000000000000000000000000000000000000010401040 + 104010401040000000000000000000000000000000001040FF7F186310420000 + 0000000000001042104210420000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000008400000084000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 1040104000000000000000000000000000000000000010421863104200000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000006363009CFFFF0000636300009C - CE00009CCE00009CCE00009CCE0000848400009CCE0000848400009CCE000084 - 8400000000000000000000000000000000000000000000000000000000000000 - 0000840000000000000000000000840000000000000000000000840000008400 + 0000000000000000000000000000000000000000000000001042000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000006363009CFFFF0000CEFF000063 - 6300009CCE00009CCE00009CCE00009CCE00009CCE00009CCE0000848400009C - CE00008484000000000000000000000000000000000000000000000000000000 - 0000840000000000000000000000840000000000000084000000000000000000 - 0000840000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000001F001F001F0000001F001F00 + 1F001F001F000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000084100821 + 945210410410000000000000000000000000000000001F000000186300000000 + 00001F001F00000000000000000000000000000000000000000000000000007C + 007C007C007C007C00000000000000000000000000000000FF7FFF7FFF7FFF7F + FF7FFF7FFF7FFF7FFF7FFF7F0000000000000000000000000000082194521863 + 7B6F1863104104100000000000000000000000000000000010421863FF7F1863 + 1863000000000000000000000000000000000000000000000000007C007C007C + 007C007C007C007C007C007C000000000000000000000000FF7FFF7FFF7FFF7F + FF7FFF7FFF7FFF7FFF7FFF7F000000000000000000000821945218637B6F3967 + 524AD65A186390400410000000000000000000000000000000001042FF7FFF7F + 104200000000396739673967396739670000000000000000007C007C007C007C + 007C007C007C007C007C007C007C00000000000000000000FF7FFF7FFF7FFF7F + 0002FF7FFF7FFF7FFF7FFF7F0000000000000410524A18637B6F3967524A9041 + 00009041D65A18639... [truncated message content] |
|
From: <pe...@us...> - 2006-08-04 21:42:06
|
Revision: 80 Author: peter3 Date: 2006-08-04 14:41:52 -0700 (Fri, 04 Aug 2006) ViewCVS: http://svn.sourceforge.net/initranslator/?rev=80&view=rev Log Message: ----------- - New tool plugin to view all properties of the translation items Added Paths: ----------- translator/trunk/src/ToolPropertiesView/ translator/trunk/src/ToolPropertiesView/ToolPropertiesView.dof translator/trunk/src/ToolPropertiesView/ToolPropertiesView.dpr translator/trunk/src/ToolPropertiesView/ToolPropertiesView.res translator/trunk/src/ToolPropertiesView/ToolPropertiesViewFrm.dfm translator/trunk/src/ToolPropertiesView/ToolPropertiesViewFrm.pas translator/trunk/src/ToolPropertiesView/ToolPropertiesViewImpl.pas Added: translator/trunk/src/ToolPropertiesView/ToolPropertiesView.dof =================================================================== --- translator/trunk/src/ToolPropertiesView/ToolPropertiesView.dof (rev 0) +++ translator/trunk/src/ToolPropertiesView/ToolPropertiesView.dof 2006-08-04 21:41:52 UTC (rev 80) @@ -0,0 +1,41 @@ +[Compiler] +UnsafeType=0 +UnsafeCode=0 +UnsafeCast=0 +[Linker] +MapFile=3 +OutputObjs=0 +ConsoleApp=1 +DebugInfo=0 +RemoteSymbols=0 +MinStackSize=16384 +MaxStackSize=1048576 +ImageBase=4194304 +[Directories] +OutputDir=..\..\bin\plugins +UnitOutputDir=..\..\dcu +[Version Info] +IncludeVerInfo=1 +AutoIncBuild=1 +MajorVer=1 +MinorVer=9 +Release=0 +Build=0 +Debug=0 +PreRelease=0 +Special=0 +Private=0 +DLL=1 +Locale=1053 +CodePage=1252 +[Version Info Keys] +CompanyName=IniTranslator +FileDescription=Tool Property Viewer Plugin for IniTranslator +FileVersion=1.9.0.0 +InternalName=ToolPropertiesView.dll +LegalCopyright=Copyright (c) 2006 by Peter Th\xF6rnqvist; all rights reserved +LegalTrademarks= +OriginalFilename=ToolPropertiesView.dll +ProductName=Tool Property Viewer Plugin for IniTranslator +ProductVersion=1.9.0.12 +Commments=Latest version available at http://initranslator.sourceforge.net \ No newline at end of file Added: translator/trunk/src/ToolPropertiesView/ToolPropertiesView.dpr =================================================================== --- translator/trunk/src/ToolPropertiesView/ToolPropertiesView.dpr (rev 0) +++ translator/trunk/src/ToolPropertiesView/ToolPropertiesView.dpr 2006-08-04 21:41:52 UTC (rev 80) @@ -0,0 +1,39 @@ +{@abstract(Tool plugin to view all properties of the items) } +{ + Copyright \xA9 2003-2006 by Peter Thornqvist; all rights reserved + + Developer(s): + p3 - peter3 att users dott sourceforge dott net + + Status: + The contents of this file are subject to the Mozilla Public License Version + 1.1 (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at http://www.mozilla.org/MPL/MPL-1.1.html + + Software distributed under the License is distributed on an "AS IS" basis, + WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for + the specific language governing rights and limitations under the License. +} + +// $Id$ +library ToolPropertiesView; + +uses + SysUtils, + Classes, + TransIntf in '..\TransIntf.pas', + ToolPropertiesViewImpl in 'ToolPropertiesViewImpl.pas', + ToolPropertiesViewFrm in 'ToolPropertiesViewFrm.pas' {frmToolPropertiesView: TTntForm}; + +{$R *.res} + +function InstallPlugin(out ToolItems: IToolItems): HResult; stdcall; +begin + ToolItems := TToolPropertiesViewPlugins.Create; + Result := S_OK; +end; + +exports InstallPlugin name cRegisterTransToolItemsFuncName; + +begin +end. Property changes on: translator/trunk/src/ToolPropertiesView/ToolPropertiesView.dpr ___________________________________________________________________ Name: svn:keywords + LastChangedDate Rev LastChangedBy URL Id Added: translator/trunk/src/ToolPropertiesView/ToolPropertiesView.res =================================================================== (Binary files differ) Property changes on: translator/trunk/src/ToolPropertiesView/ToolPropertiesView.res ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: translator/trunk/src/ToolPropertiesView/ToolPropertiesViewFrm.dfm =================================================================== --- translator/trunk/src/ToolPropertiesView/ToolPropertiesViewFrm.dfm (rev 0) +++ translator/trunk/src/ToolPropertiesView/ToolPropertiesViewFrm.dfm 2006-08-04 21:41:52 UTC (rev 80) @@ -0,0 +1,91 @@ +object frmToolPropertiesView: TfrmToolPropertiesView + Left = 460 + Top = 210 + Width = 699 + Height = 514 + Caption = 'View all properties' + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Shell Dlg 2' + Font.Style = [] + OldCreateOrder = False + Position = poDesktopCenter + PixelsPerInch = 96 + TextHeight = 13 + object TntStatusBar1: TTntStatusBar + Left = 0 + Top = 468 + Width = 691 + Height = 19 + Panels = < + item + Width = 50 + end> + end + object lvItems: TTntListView + Left = 0 + Top = 0 + Width = 691 + Height = 468 + Align = alClient + BevelKind = bkFlat + BorderStyle = bsNone + Columns = < + item + Caption = 'Index' + end + item + Caption = 'Original' + Width = 100 + end + item + Caption = 'Translation' + Width = 100 + end + item + Caption = 'OrigComments' + Width = 100 + end + item + Caption = 'TransComments' + Width = 100 + end + item + Caption = 'PreData' + Width = 100 + end + item + Caption = 'PostData' + Width = 100 + end + item + Caption = 'OrigQuote' + Width = 70 + end + item + Caption = 'TransQuote' + Width = 70 + end + item + Caption = 'PrivateStorage' + Width = 100 + end + item + Caption = 'ClearOriginal' + Width = 100 + end + item + Caption = 'ClearTranslation' + Width = 100 + end> + GridLines = True + OwnerData = True + ReadOnly = True + RowSelect = True + TabOrder = 1 + ViewStyle = vsReport + OnData = lvItemsData + end +end Added: translator/trunk/src/ToolPropertiesView/ToolPropertiesViewFrm.pas =================================================================== --- translator/trunk/src/ToolPropertiesView/ToolPropertiesViewFrm.pas (rev 0) +++ translator/trunk/src/ToolPropertiesView/ToolPropertiesViewFrm.pas 2006-08-04 21:41:52 UTC (rev 80) @@ -0,0 +1,81 @@ +unit ToolPropertiesViewFrm; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, TntForms, TransIntf, ComCtrls, TntComCtrls; + +type + TfrmToolPropertiesView = class(TTntForm) + TntStatusBar1: TTntStatusBar; + lvItems: TTntListView; + procedure lvItemsData(Sender: TObject; Item: TListItem); + private + { Private declarations } + FItems: ITranslationItems; + procedure LoadItems(const Items: ITranslationItems); + procedure RefreshView; + public + { Public declarations } + class function Execute(const Items, Orphans: ITranslationItems; var SelectedITem: ITranslationItem): Boolean; + end; + +implementation + +{$R *.DFM} + +{ TfrmToolPropertiesView } + +class function TfrmToolPropertiesView.Execute(const Items, + Orphans: ITranslationItems; var SelectedITem: ITranslationItem): Boolean; +var frm: TfrmToolPropertiesView; +begin + frm := self.Create(Application); + try + frm.LoadItems(Items); + frm.ShowModal; + Result := false; // no changes + finally + frm.Free; + end; +end; + +procedure TfrmToolPropertiesView.LoadItems(const Items: ITranslationItems); +begin + FItems := Items; + RefreshView; +end; + +procedure TfrmToolPropertiesView.RefreshView; +begin + if FItems <> nil then + lvItems.Items.Count := FItems.Count + else + lvItems.Items.Count := 0; + TntStatusBar1.Panels[0].Text := WideFormat(' %d item(s) in list',[lvItems.Items.Count]); +end; + +procedure TfrmToolPropertiesView.lvItemsData(Sender: TObject; + Item: TListItem); +begin + if (FItems <> nil) and (Item.Index >= 0) and (Item.Index < FItems.Count) then + with TTntListItem(Item) do + begin + Caption := IntToStr(FItems[Index].Index); + SubItems.Add(FItems[Index].Original); + SubItems.Add(FItems[Index].Translation); + SubItems.Add(FItems[Index].OrigComments); + SubItems.Add(FItems[Index].TransComments); + SubItems.Add(FItems[Index].PreData); + SubItems.Add(FItems[Index].PostData); + SubItems.Add(FItems[Index].OrigQuote); + SubItems.Add(FItems[Index].TransQuote); + SubItems.Add(FItems[Index].PrivateStorage); + SubItems.Add(FItems[Index].ClearOriginal); + SubItems.Add(FItems[Index].ClearTranslation); + end; +end; + +end. + Property changes on: translator/trunk/src/ToolPropertiesView/ToolPropertiesViewFrm.pas ___________________________________________________________________ Name: svn:keywords + LastChangedDate Rev LastChangedBy URL Id Added: translator/trunk/src/ToolPropertiesView/ToolPropertiesViewImpl.pas =================================================================== --- translator/trunk/src/ToolPropertiesView/ToolPropertiesViewImpl.pas (rev 0) +++ translator/trunk/src/ToolPropertiesView/ToolPropertiesViewImpl.pas 2006-08-04 21:41:52 UTC (rev 80) @@ -0,0 +1,123 @@ +{@abstract(Implementation if ToolPropertiesView) } +{ + Copyright \xA9 2003-2006 by Peter Thornqvist; all rights reserved + + Developer(s): + p3 - peter3 att users dott sourceforge dott net + + Status: + The contents of this file are subject to the Mozilla Public License Version + 1.1 (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at http://www.mozilla.org/MPL/MPL-1.1.html + + Software distributed under the License is distributed on an "AS IS" basis, + WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for + the specific language governing rights and limitations under the License. +} + +// $Id$ +unit ToolPropertiesViewImpl; + +interface +uses + Classes, TransIntf; + +type + TToolPropertiesViewPlugins = class(TInterfacedObject, IInterface, IToolItems) + public + function Count: Integer; safecall; + function ToolItem(Index: Integer; out ToolItem: IToolItem): HRESULT; safecall; + end; + + TToolPropertiesViewPlugin = class(TInterfacedObject, IInterface, IToolItem) + private + FOldAppHandle:Cardinal; + public + + function About: WideString; safecall; + function DisplayName: WideString; safecall; + function Execute(const Items: ITranslationItems; + const Orphans: ITranslationItems; + var SelectedItem: ITranslationItem): HRESULT; safecall; + function Icon: Cardinal; safecall; + procedure Init(AppHandle: Cardinal); safecall; + function Status(const Items: ITranslationItems; + const Orphans: ITranslationItems; + const SelectedItem: ITranslationItem): Integer; safecall; + destructor Destroy; override; + + end; + +implementation +uses + Forms, ToolPropertiesViewFrm; + +{ TToolPropertiesViewPlugins } + +function TToolPropertiesViewPlugins.Count: Integer; +begin + Result := 1; +end; + +function TToolPropertiesViewPlugins.ToolItem(Index: Integer; + out ToolItem: IToolItem): HRESULT; +begin + if Index = 0 then + begin + ToolItem := TToolPropertiesViewPlugin.Create; + Result := S_OK; + end + else + Result := S_FALSE; +end; + +{ TToolPropertiesViewPlugin } + +function TToolPropertiesViewPlugin.About: WideString; +begin + Result := 'Plugin to display all properties of the translation items'; +end; + +destructor TToolPropertiesViewPlugin.Destroy; +begin + if FOldAppHandle <> 0 then + Application.Handle := FOldAppHandle; + inherited Destroy; +end; + +function TToolPropertiesViewPlugin.DisplayName: WideString; +begin + Result := 'View all properties'; +end; + +function TToolPropertiesViewPlugin.Execute(const Items, + Orphans: ITranslationItems; var SelectedItem: ITranslationItem): HRESULT; +begin + if TfrmToolPropertiesView.Execute(Items, Orphans, SelectedItem) then + Result := S_OK + else + Result := S_FALSE; +end; + +function TToolPropertiesViewPlugin.Icon: Cardinal; +begin + Result := 0; +end; + +procedure TToolPropertiesViewPlugin.Init(AppHandle: Cardinal); +begin + if FOldAppHandle = 0 then + FOldAppHandle := Application.Handle; + Application.Handle := AppHandle; +end; + +function TToolPropertiesViewPlugin.Status(const Items, + Orphans: ITranslationItems; + const SelectedItem: ITranslationItem): Integer; +begin + Result := TOOL_VISIBLE; + if Items.Count > 0 then + Result := Result or TOOL_ENABLED; +end; + +end. Property changes on: translator/trunk/src/ToolPropertiesView/ToolPropertiesViewImpl.pas ___________________________________________________________________ Name: svn:keywords + LastChangedDate Rev LastChangedBy URL Id This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <pe...@us...> - 2006-08-07 14:05:08
|
Revision: 81 Author: peter3 Date: 2006-08-07 07:04:59 -0700 (Mon, 07 Aug 2006) ViewCVS: http://svn.sourceforge.net/initranslator/?rev=81&view=rev Log Message: ----------- - set correct tag in XLIFF parser if there was none Modified Paths: -------------- translator/trunk/src/OptionsFrm.dfm translator/trunk/src/XLIFFPlugin/XLIFFParserImpl.pas Modified: translator/trunk/src/OptionsFrm.dfm =================================================================== --- translator/trunk/src/OptionsFrm.dfm 2006-08-04 21:41:52 UTC (rev 80) +++ translator/trunk/src/OptionsFrm.dfm 2006-08-07 14:04:59 UTC (rev 81) @@ -237,7 +237,8 @@ Width = 330 Height = 25 Anchors = [akLeft, akRight, akBottom] - BevelOuter = bvLowered + BevelKind = bkFlat + BevelOuter = bvNone TabOrder = 24 end object chkMonitorFiles: TTntCheckBox Modified: translator/trunk/src/XLIFFPlugin/XLIFFParserImpl.pas =================================================================== --- translator/trunk/src/XLIFFPlugin/XLIFFParserImpl.pas 2006-08-04 21:41:52 UTC (rev 80) +++ translator/trunk/src/XLIFFPlugin/XLIFFParserImpl.pas 2006-08-07 14:04:59 UTC (rev 81) @@ -242,6 +242,8 @@ begin TI.Original := StripTags((SourceNode as IDOMNodeEx).xml); TI.PreData := SaveTag((SourceNode as IDOMNodeEx).xml); + if TI.PreData = '' then + TI.PreData := '<source>'; ParentNode := SourceNode.parentNode; ParentNode.removeChild(SourceNode); end; @@ -253,6 +255,8 @@ begin TI.Translation := StripTags((TargetNode as IDOMNodeEx).xml); TI.PostData := SaveTag((TargetNode as IDOMNodeEx).xml); + if TI.PostData = '' then + TI.PostData := '<target>'; ParentNode := TargetNode.ParentNode; ParentNode.removeChild(TargetNode); end; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <pe...@us...> - 2006-08-17 12:25:40
|
Revision: 88 Author: peter3 Date: 2006-08-17 05:25:24 -0700 (Thu, 17 Aug 2006) ViewCVS: http://svn.sourceforge.net/initranslator/?rev=88&view=rev Log Message: ----------- MainFrm, AppOptions, EncodingDlgs, OptionsFrm, TranslateFile - Header and Footer added. OptionsFrm: - Rearranged items DictEditFrm: - Popup menu to set translation as default Modified Paths: -------------- translator/trunk/languages/Czech.lng translator/trunk/src/AppOptions.pas translator/trunk/src/DictEditFrm.dfm translator/trunk/src/DictEditFrm.pas translator/trunk/src/EncodingDlgs.dfm translator/trunk/src/EncodingDlgs.pas translator/trunk/src/MainFrm.pas translator/trunk/src/OptionsFrm.dfm translator/trunk/src/OptionsFrm.pas translator/trunk/src/TranslateFile.pas translator/trunk/src/translator.dof Modified: translator/trunk/languages/Czech.lng =================================================================== --- translator/trunk/languages/Czech.lng 2006-08-16 13:11:20 UTC (rev 87) +++ translator/trunk/languages/Czech.lng 2006-08-17 12:25:24 UTC (rev 88) @@ -1,5 +1,6 @@ \xFF\xFE[ |
|
From: <pe...@us...> - 2006-08-17 15:53:25
|
Revision: 90 Author: peter3 Date: 2006-08-17 08:52:55 -0700 (Thu, 17 Aug 2006) ViewCVS: http://svn.sourceforge.net/initranslator/?rev=90&view=rev Log Message: ----------- ToolListEdit: - Now uses listview instead - Now uses virtual data so it is a bit speedier (no copying) Main, TransIntf, Dictionary - New interfaces for accessing Dictionary AppOptions, AppUtils: - moved strtok ImportExportFrm: - renamed DLL entry point Modified Paths: -------------- translator/trunk/src/AppOptions.pas translator/trunk/src/AppUtils.pas translator/trunk/src/Dictionary.pas translator/trunk/src/ImportExportFrm.pas translator/trunk/src/MainFrm.dfm translator/trunk/src/MainFrm.pas translator/trunk/src/ToolListEdit/ToolListEditFrm.dfm translator/trunk/src/ToolListEdit/ToolListEditFrm.pas translator/trunk/src/TransIntf.pas Modified: translator/trunk/src/AppOptions.pas =================================================================== --- translator/trunk/src/AppOptions.pas 2006-08-17 13:10:55 UTC (rev 89) +++ translator/trunk/src/AppOptions.pas 2006-08-17 15:52:55 UTC (rev 90) @@ -437,34 +437,7 @@ inherited; end; -{$J+ } -function strtok(Search, Delim: WideString): WideString; -const - - I: integer = 1; - Len: integer = 0; - PrvStr: WideString = ''; -begin - Result := ''; - if Search <> '' then - begin - I := 1; - PrvStr := Search; - Len := Length(PrvStr); - end; - if PrvStr = '' then - Exit; - while (i <= Len) and (Pos(PrvStr[i], Delim) > 0) do - Inc(I); - while (i <= Len) and (Pos(PrvStr[i], Delim) = 0) do - begin - Result := Result + PrvStr[i]; - Inc(i); - end; -end; -{$J- } - procedure TAppOptions.ReadWindowInfos(ini: TWideCustomIniFile); var i: integer; Modified: translator/trunk/src/AppUtils.pas =================================================================== --- translator/trunk/src/AppUtils.pas 2006-08-17 13:10:55 UTC (rev 89) +++ translator/trunk/src/AppUtils.pas 2006-08-17 15:52:55 UTC (rev 90) @@ -58,7 +58,9 @@ // for Delphi 6 function ValueFromIndex(S: TTntStrings; i: integer): WideString; overload; function ValueFromIndex(S: TStrings; i: integer): AnsiString; overload; +function strtok(Search, Delim: WideString): WideString; + implementation uses Windows, Forms, Dialogs, Math, Registry, @@ -498,6 +500,40 @@ end; end; +{$IFOPT J+} +{$DEFINE JOPTSET} +{$ENDIF} +{$J+ } + +function strtok(Search, Delim: WideString): WideString; +const + + I: integer = 1; + Len: integer = 0; + PrvStr: WideString = ''; +begin + Result := ''; + if Search <> '' then + begin + I := 1; + PrvStr := Search; + Len := Length(PrvStr); + end; + if PrvStr = '' then + Exit; + while (i <= Len) and (Pos(PrvStr[i], Delim) > 0) do + Inc(I); + while (i <= Len) and (Pos(PrvStr[i], Delim) = 0) do + begin + Result := Result + PrvStr[i]; + Inc(i); + end; +end; +{$IFDEF JOPTSET} +{$J- } +{$ENDIF JOPTSET} +{$UNDEF JOPTSET} + initialization finalization Modified: translator/trunk/src/Dictionary.pas =================================================================== --- translator/trunk/src/Dictionary.pas 2006-08-17 13:10:55 UTC (rev 89) +++ translator/trunk/src/Dictionary.pas 2006-08-17 15:52:55 UTC (rev 90) @@ -19,35 +19,49 @@ interface uses - SysUtils, Classes, TntClasses; + SysUtils, Classes, TntClasses, TransIntf; type - TDictionaryItem = class + TDictionaryItem = class(TInterfacedObject, IInterface, IDictionaryItem) private FTranslations: TTntStrings; FOriginal: WideString; FOnChange: TNotifyEvent; - FDefaultIndex: integer; procedure SetTranslations(const Value: TTntStrings); procedure Change; + {IDictionaryItem} procedure SetOriginal(const Value: WideString); + function GetOriginal:WideString; + function TranslationCount:integer; + function GetTranslation(Index:Integer):WideString; + procedure SetTranslation(Index:integer; const Value:WideString); + function Add(const Translation:WideString):Integer; + procedure Delete(Index:integer); + function IndexOf(const Translation:WideString):integer; + procedure Clear; public constructor Create; destructor Destroy; override; - function DefaultTranslation:string; property Original: WideString read FOriginal write SetOriginal; property Translations: TTntStrings read FTranslations write SetTranslations; - property DefaultIndex:integer read FDefaultIndex write FDefaultIndex; property OnChange: TNotifyEvent read FOnChange write FOnChange; end; - TDictionaryItems = class(TPersistent) + TDictionaryItems = class(TInterfacedPersistent, IInterface, IDictionaryItems) private FItems: TList; - FIgnorePunctuation: boolean; - FModified: boolean; + FIgnorePunctuation: WordBool; + FModified: WordBool; function GetCount: integer; function GetItems(Index: integer): TDictionaryItem; + {IDictionaryItems} + function IDictionaryItems.Add = DictAdd; + function GetModified:WordBool; + procedure SetModified(Value:WordBool); + function GetItem(Index:integer):IDictionaryItem; + function GetIgnorePunctuation:WordBool; + procedure SetIgnorePunctuation(Value:WordBool); + function DictAdd(const AOriginal: WideString): IDictionaryItem; protected procedure DoChange(Sender: TObject); procedure Merge; @@ -66,10 +80,10 @@ destructor Destroy; override; property Items[Index: integer]: TDictionaryItem read GetItems; default; property Count: integer read GetCount; - property Modified:boolean read FModified write FModified; + property Modified:WordBool read GetModified write SetModified; procedure LoadFromFile(const Filename: WideString); procedure SaveToFile(const Filename: WideString); - property IgnorePunctuation: boolean read FIgnorePunctuation write FIgnorePunctuation; + property IgnorePunctuation: WordBool read GetIgnorePunctuation write SetIgnorePunctuation; end; implementation @@ -102,12 +116,22 @@ { TDictionaryItem } +function TDictionaryItem.Add(const Translation: WideString): Integer; +begin + Result := Translations.Add(Translation); +end; + procedure TDictionaryItem.Change; begin if Assigned(FOnChange) then FOnChange(Self); end; +procedure TDictionaryItem.Clear; +begin + Translations.Clear; +end; + constructor TDictionaryItem.Create; begin inherited Create; @@ -115,22 +139,32 @@ TTntStringlist(FTranslations).Sorted := true; end; +procedure TDictionaryItem.Delete(Index: integer); +begin + Translations.Delete(Index); +end; + destructor TDictionaryItem.Destroy; begin FTranslations.Free; inherited Destroy; end; -function TDictionaryItem.DefaultTranslation: string; +function TDictionaryItem.GetOriginal: WideString; begin - if (DefaultIndex >= 0) and (DefaultIndex < Translations.Count) then - Result := Translations[DefaultIndex] - else if Translations.Count > 0 then - Result := Translations[0] - else - Result := ''; + Result := FOriginal; end; +function TDictionaryItem.GetTranslation(Index: Integer): WideString; +begin + Result := Translations[Index] +end; + +function TDictionaryItem.IndexOf(const Translation: WideString): integer; +begin + Result := TRanslations.IndexOf(Translation); +end; + procedure TDictionaryItem.SetOriginal(const Value: WideString); begin if FOriginal <> Value then @@ -140,12 +174,23 @@ end; end; +procedure TDictionaryItem.SetTranslation(Index: integer; + const Value: WideString); +begin + Translations[Index] := Value; +end; + procedure TDictionaryItem.SetTranslations(const Value: TTntStrings); begin FTranslations.Assign(Value); Change; end; +function TDictionaryItem.TranslationCount: integer; +begin + Result := Translations.Count; +end; + { TDictionaryItems } function TDictionaryItems.Add(const AOriginal: WideString): TDictionaryItem; @@ -225,6 +270,11 @@ inherited; end; +function TDictionaryItems.DictAdd(const AOriginal: WideString): IDictionaryItem; +begin + Result := Add(AOriginal); +end; + procedure TDictionaryItems.DoChange(Sender: TObject); begin // always sort after the original string has been changed, so it ends up in the right position @@ -254,11 +304,26 @@ Result := FItems.Count; end; +function TDictionaryItems.GetIgnorePunctuation: WordBool; +begin + Result := FIgnorePunctuation; +end; + +function TDictionaryItems.GetItem(Index: integer): IDictionaryItem; +begin + Result := Items[Index]; +end; + function TDictionaryItems.GetItems(Index: integer): TDictionaryItem; begin Result := TDictionaryItem(FItems[Index]); end; +function TDictionaryItems.GetModified: WordBool; +begin + Result := FModified; +end; + function TDictionaryItems.IndexOf(const S: WideString): integer; begin if not Find(S, Result) then @@ -293,7 +358,7 @@ // format: // original=translation, translation, translation[,translation] Clear; - AFile := TTNtStringlist.Create; + AFile := TTntStringlist.Create; AValues := TTNtStringlist.Create; try AFile.LoadFromFile(Filename); @@ -361,6 +426,16 @@ Modified := false; end; +procedure TDictionaryItems.SetIgnorePunctuation(Value: WordBool); +begin + FIgnorePunctuation := Value; +end; + +procedure TDictionaryItems.SetModified(Value: WordBool); +begin + FModified := Value; +end; + procedure TDictionaryItems.Sort; begin FItems.Sort(OriginalCompare); Modified: translator/trunk/src/ImportExportFrm.pas =================================================================== --- translator/trunk/src/ImportExportFrm.pas 2006-08-17 13:10:55 UTC (rev 89) +++ translator/trunk/src/ImportExportFrm.pas 2006-08-17 15:52:55 UTC (rev 90) @@ -77,7 +77,7 @@ function InternalLoadLibrary(const LibName: WideString): TLibItem; var LibHandle: HMODULE; - ExportFunc: TExportFunc; + ExportFunc: TExportFileParserFunc; i: integer; begin Result := nil; @@ -100,7 +100,7 @@ if (@ExportFunc <> nil) then begin Result := TLibItem.Create; - // check that we can get an implementation + // check that we can get an implementation if (ExportFunc(Result.Parser) <> S_OK) then FreeAndNil(Result) else Modified: translator/trunk/src/MainFrm.dfm =================================================================== --- translator/trunk/src/MainFrm.dfm 2006-08-17 13:10:55 UTC (rev 89) +++ translator/trunk/src/MainFrm.dfm 2006-08-17 15:52:55 UTC (rev 90) @@ -1427,7 +1427,8 @@ Top = 192 Bitmap = { 494C010146004A00040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 - 0000000000003600000028000000400000003001000001001000000000000098 + 0000000000003600000028000000400000003001000001002000000000000030 + 0100000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1496,64 +1497,29 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000008031803160666066004260660042 - 6066004260660042000000000000000000000000000000000000000010001000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000008031F37F80316066606660666066 - 0042606600426066004200000000000000000000000000000000100000000000 - 1000000000001000100000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000008031F37F207F8031606660666066 - 6066606660660042606600420000000000000000000000000000100000000000 - 1000000010000000000010000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000008031F37FFF7F207F803160666066 - 6066606660666066004260660042000000000000000000000000100000000000 - 1000000010000000000010000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000008031F37F207FFF7F207F80318031 - 8031803180318031803180318031803100000000000000000000000010001000 - 1000000010000000000010000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000008031F37FFF7F207FFF7F207F207F - 207F207F207F0000000000000000000000000000000000000000000000000000 - 1000000010001000100000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000008031F37F207FFF7FF37FF37FF37F - F37FF37FF37F0000000000001000100010000000000000000000000000000000 - 1000000010000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000008031FF7FF37F3367803180318031 - 8031803180318031000000000000100010000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000006066803180318031606600426066 - 0042000010000000000000001000000010000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000006066606660666066606660660042 - 6066004200001000100010000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000008031803180318031803180318031 - 8031803180310000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000207F207F207F207F207F00000000 - 0000000000000000000000001000100010000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000F37FF37FF37FF37FF37F00000000 - 0000000000000000000000000000100010000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000008031803180318031803180310000 - 0000000010000000000000001000000010000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000001000100010000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1564,61 +1530,6 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000104218631863 - 1863186318631863186318631863186300000000000000000000104218631863 - 1863186318631863186318631863186300000000803180316066606600426066 - 0042606600426066004200000000000000000000000086316C4E6C4EC618C618 - C618C618C618C618D65AD65AC618803100001040104010401040104010401042 - 104010401040104010401040FF7F186300001040104010401040104010401042 - 104010401040104010401040FF7F186300001040104010401040104010400042 - 1040104010401040104010400000000000000000104010401040104010401040 - FF7F1040104010401040104010406C4E00000000000018631863186300000000 - 000018631863186310420000FF7F186300000000000018631863186300000000 - 000018631863186310420000FF7F186300000000000018631863186300000000 - 0000186318631863104200000042000000000000000000001863186318630000 - 00000000186318631863104200006C4E00000000104200000000000018631042 - 186300000000000000001040FF7F186300000000104200000000000018631042 - 186300000000000000001040FF7F186300000000104200000000000018631042 - 1863000000000000000010406066004200000000000010420000000000001863 - 10421863000000000000000010406C4E000000001042FF7FFF7F186310420000 - FF7FFF7FFF7F186300001040FF7F1863000000001042FF7FFF7F186310420000 - FF7FFF7FFF7F186300001040FF7F1863000000001042FF7FFF7F186310420000 - FF7FFF7FFF7F186300001040803180318031000000001042FF7FFF7F18631042 - 0000FF7FFF7FFF7F1863000010406C4E000000001042FF7FFF7F186310420000 - FF7FFF7FFF7F186300001040FF7F1863000000001042FF7FFF7F186310421042 - FF7FFF7FFF7F186300001040FF7F1863000000001042FF7FFF7F186310420000 - FF7FFF7FFF7F186300001040000000000000000000001042FF7FFF7F18631042 - 0000FF7FFF7FFF7F1863000010406C4E000000001042FF7FFF7F186310421042 - FF7FFF7FFF7F186300001040FF7F1863000000001042FF7FFF7F186310421042 - FF7FFF7FFF7F186300001040FF7F1863000000001042FF7FFF7F186310421042 - FF7FFF7FFF7F186300001040000000000000000000001042FF7FFF7F18631042 - 1042FF7FFF7FFF7F1863000010403367000000001042FF7FFF7F186310421042 - FF7FFF7FFF7F186300001040FF7F1863000000001042FF7FFF7F186310421042 - FF7FFF7FFF7F186300001040FF7F1863000000001042FF7FFF7F186310421042 - FF7FFF7FFF7F186300001040000000000000000000001042FF7FFF7F18631042 - 1042FF7FFF7FFF7F1863000010403367000000000000FF7FFF7F186310420000 - FF7FFF7FFF7F186300001040FF7F1863000000000000FF7FFF7F186310420000 - FF7FFF7FFF7F186300001040FF7F1863000000000000FF7FFF7F186310420000 - FF7FFF7FFF7F186300001040CC00CC00CC00000000000000FF7FFF7F18631042 - 0000FF7FFF7FFF7F186300001040336700000000000010421042000000000000 - 000010421042000018631863FF7F18630000007C007C007C104200000000007C - 000010421042000018631863FF7F186300000000000010421042000000000000 - 0000104210420000000000000000D300CC000000000000001042104200000000 - FF7F0000104210420000F97F863133670000000000000000000010421863FF7F - 1863E07F18631863FF7F000000000000000000000000007C007CFF7F007C007C - 0000E07F18631863FF7F00000000000000000000000000000000000000000000 - 00000000D300000000000000D3000000CC00000000008631F97F6C4EFF7FFF7F - FF7FFF7FFF7FF97FF97FF37F86318631000000000000000000001042FF7FE07F - FF7FFF7FFF7FE07FFF7F1863FF7F104200000000007C007C007C007C007C007C - 007C007CFF7FE07FFF7F1863FF7F104200000000000000000000000000000000 - 000000000000D300D300D300000000000000000000008631FF7F6C4E6C326C32 - 6C326C326C326C326C326C3286311863000000000000000000001042FF7FFF7F - FF7FE07FFF7FFF7FFF7F1863104200000000007C007C0000007C007C007CFF7F - FF7FE07FFF7FFF7FFF7F18631042000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000863186316C4E6C326C32 - 6C326C326C326C326C326C328631863100000000000000000000104210421042 - 104210421042104210421042000000000000000000000000007C1042007C007C - 1042104210421042104210420000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1628,126 +1539,10 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000104218631863 - 1863186318631863186318631863186300000000000000000000104218631863 - 1863186318631863186318631863186300000000000000000000104218631863 - 1863186318631863186318631863186300000000000000000000104218631863 - 18631863186318631863186318631863000000000000000000001042FF7FE07F - FF7FFF7FFF7FE07FFF7FE07FFF7F1863000000000000000000001042FF7FE07F - FF7FFF7FFF7FE07FFF7FE07FFF7F1863000000000000000000001042FF7FE07F - FF7FFF7FFF7FE07FFF7FE07FFF7F1863000000000000000000001042FF7FE07F - FF7FFF7FFF7FE07FFF7FE07FFF7F1863000000000000000000001042FF7FFF7F - FF7F0000000000000000FF7FFF7F1863000000000000000000001042FF7FFF7F - FF7F0000000000000000FF7FFF7F1863000000000000000000001042FF7FFF7F - FF7FFF7F1040FF7FFF7FFF7FFF7F1863000000000000000000001042FF7FFF7F - FF7FFF7F1040FF7FFF7FFF7FFF7F1863000000000000000000001042FF7FE07F - FF7FE07F00000000FF7FE07FFF7F1863000000000000000000001042FF7FE07F - FF7FE07F00000000FF7FE07FFF7F1863000000000000000000001042FF7FE07F - FF7F1040FF7FE07FFF7FE07FFF7F1863000000000000000000001042FF7FE07F - FF7F1040FF7FE07FFF7FE07FFF7F1863000000000000000000001042FF7FFF7F - FF7FFF7F00000000FF7FFF7FFF7F1863000000000000000000001042FF7FFF7F - FF7FFF7F00000000FF7FFF7FFF7F1863000000000000000000001042FF7FFF7F - 10401040FF7FFF7FFF7FFF7FFF7F1863000000000000000000001042FF7FFF7F - 10401040FF7FFF7FFF7FFF7FFF7F1863000000000000000000001042FF7FE07F - FF7FE07F00000000FF7FE07FFF7F1863000000000000000000001042FF7FE07F - FF7FE07F00000000FF7FE07FFF7F1863000000000000000000001042FF7FE07F - 10401040FF7FE07FFF7FE07FFF7F1863000000000000000000001042FF7FE07F - 10401040FF7FE07FFF7FE07FFF7F1863000000000000000000001042FF7FFF7F - FF7FFF7F000000000000FF7FFF7F18630000000000000000007C1042FF7F007C - FF7FFF7F000000000000FF7FFF7F1863000000000000000000001042FF7FFF7F - 104010401040FF7FFF7F1040FF7F18630000000000000000007C1042FF7F007C - 104010401040FF7FFF7F1040FF7F1863000000000000000000001042FF7FE07F - FF7FE07FFF7FE07FFF7FE07FFF7F18630000000000000000007C007CFF7F007C - FF7FE07FFF7FE07FFF7FE07FFF7F1863000000000000000000001042FF7FE07F - FF7F10401040104010401040FF7F18630000000000000000007C007CFF7F007C - FF7F10401040104010401040FF7F1863000000000000000000001042FF7FFF7F - FF7FFF7F00001042FF7FFF7FFF7F186300000000000000000000007C007C007C - FF7F007C007C1042FF7FFF7FFF7F1863000000000000000000001042FF7FFF7F - FF7FFF7F1040104010401040FF7F186300000000000000000000007C007C007C - FF7F007C007C104010401040FF7F1863000000000000000000001042FF7FE07F - FF7F0000000000001863FF7FFF7F186300000000007C007C007C007C007C007C - 007C007C000000001863FF7FFF7F1863000000000000000000001042FF7FE07F - FF7F10401040104010401040FF7F186300000000007C007C007C007C007C007C - 007C007C1040104010401040FF7F1863000000000000000000001042FF7FFF7F - FF7FFF7F00001042FF7F0000000000000000000000000000007C007CFF7F007C - 007CFF7F00001042FF7F000000000000000000000000000000001042FF7FFF7F - FF7FFF7FFF7FFF7FFF7F0000000000000000000000000000007C007CFF7F007C - 007CFF7FFF7FFF7FFF7F000000000000000000000000000000001042FF7FE07F - FF7FFF7FFF7FE07FFF7F1863FF7F1042000000000000007C007C007C007C007C - 007C007C007CE07FFF7F1863FF7F1042000000000000000000001042FF7FE07F - FF7FFF7FFF7FE07FFF7F1863FF7F1042000000000000007C007C007C007C007C - 007C007C007CE07FFF7F1863FF7F1042000000000000000000001042FF7FFF7F - FF7FE07FFF7FFF7FFF7F18631042000000000000007C007C0000007C007C007C - FF7FE07FFF7FFF7FFF7F186310420000000000000000000000001042FF7FFF7F - FF7FE07FFF7FFF7FFF7F18631042000000000000007C007C0000007C007C007C - FF7FE07FFF7FFF7FFF7F18631042000000000000000000000000104210421042 - 1042104210421042104210420000000000000000000000000000007C1042007C - 007C104210421042104210420000000000000000000000000000104210421042 - 1042104210421042104210420000000000000000000000000000007C1042007C - 007C104210421042104210420000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000001863 - 0000000000000000000000000000000000000000000000000000000000001863 - 0000000000000000000000000000000000000000000000000000000000001863 - 0000000000000000000000000000000000000000000000000000000000001863 - 0000000000000000000000000000000000000000000000000000186310001000 - 1042186318631863186318631863186300000000000000000000186310001000 - 1042186318631863186318631863186300000000000000000000186310001000 - 1042186318631863186318631863186300000000000000000000186310001000 - 104218631863186318631863186318630000000000000000186310001F001F00 - 1042FF7FE07FFF7FFF7FE07FFF7F18630000000000000000186310001F001F00 - 1042FF7FE07FFF7FFF7FE07FFF7F18630000000000000000186310001F001F00 - 1042FF7FE07FFF7FFF7FE07FFF7F18630000000000000000186310001F001F00 - 1042FF7FE07FFF7FFF7FE07FFF7F1863000000000000000010001F001F001F00 - 1042FF7FFF7F1F001F001F00FF7F1863000000000000000010001F001F001F00 - 1042FF7FFF7F1F001F001F00FF7F1863000000000000000010001F001F001F00 - 1042FF7FE07F100010001863FF7F1863000000000000000010001F001F001F00 - 1042FF7FE07F100010001863FF7F186300000000000018631F0000021F001F00 - 1042FF7FE07FFF7FFF7FE07FFF7F186300000000000018631F0000021F001F00 - 1042FF7FE07FFF7FFF7FE07FFF7F186300000000000018631F0000021F001F00 - 1042FF7F10021F001F0010001863186300000000000018631F0000021F001F00 - 1042FF7F10021F001F00100018631863000000000000104200021F001F001F00 - 1042FF7FFF7F1F001F001F00FF7F1863000000000000104200021F001F001F00 - 1042FF7FFF7F1F001F001F00FF7F1863000000000000104200021F001F001F00 - 1042FF7F100210420002100010421863000000000000104200021F001F001F00 - 1042FF7F100210420002100010421863000000000000104218631F001F001002 - 1042E07FFF7FFF7FE07FFF7FFF7F1863000000000000104218631F001F001002 - 1042E07FFF7FFF7FFF7FFF7FFF7F1863000000000000104218631F001F001002 - 1042FF7F1002FF7F1042100018631863000000000000104218631F001F001002 - 1042FF7F1002FF7F10421000186318630000000000001042100218631F001863 - 1042FF7FFF7F1F001F00186300000000000000000000007C10021863007C1863 - 1042FF7FFF7F1F001F001863000000000000000000001042100218631F001863 - 1042FF7FE07F10021002186300000000000000000000007C10021863007C1863 - 1042FF7FE07F1002100218630000000000000000000010421863FF7F18631F00 - 1042FF7FE07FFF7FFF7F1863FF7F1042104200000000007C007CFF7F007C1F00 - 1042FF7FE07FFF7FFF7F1863FF7F104210420000000010421863FF7F18631F00 - 1042FF7FE07FFF7FFF7F1863FF7F1042104200000000007C007CFF7F007C1F00 - 1042FF7FE07FFF7FFF7F1863FF7F1042104200000000186310421863FF7F0002 - 1042FF7FFF7FFF7FE07F1863104210421863000000001863007C007C007C0002 - 007C007CFF7FFF7FE07F186310421042186300000000186310421863FF7F0002 - 1042FF7FFF7FFF7FE07F1863104210421863000000001863007C007C007C0002 - 007C007CFF7FFF7FE07F18631042104218630000000000001042FF7F18631002 - 104210421042104210421042104200000000007C007C007C007C007C007C007C - 007C104210421042104210421042000000000000000000001042FF7F18631002 - 104210421042104210421042104200000000007C007C007C007C007C007C007C - 007C1042104210421042104210420000000000000000000018631042FF7F1863 - FF7F00021F00000200021F0010001863000000000000007C007CFF7F007C007C - FF7F00021F00000200021F0010001863000000000000000018631042FF7F1863 - FF7F00021F00000200021F0010001863000000000000007C007CFF7F007C007C - FF7F00021F00000200021F001000186300000000000000000000186310421042 - 18631F00100210021F001F001863000000000000007C007C007C007C007C007C - 007C007C100210021F001F001863000000000000000000000000186310421042 - 18631F00100210021F001F001863000000000000007C007C007C007C007C007C - 007C007C100210021F001F001863000000000000000000000000000000001863 - 104210421042104218630000000000000000007C007C0000007C007C007C1863 - 1042104210421042186300000000000000000000000000000000000000001863 - 104210421042104218630000000000000000007C007C0000007C007C007C1863 - 1042104210421042186300000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000000000007C0000007C007C 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000000000007C0000007C007C 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1756,63 +1551,6 @@ 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000001040 - 0000104200000000000000000000000000000000000000000000000010401040 - 1040104010401040104010401040104000000000000000000000104218631863 - 1863186318631863186318631863186300000000000000000000104218631863 - 1863186318631863186318631863186300000000000000000000000010401040 - 0000FF7F1863FF7F0000000000000000000000000000000000001040FF7F0000 - 104210421863FF7FFF7FFF7FFF7F1040000000000000000000001042FF7FE07F - FF7FE07FFF7FFF7FFF7FFF7FE07F1863000000000000000000001042FF7FE07F - FF7FE07FFF7FFF7FFF7FFF7FE07F186300000000000000000000104010401040 - 00001042FF7F1863FF7F186300000000000000000000000010401040FF7F0000 - 1863FF7F104210421863FF7FFF7F1040000000000000000000001042FF7FFF7F - FF7FFF7FFF7FFF7FE07FFF7FFF7F1863000000000000000000001042FF7FFF7F - FF7FFF7FFF7FFF7FE07FFF7FFF7F186300000000000000001040104010401040 - ... [truncated message content] |
|
From: <pe...@us...> - 2006-11-07 20:20:59
|
Revision: 105
http://svn.sourceforge.net/initranslator/?rev=105&view=rev
Author: peter3
Date: 2006-11-07 12:20:43 -0800 (Tue, 07 Nov 2006)
Log Message:
-----------
- Office 2007 theme added
- Spell errors fixed
Modified Paths:
--------------
translator/trunk/src/DictEditFrm.dfm
translator/trunk/src/MainFrm.dfm
translator/trunk/src/MainFrm.pas
translator/trunk/src/OptionsFrm.dfm
translator/trunk/src/OptionsFrm.pas
translator/trunk/src/TRANSLATOR.INC
translator/trunk/src/TranslateFile.pas
translator/trunk/src/translator.dof
translator/trunk/src/translator.res
Modified: translator/trunk/src/DictEditFrm.dfm
===================================================================
--- translator/trunk/src/DictEditFrm.dfm 2006-10-31 07:30:18 UTC (rev 104)
+++ translator/trunk/src/DictEditFrm.dfm 2006-11-07 20:20:43 UTC (rev 105)
@@ -155,16 +155,14 @@
Style = csDropDownList
Anchors = [akLeft, akRight, akBottom]
ItemHeight = 13
- ItemIndex = 0
TabOrder = 7
- Text = 'All items'
OnChange = cbFilterChange
Items.Strings = (
'All items'
'Items with translations'
'Items without translations'
'Items with > 1 translations'
- 'Items with = 1 translation')
+ 'Items with 1 translation')
end
object alDictEdit: TTntActionList
OnUpdate = alDictEditUpdate
Modified: translator/trunk/src/MainFrm.dfm
===================================================================
--- translator/trunk/src/MainFrm.dfm 2006-10-31 07:30:18 UTC (rev 104)
+++ translator/trunk/src/MainFrm.dfm 2006-11-07 20:20:43 UTC (rev 105)
@@ -648,7 +648,8 @@
object TBXSeparatorItem1: TSpTBXSeparatorItem
end
object SpTBXSubmenuItem1: TSpTBXSubmenuItem
- DisplayMode = nbdmTextOnlyInMenus
+ DisplayMode = nbdmImageAndText
+ MinWidth = 90
DropdownCombo = True
CaptionW = 'Themes'
object SpTBXThemeGroupItem1: TSpTBXThemeGroupItem
Modified: translator/trunk/src/MainFrm.pas
===================================================================
--- translator/trunk/src/MainFrm.pas 2006-10-31 07:30:18 UTC (rev 104)
+++ translator/trunk/src/MainFrm.pas 2006-11-07 20:20:43 UTC (rev 105)
@@ -45,7 +45,7 @@
TBXOffice11XPTheme, TBXOffice11AdaptiveTheme, TBXTristanTheme, TBXTristan2Theme,
TBXAthenTheme, TBXMonaiXPTheme, TBXMonaiTheme,
TBXNewOfficeTheme, TBXNewOfficeAdaptiveTheme, TBXDreamTheme,
- TBXEosTheme,
+ TBXEosTheme, TBXOffice2007Theme,
TBXNexos2Theme, TBXNexos3Theme, TBXNexos4Theme, TBXNexos5Theme, TBXNexosXTheme,
TBXOfficeCTheme, TBXOfficeKTheme, TBXReliferTheme, TBXRomaTheme,
TBXSentimoXTheme, TBXUxThemes, TBXXitoTheme,
Modified: translator/trunk/src/OptionsFrm.dfm
===================================================================
--- translator/trunk/src/OptionsFrm.dfm 2006-10-31 07:30:18 UTC (rev 104)
+++ translator/trunk/src/OptionsFrm.dfm 2006-11-07 20:20:43 UTC (rev 105)
@@ -428,7 +428,7 @@
Top = 157
Width = 257
Height = 17
- Hint = 'Skip already trasnlated items when using dictionary'
+ Hint = 'Skip already translated items when using dictionary'
Anchors = [akLeft, akTop, akRight]
Caption = '&Ignore translated items when using dictionary'
TabOrder = 6
Modified: translator/trunk/src/OptionsFrm.pas
===================================================================
--- translator/trunk/src/OptionsFrm.pas 2006-10-31 07:30:18 UTC (rev 104)
+++ translator/trunk/src/OptionsFrm.pas 2006-11-07 20:20:43 UTC (rev 105)
@@ -321,7 +321,7 @@
UpdateFontSizes;
end;
-function IntCompare(Item1, Item2:POinter):integer;
+function IntCompare(Item1, Item2:Pointer):integer;
begin
Result := integer(Item1) - integer(Item2);
end;
Modified: translator/trunk/src/TRANSLATOR.INC
===================================================================
--- translator/trunk/src/TRANSLATOR.INC 2006-10-31 07:30:18 UTC (rev 104)
+++ translator/trunk/src/TRANSLATOR.INC 2006-11-07 20:20:43 UTC (rev 105)
@@ -1,265 +1,269 @@
// define this if you have Addict SpellCheck (http://www.addictivesoftware.com)
-
{$DEFINE USEADDICTSPELLCHECKER}
+// define this if you have the JCL exception handler
{$DEFINE USEJCLDEBUGHANDLER}
-{$ifdef Win32}
- {$ifdef VER180}
- {$define COMPILER_10}
- {$define DELPHI}
- {$define DELPHI_10}
- {$endif}
+// define this to use TBX pre 2.2 beta
+{$DEFINE USEOLDTBX}
- {$ifdef VER170}
- {$define COMPILER_9}
- {$define DELPHI}
- {$define DELPHI_9}
- {$endif}
+// defines for various Delphi/Kylix versions
+{$IFDEF WIN32}
+ {$IFDEF VER180}
+ {$DEFINE COMPILER_10}
+ {$DEFINE DELPHI}
+ {$DEFINE DELPHI_10}
+ {$ENDIF}
- {$ifdef VER150}
- {$define COMPILER_7}
- {$define DELPHI}
- {$define DELPHI_7}
- {$endif}
+ {$IFDEF VER170}
+ {$DEFINE COMPILER_9}
+ {$DEFINE DELPHI}
+ {$DEFINE DELPHI_9}
+ {$ENDIF}
- {$ifdef VER140}
- {$define COMPILER_6}
- {$ifdef BCB}
- {$define CPPB}
- {$define CPPB_6}
- {$else}
- {$define DELPHI}
- {$define DELPHI_6}
- {$endif}
- {$endif}
+ {$IFDEF VER150}
+ {$DEFINE COMPILER_7}
+ {$DEFINE DELPHI}
+ {$DEFINE DELPHI_7}
+ {$ENDIF}
- {$ifdef VER130}
- {$define COMPILER_5}
- {$ifdef BCB}
- {$define CPPB}
- {$define CPPB_5}
- {$else}
- {$define DELPHI}
- {$define DELPHI_5}
- {$endif}
- {$endif}
+ {$IFDEF VER140}
+ {$DEFINE COMPILER_6}
+ {$IFDEF BCB}
+ {$DEFINE CPPB}
+ {$DEFINE CPPB_6}
+ {$ELSE}
+ {$DEFINE DELPHI}
+ {$DEFINE DELPHI_6}
+ {$ENDIF}
+ {$ENDIF}
- {$ifdef VER125}
- {$define COMPILER_4}
- {$define CPPB}
- {$define CPPB_4}
- {$endif}
+ {$IFDEF VER130}
+ {$DEFINE COMPILER_5}
+ {$IFDEF BCB}
+ {$DEFINE CPPB}
+ {$DEFINE CPPB_5}
+ {$ELSE}
+ {$DEFINE DELPHI}
+ {$DEFINE DELPHI_5}
+ {$ENDIF}
+ {$ENDIF}
- {$ifdef VER120}
- {$define COMPILER_4}
- {$define DELPHI}
- {$define DELPHI_4}
- {$endif}
+ {$IFDEF VER125}
+ {$DEFINE COMPILER_4}
+ {$DEFINE CPPB}
+ {$DEFINE CPPB_4}
+ {$ENDIF}
- {$ifdef VER110}
- {$define COMPILER_3}
- {$define CPPB}
- {$define CPPB_3}
- {$endif}
+ {$IFDEF VER120}
+ {$DEFINE COMPILER_4}
+ {$DEFINE DELPHI}
+ {$DEFINE DELPHI_4}
+ {$ENDIF}
- {$ifdef VER100}
- {$define COMPILER_3}
- {$define DELPHI}
- {$define DELPHI_3}
- {$endif}
+ {$IFDEF VER110}
+ {$DEFINE COMPILER_3}
+ {$DEFINE CPPB}
+ {$DEFINE CPPB_3}
+ {$ENDIF}
- {$ifdef VER93}
- {$define COMPILER_2} // C++ Builder v1 compiler is really v2
- {$define CPPB}
- {$define CPPB_1}
- {$endif}
+ {$IFDEF VER100}
+ {$DEFINE COMPILER_3}
+ {$DEFINE DELPHI}
+ {$DEFINE DELPHI_3}
+ {$ENDIF}
- {$ifdef VER90}
- {$define COMPILER_2}
- {$define DELPHI}
- {$define DELPHI_2}
- {$endif}
+ {$IFDEF VER93}
+ {$DEFINE COMPILER_2} // C++ Builder v1 compiler is really v2
+ {$DEFINE CPPB}
+ {$DEFINE CPPB_1}
+ {$ENDIF}
- {$ifdef VER80}
- {$define COMPILER_1}
- {$define DELPHI}
- {$define DELPHI_1}
- {$endif}
+ {$IFDEF VER90}
+ {$DEFINE COMPILER_2}
+ {$DEFINE DELPHI}
+ {$DEFINE DELPHI_2}
+ {$ENDIF}
- {$ifdef DELPHI_2}
- {$define DELPHI_2_UP}
- {$endif}
+ {$IFDEF VER80}
+ {$DEFINE COMPILER_1}
+ {$DEFINE DELPHI}
+ {$DEFINE DELPHI_1}
+ {$ENDIF}
- {$ifdef DELPHI_3}
- {$define DELPHI_2_UP}
- {$define DELPHI_3_UP}
- {$endif}
+ {$IFDEF DELPHI_2}
+ {$DEFINE DELPHI_2_UP}
+ {$ENDIF}
- {$ifdef DELPHI_4}
- {$define DELPHI_2_UP}
- {$define DELPHI_3_UP}
- {$define DELPHI_4_UP}
- {$endif}
+ {$IFDEF DELPHI_3}
+ {$DEFINE DELPHI_2_UP}
+ {$DEFINE DELPHI_3_UP}
+ {$ENDIF}
- {$ifdef DELPHI_5}
- {$define DELPHI_2_UP}
- {$define DELPHI_3_UP}
- {$define DELPHI_4_UP}
- {$define DELPHI_5_UP}
- {$endif}
+ {$IFDEF DELPHI_4}
+ {$DEFINE DELPHI_2_UP}
+ {$DEFINE DELPHI_3_UP}
+ {$DEFINE DELPHI_4_UP}
+ {$ENDIF}
- {$ifdef DELPHI_6}
- {$define DELPHI_2_UP}
- {$define DELPHI_3_UP}
- {$define DELPHI_4_UP}
- {$define DELPHI_5_UP}
- {$define DELPHI_6_UP}
- {$endif}
+ {$IFDEF DELPHI_5}
+ {$DEFINE DELPHI_2_UP}
+ {$DEFINE DELPHI_3_UP}
+ {$DEFINE DELPHI_4_UP}
+ {$DEFINE DELPHI_5_UP}
+ {$ENDIF}
- {$ifdef DELPHI_7}
- {$define DELPHI_2_UP}
- {$define DELPHI_3_UP}
- {$define DELPHI_4_UP}
- {$define DELPHI_5_UP}
- {$define DELPHI_6_UP}
- {$define DELPHI_7_UP}
- {$endif}
+ {$IFDEF DELPHI_6}
+ {$DEFINE DELPHI_2_UP}
+ {$DEFINE DELPHI_3_UP}
+ {$DEFINE DELPHI_4_UP}
+ {$DEFINE DELPHI_5_UP}
+ {$DEFINE DELPHI_6_UP}
+ {$ENDIF}
- {$ifdef CPPB_3}
- {$define CPPB_3_UP}
- {$endif}
+ {$IFDEF DELPHI_7}
+ {$DEFINE DELPHI_2_UP}
+ {$DEFINE DELPHI_3_UP}
+ {$DEFINE DELPHI_4_UP}
+ {$DEFINE DELPHI_5_UP}
+ {$DEFINE DELPHI_6_UP}
+ {$DEFINE DELPHI_7_UP}
+ {$ENDIF}
- {$ifdef CPPB_4}
- {$define CPPB_3_UP}
- {$define CPPB_4_UP}
- {$endif}
+ {$IFDEF CPPB_3}
+ {$DEFINE CPPB_3_UP}
+ {$ENDIF}
- {$ifdef CPPB_5}
- {$define CPPB_3_UP}
- {$define CPPB_4_UP}
- {$define CPPB_5_UP}
- {$endif}
+ {$IFDEF CPPB_4}
+ {$DEFINE CPPB_3_UP}
+ {$DEFINE CPPB_4_UP}
+ {$ENDIF}
- {$ifdef CPPB_6}
- {$define CPPB_3_UP}
- {$define CPPB_4_UP}
- {$define CPPB_5_UP}
- {$define CPPB_6_UP}
- {$endif}
+ {$IFDEF CPPB_5}
+ {$DEFINE CPPB_3_UP}
+ {$DEFINE CPPB_4_UP}
+ {$DEFINE CPPB_5_UP}
+ {$ENDIF}
- {$ifdef CPPB_3_UP}
+ {$IFDEF CPPB_6}
+ {$DEFINE CPPB_3_UP}
+ {$DEFINE CPPB_4_UP}
+ {$DEFINE CPPB_5_UP}
+ {$DEFINE CPPB_6_UP}
+ {$ENDIF}
+
+ {$IFDEF CPPB_3_UP}
// C++ Builder requires this if you use Delphi components in run-time packages.
- {$ObjExportAll On}
- {$endif}
+ {$OBJEXPORTALL ON}
+ {$ENDIF}
-{$else (not Windows)}
+{$ELSE (NOT WINDOWS)}
// Linux is the target
- {$define QT_CLX}
+ {$DEFINE QT_CLX}
- {$define KYLIX}
- {$define KYLIX_1}
- {$define KYLIX_1_UP}
+ {$DEFINE KYLIX}
+ {$DEFINE KYLIX_1}
+ {$DEFINE KYLIX_1_UP}
- {$ifdef VER150}
- {$define COMPILER_7}
- {$define KYLIX_3}
- {$endif}
+ {$IFDEF VER150}
+ {$DEFINE COMPILER_7}
+ {$DEFINE KYLIX_3}
+ {$ENDIF}
- {$ifdef VER140}
- {$define COMPILER_6}
- {$define KYLIX_2}
- {$endif}
+ {$IFDEF VER140}
+ {$DEFINE COMPILER_6}
+ {$DEFINE KYLIX_2}
+ {$ENDIF}
- {$ifdef KYLIX_2}
- {$define KYLIX_2_UP}
- {$endif}
+ {$IFDEF KYLIX_2}
+ {$DEFINE KYLIX_2_UP}
+ {$ENDIF}
- {$ifdef KYLIX_3}
- {$define KYLIX_2_UP}
- {$define KYLIX_3_UP}
- {$endif}
+ {$IFDEF KYLIX_3}
+ {$DEFINE KYLIX_2_UP}
+ {$DEFINE KYLIX_3_UP}
+ {$ENDIF}
-{$endif}
+{$ENDIF}
// Compiler defines common to all platforms.
-{$ifdef COMPILER_1}
- {$define COMPILER_1_UP}
-{$endif}
+{$IFDEF COMPILER_1}
+ {$DEFINE COMPILER_1_UP}
+{$ENDIF}
-{$ifdef COMPILER_2}
- {$define COMPILER_1_UP}
- {$define COMPILER_2_UP}
-{$endif}
+{$IFDEF COMPILER_2}
+ {$DEFINE COMPILER_1_UP}
+ {$DEFINE COMPILER_2_UP}
+{$ENDIF}
-{$ifdef COMPILER_3}
- {$define COMPILER_1_UP}
- {$define COMPILER_2_UP}
- {$define COMPILER_3_UP}
-{$endif}
+{$IFDEF COMPILER_3}
+ {$DEFINE COMPILER_1_UP}
+ {$DEFINE COMPILER_2_UP}
+ {$DEFINE COMPILER_3_UP}
+{$ENDIF}
-{$ifdef COMPILER_4}
- {$define COMPILER_1_UP}
- {$define COMPILER_2_UP}
- {$define COMPILER_3_UP}
- {$define COMPILER_4_UP}
-{$endif}
+{$IFDEF COMPILER_4}
+ {$DEFINE COMPILER_1_UP}
+ {$DEFINE COMPILER_2_UP}
+ {$DEFINE COMPILER_3_UP}
+ {$DEFINE COMPILER_4_UP}
+{$ENDIF}
-{$ifdef COMPILER_5}
- {$define COMPILER_1_UP}
- {$define COMPILER_2_UP}
- {$define COMPILER_3_UP}
- {$define COMPILER_4_UP}
- {$define COMPILER_5_UP}
-{$endif}
+{$IFDEF COMPILER_5}
+ {$DEFINE COMPILER_1_UP}
+ {$DEFINE COMPILER_2_UP}
+ {$DEFINE COMPILER_3_UP}
+ {$DEFINE COMPILER_4_UP}
+ {$DEFINE COMPILER_5_UP}
+{$ENDIF}
-{$ifdef COMPILER_6}
- {$define COMPILER_1_UP}
- {$define COMPILER_2_UP}
- {$define COMPILER_3_UP}
- {$define COMPILER_4_UP}
- {$define COMPILER_5_UP}
- {$define COMPILER_6_UP}
-{$endif}
+{$IFDEF COMPILER_6}
+ {$DEFINE COMPILER_1_UP}
+ {$DEFINE COMPILER_2_UP}
+ {$DEFINE COMPILER_3_UP}
+ {$DEFINE COMPILER_4_UP}
+ {$DEFINE COMPILER_5_UP}
+ {$DEFINE COMPILER_6_UP}
+{$ENDIF}
-{$ifdef COMPILER_7}
- {$define COMPILER_1_UP}
- {$define COMPILER_2_UP}
- {$define COMPILER_3_UP}
- {$define COMPILER_4_UP}
- {$define COMPILER_5_UP}
- {$define COMPILER_6_UP}
- {$define COMPILER_7_UP}
-{$endif}
+{$IFDEF COMPILER_7}
+ {$DEFINE COMPILER_1_UP}
+ {$DEFINE COMPILER_2_UP}
+ {$DEFINE COMPILER_3_UP}
+ {$DEFINE COMPILER_4_UP}
+ {$DEFINE COMPILER_5_UP}
+ {$DEFINE COMPILER_6_UP}
+ {$DEFINE COMPILER_7_UP}
+{$ENDIF}
-{$ifdef COMPILER_9}
- {$define COMPILER_1_UP}
- {$define COMPILER_2_UP}
- {$define COMPILER_3_UP}
- {$define COMPILER_4_UP}
- {$define COMPILER_5_UP}
- {$define COMPILER_6_UP}
- {$define COMPILER_7_UP}
- {$define COMPILER_9_UP}
-{$endif}
+{$IFDEF COMPILER_9}
+ {$DEFINE COMPILER_1_UP}
+ {$DEFINE COMPILER_2_UP}
+ {$DEFINE COMPILER_3_UP}
+ {$DEFINE COMPILER_4_UP}
+ {$DEFINE COMPILER_5_UP}
+ {$DEFINE COMPILER_6_UP}
+ {$DEFINE COMPILER_7_UP}
+ {$DEFINE COMPILER_9_UP}
+{$ENDIF}
-{$ifdef COMPILER_10}
- {$define COMPILER_1_UP}
- {$define COMPILER_2_UP}
- {$define COMPILER_3_UP}
- {$define COMPILER_4_UP}
- {$define COMPILER_5_UP}
- {$define COMPILER_6_UP}
- {$define COMPILER_7_UP}
- {$define COMPILER_9_UP}
- {$define COMPILER_10_UP}
-{$endif}
+{$IFDEF COMPILER_10}
+ {$DEFINE COMPILER_1_UP}
+ {$DEFINE COMPILER_2_UP}
+ {$DEFINE COMPILER_3_UP}
+ {$DEFINE COMPILER_4_UP}
+ {$DEFINE COMPILER_5_UP}
+ {$DEFINE COMPILER_6_UP}
+ {$DEFINE COMPILER_7_UP}
+ {$DEFINE COMPILER_9_UP}
+ {$DEFINE COMPILER_10_UP}
+{$ENDIF}
-{$define TURBO_DELPHI}
-{$ifdef TURBO_DELPHI}
- {$undef COMPILER_9}
- {$undef COMPILER_9_UP}
- {$undef COMPILER_10}
- {$undef COMPILER_10_UP}
-{$endif}
+{$DEFINE TURBO_DELPHI}
+{$IFDEF TURBO_DELPHI}
+ {$UNDEF COMPILER_9}
+ {$UNDEF COMPILER_9_UP}
+ {$UNDEF COMPILER_10}
+ {$UNDEF COMPILER_10_UP}
+{$ENDIF}
//----------------------------------------------------------------------------------------------------------------------
Modified: translator/trunk/src/TranslateFile.pas
===================================================================
--- translator/trunk/src/TranslateFile.pas 2006-10-31 07:30:18 UTC (rev 104)
+++ translator/trunk/src/TranslateFile.pas 2006-11-07 20:20:43 UTC (rev 105)
@@ -144,6 +144,7 @@
public
constructor Create;
destructor Destroy; override;
+
property Header:WideString read FHeader write FHeader;
property Footer:WideString read FFooter write FFooter;
property Items: ITranslationItems read FItems;
@@ -657,7 +658,7 @@
S.Add(tmp);
end;
end;
-
+
procedure TTranslateFiles.SaveOriginal(const Filename: WideString; Encoding: TEncoding);
var
i: integer;
Modified: translator/trunk/src/translator.dof
===================================================================
--- translator/trunk/src/translator.dof 2006-10-31 07:30:18 UTC (rev 104)
+++ translator/trunk/src/translator.dof 2006-11-07 20:20:43 UTC (rev 105)
@@ -95,7 +95,6 @@
PackageDLLOutputDir=
PackageDCPOutputDir=
SearchPath=
-Packages=
Conditionals=USEOLDTBX
DebugSourceDirs=
UsePackages=0
@@ -105,17 +104,13 @@
Launcher=
UseLauncher=0
DebugCWD=
-[Language]
-ActiveLang=
-ProjectLang=
-RootDir=
[Version Info]
IncludeVerInfo=1
AutoIncBuild=1
MajorVer=1
MinorVer=9
Release=0
-Build=14
+Build=35
Debug=0
PreRelease=0
Special=0
@@ -126,13 +121,13 @@
[Version Info Keys]
CompanyName=Peter Th\xF6rnqvist
FileDescription=Ini Language Translator
-FileVersion=1.9.0.14
+FileVersion=1.9.0.35
InternalName=translator.exe
LegalCopyright=Copyright (c) 2003-2006 by Peter Th\xF6rnqvist; all rights reserved
LegalTrademarks=
OriginalFilename=translator.exe
ProductName=Ini Translator
-ProductVersion=1.9
+ProductVersion=1.9.0.33
Webpage=http://initranslator.sourceforge.net
License=Mozilla Public License 1.1
Comments=Latest version at http://initranslator.sourceforge.net
Modified: translator/trunk/src/translator.res
===================================================================
(Binary files differ)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pe...@us...> - 2006-11-22 15:18:38
|
Revision: 132
http://svn.sourceforge.net/initranslator/?rev=132&view=rev
Author: peter3
Date: 2006-11-22 07:18:34 -0800 (Wed, 22 Nov 2006)
Log Message:
-----------
- renamed the common import/export dialog classes so they are unique
Modified Paths:
--------------
translator/trunk/src/IBForumsPlugin/IBForumsParser.dpr
translator/trunk/src/IBForumsPlugin/IBForumsParserImpl.pas
translator/trunk/src/MSDictParser/MSDictParserImpl.pas
translator/trunk/src/MSDictParser/MSDictParserImportFrm.pas
translator/trunk/src/MozillaPlugin/MozillaDTDImpl.pas
translator/trunk/src/MozillaPlugin/MozillaDTDParser.dpr
translator/trunk/src/MozillaPlugin/MozillaPropsImpl.pas
translator/trunk/src/MozillaPlugin/MozillaPropsParser.dpr
translator/trunk/src/OlegPlugin/OlegParser.dpr
translator/trunk/src/OlegPlugin/OlegParserImpl.pas
translator/trunk/src/OpenOfficeGSIPlugin/OOGSIParser.dof
translator/trunk/src/OpenOfficeGSIPlugin/OOGSIParserImpl.pas
translator/trunk/src/PHPNukePlugin/PHPNukeImpl.pas
translator/trunk/src/PHPNukePlugin/PHPNukeParser.dpr
translator/trunk/src/PHPPlugin/PHPParser.dpr
translator/trunk/src/PHPPlugin/PHPParserImpl.pas
translator/trunk/src/POPlugin/POParser.dof
translator/trunk/src/PluginCommon/DualImportFrm.dfm
translator/trunk/src/PluginCommon/DualImportFrm.pas
translator/trunk/src/PluginCommon/PreviewExportFrm.dfm
translator/trunk/src/PluginCommon/PreviewExportFrm.pas
translator/trunk/src/PluginCommon/SingleImportFrm.dfm
translator/trunk/src/PluginCommon/SingleImportFrm.pas
translator/trunk/src/PolyglotPlugin/PolyGlotParser.dpr
translator/trunk/src/PolyglotPlugin/PolyGlotParserImpl.pas
translator/trunk/src/SciTEPlugin/SciTEParser.dpr
translator/trunk/src/SciTEPlugin/SciTEParserImpl.pas
translator/trunk/src/TMXPlugin/TMXImportFrm.dfm
translator/trunk/src/TMXPlugin/TMXImportFrm.pas
translator/trunk/src/TMXPlugin/TMXParser.dpr
translator/trunk/src/TMXPlugin/TMXParserImpl.pas
translator/trunk/src/XLIFFPlugin/XLIFFParser.dpr
translator/trunk/src/XLIFFPlugin/XLIFFParserImpl.pas
translator/trunk/src/XilisoftPlugin/XilisoftParser.dpr
translator/trunk/src/XilisoftPlugin/XilisoftParserImpl.pas
Modified: translator/trunk/src/IBForumsPlugin/IBForumsParser.dpr
===================================================================
--- translator/trunk/src/IBForumsPlugin/IBForumsParser.dpr 2006-11-22 15:06:38 UTC (rev 131)
+++ translator/trunk/src/IBForumsPlugin/IBForumsParser.dpr 2006-11-22 15:18:34 UTC (rev 132)
@@ -23,7 +23,7 @@
TransIntf in '..\TransIntf.pas',
IBForumsParserImpl in 'IBForumsParserImpl.pas',
PreviewExportFrm in '..\PluginCommon\PreviewExportFrm.pas' {frmExport},
- DualImportFrm in '..\PluginCommon\DualImportFrm.pas' {frmImport},
+ DualImportFrm in '..\PluginCommon\DualImportFrm.pas' {frmDualImport},
CommonUtils in '..\CommonUtils.pas';
{$R *.res}
Modified: translator/trunk/src/IBForumsPlugin/IBForumsParserImpl.pas
===================================================================
--- translator/trunk/src/IBForumsPlugin/IBForumsParserImpl.pas 2006-11-22 15:06:38 UTC (rev 131)
+++ translator/trunk/src/IBForumsPlugin/IBForumsParserImpl.pas 2006-11-22 15:18:34 UTC (rev 132)
@@ -52,8 +52,7 @@
function Capabilities: Integer; safecall;
function HandleOrig(const AFilename: WideString; const Items: ITranslationItems; const Orphans: ITranslationItems): Boolean; safecall;
function HandleTrans(const AFilename: WideString; const Items: ITranslationItems; const Orphans: ITranslationItems): Boolean; safecall;
- function GetString(out Section: WideString; out Name: WideString;
- out Value: WideString): WordBool; safecall;
+ function GetString(out Section: WideString; out Name: WideString; out Value: WideString): WordBool; safecall;
end;
@@ -295,7 +294,7 @@
S := TTntStringlist.Create;
try
BuildPreview(Items, S);
- if TfrmExport.Execute(FTransFile, Translate(cIBFExportTitle), Translate(cPHPFilter), '.', 'php', S) then
+ if TfrmExport.Execute(FAppServices, FTransFile, Translate(cIBFExportTitle), Translate(cPHPFilter), '.', 'php', S) then
begin
S.AnsiStrings.SaveToFile(FTransFile);
SaveSettings;
@@ -313,7 +312,7 @@
begin
Result := S_FALSE;
LoadSettings;
- if TfrmImport.Execute(FOrigFile, FTransFile, Translate(cIBFImportTitle), Translate(cPHPFilter), '.', 'php') then
+ if TfrmDualImport.Execute(FAppServices, FOrigFile, FTransFile, Translate(cIBFImportTitle), Translate(cPHPFilter), '.', 'php') then
begin
if DoImport(Items, Orphans, FOrigFile, FTransFile) then
begin
@@ -395,6 +394,8 @@
begin
Result := false;
end;
+var
+ frmExport:TfrmExport = nil;
function TIBFParser.GetString(out Section, Name,
Value: WideString): WordBool;
@@ -408,13 +409,22 @@
4: Value := SError;
// 5: Value := cSectionName;
else
- Result := false;
- FCount := 0;
+ if frmExport = nil then
+ frmExport := tFrmExport.Create(Application);
+ Result := frmExport.GetString(Section, Name, Value);
+ if not Result then
+ begin
+ FreeAndNil(frmExport);
+ FCount := 0;
+ end;
end;
if Result then
Inc(FCount);
- Section := ClassName;
- Name := Value;
+ if frmExport = nil then
+ begin
+ Section := ClassName;
+ Name := Value;
+ end;
end;
function TIBFParser.Translate(const Value: WideString): WideString;
Modified: translator/trunk/src/MSDictParser/MSDictParserImpl.pas
===================================================================
--- translator/trunk/src/MSDictParser/MSDictParserImpl.pas 2006-11-22 15:06:38 UTC (rev 131)
+++ translator/trunk/src/MSDictParser/MSDictParserImpl.pas 2006-11-22 15:18:34 UTC (rev 132)
@@ -131,7 +131,7 @@
S := TTntStringlist.Create;
try
BuildPreview(Items, S);
- if TfrmExport.Execute(FTransFile, Translate(cMsDictExportTitle), Translate(cMsDictFilter), '.', 'csv', S) then
+ if TfrmExport.Execute(FAppServices, FTransFile, Translate(cMsDictExportTitle), Translate(cMsDictFilter), '.', 'csv', S) then
begin
S.AnsiStrings.SaveToFile(FTransFile);
Result := S_OK;
@@ -304,7 +304,7 @@
Items.Clear;
Orphans.Clear;
LoadSettings;
- if TfrmImport.Execute(FTransFile, FSkipLines, Translate(cMsDictImportTitle), Translate(cMsDictFilter), '.', 'csv') then
+ if TfrmImport.Execute(FAppServices, FTransFile, FSkipLines, Translate(cMsDictImportTitle), Translate(cMsDictFilter), '.', 'csv') then
begin
Items.Sort := stNone;
if FSkipLines < 0 then
Modified: translator/trunk/src/MSDictParser/MSDictParserImportFrm.pas
===================================================================
--- translator/trunk/src/MSDictParser/MSDictParserImportFrm.pas 2006-11-22 15:06:38 UTC (rev 131)
+++ translator/trunk/src/MSDictParser/MSDictParserImportFrm.pas 2006-11-22 15:18:34 UTC (rev 132)
@@ -105,7 +105,7 @@
function TfrmImport.Translate(const Value: WideString): WideString;
begin
if FAppServices <> nil then
- Result := FAppServices.Translate(ClassName, Value, Value)
+ Result := FAppServices.Translate('TMSDictParser', Value, Value)
else
Result := Value;
end;
@@ -129,7 +129,7 @@
end;
if Result then
Inc(FCount);
- Section := ClassName;
+ Section := 'TMsDictParser';
Name := Value;
end;
Modified: translator/trunk/src/MozillaPlugin/MozillaDTDImpl.pas
===================================================================
--- translator/trunk/src/MozillaPlugin/MozillaDTDImpl.pas 2006-11-22 15:06:38 UTC (rev 131)
+++ translator/trunk/src/MozillaPlugin/MozillaDTDImpl.pas 2006-11-22 15:18:34 UTC (rev 132)
@@ -123,7 +123,7 @@
S := TTntStringlist.Create;
try
BuildPreview(Items, S);
- if TfrmExport.Execute(FTransFile, Translate(cDTDExportTitle), Translate(cDTDFilter), '.', 'dtd', S) then
+ if TfrmExport.Execute(FAppServices, FTransFile, Translate(cDTDExportTitle), Translate(cDTDFilter), '.', 'dtd', S) then
begin
S.AnsiStrings.SaveToFile(FTransFile);
Result := S_OK;
@@ -171,7 +171,7 @@
Orphans.Clear;
TI := nil;
LoadSettings;
- if TfrmImport.Execute(FOrigFile, FTransFile, Translate(cDTDImportTitle), Translate(cDTDFilter), '.', 'dtd') then
+ if TfrmDualImport.Execute(FAppServices, FOrigFile, FTransFile, Translate(cDTDImportTitle), Translate(cDTDFilter), '.', 'dtd') then
begin
Items.Sort := stNone;
S := TTntStringlist.Create;
Modified: translator/trunk/src/MozillaPlugin/MozillaDTDParser.dpr
===================================================================
--- translator/trunk/src/MozillaPlugin/MozillaDTDParser.dpr 2006-11-22 15:06:38 UTC (rev 131)
+++ translator/trunk/src/MozillaPlugin/MozillaDTDParser.dpr 2006-11-22 15:18:34 UTC (rev 132)
@@ -22,7 +22,8 @@
TransIntf in '..\TransIntf.pas',
MozillaDTDImpl in 'MozillaDTDImpl.pas',
PreviewExportFrm in '..\PluginCommon\PreviewExportFrm.pas' {frmExport},
- DualImportFrm in '..\PluginCommon\DualImportFrm.pas' {frmImport};
+ DualImportFrm in '..\PluginCommon\DualImportFrm.pas' {frmDualImport},
+ CommonUtils in '..\CommonUtils.pas';
{$R *.res}
Modified: translator/trunk/src/MozillaPlugin/MozillaPropsImpl.pas
===================================================================
--- translator/trunk/src/MozillaPlugin/MozillaPropsImpl.pas 2006-11-22 15:06:38 UTC (rev 131)
+++ translator/trunk/src/MozillaPlugin/MozillaPropsImpl.pas 2006-11-22 15:18:34 UTC (rev 132)
@@ -119,7 +119,7 @@
try
Items.Sort := stIndex;
BuildPreview(Items, S);
- if TfrmExport.Execute(FTransFile, Translate(cPropsExportTitle), Translate(cPropsFilter), '.', 'properties', S) then
+ if TfrmExport.Execute(FAppServices, FTransFile, Translate(cPropsExportTitle), Translate(cPropsFilter), '.', 'properties', S) then
begin
S.AnsiStrings.SaveToFile(FTransFile);
Result := S_OK;
@@ -162,7 +162,7 @@
Result := S_FALSE;
try
LoadSettings;
- if TfrmImport.Execute(FOrigFile, FTransFile, Translate(cPropsImportTitle), Translate(cPropsFilter), '.', 'properties') then
+ if TfrmDualImport.Execute(FAppServices, FOrigFile, FTransFile, Translate(cPropsImportTitle), Translate(cPropsFilter), '.', 'properties') then
begin
TI := nil;
S := TTntStringlist.Create;
Modified: translator/trunk/src/MozillaPlugin/MozillaPropsParser.dpr
===================================================================
--- translator/trunk/src/MozillaPlugin/MozillaPropsParser.dpr 2006-11-22 15:06:38 UTC (rev 131)
+++ translator/trunk/src/MozillaPlugin/MozillaPropsParser.dpr 2006-11-22 15:18:34 UTC (rev 132)
@@ -23,7 +23,8 @@
TransIntf in '..\TransIntf.pas',
MozillaPropsImpl in 'MozillaPropsImpl.pas',
PreviewExportFrm in '..\PluginCommon\PreviewExportFrm.pas' {frmExport},
- DualImportFrm in '..\PluginCommon\DualImportFrm.pas' {frmImport};
+ DualImportFrm in '..\PluginCommon\DualImportFrm.pas' {frmDualImport},
+ CommonUtils in '..\CommonUtils.pas';
{$R *.res}
Modified: translator/trunk/src/OlegPlugin/OlegParser.dpr
===================================================================
--- translator/trunk/src/OlegPlugin/OlegParser.dpr 2006-11-22 15:06:38 UTC (rev 131)
+++ translator/trunk/src/OlegPlugin/OlegParser.dpr 2006-11-22 15:18:34 UTC (rev 132)
@@ -4,9 +4,10 @@
SysUtils,
Classes,
PreviewExportFrm in '..\PluginCommon\PreviewExportFrm.pas' {frmExport},
- SingleImportFrm in '..\PluginCommon\SingleImportFrm.pas' {frmImport},
+ SingleImportFrm in '..\PluginCommon\SingleImportFrm.pas' {frmSingleImport},
TransIntf in '..\TransIntf.pas',
- OlegParserImpl in 'OlegParserImpl.pas';
+ OlegParserImpl in 'OlegParserImpl.pas',
+ CommonUtils in '..\CommonUtils.pas';
{$R *.res}
Modified: translator/trunk/src/OlegPlugin/OlegParserImpl.pas
===================================================================
--- translator/trunk/src/OlegPlugin/OlegParserImpl.pas 2006-11-22 15:06:38 UTC (rev 131)
+++ translator/trunk/src/OlegPlugin/OlegParserImpl.pas 2006-11-22 15:18:34 UTC (rev 132)
@@ -114,7 +114,7 @@
S := TTntStringlist.Create;
try
BuildPreview(Items, S);
- if TfrmExport.Execute(FTransFile, Translate(cOlegExportTitle), Translate(cOlegFilter), '.', 'txt', S) then
+ if TfrmExport.Execute(FAppServices, FTransFile, Translate(cOlegExportTitle), Translate(cOlegFilter), '.', 'txt', S) then
begin
S.AnsiStrings.SaveToFile(FTransFile);
Result := S_OK;
@@ -128,6 +128,8 @@
Application.HandleException(self);
end;
end;
+var
+ frmImport:TfrmSingleImport = nil;
function TOlegParser.GetString(out Section, Name, Value: WideString): WordBool;
begin
@@ -137,13 +139,22 @@
1: Value := cOlegImportTitle;
2: Value := cOlegExportTitle;
else
- Result := false;
- FCount := 0;
+ if frmImport = nil then
+ frmImport := TfrmSingleImport.Create(Application);
+ Result := frmImport.GetString(Section, Name, Value);
+ if not Result then
+ begin
+ FreeAndNil(frmImport);
+ FCount := 0;
+ end;
end;
if Result then
Inc(FCount);
- Section := ClassName;
- Name := Value;
+ if frmImport = nil then
+ begin
+ Section := ClassName;
+ Name := Value;
+ end;
end;
function TOlegParser.ImportItems(const Items, Orphans: ITranslationItems): HRESULT;
@@ -158,7 +169,7 @@
Orphans.Clear;
TI := nil;
LoadSettings;
- if TfrmImport.Execute(FTransFile, Translate(cOlegImportTitle), Translate(cOlegFilter), '.', 'txt') then
+ if TfrmSingleImport.Execute(FAppServices, FTransFile, Translate(cOlegImportTitle), Translate(cOlegFilter), '.', 'txt') then
begin
Items.Sort := stNone;
S := TTntStringlist.Create;
Modified: translator/trunk/src/OpenOfficeGSIPlugin/OOGSIParser.dof
===================================================================
--- translator/trunk/src/OpenOfficeGSIPlugin/OOGSIParser.dof 2006-11-22 15:06:38 UTC (rev 131)
+++ translator/trunk/src/OpenOfficeGSIPlugin/OOGSIParser.dof 2006-11-22 15:18:34 UTC (rev 132)
@@ -34,7 +34,7 @@
FileDescription=OpenOffice GSI Plugin for IniTranslator
FileVersion=1.7.0.0
InternalName=OOGSIParser.dll
-LegalCopyright=Copyright (c) 2003-2004 by Peter Thornqvist; all rights reserved
+LegalCopyright=Copyright (c) 2003-2007 by Peter Thornqvist; all rights reserved
LegalTrademarks=
OriginalFilename=OOGSIParser.dll
ProductName=OpenOffice GSI Plugin for IniTranslator
Modified: translator/trunk/src/OpenOfficeGSIPlugin/OOGSIParserImpl.pas
===================================================================
--- translator/trunk/src/OpenOfficeGSIPlugin/OOGSIParserImpl.pas 2006-11-22 15:06:38 UTC (rev 131)
+++ translator/trunk/src/OpenOfficeGSIPlugin/OOGSIParserImpl.pas 2006-11-22 15:18:34 UTC (rev 132)
@@ -269,7 +269,7 @@
S := TTntStringlist.Create;
try
BuildPreview(Items, S);
- if TfrmExport.Execute(FOrigFile, Translate(cGSIExportTitle), Translate(cGSIFilter), '.', 'gsi', S) then
+ if TfrmExport.Execute(FAppServices, FOrigFile, Translate(cGSIExportTitle), Translate(cGSIFilter), '.', 'gsi', S) then
begin
// GSI files are always encodeds as UTF-8 but without BOM
S.AnsiStrings.SaveToFileEx(FOrigFile, CP_UTF8);
Modified: translator/trunk/src/PHPNukePlugin/PHPNukeImpl.pas
===================================================================
--- translator/trunk/src/PHPNukePlugin/PHPNukeImpl.pas 2006-11-22 15:06:38 UTC (rev 131)
+++ translator/trunk/src/PHPNukePlugin/PHPNukeImpl.pas 2006-11-22 15:18:34 UTC (rev 132)
@@ -150,7 +150,7 @@
S.Add(Format('DEFINE("%s",%s);', [Items[i].Name, DefaultStr(Items[i].Translation, Items[i].TransQuote)]));
end;
S.AddStrings(FFooter);
- if TfrmExport.Execute(FTransFile, Translate(cPHPNukeExportTitle), Translate(cPHPNukeFilter), '.', 'php', S) then
+ if TfrmExport.Execute(FAppServices, FTransFile, Translate(cPHPNukeExportTitle), Translate(cPHPNukeFilter), '.', 'php', S) then
begin
S.AnsiStrings.SaveToFile(FTransFile);
Result := S_OK;
@@ -178,7 +178,7 @@
Result := false;
FCount := 0;
end;
- if not Result then
+ if Result then
Inc(FCount);
Section := ClassName;
Name := Value;
@@ -251,7 +251,7 @@
LoadSettings;
// Screen.Cursor := crHourGlass;
try
- if TfrmImport.Execute(FOrigFile, FTransFile, Translate(cPHPNukeImportTitle), Translate(cPHPNukeFilter), '.', 'php') then
+ if TfrmDualImport.Execute(FAppServices, FOrigFile, FTransFile, Translate(cPHPNukeImportTitle), Translate(cPHPNukeFilter), '.', 'php') then
begin
Items.Clear;
Orphans.Clear;
Modified: translator/trunk/src/PHPNukePlugin/PHPNukeParser.dpr
===================================================================
--- translator/trunk/src/PHPNukePlugin/PHPNukeParser.dpr 2006-11-22 15:06:38 UTC (rev 131)
+++ translator/trunk/src/PHPNukePlugin/PHPNukeParser.dpr 2006-11-22 15:18:34 UTC (rev 132)
@@ -23,7 +23,7 @@
PHPNukeImpl in 'PHPNukeImpl.pas',
TransIntf in '..\TransIntf.pas',
PreviewExportFrm in '..\PluginCommon\PreviewExportFrm.pas' {frmExport},
- DualImportFrm in '..\PluginCommon\DualImportFrm.pas' {frmImport},
+ DualImportFrm in '..\PluginCommon\DualImportFrm.pas' {frmDualImport},
CommonUtils in '..\CommonUtils.pas';
{$R *.res}
Modified: translator/trunk/src/PHPPlugin/PHPParser.dpr
===================================================================
--- translator/trunk/src/PHPPlugin/PHPParser.dpr 2006-11-22 15:06:38 UTC (rev 131)
+++ translator/trunk/src/PHPPlugin/PHPParser.dpr 2006-11-22 15:18:34 UTC (rev 132)
@@ -26,7 +26,8 @@
TransIntf in '..\TransIntf.pas',
PHPParserImpl in 'PHPParserImpl.pas',
PreviewExportFrm in '..\PluginCommon\PreviewExportFrm.pas' {frmExport},
- DualImportFrm in '..\PluginCommon\DualImportFrm.pas' {frmImport};
+ DualImportFrm in '..\PluginCommon\DualImportFrm.pas' {frmDualImport},
+ CommonUtils in '..\CommonUtils.pas';
{$R *.res}
Modified: translator/trunk/src/PHPPlugin/PHPParserImpl.pas
===================================================================
--- translator/trunk/src/PHPPlugin/PHPParserImpl.pas 2006-11-22 15:06:38 UTC (rev 131)
+++ translator/trunk/src/PHPPlugin/PHPParserImpl.pas 2006-11-22 15:18:34 UTC (rev 132)
@@ -250,7 +250,7 @@
S := TTntStringlist.Create;
try
BuildPreview(Items, S);
- if TfrmExport.Execute(FTransFile, Translate(cPHPExportTitle), Translate(cPHPFilter), '.', 'php', S) then
+ if TfrmExport.Execute(FAppServices, FTransFile, Translate(cPHPExportTitle), Translate(cPHPFilter), '.', 'php', S) then
begin
S.AnsiStrings.SaveToFile(FTransFile);
SaveSettings;
@@ -269,7 +269,7 @@
try
Result := S_FALSE;
LoadSettings;
- if TfrmImport.Execute(FAppServices, FOrigFile, FTransFile, Translate(cPHPImportTitle), Translate(cPHPFilter), '.', 'php') then
+ if TfrmDualImport.Execute(FAppServices, FOrigFile, FTransFile, Translate(cPHPImportTitle), Translate(cPHPFilter), '.', 'php') then
begin
if DoPHPImport(Items, Orphans, FOrigFile, FTransFile) then
begin
@@ -341,8 +341,8 @@
end;
var
- frmImport: TFrmImport = nil;
- frmExport: TFrmExport = nil;
+ frmImport: TfrmDualImport = nil;
+ frmExport: TfrmExport = nil;
function TPHPParser.GetString(out Section, Name, Value: WideString): WordBool;
begin
@@ -355,7 +355,7 @@
4: Value := SError;
else
if frmImport = nil then
- frmImport := TfrmImport.Create(Application);
+ frmImport := TfrmDualImport.Create(Application);
Result := frmImport.GetString(Section, Name, Value);
if not Result then
begin
Modified: translator/trunk/src/POPlugin/POParser.dof
===================================================================
--- translator/trunk/src/POPlugin/POParser.dof 2006-11-22 15:06:38 UTC (rev 131)
+++ translator/trunk/src/POPlugin/POParser.dof 2006-11-22 15:18:34 UTC (rev 132)
@@ -1,83 +1,42 @@
-[Compiler]
-
-UnsafeType=0
-
-UnsafeCode=0
-
-UnsafeCast=0
-
-[Linker]
-
-MapFile=3
-
-OutputObjs=0
-
-ConsoleApp=1
-
-DebugInfo=0
-
-RemoteSymbols=0
-
-MinStackSize=16384
-
-MaxStackSize=1048576
-
-ImageBase=28901376
-
-ExeDescription=PO Plugin for IniTranslator
-
-[Directories]
-
-OutputDir=..\..\bin\plugins
-
-UnitOutputDir=..\..\dcu
-
-[Version Info]
-
-IncludeVerInfo=1
-
-AutoIncBuild=0
-
-MajorVer=1
-
-MinorVer=7
-
-Release=0
-
-Build=0
-
-Debug=0
-
-PreRelease=0
-
-Special=0
-
-Private=0
-
-DLL=1
-
-Locale=1033
-
-CodePage=1252
-
-[Version Info Keys]
-
-CompanyName=IniTranslator
-
-FileDescription=PO Plugin for IniTranslator
-
-FileVersion=1.7.0.0
-
-InternalName=POParser.dll
-
-LegalCopyright=Copyright (c) 2003-2004 by Peter Thornqvist; all rights reserved
-
-LegalTrademarks=
-
-OriginalFilename=POParser.dll
-
-ProductName=PO Plugin for IniTranslator
-
-ProductVersion=1.7.0.0
-
-Comments=Latest version at http://initranslator.sourceforge.net
\ No newline at end of file
+[Compiler]
+UnsafeType=0
+UnsafeCode=0
+UnsafeCast=0
+[Linker]
+MapFile=3
+OutputObjs=0
+ConsoleApp=1
+DebugInfo=0
+RemoteSymbols=0
+MinStackSize=16384
+MaxStackSize=1048576
+ImageBase=28901376
+ExeDescription=PO Plugin for IniTranslator
+[Directories]
+OutputDir=..\..\bin\plugins
+UnitOutputDir=..\..\dcu
+[Version Info]
+IncludeVerInfo=1
+AutoIncBuild=0
+MajorVer=1
+MinorVer=7
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=1
+Locale=1033
+CodePage=1252
+[Version Info Keys]
+CompanyName=IniTranslator
+FileDescription=PO Plugin for IniTranslator
+FileVersion=1.7.0.0
+InternalName=POParser.dll
+LegalCopyright=Copyright (c) 2003-2004 by Peter Thornqvist; all rights reserved
+LegalTrademarks=
+OriginalFilename=POParser.dll
+ProductName=PO Plugin for IniTranslator
+ProductVersion=1.7.0.0
+Comments=Latest version at http://initranslator.sourceforge.net
Modified: translator/trunk/src/PluginCommon/DualImportFrm.dfm
===================================================================
--- translator/trunk/src/PluginCommon/DualImportFrm.dfm 2006-11-22 15:06:38 UTC (rev 131)
+++ translator/trunk/src/PluginCommon/DualImportFrm.dfm 2006-11-22 15:18:34 UTC (rev 132)
@@ -1,4 +1,4 @@
-object frmImport: TfrmImport
+object frmDualImport: TfrmDualImport
Left = 412
Top = 228
ActiveControl = edFilename
Modified: translator/trunk/src/PluginCommon/DualImportFrm.pas
===================================================================
--- translator/trunk/src/PluginCommon/DualImportFrm.pas 2006-11-22 15:06:38 UTC (rev 131)
+++ translator/trunk/src/PluginCommon/DualImportFrm.pas 2006-11-22 15:18:34 UTC (rev 132)
@@ -24,7 +24,7 @@
Dialogs, StdCtrls, TransIntf, TntForms, TntDialogs, TntStdCtrls;
type
- TfrmImport = class(TTntForm, IInterface, ILocalizable)
+ TfrmDualImport = class(TTntForm, IInterface, ILocalizable)
lblOriginal: TTntLabel;
edFilename: TTntEdit;
btnBrowse: TTntButton;
@@ -66,17 +66,17 @@
{ TfrmImport }
-class function TfrmImport.Execute(var AOriginalFile, ATranslationFile: string; const ACaption, Filter, InitialDir, DefaultExt: string; const SecondIsOptional: Boolean = false): boolean;
+class function TfrmDualImport.Execute(var AOriginalFile, ATranslationFile: string; const ACaption, Filter, InitialDir, DefaultExt: string; const SecondIsOptional: Boolean = false): boolean;
begin
Result := Execute(nil, AOriginalFile, ATranslationFile, ACaption, Filter, InitialDir, DefaultExt, SecondIsOptional);
end;
-procedure TfrmImport.CheckChange(Sender: TObject);
+procedure TfrmDualImport.CheckChange(Sender: TObject);
begin
btnOK.Enabled := (edFilename.Text <> '') and (FSecondIsOptional or ((edFilename2.Text <> '') and FileExists(edFilename.Text) and FileExists(edFilename2.Text)));
end;
-procedure TfrmImport.btnBrowseClick(Sender: TObject);
+procedure TfrmDualImport.btnBrowseClick(Sender: TObject);
begin
OpenDialog1.Filename := edFilename.Text;
if OpenDialog1.Execute then
@@ -84,7 +84,7 @@
CheckChange(Sender);
end;
-procedure TfrmImport.btnBrowse2Click(Sender: TObject);
+procedure TfrmDualImport.btnBrowse2Click(Sender: TObject);
begin
OpenDialog2.Filename := edFilename2.Text;
if OpenDialog2.Execute then
@@ -92,7 +92,7 @@
CheckChange(Sender);
end;
-procedure TfrmImport.LoadSettings;
+procedure TfrmDualImport.LoadSettings;
var M: TMemoryStream;
FRect: TRect;
begin
@@ -133,7 +133,7 @@
end;
end;
-procedure TfrmImport.SaveSettings;
+procedure TfrmDualImport.SaveSettings;
var M: TMemoryStream;
FRect: TRect;
begin
@@ -158,12 +158,12 @@
end;
end;
-class function TfrmImport.Execute(
+class function TfrmDualImport.Execute(
const ApplicationServices: IApplicationServices; var AOriginalFile,
ATranslationFile: string; const ACaption, Filter, InitialDir,
DefaultExt: string; const SecondIsOptional: Boolean): boolean;
var
- frmImport: TfrmImport;
+ frmImport: TfrmDualImport;
begin
frmImport := self.Create(Application);
with frmImport do
@@ -205,7 +205,7 @@
end;
-function TfrmImport.Translate(const Value: WideString): WideString;
+function TfrmDualImport.Translate(const Value: WideString): WideString;
begin
if FApplicationServices <> nil then
Result := FApplicationServices.Translate(self.ClassName, Value, Value)
@@ -213,7 +213,7 @@
Result := Value;
end;
-function TfrmImport.GetString(out Section, Name, Value: WideString): WordBool;
+function TfrmDualImport.GetString(out Section, Name, Value: WideString): WordBool;
begin
Result := true;
case FCount of
Modified: translator/trunk/src/PluginCommon/PreviewExportFrm.dfm
===================================================================
--- translator/trunk/src/PluginCommon/PreviewExportFrm.dfm 2006-11-22 15:06:38 UTC (rev 131)
+++ translator/trunk/src/PluginCommon/PreviewExportFrm.dfm 2006-11-22 15:18:34 UTC (rev 132)
@@ -126,6 +126,7 @@
object SaveDialog1: TTntSaveDialog
InitialDir = '.'
Options = [ofOverwritePrompt, ofHideReadOnly, ofEnableSizing]
+ Title = 'Save file'
Left = 58
Top = 82
end
Modified: translator/trunk/src/PluginCommon/PreviewExportFrm.pas
===================================================================
--- translator/trunk/src/PluginCommon/PreviewExportFrm.pas 2006-11-22 15:06:38 UTC (rev 131)
+++ translator/trunk/src/PluginCommon/PreviewExportFrm.pas 2006-11-22 15:18:34 UTC (rev 132)
@@ -57,7 +57,7 @@
implementation
uses
- ShellAPI, IniFiles;
+ ShellAPI, IniFiles, CommonUtils;
const
SFmtErrIvalidFilename = 'Invalid filename "%s". Select another filename and try again.';
@@ -79,6 +79,7 @@
procedure TfrmExport.btnBrowseClick(Sender: TObject);
begin
SaveDialog1.FileName := edFilename.Text;
+ SaveDialog1.Title := Translate(SaveDialog1.Title);
if SaveDialog1.Execute then
begin
FHasPrompted := true;
@@ -89,7 +90,7 @@
function TfrmExport.OverwriteOK: boolean;
begin
Result := FHasPrompted or not FileExists(edFilename.Text) or
- (MessageBox(Handle, PChar(Format(SFmtOverwriteOK, [edFilename.Text])), PChar(SConfirm), MB_YESNO or MB_TASKMODAl or MB_ICONQUESTION) = IDYES);
+ (WideMessageBox(Handle, PWideChar(Translate(Format(SFmtOverwriteOK, [edFilename.Text]))), PWideChar(Translate(SConfirm)), MB_YESNO or MB_TASKMODAl or MB_ICONQUESTION) = IDYES);
end;
procedure TfrmExport.LoadSettings;
@@ -185,11 +186,10 @@
begin
Result := IsValidFilename;
if not Result then
- MessageBox(Handle, PChar(Format(SFmtErrIvalidFilename, [edFilename.Text])), PChar(SError), MB_OK or MB_TASKMODAl or MB_ICONERROR);
+ WideMessageBox(Handle, PWideChar(Translate(Format(SFmtErrIvalidFilename, [edFilename.Text]))), PWideChar(Translate(SError)), MB_OK or MB_TASKMODAl or MB_ICONERROR);
end;
-class function TfrmExport.Execute(
- const ApplicationServices: IApplicationServices; var FileName: string;
+class function TfrmExport.Execute(const ApplicationServices: IApplicationServices; var FileName: string;
const ACaption, Filter, InitialDir, DefaultExt: string;
Preview: TTntStrings): boolean;
var
@@ -249,7 +249,8 @@
6: Value := lblPreview.Caption;
7: Value := btnBrowse.Caption;
8: Value := btnOK.Caption;
- 9: Value := btnCancel.Caption;
+ 9: Value := btnCancel.Caption;
+ 10: Value := SaveDialog1.Title;
else
Result := false;
FCount := 0;
Modified: translator/trunk/src/PluginCommon/SingleImportFrm.dfm
===================================================================
--- translator/trunk/src/PluginCommon/SingleImportFrm.dfm 2006-11-22 15:06:38 UTC (rev 131)
+++ translator/trunk/src/PluginCommon/SingleImportFrm.dfm 2006-11-22 15:18:34 UTC (rev 132)
@@ -1,4 +1,4 @@
-object frmImport: TfrmImport
+object frmSingleImport: TfrmSingleImport
Left = 412
Top = 228
BorderStyle = bsDialog
Modified: translator/trunk/src/PluginCommon/SingleImportFrm.pas
===================================================================
--- translator/trunk/src/PluginCommon/SingleImportFrm.pas 2006-11-22 15:06:38 UTC (rev 131)
+++ translator/trunk/src/PluginCommon/SingleImportFrm.pas 2006-11-22 15:18:34 UTC (rev 132)
@@ -24,7 +24,7 @@
Dialogs, StdCtrls, ComCtrls, TransIntf, TntForms, TntDialogs, TntStdCtrls;
type
- TfrmImport = class(TTntForm)
+ TfrmSingleImport = class(TTntForm, IInterface, ILocalizable)
lblFilename: TTntLabel;
edFilename: TTntEdit;
btnBrowse: TTntButton;
@@ -34,12 +34,15 @@
procedure btnBrowseClick(Sender: TObject);
private
{ Private declarations }
- FApplicationServices:IApplicationServices;
+ FAppServices:IApplicationServices;
+ FCount:integer;
function Translate(const Value:WideString):WideString;
public
{ Public declarations }
class function Execute(var AFilename: string; const ACaption, Filter, InitialDir, DefaultExt: string): boolean;overload;
class function Execute(const ApplicationServices:IApplicationServices; var AFilename: string; const ACaption, Filter, InitialDir, DefaultExt: string): boolean;overload;
+ function GetString(out Section, Name, Value: WideString): WordBool; safecall;
+
end;
implementation
@@ -48,28 +51,27 @@
{ TfrmImport }
-class function TfrmImport.Execute(var AFilename: string; const ACaption, Fil...
[truncated message content] |
|
From: <pe...@us...> - 2006-11-22 15:44:42
|
Revision: 133
http://svn.sourceforge.net/initranslator/?rev=133&view=rev
Author: peter3
Date: 2006-11-22 07:44:43 -0800 (Wed, 22 Nov 2006)
Log Message:
-----------
- Don't lock listview while toolitem plugin is active
Modified Paths:
--------------
translator/trunk/src/MainFrm.dfm
translator/trunk/src/MainFrm.pas
Modified: translator/trunk/src/MainFrm.dfm
===================================================================
--- translator/trunk/src/MainFrm.dfm 2006-11-22 15:18:34 UTC (rev 132)
+++ translator/trunk/src/MainFrm.dfm 2006-11-22 15:44:43 UTC (rev 133)
@@ -1408,6 +1408,7 @@
object acMakeConsistent: TTntAction
Category = 'Actions'
Caption = 'Make all translations consistent'
+ ShortCut = 120
OnExecute = acMakeConsistentExecute
end
end
Modified: translator/trunk/src/MainFrm.pas
===================================================================
--- translator/trunk/src/MainFrm.pas 2006-11-22 15:18:34 UTC (rev 132)
+++ translator/trunk/src/MainFrm.pas 2006-11-22 15:44:43 UTC (rev 133)
@@ -3170,6 +3170,7 @@
not WideSameText(FTrans, FTranslateFile.Items[j].Translation) then
begin
FTranslateFile.Items[j].Translation := FTrans;
+ FTranslateFile.Items[j].Translated := true;
Modified := true;
end;
end;
@@ -3743,7 +3744,7 @@
begin
i := lvTranslateStrings.ItemIndex;
- lvTranslateStrings.Items.BeginUpdate;
+// lvTranslateStrings.Items.BeginUpdate;
try
T := TExternalToolItem((Sender as TTBCustomItem).Tag);
AItem := SelectedItem;
@@ -3752,7 +3753,7 @@
lvTranslateStrings.Invalidate;
finally
- lvTranslateStrings.Items.EndUpdate;
+// lvTranslateStrings.Items.EndUpdate;
if AItem <> nil then
SelectedItem := AItem
else
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pe...@us...> - 2006-11-23 21:56:18
|
Revision: 134
http://svn.sourceforge.net/initranslator/?rev=134&view=rev
Author: peter3
Date: 2006-11-23 13:56:17 -0800 (Thu, 23 Nov 2006)
Log Message:
-----------
- Several memory leaks detected and removed using FastMM
Modified Paths:
--------------
translator/trunk/src/AppUtils.pas
translator/trunk/src/ApplicationServices.pas
translator/trunk/src/BaseForm.pas
translator/trunk/src/MainFrm.pas
translator/trunk/src/MsgTranslate.pas
translator/trunk/src/PolyglotPlugin/PolyGlotParserImpl.pas
translator/trunk/src/TRANSLATOR.INC
translator/trunk/src/ToolItems.pas
translator/trunk/src/TranslateFile.pas
translator/trunk/src/translator.dof
translator/trunk/src/translator.dpr
translator/trunk/src/translator.res
Modified: translator/trunk/src/AppUtils.pas
===================================================================
--- translator/trunk/src/AppUtils.pas 2006-11-22 15:44:43 UTC (rev 133)
+++ translator/trunk/src/AppUtils.pas 2006-11-23 21:56:17 UTC (rev 134)
@@ -435,18 +435,6 @@
Application.HandleException(Sender);
end;
-procedure SaveAndFreeOptions;
-begin
- if FAppOptions <> nil then
- try
- FAppOptions.SaveToFile(GetUserAppOptionsFile);
- except
- on E: Exception do
- HandleFileCreateException(FAppOptions, E, GetUserAppOptionsFile);
- end;
- FreeAndNil(FAppOptions);
-end;
-
function PidlFree(var IdList: PItemIdList): Boolean;
var
Malloc: IMalloc;
@@ -622,6 +610,18 @@
end;
end;
+procedure SaveAndFreeOptions;
+begin
+ if FAppOptions <> nil then
+ try
+ FAppOptions.SaveToFile(GetUserAppOptionsFile);
+ except
+ on E: Exception do
+ HandleFileCreateException(FAppOptions, E, GetUserAppOptionsFile);
+ end;
+ FreeAndNil(FAppOptions);
+end;
+
initialization
finalization
Modified: translator/trunk/src/ApplicationServices.pas
===================================================================
--- translator/trunk/src/ApplicationServices.pas 2006-11-22 15:44:43 UTC (rev 133)
+++ translator/trunk/src/ApplicationServices.pas 2006-11-23 21:56:17 UTC (rev 134)
@@ -5,7 +5,7 @@
Classes, SysUtils, TransIntf, MainFrm;
type
- TApplicationServices = class(TObject, IInterface, IApplicationServices)
+ TApplicationServices = class(TInterfacedObject, IInterface, IApplicationServices)
private
FForm: TfrmMain;
public
@@ -13,8 +13,7 @@
function BeginUpdate: Integer; safecall;
function EndUpdate: Integer; safecall;
function GetAppHandle: Cardinal;
- function GetAppOption(const Section: WideString;
- const Name: WideString; const Default: WideString): WideString;
+ function GetAppOption(const Section: WideString; const Name: WideString; const Default: WideString): WideString;
safecall;
function GetDictionaryItems: IDictionaryItems;
function GetFooter: WideString;
@@ -29,20 +28,12 @@
function Translate(const Section, Name, Value: WideString): WideString; safecall;
procedure UnRegisterNotify(const ANotify: INotify); safecall;
- function _Release: Integer; stdcall;
- function QueryInterface(const IID: TGUID; out Obj): HRESULT; stdcall;
- function _AddRef: Integer; stdcall;
end;
implementation
{ TApplicationServices }
-function TApplicationServices._Release: Integer;
-begin
- Result := -1;
-end;
-
function TApplicationServices.BeginUpdate: Integer;
begin
@@ -126,18 +117,5 @@
FForm.UnRegisterNotify(ANotify);
end;
-function TApplicationServices._AddRef: Integer;
-begin
- Result := -1;
-end;
-function TApplicationServices.QueryInterface(const IID: TGUID;
- out Obj): HRESULT;
-begin
- if GetInterface(IID, Obj) then
- Result := S_OK
- else
- Result := E_NOINTERFACE
-end;
-
end.
Modified: translator/trunk/src/BaseForm.pas
===================================================================
--- translator/trunk/src/BaseForm.pas 2006-11-22 15:44:43 UTC (rev 133)
+++ translator/trunk/src/BaseForm.pas 2006-11-23 21:56:17 UTC (rev 134)
@@ -68,7 +68,6 @@
begin
SaveFormPos;
Result := inherited CloseQuery;
- ;
end;
procedure TfrmBase.LoadFormPos;
Modified: translator/trunk/src/MainFrm.pas
===================================================================
--- translator/trunk/src/MainFrm.pas 2006-11-22 15:44:43 UTC (rev 133)
+++ translator/trunk/src/MainFrm.pas 2006-11-23 21:56:17 UTC (rev 134)
@@ -2378,7 +2378,11 @@
FreeAndNil(FExternalToolItems);
for i := 0 to Length(FFileMonitors) - 1 do
if FFileMonitors[i] <> nil then
+ begin
+ FFileMonitors[i].FreeOnTerminate := false;
FFileMonitors[i].Terminate;
+ FFileMonitors[i].Free;
+ end;
FApplicationServices := nil;
end;
Modified: translator/trunk/src/MsgTranslate.pas
===================================================================
--- translator/trunk/src/MsgTranslate.pas 2006-11-22 15:44:43 UTC (rev 133)
+++ translator/trunk/src/MsgTranslate.pas 2006-11-23 21:56:17 UTC (rev 134)
@@ -326,8 +326,9 @@
destructor TAppLanguage.Destroy;
begin
- FSkipList.Free;
- FClassSkipList.Free;
+ FreeAndNil(FSkipList);
+ FreeAndNil(FClassSkipList);
+ FreeAndNil(FLangFile);
inherited;
end;
@@ -418,66 +419,71 @@
if not InClassSkipList(AnObject.ClassType) and DoReading(AnObject, '') then
begin
Count := GetPropList(AnObject, PropList);
- for j := 0 to Count - 1 do
- begin
- PropInfo := PropList[j];
- PropName := UpperCase(PropInfo^.Name);
- try
- if InSkiplist(PropName) or not DoReading(AnObject, PropName) then
- Continue;
- case PropInfo^.PropType^.Kind of
- tkString, tkLString, tkWString:
- begin
- AValue := GetWideStrProp(AnObject, PropName);
- if (AValue <> '') and (IsWriteProp(PropInfo)) then
+ try
+ for j := 0 to Count - 1 do
+ begin
+ PropInfo := PropList[j];
+ PropName := UpperCase(PropInfo^.Name);
+ try
+ if InSkiplist(PropName) or not DoReading(AnObject, PropName) then
+ Continue;
+ case PropInfo^.PropType^.Kind of
+ tkString, tkLString, tkWString:
begin
- ANewValue := EncodeStrings(AValue);
- DoReadObject(AnObject, PropName, Section, ANewValue);
- if not WideSameStr(ANewValue, EncodeStrings(AValue)) then
+ AValue := GetWideStrProp(AnObject, PropName);
+ if (AValue <> '') and (IsWriteProp(PropInfo)) then
begin
- ppi := GetPropInfo(AnObject, PropName);
- if ppi = nil then
- raise Exception.CreateFmt(SPropNotFoundFmt, [PropName]);
- SetWideStrProp(AnObject, ppi, DecodeStrings(ANewValue));
+ ANewValue := EncodeStrings(AValue);
+ DoReadObject(AnObject, PropName, Section, ANewValue);
+ if not WideSameStr(ANewValue, EncodeStrings(AValue)) then
+ begin
+ ppi := GetPropInfo(AnObject, PropName);
+ if ppi = nil then
+ raise Exception.CreateFmt(SPropNotFoundFmt, [PropName]);
+ SetWideStrProp(AnObject, ppi, DecodeStrings(ANewValue));
+ end;
end;
end;
- end;
- tkClass:
- begin
- sl := GetObjectProp(AnObject, PropName);
- if (sl = nil) then
- Continue;
+ tkClass:
+ begin
+ sl := GetObjectProp(AnObject, PropName);
+ if (sl = nil) then
+ Continue;
// Check for TStrings translation
- if sl is TStrings then
- begin
- AValue := EncodeStrings(TStrings(sl).Text);
- if AValue <> '' then
+ if sl is TStrings then
begin
- ANewValue := AValue;
- DoReadObject(AnObject, PropName, Section, ANewValue);
- if not WideSameStr(ANewValue, AValue) then
- TStrings(sl).Text := DecodeStrings(ANewValue); // NB! This will loose any data in Objects[] !
+ AValue := EncodeStrings(TStrings(sl).Text);
+ if AValue <> '' then
+ begin
+ ANewValue := AValue;
+ DoReadObject(AnObject, PropName, Section, ANewValue);
+ if not WideSameStr(ANewValue, AValue) then
+ TStrings(sl).Text := DecodeStrings(ANewValue); // NB! This will loose any data in Objects[] !
+ end
end
- end
- else if sl is TTntStrings then
- begin
- AValue := EncodeStrings(TTntStrings(sl).Text);
- if AValue <> '' then
+ else if sl is TTntStrings then
begin
- ANewValue := AValue;
- DoReadObject(AnObject, PropName, Section, ANewValue);
- if not WideSameStr(ANewValue, AValue) then
- TTntStrings(sl).Text := DecodeStrings(ANewValue); // NB! This will loose any data in Objects[] !
+ AValue := EncodeStrings(TTntStrings(sl).Text);
+ if AValue <> '' then
+ begin
+ ANewValue := AValue;
+ DoReadObject(AnObject, PropName, Section, ANewValue);
+ if not WideSameStr(ANewValue, AValue) then
+ TTntStrings(sl).Text := DecodeStrings(ANewValue); // NB! This will loose any data in Objects[] !
+ end
end
- end
- else if sl is TCollection then
- for i := 0 to TCollection(sl).Count - 1 do
- TranslateObject(TCollection(sl).Items[i], Section);
- end;
- end; // case
- except
+ else if sl is TCollection then
+ for i := 0 to TCollection(sl).Count - 1 do
+ TranslateObject(TCollection(sl).Items[i], Section);
+ end;
+ end; // case
+ except
//
+ end;
end;
+ finally
+ if Count > 0 then
+ FreeMem(PropList);
end;
end;
if AnObject is TComponent then
@@ -523,3 +529,4 @@
end;
end.
+
Modified: translator/trunk/src/PolyglotPlugin/PolyGlotParserImpl.pas
===================================================================
--- translator/trunk/src/PolyglotPlugin/PolyGlotParserImpl.pas 2006-11-22 15:44:43 UTC (rev 133)
+++ translator/trunk/src/PolyglotPlugin/PolyGlotParserImpl.pas 2006-11-23 21:56:17 UTC (rev 134)
@@ -104,7 +104,8 @@
destructor TPolyGlotParser.Destroy;
begin
- Application.Handle := FOldAppHandle;
+ if FOldAppHandle <> 0 then
+ Application.Handle := FOldAppHandle;
inherited;
end;
Modified: translator/trunk/src/TRANSLATOR.INC
===================================================================
--- translator/trunk/src/TRANSLATOR.INC 2006-11-22 15:44:43 UTC (rev 133)
+++ translator/trunk/src/TRANSLATOR.INC 2006-11-23 21:56:17 UTC (rev 134)
@@ -4,6 +4,8 @@
{$DEFINE USEJCLDEBUGHANDLER}
// define this to use TBX pre 2.2 beta
{$DEFINE USEOLDTBX}
+// define this to use the FastMM4 memory manager
+{.$DEFINE USE_FASTMM4}
// defines for various Delphi/Kylix versions
{$IFDEF WIN32}
Modified: translator/trunk/src/ToolItems.pas
===================================================================
--- translator/trunk/src/ToolItems.pas 2006-11-22 15:44:43 UTC (rev 133)
+++ translator/trunk/src/ToolItems.pas 2006-11-23 21:56:17 UTC (rev 134)
@@ -126,7 +126,10 @@
destructor TExternalToolItems.Destroy;
begin
-// ReleasePlugins;
+ ReleasePlugins;
+ FreeAndNil(FItems);
+ FreeAndNil(FLibHandles);
+ FreeAndNil(FImages);
inherited Destroy;
end;
@@ -222,14 +225,11 @@
if FItems <> nil then
for i := FItems.Count - 1 downto 0 do
TExternalToolItem(FItems[i]).Free;
- FreeAndNil(FItems);
if FLibHandles <> nil then
for i := FLibHandles.Count - 1 downto 0 do
if FLibHandles[i] <> nil then
FreeLibrary(Cardinal(FLibHandles[i]));
- FreeAndNil(FLibHandles);
- FreeAndNil(FImages);
end;
end.
Modified: translator/trunk/src/TranslateFile.pas
===================================================================
--- translator/trunk/src/TranslateFile.pas 2006-11-22 15:44:43 UTC (rev 133)
+++ translator/trunk/src/TranslateFile.pas 2006-11-23 21:56:17 UTC (rev 134)
@@ -186,8 +186,9 @@
begin
Item.Index := Count;
Item.Owner := self;
- Item._AddRef;
- Result := FItems.Add(Pointer(Item));
+// Item._AddRef;
+ Result := FItems.Add(nil);
+ ITranslationItem(FItems.List[Result]) := Item;
FSort := stNone;
end;
@@ -509,7 +510,9 @@
destructor TTranslateFiles.Destroy;
begin
+ FItems.Clear;
FItems := nil;
+ FOrphans.Clear;
FOrphans := nil;
inherited;
end;
Modified: translator/trunk/src/translator.dof
===================================================================
--- translator/trunk/src/translator.dof 2006-11-22 15:44:43 UTC (rev 133)
+++ translator/trunk/src/translator.dof 2006-11-23 21:56:17 UTC (rev 134)
@@ -1,6 +1,81 @@
[FileVersion]
Version=7.0
[Compiler]
+A=8
+B=0
+C=1
+D=1
+E=0
+F=0
+G=1
+H=1
+I=1
+J=0
+K=0
+L=1
+M=0
+N=1
+O=1
+P=1
+Q=0
+R=0
+S=0
+T=0
+U=0
+V=1
+W=0
+X=1
+Y=1
+Z=1
+ShowHints=1
+ShowWarnings=1
+UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+NamespacePrefix=
+SymbolDeprecated=1
+SymbolLibrary=1
+SymbolPlatform=1
+UnitLibrary=1
+UnitPlatform=1
+UnitDeprecated=1
+HResultCompat=1
+HidingMember=1
+HiddenVirtual=1
+Garbage=1
+BoundsError=1
+ZeroNilCompat=1
+StringConstTruncated=1
+ForLoopVarVarPar=1
+TypedConstVarPar=1
+AsgToTypedConst=1
+CaseLabelRange=1
+ForVariable=1
+ConstructingAbstract=1
+ComparisonFalse=1
+ComparisonTrue=1
+ComparingSignedUnsigned=1
+CombiningSignedUnsigned=1
+UnsupportedConstruct=1
+FileOpen=1
+FileOpenUnitSrc=1
+BadGlobalSymbol=1
+DuplicateConstructorDestructor=1
+InvalidDirective=1
+PackageNoLink=1
+PackageThreadVar=1
+ImplicitImport=1
+HPPEMITIgnored=1
+NoRetVal=1
+UseBeforeDef=1
+ForLoopVarUndef=1
+UnitNameMismatch=1
+NoCFGFileFound=1
+MessageDirective=1
+ImplicitVariants=1
+UnicodeToLocale=1
+LocaleToUnicode=1
+ImagebaseMultiple=1
+SuspiciousTypecast=1
+PrivatePropAccessor=1
UnsafeType=0
UnsafeCode=0
UnsafeCast=0
@@ -20,7 +95,7 @@
PackageDLLOutputDir=
PackageDCPOutputDir=
SearchPath=
-Packages=
+Packages=vcl;rtl;vclx;addict3_d7;TntUnicodeVcl_R70;vcldb;addict3db_d7;vclactnband;dbrtl;adortl;dbexpress;vclie;xmlrtl;inet;inetdbbde;inetdbxpress;VclSmp;dsnap;dbxcds;soaprtl;DragDropD7;EasyNSED7;EmbeddedWebBrowser_D7;JclVcl;Jcl;JvCoreD7R;JvStdCtrlsD7R;JvSystemD7R;JvCustomD7R;JvDlgsD7R;JvDotNetCtrlsD7R;JvHMID7R;JvCtrlsD7R;JvCmpD7R;JvMMD7R;JvNetD7R;JvPageCompsD7R;JvPrintPreviewD7R;JvTimeFrameworkD7R;JvValidatorsD7R;JvWizardD7R;JvXPCtrlsD7R;vclshlctrls;SynEdit_R7;SpTBXLib_d7;tbx_d7;tb2k_d7;VirtualExplorerListviewExD7;VirtualShellToolsD7;VirtualTreesD7;GR32_DSGN_D7;GR32_D7;JvDBD7R
Conditionals=USEOLDTBX
DebugSourceDirs=
UsePackages=0
@@ -36,7 +111,7 @@
MajorVer=1
MinorVer=9
Release=0
-Build=44
+Build=56
Debug=0
PreRelease=0
Special=0
@@ -47,7 +122,7 @@
[Version Info Keys]
CompanyName=Peter Th\xF6rnqvist
FileDescription=Ini Language Translator
-FileVersion=1.9.0.44
+FileVersion=1.9.0.56
InternalName=translator.exe
LegalCopyright=Copyright (c) 2003-2007 by Peter Th\xF6rnqvist; all rights reserved
LegalTrademarks=
Modified: translator/trunk/src/translator.dpr
===================================================================
--- translator/trunk/src/translator.dpr 2006-11-22 15:44:43 UTC (rev 133)
+++ translator/trunk/src/translator.dpr 2006-11-23 21:56:17 UTC (rev 134)
@@ -18,9 +18,11 @@
program translator;
{%File '..\Changelog.txt'}
-// disable this define if you don't have JCL installed or want to use another exception handler:
{$I TRANSLATOR.INC}
uses
+{$IFDEF USE_FASTMM4}
+ FastMM4 in 'FastMM4.pas',
+{$ENDIF}
Forms,
AppConsts in 'AppConsts.pas',
AppOptions in 'AppOptions.pas',
@@ -36,10 +38,8 @@
CommentsFrm in 'CommentsFrm.pas' {frmComments},
EncodingDlgs in 'EncodingDlgs.pas' {frmEncoding},
EditItemFrm in 'EditItemFrm.pas' {frmEditItem: TTntForm},
-{$IFDEF USEJCLDEBUGHANDLER}
ExceptDlg in 'ExceptDlg.pas' {ExceptionDialog},
ExceptDlgMail in 'ExceptDlgMail.pas' {ExceptionDialogMail},
-{$ENDIF USEJCLDEBUGHANDLER}
ExtToolsFrm in 'ExtToolsFrm.pas' {frmTools},
FindReplaceFrm in 'FindReplaceFrm.pas' {frmFindReplace},
ImportExportFrm in 'ImportExportFrm.pas' {frmImportExport},
Modified: translator/trunk/src/translator.res
===================================================================
(Binary files differ)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pe...@us...> - 2006-11-30 20:07:20
|
Revision: 138
http://svn.sourceforge.net/initranslator/?rev=138&view=rev
Author: peter3
Date: 2006-11-30 12:07:10 -0800 (Thu, 30 Nov 2006)
Log Message:
-----------
ToolProperties:
- Now displays section and name
FoxitPlugin:
- New plugin for Foxit PDF Reader
Modified Paths:
--------------
translator/trunk/src/ToolPropertiesView/ToolPropertiesViewFrm.dfm
translator/trunk/src/ToolPropertiesView/ToolPropertiesViewFrm.pas
Added Paths:
-----------
translator/trunk/src/FoxitPlugin/
translator/trunk/src/FoxitPlugin/FoxitParser.dpr
translator/trunk/src/FoxitPlugin/FoxitParser.pas
translator/trunk/src/FoxitPlugin/FoxitParser.res
translator/trunk/src/FoxitPlugin/FoxitParserImpl.pas
Added: translator/trunk/src/FoxitPlugin/FoxitParser.dpr
===================================================================
--- translator/trunk/src/FoxitPlugin/FoxitParser.dpr (rev 0)
+++ translator/trunk/src/FoxitPlugin/FoxitParser.dpr 2006-11-30 20:07:10 UTC (rev 138)
@@ -0,0 +1,24 @@
+library FoxitParser;
+
+uses
+ SysUtils,
+ Classes,
+ PreviewExportFrm in '..\PluginCommon\PreviewExportFrm.pas' {frmExport},
+ DualImportFrm in '..\PluginCommon\DualImportFrm.pas' {frmDualImport},
+ TransIntf in '..\TransIntf.pas',
+ FoxitParserImpl in 'FoxitParserImpl.pas',
+ CommonUtils in '..\CommonUtils.pas';
+
+{$R *.res}
+
+function InstallPlugin(out Parser: IFileParser): HResult; stdcall;
+begin
+ Parser := TFoxitParser.Create;
+ Result := S_OK;
+end;
+
+exports InstallPlugin name cRegisterTransFileParserFuncName;
+begin
+
+end.
+
Added: translator/trunk/src/FoxitPlugin/FoxitParser.pas
===================================================================
--- translator/trunk/src/FoxitPlugin/FoxitParser.pas (rev 0)
+++ translator/trunk/src/FoxitPlugin/FoxitParser.pas 2006-11-30 20:07:10 UTC (rev 138)
@@ -0,0 +1,284 @@
+{@abstract(Parser for TMX) }
+{
+ Copyright \xA9 2004-2005 by Peter Thornqvist; all rights reserved
+
+ Developer(s):
+ p3 - peter3 att users dott sourceforge dott net
+
+ Status:
+ The contents of this file are subject to the Mozilla Public License Version
+ 1.1 (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at http://www.mozilla.org/MPL/MPL-1.1.html
+
+ Software distributed under the License is distributed on an "AS IS" basis,
+ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
+ the specific language governing rights and limitations under the License.
+}
+// $Id: TMXParserImpl.pas 132 2006-11-22 15:18:34Z peter3 $
+
+unit TMXParserImpl;
+
+interface
+uses
+ Classes, Types, TntClasses, TntSysUtils, TransIntf;
+
+type
+ TTMXParser = class(TInterfacedObject, IUnknown, IFileParser)
+ private
+ FOldAppHandle: Cardinal;
+ FOrigFile, FOrigLang, FTransLang: string;
+ procedure LoadSettings;
+ procedure SaveSettings;
+ procedure BuildPreview(Items: ITranslationItems; Strings: TTntStrings);
+ public
+ constructor Create;
+ destructor Destroy; override;
+
+ function Capabilities: Integer; safecall;
+ function Configure(Capability: Integer): HRESULT; safecall;
+ function DisplayName(Capability: Integer): WideString; safecall;
+ function ExportItems(const Items: ITranslationItems;
+ const Orphans: ITranslationItems): HRESULT; safecall;
+ function ImportItems(const Items: ITranslationItems;
+ const Orphans: ITranslationItems): HRESULT; safecall;
+ procedure Init(const ApplicationServices: IApplicationServices); safecall;
+ end;
+
+implementation
+uses
+ SysUtils, Forms, IniFiles, PreviewExportFrm, TMXImportFrm,
+ xmlintf, xmldoc, xmldom;
+
+const
+ cTMXFilter = 'TMX Files (*.tmx)|*.tmx|All files (*.*)|*.*';
+ cTMXImportTitle = 'Import from TMX file';
+ cTMXExportTitle = 'Export to TMX file';
+ cOriginalItem:WideString = '!!!!Original%d!!!!';
+ cTranslationItem:WideString = '!!!!Translation%d!!!!';
+
+var
+ XML: WideString = '';
+
+{ TTMXParser }
+
+procedure TTMXParser.BuildPreview(Items: ITranslationItems; Strings: TTntStrings);
+var
+ i: integer;
+ TI: ItranslationItem;
+ S:WideString;
+begin
+ if XML = '' then
+ raise Exception.Create('Building TMX file from scratch not supported. Please import from a TMX file before trying to export.');
+ S := XML; // keep original import untouched so we can reuse it!
+ for i := 0 to Items.Count - 1 do
+ begin
+ TI := Items[i];
+ S := Tnt_WideStringReplace(S, WideFormat(cOriginalItem, [TI.Index]), '<seg>' + TI.Original + '</seg>', [rfReplaceall]);
+ S := Tnt_WideStringReplace(S, WideFormat(cTranslationItem, [TI.Index]), '<seg>' + TI.Translation + '</seg>', [rfReplaceall]);
+ end;
+ Strings.Text := S;
+end;
+
+function TTMXParser.Capabilities: Integer;
+begin
+ Result := CAP_IMPORT or CAP_EXPORT;
+end;
+
+function TTMXParser.Configure(Capability: Integer): HRESULT;
+begin
+ Result := E_NOTIMPL;
+end;
+
+constructor TTMXParser.Create;
+begin
+ inherited;
+ FOldAppHandle := Application.Handle;
+end;
+
+destructor TTMXParser.Destroy;
+begin
+ Application.Handle := FOldAppHandle;
+ inherited;
+end;
+
+function TTMXParser.DisplayName(Capability: Integer): WideString;
+begin
+ case Capability of
+ CAP_IMPORT:
+ Result := cTMXImportTitle;
+ CAP_EXPORT:
+ Result := cTMXExportTitle;
+ else
+ Result := '';
+ end;
+end;
+
+function TTMXParser.ExportItems(const Items, Orphans: ITranslationItems): HRESULT;
+var
+ S: TTntStringlist;
+ FOldSort: TTranslateSortType;
+begin
+ Result := S_FALSE;
+ FOldSort := Items.Sort;
+ try
+ LoadSettings;
+ Items.Sort := stIndex;
+ S := TTntStringlist.Create;
+ try
+ BuildPreview(Items, S);
+ if TfrmExport.Execute(FOrigFile, cTMXExportTitle, cTMXFilter, '.', 'tmx', S) then
+ begin
+ S.SaveToFile(FOrigFile);
+ Result := S_OK;
+ SaveSettings;
+ end;
+ finally
+ S.Free;
+ Items.Sort := FOldSort;
+ end;
+ except
+ Application.HandleException(self);
+ end;
+end;
+
+function TTMXParser.ImportItems(const Items, Orphans: ITranslationItems): HRESULT;
+type
+ TFoundItem = (fiOriginal, fiTranslation);
+ TFoundItems = set of TFoundItem;
+
+var
+ NodeList: IDOMNodeList;
+ Node, ChildNode: IDOMNode;
+ i: integer;
+ TI: ITranslationItem;
+ FFoundItems: TFoundItems;
+ FXMLImport: IXMLDocument;
+
+ function IsOriginal(const Attributes: IDOMNamedNodeMap): boolean;
+ begin
+ Result := (Attributes <> nil) and (Attributes.getNamedItem('xml:lang') <> nil)
+ and WideSameText(Attributes.getNamedItem('xml:lang').nodeValue, FOrigLang);
+ end;
+
+ function IsTranslation(const Attributes: IDOMNamedNodeMap): boolean;
+ begin
+ Result := (Attributes <> nil) and (Attributes.getNamedItem('xml:lang') <> nil)
+ and WideSameText(Attributes.getNamedItem('xml:lang').nodeValue, FTransLang);
+ end;
+
+ function RemoveTags(const S:WideString):WideString;
+ begin
+ Result := Tnt_WideStringReplace(S, '<seg>', '', [rfReplaceAll]);
+ Result := Tnt_WideStringReplace(Result, '</seg>', '', [rfReplaceAll]);
+ end;
+begin
+ Result := S_FALSE;
+ FFoundItems := [];
+ try
+ Items.Clear;
+ Orphans.Clear;
+ LoadSettings;
+ if TfrmTMXImport.Execute(FOrigFile, FOrigLang, FTransLang, cTMXImportTitle, cTMXFilter, '.', 'tmx') then
+ begin
+ FXMLImport := TXMLDocument.Create(nil);
+ try
+ FXMLImport.LoadFromFile(FOrigFile);
+
+ if FXMLImport.DOMDocument <> nil then
+ begin
+ NodeList := FXMLImport.DOMDocument.getElementsByTagName('tuv');
+ if NodeList <> nil then
+ for i := 0 to NodeList.length - 1 do
+ begin
+ Node := NodeList.item[i];
+ if IsOriginal(Node.attributes) then
+ begin
+ ChildNode := Node.firstChild;
+ if (ChildNode <> nil) and (ChildNode.nodeName = 'seg') then
+ begin
+ if TI = nil then
+ TI := Items.Add;
+ TI.Original := RemoveTags((ChildNode as IDOMNodeEx).xml);
+ Node.removeChild(ChildNode);
+ ChildNode := FXMLImport.DOMDocument.createTextNode('');
+ ChildNode.nodeValue := WideFormat(cOriginalItem,[TI.Index]);
+ Node.appendChild(ChildNode);
+ Include(FFoundItems, fiOriginal);
+ end;
+ end
+ else if IsTranslation(Node.attributes) then
+ begin
+ ChildNode := Node.firstChild;
+ if (ChildNode <> nil) and (ChildNode.nodeName = 'seg') then
+ begin
+ if TI = nil then
+ TI := Items.Add;
+ TI.Translation := RemoveTags((ChildNode as IDOMNodeEx).xml);
+ Node.removeChild(ChildNode);
+ ChildNode := FXMLImport.DOMDocument.createTextNode('');
+ ChildNode.nodeValue := WideFormat(cTranslationItem,[TI.Index]);
+ Node.appendChild(ChildNode);
+ Include(FFoundItems, fiTranslation);
+ end;
+ end;
+ if FFoundItems = [fiTranslation, fiOriginal] then
+ begin
+ if TI <> nil then
+ TI.Translated := TI.Translation <> '';
+ TI := nil;
+ FFoundItems := [];
+ end;
+ end;
+ end;
+ SaveSettings;
+ Items.Modified := false;
+ FXMLImport.SaveToXML(XML); // save the imported data in a string
+ Result := S_OK;
+ finally
+ FXMLImport := nil;
+ end;
+ end;
+ except
+ Application.HandleException(self);
+ end;
+end;
+
+procedure TTMXParser.Init(const ApplicationServices: IApplicationServices);
+begin
+ Application.Handle := ApplicationServices.AppHandle;
+end;
+
+procedure TTMXParser.LoadSettings;
+begin
+ try
+ with TIniFile.Create(ChangeFileExt(GetModuleName(hInstance), '.ini')) do
+ try
+ FOrigFile := ReadString('Settings', 'OrigFile', FOrigFile);
+ FOrigLang := ReadString('Settings', 'OrigLang', FOrigLang);
+ FTransLang := ReadString('Settings', 'TransLang', FTransLang);
+ finally
+ Free;
+ end;
+ except
+ Application.HandleException(self);
+ end;
+end;
+
+procedure TTMXParser.SaveSettings;
+begin
+ try
+ with TIniFile.Create(ChangeFileExt(GetModuleName(hInstance), '.ini')) do
+ try
+ WriteString('Settings', 'OrigFile', FOrigFile);
+ WriteString('Settings', 'OrigLang', FOrigLang);
+ WriteString('Settings', 'TransLang', FTransLang);
+ finally
+ Free;
+ end;
+ except
+ Application.HandleException(self);
+ end;
+end;
+
+end.
+
Added: translator/trunk/src/FoxitPlugin/FoxitParser.res
===================================================================
(Binary files differ)
Property changes on: translator/trunk/src/FoxitPlugin/FoxitParser.res
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: translator/trunk/src/FoxitPlugin/FoxitParserImpl.pas
===================================================================
--- translator/trunk/src/FoxitPlugin/FoxitParserImpl.pas (rev 0)
+++ translator/trunk/src/FoxitPlugin/FoxitParserImpl.pas 2006-11-30 20:07:10 UTC (rev 138)
@@ -0,0 +1,308 @@
+{@abstract(Parser for Foxit PDF Reader) }
+{
+ Copyright \xA9 2006 by Peter Thornqvist; all rights reserved
+
+ Developer(s):
+ p3 - peter3 att users dott sourceforge dott net
+
+ Status:
+ The contents of this file are subject to the Mozilla Public License Version
+ 1.1 (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at http://www.mozilla.org/MPL/MPL-1.1.html
+
+ Software distributed under the License is distributed on an "AS IS" basis,
+ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
+ the specific language governing rights and limitations under the License.
+}
+// $Id: $
+
+unit FoxitParserImpl;
+
+interface
+uses
+ Classes, Types, TntClasses, TntSysUtils, TransIntf;
+
+type
+ TFoxitParser = class(TInterfacedObject, IUnknown, IFileParser)
+ private
+ FOldAppHandle: Cardinal;
+ FOrigFile, FTransFile: string;
+ procedure LoadSettings;
+ procedure SaveSettings;
+ procedure BuildPreview(Items: ITranslationItems; Strings: TTntStrings);
+ public
+ constructor Create;
+ destructor Destroy; override;
+
+ function Capabilities: Integer; safecall;
+ function Configure(Capability: Integer): HRESULT; safecall;
+ function DisplayName(Capability: Integer): WideString; safecall;
+ function ExportItems(const Items: ITranslationItems;
+ const Orphans: ITranslationItems): HRESULT; safecall;
+ function ImportItems(const Items: ITranslationItems;
+ const Orphans: ITranslationItems): HRESULT; safecall;
+ procedure Init(const ApplicationServices: IApplicationServices); safecall;
+ end;
+
+implementation
+uses
+ Windows, SysUtils, Forms, IniFiles, PreviewExportFrm, DualImportFrm,
+ TntSystem, xmlintf, xmldoc, xmldom;
+
+const
+ cFoxitFilter = 'Foxit Files (*.xml)|*.xml|All files (*.*)|*.*';
+ cFoxitImportTitle = 'Import from Foxit file';
+ cFoxitExportTitle = 'Export to Foxit file';
+ cDialogItem = 'dlgitem';
+ cPopupItem = 'popup';
+ cMenuItem = 'menuitem';
+ cStringItem = 'string';
+
+ cReplaceID = '!!!!%d!!!!';
+
+var
+ XML: WideString = '';
+
+{ TFoxitParser }
+
+function XMLEncode(const S:WideString):WideString;
+begin
+ Result := Tnt_WideStringReplace(S, '&', '&',[rfReplaceAll]);
+ Result := Tnt_WideStringReplace(Result, '"', '"',[rfReplaceAll]);
+ Result := Tnt_WideStringReplace(Result, '''', ''',[rfReplaceAll]);
+ Result := Tnt_WideStringReplace(Result, '<', '<',[rfReplaceAll]);
+ Result := Tnt_WideStringReplace(Result, '>', '>',[rfReplaceAll]);
+end;
+
+procedure TFoxitParser.BuildPreview(Items: ITranslationItems; Strings: TTntStrings);
+var
+ i: integer;
+ TI: ItranslationItem;
+ S: WideString;
+begin
+ if XML = '' then
+ raise Exception.Create('Building Foxit file from scratch not supported. Please import from a Foxit file before trying to export.');
+ S := XML; // keep original import untouched so we can reuse it!
+ Items.Sort := stIndex;
+ for i := 0 to Items.Count - 1 do
+ begin
+ TI := Items[i];
+ S := Tnt_WideStringReplace(S, WideFormat(cReplaceID, [TI.Index]), XMLEncode(TI.Translation), [rfReplaceall]);
+ end;
+ Strings.Text := S;
+end;
+
+function TFoxitParser.Capabilities: Integer;
+begin
+ Result := CAP_IMPORT or CAP_EXPORT;
+end;
+
+function TFoxitParser.Configure(Capability: Integer): HRESULT;
+begin
+ Result := E_NOTIMPL;
+end;
+
+constructor TFoxitParser.Create;
+begin
+ inherited;
+ FOldAppHandle := Application.Handle;
+end;
+
+destructor TFoxitParser.Destroy;
+begin
+ Application.Handle := FOldAppHandle;
+ inherited;
+end;
+
+function TFoxitParser.DisplayName(Capability: Integer): WideString;
+begin
+ case Capability of
+ CAP_IMPORT:
+ Result := cFoxitImportTitle;
+ CAP_EXPORT:
+ Result := cFoxitExportTitle;
+ else
+ Result := '';
+ end;
+end;
+
+function TFoxitParser.ExportItems(const Items, Orphans: ITranslationItems): HRESULT;
+var
+ S: TTntStringlist;
+ FOldSort: TTranslateSortType;
+begin
+ Result := S_FALSE;
+ FOldSort := Items.Sort;
+ try
+ LoadSettings;
+ Items.Sort := stIndex;
+ S := TTntStringlist.Create;
+ try
+ BuildPreview(Items, S);
+ if TfrmExport.Execute(FTransFile, cFoxitExportTitle, cFoxitFilter, '.', 'xml', S) then
+ begin
+ S.Text := WideStringToUTF8(S.Text);
+ S.AnsiStrings.SaveToFile(FTransFile);
+ Result := S_OK;
+ SaveSettings;
+ end;
+ finally
+ S.Free;
+ Items.Sort := FOldSort;
+ end;
+ except
+ Application.HandleException(self);
+ end;
+end;
+
+function TFoxitParser.ImportItems(const Items, Orphans: ITranslationItems): HRESULT;
+type
+ TFoundItem = (fiOriginal, fiTranslation);
+ TFoundItems = set of TFoundItem;
+
+var
+ NodeList: IDOMNodeList;
+// Node, ChildNode: IDOMNode;
+// i: integer;
+ TI: ITranslationItem;
+ FFoundItems: TFoundItems;
+ FXMLImport: IXMLDocument;
+
+ function FindItem(const Section, Name: WideString): ITranslationItem;
+ var i: integer;
+ begin
+ for i := 0 to Items.Count - 1 do
+ if WideSameText(Section, Items[i].Section) and WideSameText(Name, Items[i].Name) then
+ begin
+ Result := Items[i];
+ Exit;
+ end;
+ Result := nil;
+ end;
+
+ function GetName(const ANode: IDOMNode): WideString;
+ var N: IDOMNode;
+ begin
+ N := ANode;
+ Result := '';
+ while N <> nil do
+ begin
+ if Result <> '' then
+ Result := '-' + Result;
+ if (N.attributes <> nil) and (N.attributes.getNamedItem('id') <> nil) then
+ Result := N.attributes.getNamedItem('id').nodeValue + Result;
+ N := N.parentNode;
+ end;
+ end;
+
+ procedure ImportOriginalItem(const ItemName: WideString);
+ var i: integer;
+ begin
+ NodeList := FXMLImport.DOMDocument.getElementsByTagName(ItemName);
+ if NodeList <> nil then
+ for i := 0 to NodeList.length - 1 do
+ if (NodeList[i].attributes <> nil) and (NodeList[i].attributes.getNamedItem('text') <> nil) and (NodeList[i].attributes.getNamedItem('id') <> nil) then
+ begin
+ TI := Items.Add;
+ TI.Section := ItemName;
+ TI.Original := NodeList[i].attributes.getNamedItem('text').nodeValue;
+ TI.Name := GetName(NodeList[i]);
+ end;
+
+ end;
+
+ procedure ImportTranslationItem(const ItemName: WideString);
+ var i: integer;
+ begin
+ NodeList := FXMLImport.DOMDocument.getElementsByTagName(ItemName);
+ if NodeList <> nil then
+ for i := 0 to NodeList.length - 1 do
+ if (NodeList[i].attributes <> nil) and (NodeList[i].attributes.getNamedItem('text') <> nil) and (NodeList[i].attributes.getNamedItem('id') <> nil) then
+ begin
+ TI := FindItem(ItemName, GetName(NodeList[i]));
+ if TI <> nil then
+ begin
+ TI.Translation := NodeList[i].attributes.getNamedItem('text').nodeValue;
+ TI.Translated := TI.Translation <> '';
+ NodeList[i].attributes.getNamedItem('text').nodeValue := Format(cReplaceID, [TI.Index]);
+ end;
+ end;
+ end;
+begin
+ Result := S_FALSE;
+ FFoundItems := [];
+ try
+ Items.Clear;
+ Orphans.Clear;
+ LoadSettings;
+ if TfrmDualImport.Execute(FOrigFile, FTransFile, cFoxitImportTitle, cFoxitFilter, '.', 'xml') then
+ begin
+ FXMLImport := TXMLDocument.Create(nil);
+ try
+ FXMLImport.LoadFromFile(FOrigFile);
+ // TODO: load original items
+ if FXMLImport.DocumentElement <> nil then
+ begin
+ ImportOriginalItem(cPopupItem);
+ ImportOriginalItem(cMenuItem);
+ ImportOriginalItem(cDialogItem);
+ ImportOriginalItem(cStringItem);
+ end;
+ FXMLImport.LoadFromFile(FTransFile);
+ if FXMLImport.DocumentElement <> nil then
+ begin
+ ImportTranslationItem(cPopupItem);
+ ImportTranslationItem(cMenuItem);
+ ImportTranslationItem(cDialogItem);
+ ImportTranslationItem(cStringItem);
+ FXMLImport.SaveToXML(XML); // save the imported data in a string
+ end;
+ SaveSettings;
+ Items.Modified := false;
+ Result := S_OK;
+ finally
+ FXMLImport := nil;
+ end;
+ end;
+ except
+ Application.HandleException(self);
+ end;
+end;
+
+procedure TFoxitParser.Init(const ApplicationServices: IApplicationServices);
+begin
+ Application.Handle := ApplicationServices.AppHandle;
+end;
+
+procedure TFoxitParser.LoadSettings;
+begin
+ try
+ with TIniFile.Create(ChangeFileExt(GetModuleName(hInstance), '.ini')) do
+ try
+ FOrigFile := ReadString('Settings', 'OrigFile', FOrigFile);
+ FTransFile := ReadString('Settings', 'TransFile', FTransFile);
+ finally
+ Free;
+ end;
+ except
+ Application.HandleException(self);
+ end;
+end;
+
+procedure TFoxitParser.SaveSettings;
+begin
+ try
+ with TIniFile.Create(ChangeFileExt(GetModuleName(hInstance), '.ini')) do
+ try
+ WriteString('Settings', 'OrigFile', FOrigFile);
+ WriteString('Settings', 'TransFile', FTransFile);
+ finally
+ Free;
+ end;
+ except
+ Application.HandleException(self);
+ end;
+end;
+
+end.
+
Modified: translator/trunk/src/ToolPropertiesView/ToolPropertiesViewFrm.dfm
===================================================================
--- translator/trunk/src/ToolPropertiesView/ToolPropertiesViewFrm.dfm 2006-11-25 15:53:35 UTC (rev 137)
+++ translator/trunk/src/ToolPropertiesView/ToolPropertiesViewFrm.dfm 2006-11-30 20:07:10 UTC (rev 138)
@@ -16,7 +16,7 @@
TextHeight = 13
object TntStatusBar1: TTntStatusBar
Left = 0
- Top = 468
+ Top = 461
Width = 691
Height = 19
Panels = <
@@ -28,7 +28,7 @@
Left = 0
Top = 0
Width = 691
- Height = 468
+ Height = 461
Align = alClient
BevelKind = bkFlat
BorderStyle = bsNone
@@ -37,6 +37,14 @@
Caption = 'Index'
end
item
+ Caption = 'Section'
+ Width = 100
+ end
+ item
+ Caption = 'Name'
+ Width = 100
+ end
+ item
Caption = 'Original'
Width = 100
end
Modified: translator/trunk/src/ToolPropertiesView/ToolPropertiesViewFrm.pas
===================================================================
--- translator/trunk/src/ToolPropertiesView/ToolPropertiesViewFrm.pas 2006-11-25 15:53:35 UTC (rev 137)
+++ translator/trunk/src/ToolPropertiesView/ToolPropertiesViewFrm.pas 2006-11-30 20:07:10 UTC (rev 138)
@@ -63,6 +63,8 @@
with TTntListItem(Item) do
begin
Caption := IntToStr(FItems[Index].Index);
+ SubItems.Add(FItems[Index].Section);
+ SubItems.Add(FItems[Index].Name);
SubItems.Add(FItems[Index].Original);
SubItems.Add(FItems[Index].Translation);
SubItems.Add(FItems[Index].OrigComments);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pe...@us...> - 2006-12-09 14:19:21
|
Revision: 175
http://svn.sourceforge.net/initranslator/?rev=175&view=rev
Author: peter3
Date: 2006-12-09 06:19:19 -0800 (Sat, 09 Dec 2006)
Log Message:
-----------
General
- Option to set SelectedItem in IApplicationServices (peter3)
- kora username was misspelled as karo - fixed (peter3)
ToolConsistency
- Implemented ILocalizable (kora)
- Auto add shortcuts option added (kora)
Modified Paths:
--------------
translator/trunk/src/ApplicationServices.pas
translator/trunk/src/BaseForm.pas
translator/trunk/src/MainFrm.pas
translator/trunk/src/ToolConsistency/ToolConsistency.dpr
translator/trunk/src/ToolConsistency/ToolConsistencyFrm.dfm
translator/trunk/src/ToolConsistency/ToolConsistencyFrm.pas
translator/trunk/src/ToolConsistency/ToolConsistencyImpl.pas
translator/trunk/src/TransIntf.pas
translator/trunk/src/XilisoftPlugin/XiliSoftParserConsts.pas
translator/trunk/src/XilisoftPlugin/XilisoftParser.dpr
translator/trunk/src/XilisoftPlugin/XilisoftParser.res
translator/trunk/src/XilisoftPlugin/XilisoftParserCfgForm.pas
translator/trunk/src/XilisoftPlugin/XilisoftParserImpl.pas
translator/trunk/src/translator.dof
Added Paths:
-----------
translator/trunk/src/ToolConsistency/ToolConsistencyConsts.pas
Modified: translator/trunk/src/ApplicationServices.pas
===================================================================
--- translator/trunk/src/ApplicationServices.pas 2006-12-09 13:12:39 UTC (rev 174)
+++ translator/trunk/src/ApplicationServices.pas 2006-12-09 14:19:19 UTC (rev 175)
@@ -13,8 +13,10 @@
function BeginUpdate: Integer; safecall;
function EndUpdate: Integer; safecall;
function GetAppHandle: Cardinal;
- function GetAppOption(const Section: WideString; const Name: WideString; const Default: WideString): WideString;
- safecall;
+ function GetAppOption(const Section: WideString; const Name: WideString; const Default: WideString): WideString; safecall;
+ function GetSelectedItem:ITranslationItem;
+ procedure SetSelectedItem(const Value:ITranslationItem);
+
function GetDictionaryItems: IDictionaryItems;
function GetFooter: WideString;
function GetHeader: WideString;
@@ -28,6 +30,7 @@
function Translate(const Section, Name, Value: WideString): WideString; safecall;
procedure UnRegisterNotify(const ANotify: INotify); safecall;
+
end;
implementation
@@ -86,6 +89,11 @@
Result := FForm.GetOrphans;
end;
+function TApplicationServices.GetSelectedItem: ITranslationItem;
+begin
+ Result := FForm.SelectedItem;
+end;
+
procedure TApplicationServices.RegisterNotify(const ANotify: INotify);
begin
FForm.RegisterNotify(ANotify);
@@ -107,6 +115,11 @@
FForm.SetHeader(Value);
end;
+procedure TApplicationServices.SetSelectedItem(const Value: ITranslationItem);
+begin
+ FForm.SelectedItem := Value;
+end;
+
function TApplicationServices.Translate(const Section, Name, Value: WideString): WideString; safecall;
begin
Result := FForm.Translate(Section, Name, Value);
Modified: translator/trunk/src/BaseForm.pas
===================================================================
--- translator/trunk/src/BaseForm.pas 2006-12-09 13:12:39 UTC (rev 174)
+++ translator/trunk/src/BaseForm.pas 2006-12-09 14:19:19 UTC (rev 175)
@@ -74,25 +74,22 @@
var
W: TAppWindowInfo;
begin
- if GlobalAppOptions.SaveFormPos then
+ if (Self = Application.MainForm) and IsIconic(Application.Handle) or IsZoomed(Handle) then
+ ShowWindow(Handle, SW_RESTORE);
+ W := GlobalAppOptions.WindowInfos[Self];
+ if (W.WindowState = wsMinimized) and (Self = Application.MainForm) then
+ ShowWindow(Application.Handle, SW_MINIMIZE);
+ WindowState := W.WindowState;
+ if WindowState = wsNormal then
begin
- if (Self = Application.MainForm) and IsIconic(Application.Handle) or IsZoomed(Handle) then
- ShowWindow(Handle, SW_RESTORE);
- W := GlobalAppOptions.WindowInfos[Self];
- if (W.WindowState = wsMinimized) and (Self = Application.MainForm) then
- ShowWindow(Application.Handle, SW_MINIMIZE);
- WindowState := W.WindowState;
- if WindowState = wsNormal then
- begin
// set default (screen center)
- SetBounds((Screen.Width - Width) div 2, (Screen.Height - Height) div 2, Width, Height);
- if BorderStyle in [bsSizeable, bsSizeToolWin] then
- BoundsRect := W.BoundsRect
- else
- begin
- Top := W.BoundsRect.Top;
- Left := W.BoundsRect.Left;
- end;
+ SetBounds((Screen.Width - Width) div 2, (Screen.Height - Height) div 2, Width, Height);
+ if BorderStyle in [bsSizeable, bsSizeToolWin] then
+ BoundsRect := W.BoundsRect
+ else
+ begin
+ Top := W.BoundsRect.Top;
+ Left := W.BoundsRect.Left;
end;
end;
end;
@@ -101,14 +98,12 @@
var
W: TAppWindowInfo;
begin
- if GlobalAppOptions.SaveFormPos then
- begin
- W.Name := self.Name;
- W.WindowState := WindowState;
- W.BoundsRect := BoundsRect;
- GlobalAppOptions.WindowInfos[self] := W;
- end;
+ W.Name := self.Name;
+ W.WindowState := WindowState;
+ W.BoundsRect := BoundsRect;
+ GlobalAppOptions.WindowInfos[self] := W;
inherited;
end;
end.
+
Modified: translator/trunk/src/MainFrm.pas
===================================================================
--- translator/trunk/src/MainFrm.pas 2006-12-09 13:12:39 UTC (rev 174)
+++ translator/trunk/src/MainFrm.pas 2006-12-09 14:19:19 UTC (rev 175)
@@ -4387,6 +4387,8 @@
lvTranslateStrings.ItemIndex := FTranslateFile.Items.IndexOf(Value)
else
lvTranslateStrings.ItemIndex := -1;
+ if lvTranslateStrings.Selected <> nil then
+ lvTranslateStrings.Selected.MakeVisible(false);
end;
function TfrmMain.GetSelectedListItem: TTntListItem;
Modified: translator/trunk/src/ToolConsistency/ToolConsistency.dpr
===================================================================
--- translator/trunk/src/ToolConsistency/ToolConsistency.dpr 2006-12-09 13:12:39 UTC (rev 174)
+++ translator/trunk/src/ToolConsistency/ToolConsistency.dpr 2006-12-09 14:19:19 UTC (rev 175)
@@ -37,3 +37,4 @@
begin
end.
+
Added: translator/trunk/src/ToolConsistency/ToolConsistencyConsts.pas
===================================================================
--- translator/trunk/src/ToolConsistency/ToolConsistencyConsts.pas (rev 0)
+++ translator/trunk/src/ToolConsistency/ToolConsistencyConsts.pas 2006-12-09 14:19:19 UTC (rev 175)
@@ -0,0 +1,41 @@
+{@abstract(Resourcestrings for ToolConsistency) }
+{
+ Copyright \xA9 2006 by Alexander Kornienko; all rights reserved
+
+ Developer(s):
+ Korney San - kora att users dott sourceforge dott net
+
+ Status:
+ The contents of this file are subject to the Mozilla Public License Version
+ 1.1 (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at http://www.mozilla.org/MPL/MPL-1.1.html
+
+ Software distributed under the License is distributed on an "AS IS" basis,
+ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
+ the specific language governing rights and limitations under the License.
+}
+// $Id$
+unit ToolConsistencyConsts;
+
+interface
+const
+ SLocalizeSectionName = 'TToolConsistency';
+ SToolConsistencyAbout = 'This plugin checks and displays inconsistent translations';
+ SToolConsistencyPluginDisplayName = 'Check translation consistency...';
+ SToolConsistencyFormCaption = 'Consistency Checker';
+ SToolConsistencyLabel1 = '&Inconsistent items:';
+ SToolConsistencytvItemsHint = 'Press F2 to edit an item';
+ SToolConsistencybtnClose = '&Close';
+ SToolConsistencybtnCloseHint = 'Close this form';
+ SToolConsistencybtnUpdate = '&Update';
+ SToolConsistencybtnUpdateHint = 'Update the list';
+ SToolConsistencychkIgnoreAccelChar = 'Ignore accelerator &key';
+ SToolConsistencychkIgnoreAccelCharHint = 'Include/exclude accelerator key when displaying original items';
+ SToolConsistencyUsethistranslation1 = 'Use &this translation';
+ SToolConsistencyUsethistranslation1Hint = 'Use this translation for all items';
+ SToolConsistencyEdit1 = 'Edit';
+ SToolConsistencyEdit1Hint = 'Edit current item';
+ SToolConsistencyIsConsistent = 'Congratulations! - No inconsistent items found!';
+implementation
+
+end.
Property changes on: translator/trunk/src/ToolConsistency/ToolConsistencyConsts.pas
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate
LastChangedRevision
LastChangedBy
HeadURL
Id
Modified: translator/trunk/src/ToolConsistency/ToolConsistencyFrm.dfm
===================================================================
--- translator/trunk/src/ToolConsistency/ToolConsistencyFrm.dfm 2006-12-09 13:12:39 UTC (rev 174)
+++ translator/trunk/src/ToolConsistency/ToolConsistencyFrm.dfm 2006-12-09 14:19:19 UTC (rev 175)
@@ -2,7 +2,7 @@
Left = 436
Top = 264
Width = 402
- Height = 235
+ Height = 244
ActiveControl = tvItems
Caption = 'Consistency Checker'
Color = clBtnFace
@@ -131,7 +131,7 @@
ShowHint = True
DesignSize = (
394
- 201)
+ 210)
PixelsPerInch = 96
TextHeight = 13
object lblInfo: TTntLabel
@@ -158,68 +158,63 @@
FocusControl = tvItems
end
object chkIgnoreAccelChar: TTntCheckBox
- Left = 13
- Top = 166
- Width = 190
+ Left = 16
+ Top = 171
+ Width = 134
Height = 17
Hint = 'Include/exclude accelerator key when displaying original items'
Anchors = [akLeft, akBottom]
Caption = 'Ignore accelerator &key'
- Checked = True
- State = cbChecked
- TabOrder = 2
+ TabOrder = 1
OnClick = chkIgnoreAccelCharClick
end
object tvItems: TTntTreeView
Left = 7
Top = 25
Width = 378
- Height = 116
- Hint = 'Press F2 to edit an item'
+ Height = 141
+ Hint = 'Press F2 to edit an item. Double click to synch with main list.'
Anchors = [akLeft, akTop, akRight, akBottom]
- BevelInner = bvNone
BevelKind = bkFlat
BorderStyle = bsNone
ChangeDelay = 60
HideSelection = False
Indent = 19
PopupMenu = popItems
- ShowButtons = False
TabOrder = 0
OnChange = tvItemsChange
+ OnDblClick = tvItemsDblClick
OnEdited = tvItemsEdited
OnEditing = tvItemsEditing
end
object btnClose: TTntButton
Left = 307
- Top = 163
+ Top = 175
Width = 75
Height = 25
Action = acClose
Anchors = [akRight, akBottom]
Cancel = True
- TabOrder = 4
+ TabOrder = 3
end
object btnUpdate: TTntButton
Left = 223
- Top = 163
+ Top = 175
Width = 75
Height = 25
Action = acUpdate
Anchors = [akRight, akBottom]
- TabOrder = 3
+ TabOrder = 2
end
- object chkAutoAccelChar: TTntCheckBox
- Left = 13
- Top = 145
- Width = 365
+ object chkSynchronizeAccelChar: TTntCheckBox
+ Left = 16
+ Top = 188
+ Width = 201
Height = 17
- Hint = 'Include/exclude accelerator key when displaying original items'
+ Hint = 'Automatically insert missing accelerator key when editing.'
Anchors = [akLeft, akBottom]
- Caption = 'Insert &accelerator key on edit'
- Checked = True
- State = cbChecked
- TabOrder = 1
+ Caption = 'Synchronize accelerator with &original'
+ TabOrder = 4
end
object alMain: TTntActionList
OnUpdate = alMainUpdate
@@ -255,6 +250,7 @@
Top = 56
object Usethistranslation1: TTntMenuItem
Action = acUseThisTranslation
+ Hint = 'Use this translation for all items'
end
object Edit1: TTntMenuItem
Action = acEdit
Modified: translator/trunk/src/ToolConsistency/ToolConsistencyFrm.pas
===================================================================
--- translator/trunk/src/ToolConsistency/ToolConsistencyFrm.pas 2006-12-09 13:12:39 UTC (rev 174)
+++ translator/trunk/src/ToolConsistency/ToolConsistencyFrm.pas 2006-12-09 14:19:19 UTC (rev 175)
@@ -1,3 +1,22 @@
+{@abstract(Edit form for ToolConsistency) }
+{
+ Copyright \xA9 2003-2006 by Peter Thornqvist; all rights reserved
+
+ Developer(s):
+ p3 - peter3 att users dott sourceforge dott net
+ Korney San - kora att users dott sourceforge dott net
+
+ Status:
+ The contents of this file are subject to the Mozilla Public License Version
+ 1.1 (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at http://www.mozilla.org/MPL/MPL-1.1.html
+
+ Software distributed under the License is distributed on an "AS IS" basis,
+ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
+ the specific language governing rights and limitations under the License.
+}
+// $Id$
+
unit ToolConsistencyFrm;
interface
@@ -23,7 +42,7 @@
popItems: TTntPopupMenu;
Usethistranslation1: TTntMenuItem;
Edit1: TTntMenuItem;
- chkAutoAccelChar: TTntCheckBox;
+ chkSynchronizeAccelChar: TTntCheckBox;
procedure chkIgnoreAccelCharClick(Sender: TObject);
procedure tvItemsChange(Sender: TObject; Node: TTreeNode);
procedure tvItemsEditing(Sender: TObject; Node: TTreeNode;
@@ -35,14 +54,19 @@
procedure acCloseExecute(Sender: TObject);
procedure acUpdateExecute(Sender: TObject);
procedure alMainUpdate(Action: TBasicAction; var Handled: Boolean);
+ procedure tvItemsDblClick(Sender: TObject);
private
{ Private declarations }
+ Congratulations: WideString;
FItems: ITranslationItems;
+ FAppServices: IApplicationServices;
FSelectedItem: ITranslationItem;
procedure BuildList(IgnoreAccelChar: boolean);
procedure LoadSettings;
procedure SaveSettings;
+ function AutoShortCut(const Item: ITranslationItem;
+ S: WideString): WideString;
public
{ Public declarations }
@@ -53,9 +77,11 @@
implementation
uses
- WideIniFiles, TntWideStrUtils, StrUtils;
+ ToolConsistencyConsts,
+ WideIniFiles;
{$R *.dfm}
+
type
TTranslationItems = class
private
@@ -141,7 +167,6 @@
Result := TTntStrings(FOriginalItems.Objects[Index]);
end;
-
function TTranslationItems.GetName(Index: integer): WideString;
begin
Result := FOriginalItems[Index];
@@ -154,6 +179,30 @@
{ TfrmToolConsistency }
+function TfrmToolConsistency.AutoShortCut(const Item: ITranslationItem; S: WideString): WideString;
+begin
+ if (Item <> nil) then
+ begin
+ // Synchronize accelerator
+ if chkSynchronizeAccelChar.Checked then
+ begin
+ if WideGetHotkey(Item.Original) = '' then
+ begin
+ //No accelerator in original
+ S := WideStripHotkey(S);
+ end
+ else
+ begin
+ // Accelerator in original
+ if WideGetHotkey(S) = '' then
+ S := cHotkeyPrefix + S;
+ end;
+ end;
+ Item.Translation := S;
+ end;
+ Result := S;
+end;
+
procedure TfrmToolConsistency.chkIgnoreAccelCharClick(Sender: TObject);
begin
BuildList(chkIgnoreAccelChar.Checked);
@@ -190,7 +239,7 @@
begin
// no items in tree -> translation is consistent
tvItems.ShowRoot := false;
- tvItems.Items.Add(nil, 'Congratulations! - No inconsistent items found!');
+ tvItems.Items.Add(nil, Congratulations);
end
else
tvItems.ShowRoot := true;
@@ -205,12 +254,32 @@
class function TfrmToolConsistency.Execute(const ApplicationServices: IApplicationServices; const Items, Orphans: ITranslationItems; var SelectedItem: ITranslationItem): boolean;
var
frm: TfrmToolConsistency;
- FAppHandle:Cardinal;
+ FAppHandle: Cardinal;
begin
FAppHandle := Application.Handle;
Application.Handle := ApplicationServices.AppHandle;
frm := self.Create(Application);
try
+ if ApplicationServices <> nil then
+ begin
+ frm.FAppServices := ApplicationServices;
+ frm.Caption := ApplicationServices.Translate(SLocalizeSectionName, SToolConsistencyFormCaption, SToolConsistencyFormCaption);
+ frm.TntLabel1.Caption := ApplicationServices.Translate(SLocalizeSectionName, SToolConsistencyLabel1, SToolConsistencyLabel1);
+ frm.tvItems.Hint := ApplicationServices.Translate(SLocalizeSectionName, SToolConsistencytvItemsHint, SToolConsistencytvItemsHint);
+ frm.btnClose.Caption := ApplicationServices.Translate(SLocalizeSectionName, SToolConsistencybtnClose, SToolConsistencybtnClose);
+ frm.btnClose.Hint := ApplicationServices.Translate(SLocalizeSectionName, SToolConsistencybtnCloseHint, SToolConsistencybtnCloseHint);
+ frm.btnUpdate.Caption := ApplicationServices.Translate(SLocalizeSectionName, SToolConsistencybtnUpdate, SToolConsistencybtnUpdate);
+ frm.btnUpdate.Hint := ApplicationServices.Translate(SLocalizeSectionName, SToolConsistencybtnUpdateHint, SToolConsistencybtnUpdateHint);
+ frm.chkIgnoreAccelChar.Caption := ApplicationServices.Translate(SLocalizeSectionName, SToolConsistencychkIgnoreAccelChar, SToolConsistencychkIgnoreAccelChar);
+ frm.chkIgnoreAccelChar.Hint := ApplicationServices.Translate(SLocalizeSectionName, SToolConsistencychkIgnoreAccelCharHint, SToolConsistencychkIgnoreAccelCharHint);
+ frm.Usethistranslation1.Caption := ApplicationServices.Translate(SLocalizeSectionName, SToolConsistencyUsethistranslation1, SToolConsistencyUsethistranslation1);
+ frm.Usethistranslation1.Hint := ApplicationServices.Translate(SLocalizeSectionName, SToolConsistencyUsethistranslation1Hint, SToolConsistencyUsethistranslation1Hint);
+ frm.Edit1.Caption := ApplicationServices.Translate(SLocalizeSectionName, SToolConsistencyEdit1, SToolConsistencyEdit1);
+ frm.Edit1.Hint := ApplicationServices.Translate(SLocalizeSectionName, SToolConsistencyEdit1Hint, SToolConsistencyEdit1Hint);
+ frm.Congratulations := ApplicationServices.Translate(SLocalizeSectionName, SToolConsistencyIsConsistent, SToolConsistencyIsConsistent);
+ end
+ else
+ frm.Congratulations := SToolConsistencyIsConsistent;
frm.FItems := Items;
frm.FSelectedItem := SelectedItem;
frm.LoadSettings;
@@ -230,19 +299,19 @@
with TWideMemIniFile.Create(ChangeFileExt(GetModuleName(HInstance), '.ini')) do
try
chkIgnoreAccelChar.Checked := ReadBool('Settings', 'IgnoreAccelChar', chkIgnoreAccelChar.Checked);
- chkAutoAccelChar.Checked := ReadBool('Settings', 'InsertAccelChar', chkAutoAccelChar.Checked);
+ chkSynchronizeAccelChar.Checked := ReadBool('Settings', 'SyncAccelChar', chkSynchronizeAccelChar.Checked);
+
finally
Free;
end;
end;
-
procedure TfrmToolConsistency.SaveSettings;
begin
with TWideMemIniFile.Create(ChangeFileExt(GetModuleName(HInstance), '.ini')) do
try
WriteBool('Settings', 'IgnoreAccelChar', chkIgnoreAccelChar.Checked);
- WriteBool('Settings', 'InsertAccelChar', chkAutoAccelChar.Checked);
+ WriteBool('Settings', 'SyncAccelChar', chkSynchronizeAccelChar.Checked);
UpdateFile;
finally
Free;
@@ -271,18 +340,8 @@
procedure TfrmToolConsistency.tvItemsEdited(Sender: TObject;
Node: TTntTreeNode; var S: WideString);
- function DoAutoAccelChar(var S:WideString):WideString;
- begin
- Result := S;
- if chkAutoAccelChar.Checked and AnsiContainsText(FSelectedItem.Original, '&')
- and not AnsiContainsText(S, '&') then
- Result := '&' + S;
- S := Result;
- end;
begin
- FSelectedItem := ITranslationItem(Node.Data);
- if FSelectedItem <> nil then
- FSelectedItem.Translation := DoAutoAccelChar(S);
+ S := AutoShortCut(ITranslationItem(Node.Data), S);
end;
procedure TfrmToolConsistency.acUseThisTranslationExecute(Sender: TObject);
@@ -298,9 +357,9 @@
N := N.getPrevSibling;
while N <> nil do
begin
- Caption := 'N.getPrevSibling';
+ // Caption := 'N.getPrevSibling';
Item2 := ITranslationItem(N.Data);
- Item2.Translation := Item1.Translation;
+ Item2.Translation := AutoShortCut(Item2, Item1.Translation);
Item2.Translated := Item2.Translation <> '';
N.Text := Item2.Translation;
N := N.getPrevSibling;
@@ -311,9 +370,9 @@
N := N.getNextSibling;
while N <> nil do
begin
- Caption := 'N.getNextSibling';
+ // Caption := 'N.getNextSibling';
Item2 := ITranslationItem(N.Data);
- Item2.Translation := Item1.Translation;
+ Item2.Translation := AutoShortCut(Item2, Item1.Translation);
Item2.Translated := Item2.Translation <> '';
N.Text := Item2.Translation;
N := N.getNextSibling;
@@ -347,5 +406,11 @@
acEdit.Enabled := acUseThisTranslation.Enabled;
end;
+procedure TfrmToolConsistency.tvItemsDblClick(Sender: TObject);
+begin
+ if Assigned(tvItems.Selected) and Assigned(tvItems.Selected.Data) then
+ FAppServices.SelectedItem := ITranslationItem(tvItems.Selected.Data);
+end;
+
end.
Modified: translator/trunk/src/ToolConsistency/ToolConsistencyImpl.pas
===================================================================
--- translator/trunk/src/ToolConsistency/ToolConsistencyImpl.pas 2006-12-09 13:12:39 UTC (rev 174)
+++ translator/trunk/src/ToolConsistency/ToolConsistencyImpl.pas 2006-12-09 14:19:19 UTC (rev 175)
@@ -4,6 +4,7 @@
Developer(s):
p3 - peter3 att users dott sourceforge dott net
+ Korney San - kora att users dott sourceforge dott net
Status:
The contents of this file are subject to the Mozilla Public License Version
@@ -16,6 +17,7 @@
}
// $Id$
+
unit ToolConsistencyImpl;
interface
@@ -29,9 +31,13 @@
safecall;
end;
- TToolConsistencyPlugin = class(TInterfacedObject, IInterface, IToolItem)
+ TToolConsistencyPlugin = class(TInterfacedObject, IInterface, IToolItem, ILocalizable)
private
+ FStringIndex: integer;
FAppServices:IApplicationServices;
+ function Translate(const Value: WideString): WideString;
+ { ILocalizable }
+ function GetString(out Section: WideString; out Name: WideString; out Value: WideString): WordBool; safecall;
public
function About: WideString; safecall;
function DisplayName: WideString; safecall;
@@ -43,7 +49,7 @@
implementation
-uses ToolConsistencyFrm;
+uses ToolConsistencyFrm, ToolConsistencyConsts;
{ TToolConsistencyPlugins }
@@ -66,14 +72,66 @@
{ TToolConsistencyPlugin }
+function TToolConsistencyPlugin.Translate(const Value: WideString): WideString;
+begin
+ if FAppServices <> nil then
+ Result := FAppServices.Translate(SLocalizeSectionName, Value, Value)
+ else
+ Result := Value;
+end;
+
+function TToolConsistencyPlugin.GetString(out Section, Name, Value: WideString): WordBool;
+begin
+ Section := SLocalizeSectionName;
+ Result := true;
+ case FStringIndex of
+ 0:
+ Name := SToolConsistencyAbout;
+ 1:
+ Name := SToolConsistencyPluginDisplayName;
+ 2:
+ Name := SToolConsistencyFormCaption;
+ 3:
+ Name := SToolConsistencyLabel1;
+ 4:
+ Name := SToolConsistencybtnClose;
+ 5:
+ Name := SToolConsistencybtnCloseHint;
+ 6:
+ Name := SToolConsistencybtnUpdate;
+ 7:
+ Name := SToolConsistencybtnUpdateHint;
+ 8:
+ Name := SToolConsistencychkIgnoreAccelChar;
+ 9:
+ Name := SToolConsistencychkIgnoreAccelCharHint;
+ 10:
+ Name := SToolConsistencytvItemsHint;
+ 11:
+ Name := SToolConsistencyUsethistranslation1;
+ 12:
+ Name := SToolConsistencyUsethistranslation1Hint;
+ 13:
+ Name := SToolConsistencyEdit1;
+ 14:
+ Name := SToolConsistencyEdit1Hint;
+ 15:
+ Name := SToolConsistencyIsConsistent;
+ else
+ Result := false;
+ end;
+ Value := Name;
+ Inc(FStringIndex);
+end;
+
function TToolConsistencyPlugin.About: WideString;
begin
- Result := 'This plugin checks and displays inconsistent translations';
+ Result := Translate(SToolConsistencyAbout);
end;
function TToolConsistencyPlugin.DisplayName: WideString;
begin
- Result := 'Check translation consistency...';
+ Result := Translate(SToolConsistencyPluginDisplayName);
end;
function TToolConsistencyPlugin.Execute(const Items, Orphans: ITranslationItems; var SelectedItem: ITranslationItem): HRESULT;
@@ -101,3 +159,4 @@
end.
+
Modified: translator/trunk/src/TransIntf.pas
===================================================================
--- translator/trunk/src/TransIntf.pas 2006-12-09 13:12:39 UTC (rev 174)
+++ translator/trunk/src/TransIntf.pas 2006-12-09 14:19:19 UTC (rev 175)
@@ -235,6 +235,8 @@
procedure SetHeader(const Value: WideString);
function GetFooter: WideString;
procedure SetFooter(const Value: WideString);
+ function GetSelectedItem:ITranslationItem;
+ procedure SetSelectedItem(const Value:ITranslationItem);
function GetAppOption(const Section, Name, Default: WideString): WideString; safecall;
procedure SetAppOption(const Section, Name, Value: WideString); safecall;
@@ -246,10 +248,12 @@
property Items: ITranslationItems read GetItems;
property Orphans: ITranslationItems read GetOrphans;
+ property SelectedItem:ITranslationItem read GetSelectedItem write SetSelectedItem;
property Dictionary: IDictionaryItems read GetDictionaryItems;
property AppHandle: Cardinal read GetAppHandle;
property Header: WideString read GetHeader write SetHeader;
property Footer: WideString read GetFooter write SetFooter;
+
end;
// return S_OK if all is fine
Modified: translator/trunk/src/XilisoftPlugin/XiliSoftParserConsts.pas
===================================================================
--- translator/trunk/src/XilisoftPlugin/XiliSoftParserConsts.pas 2006-12-09 13:12:39 UTC (rev 174)
+++ translator/trunk/src/XilisoftPlugin/XiliSoftParserConsts.pas 2006-12-09 14:19:19 UTC (rev 175)
@@ -2,7 +2,7 @@
Copyright \xA9 2006 by Alexander Kornienko; all rights reserved
Developer(s):
- Korney San - karo att users dott sourceforge dott net
+ Korney San - kora att users dott sourceforge dott net
Status:
The contents of this file are subject to the Mozilla Public License Version
Modified: translator/trunk/src/XilisoftPlugin/XilisoftParser.dpr
===================================================================
--- translator/trunk/src/XilisoftPlugin/XilisoftParser.dpr 2006-12-09 13:12:39 UTC (rev 174)
+++ translator/trunk/src/XilisoftPlugin/XilisoftParser.dpr 2006-12-09 14:19:19 UTC (rev 175)
@@ -3,7 +3,7 @@
Copyright \xA9 2006 by Alexander Kornienko; all rights reserved
Developer(s):
- Korney San - karo att users dott sourceforge dott net
+ Korney San - kora att users dott sourceforge dott net
Status:
The contents of this file are subject to the Mozilla Public License Version
Modified: translator/trunk/src/XilisoftPlugin/XilisoftParser.res
===================================================================
(Binary files differ)
Modified: translator/trunk/src/XilisoftPlugin/XilisoftParserCfgForm.pas
===================================================================
--- translator/trunk/src/XilisoftPlugin/XilisoftParserCfgForm.pas 2006-12-09 13:12:39 UTC (rev 174)
+++ translator/trunk/src/XilisoftPlugin/XilisoftParserCfgForm.pas 2006-12-09 14:19:19 UTC (rev 175)
@@ -2,7 +2,7 @@
Copyright \xA9 2006 by Alexander Kornienko; all rights reserved
Developer(s):
- Korney San - karo att users dott sourceforge dott net
+ Korney San - kora att users dott sourceforge dott net
Status:
The contents of this file are subject to the Mozilla Public License Version
Modified: translator/trunk/src/XilisoftPlugin/XilisoftParserImpl.pas
===================================================================
--- translator/trunk/src/XilisoftPlugin/XilisoftParserImpl.pas 2006-12-09 13:12:39 UTC (rev 174)
+++ translator/trunk/src/XilisoftPlugin/XilisoftParserImpl.pas 2006-12-09 14:19:19 UTC (rev 175)
@@ -3,7 +3,7 @@
Copyright \xA9 2006 by Alexander Kornienko; all rights reserved
Developer(s):
- Korney San - karo att users dott sourceforge dott net
+ Korney San - kora att users dott sourceforge dott net
Status:
The contents of this file are subject to the Mozilla Public License Version
Modified: translator/trunk/src/translator.dof
===================================================================
--- translator/trunk/src/translator.dof 2006-12-09 13:12:39 UTC (rev 174)
+++ translator/trunk/src/translator.dof 2006-12-09 14:19:19 UTC (rev 175)
@@ -1,6 +1,81 @@
[FileVersion]
Version=7.0
[Compiler]
+A=8
+B=0
+C=1
+D=1
+E=0
+F=0
+G=1
+H=1
+I=1
+J=0
+K=0
+L=1
+M=0
+N=1
+O=1
+P=1
+Q=0
+R=0
+S=0
+T=0
+U=0
+V=1
+W=0
+X=1
+Y=1
+Z=1
+ShowHints=1
+ShowWarnings=1
+UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+NamespacePrefix=
+SymbolDeprecated=1
+SymbolLibrary=1
+SymbolPlatform=1
+UnitLibrary=1
+UnitPlatform=1
+UnitDeprecated=1
+HResultCompat=1
+HidingMember=1
+HiddenVirtual=1
+Garbage=1
+BoundsError=1
+ZeroNilCompat=1
+StringConstTruncated=1
+ForLoopVarVarPar=1
+TypedConstVarPar=1
+AsgToTypedConst=1
+CaseLabelRange=1
+ForVariable=1
+ConstructingAbstract=1
+ComparisonFalse=1
+ComparisonTrue=1
+ComparingSignedUnsigned=1
+CombiningSignedUnsigned=1
+UnsupportedConstruct=1
+FileOpen=1
+FileOpenUnitSrc=1
+BadGlobalSymbol=1
+DuplicateConstructorDestructor=1
+InvalidDirective=1
+PackageNoLink=1
+PackageThreadVar=1
+ImplicitImport=1
+HPPEMITIgnored=1
+NoRetVal=1
+UseBeforeDef=1
+ForLoopVarUndef=1
+UnitNameMismatch=1
+NoCFGFileFound=1
+MessageDirective=1
+ImplicitVariants=1
+UnicodeToLocale=1
+LocaleToUnicode=1
+ImagebaseMultiple=1
+SuspiciousTypecast=1
+PrivatePropAccessor=1
UnsafeType=0
UnsafeCode=0
UnsafeCast=0
@@ -20,6 +95,7 @@
PackageDLLOutputDir=
PackageDCPOutputDir=
SearchPath=
+Packages=
Conditionals=USEOLDTBX
DebugSourceDirs=
UsePackages=0
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pe...@us...> - 2006-12-09 14:22:59
|
Revision: 176
http://svn.sourceforge.net/initranslator/?rev=176&view=rev
Author: peter3
Date: 2006-12-09 06:22:59 -0800 (Sat, 09 Dec 2006)
Log Message:
-----------
- added missing includes to projects
Modified Paths:
--------------
translator/trunk/src/ToolConsistency/ToolConsistency.dpr
translator/trunk/src/XilisoftPlugin/XilisoftParser.dpr
Modified: translator/trunk/src/ToolConsistency/ToolConsistency.dpr
===================================================================
--- translator/trunk/src/ToolConsistency/ToolConsistency.dpr 2006-12-09 14:19:19 UTC (rev 175)
+++ translator/trunk/src/ToolConsistency/ToolConsistency.dpr 2006-12-09 14:22:59 UTC (rev 176)
@@ -24,7 +24,8 @@
ToolConsistencyImpl in 'ToolConsistencyImpl.pas',
TransIntf in '..\TransIntf.pas',
ToolConsistencyFrm in 'ToolConsistencyFrm.pas' {frmToolConsistency},
- WideIniFiles in '..\WideIniFiles.pas';
+ WideIniFiles in '..\WideIniFiles.pas',
+ ToolConsistencyConsts in 'ToolConsistencyConsts.pas';
{$R *.res}
function InstallPlugin(out ToolItems: IToolItems): HResult; stdcall;
Modified: translator/trunk/src/XilisoftPlugin/XilisoftParser.dpr
===================================================================
--- translator/trunk/src/XilisoftPlugin/XilisoftParser.dpr 2006-12-09 14:19:19 UTC (rev 175)
+++ translator/trunk/src/XilisoftPlugin/XilisoftParser.dpr 2006-12-09 14:22:59 UTC (rev 176)
@@ -25,7 +25,8 @@
DualImportFrm in '..\PluginCommon\DualImportFrm.pas' {frmDualImport},
XilisoftParserImpl in 'XilisoftParserImpl.pas',
XilisoftParserCfgForm in 'XilisoftParserCfgForm.pas' {XilisoftCfgForm},
- CommonUtils in '..\CommonUtils.pas';
+ CommonUtils in '..\CommonUtils.pas',
+ XiliSoftParserConsts in 'XiliSoftParserConsts.pas';
{$R *.res}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pe...@us...> - 2006-12-09 17:55:31
|
Revision: 177
http://svn.sourceforge.net/initranslator/?rev=177&view=rev
Author: peter3
Date: 2006-12-09 09:55:30 -0800 (Sat, 09 Dec 2006)
Log Message:
-----------
- New plugin: ToolKeyCheck. Displays access and accelerator keys in the translation
Modified Paths:
--------------
translator/trunk/src/ToolConsistency/ToolConsistencyImpl.pas
Added Paths:
-----------
translator/trunk/src/ToolKeyCheck/
translator/trunk/src/ToolKeyCheck/ToolKeyCheck.dof
translator/trunk/src/ToolKeyCheck/ToolKeyCheck.dpr
translator/trunk/src/ToolKeyCheck/ToolKeyCheck.res
translator/trunk/src/ToolKeyCheck/ToolKeyCheckFrm.dfm
translator/trunk/src/ToolKeyCheck/ToolKeyCheckFrm.pas
translator/trunk/src/ToolKeyCheck/ToolKeyCheckImpl.pas
Modified: translator/trunk/src/ToolConsistency/ToolConsistencyImpl.pas
===================================================================
--- translator/trunk/src/ToolConsistency/ToolConsistencyImpl.pas 2006-12-09 14:22:59 UTC (rev 176)
+++ translator/trunk/src/ToolConsistency/ToolConsistencyImpl.pas 2006-12-09 17:55:30 UTC (rev 177)
@@ -154,7 +154,9 @@
Orphans: ITranslationItems;
const SelectedItem: ITranslationItem): Integer;
begin
- Result := TOOL_VISIBLE or TOOL_ENABLED;
+ Result := TOOL_VISIBLE;
+ if Items.Count > 0 then
+ Result := Result or TOOL_ENABLED;
end;
end.
Added: translator/trunk/src/ToolKeyCheck/ToolKeyCheck.dof
===================================================================
--- translator/trunk/src/ToolKeyCheck/ToolKeyCheck.dof (rev 0)
+++ translator/trunk/src/ToolKeyCheck/ToolKeyCheck.dof 2006-12-09 17:55:30 UTC (rev 177)
@@ -0,0 +1,132 @@
+[FileVersion]
+Version=7.0
+[Compiler]
+A=8
+B=0
+C=1
+D=1
+E=0
+F=0
+G=1
+H=1
+I=1
+J=0
+K=0
+L=1
+M=0
+N=1
+O=1
+P=1
+Q=0
+R=0
+S=0
+T=0
+U=0
+V=1
+W=0
+X=1
+Y=1
+Z=1
+ShowHints=1
+ShowWarnings=1
+UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+NamespacePrefix=
+SymbolDeprecated=1
+SymbolLibrary=1
+SymbolPlatform=1
+UnitLibrary=1
+UnitPlatform=1
+UnitDeprecated=1
+HResultCompat=1
+HidingMember=1
+HiddenVirtual=1
+Garbage=1
+BoundsError=1
+ZeroNilCompat=1
+StringConstTruncated=1
+ForLoopVarVarPar=1
+TypedConstVarPar=1
+AsgToTypedConst=1
+CaseLabelRange=1
+ForVariable=1
+ConstructingAbstract=1
+ComparisonFalse=1
+ComparisonTrue=1
+ComparingSignedUnsigned=1
+CombiningSignedUnsigned=1
+UnsupportedConstruct=1
+FileOpen=1
+FileOpenUnitSrc=1
+BadGlobalSymbol=1
+DuplicateConstructorDestructor=1
+InvalidDirective=1
+PackageNoLink=1
+PackageThreadVar=1
+ImplicitImport=1
+HPPEMITIgnored=1
+NoRetVal=1
+UseBeforeDef=1
+ForLoopVarUndef=1
+UnitNameMismatch=1
+NoCFGFileFound=1
+MessageDirective=1
+ImplicitVariants=1
+UnicodeToLocale=1
+LocaleToUnicode=1
+ImagebaseMultiple=1
+SuspiciousTypecast=1
+PrivatePropAccessor=1
+UnsafeType=0
+UnsafeCode=0
+UnsafeCast=0
+[Linker]
+MapFile=3
+OutputObjs=0
+ConsoleApp=1
+DebugInfo=0
+RemoteSymbols=1
+MinStackSize=16384
+MaxStackSize=1048576
+ImageBase=4194304
+ExeDescription=
+[Directories]
+OutputDir=..\..\bin\plugins
+UnitOutputDir=..\..\dcu
+PackageDLLOutputDir=
+PackageDCPOutputDir=
+SearchPath=
+Packages=
+Conditionals=
+DebugSourceDirs=
+UsePackages=0
+[Parameters]
+RunParams=
+HostApplication=C:\Program Files\Borland\projects\Private\translator\trunk\bin\translator.exe
+Launcher=
+UseLauncher=0
+DebugCWD=
+[Version Info]
+IncludeVerInfo=1
+AutoIncBuild=1
+MajorVer=1
+MinorVer=9
+Release=0
+Build=22
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=1
+Locale=1053
+CodePage=1252
+[Version Info Keys]
+CompanyName=Peter Th\xF6rnqvist
+FileDescription=Tool Key Check plugin for IniTranslator
+FileVersion=1.9.0.22
+InternalName=ToolKeyCheck.dll
+LegalCopyright=Copyright (c) 2003-2006 by Peter Th\xF6rnqvist; all rights reserved
+LegalTrademarks=
+OriginalFilename=ToolKeyCheck.dll
+ProductName=IniTranslator
+ProductVersion=1.9.0.13
+Comments=Latest version from http://initranslator.sourceforge.net
Added: translator/trunk/src/ToolKeyCheck/ToolKeyCheck.dpr
===================================================================
--- translator/trunk/src/ToolKeyCheck/ToolKeyCheck.dpr (rev 0)
+++ translator/trunk/src/ToolKeyCheck/ToolKeyCheck.dpr 2006-12-09 17:55:30 UTC (rev 177)
@@ -0,0 +1,21 @@
+library ToolKeyCheck;
+
+
+uses
+ SysUtils,
+ Classes,
+ ToolKeyCheckImpl in 'ToolKeyCheckImpl.pas',
+ TransIntf in '..\TransIntf.pas',
+ ToolKeyCheckFrm in 'ToolKeyCheckFrm.pas' {frmToolKeyCheck: TfrmToolKeyCheck},
+ CommonUtils in '..\CommonUtils.pas';
+
+{$R *.res}
+function InstallPlugin(out ToolItems: IToolItems): HResult; stdcall;
+begin
+ ToolItems := TToolKeyCheckPlugins.Create;
+ Result := S_OK;
+end;
+
+exports InstallPlugin name cRegisterTransToolItemsFuncName;
+begin
+end.
Property changes on: translator/trunk/src/ToolKeyCheck/ToolKeyCheck.dpr
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate
LastChangedRevision
LastChangedBy
HeadURL
Id
Added: translator/trunk/src/ToolKeyCheck/ToolKeyCheck.res
===================================================================
(Binary files differ)
Property changes on: translator/trunk/src/ToolKeyCheck/ToolKeyCheck.res
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: translator/trunk/src/ToolKeyCheck/ToolKeyCheckFrm.dfm
===================================================================
--- translator/trunk/src/ToolKeyCheck/ToolKeyCheckFrm.dfm (rev 0)
+++ translator/trunk/src/ToolKeyCheck/ToolKeyCheckFrm.dfm 2006-12-09 17:55:30 UTC (rev 177)
@@ -0,0 +1,396 @@
+object frmToolKeyCheck: TfrmToolKeyCheck
+ Left = 434
+ Top = 211
+ Width = 593
+ Height = 439
+ Caption = 'Accelerator and access key checker'
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Shell Dlg 2'
+ Font.Style = []
+ Icon.Data = {
+ 000001000200101010000000000028010000260000002020100000000000E802
+ 00004E0100002800000010000000200000000100040000000000800000000000
+ 0000000000001000000010000000000000000000800000800000008080008000
+ 0000800080008080000080808000C0C0C0000000FF0000FF000000FFFF00FF00
+ 0000FF00FF00FFFF0000FFFFFF000000000000000000078888888888800007FF
+ FFFFFFFF800007FFFFF000FF800007FF0004430F800007FFFF04440F800007FF
+ 0008440F800007FFFFF000FF800007FF000000FF800007FFFFFFFFFF800007FF
+ 000F00FF800007FFFFFFFFFF800007FFFFFFFFFF800007F0F0F0F0F0F000000F
+ 7F7F7F7F00000000000000000000C00700008003000080030000800300008003
+ 0000800300008003000080030000800300008003000080030000800300008003
+ 000080030000C0070000EAAF0000280000002000000040000000010004000000
+ 0000000200000000000000000000100000001000000000000000000080000080
+ 00000080800080000000800080008080000080808000C0C0C0000000FF0000FF
+ 000000FFFF00FF000000FF00FF00FFFF0000FFFFFF0000000000000000000000
+ 00000000000000078888888888888888888880800000007FFFFFFFFFFFFFFFFF
+ FFFFF8080000007FFFFFFFFFFFFFFFFFFFFFF8080000007FF000000FFFFF0000
+ 0FFFF8080000007FFFFFFFFFFFF0C22240FFF8080000007FF000000FFF0CCC22
+ 240FF8080000007FFFFFFFFFFF4CCCC2220FF8080000007FFFFFFFFFFF4ACCCC
+ 220FF8080000007FF00000000042ACC2220FF8080000007FFFFFFFFFFF4A27CC
+ 220FF8080000007FF000000000B4ACCC208FF8080000007FFFFFFFFFFFFB4444
+ 00FFF8080000007FF000000000000000000FF8080000007FFFFFFFFFFFFFFFFF
+ FFFFF8080000007FF000000000000000000FF8080000007FFFFFFFFFFFFFFFFF
+ FFFFF8080000007FFFFFFFFFFFFFFFFFFFFFF8080000007FF000000FFFFFFFFF
+ FFFFF8080000007FFFFFFFFFFFFFFFFFFFFFF8080000007FFFFFFFFFFFFFFFFF
+ FFFFF8080000007FFFFFFFFFFFFFFFFFFFFFF8080000007FF000000FFFFFFFFF
+ FFFFF8080000007FFFFFFFFFFFFFFFFFFFFFF8080000007FF000000FFFFFFF0F
+ 000FF8080000007FFFFFFFFFFFFFFFFFFFFFF8080000007FFFFFFFFFFFFFFFFF
+ FFFFF8080000007FFFFFFFFFFFFFFFFFFFFFF8080000007F0FF0FF0FF0FF0FF0
+ FF0FF7080000007F0FF0FF0FF0FF0FF0FF0FF70800000007F77F77F77F77F77F
+ 77F77F70000000000000000000000000000000000000F000001FE000000FC000
+ 0007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C000
+ 0007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C000
+ 0007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C000
+ 0007C0000007C0000007C0000007E000000FF24924BF}
+ OldCreateOrder = False
+ OnCreate = TntFormCreate
+ OnDestroy = TntFormDestroy
+ PixelsPerInch = 96
+ TextHeight = 13
+ object TntStatusBar1: TTntStatusBar
+ Left = 0
+ Top = 386
+ Width = 585
+ Height = 19
+ Panels = <
+ item
+ Width = 50
+ end>
+ end
+ object lvItems: TTntListView
+ Left = 0
+ Top = 0
+ Width = 585
+ Height = 343
+ Align = alClient
+ BevelKind = bkFlat
+ BorderStyle = bsNone
+ Columns = <
+ item
+ Caption = 'Original'
+ Width = 150
+ end
+ item
+ Caption = 'Translation'
+ Width = 160
+ end
+ item
+ Caption = 'Accelerator key'
+ Width = 100
+ end
+ item
+ Caption = 'Access key'
+ Width = 100
+ end>
+ GridLines = True
+ HideSelection = False
+ ReadOnly = True
+ RowSelect = True
+ SmallImages = ilSortArrows
+ TabOrder = 1
+ ViewStyle = vsReport
+ OnColumnClick = lvItemsColumnClick
+ OnDblClick = lvItemsDblClick
+ OnEnter = lvItemsEnter
+ OnInsert = lvItemsInsert
+ OnResize = lvItemsResize
+ OnSelectItem = lvItemsSelectItem
+ end
+ object TntPanel1: TTntPanel
+ Left = 0
+ Top = 343
+ Width = 585
+ Height = 43
+ Align = alBottom
+ BevelOuter = bvNone
+ ParentBackground = False
+ TabOrder = 2
+ DesignSize = (
+ 585
+ 43)
+ object chkIgnoreEmpty: TTntCheckBox
+ Left = 18
+ Top = 12
+ Width = 457
+ Height = 17
+ Caption = '&Ignore items without keys'
+ TabOrder = 0
+ OnClick = chkIgnoreEmptyClick
+ end
+ object TntButton1: TTntButton
+ Left = 486
+ Top = 8
+ Width = 75
+ Height = 25
+ Action = acUpdate
+ Anchors = [akTop, akRight]
+ TabOrder = 1
+ end
+ end
+ object ilSortArrows: TImageList
+ Height = 15
+ Width = 15
+ Left = 84
+ Top = 70
+ Bitmap = {
+ 494C01010600090004000F000F00FFFFFFFFFF00FFFFFFFFFFFFFFFF424D3600
+ 00000000000036000000280000003C0000001E0000000100200000000000201C
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000000000000A19D
+ 9D00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000A19D9D00FFFFFF00000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000A19D9D00A19D9D00C0C0C000C0C0C000C0C0
+ C000C0C0C000FFFFFF00FFFFFF00000000000000000000000000000000000000
+ 000000000000000000000000000000000000A19D9D00A19D9D00FFFFFF00FFFF
+ FF00000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000A19D9D00C0C0C000C0C0C000C0C0C000C0C0C000FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000A19D9D00C0C0C000C0C0C000FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000A19D9D00A19D9D00C0C0C000C0C0
+ C000FFFFFF00FFFFFF0000000000000000000000000000000000000000000000
+ 0000000000000000000000000000A19D9D00A19D9D00C0C0C000C0C0C000FFFF
+ FF00FFFFFF000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000A19D9D00C0C0C000C0C0C000FFFFFF0000000000000000000000
+ 000000000000000000000000000000000000000000000000000000000000A19D
+ 9D00C0C0C000C0C0C000C0C0C000C0C0C000FFFFFF0000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000A19D9D00A19D9D00FFFF
+ FF00FFFFFF000000000000000000000000000000000000000000000000000000
+ 00000000000000000000A19D9D00A19D9D00C0C0C000C0C0C000C0C0C000C0C0
+ C000FFFFFF00FFFFFF0000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000A19D9D00FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000A19D9D00A19D
+ 9D00A19D9D00A19D9D00A19D9D00A19D9D00A19D9D00A19D9D00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000028002800280028002800
+ 2800280028002800280000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000280028000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000002800280084860000848600008486000028002800000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000002800280097712800280028000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000800000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000028002800848600008486
+ 0000848600002800280000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000002800280097712800848600009771
+ 2800280028000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000008000000080000000800000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000800000008000000080000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000002800280084860000848600008486000028002800000000000000
+ 0000000000000000000000000000000000000000000000000000000000002800
+ 2800977128008486000084860000848600009771280028002800000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000800000008000000080000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000800000008000
+ 0000800000008000000080000000000000000000000000000000000000000000
+ 0000000000000000000028002800280028002800280028002800848600008486
+ 0000848600002800280028002800280028002800280000000000000000000000
+ 0000000000000000000028002800977128008486000084860000848600008486
+ 0000848600009771280028002800000000000000000000000000000000000000
+ 0000000000008000000080000000800000008000000080000000800000008000
+ 0000800000008000000000000000000000000000000000000000000000000000
+ 0000000000008000000080000000800000008000000080000000800000008000
+ 0000000000000000000000000000000000000000000000000000000000002800
+ 2800977128008486000084860000848600008486000084860000977128002800
+ 2800000000000000000000000000000000000000000028002800280028002800
+ 2800280028008486000084860000848600002800280028002800280028002800
+ 2800000000000000000000000000000000000000000000000000800000008000
+ 0000800000008000000080000000800000008000000000000000000000000000
+ 0000000000000000000000000000000000008000000080000000800000008000
+ 0000800000008000000080000000800000008000000000000000000000000000
+ 0000000000000000000000000000000000002800280097712800848600008486
+ 0000848600009771280028002800000000000000000000000000000000000000
+ 0000000000000000000000000000000000002800280084860000848600008486
+ 0000280028000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000800000008000000080000000800000008000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000800000008000000080000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000002800280097712800848600009771280028002800000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000280028008486000084860000848600002800280000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000800000008000000080000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000008000
+ 0000800000008000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000280028009771
+ 2800280028000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000002800280084860000848600008486
+ 0000280028000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000080000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000280028000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000280028002800280028002800280028002800280000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000424D3E000000000000003E000000
+ 280000003C0000001E0000000100010000000000F00000000000000000000000
+ 000000000000000000000000FFFFFF00FFFFFFFC00000000FFFFFFFC00000000
+ FFFFFFFC00000000FFFFFFFC00000000E01FF9FC00000000E01FF0FC00000000
+ F03FF0FC00000000F03FE07C00000000F87FE07C00000000F87FC03C00000000
+ FCFFC03C00000000FFFFFFFC00000000FFFFFFFC00000000FFFFFFFC00000000
+ FFFFFFFC00000000FFFFFFFFFFFFFFF0FFFFFFFFFFFFFFF0F83FFDFFFFFFF7F0
+ F83FF8FFE0FFE3F0F83FF07FE0FFC1F0F83FE03E000F80F0C007C01F001F0070
+ E00F800F803E0030F01FF07FC07C0010F83FF07FE0FFC1F0FC7FF07FF1FFC1F0
+ FEFFF07FFBFFFFF0FFFFFFFFFFFFFFF0FFFFFFFFFFFFFFF0FFFFFFFFFFFFFFF0}
+ end
+ object alMain: TTntActionList
+ Left = 126
+ Top = 70
+ object acUpdate: TTntAction
+ Caption = '&Update'
+ ShortCut = 116
+ OnExecute = acUpdateExecute
+ end
+ object acEdit: TTntAction
+ Caption = 'Edit'
+ ShortCut = 113
+ OnExecute = acEditExecute
+ end
+ object acClose: TTntAction
+ Caption = 'Close'
+ ShortCut = 27
+ OnExecute = acCloseExecute
+ end
+ end
+end
Added: translator/trunk/src/ToolKeyCheck/ToolKeyCheckFrm.pas
===================================================================
--- translator/trunk/src/ToolKeyCheck/ToolKeyCheckFrm.pas (rev 0)
+++ translator/trunk/src/ToolKeyCheck/ToolKeyCheckFrm.pas 2006-12-09 17:55:30 UTC (rev 177)
@@ -0,0 +1,301 @@
+unit ToolKeyCheckFrm;
+
+interface
+uses
+ Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
+ Dialogs, TntForms, ComCtrls, TransIntf, TntComCtrls, ImgList, ActnList,
+ TntActnList, StdCtrls, TntStdCtrls, ExtCtrls, TntExtCtrls;
+
+type
+ TListViewInfo = class
+ Column:TListColumn;
+ Descending:boolean;
+ end;
+
+ TfrmToolKeyCheck = class(TTntForm)
+ TntStatusBar1: TTntStatusBar;
+ lvItems: TTntListView;
+ ilSortArrows: TImageList;
+ TntPanel1: TTntPanel;
+ chkIgnoreEmpty: TTntCheckBox;
+ TntButton1: TTntButton;
+ alMain: TTntActionList;
+ acUpdate: TTntAction;
+ acEdit: TTntAction;
+ acClose: TTntAction;
+ procedure lvItemsResize(Sender: TObject);
+ procedure lvItemsEnter(Sender: TObject);
+ procedure lvItemsColumnClick(Sender: TObject; Column: TListColumn);
+ procedure TntFormCreate(Sender: TObject);
+ procedure TntFormDestroy(Sender: TObject);
+ procedure lvItemsDblClick(Sender: TObject);
+ procedure lvItemsSelectItem(Sender: TObject; Item: TListItem;
+ Selected: Boolean);
+ procedure lvItemsInsert(Sender: TObject; Item: TListItem);
+ procedure acCloseExecute(Sender: TObject);
+ procedure acUpdateExecute(Sender: TObject);
+ procedure chkIgnoreEmptyClick(Sender: TObject);
+ procedure acEditExecute(Sender: TObject);
+ private
+ { Private declarations }
+ FAppServices:IApplicationServices;
+ FListViewInfo:TListViewInfo;
+ FItems: ITranslationItems;
+ procedure LoadItems;
+ procedure LoadSettings;
+ procedure SaveSettings;
+ public
+ { Public declarations }
+ class function Edit(const ApplicationServices:IApplicationServices; const Items: ITranslationItems): boolean;
+ end;
+
+implementation
+
+uses
+ CommonUtils, TntWindows, TntMenus, Math;
+
+{$R *.DFM}
+const
+ cUpArrow = 4;
+ cDnArrow = 5;
+
+{ TfrmToolKeyCheck }
+
+class function TfrmToolKeyCheck.Edit(const ApplicationServices:IApplicationServices; const Items: ITranslationItems): boolean;
+var
+ frm: TfrmToolKeyCheck;
+ FAppHandle:Cardinal;
+begin
+ FAppHandle := Application.Handle;
+ Application.Handle := ApplicationServices.AppHandle;
+ frm := self.Create(Application);
+ try...
[truncated message content] |
|
From: <pe...@us...> - 2006-12-14 14:39:39
|
Revision: 195
http://svn.sourceforge.net/initranslator/?rev=195&view=rev
Author: peter3
Date: 2006-12-14 06:39:34 -0800 (Thu, 14 Dec 2006)
Log Message:
-----------
- Minor updates to tool plugins
Modified Paths:
--------------
translator/trunk/src/ApplicationServices.pas
translator/trunk/src/FastMM4Options.inc
translator/trunk/src/MainFrm.pas
translator/trunk/src/ToolPropertiesView/ToolPropertiesViewFrm.dfm
translator/trunk/src/ToolPropertiesView/ToolPropertiesViewFrm.pas
translator/trunk/src/ToolPropertiesView/ToolPropertiesViewImpl.pas
translator/trunk/src/ToolTreeView/ToolTreeViewFrm.dfm
translator/trunk/src/ToolTreeView/ToolTreeViewFrm.pas
translator/trunk/src/TransIntf.pas
Modified: translator/trunk/src/ApplicationServices.pas
===================================================================
--- translator/trunk/src/ApplicationServices.pas 2006-12-14 00:48:38 UTC (rev 194)
+++ translator/trunk/src/ApplicationServices.pas 2006-12-14 14:39:34 UTC (rev 195)
@@ -13,6 +13,7 @@
function BeginUpdate: Integer; safecall;
function EndUpdate: Integer; safecall;
function GetAppHandle: Cardinal;
+ function GetMainFormHandle:Cardinal;
function GetAppOption(const Section: WideString; const Name: WideString; const Default: WideString): WideString; safecall;
function GetSelectedItem:ITranslationItem;
procedure SetSelectedItem(const Value:ITranslationItem);
@@ -58,6 +59,11 @@
Result := FForm.GetAppHandle;
end;
+function TApplicationServices.GetMainFormHandle: Cardinal;
+begin
+ Result := FForm.GetMainFormHandle;
+end;
+
function TApplicationServices.GetAppOption(const Section, Name,
Default: WideString): WideString;
begin
@@ -84,6 +90,7 @@
Result := FForm.GetItems;
end;
+
function TApplicationServices.GetOrphans: ITranslationItems;
begin
Result := FForm.GetOrphans;
Modified: translator/trunk/src/FastMM4Options.inc
===================================================================
--- translator/trunk/src/FastMM4Options.inc 2006-12-14 00:48:38 UTC (rev 194)
+++ translator/trunk/src/FastMM4Options.inc 2006-12-14 14:39:34 UTC (rev 195)
@@ -97,7 +97,7 @@
Very important: If you enable this option your application will require the
FastMM_FullDebugMode.dll library. If this library is not available you will
get an error on startup.}
-{$define FullDebugMode}
+{.$define FullDebugMode}
{Set this option to perform "raw" stack traces, i.e. check all entries on the
stack for valid return addresses. Note that this is significantly slower
@@ -133,7 +133,7 @@
{Set this option to enable reporting of memory leaks. Combine it with the two
options below for further fine-tuning.}
-{$define EnableMemoryLeakReporting}
+{.$define EnableMemoryLeakReporting}
{Set this option to suppress the display and logging of expected memory leaks
that were registered by pointer. Leaks registered by size or class are often
@@ -231,16 +231,16 @@
{Group the options you use for release and debug versions below}
{$ifdef Release}
{Specify the options you use for release versions below}
- {.$undef FullDebugMode}
- {.$undef CheckHeapForCorruption}
- {.$define ASMVersion}
- {.$undef EnableMemoryLeakReporting}
- {.$undef UseOutputDebugString}
+ {$undef FullDebugMode}
+ {$undef CheckHeapForCorruption}
+ {$define ASMVersion}
+ {$undef EnableMemoryLeakReporting}
+ {$undef UseOutputDebugString}
{$else}
{Specify the options you use for debugging below}
{.$define FullDebugMode}
- {.$define EnableMemoryLeakReporting}
- {.$define UseOutputDebugString}
+ {$define EnableMemoryLeakReporting}
+ {$define UseOutputDebugString}
{$endif}
{--------------------Compilation Options For borlndmm.dll---------------------}
Modified: translator/trunk/src/MainFrm.pas
===================================================================
--- translator/trunk/src/MainFrm.pas 2006-12-14 00:48:38 UTC (rev 194)
+++ translator/trunk/src/MainFrm.pas 2006-12-14 14:39:34 UTC (rev 195)
@@ -573,6 +573,7 @@
function GetItems: ITranslationItems;
function GetOrphans: ITranslationItems;
function GetAppHandle: Cardinal;
+ function GetMainFormHandle:Cardinal;
function GetDictionaryItems: IDictionaryItems;
function GetHeader: WideString;
procedure SetHeader(const Value: WideString);
@@ -4363,6 +4364,11 @@
Result := Application.Handle;
end;
+function TfrmMain.GetMainFormHandle: Cardinal;
+begin
+ Result := self.Handle;
+end;
+
function TfrmMain.GetAppOption(const Section, Name,
Default: WideString): WideString;
begin
@@ -4538,7 +4544,7 @@
procedure TfrmMain.mnuToolsPopup(Sender: TTBCustomItem; FromLink: Boolean);
begin
- BuildToolMenu(Sender);
+// BuildToolMenu(Sender);
end;
end.
Modified: translator/trunk/src/ToolPropertiesView/ToolPropertiesViewFrm.dfm
===================================================================
--- translator/trunk/src/ToolPropertiesView/ToolPropertiesViewFrm.dfm 2006-12-14 00:48:38 UTC (rev 194)
+++ translator/trunk/src/ToolPropertiesView/ToolPropertiesViewFrm.dfm 2006-12-14 14:39:34 UTC (rev 195)
@@ -92,8 +92,36 @@
OwnerData = True
ReadOnly = True
RowSelect = True
+ PopupMenu = popListView
TabOrder = 1
ViewStyle = vsReport
OnData = lvItemsData
end
+ object alMain: TTntActionList
+ Left = 184
+ Top = 96
+ object acSync: TTntAction
+ Caption = 'Select in main list'
+ ShortCut = 16416
+ OnExecute = acSyncExecute
+ end
+ object acClose: TTntAction
+ Caption = 'Close'
+ ShortCut = 27
+ OnExecute = acCloseExecute
+ end
+ end
+ object popListView: TTntPopupMenu
+ Left = 256
+ Top = 112
+ object Selectinmainlist1: TTntMenuItem
+ Action = acSync
+ end
+ object N1: TTntMenuItem
+ Caption = '-'
+ end
+ object Close1: TTntMenuItem
+ Action = acClose
+ end
+ end
end
Modified: translator/trunk/src/ToolPropertiesView/ToolPropertiesViewFrm.pas
===================================================================
--- translator/trunk/src/ToolPropertiesView/ToolPropertiesViewFrm.pas 2006-12-14 00:48:38 UTC (rev 194)
+++ translator/trunk/src/ToolPropertiesView/ToolPropertiesViewFrm.pas 2006-12-14 14:39:34 UTC (rev 195)
@@ -4,21 +4,32 @@
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, TntForms, TransIntf, ComCtrls, TntComCtrls;
+ Dialogs, TntForms, TransIntf, ComCtrls, TntComCtrls, ActnList,
+ TntActnList, Menus, TntMenus;
type
TfrmToolPropertiesView = class(TTntForm)
TntStatusBar1: TTntStatusBar;
lvItems: TTntListView;
+ alMain: TTntActionList;
+ acSync: TTntAction;
+ acClose: TTntAction;
+ popListView: TTntPopupMenu;
+ Selectinmainlist1: TTntMenuItem;
+ Close1: TTntMenuItem;
+ N1: TTntMenuItem;
procedure lvItemsData(Sender: TObject; Item: TListItem);
+ procedure acCloseExecute(Sender: TObject);
+ procedure acSyncExecute(Sender: TObject);
private
{ Private declarations }
- FItems: ITranslationItems;
- procedure LoadItems(const Items: ITranslationItems);
+ FAppServices:IApplicationServices;
+ procedure LoadItems(const ApplicationServices: IApplicationServices);
procedure RefreshView;
public
{ Public declarations }
- class function Execute(const Items, Orphans: ITranslationItems; var SelectedITem: ITranslationItem): Boolean;
+ class function Execute(const ApplicationServices:IApplicationServices;
+ var SelectedItem: ITranslationItem): Boolean;
end;
implementation
@@ -27,57 +38,80 @@
{ TfrmToolPropertiesView }
-class function TfrmToolPropertiesView.Execute(const Items,
- Orphans: ITranslationItems; var SelectedITem: ITranslationItem): Boolean;
-var frm: TfrmToolPropertiesView;
+class function TfrmToolPropertiesView.Execute(const ApplicationServices:IApplicationServices;
+ var SelectedItem: ITranslationItem): Boolean;
+var
+ frm: TfrmToolPropertiesView;
+ FAppHandle:Cardinal;
begin
+ FAppHandle := Application.Handle;
+ Application.Handle := ApplicationServices.AppHandle;
frm := self.Create(Application);
try
- frm.LoadItems(Items);
+ frm.LoadItems(ApplicationServices);
frm.ShowModal;
Result := false; // no changes
finally
frm.Free;
+ Application.Handle := FAppHandle;
end;
end;
-procedure TfrmToolPropertiesView.LoadItems(const Items: ITranslationItems);
+procedure TfrmToolPropertiesView.LoadItems(const ApplicationServices: IApplicationServices);
begin
- FItems := Items;
+ FAppServices := ApplicationServices;
RefreshView;
end;
procedure TfrmToolPropertiesView.RefreshView;
+var i:integer;
begin
- if FItems <> nil then
- lvItems.Items.Count := FItems.Count
+ if FAppServices <> nil then
+ lvItems.Items.Count := FAppServices.Items.Count
else
lvItems.Items.Count := 0;
+ if lvItems.Items.Count > 0 then
+ for i := 0 to lvItems.Columns.Count - 1 do
+ lvItems.Columns[i].Width := ColumnHeaderWidth;
TntStatusBar1.Panels[0].Text := WideFormat(' %d item(s) in list',[lvItems.Items.Count]);
end;
procedure TfrmToolPropertiesView.lvItemsData(Sender: TObject;
Item: TListItem);
+var AItem:ITranslationItem;
begin
- if (FItems <> nil) and (Item.Index >= 0) and (Item.Index < FItems.Count) then
+ if (FAppServices <> nil) and (Item.Index >= 0) and (Item.Index < FAppServices.Items.Count) then
with TTntListItem(Item) do
begin
- Caption := IntToStr(FItems[Index].Index);
- SubItems.Add(FItems[Index].Section);
- SubItems.Add(FItems[Index].Name);
- SubItems.Add(FItems[Index].Original);
- SubItems.Add(FItems[Index].Translation);
- SubItems.Add(FItems[Index].OrigComments);
- SubItems.Add(FItems[Index].TransComments);
- SubItems.Add(FItems[Index].PreData);
- SubItems.Add(FItems[Index].PostData);
- SubItems.Add(FItems[Index].OrigQuote);
- SubItems.Add(FItems[Index].TransQuote);
- SubItems.Add(FItems[Index].PrivateStorage);
- SubItems.Add(FItems[Index].ClearOriginal);
- SubItems.Add(FItems[Index].ClearTranslation);
+ AItem := FAppServices.Items[Index];
+ Caption := IntToStr(AItem.Index);
+ SubItems.Add(AItem.Section);
+ SubItems.Add(AItem.Name);
+ SubItems.Add(AItem.Original);
+ SubItems.Add(AItem.Translation);
+ SubItems.Add(AItem.OrigComments);
+ SubItems.Add(AItem.TransComments);
+ SubItems.Add(AItem.PreData);
+ SubItems.Add(AItem.PostData);
+ SubItems.Add(AItem.OrigQuote);
+ SubItems.Add(AItem.TransQuote);
+ SubItems.Add(AItem.PrivateStorage);
+ SubItems.Add(AItem.ClearOriginal);
+ SubItems.Add(AItem.ClearTranslation);
end;
end;
+procedure TfrmToolPropertiesView.acCloseExecute(Sender: TObject);
+begin
+ Close;
+end;
+
+procedure TfrmToolPropertiesView.acSyncExecute(Sender: TObject);
+begin
+ if (FAppServices <> nil) and (lvItems.Selected <> nil)
+ and (lvItems.Selected.Index >= 0) and (lvItems.Selected.Index < FAppServices.Items.Count) then
+ FAppServices.SelectedItem := FAppServices.Items[lvItems.Selected.Index];
+end;
+
end.
Modified: translator/trunk/src/ToolPropertiesView/ToolPropertiesViewImpl.pas
===================================================================
--- translator/trunk/src/ToolPropertiesView/ToolPropertiesViewImpl.pas 2006-12-14 00:48:38 UTC (rev 194)
+++ translator/trunk/src/ToolPropertiesView/ToolPropertiesViewImpl.pas 2006-12-14 14:39:34 UTC (rev 195)
@@ -31,9 +31,8 @@
TToolPropertiesViewPlugin = class(TInterfacedObject, IInterface, IToolItem)
private
- FOldAppHandle:Cardinal;
+ FAppServices:IApplicationServices;
public
-
function About: WideString; safecall;
function DisplayName: WideString; safecall;
function Execute(const Items: ITranslationItems;
@@ -44,12 +43,11 @@
function Status(const Items: ITranslationItems;
const Orphans: ITranslationItems;
const SelectedItem: ITranslationItem): Integer; safecall;
- destructor Destroy; override;
end;
implementation
uses
- Forms, ToolPropertiesViewFrm;
+ ToolPropertiesViewFrm;
{ TToolPropertiesViewPlugins }
@@ -77,12 +75,6 @@
Result := 'Plugin to display all properties of the translation items';
end;
-destructor TToolPropertiesViewPlugin.Destroy;
-begin
- if FOldAppHandle <> 0 then
- Application.Handle := FOldAppHandle;
- inherited Destroy;
-end;
function TToolPropertiesViewPlugin.DisplayName: WideString;
begin
@@ -92,7 +84,7 @@
function TToolPropertiesViewPlugin.Execute(const Items,
Orphans: ITranslationItems; var SelectedItem: ITranslationItem): HRESULT;
begin
- if TfrmToolPropertiesView.Execute(Items, Orphans, SelectedItem) then
+ if TfrmToolPropertiesView.Execute(FAppServices, SelectedItem) then
Result := S_OK
else
Result := S_FALSE;
@@ -105,9 +97,7 @@
procedure TToolPropertiesViewPlugin.Init(const ApplicationServices: IApplicationServices);
begin
- if FOldAppHandle = 0 then
- FOldAppHandle := Application.Handle;
- Application.Handle := ApplicationServices.AppHandle;
+ FAppServices := ApplicationServices;
end;
function TToolPropertiesViewPlugin.Status(const Items,
Modified: translator/trunk/src/ToolTreeView/ToolTreeViewFrm.dfm
===================================================================
--- translator/trunk/src/ToolTreeView/ToolTreeViewFrm.dfm 2006-12-14 00:48:38 UTC (rev 194)
+++ translator/trunk/src/ToolTreeView/ToolTreeViewFrm.dfm 2006-12-14 14:39:34 UTC (rev 195)
@@ -1,6 +1,6 @@
object frmToolTreeView: TfrmToolTreeView
- Left = 559
- Top = 284
+ Left = 494
+ Top = 220
Width = 644
Height = 483
ActiveControl = tvSections
@@ -268,41 +268,29 @@
object popTreeview: TTntPopupMenu
Left = 72
Top = 56
- object mnuMoveUp: TTntMenuItem
- Caption = 'Previous'
- ShortCut = 38
- OnClick = mnuMoveUpClick
+ object Previous1: TTntMenuItem
+ Action = acPrev
end
- object mnuMoveDown: TTntMenuItem
- Caption = 'Next'
- ShortCut = 40
- OnClick = mnuMoveDownClick
+ object Next1: TTntMenuItem
+ Action = acNext
end
object N2: TTntMenuItem
Caption = '-'
end
- object mnuPrevUntranslated: TTntMenuItem
- Caption = 'Previous untranslated'
- ShortCut = 16422
- OnClick = mnuPrevUntranslatedClick
+ object Previousuntranslated1: TTntMenuItem
+ Action = acPrevUntrans
end
- object mnuNextUntranslated: TTntMenuItem
- Caption = 'Next untranslated'
- ShortCut = 16424
- OnClick = mnuNextUntranslatedClick
+ object Nextuntranslated1: TTntMenuItem
+ Action = acNextUntrans
end
object N1: TTntMenuItem
Caption = '-'
end
- object mnuPrevSection: TTntMenuItem
- Caption = 'Previous section'
- ShortCut = 16417
- OnClick = mnuPrevSectionClick
+ object Previoussection1: TTntMenuItem
+ Action = acPrevSection
end
- object mnuNextSection: TTntMenuItem
- Caption = 'Next section'
- ShortCut = 16418
- OnClick = mnuNextSectionClick
+ object Nextsection1: TTntMenuItem
+ Action = acNextSection
end
end
object ilTreeView: TImageList
@@ -580,4 +568,43 @@
FC0F200FFFFF80FFFFFFE9FFFFFFC1FF00000000000000000000000000000000
000000000000}
end
+ object alMain: TTntActionList
+ Left = 88
+ Top = 104
+ object acPrev: TTntAction
+ Caption = 'Previous'
+ ShortCut = 38
+ OnExecute = acPrevExecute
+ end
+ object acNext: TTntAction
+ Caption = 'Next'
+ ShortCut = 40
+ OnExecute = acNextExecute
+ end
+ object acPrevUntrans: TTntAction
+ Caption = 'Previous untranslated'
+ ShortCut = 16422
+ OnExecute = acPrevUntransExecute
+ end
+ object acNextUntrans: TTntAction
+ Caption = 'Next untranslated'
+ ShortCut = 16424
+ OnExecute = acNextUntransExecute
+ end
+ object acPrevSection: TTntAction
+ Caption = 'Previous section'
+ ShortCut = 16417
+ OnExecute = acPrevSectionExecute
+ end
+ object acNextSection: TTntAction
+ Caption = 'Next section'
+ ShortCut = 16418
+ OnExecute = acNextSectionExecute
+ end
+ object acClose: TTntAction
+ Caption = 'Close'
+ ShortCut = 27
+ OnExecute = acCloseExecute
+ end
+ end
end
Modified: translator/trunk/src/ToolTreeView/ToolTreeViewFrm.pas
===================================================================
--- translator/trunk/src/ToolTreeView/ToolTreeViewFrm.pas 2006-12-14 00:48:38 UTC (rev 194)
+++ translator/trunk/src/ToolTreeView/ToolTreeViewFrm.pas 2006-12-14 14:39:34 UTC (rev 195)
@@ -5,7 +5,7 @@
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, TntForms,
Dialogs, ComCtrls, TntComCtrls, StdCtrls, TntStdCtrls, ExtCtrls,
- TntExtCtrls, TransIntf, Menus, TntMenus, ImgList;
+ TntExtCtrls, TransIntf, Menus, TntMenus, ImgList, ActnList, TntActnList;
type
TfrmToolTreeView = class(TTntForm)
@@ -22,29 +22,31 @@
reOriginal: TTntRichEdit;
lvView: TTntListView;
popTreeview: TTntPopupMenu;
- mnuPrevSection: TTntMenuItem;
- mnuNextSection: TTntMenuItem;
N1: TTntMenuItem;
- mnuPrevUntranslated: TTntMenuItem;
- mnuNextUntranslated: TTntMenuItem;
N2: TTntMenuItem;
- mnuMoveUp: TTntMenuItem;
- mnuMoveDown: TTntMenuItem;
ilTreeView: TImageList;
pnlBottomRight: TTntPanel;
lblTranslation: TTntLabel;
reTranslation: TTntRichEdit;
+ alMain: TTntActionList;
+ acPrev: TTntAction;
+ acNext: TTntAction;
+ acPrevUntrans: TTntAction;
+ acNextUntrans: TTntAction;
+ acPrevSection: TTntAction;
+ acNextSection: TTntAction;
+ acClose: TTntAction;
+ Previous1: TTntMenuItem;
+ Next1: TTntMenuItem;
+ Previousuntranslated1: TTntMenuItem;
+ Nextuntranslated1: TTntMenuItem;
+ Previoussection1: TTntMenuItem;
+ Nextsection1: TTntMenuItem;
procedure tvSectionsChanging(Sender: TObject; Node: TTreeNode;
var AllowChange: Boolean);
procedure lvViewDblClick(Sender: TObject);
procedure tvSectionsCustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
- procedure mnuNextUntranslatedClick(Sender: TObject);
- procedure mnuPrevUntranslatedClick(Sender: TObject);
- procedure mnuMoveUpClick(Sender: TObject);
- procedure mnuMoveDownClick(Sender: TObject);
- procedure mnuPrevSectionClick(Sender: TObject);
- procedure mnuNextSectionClick(Sender: TObject);
procedure tvSectionsGetImageIndex(Sender: TObject; Node: TTreeNode);
procedure lvViewCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
@@ -63,6 +65,13 @@
Shift: TShiftState);
procedure reTranslationKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
+ procedure acPrevExecute(Sender: TObject);
+ procedure acNextExecute(Sender: TObject);
+ procedure acPrevUntransExecute(Sender: TObject);
+ procedure acNextUntransExecute(Sender: TObject);
+ procedure acPrevSectionExecute(Sender: TObject);
+ procedure acNextSectionExecute(Sender: TObject);
+ procedure acCloseExecute(Sender: TObject);
private
{ Private declarations }
procedure BuildTree(const Items: ITranslationItems; const SelectedItem: ITranslationItem);
@@ -311,116 +320,6 @@
end;
end;
-procedure TfrmToolTreeView.mnuNextUntranslatedClick(Sender: TObject);
-var
- N: TTntTreeNode;
- I: ITranslationItem;
-begin
- N := tvSections.Selected;
- if N <> nil then
- N := N.GetNext;
- while N <> nil do
- begin
- if N.Data <> nil then
- begin
- I := ITranslationItem(N.Data);
- if (I <> nil) and (not I.Translated) then
- begin
- tvSections.Selected := N;
- Exit;
- end;
- end;
- N := N.GetNext;
- end;
- ShowAtEndMsg;
-end;
-
-procedure TfrmToolTreeView.mnuPrevUntranslatedClick(Sender: TObject);
-var
- N: TTntTreeNode;
- I: ITranslationItem;
-begin
- N := tvSections.Selected;
- if N <> nil then
- N := N.GetPrev;
- while N <> nil do
- begin
- if N.Data <> nil then
- begin
- I := ITranslationItem(N.Data);
- if (I <> nil) and (not I.Translated) then
- begin
- tvSections.Selected := N;
- Exit;
- end;
- end;
- N := N.GetPrev;
- end;
- ShowAtStartMsg;
-end;
-
-procedure TfrmToolTreeView.mnuMoveUpClick(Sender: TObject);
-begin
- if (tvSections.Selected <> nil) and (tvSections.Selected.GetPrev <> nil) then
- begin
- tvSections.Selected := tvSections.Selected.GetPrev;
- Exit;
- end;
- ShowAtStartMsg;
-end;
-
-procedure TfrmToolTreeView.mnuMoveDownClick(Sender: TObject);
-begin
- if (tvSections.Selected <> nil) and (tvSections.Selected.GetNext <> nil) then
- begin
- tvSections.Selected := tvSections.Selected.GetNext;
- Exit;
- end;
- ShowAtEndMsg;
-end;
-
-procedure TfrmToolTreeView.mnuPrevSectionClick(Sender: TObject);
-var
- N: TTntTreeNode;
-begin
- N := tvSections.Selected;
- if N <> nil then
- N := N.GetPrev;
- while N <> nil do
- begin
- if N.Data = nil then
- begin
- N.MakeVisible;
- N.Expand(false);
- tvSections.Selected := N;
- Exit;
- end;
- N := N.GetPrev;
- end;
- ShowAtStartMsg;
-end;
-
-procedure TfrmToolTreeView.mnuNextSectionClick(Sender: TObject);
-var
- N: TTntTreeNode;
-begin
- N := tvSections.Selected;
- if N <> nil then
- N := N.GetNext;
- while N <> nil do
- begin
- if N.Data = nil then
- begin
- N.MakeVisible;
- N.Expand(false);
- tvSections.Selected := N;
- Exit;
- end;
- N := N.GetNext;
- end;
- ShowAtEndMsg;
-end;
-
procedure TfrmToolTreeView.tvSectionsGetImageIndex(Sender: TObject;
Node: TTreeNode);
var I: ITranslationItem;
@@ -551,5 +450,120 @@
Key := 0;
end;
+procedure TfrmToolTreeView.acPrevExecute(Sender: TObject);
+begin
+ if (tvSections.Selected <> nil) and (tvSections.Selected.GetPrev <> nil) then
+ begin
+ tvSections.Selected := tvSections.Selected.GetPrev;
+ Exit;
+ end;
+ ShowAtStartMsg;
+end;
+
+procedure TfrmToolTreeView.acNextExecute(Sender: TObject);
+begin
+ if (tvSections.Selected <> nil) and (tvSections.Selected.GetNext <> nil) then
+ begin
+ tvSections.Selected := tvSections.Selected.GetNext;
+ Exit;
+ end;
+ ShowAtEndMsg;
+end;
+
+procedure TfrmToolTreeView.acPrevUntransExecute(Sender: TObject);
+var
+ N: TTntTreeNode;
+ I: ITranslationItem;
+begin
+ N := tvSections.Selected;
+ if N <> nil then
+ N := N.GetPrev;
+ while N <> nil do
+ begin
+ if N.Data <> nil then
+ begin
+ I := ITranslationItem(N.Data);
+ if (I <> nil) and (not I.Translated) then
+ begin
+ tvSections.Selected := N;
+ Exit;
+ end;
+ end;
+ N := N.GetPrev;
+ end;
+ ShowAtStartMsg;
+end;
+
+procedure TfrmToolTreeView.acNextUntransExecute(Sender: TObject);
+var
+ N: TTntTreeNode;
+ I: ITranslationItem;
+begin
+ N := tvSections.Selected;
+ if N <> nil then
+ N := N.GetNext;
+ while N <> nil do
+ begin
+ if N.Data <> nil then
+ begin
+ I := ITranslationItem(N.Data);
+ if (I <> nil) and (not I.Translated) then
+ begin
+ tvSections.Selected := N;
+ Exit;
+ end;
+ end;
+ N := N.GetNext;
+ end;
+ ShowAtEndMsg;
+end;
+
+procedure TfrmToolTreeView.acPrevSectionExecute(Sender: TObject);
+var
+ N: TTntTreeNode;
+begin
+ N := tvSections.Selected;
+ if N <> nil then
+ N := N.GetPrev;
+ while N <> nil do
+ begin
+ if N.Data = nil then
+ begin
+ N.MakeVisible;
+ N.Expand(false);
+ tvSections.Selected := N;
+ Exit;
+ end;
+ N := N.GetPrev;
+ end;
+ ShowAtStartMsg;
+end;
+
+procedure TfrmToolTreeView.acNextSectionExecute(Sender: TObject);
+var
+ N: TTntTreeNode;
+begin
+ N := tvSections.Selected;
+ if N <> nil then
+ N := N.GetNext;
+ while N <> nil do
+ begin
+ if N.Data = nil then
+ begin
+ N.MakeVisible;
+ N.Expand(false);
+ tvSections.Selected := N;
+ Exit;
+ end;
+ N := N.GetNext;
+ end;
+ ShowAtEndMsg;
+end;
+
+procedure TfrmToolTreeView.acCloseExecute(Sender: TObject);
+begin
+ Close;
+end;
+
end.
Modified: translator/trunk/src/TransIntf.pas
===================================================================
--- translator/trunk/src/TransIntf.pas 2006-12-14 00:48:38 UTC (rev 194)
+++ translator/trunk/src/TransIntf.pas 2006-12-14 14:39:34 UTC (rev 195)
@@ -230,6 +230,7 @@
function GetItems: ITranslationItems;
function GetOrphans: ITranslationItems;
function GetAppHandle: Cardinal;
+ function GetMainFormHandle: Cardinal;
function GetDictionaryItems: IDictionaryItems;
function GetHeader: WideString;
procedure SetHeader(const Value: WideString);
@@ -251,6 +252,7 @@
property SelectedItem:ITranslationItem read GetSelectedItem write SetSelectedItem;
property Dictionary: IDictionaryItems read GetDictionaryItems;
property AppHandle: Cardinal read GetAppHandle;
+ property MainFormHandle: Cardinal read GetMainFormHandle;
property Header: WideString read GetHeader write SetHeader;
property Footer: WideString read GetFooter write SetFooter;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pe...@us...> - 2006-12-15 09:54:13
|
Revision: 198
http://svn.sourceforge.net/initranslator/?rev=198&view=rev
Author: peter3
Date: 2006-12-15 01:54:13 -0800 (Fri, 15 Dec 2006)
Log Message:
-----------
- Better command processor handling
- Memory leak in undo list fixed
- Undo list now always frees the enclosed Data object
- Replace everywhere was called twice (one too many)
Modified Paths:
--------------
translator/trunk/src/AppUtils.pas
translator/trunk/src/MainFrm.pas
translator/trunk/src/UndoList.pas
Modified: translator/trunk/src/AppUtils.pas
===================================================================
--- translator/trunk/src/AppUtils.pas 2006-12-14 20:17:01 UTC (rev 197)
+++ translator/trunk/src/AppUtils.pas 2006-12-15 09:54:13 UTC (rev 198)
@@ -57,6 +57,9 @@
function AutoDetectCharacterSet(const Filename: WideString): TEncoding; overload;
function FileCharSetToEncoding(CharSet: TTntStreamCharSet): TEncoding;
+function WideStartsText(const ASubText, AText: WideString): Boolean;
+function WideEndsText(const ASubText, AText: WideString): Boolean;
+
// for Delphi 6
function ValueFromIndex(S: TTntStrings; i: integer): WideString; overload;
function ValueFromIndex(S: TStrings; i: integer): AnsiString; overload;
@@ -79,7 +82,7 @@
implementation
uses
Windows, Forms, Dialogs, Math, Registry, StdCtrls, ExtCtrls, TypInfo,
- WideIniFiles, Menus, Consts, ShFolder,
+ WideIniFiles, Menus, Consts, ShFolder, StrUtils,
CommonUtils, ShlObj, ActiveX, TbxUxThemes,
TntWindows, TntSysUtils, TntWideStrUtils;
@@ -100,7 +103,8 @@
end;
function AutoDetectCharacterSet(const Filename: WideString): TEncoding;
-var F: TTntFileStream;
+var
+ F: TTntFileStream;
begin
F := TTntFileStream.Create(Filename, fmOpenRead or fmShareDenyNone);
try
@@ -121,6 +125,46 @@
end;
end;
+function WideStartsText(const ASubText, AText: WideString): Boolean;
+var
+ L, L2: Integer;
+begin
+ if not Win32PlatformIsUnicode then
+ Result := AnsiStartsText(ASubText, AText)
+ else
+ begin
+ L := Length(ASubText);
+ L2 := Length(AText);
+ if L > L2 then
+ Result := False
+ else
+ Result := CompareStringW(LOCALE_USER_DEFAULT, NORM_IGNORECASE,
+ PWideChar(AText), L, PWideChar(ASubText), L) = 2;
+ end;
+end;
+
+function WideEndsText(const ASubText, AText: WideString): Boolean;
+var
+ SubTextLocation: Integer;
+ P: PWideChar;
+begin
+ if not Win32PlatformIsUnicode then
+ Result := AnsiEndsText(ASubText, AText)
+ else
+ begin
+ SubTextLocation := Length(AText) - Length(ASubText) + 1;
+ if (SubTextLocation > 0) and (ASubText <> '') then
+ begin
+ P := PWIdeChar(AText);
+ Inc(P, SubTextLocation);
+ Result := CompareStringW(LOCALE_USER_DEFAULT, NORM_IGNORECASE, P, -1,
+ PWideChar(ASubText), -1) = 2;
+ end
+ else
+ Result := False;
+ end;
+end;
+
function GlobalLanguageFile: TAppLanguage;
begin
if FLanguageFile = nil then
@@ -146,7 +190,8 @@
function SHGetFolderPathW2(hwnd: HWND; csidl: Integer; hToken: THandle; dwFlags: DWord; pszPath: PWideChar): HRESULT; stdcall; external 'SHFolder.dll' name 'SHGetFolderPathW';
function WideSHGetFolderPath(hwnd: HWND; csidl: Integer; hToken: THandle; dwFlags: DWord; pszPath: PWideChar): HRESULT;
-var AnsiBuff: AnsiString;
+var
+ AnsiBuff: AnsiString;
begin
if Win32PlatformIsUnicode then
Result := SHGetFolderPathW2(hwnd, csidl, hToken, dwFlags, pszPath)
@@ -203,7 +248,8 @@
end;
function WideUpperCaseFirst(const S: WideString): WideString;
-var i: integer;
+var
+ i: integer;
begin
if S = '' then
Result := ''
@@ -320,7 +366,8 @@
end;
function GetCurrentYear: Integer;
-var Y, M, D: Word;
+var
+ Y, M, D: Word;
begin
DecodeDate(Date, Y, M, D);
Result := Y;
@@ -500,7 +547,8 @@
end;
function ValueFromIndex(S: TStrings; i: integer): AnsiString;
-var tmp: TTntStringlist;
+var
+ tmp: TTntStringlist;
begin
tmp := TTntStringlist.Create;
try
@@ -549,7 +597,8 @@
TAccessComboBox = class(TCustomComboBox);
procedure SetXPComboStyle(AControl: TControl);
-var i: integer;
+var
+ i: integer;
begin
if (AControl is TWinControl) then
for i := 0 to TWinControl(AControl).ControlCount - 1 do
@@ -595,7 +644,8 @@
end;
function GetClipboardString(const Section, Name, Value: WideString): WideString;
-var S: TTntStringlist;
+var
+ S: TTntStringlist;
begin
S := TTntStringlist.Create;
try
@@ -609,7 +659,8 @@
end;
function ParseClipboardString(const Str: WideString; out Section, Name, Value: WideString): boolean;
-var S: TTntStringlist;
+var
+ S: TTntStringlist;
begin
S := TTntStringlist.Create;
try
Modified: translator/trunk/src/MainFrm.pas
===================================================================
--- translator/trunk/src/MainFrm.pas 2006-12-14 20:17:01 UTC (rev 197)
+++ translator/trunk/src/MainFrm.pas 2006-12-15 09:54:13 UTC (rev 198)
@@ -610,7 +610,7 @@
implementation
uses
- ShellAPI, StrUtils, TntWindows, TntClipbrd, TntWideStrUtils,
+ ShellAPI, TntWindows, TntClipbrd, TntWideStrUtils,
{$IFDEF USEADDICTSPELLCHECKER}
ad3ParseEngine,
{$ENDIF USEADDICTSPELLCHECKER}
@@ -636,7 +636,6 @@
const Item: ITranslationItem);
begin
inherited Create;
- FreeObject := true;
FItem := Items.CreateItem;
FItem.Index := Item.Index;
FItem.Translated := Item.Translated;
@@ -802,6 +801,7 @@
begin
Result := true;
i := Pos(WideChar(' '), ACommand);
+
if i > 0 then
begin
tmp := trim(Copy(ACommand, 1, i - 1));
@@ -831,28 +831,40 @@
if (tmp2 = '') then
ErrMsg('SAVETRANS called with empty Filename', _(ClassName, SErrorCaption))
else
+ begin
+ ForceDirectories(ExtractFilePath(tmp2));
SaveTranslation(tmp2, feAnsi);
+ end;
end
else if WideSameText('SAVETRANSUC', tmp) then
begin
if (tmp2 = '') then
ErrMsg('SAVETRANSUC called with empty Filename', _(ClassName, SErrorCaption))
else
+ begin
+ ForceDirectories(ExtractFilePath(tmp2));
SaveTranslation(tmp2, feUnicode);
+ end;
end
else if WideSameText('SAVETRANSUTF8', tmp) then
begin
if (tmp2 = '') then
ErrMsg('SAVETRANSUTF8 called with empty Filename', _(ClassName, SErrorCaption))
else
+ begin
+ ForceDirectories(ExtractFilePath(tmp2));
SaveTranslation(tmp2, feUTF8);
+ end;
end
else if WideSameText('SAVEDICT', tmp) then
begin
if (tmp2 = '') then
ErrMsg('SAVEDICT called with empty Filename', _(ClassName, SErrorCaption))
else
+ begin
+ ForceDirectories(ExtractFilePath(tmp2));
SaveDictionary(tmp2);
+ end;
end
else if WideSameText('CREATEDICT', tmp) then
CreateDict(false)
@@ -1322,7 +1334,6 @@
end;
procedure TfrmMain.SetModified(const Value: boolean);
-
procedure ClearModified;
var i: integer;
begin
@@ -2472,6 +2483,7 @@
Result := CheckModified and CheckDictModified;
if not Result then
Exit;
+ lvTranslateStrings.Items.Count := 0; // clear
if acFullScreen.Checked then
acFullScreen.Execute;
DragAcceptFiles(Handle, false);
@@ -2723,6 +2735,9 @@
procedure TfrmMain.acUndoExecute(Sender: TObject);
begin
+// if (ActiveControl is TRichEdit) and TRichEdit(ActiveControl).CanUndo then
+// TRichEdit(ActiveControl).Undo
+// else
if FUndoList.CanUndo then
FUndoList.Undo
else if ActiveControl is TWinControl then
@@ -2926,7 +2941,7 @@
// we ignore most properties here
while (StartIndex >= 0) and (StartIndex < FTranslateFile.Items.Count) do
begin
- if AnsiStartsText(FindString, FTranslateFile.Items[StartIndex].Original) then
+ if WideStartsText(FindString, FTranslateFile.Items[StartIndex].Original) then
begin
Index := StartIndex;
Exit;
@@ -3065,6 +3080,7 @@
procedure TfrmMain.reTranslationKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
+ inherited;
if Key = VK_RETURN then
begin
if GlobalAppOptions.SaveOnReturn then
@@ -3316,26 +3332,28 @@
procedure TfrmMain.acReplaceEverywhereExecute(Sender: TObject);
var
+ AItem:ITranslationItem;
FOrig, FTrans: WideString;
i: integer;
+ FModified:boolean;
begin
SaveEditChanges;
- with SelectedListItem do
- begin
- FOrig := FTranslateFile.Items[Index].Original;
- FTrans := FTranslateFile.Items[Index].Translation;
- end;
+ FModified := false;
+ AItem := SelectedItem;
+ FOrig := AItem.Original;
+ FTrans := AItem.Translation;
for i := 0 to FTranslateFile.Items.Count - 1 do
begin
- if WideSameText(FOrig, FTranslateFile.Items[i].Original) then
+ if (AItem <> FTranslateFile.Items[i]) and WideSameText(FOrig, FTranslateFile.Items[i].Original) then
begin
AddUndo(FTranslateFile.Items[i], _(ClassName, SUndoEdit), cUndoEdit);
FTranslateFile.Items[i].Translation := FTrans;
FTranslateFile.Items[i].Translated := FTrans <> '';
- Modified := true;
+ FModified := true;
end;
end;
lvTranslateStrings.Refresh;
+ Modified := Modified or FModified;
end;
procedure TfrmMain.acMakeConsistentExecute(Sender: TObject);
@@ -3933,9 +3951,8 @@
procedure TfrmMain.mnuPluginsPopup(Sender: TTBCustomItem; FromLink: Boolean);
var
- i, AStatus, aVisibleCount: integer;
+ i, AStatus: integer;
begin
- aVisibleCount := 0;
for i := 0 to mnuPlugins.Count - 1 do
begin
with TExternalToolItem(mnuPlugins[i].Tag) do
@@ -3943,10 +3960,7 @@
mnuPlugins[i].Enabled := AStatus and TOOL_ENABLED = TOOL_ENABLED;
mnuPlugins[i].Checked := AStatus and TOOL_CHECKED = TOOL_CHECKED;
mnuPlugins[i].Visible := AStatus and TOOL_VISIBLE = TOOL_VISIBLE;
- if mnuPlugins[i].Visible then
- Inc(aVisibleCount);
end;
- // mnuPlugins.Visible := aVisibleCount > 0;
end;
function TfrmMain.MacroReplace(const AMacros: WideString): WideString;
@@ -4557,5 +4571,9 @@
BuildToolMenu(Sender);
end;
+
+
+
end.
+
Modified: translator/trunk/src/UndoList.pas
===================================================================
--- translator/trunk/src/UndoList.pas 2006-12-14 20:17:01 UTC (rev 197)
+++ translator/trunk/src/UndoList.pas 2006-12-15 09:54:13 UTC (rev 198)
@@ -23,10 +23,7 @@
SysUtils, Classes;
type
- TUndoData = class(TObject)
- protected
- FreeObject: boolean; // set to true if you want the item auto-freed
- end;
+ TUndoData = class(TObject);
TUndoItem = class;
@@ -93,18 +90,23 @@
end;
procedure TUndoItem.Clear;
-var i: integer;
+var
+ i: integer;
+ AItem:TUndoItem;
begin
if FItems <> nil then
begin
for i := 0 to FItems.Count - 1 do
- TUndoItem(FItems[i]).Free;
+ begin
+ AItem := TUndoItem(FItems[i]);
+ FItems[i] := nil;
+ FreeAndNil(AItem);
+ end;
FItems.Clear;
end;
end;
-constructor TUndoItem.Create(Data: TUndoData; Description: WideString;
- UndoType: integer);
+constructor TUndoItem.Create(Data: TUndoData; Description: WideString; UndoType: integer);
begin
inherited Create;
self.Data := Data;
@@ -122,8 +124,7 @@
begin
Clear;
FreeAndNil(FItems);
- if Assigned(FData) and FData.FreeObject then
- FreeAndNil(FData);
+ FreeAndNil(FData);
inherited Destroy;
end;
@@ -144,8 +145,10 @@
procedure TUndoList.Add(Data: TUndoData; Description: WideString;
UndoType: integer);
+var AItem:TUndoItem;
begin
- InternalAdd(TUndoItem.Create(Data, Description, UndoType));
+ AItem := TUndoItem.Create(Data, Description, UndoType);
+ InternalAdd(AItem);
end;
procedure TUndoList.BeginGroup(Description: WideString);
@@ -168,12 +171,18 @@
end;
procedure TUndoList.Clear;
-var i: integer;
+var
+ i: integer;
+ AItem:TUndoItem;
begin
if not Updating and Assigned(FItems) then
begin
for i := 0 to FItems.Count - 1 do
- TUndoItem(FItems[i]).Free;
+ begin
+ AItem := TUndoItem(FItems[i]);
+ FItems[i] := nil;
+ FreeAndNil(AItem);
+ end;
FItems.Clear;
end;
end;
@@ -198,7 +207,7 @@
FUpdateCount := 0;
Clear;
FreeAndNil(FItems);
- inherited;
+ inherited Destroy;
end;
procedure TUndoList.EndGroup;
@@ -230,7 +239,9 @@
end;
procedure TUndoList.Undo;
-var i: integer;
+var
+ i: integer;
+ AItem:TUndoItem;
begin
if not Updating and Assigned(FOnUndo) and (Current <> nil) then
begin
@@ -243,8 +254,10 @@
end
else
begin
- FOnUndo(self, Current);
- FItems.Remove(Current);
+ AItem := Current;
+ FOnUndo(self, AItem);
+ FItems.Remove(AItem);
+ FreeAndNil(AItem);
end;
end;
end;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pe...@us...> - 2006-12-20 14:27:28
|
Revision: 211
http://svn.sourceforge.net/initranslator/?rev=211&view=rev
Author: peter3
Date: 2006-12-20 06:27:27 -0800 (Wed, 20 Dec 2006)
Log Message:
-----------
Translator:
- after export, set items as not modified
Plugins (all):
- string replaced with WideString
POParser:
- implements ILocalizable
Modified Paths:
--------------
translator/trunk/src/FoxitPlugin/FoxitParserImpl.pas
translator/trunk/src/IBForumsPlugin/IBForumsParserImpl.pas
translator/trunk/src/MSDictParser/MSDictParserImpl.pas
translator/trunk/src/MSDictParser/MSDictParserImportFrm.pas
translator/trunk/src/MainFrm.pas
translator/trunk/src/MozillaPlugin/MozillaDTDImpl.pas
translator/trunk/src/MozillaPlugin/MozillaPropsImpl.pas
translator/trunk/src/OlegPlugin/OlegParserImpl.pas
translator/trunk/src/OpenOfficeGSIPlugin/OOGSIImportFrm.pas
translator/trunk/src/OpenOfficeGSIPlugin/OOGSIParserImpl.pas
translator/trunk/src/PHPNukePlugin/PHPNukeImpl.pas
translator/trunk/src/PHPPlugin/PHPParserImpl.pas
translator/trunk/src/POPlugin/POExportFrm.dfm
translator/trunk/src/POPlugin/POExportFrm.pas
translator/trunk/src/POPlugin/POParser.dpr
translator/trunk/src/POPlugin/POParser.res
translator/trunk/src/POPlugin/POParserImpl.pas
translator/trunk/src/PluginCommon/DualImportFrm.pas
translator/trunk/src/PluginCommon/PreviewExportFrm.pas
translator/trunk/src/PluginCommon/SingleImportFrm.pas
translator/trunk/src/PolyglotPlugin/PolyGlotParserImpl.pas
translator/trunk/src/SciTEPlugin/SciTEParserImpl.pas
translator/trunk/src/XLIFFPlugin/XLIFFParserImpl.pas
translator/trunk/src/XilisoftPlugin/XilisoftParserImpl.pas
Modified: translator/trunk/src/FoxitPlugin/FoxitParserImpl.pas
===================================================================
--- translator/trunk/src/FoxitPlugin/FoxitParserImpl.pas 2006-12-19 00:06:37 UTC (rev 210)
+++ translator/trunk/src/FoxitPlugin/FoxitParserImpl.pas 2006-12-20 14:27:27 UTC (rev 211)
@@ -26,7 +26,7 @@
TFoxitParser = class(TInterfacedObject, IUnknown, IFileParser)
private
FOldAppHandle: Cardinal;
- FOrigFile, FTransFile: string;
+ FOrigFile, FTransFile: WideString;
procedure LoadSettings;
procedure SaveSettings;
procedure BuildPreview(Items: ITranslationItems; Strings: TTntStrings);
Modified: translator/trunk/src/IBForumsPlugin/IBForumsParserImpl.pas
===================================================================
--- translator/trunk/src/IBForumsPlugin/IBForumsParserImpl.pas 2006-12-19 00:06:37 UTC (rev 210)
+++ translator/trunk/src/IBForumsPlugin/IBForumsParserImpl.pas 2006-12-20 14:27:27 UTC (rev 211)
@@ -33,10 +33,10 @@
FOldHandle: LongWord;
FCount: integer;
FAppServices: IApplicationServices;
- FOrigFile, FTransFile: string;
+ FOrigFile, FTransFile: WideString;
FExportRect: TRect;
procedure BuildPreview(const Items: ITranslationItems; Strings: TTntStrings);
- function DoImport(const Items, Orphans: ITranslationItems; const OrigFile, TransFile: string): boolean;
+ function DoImport(const Items, Orphans: ITranslationItems; const OrigFile, TransFile: WideString): boolean;
procedure LoadSettings;
procedure SaveSettings;
function Translate(const Value: WideString): WideString;
@@ -65,13 +65,13 @@
FHeader, FFooter: TTntStringlist;
const
- cPHPFilter = 'PHP files (*.php)|*.php|All files (*.*)|*.*';
- cIBFExportTitle = 'Export to IB Forums language file';
- cIBFImportTitle = 'Import from IB Forums language file';
- cSectionName = 'IB Forums';
- SImportError = 'There was an error importing, please check the files and try again';
- SError = 'IB Forums Parser Error';
- SFmtErrorMsg = '%s';
+ cPHPFilter:WideString = 'PHP files (*.php)|*.php|All files (*.*)|*.*';
+ cIBFExportTitle:WideString = 'Export to IB Forums language file';
+ cIBFImportTitle:WideString = 'Import from IB Forums language file';
+ cSectionName:WideString = 'IB Forums';
+ SImportError:WideString = 'There was an error importing, please check the files and try again';
+ SError:WideString = 'IB Forums Parser Error';
+ SFmtErrorMsg:WideString = '%s';
function MyWideDequotedStr(const S: WideString; Quote: WideChar): WideString;
@@ -84,9 +84,9 @@
Result := Copy(S, 2, Length(S) - 2)
end;
-procedure ShowError(const Text: string);
+procedure ShowError(const Text: WideString);
begin
- Application.MessageBox(PChar(Format(SFmtErrorMsg, [Text])), PChar(SError), MB_OK or MB_ICONERROR);
+ WideMessageBox(GetActiveWindow, PWideChar(WideFormat(SFmtErrorMsg, [Text])), PWideChar(SError), MB_OK or MB_ICONERROR);
end;
{ TIBFParser }
@@ -152,18 +152,18 @@
end;
function TIBFParser.DoImport(const Items, Orphans: ITranslationItems;
- const OrigFile, TransFile: string): boolean;
+ const OrigFile, TransFile: WideString): boolean;
var
S: TTntStringList;
HeaderComplete: boolean;
i: integer;
FOldSort: TTranslateSortType;
- function ParseRow(const S: string; IsTranslation, TranslateFormat: boolean): boolean;
+ function ParseRow(const S: WideString; IsTranslation, TranslateFormat: boolean): boolean;
var
T: ITranslationItem;
i: integer;
- tmp, tmp2: Widestring;
+ tmp, tmp2: WideString;
begin
Result := false;
if not TranslateFormat then
Modified: translator/trunk/src/MSDictParser/MSDictParserImpl.pas
===================================================================
--- translator/trunk/src/MSDictParser/MSDictParserImpl.pas 2006-12-19 00:06:37 UTC (rev 210)
+++ translator/trunk/src/MSDictParser/MSDictParserImpl.pas 2006-12-20 14:27:27 UTC (rev 211)
@@ -39,7 +39,7 @@
function AddCopyright: boolean;
function Translate(const Value: WideString): WideString;
protected
- FTransFile: string;
+ FTransFile: WideString;
procedure LoadSettings;
procedure SaveSettings;
procedure BuildPreview(Items: ITranslationItems; Strings: TTntStrings);
Modified: translator/trunk/src/MSDictParser/MSDictParserImportFrm.pas
===================================================================
--- translator/trunk/src/MSDictParser/MSDictParserImportFrm.pas 2006-12-19 00:06:37 UTC (rev 210)
+++ translator/trunk/src/MSDictParser/MSDictParserImportFrm.pas 2006-12-20 14:27:27 UTC (rev 211)
@@ -44,8 +44,8 @@
function Translate(const Value:WideString):WideString;
public
{ Public declarations }
- class function Execute(var AFilename: string; var SkipLines: integer; const ACaption, Filter, InitialDir, DefaultExt: string): boolean;overload;
- class function Execute(const ApplicationServices:IApplicationServices; var AFilename: string; var SkipLines: integer; const ACaption, Filter, InitialDir, DefaultExt: string): boolean;overload;
+ class function Execute(var AFilename: WideString; var SkipLines: integer; const ACaption, Filter, InitialDir, DefaultExt: WideString): boolean;overload;
+ class function Execute(const ApplicationServices:IApplicationServices; var AFilename: WideString; var SkipLines: integer; const ACaption, Filter, InitialDir, DefaultExt: WideString): boolean;overload;
function GetString(out Section: WideString; out Name: WideString; out Value: WideString): WordBool; safecall;
end;
@@ -55,8 +55,8 @@
{ TfrmImport }
-class function TfrmImport.Execute(var AFilename: string; var SkipLines: integer;
- const ACaption, Filter, InitialDir, DefaultExt: string): boolean;
+class function TfrmImport.Execute(var AFilename: WideString; var SkipLines: integer;
+ const ACaption, Filter, InitialDir, DefaultExt: WideString): boolean;
begin
Result := Execute(nil, AFilename, SkipLines, ACaption, Filter, InitialDir, DefaultExt);
end;
@@ -69,9 +69,9 @@
end;
class function TfrmImport.Execute(
- const ApplicationServices: IApplicationServices; var AFilename: string;
+ const ApplicationServices: IApplicationServices; var AFilename: WideString;
var SkipLines: integer; const ACaption, Filter, InitialDir,
- DefaultExt: string): boolean;
+ DefaultExt: WideString): boolean;
var
frmImport: TfrmImport;
begin
Modified: translator/trunk/src/MainFrm.pas
===================================================================
--- translator/trunk/src/MainFrm.pas 2006-12-19 00:06:37 UTC (rev 210)
+++ translator/trunk/src/MainFrm.pas 2006-12-20 14:27:27 UTC (rev 211)
@@ -479,9 +479,12 @@
function CheckDictModified: boolean;
function CheckOrphans: boolean;
procedure LoadSettings(FirstLoad: boolean);
+ procedure SetUpLangFile;
+ procedure LoadTranslate;
procedure SaveSettings;
+ procedure CreateEverything;
+ procedure FreeEverything;
function CloseApp: boolean;
- procedure LoadTranslate;
function LoadOriginal(const FileName: WideString; Encoding: TEncoding): TEncoding;
function LoadTranslation(const FileName: WideString; Encoding: TEncoding): TEncoding;
function SaveTranslation(const FileName: WideString; Encoding: TEncoding; const InsertHeader: boolean = false; const InsertFooter: boolean = false): boolean;
@@ -574,7 +577,7 @@
function GetItems: ITranslationItems;
function GetOrphans: ITranslationItems;
function GetAppHandle: Cardinal;
- function GetMainFormHandle:Cardinal;
+ function GetMainFormHandle: Cardinal;
function GetDictionaryItems: IDictionaryItems;
function GetHeader: WideString;
procedure SetHeader(const Value: WideString);
@@ -619,7 +622,14 @@
DictEditFrm, ColorsFrm;
{$R *.dfm}
+var
+ FApplicationServices: IApplicationServices = nil;
+function InternalApplicationServicesFunc: IApplicationServices;
+begin
+ Result := FApplicationServices;
+end;
+
type
TTranslationUndoItem = class(TUndoData)
private
@@ -791,8 +801,6 @@
end;
end;
-
-
function TfrmMain.ProcessCommand(const ACommand: WideString): boolean;
var
tmp, tmp2: WideString;
@@ -1333,7 +1341,8 @@
end;
procedure TfrmMain.SetModified(const Value: boolean);
- procedure ClearModified;
+
+procedure ClearModified;
var i: integer;
begin
for i := 0 to FTranslateFile.Items.Count - 1 do
@@ -1564,7 +1573,7 @@
if GlobalAppOptions.MonitorFiles and WideFileExists(AFileName) then
begin
StopMonitor(AMonitor);
- AMonitor := TFileMonitorThread.Create(AFileName);
+ AMonitor := TFileMonitorThread.Create(AFileName, 1000);
AMonitor.FreeOnTerminate := true;
AMonitor.OnTerminate := DoThreadTerminate;
AMonitor.OnChange := DoMonitoredFileChange;
@@ -1681,18 +1690,18 @@
var
i: integer;
S: WideString;
- {$IFDEF USEADDICTSPELLCHECKER}
- l:TSpellLanguageString;
- {$ENDIF}
+{$IFDEF USEADDICTSPELLCHECKER}
+ l: TSpellLanguageString;
+{$ENDIF}
begin
- {$IFDEF USEADDICTSPELLCHECKER}
+{$IFDEF USEADDICTSPELLCHECKER}
// add all spellchecker strings
for l := Low(TSpellLanguageString) to High(TSpellLanguageString) do
begin
S := EncodeStrings(ad3SpellLanguages.GetString(l, ltEnglish));
ini.WriteString('SpellChecker', S, S);
end;
- {$ENDIF}
+{$ENDIF}
// write out all resourcestrings
ini.WriteString(ClassName, EncodeStrings(SFmtAboutText), EncodeStrings(SFmtAboutText));
@@ -2415,25 +2424,8 @@
Close;
end;
-var
- FApplicationServices: IApplicationServices = nil;
-
-function InternalApplicationServicesFunc: IApplicationServices;
+procedure TfrmMain.SetUpLangFile;
begin
- Result := FApplicationServices;
-end;
-
-procedure TfrmMain.FormCreate(Sender: TObject);
-begin
- ScreenCursor(crAppStart);
- FApplicationServices := TApplicationServices.Create(self);
- GlobalApplicationServicesFunc := @InternalApplicationServicesFunc;
- FTranslateFile := TTranslateFiles.Create;
- FFindReplace := TFindReplace.Create(Self);
- FDictionary := TDictionaryItems.Create;
-
- ClearBookmarks;
-
GlobalLanguageFile.OnRead := DoReadObject;
GlobalLanguageFile.SkipProperty('Name');
GlobalLanguageFile.SkipProperty('Category');
@@ -2464,33 +2456,23 @@
GlobalLanguageFile.SkipClass(TProgressBar);
GlobalLanguageFile.SkipClass(TTBXSeparatorItem);
GlobalLanguageFile.SkipClass(TTBXComboBoxItem);
- DragAcceptFiles(Handle, true);
- ToolbarFont.CharSet := DEFAULT_CHARSET;
- SetLength(FFileMonitors, 3);
+end;
- LoadSettings(true);
- BuildExternalToolMenu(mnuPlugins);
+procedure TfrmMain.CreateEverything;
+begin
+ FApplicationServices := TApplicationServices.Create(self);
+ GlobalApplicationServicesFunc := @InternalApplicationServicesFunc;
+ FTranslateFile := TTranslateFiles.Create;
+ FFindReplace := TFindReplace.Create(Self);
+ FDictionary := TDictionaryItems.Create;
- HandleCommandLine;
- UpdateStatus;
- Windows.SetFocus(reTranslation.Handle);
- // strange bug here: form picks up "Show about box" hint (something to do with TBX maybe?)
- Hint := '';
+ ClearBookmarks;
+ SetUpLangFile;
end;
-function TfrmMain.CloseApp:boolean;
-var
- i: integer;
+procedure TfrmMain.FreeEverything;
+var i:integer;
begin
- Result := CheckModified and CheckDictModified;
- if not Result then
- Exit;
- lvTranslateStrings.Items.Count := 0; // clear
- if acFullScreen.Checked then
- acFullScreen.Execute;
- DragAcceptFiles(Handle, false);
- SaveEditChanges;
- SaveSettings;
FreeAndNil(FNotify);
FreeAndNil(FTranslateFile);
FreeAndNil(FDictionary);
@@ -2502,10 +2484,45 @@
FFileMonitors[i].FreeOnTerminate := false;
FFileMonitors[i].Terminate;
FFileMonitors[i].Free;
+ FFileMonitors[i] := nil;
end;
FApplicationServices := nil;
end;
+procedure TfrmMain.FormCreate(Sender: TObject);
+begin
+ ScreenCursor(crAppStart);
+ CreateEverything;
+
+ DragAcceptFiles(Handle, true);
+ ToolbarFont.CharSet := DEFAULT_CHARSET;
+ SetLength(FFileMonitors, 3);
+
+ LoadSettings(true);
+ BuildExternalToolMenu(mnuPlugins);
+
+ HandleCommandLine;
+ UpdateStatus;
+ Windows.SetFocus(reTranslation.Handle);
+ // strange bug here: form picks up "Show about box" hint (something to do with TBX maybe?)
+ Hint := '';
+end;
+
+function TfrmMain.CloseApp: boolean;
+begin
+ Result := CheckModified and CheckDictModified;
+ if Result then
+ begin
+ lvTranslateStrings.Items.Count := 0; // clear
+ if acFullScreen.Checked then
+ acFullScreen.Execute;
+ DragAcceptFiles(Handle, false);
+ SaveEditChanges;
+ SaveSettings;
+ FreeEverything;
+ end;
+end;
+
procedure TfrmMain.FormCloseQuery(Sender: TObject; var CanClose: boolean);
begin
WaitCursor;
@@ -3336,10 +3353,10 @@
procedure TfrmMain.acReplaceEverywhereExecute(Sender: TObject);
var
- AItem:ITranslationItem;
+ AItem: ITranslationItem;
FOrig, FTrans: WideString;
i: integer;
- FModified:boolean;
+ FModified: boolean;
begin
SaveEditChanges;
FModified := false;
@@ -3422,7 +3439,7 @@
function IsSameEndControl(const Original, Translation: WideString): boolean;
begin
Result := not GlobalAppOptions.MisMatchEndControl
- or WideSameStr(EndControl(Original), EndControl(Translation));
+ or WideSameStr(EndControl(Original), EndControl(Translation));
end;
function CountMisMatch(const Original, Translation: WideString): boolean;
@@ -3547,6 +3564,7 @@
Modified := true;
NotifyChanged(NOTIFY_ITEM_IMPORT, 0, 0);
end;
+ reTranslation.Modified := false;
lvTranslateStrings.Items.Count := FTranslateFile.Items.Count;
ScrollToTop;
lvTranslateStrings.Invalidate;
@@ -3566,6 +3584,7 @@
begin
NotifyChanged(NOTIFY_ITEM_EXPORT, 0, 0);
lvTranslateStrings.Items.Count := FTranslateFile.Items.Count;
+ Modified := false;
end;
end;
@@ -4576,9 +4595,5 @@
BuildToolMenu(Sender);
end;
-
-
-
end.
-
Modified: translator/trunk/src/MozillaPlugin/MozillaDTDImpl.pas
===================================================================
--- translator/trunk/src/MozillaPlugin/MozillaDTDImpl.pas 2006-12-19 00:06:37 UTC (rev 210)
+++ translator/trunk/src/MozillaPlugin/MozillaDTDImpl.pas 2006-12-20 14:27:27 UTC (rev 211)
@@ -27,7 +27,7 @@
FOldAppHandle: Cardinal;
FCount: integer;
FAppServices: IApplicationServices;
- FOrigFile, FTransFile: string;
+ FOrigFile, FTransFile: WideString;
procedure LoadSettings;
procedure SaveSettings;
procedure BuildPreview(Items: ITranslationItems; Strings: TTntStrings);
Modified: translator/trunk/src/MozillaPlugin/MozillaPropsImpl.pas
===================================================================
--- translator/trunk/src/MozillaPlugin/MozillaPropsImpl.pas 2006-12-19 00:06:37 UTC (rev 210)
+++ translator/trunk/src/MozillaPlugin/MozillaPropsImpl.pas 2006-12-20 14:27:27 UTC (rev 211)
@@ -26,7 +26,7 @@
FOldAppHandle: Cardinal;
FCount: integer;
FAppServices: IApplicationServices;
- FOrigFile, FTransFile: string;
+ FOrigFile, FTransFile: WideString;
FExportRect: TRect;
procedure LoadSettings;
procedure SaveSettings;
Modified: translator/trunk/src/OlegPlugin/OlegParserImpl.pas
===================================================================
--- translator/trunk/src/OlegPlugin/OlegParserImpl.pas 2006-12-19 00:06:37 UTC (rev 210)
+++ translator/trunk/src/OlegPlugin/OlegParserImpl.pas 2006-12-20 14:27:27 UTC (rev 211)
@@ -26,7 +26,7 @@
FOldAppHandle: Cardinal;
FAppServices: IApplicationServices;
FCount: integer;
- FTransFile: string;
+ FTransFile: WideString;
procedure LoadSettings;
procedure SaveSettings;
procedure BuildPreview(Items: ITranslationItems; Strings: TTntStrings);
Modified: translator/trunk/src/OpenOfficeGSIPlugin/OOGSIImportFrm.pas
===================================================================
--- translator/trunk/src/OpenOfficeGSIPlugin/OOGSIImportFrm.pas 2006-12-19 00:06:37 UTC (rev 210)
+++ translator/trunk/src/OpenOfficeGSIPlugin/OOGSIImportFrm.pas 2006-12-20 14:27:27 UTC (rev 211)
@@ -48,8 +48,8 @@
procedure SaveSettings;
public
{ Public declarations }
- class function Execute(var AOriginalFile, ATranslationFile: string;
- var OrigIsDualLine, SearchTrans:boolean; const ACaption, Filter, InitialDir, DefaultExt: string): boolean;
+ class function Execute(var AOriginalFile, ATranslationFile: WideString;
+ var OrigIsDualLine, SearchTrans:boolean; const ACaption, Filter, InitialDir, DefaultExt: WideString): boolean;
end;
implementation
@@ -60,8 +60,8 @@
{ TfrmImport }
-class function TfrmImport.Execute(var AOriginalFile, ATranslationFile: string;
- var OrigIsDualLine, SearchTrans:boolean; const ACaption, Filter, InitialDir, DefaultExt: string): boolean;
+class function TfrmImport.Execute(var AOriginalFile, ATranslationFile: WideString;
+ var OrigIsDualLine, SearchTrans:boolean; const ACaption, Filter, InitialDir, DefaultExt: WideString): boolean;
var
frmImport: TfrmImport;
begin
Modified: translator/trunk/src/OpenOfficeGSIPlugin/OOGSIParserImpl.pas
===================================================================
--- translator/trunk/src/OpenOfficeGSIPlugin/OOGSIParserImpl.pas 2006-12-19 00:06:37 UTC (rev 210)
+++ translator/trunk/src/OpenOfficeGSIPlugin/OOGSIParserImpl.pas 2006-12-20 14:27:27 UTC (rev 211)
@@ -33,7 +33,7 @@
FOldHandle: LongWord;
FAppServices: IApplicationServices;
FCount: integer;
- FOrigFile, FTransFile: string;
+ FOrigFile, FTransFile: WideString;
FOrigIsDual, FSearchTrans: boolean;
FExportRect: TRect;
procedure BuildPreview(const Items: ITranslationItems; Strings: TTntStrings);
Modified: translator/trunk/src/PHPNukePlugin/PHPNukeImpl.pas
===================================================================
--- translator/trunk/src/PHPNukePlugin/PHPNukeImpl.pas 2006-12-19 00:06:37 UTC (rev 210)
+++ translator/trunk/src/PHPNukePlugin/PHPNukeImpl.pas 2006-12-20 14:27:27 UTC (rev 211)
@@ -28,7 +28,7 @@
FOldHandle: Cardinal;
FAppServices: IApplicationServices;
FCount: integer;
- FOrigFile, FTransFile: string;
+ FOrigFile, FTransFile: WideString;
procedure LoadSettings;
procedure SaveSettings;
function Translate(const Value: WideString): WideString;
@@ -206,7 +206,7 @@
var
T: ITranslationItem;
S: TTntStringlist;
- Cmt: string;
+ Cmt: WideString;
i: integer;
function ParseLine(const S, Cmt: WideString; const Items: ITranslationItems; IsTranslation: boolean): ITranslationItem;
Modified: translator/trunk/src/PHPPlugin/PHPParserImpl.pas
===================================================================
--- translator/trunk/src/PHPPlugin/PHPParserImpl.pas 2006-12-19 00:06:37 UTC (rev 210)
+++ translator/trunk/src/PHPPlugin/PHPParserImpl.pas 2006-12-20 14:27:27 UTC (rev 211)
@@ -34,10 +34,10 @@
FOldHandle: LongWord;
FCount: integer;
FAppServices: IApplicationServices;
- FOrigFile, FTransFile: string;
+ FOrigFile, FTransFile: WideString;
FExportRect: TRect;
procedure BuildPreview(const Items: ITranslationItems; Strings: TTntStrings);
- function DoPHPImport(const Items, Orphans: ITranslationItems; const OrigFile, TransFile: string): boolean;
+ function DoPHPImport(const Items, Orphans: ITranslationItems; const OrigFile, TransFile: WideString): boolean;
procedure LoadSettings;
procedure SaveSettings;
function Translate(const Value: WideString): WideString;
@@ -65,14 +65,14 @@
SError = 'PHP Parser Error';
cSectionName = 'php';
-function YesNo(const Text, Caption: string): boolean;
+function YesNo(const Text, Caption: WideString): boolean;
begin
- Result := Application.MessageBox(PChar(Text), PChar(Caption), MB_YESNO or MB_ICONQUESTION) = IDYES;
+ Result := WideMessageBox(GetActiveWindow, PWideChar(Text), PWideChar(Caption), MB_YESNO or MB_ICONQUESTION) = IDYES;
end;
-procedure ShowError(const Text: string);
+procedure ShowError(const Text: WideString);
begin
- Application.MessageBox(PChar('There was an error:'#13#10 + Text), PChar('PHP Error'), MB_OK or MB_ICONERROR);
+ WideMessageBox(GetActiveWindow, PWideChar('There was an error:'#13#10 + Text), PWideChar(WideString('PHP Error')), MB_OK or MB_ICONERROR);
end;
{ TPHPParser }
@@ -132,17 +132,17 @@
end;
function TPHPParser.DoPHPImport(const Items, Orphans: ITranslationItems;
- const OrigFile, TransFile: string): boolean;
+ const OrigFile, TransFile: WideString): boolean;
var
S: TTntStringList;
i, j: integer;
FOldSort: TTranslateSortType;
- function ParseRow(const S: string; AIndex: integer; IsTranslation: boolean): boolean;
+ function ParseRow(const S: WideString; AIndex: integer; IsTranslation: boolean): boolean;
type
TParseState = (stNone, stDollar, stEqual, stFirstQuote, stLastQuote, stSemi);
var
- AName, AStr: string;
+ AName, AStr: WideString;
State: TParseState;
i, j: integer;
begin
Modified: translator/trunk/src/POPlugin/POExportFrm.dfm
===================================================================
--- translator/trunk/src/POPlugin/POExportFrm.dfm 2006-12-19 00:06:37 UTC (rev 210)
+++ translator/trunk/src/POPlugin/POExportFrm.dfm 2006-12-20 14:27:27 UTC (rev 211)
@@ -54,7 +54,7 @@
266)
PixelsPerInch = 96
TextHeight = 13
- object Label1: TTntLabel
+ object lblFilename: TTntLabel
Left = 8
Top = 8
Width = 46
@@ -62,7 +62,7 @@
Caption = '&Filename:'
FocusControl = edFilename
end
- object Label3: TTntLabel
+ object lblPreview: TTntLabel
Left = 8
Top = 54
Width = 91
Modified: translator/trunk/src/POPlugin/POExportFrm.pas
===================================================================
--- translator/trunk/src/POPlugin/POExportFrm.pas 2006-12-19 00:06:37 UTC (rev 210)
+++ translator/trunk/src/POPlugin/POExportFrm.pas 2006-12-20 14:27:27 UTC (rev 211)
@@ -28,13 +28,13 @@
type
TfrmPOExport = class(TTntForm)
- Label1: TTntLabel;
+ lblFilename: TTntLabel;
edFilename: TTntEdit;
btnBrowse: TTntButton;
btnOK: TTntButton;
btnCancel: TTntButton;
rePreview: TTntRichEdit;
- Label3: TTntLabel;
+ lblPreview: TTntLabel;
alPOExport: TTntActionList;
acSaveFile: TTntAction;
SaveDialog1: TTntSaveDialog;
@@ -52,6 +52,8 @@
end;
implementation
+uses
+ POParserConsts;
{$R *.dfm}
@@ -93,8 +95,14 @@
rePreview.SelStart := 0;
SendMessage(rePreview.Handle, EM_SCROLLCARET, 0, 0);
chkCompileMO.Checked := CompileMO;
+ Caption := Translate(SFormCaption);
+ lblFileName.Caption := Translate(SFileNameLabel);
+ lblPreview.Caption := Translate(SPreviewLabel);
+ chkCompileMO.Caption := Translate(SCompileMOCaption);
+ btnBrowse.Caption := Translate(SBrowseCaption);
+ btnOK.Caption := Translate(SOK);
+ btnCancel.Caption := Translate(SCancel);
Result := ShowModal = mrOK;
-
if Result then
begin
AFilename := edFilename.Text;
Modified: translator/trunk/src/POPlugin/POParser.dpr
===================================================================
--- translator/trunk/src/POPlugin/POParser.dpr 2006-12-19 00:06:37 UTC (rev 210)
+++ translator/trunk/src/POPlugin/POParser.dpr 2006-12-20 14:27:27 UTC (rev 211)
@@ -25,7 +25,8 @@
TransIntf in '..\TransIntf.pas',
POExportFrm in 'POExportFrm.pas' {frmPOExport},
POParserImpl in 'POParserImpl.pas',
- CommonUtils in '..\CommonUtils.pas';
+ CommonUtils in '..\CommonUtils.pas',
+ POParserConsts in 'POParserConsts.pas';
{$R *.res}
function InstallPlugin(out Parser:IFileParser):HResult;stdcall;
Modified: translator/trunk/src/POPlugin/POParser.res
===================================================================
(Binary files differ)
Modified: translator/trunk/src/POPlugin/POParserImpl.pas
===================================================================
--- translator/trunk/src/POPlugin/POParserImpl.pas 2006-12-19 00:06:37 UTC (rev 210)
+++ translator/trunk/src/POPlugin/POParserImpl.pas 2006-12-20 14:27:27 UTC (rev 211)
@@ -18,15 +18,14 @@
unit POParserImpl;
-
interface
uses
Windows, Forms, TntClasses, TntSysUtils, TransIntf;
type
- TPOFileParser = class(TInterfacedObject, IUnknown, IFileParser)
+ TPOFileParser = class(TInterfacedObject, IUnknown, IFileParser, ILocalizable)
private
- FOldHandle: LongWord;
+ FIndex: integer;
FFilename, FCmdLine: string;
FCompileMO: Boolean;
procedure LoadSettings;
@@ -36,31 +35,21 @@
const Filename: string);
procedure MakePOFile(const Items: ITranslationItems; Header, Result: TTntStrings);
public
- constructor Create;
- destructor Destroy; override;
function Capabilities: Integer; safecall;
function Configure(Capability: integer): HResult; safecall;
function DisplayName(Capability: integer): WideString; safecall;
function ExportItems(const Items, Orphans: ITranslationItems): HResult; safecall;
function ImportItems(const Items, Orphans: ITranslationItems): HResult; safecall;
procedure Init(const ApplicationServices: IApplicationServices); safecall;
+ function GetString(out Section: WideString; out Name: WideString;
+ out Value: WideString): WordBool; safecall;
+
end;
implementation
uses
- CommonUtils, SysUtils, Classes, Controls, Dialogs, IniFiles, POExportFrm;
+ CommonUtils, SysUtils, Classes, Controls, Dialogs, IniFiles, POExportFrm, POParserConsts;
-const
- cDefaultHeader =
- 'Project-Id-Version: <PROJECT>\n' +
- 'POT-Creation-Date: 2003-05-20 12:17\n' +
- 'PO-Revision-Date: 2003-09-23 09:24+0100\n' +
- 'Last-Translator: <none>\n' +
- 'Language-Team: Unknown <unknown>\n' +
- 'MIME-Version: 1.0\n' +
- 'Content-Type: text/plain; charset=UTF-8\n' +
- 'Content-Transfer-Encoding: 8bit';
-
var
FHeader: TTntStringList;
@@ -101,27 +90,12 @@
Result := S_OK;
end;
-constructor TPOFileParser.Create;
-begin
- inherited Create;
- FOldHandle := Application.Handle;
- FCmdLine := 'msgfmt "%i" -o "%o"';
-
-// FHeader.Text := cDefaultHeader;
-end;
-
-destructor TPOFileParser.Destroy;
-begin
- Application.Handle := FOldHandle;
- inherited;
-end;
-
function TPOFileParser.DisplayName(Capability: integer): WideString;
begin
case Capability of
- CAP_IMPORT: Result := 'Import from PO file';
- CAP_EXPORT: Result := 'Export to PO file';
- CAP_CONFIGURE: Result := 'Configure PO parser';
+ CAP_IMPORT: Result := Translate(SImportTitle);
+ CAP_EXPORT: Result := Translate(SExportTitle);
+ CAP_CONFIGURE: Result := Translate(SConfigureTitle);
else
Result := '';
end;
@@ -204,16 +178,17 @@
i := 0;
while i < S.Count do
begin
- if AnsiPos('#', S[i]) = 1 then
+ if Pos('#', S[i]) = 1 then
FComments.Add(S[i])
- else if AnsiPos('msgid', WideLowerCase(S[i])) = 1 then
+ else if Pos('msgid', WideLowerCase(S[i])) = 1 then
begin
AnItem.Original := trimQuotes(trim(Copy(S[i], 6, MaxInt)), '"');
while true do
begin
Inc(i);
- if i >= S.Count then Break;
- if AnsiPos('"', trim(S[i])) = 1 then
+ if i >= S.Count then
+ Break;
+ if Pos('"', trim(S[i])) = 1 then
AnItem.Original := AnItem.Original + trimQuotes(trim(S[i]), '"')
else
begin
@@ -222,14 +197,15 @@
end;
end;
end
- else if AnsiPos('msgstr', AnsiLowerCase(S[i])) = 1 then
+ else if Pos('msgstr', AnsiLowerCase(S[i])) = 1 then
begin
AnItem.Translation := trimQuotes(trim(Copy(S[i], 7, MaxInt)), '"');
while true do
begin
Inc(i);
- if i >= S.Count then Break;
- if AnsiPos('"', trim(S[i])) = 1 then
+ if i >= S.Count then
+ Break;
+ if Pos('"', trim(S[i])) = 1 then
AnItem.Translation := AnItem.Translation + trimQuotes(trim(S[i]), '"')
else
begin
@@ -349,7 +325,7 @@
try
Filename := AFilename;
Options := Options + [ofFileMustExist];
- Filter := 'PO files|*.po|All files|*.*';
+ Filter := Translate(SFileFilter);
if Execute then
Result := Filename
else
@@ -363,7 +339,7 @@
try
Filename := AFilename;
Options := Options + [ofOverwritePrompt];
- Filter := 'PO files|*.po|All files|*.*';
+ Filter := ...
[truncated message content] |
|
From: <pe...@us...> - 2006-12-20 14:30:37
|
Revision: 212
http://svn.sourceforge.net/initranslator/?rev=212&view=rev
Author: peter3
Date: 2006-12-20 06:30:34 -0800 (Wed, 20 Dec 2006)
Log Message:
-----------
Added Paths:
-----------
translator/trunk/src/KeePassPlugin/
translator/trunk/src/KeePassPlugin/KeePassParser.bdsproj
translator/trunk/src/KeePassPlugin/KeePassParser.dof
translator/trunk/src/KeePassPlugin/KeePassParser.dpr
translator/trunk/src/KeePassPlugin/KeePassParser.res
translator/trunk/src/KeePassPlugin/KeePassParserImpl.pas
translator/trunk/src/KeePassPlugin/KeePassParserLang.pas
Added: translator/trunk/src/KeePassPlugin/KeePassParser.bdsproj
===================================================================
--- translator/trunk/src/KeePassPlugin/KeePassParser.bdsproj (rev 0)
+++ translator/trunk/src/KeePassPlugin/KeePassParser.bdsproj 2006-12-20 14:30:34 UTC (rev 212)
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="utf-8"?>
+<BorlandProject>
+ <PersonalityInfo>
+ <Option>
+ <Option Name="Personality">Delphi.Personality</Option>
+ <Option Name="ProjectType">VCLApplication</Option>
+ <Option Name="Version">1.0</Option>
+ <Option Name="GUID">{799B9BBC-09A7-41DA-A183-1F8FC43E692A}</Option>
+ </Option>
+ </PersonalityInfo>
+ <Delphi.Personality>
+ <Source>
+ <Source Name="MainSource">KeePassParser.dpr</Source>
+ </Source>
+ <FileVersion>
+ <FileVersion Name="Version">7.0</FileVersion>
+ </FileVersion>
+ <Compiler>
+ <Compiler Name="A">8</Compiler>
+ <Compiler Name="B">0</Compiler>
+ <Compiler Name="C">1</Compiler>
+ <Compiler Name="D">1</Compiler>
+ <Compiler Name="E">0</Compiler>
+ <Compiler Name="F">0</Compiler>
+ <Compiler Name="G">1</Compiler>
+ <Compiler Name="H">1</Compiler>
+ <Compiler Name="I">1</Compiler>
+ <Compiler Name="J">0</Compiler>
+ <Compiler Name="K">0</Compiler>
+ <Compiler Name="L">1</Compiler>
+ <Compiler Name="M">0</Compiler>
+ <Compiler Name="N">1</Compiler>
+ <Compiler Name="O">1</Compiler>
+ <Compiler Name="P">1</Compiler>
+ <Compiler Name="Q">0</Compiler>
+ <Compiler Name="R">0</Compiler>
+ <Compiler Name="S">0</Compiler>
+ <Compiler Name="T">0</Compiler>
+ <Compiler Name="U">0</Compiler>
+ <Compiler Name="V">1</Compiler>
+ <Compiler Name="W">0</Compiler>
+ <Compiler Name="X">1</Compiler>
+ <Compiler Name="Y">1</Compiler>
+ <Compiler Name="Z">1</Compiler>
+ <Compiler Name="ShowHints">True</Compiler>
+ <Compiler Name="ShowWarnings">True</Compiler>
+ <Compiler Name="UnitAliases">WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;</Compiler>
+ <Compiler Name="NamespacePrefix"></Compiler>
+ <Compiler Name="GenerateDocumentation">False</Compiler>
+ <Compiler Name="DefaultNamespace"></Compiler>
+ <Compiler Name="SymbolDeprecated">True</Compiler>
+ <Compiler Name="SymbolLibrary">True</Compiler>
+ <Compiler Name="SymbolPlatform">True</Compiler>
+ <Compiler Name="SymbolExperimental">True</Compiler>
+ <Compiler Name="UnitLibrary">True</Compiler>
+ <Compiler Name="UnitPlatform">True</Compiler>
+ <Compiler Name="UnitDeprecated">True</Compiler>
+ <Compiler Name="UnitExperimental">True</Compiler>
+ <Compiler Name="HResultCompat">True</Compiler>
+ <Compiler Name="HidingMember">True</Compiler>
+ <Compiler Name="HiddenVirtual">True</Compiler>
+ <Compiler Name="Garbage">True</Compiler>
+ <Compiler Name="BoundsError">True</Compiler>
+ <Compiler Name="ZeroNilCompat">True</Compiler>
+ <Compiler Name="StringConstTruncated">True</Compiler>
+ <Compiler Name="ForLoopVarVarPar">True</Compiler>
+ <Compiler Name="TypedConstVarPar">True</Compiler>
+ <Compiler Name="AsgToTypedConst">True</Compiler>
+ <Compiler Name="CaseLabelRange">True</Compiler>
+ <Compiler Name="ForVariable">True</Compiler>
+ <Compiler Name="ConstructingAbstract">True</Compiler>
+ <Compiler Name="ComparisonFalse">True</Compiler>
+ <Compiler Name="ComparisonTrue">True</Compiler>
+ <Compiler Name="ComparingSignedUnsigned">True</Compiler>
+ <Compiler Name="CombiningSignedUnsigned">True</Compiler>
+ <Compiler Name="UnsupportedConstruct">True</Compiler>
+ <Compiler Name="FileOpen">True</Compiler>
+ <Compiler Name="FileOpenUnitSrc">True</Compiler>
+ <Compiler Name="BadGlobalSymbol">True</Compiler>
+ <Compiler Name="DuplicateConstructorDestructor">True</Compiler>
+ <Compiler Name="InvalidDirective">True</Compiler>
+ <Compiler Name="PackageNoLink">True</Compiler>
+ <Compiler Name="PackageThreadVar">True</Compiler>
+ <Compiler Name="ImplicitImport">True</Compiler>
+ <Compiler Name="HPPEMITIgnored">True</Compiler>
+ <Compiler Name="NoRetVal">True</Compiler>
+ <Compiler Name="UseBeforeDef">True</Compiler>
+ <Compiler Name="ForLoopVarUndef">True</Compiler>
+ <Compiler Name="UnitNameMismatch">True</Compiler>
+ <Compiler Name="NoCFGFileFound">True</Compiler>
+ <Compiler Name="ImplicitVariants">True</Compiler>
+ <Compiler Name="UnicodeToLocale">True</Compiler>
+ <Compiler Name="LocaleToUnicode">True</Compiler>
+ <Compiler Name="ImagebaseMultiple">True</Compiler>
+ <Compiler Name="SuspiciousTypecast">True</Compiler>
+ <Compiler Name="PrivatePropAccessor">True</Compiler>
+ <Compiler Name="UnsafeType">False</Compiler>
+ <Compiler Name="UnsafeCode">False</Compiler>
+ <Compiler Name="UnsafeCast">False</Compiler>
+ <Compiler Name="OptionTruncated">True</Compiler>
+ <Compiler Name="WideCharReduced">True</Compiler>
+ <Compiler Name="DuplicatesIgnored">True</Compiler>
+ <Compiler Name="UnitInitSeq">True</Compiler>
+ <Compiler Name="LocalPInvoke">True</Compiler>
+ <Compiler Name="MessageDirective">True</Compiler>
+ <Compiler Name="CodePage"></Compiler>
+ </Compiler>
+ <Linker>
+ <Linker Name="MapFile">3</Linker>
+ <Linker Name="OutputObjs">0</Linker>
+ <Linker Name="GenerateHpps">False</Linker>
+ <Linker Name="ConsoleApp">1</Linker>
+ <Linker Name="DebugInfo">False</Linker>
+ <Linker Name="RemoteSymbols">True</Linker>
+ <Linker Name="GenerateDRC">False</Linker>
+ <Linker Name="MinStackSize">16384</Linker>
+ <Linker Name="MaxStackSize">1048576</Linker>
+ <Linker Name="ImageBase">4194304</Linker>
+ <Linker Name="ExeDescription"></Linker>
+ </Linker>
+ <Directories>
+ <Directories Name="OutputDir">..\..\bin\plugins</Directories>
+ <Directories Name="UnitOutputDir">..\..\dcu</Directories>
+ <Directories Name="PackageDLLOutputDir"></Directories>
+ <Directories Name="PackageDCPOutputDir"></Directories>
+ <Directories Name="SearchPath"></Directories>
+ <Directories Name="Packages"></Directories>
+ <Directories Name="Conditionals"></Directories>
+ <Directories Name="DebugSourceDirs"></Directories>
+ <Directories Name="UsePackages">False</Directories>
+ </Directories>
+ <Parameters>
+ <Parameters Name="RunParams"></Parameters>
+ <Parameters Name="HostApplication"></Parameters>
+ <Parameters Name="Launcher"></Parameters>
+ <Parameters Name="UseLauncher">False</Parameters>
+ <Parameters Name="DebugCWD"></Parameters>
+ <Parameters Name="Debug Symbols Search Path"></Parameters>
+ <Parameters Name="LoadAllSymbols">True</Parameters>
+ <Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
+ </Parameters>
+ <VersionInfo>
+ <VersionInfo Name="IncludeVerInfo">True</VersionInfo>
+ <VersionInfo Name="AutoIncBuild">False</VersionInfo>
+ <VersionInfo Name="MajorVer">1</VersionInfo>
+ <VersionInfo Name="MinorVer">9</VersionInfo>
+ <VersionInfo Name="Release">0</VersionInfo>
+ <VersionInfo Name="Build">41</VersionInfo>
+ <VersionInfo Name="Debug">False</VersionInfo>
+ <VersionInfo Name="PreRelease">False</VersionInfo>
+ <VersionInfo Name="Special">False</VersionInfo>
+ <VersionInfo Name="Private">False</VersionInfo>
+ <VersionInfo Name="DLL">True</VersionInfo>
+ <VersionInfo Name="Locale">1033</VersionInfo>
+ <VersionInfo Name="CodePage">1252</VersionInfo>
+ </VersionInfo>
+ <VersionInfoKeys>
+ <VersionInfoKeys Name="CompanyName">IniTranslator</VersionInfoKeys>
+ <VersionInfoKeys Name="FileDescription">KeePass Plugin for IniTranslator</VersionInfoKeys>
+ <VersionInfoKeys Name="FileVersion">1.9.0.41</VersionInfoKeys>
+ <VersionInfoKeys Name="InternalName">KeePassParser.dll</VersionInfoKeys>
+ <VersionInfoKeys Name="LegalCopyright">Copyright (c) 2006 by Peter Thörnqvist; all rights reserved</VersionInfoKeys>
+ <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
+ <VersionInfoKeys Name="OriginalFilename">KeePassParser.dll</VersionInfoKeys>
+ <VersionInfoKeys Name="ProductName">KeePass Plugin for IniTranslator</VersionInfoKeys>
+ <VersionInfoKeys Name="ProductVersion">1.9.0.41</VersionInfoKeys>
+ <VersionInfoKeys Name="Comments">Latest version at http://initranslator.sourceforge.net</VersionInfoKeys>
+ </VersionInfoKeys>
+ </Delphi.Personality>
+</BorlandProject>
Added: translator/trunk/src/KeePassPlugin/KeePassParser.dof
===================================================================
--- translator/trunk/src/KeePassPlugin/KeePassParser.dof (rev 0)
+++ translator/trunk/src/KeePassPlugin/KeePassParser.dof 2006-12-20 14:30:34 UTC (rev 212)
@@ -0,0 +1,143 @@
+[FileVersion]
+Version=7.0
+[Compiler]
+A=8
+B=0
+C=1
+D=1
+E=0
+F=0
+G=1
+H=1
+I=1
+J=0
+K=0
+L=1
+M=0
+N=1
+O=1
+P=1
+Q=0
+R=0
+S=0
+T=0
+U=0
+V=1
+W=0
+X=1
+Y=1
+Z=1
+ShowHints=1
+ShowWarnings=1
+UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+NamespacePrefix=
+SymbolDeprecated=1
+SymbolLibrary=1
+SymbolPlatform=1
+UnitLibrary=1
+UnitPlatform=1
+UnitDeprecated=1
+HResultCompat=1
+HidingMember=1
+HiddenVirtual=1
+Garbage=1
+BoundsError=1
+ZeroNilCompat=1
+StringConstTruncated=1
+ForLoopVarVarPar=1
+TypedConstVarPar=1
+AsgToTypedConst=1
+CaseLabelRange=1
+ForVariable=1
+ConstructingAbstract=1
+ComparisonFalse=1
+ComparisonTrue=1
+ComparingSignedUnsigned=1
+CombiningSignedUnsigned=1
+UnsupportedConstruct=1
+FileOpen=1
+FileOpenUnitSrc=1
+BadGlobalSymbol=1
+DuplicateConstructorDestructor=1
+InvalidDirective=1
+PackageNoLink=1
+PackageThreadVar=1
+ImplicitImport=1
+HPPEMITIgnored=1
+NoRetVal=1
+UseBeforeDef=1
+ForLoopVarUndef=1
+UnitNameMismatch=1
+NoCFGFileFound=1
+MessageDirective=1
+ImplicitVariants=1
+UnicodeToLocale=1
+LocaleToUnicode=1
+ImagebaseMultiple=1
+SuspiciousTypecast=1
+PrivatePropAccessor=1
+UnsafeType=0
+UnsafeCode=0
+UnsafeCast=0
+[Linker]
+MapFile=3
+OutputObjs=0
+ConsoleApp=1
+DebugInfo=0
+RemoteSymbols=1
+MinStackSize=16384
+MaxStackSize=1048576
+ImageBase=4194304
+ExeDescription=
+[Directories]
+OutputDir=..\..\bin\plugins
+UnitOutputDir=..\..\dcu
+PackageDLLOutputDir=
+PackageDCPOutputDir=
+SearchPath=
+Packages=
+Conditionals=
+DebugSourceDirs=
+UsePackages=0
+[Parameters]
+RunParams=
+HostApplication=C:\Program Files\Borland\projects\Private\translator\trunk\bin\translator.exe
+Launcher=
+UseLauncher=0
+DebugCWD=
+[Version Info]
+IncludeVerInfo=1
+AutoIncBuild=0
+MajorVer=1
+MinorVer=9
+Release=0
+Build=41
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=1
+Locale=1033
+CodePage=1252
+[Version Info Keys]
+CompanyName=IniTranslator
+FileDescription=KeePass Plugin for IniTranslator
+FileVersion=1.9.0.41
+InternalName=KeePassParser.dll
+LegalCopyright=Copyright (c) 2006 by Peter Th\xF6rnqvist; all rights reserved
+LegalTrademarks=
+OriginalFilename=KeePassParser.dll
+ProductName=KeePass Plugin for IniTranslator
+ProductVersion=1.9.0.41
+Comments=Latest version at http://initranslator.sourceforge.net
+[HistoryLists\hlUnitAliases]
+Count=1
+Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+[HistoryLists\hlUnitOutputDirectory]
+Count=2
+Item0=..\dcu
+Item1=..\..\dcu
+[HistoryLists\hlOutputDirectorry]
+Count=2
+Item0=..\bin
+Item1=..\..\bin\plugins
Added: translator/trunk/src/KeePassPlugin/KeePassParser.dpr
===================================================================
--- translator/trunk/src/KeePassPlugin/KeePassParser.dpr (rev 0)
+++ translator/trunk/src/KeePassPlugin/KeePassParser.dpr 2006-12-20 14:30:34 UTC (rev 212)
@@ -0,0 +1,43 @@
+{@abstract(app file for KeePass) }
+{
+ Copyright \xA9 2006 by Peter Thornqvist; all rights reserved
+
+ Developer(s):
+ p3 - peter3 att users dott sourceforge dott net
+
+ Status:
+ The contents of this file are subject to the Mozilla Public License Version
+ 1.1 (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at http://www.mozilla.org/MPL/MPL-1.1.html
+
+ Software distributed under the License is distributed on an "AS IS" basis,
+ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
+ the specific language governing rights and limitations under the License.
+}
+// $Id$
+library KeePassParser;
+
+uses
+ SysUtils,
+ Classes,
+ PreviewExportFrm in '..\PluginCommon\PreviewExportFrm.pas' {frmExport},
+ TransIntf in '..\TransIntf.pas',
+ KeePassParserImpl in 'KeePassParserImpl.pas',
+ CommonUtils in '..\CommonUtils.pas',
+ SingleImportFrm in '..\PluginCommon\SingleImportFrm.pas' {frmSingleImport: TTntForm},
+ KeePassParserLang in 'KeePassParserLang.pas',
+ WideIniFiles in '..\WideIniFiles.pas';
+
+{$R *.res}
+
+function InstallPlugin(out Parser: IFileParser): HResult; stdcall;
+begin
+ Parser := TKeePassParser.Create;
+ Result := S_OK;
+end;
+
+exports InstallPlugin name cRegisterTransFileParserFuncName;
+begin
+
+end.
+
Property changes on: translator/trunk/src/KeePassPlugin/KeePassParser.dpr
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Added: translator/trunk/src/KeePassPlugin/KeePassParser.res
===================================================================
(Binary files differ)
Property changes on: translator/trunk/src/KeePassPlugin/KeePassParser.res
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: translator/trunk/src/KeePassPlugin/KeePassParserImpl.pas
===================================================================
--- translator/trunk/src/KeePassPlugin/KeePassParserImpl.pas (rev 0)
+++ translator/trunk/src/KeePassPlugin/KeePassParserImpl.pas 2006-12-20 14:30:34 UTC (rev 212)
@@ -0,0 +1,269 @@
+{@abstract(Parser for KeePass) }
+{
+keepass.sourceforge.net
+ Copyright \xA9 2006 by Peter Thornqvist; all rights reserved
+
+ Developer(s):
+ p3 - peter3 att users dott sourceforge dott net
+
+ Status:
+ The contents of this file are subject to the Mozilla Public License Version
+ 1.1 (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at http://www.mozilla.org/MPL/MPL-1.1.html
+
+ Software distributed under the License is distributed on an "AS IS" basis,
+ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
+ the specific language governing rights and limitations under the License.
+}
+// $Id$
+
+unit KeePassParserImpl;
+
+interface
+uses
+ Classes, Types, TntClasses, TntSysUtils, TransIntf;
+
+type
+ TKeePassParser = class(TInterfacedObject, IUnknown, IFileParser, ILocalizable)
+ private
+ FIndex: integer;
+ FFilename: WideString;
+ procedure LoadSettings;
+ procedure SaveSettings;
+ procedure BuildPreview(Items: ITranslationItems; Strings: TTntStrings);
+ public
+
+ function Capabilities: Integer; safecall;
+ function Configure(Capability: Integer): HRESULT; safecall;
+ function DisplayName(Capability: Integer): WideString; safecall;
+ function ExportItems(const Items: ITranslationItems;
+ const Orphans: ITranslationItems): HRESULT; safecall;
+ function ImportItems(const Items: ITranslationItems;
+ const Orphans: ITranslationItems): HRESULT; safecall;
+ procedure Init(const ApplicationServices: IApplicationServices); safecall;
+ function GetString(out Section: WideString; out Name: WideString;
+ out Value: WideString): WordBool; safecall;
+ end;
+
+implementation
+uses
+ Windows, SysUtils, Forms,
+ TntWideStrUtils, WideIniFiles,
+ SingleImportFrm, PreviewExportFrm,
+ KeePassParserLang;
+
+{ TKeePassParser }
+
+function TKeePassParser.Capabilities: Integer;
+begin
+ Result := CAP_IMPORT or CAP_EXPORT;
+end;
+
+function TKeePassParser.Configure(Capability: Integer): HRESULT;
+begin
+ Result := E_NOTIMPL;
+end;
+
+function TKeePassParser.DisplayName(Capability: Integer): WideString;
+begin
+ case Capability of
+ CAP_IMPORT:
+ Result := Translate(cKeePassImportTitle);
+ CAP_EXPORT:
+ Result := Translate(cKeePassExportTitle);
+ else
+ Result := '';
+ end;
+end;
+
+procedure TKeePassParser.BuildPreview(Items: ITranslationItems; Strings: TTntStrings);
+var
+ i: integer;
+ S: WideString;
+begin
+ Strings.Clear;
+ S := '';
+ for i := 0 to Items.Count - 1 do
+ S := S + WideFormat('|%s||%s|', [Items[i].Original, Items[i].Translation]);
+ Strings.Add(S);
+end;
+
+function TKeePassParser.ExportItems(const Items, Orphans: ITranslationItems): HRESULT;
+var
+ S: TTntStringlist;
+ FOldSort: TTranslateSortType;
+begin
+ Result := S_FALSE;
+ FOldSort := Items.Sort;
+ try
+ LoadSettings;
+ Items.Sort := stIndex;
+ S := TTntStringlist.Create;
+ try
+ BuildPreview(Items, S);
+ if TfrmExport.Execute(GlobalAppServices, FFilename,
+ Translate(cKeePassExportTitle), Translate(cKeePassFilter), '.', 'lng', S, true) then
+ begin
+ S.Text := Tnt_WideStringReplace(S.Text, CRLF, '', [rfReplaceAll]);
+ S.AnsiStrings.SaveToFileEx(FFilename, CP_UTF8);
+ Result := S_OK;
+ SaveSettings;
+ end;
+ finally
+ S.Free;
+ Items.Sort := FOldSort;
+ end;
+ except
+ Application.HandleException(self);
+ end;
+end;
+
+// format:
+// |ORIGINAL||Translation||ORIGINAL||Translation|...
+
+function TKeePassParser.GetString(out Section, Name, Value: WideString): WordBool;
+begin
+ Result := true;
+ case FIndex of
+ 0: Value := cKeePassFilter;
+ 1: Value := cKeePassImportTitle;
+ 2: Value := cKeePassExportTitle;
+ else
+ Result := false;
+ end;
+ if Result then
+ begin
+ Section := cSectionName;
+ Name := Value;
+ Inc(FIndex);
+ end
+ else
+ FIndex := 0;
+end;
+
+function TKeePassParser.ImportItems(const Items, Orphans: ITranslationItems): HRESULT;
+var
+ S: TTntStringlist;
+
+ procedure ParseItems(P: PWideChar);
+ const
+ cNull = WideChar(#0);
+ cBar = WideChar('|');
+ type
+ States = (Original, Translation);
+ var
+ R, S: PWideChar;
+
+ AStates: States;
+ TI: ITranslationItem;
+
+ begin
+ AStates := Original;
+ TI := nil;
+ S := WStrEnd(P);
+ while P < S do
+ begin
+ if P^ = cBar then
+ begin
+ case AStates of
+ Original:
+ begin
+ Inc(P);
+ R := P;
+ while P^ <> cBar do
+ Inc(P);
+ if P^ = cBar then
+ begin
+ P^ := cNull;
+ TI := Items.Add;
+ TI.Section := cSectionName;
+ TI.Name := IntToStr(TI.Index);
+ TI.Original := R;
+ end;
+ Inc(P);
+ AStates := Translation;
+ end;
+ Translation:
+ begin
+ Inc(P);
+ R := P;
+ while P^ <> cBar do
+ Inc(P);
+ if P^ = cBar then
+ begin
+ P^ := cNull;
+ if TI <> nil then
+ begin
+ TI.Translation := R;
+ TI.Translated := TI.Translation <> '';
+ end;
+ TI := nil;
+ end;
+ Inc(P);
+ AStates := Original;
+ end;
+ end;
+ end
+ else
+ Inc(P);
+ end;
+ end;
+begin
+ LoadSettings;
+ if TfrmSingleImport.Execute(GlobalAppServices, FFilename,
+ Translate(cKeePassImportTitle), Translate(cKeePassFilter), '.', 'lng') then
+ begin
+ Items.Clear;
+ Orphans.Clear;
+ Items.Sort := stNone;
+ S := TTntStringlist.Create;
+ try
+ S.LoadFromFile(FFilename);
+ ParseItems(PWideChar(S.Text));
+ Items.Modified := false;
+ SaveSettings;
+ Result := S_OK;
+ finally
+ S.Free;
+ end;
+ end
+ else
+ Result := S_FALSE;
+end;
+
+procedure TKeePassParser.Init(const ApplicationServices: IApplicationServices);
+begin
+ GlobalAppServices := ApplicationServices;
+end;
+
+procedure TKeePassParser.LoadSettings;
+begin
+ try
+ with TWideMemIniFile.Create(ChangeFileExt(GetModuleName(hInstance), '.ini')) do
+ try
+ FFilename := ReadString('Settings', 'Filename', FFilename);
+ finally
+ Free;
+ end;
+ except
+ Application.HandleException(self);
+ end;
+end;
+
+procedure TKeePassParser.SaveSettings;
+begin
+ try
+ with TWideMemIniFile.Create(ChangeFileExt(GetModuleName(hInstance), '.ini')) do
+ try
+ WriteString('Settings', 'Filename', FFilename);
+ UpdateFile;
+ finally
+ Free;
+ end;
+ except
+ Application.HandleException(self);
+ end;
+end;
+
+end.
+
Property changes on: translator/trunk/src/KeePassPlugin/KeePassParserImpl.pas
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Added: translator/trunk/src/KeePassPlugin/KeePassParserLang.pas
===================================================================
--- translator/trunk/src/KeePassPlugin/KeePassParserLang.pas (rev 0)
+++ translator/trunk/src/KeePassPlugin/KeePassParserLang.pas 2006-12-20 14:30:34 UTC (rev 212)
@@ -0,0 +1,28 @@
+unit KeePassParserLang;
+
+interface
+uses
+ TransIntf;
+
+const
+ cSectionName = 'KeePass';
+ cKeePassFilter = 'KeePass Language Files (*.lng)|*.lng|All files (*.*)|*.*';
+ cKeePassImportTitle = 'Import from KeePass language file';
+ cKeePassExportTitle = 'Export to KeePass language file';
+
+var
+ GlobalAppServices: IApplicationServices = nil;
+function Translate(Value: WideString): WideString;
+
+implementation
+
+function Translate(Value: WideString): WideString;
+begin
+ if GlobalAppServices <> nil then
+ Result := GlobalAppServices.Translate(cSectionName, Value, Value)
+ else
+ Result := Value;
+end;
+
+end.
+
Property changes on: translator/trunk/src/KeePassPlugin/KeePassParserLang.pas
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pe...@us...> - 2006-12-25 20:42:33
|
Revision: 231
http://svn.sourceforge.net/initranslator/?rev=231&view=rev
Author: peter3
Date: 2006-12-25 12:42:32 -0800 (Mon, 25 Dec 2006)
Log Message:
-----------
- New parser for DC++ files
Added Paths:
-----------
translator/trunk/src/DCPPPlugin/
translator/trunk/src/DCPPPlugin/DCPPParser.dof
translator/trunk/src/DCPPPlugin/DCPPParser.dpr
translator/trunk/src/DCPPPlugin/DCPPParser.rc
translator/trunk/src/DCPPPlugin/DCPPParser.res
translator/trunk/src/DCPPPlugin/DCPPParserConsts.pas
translator/trunk/src/DCPPPlugin/DCPPParserImpl.pas
Added: translator/trunk/src/DCPPPlugin/DCPPParser.dof
===================================================================
--- translator/trunk/src/DCPPPlugin/DCPPParser.dof (rev 0)
+++ translator/trunk/src/DCPPPlugin/DCPPParser.dof 2006-12-25 20:42:32 UTC (rev 231)
@@ -0,0 +1,56 @@
+[FileVersion]
+Version=7.0
+[Compiler]
+UnsafeType=0
+UnsafeCode=0
+UnsafeCast=0
+[Linker]
+MapFile=3
+OutputObjs=0
+ConsoleApp=1
+DebugInfo=0
+RemoteSymbols=1
+MinStackSize=16384
+MaxStackSize=1048576
+ImageBase=4194304
+ExeDescription=
+[Directories]
+OutputDir=..\..\bin\plugins
+UnitOutputDir=..\..\dcu
+PackageDLLOutputDir=
+PackageDCPOutputDir=
+SearchPath=
+Conditionals=
+DebugSourceDirs=
+UsePackages=0
+[Parameters]
+RunParams=
+Launcher=
+UseLauncher=0
+DebugCWD=
+[Version Info]
+IncludeVerInfo=1
+AutoIncBuild=1
+MajorVer=1
+MinorVer=9
+Release=0
+Build=51
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=1
+Locale=1033
+CodePage=1252
+[Version Info Keys]
+CompanyName=IniTranslator
+FileDescription=DC++ language file plugin for IniTranslator
+FileVersion=1.9.0.51
+InternalName=DCPPParser.dll
+LegalCopyright=Copyright (c) 2006 by Peter Th\xF6rnqvist; all rights reserved
+LegalTrademarks=
+OriginalFilename=DCPPParser.dll
+ProductName=IniTranslator
+ProductVersion=1.9.0.50
+Comments=Latest version at http://initranslator.sourceforge.net
+CompileDate=den 23 december 2006 13:20
Added: translator/trunk/src/DCPPPlugin/DCPPParser.dpr
===================================================================
--- translator/trunk/src/DCPPPlugin/DCPPParser.dpr (rev 0)
+++ translator/trunk/src/DCPPPlugin/DCPPParser.dpr 2006-12-25 20:42:32 UTC (rev 231)
@@ -0,0 +1,43 @@
+{@abstract(Parser for DC++ language files) }
+{
+ Copyright \xA9 2006 by Peter Thornqvist; all rights reserved
+
+ Developer(s):
+ p3 - peter3 att users dott sourceforge dott net
+
+ Status:
+ The contents of this file are subject to the Mozilla Public License Version
+ 1.1 (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at http://www.mozilla.org/MPL/MPL-1.1.html
+
+ Software distributed under the License is distributed on an "AS IS" basis,
+ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
+ the specific language governing rights and limitations under the License.
+}
+
+// $Id$
+library DCPPParser;
+
+uses
+ SysUtils,
+ Classes,
+ DCPPParserImpl in 'DCPPParserImpl.pas',
+ TransIntf in '..\TransIntf.pas',
+ PreviewExportFrm in '..\PluginCommon\PreviewExportFrm.pas' {frmExport: TTntForm},
+ DCPPParserConsts in 'DCPPParserConsts.pas',
+ CommonUtils in '..\CommonUtils.pas',
+ WideIniFiles in '..\WideIniFiles.pas',
+ DualImportFrm in '..\PluginCommon\DualImportFrm.pas' {frmDualImport: TTntForm};
+
+{$R *.res}
+
+function InstallPlugin(out Parser: IFileParser): HResult; stdcall;
+begin
+ Parser := TDCPPParser.Create;
+ Result := S_OK;
+end;
+
+exports InstallPlugin name cRegisterTransFileParserFuncName;
+begin
+
+end.
Property changes on: translator/trunk/src/DCPPPlugin/DCPPParser.dpr
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Added: translator/trunk/src/DCPPPlugin/DCPPParser.rc
===================================================================
--- translator/trunk/src/DCPPPlugin/DCPPParser.rc (rev 0)
+++ translator/trunk/src/DCPPPlugin/DCPPParser.rc 2006-12-25 20:42:32 UTC (rev 231)
@@ -0,0 +1,30 @@
+1 VERSIONINFO
+FILEVERSION 1,9,0,50
+PRODUCTVERSION 1,9,0,50
+FILEFLAGSMASK 0x3FL
+FILEFLAGS 0x00L
+FILEOS 0x40004L
+FILETYPE 0x2L
+FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "CompanyName", "IniTranslator\0"
+ VALUE "FileDescription", "DC++ language file plugin for IniTranslator\0"
+ VALUE "FileVersion", "1.9.0.50\0"
+ VALUE "InternalName", "DCPPParser.dll\0"
+ VALUE "LegalCopyright", "Copyright (c) 2006 by Peter Th\xF6rnqvist; all rights reserved\0"
+ VALUE "OriginalFilename", "DCPPParser.dll\0"
+ VALUE "ProductName", "IniTranslator\0"
+ VALUE "ProductVersion", "1.9.0.50\0"
+ VALUE "Comments", "Latest version at http://initranslator.sourceforge.net\0"
+ VALUE "CompileDate", "den 25 december 2006 19:59\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0409, 1252
+ END
+END
Added: translator/trunk/src/DCPPPlugin/DCPPParser.res
===================================================================
(Binary files differ)
Property changes on: translator/trunk/src/DCPPPlugin/DCPPParser.res
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: translator/trunk/src/DCPPPlugin/DCPPParserConsts.pas
===================================================================
--- translator/trunk/src/DCPPPlugin/DCPPParserConsts.pas (rev 0)
+++ translator/trunk/src/DCPPPlugin/DCPPParserConsts.pas 2006-12-25 20:42:32 UTC (rev 231)
@@ -0,0 +1,27 @@
+unit DCPPParserConsts;
+
+interface
+uses
+ TransIntf;
+const
+ cSectionName = 'DC++';
+ cImportTitle = 'Import from DC++ language file';
+ cExportTitle = 'Export to DC++ language file';
+ cDCPPFilter = 'DC++ language files (*.xml)|*.xml|All files (*.*)|*.*';
+
+var
+ GlobalAppServices:IApplicationServices = nil;
+
+function Translate(const Value:WideString):WideString;
+
+implementation
+
+function Translate(const Value:WideString):WideString;
+begin
+ if GlobalAppServices <> nil then
+ Result := GlobalAppServices.Translate(cSectionName, Value, Value)
+ else
+ Result := Value;
+end;
+
+end.
Property changes on: translator/trunk/src/DCPPPlugin/DCPPParserConsts.pas
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Added: translator/trunk/src/DCPPPlugin/DCPPParserImpl.pas
===================================================================
--- translator/trunk/src/DCPPPlugin/DCPPParserImpl.pas (rev 0)
+++ translator/trunk/src/DCPPPlugin/DCPPParserImpl.pas 2006-12-25 20:42:32 UTC (rev 231)
@@ -0,0 +1,360 @@
+{@abstract(Implementation for DC++ language file parser) }
+{
+ Copyright \xA9 2006 by Peter Thornqvist; all rights reserved
+
+ Developer(s):
+ p3 - peter3 att users dott sourceforge dott net
+
+ Status:
+ The contents of this file are subject to the Mozilla Public License Version
+ 1.1 (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at http://www.mozilla.org/MPL/MPL-1.1.html
+
+ Software distributed under the License is distributed on an "AS IS" basis,
+ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
+ the specific language governing rights and limitations under the License.
+}
+
+// $Id$
+
+unit DCPPParserImpl;
+
+interface
+uses
+ Classes, SysUtils, Types, xmlintf, TransIntf, TntClasses;
+
+type
+ TDCPPParser = class(TInterfacedObject, IUnknown, IFileParser, ILocalizable)
+ private
+ FIndex: integer;
+ FLanguageName, FAuthor, FVersion, FRevision, FRightToLeft, FEncoding,
+ FOrigFile, FTransFile: WideString;
+ procedure LoadSettings;
+ procedure SaveSettings;
+ procedure BuildPreview(Items: ITranslationItems; xml: IXMLDocument);
+ public
+ function Capabilities: Integer; safecall;
+ function Configure(Capability: Integer): HRESULT; safecall;
+ function DisplayName(Capability: Integer): WideString; safecall;
+ function ExportItems(const Items: ITranslationItems; const Orphans: ITranslationItems): HRESULT; safecall;
+ function ImportItems(const Items: ITranslationItems; const Orphans: ITranslationItems): HRESULT; safecall;
+ procedure Init(const ApplicationServices: IApplicationServices); safecall;
+ function GetString(out Section: WideString; out Name: WideString;
+ out Value: WideString): WordBool; safecall;
+ end;
+
+implementation
+uses
+ Windows, Forms, xmldom, xmldoc,
+ DCPPParserConsts, WideIniFiles, TntSysUtils,
+ DualImportFrm, PreviewExportFrm;
+
+{ TDCPPParser }
+
+function StripCRLF(const S: WideString): WideString;
+begin
+ Result := Tnt_WideStringReplace(S, CRLF, ' ', [rfReplaceAll]);
+end;
+
+function XMLEncode(const S: WideString): WideString;
+begin
+ Result := Tnt_WideStringReplace(S, '&', '&', [rfReplaceAll]);
+ Result := Tnt_WideStringReplace(Result, '"', '"', [rfReplaceAll]);
+ Result := Tnt_WideStringReplace(Result, '''', ''', [rfReplaceAll]);
+ Result := Tnt_WideStringReplace(Result, '<', '<', [rfReplaceAll]);
+ Result := Tnt_WideStringReplace(Result, '>', '>', [rfReplaceAll]);
+end;
+
+procedure TDCPPParser.BuildPreview(Items: ITranslationItems; xml: IXMLDocument);
+var
+ i, OldSort: integer;
+ node, node2: IXMLNode;
+begin
+ OldSort := Items.Sort;
+ try
+ xml.Active := true;
+ xml.Options := [doNodeAutoCreate, doNodeAutoIndent, doAttrNull];
+ Items.Sort := stIndex;
+ node := xml.AddChild('Language');
+ node.Attributes['Name'] := FLanguageName;
+ node.Attributes['Author'] := FAuthor;
+ node.Attributes['Version'] := FVersion;
+ node.Attributes['Revision'] := FRevision;
+ node.Attributes['RightToLeft'] := FRightToLeft;
+ node := node.AddChild('Strings');
+ for i := 0 to Items.Count - 1 do
+ begin
+ node2 := node.AddChild('String');
+ node2.Attributes['Name'] := Items[i].Name;
+ node2.NodeValue := Items[i].Translation;
+ end;
+ xml.Encoding := FEncoding;
+ xml.StandAlone := 'yes';
+ finally
+ Items.Sort := OldSort;
+ end;
+end;
+
+function TDCPPParser.Capabilities: Integer;
+begin
+ Result := CAP_IMPORT or CAP_EXPORT or CAP_ITEM_DELETE or CAP_ITEM_EDIT or CAP_ITEM_INSERT;
+end;
+
+function TDCPPParser.Configure(Capability: Integer): HRESULT;
+begin
+ Result := S_FALSE;
+end;
+
+function TDCPPParser.DisplayName(Capability: Integer): WideString;
+begin
+ case Capability of
+ CAP_IMPORT:
+ Result := cImportTitle;
+ CAP_EXPORT:
+ Result := cExportTitle;
+ else
+ Result := '';
+ end;
+end;
+
+function TDCPPParser.ExportItems(const Items, Orphans: ITranslationItems): HRESULT;
+var
+ ExportOrig: boolean;
+ FOldSort: TTranslateSortType;
+ xml: IXMLDocument;
+ S: TTntStringlist;
+begin
+ Result := S_FALSE;
+ FOldSort := Items.Sort;
+ try
+ LoadSettings;
+ Items.Sort := stIndex;
+ xml := TXMLDocument.Create(nil);
+ try
+ BuildPreview(Items, xml);
+ ExportOrig := FTransFile = '';
+ if ExportOrig then
+ FTransFile := FOrigFile;
+ S := TTntStringlist.Create;
+ try
+ S.Assign(xml.XML);
+ if TfrmExport.Execute(GlobalAppServices, FTransFile,
+ Translate(cExportTitle), Translate(cDCPPFilter), '.', 'xml', S) then
+ begin
+ xml.LoadFromXML(S.Text);
+ xml.SaveToFile(FTransFile);
+ Result := S_OK;
+ if ExportOrig then
+ begin
+ FOrigFile := FTransFile;
+ FTransFile := '';
+ end;
+ SaveSettings;
+ end;
+ finally
+ S.Free;
+ end;
+ finally
+ Items.Sort := FOldSort;
+ end;
+ except
+ Application.HandleException(self);
+ end;
+end;
+
+function TDCPPParser.GetString(out Section, Name,
+ Value: WideString): WordBool;
+begin
+ Result := true;
+ case FIndex of
+ 0: Value := cImportTitle;
+ 1: Value := cExportTitle;
+ 3: Value := cDCPPFilter;
+ else
+ Result := false;
+ end;
+ if Result then
+ begin
+ Section := cSectionName;
+ Name := Value;
+ Inc(FIndex);
+ end
+ else
+ FIndex := 0;
+end;
+
+function TDCPPParser.ImportItems(const Items,
+ Orphans: ITranslationItems): HRESULT;
+var
+ i, aIndex: integer;
+ FOldSort: TTranslateSortType;
+ TI: ITranslationItem;
+ DualImport: boolean;
+ xml: IXMLDocument;
+ nodes: IDOMNodeList;
+ node: IDOMNode;
+
+ procedure getSettings(const Nodes: IDOMNodeList);
+ begin
+ if (Nodes = nil) or (Nodes.length < 1) then
+ Exit;
+ node := Nodes[0].attributes.getNamedItem('Name');
+ if node <> nil then
+ FLanguageName := node.nodeValue;
+
+ node := Nodes[0].attributes.getNamedItem('Author');
+ if node <> nil then
+ FAuthor := node.nodeValue;
+ node := Nodes[0].attributes.getNamedItem('Version');
+ if node <> nil then
+ FVersion := node.nodeValue;
+ node := Nodes[0].attributes.getNamedItem('Revision');
+ if node <> nil then
+ FRevision := node.nodeValue;
+ node := Nodes[0].attributes.getNamedItem('RightToLeft');
+ if node <> nil then
+ FRightToLeft := node.nodeValue;
+ end;
+begin
+ LoadSettings;
+ if TfrmDualImport.Execute(GlobalAppServices, FOrigFile, FTransFile,
+ Translate(cImportTitle), Translate(cDCPPFilter), '.', 'xml', true) then
+ begin
+ Items.Clear;
+ Orphans.Clear;
+ FOldSort := Items.Sort;
+ DualImport := FTransFile <> '';
+ xml := TXMLDocument.Create(FOrigFile);
+ try
+ Items.Sort := stNone;
+ if xml.DOMDocument <> nil then
+ begin
+ FEncoding := xml.Encoding;
+ if not DualImport then
+ getSettings(xml.DOMDocument.getElementsByTagName('Language'));
+ nodes := xml.DOMDocument.getElementsByTagName('String');
+ if nodes <> nil then
+ for i := 0 to nodes.length - 1 do
+ if nodes[i].attributes <> nil then
+ begin
+ node := nodes[i].attributes.getNamedItem('Name');
+ if node <> nil then
+ begin
+ TI := Items.Add;
+ TI.Section := cSectionName;
+ TI.Name := node.nodeValue;
+ node := nodes[i].firstChild;
+ if node <> nil then
+ begin
+ if DualImport then
+ TI.Original := node.nodeValue
+ else
+ begin
+ TI.Original := TI.Name;
+ TI.Translation := node.nodeValue;
+ end;
+ end;
+ TI.Translated := TI.Translation <> '';
+ end;
+ end;
+ end;
+ if DualImport and FileExists(FTransFile) then
+ begin
+ Items.Sort := stIndex;
+ xml.LoadFromFile(FTransFile);
+ if xml.DOMDocument <> nil then
+ begin
+ getSettings(xml.DOMDocument.getElementsByTagName('Language'));
+ nodes := xml.DOMDocument.getElementsByTagName('String');
+ if nodes <> nil then
+ for i := 0 to nodes.length - 1 do
+ if nodes[i].attributes <> nil then
+ begin
+ node := nodes[i].attributes.getNamedItem('Name');
+ if node <> nil then
+ begin
+ aIndex := Items.IndexOf(cSectionName, node.nodeValue);
+ if aIndex >= 0 then
+ begin
+ TI := Items[aIndex];
+ node := nodes[i].firstChild;
+ if node <> nil then
+ TI.Translation := node.nodeValue;
+ TI.Translated := TI.Translation <> '';
+ end
+ else
+ begin
+ TI := Orphans.Add;
+ TI.Section := cSectionName;
+ TI.Name := node.nodeValue;
+ TI.Original := TI.Name;
+ node := nodes[i].firstChild;
+ if node <> nil then
+ TI.Translation := node.nodeValue;
+ end;
+ end;
+ end;
+ end;
+ end;
+ Items.Modified := false;
+ SaveSettings;
+ Result := S_OK;
+ finally
+ xml := nil;
+ Items.Sort := FOldSort;
+ end;
+ end
+ else
+ Result := S_FALSE;
+end;
+
+procedure TDCPPParser.Init(const ApplicationServices: IApplicationServices);
+begin
+ GlobalAppServices := ApplicationServices;
+end;
+
+procedure TDCPPParser.LoadSettings;
+begin
+ try
+ with TWideMemIniFile.Create(ChangeFileExt(GetModuleName(hInstance), '.ini')) do
+ try
+ FOrigFile := ReadString('Settings', 'OrigFile', FOrigFile);
+ FTransFile := ReadString('Settings', 'TransFile', FTransFile);
+ FLanguageName := ReadString('Settings', 'LanguageName', 'en-us');
+ FAuthor := ReadString('Settings', 'Author', 'Unknown');
+ FVersion := ReadString('Settings', 'Version', '1.0');
+ FRevision := ReadString('Settings', 'Revision', '0');
+ FRightToLeft := ReadString('Settings', 'RightToLeft', '0');
+ FEncoding := ReadString('Settings', 'Encoding', 'UTF-8');
+ finally
+ Free;
+ end;
+ except
+ Application.HandleException(self);
+ end;
+end;
+
+procedure TDCPPParser.SaveSettings;
+begin
+ try
+ with TWideMemIniFile.Create(ChangeFileExt(GetModuleName(hInstance), '.ini')) do
+ try
+ WriteString('Settings', 'OrigFile', FOrigFile);
+ WriteString('Settings', 'TransFile', FTransFile);
+ WriteString('Settings', 'LanguageName', FLanguageName);
+ WriteString('Settings', 'Author', FAuthor);
+ WriteString('Settings', 'Version', FVersion);
+ WriteString('Settings', 'Revision', FRevision);
+ WriteString('Settings', 'RightToLeft', FRightToLeft);
+ WriteString('Settings', 'Encoding', FEncoding);
+ UpdateFile;
+ finally
+ Free;
+ end;
+ except
+ Application.HandleException(self);
+ end;
+end;
+
+end.
+
Property changes on: translator/trunk/src/DCPPPlugin/DCPPParserImpl.pas
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pe...@us...> - 2007-01-11 22:57:41
|
Revision: 243
http://svn.sourceforge.net/initranslator/?rev=243&view=rev
Author: peter3
Date: 2007-01-11 14:57:41 -0800 (Thu, 11 Jan 2007)
Log Message:
-----------
- Moved some procedures from Apptils to CommonUtils (and vice versa)
- added Vista specific section to manifest
Modified Paths:
--------------
translator/trunk/src/AppOptions.pas
translator/trunk/src/AppUtils.pas
translator/trunk/src/CommonUtils.pas
translator/trunk/src/translator.exe.manifest
Modified: translator/trunk/src/AppOptions.pas
===================================================================
--- translator/trunk/src/AppOptions.pas 2006-12-26 23:32:25 UTC (rev 242)
+++ translator/trunk/src/AppOptions.pas 2007-01-11 22:57:41 UTC (rev 243)
@@ -223,7 +223,7 @@
implementation
uses
- StrUtils, AppConsts, AppUtils, TntSysUtils;
+ StrUtils, AppConsts, AppUtils, CommonUtils, TntSysUtils;
function StrToFontStyles(const S: WideString): TFontStyles;
begin
Modified: translator/trunk/src/AppUtils.pas
===================================================================
--- translator/trunk/src/AppUtils.pas 2006-12-26 23:32:25 UTC (rev 242)
+++ translator/trunk/src/AppUtils.pas 2007-01-11 22:57:41 UTC (rev 243)
@@ -1,4 +1,4 @@
-{@abstract(Utility functions and procedures) }
+{@abstract(Application specific utility functions and procedures) }
{
Copyright \xA9 2003-2006 by Peter Thornqvist; all rights reserved
@@ -28,19 +28,16 @@
procedure TBMRUSaveToIni(MRU: TTBXMRUList);
procedure TBMRULoadFromReg(MRU: TTBXMRUList; RootKey: Cardinal; const Path: WideString);
procedure TBMRUSaveToReg(MRU: TTBXMRUList; RootKey: Cardinal; const Path: WideString);
-// "Fuzzy" in this context just means "remove all white space and control characters before comparing SubStr and Str"
+
function DetectEncoding(const FileName: WideString): TEncoding;
function GetAppVersion: WideString;
function GetCurrentYear: Integer;
-// TODO: add JvCreateProcess from JVCL to add support for capturing output?
-
function ActionShortCutInUse(AM: TActionList; ShortCut: Word): boolean;
function FindActionShortCut(AM: TActionList; ShortCut: Word): TCustomAction;
function RemoveActionShortCut(AM: TActionList; ShortCut: Word): integer;
function _(const ASection, AMsg: WideString): WideString;
function MyShortCutToText(ShortCut: TShortCut): WideString;
-function BinarySearch(AList: TList; L, R: integer; CompareItem: Pointer; CompareFunc: TListSortCompare; var Index: integer): boolean;
function GlobalLanguageFile: TAppLanguage;
function GlobalAppOptions: TAppOptions;
@@ -49,30 +46,16 @@
function GetUserAppDataFolder(const Default: WideString): WideString;
function GetUserShortcutFile: WideString;
function GetUserAppOptionsFile: WideString;
-
procedure HandleFileCreateException(Sender: TObject; E: Exception; const Filename: WideString);
-function GetSpecialFolderLocation(const Folder: Integer): WideString;
+
function GetAppStoragePath: WideString;
function AutoDetectCharacterSet(Stream: TStream): TEncoding; overload;
function AutoDetectCharacterSet(const Filename: WideString): TEncoding; overload;
function FileCharSetToEncoding(CharSet: TTntStreamCharSet): TEncoding;
-function WideStartsText(const ASubText, AText: WideString): Boolean;
-function WideEndsText(const ASubText, AText: WideString): Boolean;
-
-// for Delphi 6
-function ValueFromIndex(S: TTntStrings; i: integer): WideString; overload;
-function ValueFromIndex(S: TStrings; i: integer): AnsiString; overload;
-function strtok(Search, Delim: WideString): WideString;
-
-//procedure SetXPComboStyle(AControl: TControl);
procedure FixXPStyles(AControl: TWinControl);
-
function GetPluginsFolder: WideString;
-function GetClipboardString(const Section, Name, Value: WideString): WideString;
-function ParseClipboardString(const Str: WideString; out Section, Name, Value: WideString): boolean;
-
type
TApplicationServicesFunc = function: IApplicationServices;
@@ -82,8 +65,9 @@
implementation
uses
Windows, Forms, Dialogs, Math, Registry, StdCtrls, ExtCtrls, TypInfo,
- WideIniFiles, Menus, Consts, ShFolder, StrUtils,
- CommonUtils, ShlObj, ActiveX, TbxUxThemes,
+ Menus, Consts, StrUtils, ShFolder,
+ CommonUtils, WideIniFiles,
+ TbxUxThemes,
TntWindows, TntSysUtils, TntWideStrUtils;
var
@@ -125,30 +109,6 @@
end;
end;
-function WideStartsText(const ASubText, AText: WideString): Boolean;
-begin
- if (ASubText <> '') and (AText <> '') then
- Result := WideSameText(ASubText, Copy(AText, 1, Length(ASubText)))
- else
- Result := false;
-end;
-
-function WideEndsText(const ASubText, AText: WideString): Boolean;
-var
- L: integer;
-begin
- if not Win32PlatformIsUnicode then
- Result := AnsiEndsText(ASubText, AText)
- else
- begin
- L := Length(AText) - Length(ASubText);
- if (L > 0) and (ASubText <> '') then
- Result := WideSameText(ASubText, Copy(AText, L + 1, MaxInt))
- else
- Result := false;
- end;
-end;
-
function GlobalLanguageFile: TAppLanguage;
begin
if FLanguageFile = nil then
@@ -171,24 +131,6 @@
Result := nil;
end;
-function SHGetFolderPathW2(hwnd: HWND; csidl: Integer; hToken: THandle; dwFlags: DWord; pszPath: PWideChar): HRESULT; stdcall; external 'SHFolder.dll' name 'SHGetFolderPathW';
-
-function WideSHGetFolderPath(hwnd: HWND; csidl: Integer; hToken: THandle; dwFlags: DWord; pszPath: PWideChar): HRESULT;
-var
- AnsiBuff: AnsiString;
-begin
- if Win32PlatformIsUnicode then
- Result := SHGetFolderPathW2(hwnd, csidl, hToken, dwFlags, pszPath)
- else
- begin
- SetLength(AnsiBuff, MAX_PATH * 2);
- Result := SHGetFolderPathA(hwnd, csidl, hToken, dwFlags, PAnsiChar(AnsiBuff));
- AnsiBuff := AnsiString(PAnsiChar(AnsiBuff));
- // pszPath :=
- WStrPLCopy(pszPath, AnsiBuff, Length(AnsiBuff));
- end;
-end;
-
function GetUserAppDataFolder(const Default: WideString): WideString;
begin
SetLength(Result, MAX_PATH + 1);
@@ -432,31 +374,6 @@
end;
end;
-function BinarySearch(AList: TList; L, R: integer; CompareItem: Pointer; CompareFunc: TListSortCompare; var Index: integer): boolean;
-var
- M: integer;
- CompareResult: integer;
-begin
- while L <= R do
- begin
- M := (L + R) div 2;
- CompareResult := CompareFunc(AList[M], CompareItem);
- if (CompareResult < 0) then
- L := M + 1
- else if (CompareResult > 0) then
- R := M - 1
- else
- begin
- Index := M;
- Result := true;
- Exit;
- end;
- end;
- // not found, should be located here:
- Result := false;
- Index := L;
-end;
-
procedure HandleFileCreateException(Sender: TObject; E: Exception; const Filename: WideString);
begin
if E is EFCreateError then
@@ -465,46 +382,6 @@
Application.HandleException(Sender);
end;
-function PidlFree(var IdList: PItemIdList): Boolean;
-var
- Malloc: IMalloc;
-begin
- Result := False;
- if IdList = nil then
- Result := True
- else
- begin
- if Succeeded(SHGetMalloc(Malloc)) and (Malloc.DidAlloc(IdList) > 0) then
- begin
- Malloc.Free(IdList);
- IdList := nil;
- Result := True;
- end;
- end;
-end;
-
-function PidlToPath(IdList: PItemIdList): WideString;
-begin
- SetLength(Result, MAX_PATH);
- if Tnt_SHGetPathFromIDListW(IdList, PWideChar(Result)) then
- Result := WideString(PWideChar(Result))
- else
- Result := '';
-end;
-
-function GetSpecialFolderLocation(const Folder: Integer): WideString;
-var
- FolderPidl: PItemIdList;
-begin
- if Succeeded(SHGetSpecialFolderLocation(0, Folder, FolderPidl)) then
- begin
- Result := PidlToPath(FolderPidl);
- PidlFree(FolderPidl);
- end
- else
- Result := '';
-end;
-
function GetAppStoragePath: WideString;
begin
// try to get path to \Documents and Settings\<user>\Application Data
@@ -517,88 +394,9 @@
WideForceDirectories(Result);
end;
-function ValueFromIndex(S: TTntStrings; i: integer): WideString;
-begin
- if (i >= 0) and (i < S.Count) then
- begin
- Result := S[i];
- i := Pos('=', Result);
- if i > 0 then
- Result := Copy(Result, i + 1, MaxInt)
- else
- Result := '';
- end;
-end;
-
-function ValueFromIndex(S: TStrings; i: integer): AnsiString;
-var
- tmp: TTntStringlist;
-begin
- tmp := TTntStringlist.Create;
- try
- tmp.Assign(S);
- Result := ValueFromIndex(tmp, i);
- finally
- tmp.Free;
- end;
-end;
-
-{$IFOPT J+}
-{$DEFINE JOPTSET}
-{$ENDIF}
-{$J+ }
-
-function strtok(Search, Delim: WideString): WideString;
-const
-
- I: integer = 1;
- Len: integer = 0;
- PrvStr: WideString = '';
-begin
- Result := '';
- if Search <> '' then
- begin
- I := 1;
- PrvStr := Search;
- Len := Length(PrvStr);
- end;
- if PrvStr = '' then
- Exit;
- while (i <= Len) and (Pos(PrvStr[i], Delim) > 0) do
- Inc(I);
- while (i <= Len) and (Pos(PrvStr[i], Delim) = 0) do
- begin
- Result := Result + PrvStr[i];
- Inc(i);
- end;
-end;
-{$IFDEF JOPTSET}
-{$J- }
-{$ENDIF JOPTSET}
-{$UNDEF JOPTSET}
-
type
TAccessComboBox = class(TCustomComboBox);
-procedure SetXPComboStyle(AControl: TControl);
-var
- i: integer;
-begin
- if (AControl is TWinControl) then
- for i := 0 to TWinControl(AControl).ControlCount - 1 do
- begin
- if TWinControl(AControl).Controls[i] is TCustomComboBox then
- begin
- if Assigned(IsAppThemed) and IsAppThemed {Win32PlatformIsXP} then
- TAccessComboBox(TWinControl(AControl).Controls[i]).BevelKind := bkNone
- else
- TAccessComboBox(TWinControl(AControl).Controls[i]).BevelKind := bkFlat;
- end;
- if TWinControl(AControl).Controls[i] is TWinControl then
- SetXPComboStyle(TWinControl(TWinControl(AControl).Controls[i]));
- end;
-end;
-
procedure FixXPStyles(AControl: TWInControl);
var
i: integer;
@@ -627,46 +425,7 @@
Result := WideIncludeTrailingPathDelimiter(WideExtractFilePath(Application.ExeName)) + 'plugins';
end;
-function GetClipboardString(const Section, Name, Value: WideString): WideString;
-var
- S: TTntStringlist;
-begin
- S := TTntStringlist.Create;
- try
- S.Add(Section);
- S.Add(Name);
- S.Add(Value);
- Result := S.CommaText;
- finally
- S.Free;
- end;
-end;
-function ParseClipboardString(const Str: WideString; out Section, Name, Value: WideString): boolean;
-var
- S: TTntStringlist;
-begin
- S := TTntStringlist.Create;
- try
- S.CommaText := Str;
- if S.Count > 0 then
- Section := S[0]
- else
- Section := '';
- if S.Count > 1 then
- Name := S[1]
- else
- Name := '';
- if S.Count > 2 then
- Value := S[2]
- else
- Value := '';
- Result := S.Count > 2;
- finally
- S.Free;
- end;
-end;
-
procedure SaveAndFreeOptions;
begin
if FAppOptions <> nil then
Modified: translator/trunk/src/CommonUtils.pas
===================================================================
--- translator/trunk/src/CommonUtils.pas 2006-12-26 23:32:25 UTC (rev 242)
+++ translator/trunk/src/CommonUtils.pas 2007-01-11 22:57:41 UTC (rev 243)
@@ -45,14 +45,17 @@
function StrDefault(const S, Default: WideString): WideString;
function MyWideDequotedStr(const S: WideString; Quote: WideChar): WideString;
-function AutoWideDequotedStr(const S: WideString):WideString;
+function AutoWideDequotedStr(const S: WideString): WideString;
function MyWideQuotedStr(const S: WideString; Quote: WideChar): WideString;
function GetMinimizedFilename(const AFilename: WideString; Minimize: boolean): WideString;
function DoubleQuoteString(const S: WideString; CheckString: boolean = true): WideString;
-
function RunProcess(const Filename, Params: WideString; WorkingDir: WideString;
const WaitUntilTerminated, WaitUntilIdle: Boolean; const ShowCmd: Integer; var ResultCode: Cardinal): Boolean;
+function GetSpecialFolderLocation(const Folder: Integer): WideString;
+function WideSHGetFolderPath(hwnd: HWND; csidl: Integer; hToken: THandle; dwFlags: DWord; pszPath: PWideChar): HRESULT;
+function IsFileOpen(const Filename: WideString): boolean;
+
function SubStrCount(const SubStr, Str: WideString): integer;
function WideContainsChar(Ch: WideChar; const S: WideString): boolean;
function IsCharPunct(const S: WideChar): boolean;
@@ -65,15 +68,29 @@
function IsCharHex(const S: WideChar): boolean;
function IsCharAlpha(const S: WideChar): boolean;
+function GetClipboardString(const Section, Name, Value: WideString): WideString;
+function ParseClipboardString(const Str: WideString; out Section, Name, Value: WideString): boolean;
+
+// for Delphi 6
+function ValueFromIndex(S: TTntStrings; i: integer): WideString; overload;
+function ValueFromIndex(S: TStrings; i: integer): AnsiString; overload;
+function strtok(Search, Delim: WideString): WideString;
+
+function WideStartsText(const ASubText, AText: WideString): Boolean;
+function WideEndsText(const ASubText, AText: WideString): Boolean;
+
+function BinarySearch(AList: TList; L, R: integer; CompareItem: Pointer; CompareFunc: TListSortCompare; var Index: integer): boolean;
+
implementation
uses
Forms, Dialogs, Math, Registry, StrUtils,
+ ShlObj, ActiveX, ShFolder,
TntWindows, TntSysUtils, TntWideStrUtils;
-function AutoWideDequotedStr(const S: WideString):WideString;
+function AutoWideDequotedStr(const S: WideString): WideString;
begin
if (Length(S) > 1) and (S[1] in [WideChar(''''), WideChar('"')]) and
- (S[Length(S)] in [WideChar(''''), WideChar('"')]) then
+ (S[Length(S)] in [WideChar(''''), WideChar('"')]) then
Result := MyWideDequotedStr(S, S[1])
else
Result := S;
@@ -489,6 +506,92 @@
Result := True;
end;
+function PidlFree(var IdList: PItemIdList): Boolean;
+var
+ Malloc: IMalloc;
+begin
+ Result := False;
+ if IdList = nil then
+ Result := True
+ else
+ begin
+ if Succeeded(SHGetMalloc(Malloc)) and (Malloc.DidAlloc(IdList) > 0) then
+ begin
+ Malloc.Free(IdList);
+ IdList := nil;
+ Result := True;
+ end;
+ end;
+end;
+
+function PidlToPath(IdList: PItemIdList): WideString;
+begin
+ SetLength(Result, MAX_PATH);
+ if Tnt_SHGetPathFromIDListW(IdList, PWideChar(Result)) then
+ Result := WideString(PWideChar(Result))
+ else
+ Result := '';
+end;
+
+function GetSpecialFolderLocation(const Folder: Integer): WideString;
+var
+ FolderPidl: PItemIdList;
+begin
+ if Succeeded(SHGetSpecialFolderLocation(0, Folder, FolderPidl)) then
+ begin
+ Result := PidlToPath(FolderPidl);
+ PidlFree(FolderPidl);
+ end
+ else
+ Result := '';
+end;
+
+function SHGetFolderPathW2(hwnd: HWND; csidl: Integer; hToken: THandle; dwFlags: DWord; pszPath: PWideChar): HRESULT; stdcall; external 'SHFolder.dll' name 'SHGetFolderPathW';
+
+function WideSHGetFolderPath(hwnd: HWND; csidl: Integer; hToken: THandle; dwFlags: DWord; pszPath: PWideChar): HRESULT;
+var
+ AnsiBuff: AnsiString;
+begin
+ if Win32PlatformIsUnicode then
+ Result := SHGetFolderPathW2(hwnd, csidl, hToken, dwFlags, pszPath)
+ else
+ begin
+ SetLength(AnsiBuff, MAX_PATH * 2);
+ Result := SHGetFolderPathA(hwnd, csidl, hToken, dwFlags, PAnsiChar(AnsiBuff));
+ AnsiBuff := AnsiString(PAnsiChar(AnsiBuff));
+ WStrPLCopy(pszPath, AnsiBuff, Length(AnsiBuff));
+ end;
+end;
+
+function IsFileOpen(const Filename: WideString): boolean;
+var
+ hFile: THandle;
+ aLastError, aOldErrorMode: DWORD;
+begin
+ Result := false;
+ // don't display dialog when accessing removable drives without media
+ aOldErrorMode := SetErrorMode(SEM_FAILCRITICALERRORS);
+ try
+ hFile := Tnt_CreateFileW(PWideChar(Filename), OPEN_EXISTING, 0, nil, 0, 0, 0);
+ try
+ if hFile = INVALID_HANDLE_VALUE then
+ begin
+ // get error...
+ aLastError := GetLastError;
+ // check error...
+ Result := aLastError = ERROR_SHARING_VIOLATION;
+ // restore error
+ SetLastError(aLastError);
+ end;
+ finally
+ if hFile <> INVALID_HANDLE_VALUE then
+ CloseHandle(hFile);
+ end;
+ finally
+ SetErrorMode(aOldErrorMode);
+ end;
+end;
+
function SubStrCount(const SubStr, Str: WideString): integer;
var tmp: PWideChar;
begin
@@ -571,5 +674,154 @@
Result := IsCharType(S, CT_CTYPE1, C1_ALPHA);
end;
+function GetClipboardString(const Section, Name, Value: WideString): WideString;
+var
+ S: TTntStringlist;
+begin
+ S := TTntStringlist.Create;
+ try
+ S.Add(Section);
+ S.Add(Name);
+ S.Add(Value);
+ Result := S.CommaText;
+ finally
+ S.Free;
+ end;
+end;
+
+function ParseClipboardString(const Str: WideString; out Section, Name, Value: WideString): boolean;
+var
+ S: TTntStringlist;
+begin
+ S := TTntStringlist.Create;
+ try
+ S.CommaText := Str;
+ if S.Count > 0 then
+ Section := S[0]
+ else
+ Section := '';
+ if S.Count > 1 then
+ Name := S[1]
+ else
+ Name := '';
+ if S.Count > 2 then
+ Value := S[2]
+ else
+ Value := '';
+ Result := S.Count > 2;
+ finally
+ S.Free;
+ end;
+end;
+
+function ValueFromIndex(S: TTntStrings; i: integer): WideString;
+begin
+ if (i >= 0) and (i < S.Count) then
+ begin
+ Result := S[i];
+ i := Pos('=', Result);
+ if i > 0 then
+ Result := Copy(Result, i + 1, MaxInt)
+ else
+ Result := '';
+ end;
+end;
+
+function ValueFromIndex(S: TStrings; i: integer): AnsiString;
+var
+ tmp: TTntStringlist;
+begin
+ tmp := TTntStringlist.Create;
+ try
+ tmp.Assign(S);
+ Result := ValueFromIndex(tmp, i);
+ finally
+ tmp.Free;
+ end;
+end;
+
+{$IFOPT J+}
+{$DEFINE JOPTSET}
+{$ENDIF}
+{$J+ }
+
+function strtok(Search, Delim: WideString): WideString;
+const
+
+ I: integer = 1;
+ Len: integer = 0;
+ PrvStr: WideString = '';
+begin
+ Result := '';
+ if Search <> '' then
+ begin
+ I := 1;
+ PrvStr := Search;
+ Len := Length(PrvStr);
+ end;
+ if PrvStr = '' then
+ Exit;
+ while (i <= Len) and (Pos(PrvStr[i], Delim) > 0) do
+ Inc(I);
+ while (i <= Len) and (Pos(PrvStr[i], Delim) = 0) do
+ begin
+ Result := Result + PrvStr[i];
+ Inc(i);
+ end;
+end;
+{$IFDEF JOPTSET}
+{$J- }
+{$ENDIF JOPTSET}
+{$UNDEF JOPTSET}
+
+function WideStartsText(const ASubText, AText: WideString): Boolean;
+begin
+ if (ASubText <> '') and (AText <> '') then
+ Result := WideSameText(ASubText, Copy(AText, 1, Length(ASubText)))
+ else
+ Result := false;
+end;
+
+function WideEndsText(const ASubText, AText: WideString): Boolean;
+var
+ L: integer;
+begin
+ if not Win32PlatformIsUnicode then
+ Result := AnsiEndsText(ASubText, AText)
+ else
+ begin
+ L := Length(AText) - Length(ASubText);
+ if (L > 0) and (ASubText <> '') then
+ Result := WideSameText(ASubText, Copy(AText, L + 1, MaxInt))
+ else
+ Result := false;
+ end;
+end;
+
+function BinarySearch(AList: TList; L, R: integer; CompareItem: Pointer; CompareFunc: TListSortCompare; var Index: integer): boolean;
+var
+ M: integer;
+ CompareResult: integer;
+begin
+ while L <= R do
+ begin
+ M := (L + R) div 2;
+ CompareResult := CompareFunc(AList[M], CompareItem);
+ if (CompareResult < 0) then
+ L := M + 1
+ else if (CompareResult > 0) then
+ R := M - 1
+ else
+ begin
+ Index := M;
+ Result := true;
+ Exit;
+ end;
+ end;
+ // not found, should be located here:
+ Result := false;
+ Index := L;
+end;
+
end.
Modified: translator/trunk/src/translator.exe.manifest
===================================================================
--- translator/trunk/src/translator.exe.manifest 2006-12-26 23:32:25 UTC (rev 242)
+++ translator/trunk/src/translator.exe.manifest 2007-01-11 22:57:41 UTC (rev 243)
@@ -7,4 +7,12 @@
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*"/>
</dependentAssembly>
</dependency>
+ <!-- this is for Vista -->
+ <ms_asmv3:trustInfo xmlns:ms_asmv3="urn:schemas-microsoft-com:asm.v3">
+ <ms_asmv3:security xmlns:ms_asmv3="urn:schemas-microsoft-com:asm.v3">
+ <requestedPrivileges>
+ <requestedExecutionLevel level="asInvoker" uiAccess="true"></requestedExecutionLevel>
+ </requestedPrivileges>
+ </ms_asmv3:security>
+ </ms_asmv3:trustInfo>
</assembly>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pe...@us...> - 2007-08-14 12:26:28
|
Revision: 246
http://initranslator.svn.sourceforge.net/initranslator/?rev=246&view=rev
Author: peter3
Date: 2007-08-14 05:26:19 -0700 (Tue, 14 Aug 2007)
Log Message:
-----------
- modifications to compile with Delphi 2007
Modified Paths:
--------------
translator/trunk/src/CommonUtils.pas
translator/trunk/src/DCPPPlugin/DCPPParser.res
translator/trunk/src/ExceptDlg.dfm
translator/trunk/src/ExceptDlg.pas
translator/trunk/src/FoxitPlugin/FoxitParser.res
translator/trunk/src/IBForumsPlugin/IBForumsParser.res
translator/trunk/src/ImportExportFrm.pas
translator/trunk/src/KeePassPlugin/KeePassParser.res
translator/trunk/src/KeePassPlugin/KeePassParserImpl.pas
translator/trunk/src/MainFrm.dfm
translator/trunk/src/MozillaPlugin/MozillaDTDParser.res
translator/trunk/src/MozillaPlugin/MozillaPropsParser.res
translator/trunk/src/MsDictBuild/MainFrm.pas
translator/trunk/src/MsTermBuild/MainFrm.dfm
translator/trunk/src/MsTermBuild/MainFrm.pas
translator/trunk/src/OlegPlugin/OlegParser.res
translator/trunk/src/OpenOfficeGSIPlugin/OOGSIParser.res
translator/trunk/src/OrphansFrm.dfm
translator/trunk/src/OrphansFrm.pas
translator/trunk/src/PHPNukePlugin/PHPNukeParser.res
translator/trunk/src/PHPPlugin/PHPParser.res
translator/trunk/src/POPlugin/POParser.res
translator/trunk/src/PolyglotPlugin/PolyGlotParser.res
translator/trunk/src/SciTEPlugin/SciTEParser.res
translator/trunk/src/TMXPlugin/TMXParser.res
translator/trunk/src/TRANSLATOR.INC
translator/trunk/src/ToolConsistency/ToolConsistency.res
translator/trunk/src/ToolItems.pas
translator/trunk/src/ToolKeyCheck/ToolKeyCheck.res
translator/trunk/src/ToolListEdit/ToolListEdit.res
translator/trunk/src/ToolPropertiesView/ToolPropertiesView.res
translator/trunk/src/ToolTreeView/ToolTreeView.res
translator/trunk/src/ToolTrim/ToolTrim.res
translator/trunk/src/TranslateFile.pas
translator/trunk/src/WideIniFiles.pas
translator/trunk/src/WixPlugin/WixParser.res
translator/trunk/src/XLIFFPlugin/XLIFFParser.res
translator/trunk/src/XilisoftPlugin/XilisoftParser.res
translator/trunk/src/translator.dpr
translator/trunk/src/translator.res
Modified: translator/trunk/src/CommonUtils.pas
===================================================================
--- translator/trunk/src/CommonUtils.pas 2007-01-11 22:59:59 UTC (rev 245)
+++ translator/trunk/src/CommonUtils.pas 2007-08-14 12:26:19 UTC (rev 246)
@@ -16,6 +16,7 @@
}
// $Id$
unit CommonUtils;
+{$I TRANSLATOR.INC}
interface
uses
@@ -85,7 +86,7 @@
uses
Forms, Dialogs, Math, Registry, StrUtils,
ShlObj, ActiveX, ShFolder,
- TntWindows, TntSysUtils, TntWideStrUtils;
+ TntWindows, TntSysUtils, {$IFDEF COMPILER_9_UP}WideStrUtils{$ELSE}TntWideStrUtils{$ENDIF};
function AutoWideDequotedStr(const S: WideString): WideString;
begin
Modified: translator/trunk/src/DCPPPlugin/DCPPParser.res
===================================================================
(Binary files differ)
Modified: translator/trunk/src/ExceptDlg.dfm
===================================================================
--- translator/trunk/src/ExceptDlg.dfm 2007-01-11 22:59:59 UTC (rev 245)
+++ translator/trunk/src/ExceptDlg.dfm 2007-08-14 12:26:19 UTC (rev 246)
@@ -1,12 +1,11 @@
object ExceptionDialog: TExceptionDialog
Left = 360
Top = 150
+ Width = 497
+ Height = 444
ActiveControl = OkBtn
- AutoScroll = False
BorderIcons = [biSystemMenu]
Caption = 'ExceptionDialog'
- ClientHeight = 410
- ClientWidth = 472
Color = clBtnFace
Constraints.MinHeight = 235
Constraints.MinWidth = 480
@@ -26,7 +25,7 @@
OnResize = FormResize
OnShow = FormShow
DesignSize = (
- 472
+ 489
410)
PixelsPerInch = 96
TextHeight = 13
@@ -62,7 +61,7 @@
object pnlTop: TTntPanel
Left = 0
Top = 0
- Width = 472
+ Width = 489
Height = 64
Align = alTop
BevelInner = bvRaised
@@ -70,7 +69,7 @@
Color = clWhite
TabOrder = 3
DesignSize = (
- 472
+ 489
64)
object Label1: TTntLabel
Left = 8
Modified: translator/trunk/src/ExceptDlg.pas
===================================================================
--- translator/trunk/src/ExceptDlg.pas 2007-01-11 22:59:59 UTC (rev 245)
+++ translator/trunk/src/ExceptDlg.pas 2007-08-14 12:26:19 UTC (rev 246)
@@ -521,12 +521,12 @@
class procedure TExceptionDialog.ExceptionThreadHandler(Thread: TJclDebugThread);
begin
if ExceptionShowing then
- Application.ShowException(Thread.SyncException)
+ Application.ShowException(Thread.SyncException as Exception)
else
begin
ExceptionShowing := True;
try
- ShowException(Thread.SyncException, Thread);
+ ShowException(Thread.SyncException as Exception, Thread);
finally
ExceptionShowing := False;
end;
Modified: translator/trunk/src/FoxitPlugin/FoxitParser.res
===================================================================
(Binary files differ)
Modified: translator/trunk/src/IBForumsPlugin/IBForumsParser.res
===================================================================
(Binary files differ)
Modified: translator/trunk/src/ImportExportFrm.pas
===================================================================
--- translator/trunk/src/ImportExportFrm.pas 2007-01-11 22:59:59 UTC (rev 245)
+++ translator/trunk/src/ImportExportFrm.pas 2007-08-14 12:26:19 UTC (rev 246)
@@ -210,6 +210,7 @@
Result := 0;
APath := WideIncludeTrailingPathDelimiter(PluginFolder);
{$WARN SYMBOL_PLATFORM OFF}
+{$WARN SYMBOL_DEPRECATED OFF}
if WideFindFirst(APath + '*.dll', faAnyFile and not (faDirectory or faVolumeID), F) = 0 then
try
repeat
@@ -234,6 +235,8 @@
finally
WideFindClose(F);
end;
+{$WARN SYMBOL_PLATFORM ON}
+{$WARN SYMBOL_DEPRECATED ON}
if lvItems.Items.Count = 0 then
begin
// lvItems.Enabled := false;
Modified: translator/trunk/src/KeePassPlugin/KeePassParser.res
===================================================================
(Binary files differ)
Modified: translator/trunk/src/KeePassPlugin/KeePassParserImpl.pas
===================================================================
--- translator/trunk/src/KeePassPlugin/KeePassParserImpl.pas 2007-01-11 22:59:59 UTC (rev 245)
+++ translator/trunk/src/KeePassPlugin/KeePassParserImpl.pas 2007-08-14 12:26:19 UTC (rev 246)
@@ -18,6 +18,7 @@
// $Id$
unit KeePassParserImpl;
+{$I ..\TRANSLATOR.INC}
interface
uses
@@ -48,8 +49,8 @@
implementation
uses
Windows, SysUtils, Forms,
- TntWideStrUtils, WideIniFiles,
- SingleImportFrm, PreviewExportFrm,
+ {$IFDEF COMPILER_9_UP}WideStrUtils{$ELSE}TntWideStrUtils{$ENDIF},
+ WideIniFiles, SingleImportFrm, PreviewExportFrm,
KeePassParserLang;
{ TKeePassParser }
Modified: translator/trunk/src/MainFrm.dfm
===================================================================
--- translator/trunk/src/MainFrm.dfm 2007-01-11 22:59:59 UTC (rev 245)
+++ translator/trunk/src/MainFrm.dfm 2007-08-14 12:26:19 UTC (rev 246)
@@ -1,11 +1,11 @@
object frmMain: TfrmMain
Left = 379
Top = 181
- Width = 573
- Height = 455
Action = acAbout
ActiveControl = reTranslation
Caption = 'Ini Translator'
+ ClientHeight = 421
+ ClientWidth = 565
Color = clBtnFace
Constraints.MinHeight = 375
Constraints.MinWidth = 450
@@ -113,466 +113,466 @@
ProcessShortCuts = True
TabOrder = 0
object mnuFile: TSpTBXSubmenuItem
+ Caption = '&File'
OnSelect = mnuFileSelect
- CaptionW = '&File'
object OpenOriginal1: TSpTBXItem
+ Caption = 'Open Original...'
+ Hint = 'Open original and translation file'
Action = acOpenOrig
- CaptionW = 'Open Original...'
- HintW = 'Open original and translation file'
end
object TBXItem13: TSpTBXItem
+ Caption = 'Save Original'
+ Hint = 'Save current original file'
Action = acSaveOriginal
- CaptionW = 'Save Original'
- HintW = 'Save current original file'
end
object TBXItem1: TSpTBXItem
+ Caption = 'Save Original As...'
+ Hint = 'Save current original file with a new filename'
Action = acSaveOrigAs
- CaptionW = 'Save Original As...'
- HintW = 'Save current original file with a new filename'
end
object TBSeparatorItem3: TSpTBXSeparatorItem
end
object ClearTranslation1: TSpTBXItem
+ Caption = 'New Translation'
+ Hint = 'Create new translation'
Action = acNewTrans
- CaptionW = 'New Translation'
- HintW = 'Create new translation'
end
object OpenTranslation1: TSpTBXItem
+ Caption = 'Open Translation...'
+ Hint = 'Open existing translation file'
Action = acOpenTrans
- CaptionW = 'Open Translation...'
- HintW = 'Open existing translation file'
end
object SaveTranslation1: TSpTBXItem
+ Caption = 'Save Translation'
+ Hint = 'Save current translation file'
Action = acSaveTrans
- CaptionW = 'Save Translation'
- HintW = 'Save current translation file'
end
object SaveTranslationAs1: TSpTBXItem
+ Caption = 'Save Translation As...'
+ Hint = 'Save current translation with a new filename'
Action = acSaveTransAs
- CaptionW = 'Save Translation As...'
- HintW = 'Save current translation with a new filename'
end
object N1: TSpTBXSeparatorItem
end
object TBXItem4: TSpTBXItem
+ Caption = 'Import...'
+ Hint = 'Import from an external file or files'
Action = acImport
- CaptionW = 'Import...'
- HintW = 'Import from an external file or files'
end
object TBXItem3: TSpTBXItem
+ Caption = 'Export...'
+ Hint = 'Export to an external file or files'
Action = acExport
- CaptionW = 'Export...'
- HintW = 'Export to an external file or files'
end
object TBXSeparatorItem4: TSpTBXSeparatorItem
end
object SelectLanguage1: TSpTBXItem
+ Caption = 'Preferences...'
+ Hint = 'Display the settings dialog'
Action = acPreferences
- CaptionW = 'Preferences...'
- HintW = 'Display the settings dialog'
end
object TBSeparatorItem16: TSpTBXSeparatorItem
end
object miRecentlyUsed: TSpTBXSubmenuItem
+ Caption = 'Reopen'
DropdownCombo = True
- CaptionW = 'Reopen'
object TBMRUListItem1: TTBXMRUListItem
MRUList = MRUFiles
end
object TBSeparatorItem15: TSpTBXSeparatorItem
end
object TBItem31: TSpTBXItem
+ Caption = 'Clear'
+ Hint = 'Clear the MRU list'
Action = acClearMRU
- CaptionW = 'Clear'
- HintW = 'Clear the MRU list'
end
object TBItem32: TSpTBXItem
+ Caption = 'Remove Invalid'
+ Hint = 'Remove invalid entries from the MRU list'
Action = acClearInvalidMRU
- CaptionW = 'Remove Invalid'
- HintW = 'Remove invalid entries from the MRU list'
end
end
object N11: TSpTBXSeparatorItem
end
object Exit1: TSpTBXItem
+ Caption = 'Exit'
+ Hint = 'Exit application'
Action = acExit
- CaptionW = 'Exit'
- HintW = 'Exit application'
end
end
object Edit1: TSpTBXSubmenuItem
+ Caption = '&Edit'
ShortCut = 16474
- CaptionW = '&Edit'
object TBItem14: TSpTBXItem
+ Caption = 'Undo'
+ Hint = 'Undo last action'
Action = acUndo
- CaptionW = 'Undo'
- HintW = 'Undo last action'
end
object TBSeparatorItem8: TSpTBXSeparatorItem
end
object TBItem5: TSpTBXItem
+ Caption = 'Cut'
+ Hint = 'Cut selected text'
Action = acCut
- CaptionW = 'Cut'
- HintW = 'Cut selected text'
end
object TBItem7: TSpTBXItem
+ Caption = 'Copy'
+ Hint = 'Copy selected text'
Action = acCopy
- CaptionW = 'Copy'
- HintW = 'Copy selected text'
end
object acCopyFromOriginal1: TSpTBXItem
+ Caption = 'Copy from Original'
+ Hint = 'Copy the value of Original to Translation'
Action = acCopyFromOriginal
- CaptionW = 'Copy from Original'
- HintW = 'Copy the value of Original to Translation'
end
object TBItem13: TSpTBXItem
+ Caption = 'Copy from Name'
+ Hint = 'Copy the value of Name to Translation'
Action = acCopyFromName
- CaptionW = 'Copy from Name'
- HintW = 'Copy the value of Name to Translation'
end
object TBItem6: TSpTBXItem
+ Caption = 'Paste'
+ Hint = 'Paste from clipboard'
Action = acPaste
- CaptionW = 'Paste'
- HintW = 'Paste from clipboard'
end
object TBSeparatorItem6: TSpTBXSeparatorItem
end
object Find1: TSpTBXItem
+ Caption = 'Find...'
+ Hint = 'Search for text'
Action = acFind
- CaptionW = 'Find...'
- HintW = 'Search for text'
end
object FindNext1: TSpTBXItem
+ Caption = 'Find Next'
+ Hint = 'Continue searching'
Action = acFindNext
- CaptionW = 'Find Next'
- HintW = 'Continue searching'
end
object Replace1: TSpTBXItem
+ Caption = 'Replace...'
+ Hint = 'Replace text'
Action = acReplace
- CaptionW = 'Replace...'
- HintW = 'Replace text'
end
object N8: TSpTBXSeparatorItem
end
object ToggleFocus1: TSpTBXItem
+ Caption = 'Toggle Focus'
+ Hint = 'Toggle focus between list and translation'
Action = acToggleFocus
- CaptionW = 'Toggle Focus'
- HintW = 'Toggle focus between list and translation'
end
end
object Navigation1: TSpTBXSubmenuItem
- CaptionW = '&Actions'
+ Caption = '&Actions'
object tbxSpellCheck: TSpTBXItem
+ Caption = 'Spelling...'
+ Hint = 'Spell check the translations'
Action = acSpellCheck
- CaptionW = 'Spelling...'
- HintW = 'Spell check the translations'
end
object Previous1: TSpTBXItem
+ Caption = 'Previous'
+ Hint = 'Go to previous item in list'
Action = acPrev
- CaptionW = 'Previous'
- HintW = 'Go to previous item in list'
end
object Next1: TSpTBXItem
+ Caption = 'Next'
+ Hint = 'Go to next item in list'
Action = acNext
- CaptionW = 'Next'
- HintW = 'Go to next item in list'
end
object About2: TSpTBXSeparatorItem
end
object Previousuntranslated1: TSpTBXItem
+ Caption = 'Prev untranslated'
+ Hint = 'Go to previous untranslated item'
Action = acPrevUntranslated
- CaptionW = 'Prev untranslated'
- HintW = 'Go to previous untranslated item'
end
object Nextuntranslated1: TSpTBXItem
+ Caption = 'Next untranslated'
+ Hint = 'Go to next untranslated item'
Action = acNextUntranslated
- CaptionW = 'Next untranslated'
- HintW = 'Go to next untranslated item'
end
object SpTBXSeparatorItem1: TSpTBXSeparatorItem
end
object SpTBXItem2: TSpTBXItem
+ Caption = 'Use this translation everywhere'
+ Hint = 'Use this translation everywhere'
Action = acReplaceEverywhere
- CaptionW = 'Use this translation everywhere'
- HintW = 'Use this translation everywhere'
end
object SpTBXItem1: TSpTBXItem
+ Caption = 'Make all translations consistent'
Action = acMakeConsistent
- CaptionW = 'Make all translations consistent'
end
object N4: TSpTBXSeparatorItem
end
object Unsort1: TSpTBXItem
+ Caption = 'Restore original sort'
+ Hint = 'Restore original sort'
Action = acRestoreSort
- CaptionW = 'Restore original sort'
- HintW = 'Restore original sort'
end
object TBSeparatorItem10: TSpTBXSeparatorItem
end
object TBSubmenuItem3: TSpTBXSubmenuItem
- CaptionW = 'Toggle Bookmark'
+ Caption = 'Toggle Bookmark'
object TBItem41: TSpTBXItem
+ Caption = 'Bookmark 0'
+ Hint = 'Toggle Bookmark 0 on/off'
Action = acToggleBookmark0
Images = ilBookmarks
- CaptionW = 'Bookmark 0'
- HintW = 'Toggle Bookmark 0 on/off'
end
object TBItem40: TSpTBXItem
+ Caption = 'Bookmark 1'
+ Hint = 'Toggle Bookmark 1 on/off'
Action = acToggleBookmark1
Images = ilBookmarks
- CaptionW = 'Bookmark 1'
- HintW = 'Toggle Bookmark 1 on/off'
end
object TBItem39: TSpTBXItem
+ Caption = 'Bookmark 2'
+ Hint = 'Toggle Bookmark 2 on/off'
Action = acToggleBookmark2
Images = ilBookmarks
- CaptionW = 'Bookmark 2'
- HintW = 'Toggle Bookmark 2 on/off'
end
object TBItem38: TSpTBXItem
+ Caption = 'Bookmark 3'
+ Hint = 'Toggle Bookmark 3 on/off'
Action = acToggleBookmark3
Images = ilBookmarks
- CaptionW = 'Bookmark 3'
- HintW = 'Toggle Bookmark 3 on/off'
end
object TBItem37: TSpTBXItem
+ Caption = 'Bookmark 4'
+ Hint = 'Toggle Bookmark 4 on/off'
Action = acToggleBookmark4
Images = ilBookmarks
- CaptionW = 'Bookmark 4'
- HintW = 'Toggle Bookmark 4 on/off'
end
object TBItem30: TSpTBXItem
+ Caption = 'Bookmark 5'
+ Hint = 'Toggle Bookmark 5 on/off'
Action = acToggleBookmark5
Images = ilBookmarks
- CaptionW = 'Bookmark 5'
- HintW = 'Toggle Bookmark 5 on/off'
end
object TBItem28: TSpTBXItem
+ Caption = 'Bookmark 6'
+ Hint = 'Toggle Bookmark 6 on/off'
Action = acToggleBookmark6
Images = ilBookmarks
- CaptionW = 'Bookmark 6'
- HintW = 'Toggle Bookmark 6 on/off'
end
object TBItem26: TSpTBXItem
+ Caption = 'Bookmark 7'
+ Hint = 'Toggle Bookmark 7 on/off'
Action = acToggleBookmark7
Images = ilBookmarks
- CaptionW = 'Bookmark 7'
- HintW = 'Toggle Bookmark 7 on/off'
end
object TBItem23: TSpTBXItem
+ Caption = 'Bookmark 8'
+ Hint = 'Toggle Bookmark 8 on/off'
Action = acToggleBookmark8
Images = ilBookmarks
- CaptionW = 'Bookmark 8'
- HintW = 'Toggle Bookmark 8 on/off'
end
object TBItem22: TSpTBXItem
+ Caption = 'Bookmark 9'
+ Hint = 'Toggle Bookmark 9 on/off'
Action = acToggleBookmark9
Images = ilBookmarks
- CaptionW = 'Bookmark 9'
- HintW = 'Toggle Bookmark 9 on/off'
end
end
object TBSubmenuItem4: TSpTBXSubmenuItem
- CaptionW = 'Goto Bookmark'
+ Caption = 'Goto Bookmark'
object TBItem51: TSpTBXItem
+ Caption = 'Bookmark 0'
+ Hint = 'Goto Bookmark 0'
Action = acGotoBookmark0
Images = ilBookmarks
- CaptionW = 'Bookmark 0'
- HintW = 'Goto Bookmark 0'
end
object TBItem50: TSpTBXItem
+ Caption = 'Bookmark 1'
+ Hint = 'Goto Bookmark 1'
Action = acGotoBookmark1
Images = ilBookmarks
- CaptionW = 'Bookmark 1'
- HintW = 'Goto Bookmark 1'
end
object TBItem49: TSpTBXItem
+ Caption = 'Bookmark 2'
+ Hint = 'Goto Bookmark 2'
Action = acGotoBookmark2
Images = ilBookmarks
- CaptionW = 'Bookmark 2'
- HintW = 'Goto Bookmark 2'
end
object TBItem48: TSpTBXItem
+ Caption = 'Bookmark 3'
+ Hint = 'Goto Bookmark 3'
Action = acGotoBookmark3
Images = ilBookmarks
- CaptionW = 'Bookmark 3'
- HintW = 'Goto Bookmark 3'
end
object TBItem47: TSpTBXItem
+ Caption = 'Bookmark 4'
+ Hint = 'Goto Bookmark 4'
Action = acGotoBookmark4
Images = ilBookmarks
- CaptionW = 'Bookmark 4'
- HintW = 'Goto Bookmark 4'
end
object TBItem46: TSpTBXItem
+ Caption = 'Bookmark 5'
+ Hint = 'Goto Bookmark 5'
Action = acGotoBookmark5
Images = ilBookmarks
- CaptionW = 'Bookmark 5'
- HintW = 'Goto Bookmark 5'
end
object TBItem45: TSpTBXItem
+ Caption = 'Bookmark 6'
+ Hint = 'Goto Bookmark 6'
Action = acGotoBookmark6
Images = ilBookmarks
- CaptionW = 'Bookmark 6'
- HintW = 'Goto Bookmark 6'
end
object TBItem44: TSpTBXItem
+ Caption = 'Bookmark 7'
+ Hint = 'Goto Bookmark 7'
Action = acGotoBookmark7
Images = ilBookmarks
- CaptionW = 'Bookmark 7'
- HintW = 'Goto Bookmark 7'
end
object TBItem43: TSpTBXItem
+ Caption = 'Bookmark 8'
+ Hint = 'Goto Bookmark 8'
Action = acGotoBookmark8
Images = ilBookmarks
- CaptionW = 'Bookmark 8'
- HintW = 'Goto Bookmark 8'
end
object TBItem42: TSpTBXItem
+ Caption = 'Bookmark 9'
+ Hint = 'Goto Bookmark 9'
Action = acGotoBookmark9
Images = ilBookmarks
- CaptionW = 'Bookmark 9'
- HintW = 'Goto Bookmark 9'
end
end
object TBXSeparatorItem2: TSpTBXSeparatorItem
end
object TBXItem2: TSpTBXItem
+ Caption = 'Configure Keyboard...'
+ Hint = 'Display the keyboard configuration window'
Action = acConfigureKeyboard
- CaptionW = 'Configure Keyboard...'
- HintW = 'Display the keyboard configuration window'
end
end
object TBSubmenuItem2: TSpTBXSubmenuItem
- CaptionW = '&View'
+ Caption = '&View'
object TBItem36: TSpTBXItem
- Action = acFindUnmatchedShortCut
- CaptionW = 'Next unmatched shortcut'
- HintW =
+ Caption = 'Next unmatched shortcut'
+ Hint =
'Find next translated item that is missing a shortcut key present' +
' in the original'
+ Action = acFindUnmatchedShortCut
end
object TBItem55: TSpTBXItem
- Action = acNextSuspicious
- CaptionW = 'Next suspicious translation'
- HintW =
+ Caption = 'Next suspicious translation'
+ Hint =
'Move to next item that is suspected not being translated correct' +
'ly'
+ Action = acNextSuspicious
end
object TBXItem15: TSpTBXItem
+ Caption = 'Configure suspicious translations...'
+ Hint = 'Configure the behavior of Next Suspicious Translation'
Action = acConfigSuspicious
- CaptionW = 'Configure suspicious translations...'
- HintW = 'Configure the behavior of Next Suspicious Translation'
end
object N9: TSpTBXSeparatorItem
end
object ShowQuotes1: TSpTBXItem
+ Caption = 'Show Quotes'
+ Hint = 'Show quotes in texts'
Action = acShowQuotes
- CaptionW = 'Show Quotes'
- HintW = 'Show quotes in texts'
end
object ShowDetails1: TSpTBXItem
+ Caption = 'Show Key Details'
+ Hint = 'Display the details pane'
Action = acViewDetails
- CaptionW = 'Show Key Details'
- HintW = 'Display the details pane'
end
object N10: TSpTBXSeparatorItem
end
object TBItem16: TSpTBXItem
+ Caption = 'View Comments'
+ Hint = 'Toggle the comments window'
Action = acViewComments
- CaptionW = 'View Comments'
- HintW = 'Toggle the comments window'
end
object TBItem56: TSpTBXItem
- Action = acViewOrphans
- CaptionW = 'View Orphaned Items'
- HintW =
+ Caption = 'View Orphaned Items'
+ Hint =
'Display orphans (items in translation that are not in the origin' +
'al)'
+ Action = acViewOrphans
end
object TBXSeparatorItem3: TSpTBXSeparatorItem
end
object TBXVisibilityToggleItem1: TSpTBXItem
+ Caption = 'Tools'
Control = tbTools
- CaptionW = 'Tools'
end
object TBXItem8: TSpTBXItem
+ Caption = 'Full Screen'
+ Hint = 'Toggle full screen mode'
Action = acFullScreen
- CaptionW = 'Full Screen'
- HintW = 'Toggle full screen mode'
end
end
object Dictionary1: TSpTBXSubmenuItem
- CaptionW = '&Dictionary'
+ Caption = '&Dictionary'
object CreateDictionary1: TSpTBXItem
+ Caption = 'New Dictionary...'
+ Hint = 'Create new dictionary'
Action = acDictCreate
- CaptionW = 'New Dictionary...'
- HintW = 'Create new dictionary'
end
object LoadDictionary1: TSpTBXItem
+ Caption = 'Load Dictionary...'
+ Hint = 'Load existing dictionary'
Action = acDictLoad
- CaptionW = 'Load Dictionary...'
- HintW = 'Load existing dictionary'
end
object SaveDictionary1: TSpTBXItem
+ Caption = 'Save Dictionary...'
+ Hint = 'Save current dictionary to file'
Action = acDictSave
- CaptionW = 'Save Dictionary...'
- HintW = 'Save current dictionary to file'
end
object N5: TSpTBXSeparatorItem
end
object Translatewithdictionary1: TSpTBXItem
+ Caption = 'Translate using Dictionary'
+ Hint = 'Translate using the dictionary'
Action = acDictTranslate
- CaptionW = 'Translate using Dictionary'
- HintW = 'Translate using the dictionary'
end
object TBXItem6: TSpTBXItem
+ Caption = 'Add to Dictionary'
+ Hint = 'Add current item to the dictionary'
Action = acDictAdd
- CaptionW = 'Add to Dictionary'
- HintW = 'Add current item to the dictionary'
end
object N6: TSpTBXSeparatorItem
end
object TBXItem16: TSpTBXItem
+ Caption = 'Edit Dictionary...'
+ Hint = 'Edit the currently loaded dictionary'
Action = acDictEdit
- CaptionW = 'Edit Dictionary...'
- HintW = 'Edit the currently loaded dictionary'
end
object TBXSeparatorItem8: TSpTBXSeparatorItem
end
object acDictInvert1: TSpTBXItem
+ Caption = 'Invert Dictionary'
+ Hint = 'Invert the dictionary'
Action = acDictInvert
- CaptionW = 'Invert Dictionary'
- HintW = 'Invert the dictionary'
end
end
object mnuPlugins: TSpTBXSubmenuItem
+ Caption = '&Plugins'
Visible = False
OnPopup = mnuPluginsPopup
- CaptionW = '&Plugins'
end
object mnuTools: TSpTBXSubmenuItem
+ Caption = 'T&ools'
OnPopup = mnuToolsPopup
- CaptionW = 'T&ools'
object TBXItem10: TSpTBXItem
+ Caption = 'Customize...'
+ Hint = 'Display the tools window'
Action = acToolsCustomize
- CaptionW = 'Customize...'
- HintW = 'Display the tools window'
end
end
object Help1: TSpTBXSubmenuItem
- CaptionW = '&Help'
+ Caption = '&Help'
object Help2: TSpTBXItem
+ Caption = 'Help'
+ Hint = 'Show help file'
Action = acHelp
- CaptionW = 'Help'
- HintW = 'Show help file'
end
object N7: TSpTBXSeparatorItem
end
object About1: TSpTBXItem
+ Caption = 'About...'
+ Hint = 'Show about box'
Action = acAbout
- CaptionW = 'About...'
- HintW = 'Show about box'
end
end
end
@@ -591,96 +591,96 @@
Options = [tboLongHintInMenuOnly, tboShowHint]
TabOrder = 1
object TBItem1: TSpTBXItem
+ Caption = 'Open Original...'
+ Hint = 'Open original and translation file'
Action = acOpenOrig
- CaptionW = 'Open Original...'
- HintW = 'Open original and translation file'
end
object TBSeparatorItem2: TSpTBXSeparatorItem
end
object TBItem2: TSpTBXItem
+ Caption = 'New Translation'
+ Hint = 'Create new translation'
Action = acNewTrans
- CaptionW = 'New Translation'
- HintW = 'Create new translation'
end
object TBItem3: TSpTBXItem
+ Caption = 'Open Translation...'
+ Hint = 'Open existing translation file'
Action = acOpenTrans
- CaptionW = 'Open ...
[truncated message content] |
|
From: <pe...@us...> - 2007-10-21 15:49:50
|
Revision: 269
http://initranslator.svn.sourceforge.net/initranslator/?rev=269&view=rev
Author: peter3
Date: 2007-10-21 08:49:52 -0700 (Sun, 21 Oct 2007)
Log Message:
-----------
- option to change the font preview text
- localization of plugins implemented where missing and fixed where not working
Modified Paths:
--------------
translator/trunk/src/AppOptions.pas
translator/trunk/src/DCPPPlugin/DCPPParser.res
translator/trunk/src/DCPPPlugin/DCPPParserImpl.pas
translator/trunk/src/FoxitPlugin/FoxitParserImpl.pas
translator/trunk/src/MainFrm.dfm
translator/trunk/src/MainFrm.pas
translator/trunk/src/OptionsFrm.dfm
translator/trunk/src/OptionsFrm.pas
translator/trunk/src/PHPPlugin/PHPParser.dof
translator/trunk/src/PHPPlugin/PHPParser.res
translator/trunk/src/PolyglotPlugin/PolyGlotParser.dof
translator/trunk/src/PolyglotPlugin/PolyGlotParser.res
translator/trunk/src/PolyglotPlugin/PolyGlotParserImpl.pas
translator/trunk/src/ResXPlugin/ResXParserImpl.pas
translator/trunk/src/SDFSplit/MainFrm.pas
translator/trunk/src/SciTEPlugin/SciTEParserImpl.pas
translator/trunk/src/TMXPlugin/TMXParserImpl.pas
translator/trunk/src/ToolKeyCheck/ToolKeyCheck.dof
translator/trunk/src/ToolKeyCheck/ToolKeyCheck.res
translator/trunk/src/WixPlugin/WixParser.res
translator/trunk/src/WixPlugin/WixParserImpl.pas
translator/trunk/src/XLIFFPlugin/XLIFFParserImpl.pas
Modified: translator/trunk/src/AppOptions.pas
===================================================================
--- translator/trunk/src/AppOptions.pas 2007-10-21 15:43:41 UTC (rev 268)
+++ translator/trunk/src/AppOptions.pas 2007-10-21 15:49:52 UTC (rev 269)
@@ -138,6 +138,8 @@
FSectionEnd: WideString;
FSectionStart: WideString;
FSeparatorChars: WideString;
+
+ FPreviewText: WideString;
procedure ReadWindowInfos(ini:TWideCustomIniFile);
procedure WriteWindowInfos(ini:TWideCustomIniFile);
function GetWindowInfo(AForm:TForm):TAppWindowInfo;
@@ -188,6 +190,7 @@
property AppTitle:WideString read FAppTitle write FAppTitle;
property FontName:WideString read FFontName write FFontName;
property FontSize:integer read FFontSize write FFontSize;
+ property PreviewText:WideString read FPreviewText write FPreviewText;
property MonitorFiles:boolean read FMonitorFiles write FMonitorFiles default true;
property Theme:WideString read FTheme write FTheme;
property Header:TTntStrings read FHeader write SetHeader;
@@ -495,6 +498,7 @@
FFilename := AFilename;
FontName := ini.ReadString('Font', 'FontName', FontName);
FontSize := ini.ReadInteger('Font', 'FontSize', FontSize);
+ PreviewText := ini.ReadString('Font', 'PreviewText', PreviewText);
ShowQuotes := ini.ReadBool('General', 'ShowQuotes', ShowQuotes);
InvertDictionary := ini.ReadBool('General', 'InvertDictionary', InvertDictionary);
@@ -601,6 +605,7 @@
FFilename := AFilename;
ini.WriteString('Font', 'FontName', FontName);
ini.WriteInteger('Font', 'FontSize', FontSize);
+ ini.WriteString('Font', 'PreviewText', PreviewText);
ini.WriteBool('General', 'ShowQuotes', ShowQuotes);
ini.WriteBool('General', 'InvertDictionary', InvertDictionary);
Modified: translator/trunk/src/DCPPPlugin/DCPPParser.res
===================================================================
(Binary files differ)
Modified: translator/trunk/src/DCPPPlugin/DCPPParserImpl.pas
===================================================================
--- translator/trunk/src/DCPPPlugin/DCPPParserImpl.pas 2007-10-21 15:43:41 UTC (rev 268)
+++ translator/trunk/src/DCPPPlugin/DCPPParserImpl.pas 2007-10-21 15:49:52 UTC (rev 269)
@@ -109,9 +109,9 @@
begin
case Capability of
CAP_IMPORT:
- Result := cImportTitle;
+ Result := Translate(cImportTitle);
CAP_EXPORT:
- Result := cExportTitle;
+ Result := Translate(cExportTitle);
else
Result := '';
end;
@@ -167,9 +167,9 @@
begin
Result := true;
case FIndex of
- 0:Value := cImportTitle;
- 1:Value := cExportTitle;
- 3:Value := cDCPPFilter;
+ 0: Value := cImportTitle;
+ 1: Value := cExportTitle;
+ 2: Value := cDCPPFilter;
else
Result := false;
end;
Modified: translator/trunk/src/FoxitPlugin/FoxitParserImpl.pas
===================================================================
--- translator/trunk/src/FoxitPlugin/FoxitParserImpl.pas 2007-10-21 15:43:41 UTC (rev 268)
+++ translator/trunk/src/FoxitPlugin/FoxitParserImpl.pas 2007-10-21 15:49:52 UTC (rev 269)
@@ -23,13 +23,18 @@
Classes, Types, TntClasses, TntSysUtils, TransIntf;
type
- TFoxitParser = class(TInterfacedObject, IUnknown, IFileParser)
+ TFoxitParser = class(TInterfacedObject, IUnknown, IFileParser, ILocalizable)
private
FOldAppHandle:Cardinal;
+ FIndex:integer;
+ FApplicationServices:IApplicationServices;
FOrigFile, FTransFile:WideString;
procedure LoadSettings;
procedure SaveSettings;
procedure BuildPreview(Items:ITranslationItems; Strings:TTntStrings);
+ function Translate(Value: WideString): WideString;
+ function GetString(out Section: WideString; out Name: WideString;
+ out Value: WideString): WordBool; safecall;
public
constructor Create;
destructor Destroy; override;
@@ -53,6 +58,7 @@
cFoxitFilter = 'Foxit Files (*.xml)|*.xml|All files (*.*)|*.*';
cFoxitImportTitle = 'Import from Foxit file';
cFoxitExportTitle = 'Export to Foxit file';
+ cSectionName = 'Foxit';
cDialogItem = 'dlgitem';
cPopupItem = 'popup';
cMenuItem = 'menuitem';
@@ -74,6 +80,14 @@
Result := Tnt_WideStringReplace(Result, '>', '>', [rfReplaceAll]);
end;
+function TFoxitParser.Translate(Value:WideString):WideString;
+begin
+ if FApplicationServices <> nil then
+ Result := FApplicationServices.Translate(cSectionName, Value, Value)
+ else
+ Result := Value;
+end;
+
procedure TFoxitParser.BuildPreview(Items:ITranslationItems; Strings:TTntStrings);
var
i:integer;
@@ -118,9 +132,9 @@
begin
case Capability of
CAP_IMPORT:
- Result := cFoxitImportTitle;
+ Result := Translate(cFoxitImportTitle);
CAP_EXPORT:
- Result := cFoxitExportTitle;
+ Result := Translate(cFoxitExportTitle);
else
Result := '';
end;
@@ -139,7 +153,7 @@
S := TTntStringlist.Create;
try
BuildPreview(Items, S);
- if TfrmExport.Execute(FTransFile, cFoxitExportTitle, cFoxitFilter, '.', 'xml', S) then
+ if TfrmExport.Execute(FTransFile, Translate(cFoxitExportTitle), Translate(cFoxitFilter), '.', 'xml', S) then
begin
S.Text := WideStringToUTF8(S.Text);
S.AnsiStrings.SaveToFile(FTransFile);
@@ -155,6 +169,27 @@
end;
end;
+function TFoxitParser.GetString(out Section, Name,
+ Value: WideString): WordBool;
+begin
+ Result := true;
+ case FIndex of
+ 0:Value := cFoxitFilter;
+ 1:Value := cFoxitImportTitle;
+ 2:Value := cFoxitExportTitle;
+ else
+ Result := false;
+ end;
+ if Result then
+ begin
+ Section := cSectionName;
+ Name := Value;
+ Inc(FIndex);
+ end
+ else
+ FIndex := 0;
+end;
+
function TFoxitParser.ImportItems(const Items, Orphans:ITranslationItems):HRESULT;
type
TFoundItem = (fiOriginal, fiTranslation);
@@ -248,7 +283,7 @@
Items.Clear;
Orphans.Clear;
LoadSettings;
- if TfrmDualImport.Execute(FOrigFile, FTransFile, cFoxitImportTitle, cFoxitFilter, '.', 'xml') then
+ if TfrmDualImport.Execute(FOrigFile, FTransFile, Translate(cFoxitImportTitle), Translate(cFoxitFilter), '.', 'xml') then
begin
FXMLImport := TXMLDocument.Create(FOrigFile);
try
@@ -288,6 +323,7 @@
procedure TFoxitParser.Init(const ApplicationServices:IApplicationServices);
begin
Application.Handle := ApplicationServices.AppHandle;
+ FApplicationServices := ApplicationServices;
end;
procedure TFoxitParser.LoadSettings;
Modified: translator/trunk/src/MainFrm.dfm
===================================================================
--- translator/trunk/src/MainFrm.dfm 2007-10-21 15:43:41 UTC (rev 268)
+++ translator/trunk/src/MainFrm.dfm 2007-10-21 15:49:52 UTC (rev 269)
@@ -1,11 +1,11 @@
object frmMain: TfrmMain
Left = 379
Top = 181
+ Width = 573
+ Height = 453
Action = acAbout
ActiveControl = reTranslation
Caption = 'Ini Translator'
- ClientHeight = 421
- ClientWidth = 565
Color = clBtnFace
Constraints.MinHeight = 375
Constraints.MinWidth = 450
@@ -21,7 +21,7 @@
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
- object StatusBar1: TTBXStatusBar
+ object sbBottom: TTBXStatusBar
Left = 0
Top = 402
Width = 565
@@ -889,7 +889,7 @@
ParentBackground = False
ParentFont = False
TabOrder = 0
- object lblViewDetails: TLabel
+ object lblViewDetails: TTntLabel
Left = 4
Top = 4
Width = 527
Modified: translator/trunk/src/MainFrm.pas
===================================================================
--- translator/trunk/src/MainFrm.pas 2007-10-21 15:43:41 UTC (rev 268)
+++ translator/trunk/src/MainFrm.pas 2007-10-21 15:49:52 UTC (rev 269)
@@ -67,7 +67,7 @@
type
TfrmMain = class(TfrmBase)
- StatusBar1:TTBXStatusBar;
+ sbBottom: TTBXStatusBar;
alMain:TTntActionList;
acOpenOrig:TTntAction;
acOpenTrans:TTntAction;
@@ -302,7 +302,7 @@
lvTranslateStrings:TTntListView;
pnlKeyBack:TTntPanel;
pnlKeyDetails:TTntPanel;
- lblViewDetails:TLabel;
+ lblViewDetails: TTntLabel;
acTestExceptionHandler:TTntAction;
acDictAdd:TTntAction;
TBXItem6:TSpTBXItem;
@@ -728,6 +728,8 @@
finally
reTranslation.Modified := m;
end;
+ lblViewDetails.Font.Name := GlobalAppOptions.FontName;
+
Application.ShowHint := GlobalAppOptions.ShowToolTips;
Application.HintShortCuts := GlobalAppOptions.ShowToolTipShortCuts;
ShowHint := Application.ShowHint;
@@ -1489,44 +1491,44 @@
end;
begin
if Modified then
- StatusBar1.Panels[0].Caption := ' ' + _(ClassName, SModified)
+ sbBottom.Panels[0].Caption := ' ' + _(ClassName, SModified)
else
- StatusBar1.Panels[0].Caption := ' ' + _(ClassName, SReady);
+ sbBottom.Panels[0].Caption := ' ' + _(ClassName, SReady);
if SelectedItem <> nil then
begin
- StatusBar1.Panels[1].Caption := ' ' + SelectedItem.Section;
- StatusBar1.Panels[2].Caption := ' ' + SelectedItem.Name;
+ sbBottom.Panels[1].Caption := ' ' + SelectedItem.Section;
+ sbBottom.Panels[2].Caption := ' ' + SelectedItem.Name;
with SelectedItem do
lblViewDetails.Caption := WideFormat(_(ClassName, SFmtKeyDetails), [Section, Name]);
end
else
begin
- StatusBar1.Panels[1].Caption := '';
- StatusBar1.Panels[2].Caption := '';
+ sbBottom.Panels[1].Caption := '';
+ sbBottom.Panels[2].Caption := '';
lblViewDetails.Caption := Application.Title;
end;
// very simple, but should work *most* of the time...
lblViewDetails.Font.Height := -CalcMaxFontSize(lblViewDetails.Canvas, lblViewDetails.Caption, lblViewDetails.Width,
14, 7);
- StatusBar1.Panels[3].Caption := ' ' + WideFormat(_(ClassName, SFmtItemsCount), [FTranslateFile.Items.Count]);
+ sbBottom.Panels[3].Caption := ' ' + WideFormat(_(ClassName, SFmtItemsCount), [FTranslateFile.Items.Count]);
if SaveDictDlg.FileName <> '' then
- StatusBar1.Panels[4].Caption := ' ' + ExtractFileName(SaveDictDlg.FileName)
+ sbBottom.Panels[4].Caption := ' ' + ExtractFileName(SaveDictDlg.FileName)
else
- StatusBar1.Panels[4].Caption := ' ' + _(ClassName, SNoDictionary);
+ sbBottom.Panels[4].Caption := ' ' + _(ClassName, SNoDictionary);
if acDictInvert.Checked then
- StatusBar1.Panels[4].Caption := StatusBar1.Panels[4].Caption + WideFormat(' (%s)', [_(ClassName,
+ sbBottom.Panels[4].Caption := sbBottom.Panels[4].Caption + WideFormat(' (%s)', [_(ClassName,
SDictInverted)]);
- StatusBar1.Panels[5].Caption := WideFormat(_(ClassName, ' %d | %d | %d | %f%%'),
+ sbBottom.Panels[5].Caption := WideFormat(_(ClassName, ' %d | %d | %d | %f%%'),
[FTranslateFile.Items.Count, FTranslateFile.Items.TranslatedCount, FTranslateFile.Items.Count - FTranslateFile.Items.TranslatedCount, SafeDiv(FTranslateFile.Items.TranslatedCount, FTranslateFile.Items.Count) * 100]);
pbTranslated.Max := FTranslateFile.Items.Count;
pbTranslated.Position := FTranslateFile.Items.TranslatedCount;
pbTranslated.Hint := ' ' + WideFormat(_(ClassName, SFmtCountOfCountTranslated), [FTranslateFile.Items.TranslatedCount,
FTranslateFile.Items.Count]);
- // StatusBar1.Panels[6].Caption := ''; this is the progress bar
- StatusBar1.Panels[7].Caption := WideFormat(_(ClassName, SFmtOrphansCount), [FTranslateFile.Orphans.Count]);
- for i := 0 to StatusBar1.Panels.Count - 1 do
- StatusBar1.Panels[i].Hint := StatusBar1.Panels[i].Caption;
+ // sbBottom.Panels[6].Caption := ''; this is the progress bar
+ sbBottom.Panels[7].Caption := WideFormat(_(ClassName, SFmtOrphansCount), [FTranslateFile.Orphans.Count]);
+ for i := 0 to sbBottom.Panels.Count - 1 do
+ sbBottom.Panels[i].Hint := sbBottom.Panels[i].Caption;
UpdateColumn(0, GlobalAppOptions.OriginalFile);
UpdateColumn(1, GlobalAppOptions.TranslationFile);
@@ -3684,7 +3686,7 @@
// adjust UI
if acFullScreen.Checked then
begin
- StatusBar1.Visible := false;
+ sbBottom.Visible := false;
tbTools.Tag := Ord(tbTools.Visible);
tbTools.Visible := false;
BorderStyle := bsNone;
@@ -3692,7 +3694,7 @@
end
else
begin
- StatusBar1.Visible := true;
+ sbBottom.Visible := true;
tbTools.Visible := tbTools.Visible or (tbTools.Tag = 1);
BorderStyle := bsSizeable;
P.showCmd := SW_RESTORE;
Modified: translator/trunk/src/OptionsFrm.dfm
===================================================================
--- translator/trunk/src/OptionsFrm.dfm 2007-10-21 15:43:41 UTC (rev 268)
+++ translator/trunk/src/OptionsFrm.dfm 2007-10-21 15:49:52 UTC (rev 269)
@@ -237,14 +237,30 @@
OnClick = btnHelpClick
end
object pnlFontPreview: TTntPanel
- Left = 245
- Top = 179
+ Left = 243
+ Top = 178
Width = 202
Height = 21
+ Hint =
+ 'Click to edit, click again to save. To restore default preview,' +
+ ' clear the text.'
Anchors = [akLeft, akRight, akBottom]
BevelKind = bkFlat
BevelOuter = bvNone
TabOrder = 12
+ OnClick = pnlFontPreviewClick
+ object edPreview: TTntEdit
+ Left = 0
+ Top = 0
+ Width = 198
+ Height = 17
+ Align = alClient
+ BorderStyle = bsNone
+ TabOrder = 0
+ Visible = False
+ OnClick = edPreviewClick
+ OnExit = edPreviewExit
+ end
end
object chkUseTranslationEverywhere: TTntCheckBox
Left = 214
Modified: translator/trunk/src/OptionsFrm.pas
===================================================================
--- translator/trunk/src/OptionsFrm.pas 2007-10-21 15:43:41 UTC (rev 268)
+++ translator/trunk/src/OptionsFrm.pas 2007-10-21 15:49:52 UTC (rev 269)
@@ -77,6 +77,7 @@
TntLabel5:TTntLabel;
cbFontSizes:TTntComboBox;
TntLabel6:TTntLabel;
+ edPreview: TTntEdit;
procedure chkShowToolTipsClick(Sender:TObject);
procedure chkReturnToSaveClick(Sender:TObject);
procedure btnLanguageClick(Sender:TObject);
@@ -85,6 +86,9 @@
procedure btnColorsClick(Sender:TObject);
procedure cbFontsChange(Sender:TObject);
procedure cbFontSizesChange(Sender:TObject);
+ procedure pnlFontPreviewClick(Sender: TObject);
+ procedure edPreviewClick(Sender: TObject);
+ procedure edPreviewExit(Sender: TObject);
private
{ Private declarations }
@@ -175,10 +179,14 @@
procedure TfrmOptions.UpdatePreview;
begin
+ edPreview.Visible := false;
pnlFontPreview.Font.Name := cbFonts.Text;
pnlFontPreview.Font.Size := StrToIntDef(cbFontSizes.Text, pnlFontPreview.Font.Size);
with pnlFontPreview do
- Caption := WideFormat('%s, %dpt', [Font.Name, Font.Size]);
+ if edPreview.Text <> '' then
+ Caption := edPreview.Text
+ else
+ Caption := WideFormat('%s, %dpt', [Font.Name, Font.Size]);
end;
procedure TfrmOptions.btnColorsClick(Sender:TObject);
@@ -210,6 +218,7 @@
edHelp.Text := Options.HelpFile;
pnlFontPreview.Font.Name := Options.FontName;
pnlFontPreview.Font.Size := Options.FontSize;
+ edPreview.Text := Options.PreviewText;
reHeader.Lines := Options.Header;
reFooter.Lines := Options.Footer;
@@ -245,7 +254,9 @@
Options.HelpFile := edHelp.Text;
Options.FontName := pnlFontPreview.Font.Name;
Options.FontSize := pnlFontPreview.Font.Size;
+ Options.PreviewText := edPreview.Text;
+
Options.Header := reHeader.Lines;
Options.Footer := reFooter.Lines;
@@ -367,4 +378,21 @@
UpdatePreview;
end;
+procedure TfrmOptions.pnlFontPreviewClick(Sender: TObject);
+begin
+ edPreview.Text := pnlFontPreview.Caption;
+ edPreview.Visible := true;
+ Windows.SetFocus(edPreview.Handle);
+end;
+
+procedure TfrmOptions.edPreviewClick(Sender: TObject);
+begin
+ UpdatePreview;
+end;
+
+procedure TfrmOptions.edPreviewExit(Sender: TObject);
+begin
+ UpdatePreview;
+end;
+
end.
Modified: translator/trunk/src/PHPPlugin/PHPParser.dof
===================================================================
--- translator/trunk/src/PHPPlugin/PHPParser.dof 2007-10-21 15:43:41 UTC (rev 268)
+++ translator/trunk/src/PHPPlugin/PHPParser.dof 2007-10-21 15:49:52 UTC (rev 269)
@@ -20,7 +20,6 @@
PackageDLLOutputDir=
PackageDCPOutputDir=
SearchPath=
-Packages=
Conditionals=
DebugSourceDirs=
UsePackages=0
@@ -53,6 +52,6 @@
LegalTrademarks=
OriginalFilename=PHPParser.dll
ProductName=PHP Plugin for IniTranslator
-ProductVersion=1.9.0.50
+ProductVersion=1.9.0.51
Comments=Latest version at http://initranslator.sourceforge.net
-CompileDate=den 27 december 2006 00:13
+CompileDate=den 18 oktober 2007 19:57
Modified: translator/trunk/src/PHPPlugin/PHPParser.res
===================================================================
(Binary files differ)
Modified: translator/trunk/src/PolyglotPlugin/PolyGlotParser.dof
===================================================================
--- translator/trunk/src/PolyglotPlugin/PolyGlotParser.dof 2007-10-21 15:43:41 UTC (rev 268)
+++ translator/trunk/src/PolyglotPlugin/PolyGlotParser.dof 2007-10-21 15:49:52 UTC (rev 269)
@@ -5,7 +5,7 @@
UnsafeCode=0
UnsafeCast=0
[Linker]
-MapFile=0
+MapFile=3
OutputObjs=0
ConsoleApp=1
DebugInfo=0
@@ -53,6 +53,6 @@
LegalTrademarks=
OriginalFilename=PolyGlotParser.dll
ProductName=PolyGlotTranslator Plugin for IniTranslator
-ProductVersion=1.9.0.50
+ProductVersion=1.9.0.51
Comments=Latest version at http://initranslator.sourceforge.net
-CompileDate=den 27 december 2006 00:13
+CompileDate=den 18 oktober 2007 19:57
Modified: translator/trunk/src/PolyglotPlugin/PolyGlotParser.res
===================================================================
(Binary files differ)
Modified: translator/trunk/src/PolyglotPlugin/PolyGlotParserImpl.pas
===================================================================
--- translator/trunk/src/PolyglotPlugin/PolyGlotParserImpl.pas 2007-10-21 15:43:41 UTC (rev 268)
+++ translator/trunk/src/PolyglotPlugin/PolyGlotParserImpl.pas 2007-10-21 15:49:52 UTC (rev 269)
@@ -32,14 +32,19 @@
Classes, Types, TntClasses, TransIntf;
type
- TPolyGlotParser = class(TInterfacedObject, IUnknown, IFileParser)
+ TPolyGlotParser = class(TInterfacedObject, IUnknown, IFileParser, ILocalizable)
private
FOldAppHandle:Cardinal;
+ FIndex:integer;
+ FApplicationServices:IApplicationServices;
FTransFile, FOrigFile:WideString;
FSection:WideString;
procedure LoadSettings;
procedure SaveSettings;
procedure BuildPreview(Items:ITranslationItems; Strings:TTntStrings);
+ function GetString(out Section: WideString; out Name: WideString;
+ out Value: WideString): WordBool; safecall;
+ function Translate(const Value: WideString): WideString;
public
constructor Create;
destructor Destroy; override;
@@ -52,6 +57,7 @@
function ImportItems(const Items:ITranslationItems;
const Orphans:ITranslationItems):HRESULT; safecall;
procedure Init(const ApplicationServices:IApplicationServices); safecall;
+
end;
implementation
@@ -62,10 +68,18 @@
cPolyGlotFilter = 'PolyGlot Translator Files (*.lng)|*.lng|All files (*.*)|*.*';
cPolyGlotImportTitle = 'Import from PolyGlot Translator file';
cPolyGlotExportTitle = 'Export to PolyGlot Translator file';
- //cSectionName = 'PolyGlot Translator';
+ cSectionName = 'PolyGlot';
{ TPolyGlotParser }
+function TPolyGlotParser.Translate(const Value:WideString):WideString;
+begin
+ if FApplicationServices <> nil then
+ Result := FApplicationServices.Translate(cSectionName, Value, Value)
+ else
+ Result := Value;
+end;
+
procedure TPolyGlotParser.BuildPreview(Items:ITranslationItems; Strings:TTntStrings);
var
i:integer;
@@ -114,9 +128,9 @@
begin
case Capability of
CAP_IMPORT:
- Result := cPolyGlotImportTitle;
+ Result := Translate(cPolyGlotImportTitle);
CAP_EXPORT:
- Result := cPolyGlotExportTitle;
+ Result := Translate(cPolyGlotExportTitle);
else
Result := '';
end;
@@ -137,7 +151,7 @@
S := TTntStringlist.Create;
try
BuildPreview(Items, S);
- if TfrmExport.Execute(FTransFile, cPolyGlotExportTitle, cPolyGlotFilter, '.', 'lng', S) then
+ if TfrmExport.Execute(FTransFile, Translate(cPolyGlotExportTitle), Translate(cPolyGlotFilter), '.', 'lng', S) then
begin
S.AnsiStrings.SaveToFile(FTransFile);
Result := S_OK;
@@ -152,6 +166,27 @@
end;
end;
+function TPolyGlotParser.GetString(out Section, Name,
+ Value: WideString): WordBool;
+begin
+ Result := true;
+ case FIndex of
+ 0: Value := cPolyGlotFilter;
+ 1: Value := cPolyGlotImportTitle;
+ 2: Value := cPolyGlotExportTitle;
+ else
+ Result := false;
+ end;
+ if Result then
+ begin
+ Section := cSectionName;
+ Name := Value;
+ Inc(FIndex);
+ end
+ else
+ FIndex := 0;
+end;
+
function TPolyGlotParser.ImportItems(const Items, Orphans:ITranslationItems):HRESULT;
var
S:TTntStringlist;
@@ -164,7 +199,7 @@
Orphans.Clear;
TI := nil;
LoadSettings;
- if TfrmDualImport.Execute(FOrigFile, FTransFile, cPolyGlotImportTitle, cPolyGlotFilter, '.', 'lng', True) then
+ if TfrmDualImport.Execute(FOrigFile, FTransFile, Translate(cPolyGlotImportTitle), Translate(cPolyGlotFilter), '.', 'lng', True) then
begin
Items.Sort := stNone;
S := TTntStringlist.Create;
@@ -233,6 +268,7 @@
procedure TPolyGlotParser.Init(const ApplicationServices:IApplicationServices);
begin
Application.Handle := ApplicationServices.AppHandle;
+ FApplicationServices := ApplicationServices;
end;
procedure TPolyGlotParser.LoadSettings;
Modified: translator/trunk/src/ResXPlugin/ResXParserImpl.pas
===================================================================
--- translator/trunk/src/ResXPlugin/ResXParserImpl.pas 2007-10-21 15:43:41 UTC (rev 268)
+++ translator/trunk/src/ResXPlugin/ResXParserImpl.pas 2007-10-21 15:49:52 UTC (rev 269)
@@ -23,9 +23,10 @@
SysUtils, TransIntf;
type
- TResXParser = class(TInterfacedObject, IInterface, IFileParser)
+ TResXParser = class(TInterfacedObject, IInterface, IFileParser, ILocalizable)
private
FOldAppHandle:Cardinal;
+ Findex:integer;
FApplicationServices:IApplicationServices;
FOrigFilename, FTransFilename, FMimeTypes:WideString;
FMetaData:boolean;
@@ -41,6 +42,8 @@
function ImportItems(const Items:ITranslationItems;
const Orphans:ITranslationItems):HRESULT; safecall;
procedure Init(const ApplicationServices:IApplicationServices); safecall;
+ function GetString(out Section: WideString; out Name: WideString;
+ out Value: WideString): WordBool; safecall;
public
constructor Create;
destructor Destroy; override;
@@ -52,8 +55,8 @@
* orphans in the translation are added to the orphans list but there is no way to add them back into
the original or translation
}
-
+
implementation
uses
Forms, Dialogs, xmldoc, xmldom, xmlintf,
@@ -64,7 +67,7 @@
cResXImportTitle = 'Import from ResX file';
cResXExportTitle = 'Export to ResX file';
cResXFilter = 'ResX files (*.resx)|*.resx|All files (*.*)|*.*';
- cSection = 'ResX';
+ cSectionName = 'ResX';
var
XML:WideString = '';
@@ -157,7 +160,7 @@
if Encoding = '' then
Encoding := 'UTF-8';
XmlDoc.Encoding := Encoding;
- XmlDoc.StandAlone := 'yes';
+
XmlDoc.SaveToFile(FTransFilename);
Result := S_OK;
end;
@@ -169,6 +172,27 @@
end;
end;
+function TResXParser.GetString(out Section, Name,
+ Value: WideString): WordBool;
+begin
+ Result := true;
+ case FIndex of
+ 0: Value := cResXFilter;
+ 1: Value := cResXImportTitle;
+ 2: Value := cResXExportTitle;
+ else
+ Result := false;
+ end;
+ if Result then
+ begin
+ Section := cSectionName;
+ Name := Value;
+ Inc(FIndex);
+ end
+ else
+ FIndex := 0;
+end;
+
function TResXParser.ImportItems(const Items, Orphans:ITranslationItems):HRESULT;
var
@@ -275,7 +299,7 @@
if IsMatchingNode(ParentNode, TargetNode, CommentNode, Name) then
begin
TI := Items.Add;
- TI.Section := cSection;
+ TI.Section := cSectionName;
TI.Name := Name;
if CommentNode <> nil then
TI.OrigComments := StripTags((CommentNode as IDOMNodeEx).xml);
@@ -295,7 +319,7 @@
ParentNode := NodeList[i];
if IsMatchingNode(ParentNode, TargetNode, CommentNode, Name) then
begin
- j := Items.IndexOf(cSection,Name);
+ j := Items.IndexOf(cSectionName,Name);
if j >= 0 then
begin
TI := Items[j];
@@ -309,7 +333,7 @@
else // not found in original, add to orphans
begin
TI := Orphans.Add;
- TI.Section := cSection;
+ TI.Section := cSectionName;
TI.Name := Name;
if CommentNode <> nil then
TI.OrigComments := StripTags((CommentNode as IDOMNodeEx).xml);
@@ -400,7 +424,7 @@
function TResXParser.Translate(const Value:WideString):WideString;
begin
if FApplicationServices <> nil then
- Result := FApplicationServices.Translate(ClassName, Value, Value)
+ Result := FApplicationServices.Translate(cSectionName, Value, Value)
else
Result := Value;
end;
Modified: translator/trunk/src/SDFSplit/MainFrm.pas
===================================================================
--- translator/trunk/src/SDFSplit/MainFrm.pas 2007-10-21 15:43:41 UTC (rev 268)
+++ translator/trunk/src/SDFSplit/MainFrm.pas 2007-10-21 15:49:52 UTC (rev 269)
@@ -102,6 +102,7 @@
S := 'File does not exist';
edSDFFile.SetFocus;
end;
+ ForceDirectories(edSaveFolder.Text);
if not DirectoryExists(edSaveFolder.Text) then
begin
S := 'Output folder does not exist';
@@ -172,6 +173,7 @@
end;
begin
aBaseFolder := IncludeTrailingPathDelimiter(OutputFolder);
+ ForceDirectories(aBaseFolder);
aFileNameTemplate := ExtractFileName(Filename);
S := TStringlist.Create;
FLanguages := TStringlist.Create;
Modified: translator/trunk/src/SciTEPlugin/SciTEParserImpl.pas
===================================================================
--- translator/trunk/src/SciTEPlugin/SciTEParserImpl.pas 2007-10-21 15:43:41 UTC (rev 268)
+++ translator/trunk/src/SciTEPlugin/SciTEParserImpl.pas 2007-10-21 15:49:52 UTC (rev 269)
@@ -29,15 +29,20 @@
type
- TSciTEParser = class(TInterfacedObject, IUnknown, IFileParser)
+ TSciTEParser = class(TInterfacedObject, IUnknown, IFileParser, ILocalizable)
private
FOldHandle:LongWord;
FTransFile:WideString;
FExportRect:TRect;
+ FIndex:integer;
+ FApplicationServices:IApplicationServices;
procedure BuildPreview(const Items:ITranslationItems; Strings:TTntStrings);
function DoSciTEImport(const Items, Orphans:ITranslationItems; const TransFile:WideString):boolean;
procedure LoadSettings;
procedure SaveSettings;
+ function GetString(out Section: WideString; out Name: WideString;
+ out Value: WideString): WordBool; safecall;
+ function Translate(const Value: WideString): WideString;
public
constructor Create;
destructor Destroy; override;
@@ -51,7 +56,8 @@
implementation
uses
- Windows, Forms, IniFiles, CommonUtils, PreviewExportFrm, SingleImportFrm;
+ Windows, Forms, IniFiles,
+ CommonUtils, PreviewExportFrm, SingleImportFrm;
const
cSciTEFilter = 'SciTE files (locale.properties)|*.properties|All files (*.*)|*.*';
@@ -73,6 +79,14 @@
{ TSciTEParser }
+function TSciTEParser.Translate(const Value:WideString):WideString;
+begin
+ if FApplicationServices <> nil then
+ Result := FApplicationServices.Translate(cSectionName, Value, Value)
+ else
+ Result := Value;
+end;
+
function TSciTEParser.Capabilities:Integer;
begin
Result := CAP_IMPORT or CAP_EXPORT;
@@ -122,8 +136,8 @@
function TSciTEParser.DisplayName(Capability:Integer):WideString;
begin
case Capability of
- CAP_IMPORT:Result := cSciTEImportTitle;
- CAP_EXPORT:Result := cSciTEExportTitle;
+ CAP_IMPORT:Result := Translate(cSciTEImportTitle);
+ CAP_EXPORT:Result := Translate(cSciTEExportTitle);
// CAP_CONFIGURE : Result := 'Configure';
else
Result := '';
@@ -214,7 +228,7 @@
S := TTntStringlist.Create;
try
BuildPreview(Items, S);
- if TfrmExport.Execute(FTransFile, cSciTEExportTitle, cSciTEFilter, '.', 'properties', S) then
+ if TfrmExport.Execute(FTransFile, Translate(cSciTEExportTitle), Translate(cSciTEFilter), '.', 'properties', S) then
begin
S.AnsiStrings.SaveToFile(FTransFile);
SaveSettings;
@@ -233,7 +247,7 @@
try
Result := S_FALSE;
LoadSettings;
- if TfrmSingleImport.Execute(FTransFile, cSciTEImportTitle, cSciTEFilter, '.', 'properties') th...
[truncated message content] |
|
From: <pe...@us...> - 2006-08-17 21:59:40
|
Revision: 91 Author: peter3 Date: 2006-08-17 14:59:33 -0700 (Thu, 17 Aug 2006) ViewCVS: http://svn.sourceforge.net/initranslator/?rev=91&view=rev Log Message: ----------- - Some hints added - Fixed code deleted by mistake Modified Paths: -------------- translator/trunk/src/DictEditFrm.dfm translator/trunk/src/DictTranslationSelectDlg.dfm translator/trunk/src/Dictionary.pas translator/trunk/src/ExtToolsFrm.dfm Modified: translator/trunk/src/DictEditFrm.dfm =================================================================== --- translator/trunk/src/DictEditFrm.dfm 2006-08-17 15:52:55 UTC (rev 90) +++ translator/trunk/src/DictEditFrm.dfm 2006-08-17 21:59:33 UTC (rev 91) @@ -47,6 +47,7 @@ Top = 32 Width = 408 Height = 21 + Hint = 'The current original string' BevelKind = bkFlat Anchors = [akLeft, akTop, akRight] ItemHeight = 13 @@ -59,6 +60,7 @@ Top = 64 Width = 80 Height = 23 + Hint = 'Add a new original' Action = acAddOriginal Anchors = [akTop, akRight] TabOrder = 1 @@ -68,6 +70,7 @@ Top = 64 Width = 80 Height = 23 + Hint = 'Remove selected original' Action = acRemoveOriginal Anchors = [akTop, akRight] TabOrder = 2 @@ -77,6 +80,9 @@ Top = 96 Width = 408 Height = 161 + Hint = + 'Displays available translations. Bold items are the default tran' + + 'slations.' Style = lbVirtualOwnerDraw Anchors = [akLeft, akTop, akRight, akBottom] BevelKind = bkFlat @@ -93,6 +99,7 @@ Top = 273 Width = 226 Height = 21 + Hint = 'Type in a new translation here' Anchors = [akLeft, akRight, akBottom] BevelKind = bkFlat BorderStyle = bsNone @@ -103,6 +110,7 @@ Top = 272 Width = 80 Height = 23 + Hint = 'Add a new translation' Action = acAddTranslation Anchors = [akRight, akBottom] TabOrder = 5 @@ -112,6 +120,7 @@ Top = 272 Width = 80 Height = 23 + Hint = 'Remove the selected translation' Action = acRemoveTranslation Anchors = [akRight, akBottom] TabOrder = 6 @@ -143,6 +152,7 @@ Top = 316 Width = 184 Height = 21 + Hint = 'CHange the selection to see different subsets of the dictionary' BevelKind = bkTile Style = csDropDownList Anchors = [akLeft, akRight, akBottom] Modified: translator/trunk/src/DictTranslationSelectDlg.dfm =================================================================== --- translator/trunk/src/DictTranslationSelectDlg.dfm 2006-08-17 15:52:55 UTC (rev 90) +++ translator/trunk/src/DictTranslationSelectDlg.dfm 2006-08-17 21:59:33 UTC (rev 91) @@ -49,6 +49,7 @@ Top = 80 Width = 379 Height = 21 + Hint = 'Suggested translation' Anchors = [akLeft, akTop, akRight] BevelKind = bkFlat BorderStyle = bsNone @@ -73,6 +74,7 @@ Top = 324 Width = 80 Height = 23 + Hint = 'Use the suggested translation' Anchors = [akRight, akBottom] Caption = '&Change' Default = True @@ -85,6 +87,7 @@ Top = 324 Width = 80 Height = 23 + Hint = 'Stop translating' Anchors = [akRight, akBottom] Cancel = True Caption = 'Close' @@ -97,6 +100,7 @@ Top = 324 Width = 80 Height = 23 + Hint = 'Ignore this item (don'#39't translate)' Anchors = [akRight, akBottom] Caption = '&Ignore' ModalResult = 1 @@ -108,6 +112,7 @@ Top = 324 Width = 80 Height = 23 + Hint = 'Add suggested translation to dictionary' Anchors = [akRight, akBottom] Caption = '&Add' TabOrder = 6 @@ -118,6 +123,7 @@ Top = 275 Width = 361 Height = 17 + Hint = 'Skip items that are already translated' Anchors = [akLeft, akRight, akBottom] Caption = '&Don'#39't check translated items' TabOrder = 3 @@ -127,6 +133,7 @@ Top = 294 Width = 361 Height = 17 + Hint = 'Don'#39't show this dialog again and use the latest response' Anchors = [akLeft, akRight, akBottom] Caption = 'Don'#39't &ask again (in this session)' TabOrder = 4 Modified: translator/trunk/src/Dictionary.pas =================================================================== --- translator/trunk/src/Dictionary.pas 2006-08-17 15:52:55 UTC (rev 90) +++ translator/trunk/src/Dictionary.pas 2006-08-17 21:59:33 UTC (rev 91) @@ -26,6 +26,7 @@ private FTranslations: TTntStrings; FOriginal: WideString; + FDefaultIndex: integer; FOnChange: TNotifyEvent; procedure SetTranslations(const Value: TTntStrings); procedure Change; @@ -42,8 +43,10 @@ public constructor Create; destructor Destroy; override; - property Original: WideString read FOriginal write SetOriginal; + function DefaultTranslation:string; + property Original: WideString read GetOriginal write SetOriginal; property Translations: TTntStrings read FTranslations write SetTranslations; + property DefaultIndex:integer read FDefaultIndex write FDefaultIndex; property OnChange: TNotifyEvent read FOnChange write FOnChange; end; @@ -139,6 +142,17 @@ TTntStringlist(FTranslations).Sorted := true; end; + +function TDictionaryItem.DefaultTranslation: string; +begin + if (DefaultIndex >= 0) and (DefaultIndex < Translations.Count) then + Result := Translations[DefaultIndex] + else if Translations.Count > 0 then + Result := Translations[0] + else + Result := ''; +end; + procedure TDictionaryItem.Delete(Index: integer); begin Translations.Delete(Index); Modified: translator/trunk/src/ExtToolsFrm.dfm =================================================================== --- translator/trunk/src/ExtToolsFrm.dfm 2006-08-17 15:52:55 UTC (rev 90) +++ translator/trunk/src/ExtToolsFrm.dfm 2006-08-17 21:59:33 UTC (rev 91) @@ -81,6 +81,7 @@ Top = 32 Width = 80 Height = 23 + Hint = 'Add a new tool item' Action = acAdd Anchors = [akTop, akRight] TabOrder = 1 @@ -90,6 +91,7 @@ Top = 62 Width = 80 Height = 23 + Hint = 'Remove selected tool item' Action = acDelete Anchors = [akTop, akRight] TabOrder = 2 @@ -99,6 +101,7 @@ Top = 112 Width = 80 Height = 23 + Hint = 'Move item higher in list' Action = acMoveUp Anchors = [akTop, akRight] TabOrder = 3 @@ -108,6 +111,7 @@ Top = 140 Width = 80 Height = 23 + Hint = 'Move item lower in list' Action = acMoveDown Anchors = [akTop, akRight] TabOrder = 4 @@ -167,6 +171,7 @@ Top = 9 Width = 303 Height = 21 + Hint = 'The title for the item (displayed in the menu)' Anchors = [akLeft, akTop, akRight] BevelInner = bvNone BevelKind = bkFlat @@ -180,6 +185,7 @@ Top = 36 Width = 275 Height = 21 + Hint = 'The command to execute' Anchors = [akLeft, akTop, akRight] BevelInner = bvNone BevelKind = bkFlat @@ -192,6 +198,7 @@ Top = 63 Width = 275 Height = 21 + Hint = 'Arguments to pass along to the command' Anchors = [akLeft, akTop, akRight] BevelInner = bvNone BevelKind = bkFlat @@ -205,6 +212,7 @@ Top = 91 Width = 275 Height = 21 + Hint = 'The folder to start in' Anchors = [akLeft, akTop, akRight] BevelInner = bvNone BevelKind = bkFlat @@ -321,6 +329,9 @@ Top = 152 Width = 133 Height = 17 + Hint = + 'When executed, a dialog is displayed where you can type in any a' + + 'dditional arguments of your choice' Action = acPrompt TabOrder = 9 end @@ -330,6 +341,9 @@ Top = 152 Width = 126 Height = 17 + Hint = + 'Wait for the command to complete before returning to the program' + + ' (doesn'#39't work with all programs)' Action = acWait TabOrder = 10 end @@ -338,6 +352,9 @@ Top = 152 Width = 131 Height = 17 + Hint = + 'Use an alternate method to execute command. If your command does' + + 'n'#39't work, try checking this option' Action = acUseShellexecute TabOrder = 8 end @@ -356,6 +373,7 @@ Top = 366 Width = 80 Height = 23 + Hint = 'Execute the command without closing this dialog' Action = acTest Anchors = [akLeft, akBottom] TabOrder = 6 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <pe...@us...> - 2006-08-21 19:42:17
|
Revision: 93 Author: peter3 Date: 2006-08-21 12:42:11 -0700 (Mon, 21 Aug 2006) ViewCVS: http://svn.sourceforge.net/initranslator/?rev=93&view=rev Log Message: ----------- - Minor cleanup Modified Paths: -------------- translator/trunk/src/AppOptions.pas translator/trunk/src/MainFrm.pas Modified: translator/trunk/src/AppOptions.pas =================================================================== --- translator/trunk/src/AppOptions.pas 2006-08-17 22:18:19 UTC (rev 92) +++ translator/trunk/src/AppOptions.pas 2006-08-21 19:42:11 UTC (rev 93) @@ -186,6 +186,7 @@ property Header:TTntStrings read FHeader write SetHeader; property Footer:TTntStrings read FFooter write SetFooter; + // find replace property FindText: WideString read FFindText write FFindText; property ReplaceText: WideString read FReplaceText write FReplaceText; @@ -502,6 +503,11 @@ GlobalPath := ini.ReadBool('General', 'GlobalPath', GlobalPath); UseTranslationEverywhere := ini.ReadBool('General', 'UseTranslationEverywhere', UseTranslationEverywhere); AutoFocusTranslation := ini.ReadBool('General', 'AutoFocusTranslation', AutoFocusTranslation); + Theme := ini.ReadString('General', 'Theme', Theme); + DictIgnoreNonEmpty := ini.ReadBool('General', 'DictIgnoreNonEmpty', false); + DictEditFilter := ini.ReadInteger('General', 'DictEditFilter', 0); + ShowFullNameInColumns := ini.ReadBool('General', 'ShowFullNameInColumns', ShowFullNameInColumns); + FilterIndex := ini.ReadInteger('Files', 'FilterIndex', FilterIndex); LanguageFile := ini.ReadString('Files', 'LanguageFile', LanguageFile); HelpFile := ini.ReadString('Files', 'HelpFile', HelpFile); @@ -512,19 +518,12 @@ OrigEncoding := ini.ReadInteger('Files', 'OrigEncoding', OrigEncoding); DefaultTransEncoding := ini.ReadInteger('Files', 'DefaultTransEncoding', TransEncoding); DefaultOrigEncoding := ini.ReadInteger('Files', 'DefaultOrigEncoding', OrigEncoding); - MonitorFiles := ini.ReadBool('Files', 'MonitorFiles', MonitorFiles); Header.Text := Tnt_WideStringReplace(ini.ReadString('UserData','Header',''), #2, #13#10, [rfReplaceAll]); Footer.Text := Tnt_WideStringReplace(ini.ReadString('UserData','Footer',''), #2, #13#10, [rfReplaceAll]); - Theme := ini.ReadString('General', 'Theme', Theme); - DictIgnoreNonEmpty := ini.ReadBool('General', 'DictIgnoreNonEmpty', false); - DictEditFilter := ini.ReadInteger('General', 'DictEditFilter', 0); - - PinCommentWindow := ini.ReadBool('Comments', 'PinCommentWindow', PinCommentWindow); - ShowFullNameInColumns := ini.ReadBool('General', 'ShowFullNameInColumns', ShowFullNameInColumns); // find/replace dialog FindText := ini.ReadString('FindReplace', 'FindText', FindText); @@ -612,6 +611,10 @@ ini.WriteBool('General', 'GlobalPath', GlobalPath); ini.WriteBool('General', 'UseTranslationEverywhere', UseTranslationEverywhere); ini.WriteBool('General', 'AutoFocusTranslation', AutoFocusTranslation); + ini.WriteString('General', 'Theme', Theme); + ini.WriteBool('General', 'DictIgnoreNonEmpty', DictIgnoreNonEmpty); + ini.WriteInteger('General', 'DictEditFilter', DictEditFilter); + ini.WriteBool('General', 'ShowFullNameInColumns', ShowFullNameInColumns); ini.WriteInteger('Files', 'FilterIndex', FilterIndex); ini.WriteString('Files', 'LanguageFile', LanguageFile); @@ -628,12 +631,6 @@ ini.WriteString('UserData', 'Header', Tnt_WideStringReplace(Header.Text, #13#10,#2,[rfReplaceAll])); ini.WriteString('UserData', 'Footer', Tnt_WideStringReplace(Footer.Text, #13#10,#2,[rfReplaceAll])); - ini.WriteString('General', 'Theme', Theme); - ini.WriteBool('General', 'DictIgnoreNonEmpty', DictIgnoreNonEmpty); - ini.WriteInteger('General', 'DictEditFilter', DictEditFilter); - - ini.WriteBool('General', 'ShowFullNameInColumns', ShowFullNameInColumns); - ini.WriteBool('Comments', 'PinCommentWindow', PinCommentWindow); // find replace dialog ini.WriteString('FindReplace', 'FindText', FindText); @@ -645,10 +642,12 @@ ini.WriteBool('FindReplace', 'SearchUp', SearchUp); ini.WriteBool('FindReplace', 'FuzzySearch', FuzzySearch); ini.WriteInteger('FindReplace', 'FindInIndex', FindInIndex); + ini.WriteString('Trim', 'TrimWhat', TrimWhat); ini.WriteInteger('Trim', 'TrimWhere', TrimWhere); ini.WriteInteger('Trim', 'TrimHow', TrimHow); ini.WriteBool('Trim', 'TrimWhiteSpace', TrimWhiteSpace); + ini.WriteString('MisMatch', 'Items', MisMatchItems); ini.WriteBool('MisMatch', 'MisMatchLeadingSpaces', MisMatchLeadingSpaces); ini.WriteBool('MisMatch', 'MisMatchTrailingSpaces', MisMatchTrailingSpaces); Modified: translator/trunk/src/MainFrm.pas =================================================================== --- translator/trunk/src/MainFrm.pas 2006-08-17 22:18:19 UTC (rev 92) +++ translator/trunk/src/MainFrm.pas 2006-08-21 19:42:11 UTC (rev 93) @@ -2565,24 +2565,30 @@ Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage; var DefaultDraw: boolean); begin - DefaultDraw := true; if (Item <> nil) and (Stage = cdPrePaint) then begin - if not FTranslateFile.Items[Item.Index].Translated then + Sender.Canvas.Font := TListView(Sender).Font; + if [cdsFocused] * State <> [] then begin + Sender.Canvas.Brush.Color := clHighlight; + Sender.Canvas.Font.Color := clHighlightText; + end + else if not FTranslateFile.Items[Item.Index].Translated then + begin Sender.Canvas.Brush.Color := GlobalAppOptions.ColorUntranslated; - Sender.Canvas.Font.COlor := GlobalAppOptions.ColorFontUntranslated; + Sender.Canvas.Font.Color := GlobalAppOptions.ColorFontUntranslated; end else if Odd(Item.Index) then begin Sender.Canvas.Brush.Color := GlobalAppOptions.ColorEvenRow; - Sender.Canvas.Font.COlor := GlobalAppOptions.ColorFontEvenRow; + Sender.Canvas.Font.Color := GlobalAppOptions.ColorFontEvenRow; end else begin Sender.Canvas.Brush.Color := GlobalAppOptions.ColorOddRow; Sender.Canvas.Font.Color := GlobalAppOptions.ColorFontOddRow; end; + DefaultDraw := true;; end; end; @@ -4061,5 +4067,6 @@ lvTranslateStrings.Selected := Value; end; + end. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <pe...@us...> - 2006-09-10 17:07:28
|
Revision: 95
http://svn.sourceforge.net/initranslator/?rev=95&view=rev
Author: peter3
Date: 2006-09-10 10:07:21 -0700 (Sun, 10 Sep 2006)
Log Message:
-----------
- Fixed spelling mistake (NotifyChanged)
Modified Paths:
--------------
translator/trunk/src/MainFrm.dfm
translator/trunk/src/MainFrm.pas
Modified: translator/trunk/src/MainFrm.dfm
===================================================================
--- translator/trunk/src/MainFrm.dfm 2006-09-10 16:37:34 UTC (rev 94)
+++ translator/trunk/src/MainFrm.dfm 2006-09-10 17:07:21 UTC (rev 95)
@@ -23,7 +23,7 @@
TextHeight = 13
object StatusBar1: TTBXStatusBar
Left = 0
- Top = 504
+ Top = 497
Width = 643
Height = 19
Panels = <
@@ -667,19 +667,19 @@
Left = 0
Top = 49
Width = 9
- Height = 446
+ Height = 439
Position = dpLeft
end
object TBDock2: TSpTBXDock
Left = 634
Top = 49
Width = 9
- Height = 446
+ Height = 439
Position = dpRight
end
object TBDock3: TSpTBXDock
Left = 0
- Top = 495
+ Top = 488
Width = 643
Height = 9
Position = dpBottom
@@ -688,14 +688,14 @@
Left = 9
Top = 49
Width = 625
- Height = 446
+ Height = 439
Align = alClient
BevelOuter = bvNone
BorderWidth = 4
TabOrder = 5
object splitHorz: TSplitter
Left = 4
- Top = 246
+ Top = 239
Width = 617
Height = 5
Cursor = crVSplit
@@ -706,7 +706,7 @@
end
object pnlBottom: TTntPanel
Left = 4
- Top = 251
+ Top = 244
Width = 617
Height = 191
Align = alBottom
@@ -796,7 +796,7 @@
Left = 4
Top = 45
Width = 617
- Height = 201
+ Height = 194
Align = alClient
BevelInner = bvNone
BevelOuter = bvRaised
Modified: translator/trunk/src/MainFrm.pas
===================================================================
--- translator/trunk/src/MainFrm.pas 2006-09-10 16:37:34 UTC (rev 94)
+++ translator/trunk/src/MainFrm.pas 2006-09-10 17:07:21 UTC (rev 95)
@@ -486,7 +486,7 @@
}
{IApplication end}
function NotifyChanging(Msg, WParam, LParam: integer): WordBool;
- procedure NotifyChange(Msg, WParam, LParam: integer);
+ procedure NotifyChanged(Msg, WParam, LParam: integer);
{$IFDEF USEADDICTSPELLCHECKER}
procedure SpellCheckComplete(Sender: TObject);
procedure CreateSpellChecker;
@@ -913,7 +913,7 @@
FLastFolder := WideExtractFilePath(Filename);
Result := FTranslateFile.LoadOriginal(FileName, Encoding);
- NotifyChange(NOTIFY_ITEM_FILE_OPEN, Ord(false), Integer(PWideChar(Filename)));
+ NotifyChanged(NOTIFY_ITEM_FILE_OPEN, Ord(false), Integer(PWideChar(Filename)));
GlobalAppOptions.OrigEncoding := Ord(Result);
StartMonitor(FFileMonitors[cOrigMonitor], Filename);
@@ -947,7 +947,7 @@
AddMRUFile(FileName, false);
Result := FTranslateFile.LoadTranslation(FileName, Encoding);
- NotifyChange(NOTIFY_ITEM_FILE_OPEN, Ord(true), Integer(PWideChar(Filename)));
+ NotifyChanged(NOTIFY_ITEM_FILE_OPEN, Ord(true), Integer(PWideChar(Filename)));
GlobalAppOptions.TransEncoding := Ord(Result);
StartMonitor(FFileMonitors[cTransMonitor], FileName);
lvTranslateStrings.Items.Count := FTranslateFile.Items.Count;
@@ -1005,7 +1005,7 @@
else
FTranslateFile.Footer := '';
FTranslateFile.SaveTranslation(FileName, Encoding);
- NotifyChange(NOTIFY_ITEM_FILE_SAVE, Ord(true), Integer(PWideChar(Filename)));
+ NotifyChanged(NOTIFY_ITEM_FILE_SAVE, Ord(true), Integer(PWideChar(Filename)));
except
on E: Exception do
HandleFileCreateException(Self, E, FileName);
@@ -1078,7 +1078,7 @@
else
FTranslateFile.Footer := '';
FTranslateFile.SaveOriginal(FileName, Encoding);
- NotifyChange(NOTIFY_ITEM_FILE_SAVE, Ord(false), Integer(PWideChar(Filename)));
+ NotifyChanged(NOTIFY_ITEM_FILE_SAVE, Ord(false), Integer(PWideChar(Filename)));
except
on E: Exception do
HandleFileCreateException(Self, E, FileName);
@@ -1139,7 +1139,7 @@
for i := 0 to FTranslateFile.Items.Count - 1 do
with FTranslateFile.Items[i] do
DictAdd(trim(Original), trim(Translation));
- NotifyChange(NOTIFY_ITEM_DICT_NEW, 0, 0);
+ NotifyChanged(NOTIFY_ITEM_DICT_NEW, 0, 0);
OpenDictDlg.Filename := '';
SaveDictDlg.FileName := '';
UpdateStatus;
@@ -1157,7 +1157,7 @@
if acDictInvert.Checked then
acDictInvert.Execute; // toggle invert
FDictionary.LoadFromFile(FileName);
- NotifyChange(NOTIFY_ITEM_DICT_OPEN, Integer(PWideChar(Filename)), 0);
+ NotifyChanged(NOTIFY_ITEM_DICT_OPEN, Integer(PWideChar(Filename)), 0);
GlobalAppOptions.DictionaryFile := Filename;
if not acDictInvert.Checked and GlobalAppOptions.InvertDictionary then
acDictInvert.Execute; // toggle invert
@@ -1174,7 +1174,7 @@
StopMonitor(FFileMonitors[cDictMonitor]);
try
FDictionary.SaveToFile(SaveDictDlg.FileName);
- NotifyChange(NOTIFY_ITEM_DICT_SAVE, Integer(PWideChar(Filename)), 0);
+ NotifyChanged(NOTIFY_ITEM_DICT_SAVE, Integer(PWideChar(Filename)), 0);
GlobalAppOptions.DictionaryFile := Filename;
except
on E: Exception do
@@ -2396,7 +2396,7 @@
if not NotifyChanging(NOTIFY_ITEM_TRANS_CHANGE, Integer(PWideChar(Translation)), Integer(PWideChar(reTranslation.Text))) then
Exit;
Translation := RemoveQuotes(trimCRLFRight(reTranslation.Text));
- NotifyChange(NOTIFY_ITEM_TRANS_CHANGE, Integer(PWideChar(Translation)), 0);
+ NotifyChanged(NOTIFY_ITEM_TRANS_CHANGE, Integer(PWideChar(Translation)), 0);
Translated := MyWideDequotedStr(Translation, TransQuote) <> '';
lvTranslateStrings.Invalidate;
if GlobalAppOptions.UseTranslationEverywhere then
@@ -3290,7 +3290,7 @@
GlobalAppOptions.OriginalFIle := '';
acRestoreSort.Execute;
Modified := true;
- NotifyChange(NOTIFY_ITEM_IMPORT, 0, 0);
+ NotifyChanged(NOTIFY_ITEM_IMPORT, 0, 0);
end;
lvTranslateStrings.Items.Count := FTranslateFile.Items.Count;
ScrollToTop;
@@ -3308,7 +3308,7 @@
if TfrmImportExport.Edit(FTranslateFile.Items, FTranslateFile.Orphans, WideExtractFilePath(Application.ExeName) + 'plugins',
false, FImportIndex, Dummy) then
begin
- NotifyChange(NOTIFY_ITEM_EXPORT, 0, 0);
+ NotifyChanged(NOTIFY_ITEM_EXPORT, 0, 0);
lvTranslateStrings.Items.Count := FTranslateFile.Items.Count;
end;
end;
@@ -3865,7 +3865,7 @@
end;
Inc(i);
end;
- NotifyChange(NOTIFY_ITEM_NEW_ITEM, Integer(AItem), 0);
+ NotifyChanged(NOTIFY_ITEM_NEW_ITEM, Integer(AItem), 0);
finally
FTranslateFile.Items.Sort := FOldSort;
end;
@@ -3889,7 +3889,7 @@
begin
if not NotifyChanging(NOTIFY_ITEM_DEL_ITEM, Index, 0) then Exit;
FTranslateFile.Items.Delete(Index);
- NotifyChange(NOTIFY_ITEM_DEL_ITEM, Index, 0);
+ NotifyChanged(NOTIFY_ITEM_DEL_ITEM, Index, 0);
end;
end;
@@ -4004,7 +4004,7 @@
lvTranslateStrings.Items.EndUpdate;
end;
end;
- NotifyChange(NOTIFY_ITEM_EDIT_ITEM, Integer(AItem), 0);
+ NotifyChanged(NOTIFY_ITEM_EDIT_ITEM, Integer(AItem), 0);
finally
ASections.Free;
end;
@@ -4232,7 +4232,7 @@
FNotify.Remove(ANotify);
end;
-procedure TfrmMain.NotifyChange(Msg, WParam, LParam: integer);
+procedure TfrmMain.NotifyChanged(Msg, WParam, LParam: integer);
var i: integer;
begin
if FNotify <> nil then
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pe...@us...> - 2006-09-10 19:46:38
|
Revision: 96
http://svn.sourceforge.net/initranslator/?rev=96&view=rev
Author: peter3
Date: 2006-09-10 12:46:19 -0700 (Sun, 10 Sep 2006)
Log Message:
-----------
- Some changes to support XP style
- clicking the "Test" button in the ExToolsFrm generates an AV when the command is empty
Modified Paths:
--------------
translator/trunk/src/AppUtils.pas
translator/trunk/src/BaseForm.pas
translator/trunk/src/DictEditFrm.dfm
translator/trunk/src/EditItemFrm.dfm
translator/trunk/src/ExtToolsFrm.pas
translator/trunk/src/FindReplaceFrm.dfm
translator/trunk/src/MainFrm.pas
translator/trunk/src/MsDictBuild/MSDictBuild.dpr
translator/trunk/src/MsDictBuild/MainFrm.dfm
translator/trunk/src/OptionsFrm.dfm
translator/trunk/src/OptionsFrm.pas
translator/trunk/src/TrimFrm.dfm
translator/trunk/src/translator.dpr
translator/trunk/src/translator.res
Modified: translator/trunk/src/AppUtils.pas
===================================================================
--- translator/trunk/src/AppUtils.pas 2006-09-10 17:07:21 UTC (rev 95)
+++ translator/trunk/src/AppUtils.pas 2006-09-10 19:46:19 UTC (rev 96)
@@ -60,12 +60,13 @@
function ValueFromIndex(S: TStrings; i: integer): AnsiString; overload;
function strtok(Search, Delim: WideString): WideString;
+procedure SetXPComboStyle(AControl:TControl);
implementation
uses
- Windows, Forms, Dialogs, Math, Registry,
+ Windows, Forms, Dialogs, Math, Registry, StdCtrls,
WideIniFiles, Menus, Consts, ShFolder,
- CommonUtils, ShlObj, ActiveX,
+ CommonUtils, ShlObj, ActiveX, TbxUxThemes,
TntWindows, TntSysUtils, TntWideStrUtils;
var
@@ -534,6 +535,27 @@
{$ENDIF JOPTSET}
{$UNDEF JOPTSET}
+type
+ TAccessComboBox = class(TCustomComboBox);
+
+procedure SetXPComboStyle(AControl:TControl);
+var i:integer;
+begin
+ if (AControl is TWinControl) then
+ for i := 0 to TWinControl(AControl).ControlCount - 1 do
+ begin
+ if TWinControl(AControl).Controls[i] is TCustomComboBox then
+ begin
+ if IsAppThemed {Win32PlatformIsXP} then
+ TAccessComboBox(TWinControl(AControl).Controls[i]).BevelKind := bkNone
+ else
+ TAccessComboBox(TWinControl(AControl).Controls[i]).BevelKind := bkFlat;
+ end;
+ if TWinControl(AControl).Controls[i] is TWinControl then
+ SetXPComboStyle(TWinControl(TWinControl(AControl).Controls[i]));
+ end;
+end;
+
initialization
finalization
Modified: translator/trunk/src/BaseForm.pas
===================================================================
--- translator/trunk/src/BaseForm.pas 2006-09-10 17:07:21 UTC (rev 95)
+++ translator/trunk/src/BaseForm.pas 2006-09-10 19:46:19 UTC (rev 96)
@@ -61,6 +61,7 @@
end;
GlobalLanguageFile.TranslateObject(Self, ClassName);
LoadFormPos;
+ SetXPComboStyle(Self);
end;
function TfrmBase.CloseQuery: Boolean;
Modified: translator/trunk/src/DictEditFrm.dfm
===================================================================
--- translator/trunk/src/DictEditFrm.dfm 2006-09-10 17:07:21 UTC (rev 95)
+++ translator/trunk/src/DictEditFrm.dfm 2006-09-10 19:46:19 UTC (rev 96)
@@ -48,7 +48,6 @@
Width = 408
Height = 21
Hint = 'The current original string'
- BevelKind = bkFlat
Anchors = [akLeft, akTop, akRight]
ItemHeight = 13
Sorted = True
@@ -153,7 +152,6 @@
Width = 184
Height = 21
Hint = 'CHange the selection to see different subsets of the dictionary'
- BevelKind = bkTile
Style = csDropDownList
Anchors = [akLeft, akRight, akBottom]
ItemHeight = 13
Modified: translator/trunk/src/EditItemFrm.dfm
===================================================================
--- translator/trunk/src/EditItemFrm.dfm 2006-09-10 17:07:21 UTC (rev 95)
+++ translator/trunk/src/EditItemFrm.dfm 2006-09-10 19:46:19 UTC (rev 96)
@@ -72,7 +72,6 @@
Width = 430
Height = 21
BevelInner = bvNone
- BevelKind = bkFlat
BevelOuter = bvRaised
Anchors = [akLeft, akTop, akRight]
ItemHeight = 13
Modified: translator/trunk/src/ExtToolsFrm.pas
===================================================================
--- translator/trunk/src/ExtToolsFrm.pas 2006-09-10 17:07:21 UTC (rev 95)
+++ translator/trunk/src/ExtToolsFrm.pas 2006-09-10 19:46:19 UTC (rev 96)
@@ -465,7 +465,7 @@
acDelete.Enabled := (lbContents.ItemIndex >= 0) and (lbContents.ItemIndex < FTools.Count);
acMoveUp.Enabled := lbContents.ItemIndex > 0;
acMoveDown.Enabled := lbContents.ItemIndex < FTools.Count - 1;
- acTest.Enabled := btnDelete.Enabled and Assigned(OnTestClick);
+ acTest.Enabled := btnDelete.Enabled and Assigned(OnTestClick) and (edCommand.Text <> '');
acClear.Enabled := edShortCut.ShortCut <> 0;
PropagateEnabled(pnlEditTool, acDelete.Enabled);
acWait.Enabled := not acUseShellexecute.Checked;
Modified: translator/trunk/src/FindReplaceFrm.dfm
===================================================================
--- translator/trunk/src/FindReplaceFrm.dfm 2006-09-10 17:07:21 UTC (rev 95)
+++ translator/trunk/src/FindReplaceFrm.dfm 2006-09-10 19:46:19 UTC (rev 96)
@@ -73,7 +73,6 @@
Height = 21
Hint = 'The text to search for'
BevelInner = bvNone
- BevelKind = bkFlat
BevelOuter = bvRaised
ItemHeight = 13
TabOrder = 0
@@ -109,7 +108,6 @@
Height = 21
Hint = 'The text to replace the found text with'
BevelInner = bvNone
- BevelKind = bkFlat
BevelOuter = bvRaised
ItemHeight = 13
TabOrder = 1
@@ -131,14 +129,13 @@
Height = 21
Hint = 'Select the field(s) to search in'
BevelInner = bvNone
- BevelKind = bkFlat
BevelOuter = bvRaised
Style = csDropDownList
ItemHeight = 13
ItemIndex = 0
TabOrder = 6
Text = 'Original'
- Items.WideStrings = (
+ Items.Strings = (
'Original'
'Translation'
'Both')
Modified: translator/trunk/src/MainFrm.pas
===================================================================
--- translator/trunk/src/MainFrm.pas 2006-09-10 17:07:21 UTC (rev 95)
+++ translator/trunk/src/MainFrm.pas 2006-09-10 19:46:19 UTC (rev 96)
@@ -606,7 +606,6 @@
DictEditFrm, ColorsFrm;
{$R *.dfm}
-{$R manifest.res} // for XP theme support
{ TfrmMain }
// frmMain support routines
@@ -890,7 +889,7 @@
WaitCursor;
Result := Encoding;
- if NotifyChanging(NOTIFY_ITEM_FILE_OPEN, Ord(false), Integer(PWideChar(Filename))) then
+ if not NotifyChanging(NOTIFY_ITEM_FILE_OPEN, Ord(false), Integer(PWideChar(Filename))) then
Exit;
if not CheckModified then
Exit;
@@ -930,7 +929,7 @@
begin
WaitCursor;
Result := Encoding;
- if NotifyChanging(NOTIFY_ITEM_FILE_OPEN, Ord(true), Integer(PWideChar(Filename))) then
+ if not NotifyChanging(NOTIFY_ITEM_FILE_OPEN, Ord(true), Integer(PWideChar(Filename))) then
Exit;
if not CheckModified then
Exit;
@@ -983,7 +982,7 @@
WaitCursor;
- if NotifyChanging(NOTIFY_ITEM_FILE_SAVE, Ord(true), Integer(PWideChar(Filename))) then
+ if not NotifyChanging(NOTIFY_ITEM_FILE_SAVE, Ord(true), Integer(PWideChar(Filename))) then
begin
Result := false;
Exit;
@@ -1054,9 +1053,9 @@
Result := SaveOrigAs(FileName, Encoding);
Exit;
end;
-
+
WaitCursor;
- if NotifyChanging(NOTIFY_ITEM_FILE_SAVE, Ord(false), Integer(PWideChar(Filename))) then
+ if not NotifyChanging(NOTIFY_ITEM_FILE_SAVE, Ord(false), Integer(PWideChar(Filename))) then
begin
Result := false;
Exit;
@@ -1500,7 +1499,12 @@
function TfrmMain.GetFilename(const Filename: WideString): WideString;
begin
if GlobalAppOptions.GlobalPath and (FLastFolder <> '') then
- Result := WideIncludeTrailingPathDelimiter(FLastFolder) + WideExtractFileName(Filename)
+ begin
+ if Filename = '' then
+ Result := WideIncludeTrailingPathDelimiter(FLastFolder) + '*.*'
+ else
+ Result := WideIncludeTrailingPathDelimiter(FLastFolder) + WideExtractFileName(Filename);
+ end
else
Result := Filename;
Result := WideExcludeTrailingPathDelimiter(Result);
@@ -2397,14 +2401,14 @@
Exit;
Translation := RemoveQuotes(trimCRLFRight(reTranslation.Text));
NotifyChanged(NOTIFY_ITEM_TRANS_CHANGE, Integer(PWideChar(Translation)), 0);
- Translated := MyWideDequotedStr(Translation, TransQuote) <> '';
- lvTranslateStrings.Invalidate;
- if GlobalAppOptions.UseTranslationEverywhere then
- begin
- reTranslation.Modified := false; // avoid infinite recursion
- acReplaceEverywhere.Execute;
- end;
- Modified := true;
+ Translated := MyWideDequotedStr(Translation, TransQuote) <> '';
+ lvTranslateStrings.Invalidate;
+ if GlobalAppOptions.UseTranslationEverywhere then
+ begin
+ reTranslation.Modified := false; // avoid infinite recursion
+ acReplaceEverywhere.Execute;
+ end;
+ Modified := true;
end;
UpdateStatus;
end
@@ -3269,7 +3273,8 @@
procedure TfrmMain.acImportExecute(Sender: TObject);
begin
WaitCursor;
- if not NotifyChanging(NOTIFY_ITEM_IMPORT, 0, 0) then Exit;
+ if not NotifyChanging(NOTIFY_ITEM_IMPORT, 0, 0) then
+ Exit;
SaveEditChanges;
// (FTranslateFile.Items as ITranslationItems)._AddRef;
if not CheckModified then
@@ -3304,7 +3309,8 @@
begin
// (FTranslateFile.Items as ITranslationItems)._AddRef;
WaitCursor;
- if not NotifyChanging(NOTIFY_ITEM_EXPORT, 0, 0) then Exit;
+ if not NotifyChanging(NOTIFY_ITEM_EXPORT, 0, 0) then
+ Exit;
if TfrmImportExport.Edit(FTranslateFile.Items, FTranslateFile.Orphans, WideExtractFilePath(Application.ExeName) + 'plugins',
false, FImportIndex, Dummy) then
begin
@@ -3468,7 +3474,8 @@
var
i, j: integer;
begin
- if not NotifyChanging(NOTIFY_ITEM_SPELLCHECK, 0, 0) then Exit;
+ if not NotifyChanging(NOTIFY_ITEM_SPELLCHECK, 0, 0) then
+ Exit;
CreateSpellChecker;
adSpellChecker.StartSequenceCheck;
try
@@ -3835,7 +3842,8 @@
AIndex, i: integer;
FOldSort: TTranslateSortType;
begin
- if not NotifyChanging(NOTIFY_ITEM_NEW_ITEM, Integer(AItem), 0) then Exit;
+ if not NotifyChanging(NOTIFY_ITEM_NEW_ITEM, Integer(AItem), 0) then
+ Exit;
FOldSort := FTranslateFile.Items.Sort;
try
FTranslateFile.Items.Sort := stIndex;
@@ -3887,7 +3895,8 @@
begin
if (Index >= 0) and (Index < FTranslateFile.Items.Count) then
begin
- if not NotifyChanging(NOTIFY_ITEM_DEL_ITEM, Index, 0) then Exit;
+ if not NotifyChanging(NOTIFY_ITEM_DEL_ITEM, Index, 0) then
+ Exit;
FTranslateFile.Items.Delete(Index);
NotifyChanged(NOTIFY_ITEM_DEL_ITEM, Index, 0);
end;
@@ -3972,7 +3981,8 @@
begin
Index := SelectedListItem.Index;
AItem := FTranslateFile.Items[Index];
- if not NotifyChanging(NOTIFY_ITEM_EDIT_ITEM, Integer(AItem), 0) then Exit;
+ if not NotifyChanging(NOTIFY_ITEM_EDIT_ITEM, Integer(AItem), 0) then
+ Exit;
ANewItem := FTranslateFile.Items.CreateItem;
ASections := TTntStringlist.Create;
try
Modified: translator/trunk/src/MsDictBuild/MSDictBuild.dpr
===================================================================
--- translator/trunk/src/MsDictBuild/MSDictBuild.dpr 2006-09-10 17:07:21 UTC (rev 95)
+++ translator/trunk/src/MsDictBuild/MSDictBuild.dpr 2006-09-10 19:46:19 UTC (rev 96)
@@ -4,6 +4,8 @@
Forms,
MainFrm in 'MainFrm.pas' {frmMain};
+// for XP theme support
+{$R 'manifest.res' 'manifest.rc'}
{$R *.res}
begin
Modified: translator/trunk/src/MsDictBuild/MainFrm.dfm
===================================================================
--- translator/trunk/src/MsDictBuild/MainFrm.dfm 2006-09-10 17:07:21 UTC (rev 95)
+++ translator/trunk/src/MsDictBuild/MainFrm.dfm 2006-09-10 19:46:19 UTC (rev 96)
@@ -15,7 +15,7 @@
OnCreate = FormCreate
DesignSize = (
524
- 390)
+ 383)
PixelsPerInch = 96
TextHeight = 13
object Label1: TTntLabel
@@ -195,7 +195,7 @@
end
object StatusBar1: TStatusBar
Left = 0
- Top = 371
+ Top = 364
Width = 524
Height = 19
Panels = <
Modified: translator/trunk/src/OptionsFrm.dfm
===================================================================
--- translator/trunk/src/OptionsFrm.dfm 2006-09-10 17:07:21 UTC (rev 95)
+++ translator/trunk/src/OptionsFrm.dfm 2006-09-10 19:46:19 UTC (rev 96)
@@ -1,7 +1,7 @@
object frmOptions: TfrmOptions
Left = 316
Top = 175
- ActiveControl = chkGlobalPath
+ ActiveControl = chkShowQuotes
BorderStyle = bsDialog
Caption = 'Preferences'
ClientHeight = 449
@@ -29,18 +29,18 @@
end
object btnOK: TTntButton
Left = 303
- Top = 415
+ Top = 413
Width = 80
Height = 23
Anchors = [akRight, akBottom]
Caption = 'OK'
Default = True
ModalResult = 1
- TabOrder = 0
+ TabOrder = 1
end
object btnCancel: TTntButton
Left = 387
- Top = 415
+ Top = 413
Width = 80
Height = 23
Anchors = [akRight, akBottom]
@@ -51,13 +51,13 @@
end
object btnColors: TTntButton
Left = 20
- Top = 415
+ Top = 413
Width = 80
Height = 23
Hint = 'Select a new font for the list and edit fields'
Anchors = [akLeft, akBottom]
Caption = 'Color&s...'
- TabOrder = 1
+ TabOrder = 0
OnClick = btnColorsClick
end
object pcSettings: TTntPageControl
@@ -65,7 +65,7 @@
Top = 2
Width = 477
Height = 387
- ActivePage = tsAdvanced
+ ActivePage = tsGeneral
Anchors = [akLeft, akTop, akRight, akBottom]
TabOrder = 3
object tsGeneral: TTntTabSheet
@@ -76,7 +76,7 @@
object Label1: TTntLabel
Left = 16
Top = 239
- Width = 50
+ Width = 51
Height = 13
Anchors = [akLeft, akRight, akBottom]
Caption = '&Language:'
@@ -85,7 +85,7 @@
object Label2: TTntLabel
Left = 16
Top = 287
- Width = 24
+ Width = 25
Height = 13
Anchors = [akLeft, akRight, akBottom]
Caption = '&Help:'
@@ -93,12 +93,20 @@
end
object Bevel1: TBevel
Left = 1
- Top = 192
+ Top = 148
Width = 466
Height = 3
Anchors = [akLeft, akTop, akRight]
Shape = bsTopLine
end
+ object Bevel5: TBevel
+ Left = 1
+ Top = 219
+ Width = 466
+ Height = 3
+ Anchors = [akLeft, akTop, akRight]
+ Shape = bsTopLine
+ end
object chkShowQuotes: TTntCheckBox
Left = 16
Top = 16
@@ -110,7 +118,7 @@
end
object btnFont: TTntButton
Left = 355
- Top = 206
+ Top = 172
Width = 80
Height = 23
Hint = 'Select a new font for the list and edit fields'
@@ -218,7 +226,7 @@
end
object pnlFontPreview: TTntPanel
Left = 16
- Top = 206
+ Top = 172
Width = 329
Height = 25
Anchors = [akLeft, akRight, akBottom]
@@ -306,12 +314,19 @@
Anchors = [akLeft, akTop, akRight]
Shape = bsTopLine
end
+ object Bevel4: TBevel
+ Left = 1
+ Top = 95
+ Width = 466
+ Height = 3
+ Anchors = [akLeft, akTop, akRight]
+ Shape = bsTopLine
+ end
object cbDefaultTransEncoding: TTntComboBox
Left = 247
Top = 32
Width = 190
Height = 21
- BevelKind = bkFlat
Style = csDropDownList
ItemHeight = 13
ItemIndex = 0
@@ -423,7 +438,7 @@
Font.Style = []
Device = fdBoth
Options = []
- Left = 310
- Top = 176
+ Left = 350
+ Top = 120
end
end
Modified: translator/trunk/src/OptionsFrm.pas
===================================================================
--- translator/trunk/src/OptionsFrm.pas 2006-09-10 17:07:21 UTC (rev 95)
+++ translator/trunk/src/OptionsFrm.pas 2006-09-10 19:46:19 UTC (rev 96)
@@ -72,6 +72,8 @@
reHeader: TTntRichEdit;
reFooter: TTntRichEdit;
Bevel3: TBevel;
+ Bevel4: TBevel;
+ Bevel5: TBevel;
procedure chkShowToolTipsClick(Sender: TObject);
procedure chkReturnToSaveClick(Sender: TObject);
procedure btnLanguageClick(Sender: TObject);
Modified: translator/trunk/src/TrimFrm.dfm
===================================================================
--- translator/trunk/src/TrimFrm.dfm 2006-09-10 17:07:21 UTC (rev 95)
+++ translator/trunk/src/TrimFrm.dfm 2006-09-10 19:46:19 UTC (rev 96)
@@ -45,14 +45,13 @@
Top = 112
Width = 373
Height = 21
- BevelKind = bkFlat
Style = csDropDownList
Anchors = [akLeft, akTop, akRight]
ItemHeight = 13
ItemIndex = 2
TabOrder = 2
Text = 'Both'
- Items.WideStrings = (
+ Items.Strings = (
'Original'
'Translation'
'Both')
@@ -62,14 +61,13 @@
Top = 160
Width = 373
Height = 21
- BevelKind = bkFlat
Style = csDropDownList
Anchors = [akLeft, akTop, akRight]
ItemHeight = 13
ItemIndex = 2
TabOrder = 3
Text = 'Both'
- Items.WideStrings = (
+ Items.Strings = (
'Leading'
'Trailing'
'Both')
Modified: translator/trunk/src/translator.dpr
===================================================================
--- translator/trunk/src/translator.dpr 2006-09-10 17:07:21 UTC (rev 95)
+++ translator/trunk/src/translator.dpr 2006-09-10 19:46:19 UTC (rev 96)
@@ -58,6 +58,7 @@
ColorsFrm in 'ColorsFrm.pas' {frmColors: TTntForm};
{$R *.res}
+{$R 'manifest.res' 'manifest.rc'}
begin
Application.Initialize;
Modified: translator/trunk/src/translator.res
===================================================================
(Binary files differ)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|