Rev 9674 | Rev 9730 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 9674 | Rev 9708 | ||
---|---|---|---|
Line 22... | Line 22... | ||
22 | IMPORT |
22 | IMPORT |
23 | OpenDlg, K := KolibriOS, Args, |
23 | OpenDlg, K := KolibriOS, Args, |
24 | U := Utils, Lines, Menu, List, |
24 | U := Utils, Lines, Menu, List, |
25 | G := Graph, T := Text, E := Encodings, |
25 | G := Graph, T := Text, E := Encodings, |
26 | CB := Clipboard, Languages, |
26 | CB := Clipboard, Languages, |
27 | ChangeLog, Scroll, CheckBox, KOSAPI, SYSTEM, |
27 | ChangeLog, Scroll, CheckBox, |
28 | RW, Ini, EB := EditBox, Tabs, Toolbar, SB := StatusBar; |
28 | RW, Ini, EB := EditBox, Tabs, Toolbar, SB := StatusBar; |
Line 29... | Line 29... | ||
29 | 29 | ||
30 | CONST |
30 | CONST |
Line 31... | Line 31... | ||
31 | HEADER = "CEdit (28-jan-2022)"; |
31 | HEADER = "CEdit (09-feb-2022)"; |
32 | 32 | ||
Line 33... | Line 33... | ||
33 | ShellFilter = ""; |
33 | ShellFilter = ""; |
Line 122... | Line 122... | ||
122 | menuFASM = 56; |
122 | menuFASM = 56; |
Line 123... | Line 123... | ||
123 | 123 | ||
124 | menuUTF8BOM = 60; |
124 | menuUTF8BOM = 60; |
125 | menuUTF8 = 61; |
125 | menuUTF8 = 61; |
126 | menuCP866 = 62; |
126 | menuCP866 = 62; |
127 | menuWin1251 = 63; |
127 | menuCP1251 = 63; |
128 | menuEOL = 140; |
128 | menuEOL = 140; |
129 | menuConv1251_866 = 64; |
129 | menuConv1251_866 = 64; |
Line 130... | Line 130... | ||
130 | menuConv866_1251 = 65; |
130 | menuConv866_1251 = 65; |
Line 1043... | Line 1043... | ||
1043 | END |
1043 | END |
1044 | ELSIF menu = menuEncoding THEN |
1044 | ELSIF menu = menuEncoding THEN |
1045 | Menu.option(menu, menuUTF8BOM, T.getEnc(text) = E.UTF8BOM); |
1045 | Menu.option(menu, menuUTF8BOM, T.getEnc(text) = E.UTF8BOM); |
1046 | Menu.option(menu, menuUTF8, T.getEnc(text) = E.UTF8); |
1046 | Menu.option(menu, menuUTF8, T.getEnc(text) = E.UTF8); |
1047 | Menu.option(menu, menuCP866, T.getEnc(text) = E.CP866); |
1047 | Menu.option(menu, menuCP866, T.getEnc(text) = E.CP866); |
1048 | Menu.option(menu, menuWin1251, T.getEnc(text) = E.W1251) |
1048 | Menu.option(menu, menuCP1251, T.getEnc(text) = E.CP1251) |
1049 | ELSIF menu = menuView THEN |
1049 | ELSIF menu = menuView THEN |
1050 | Menu.option(menu, menuFontSmall, font = G.fonts[0]); |
1050 | Menu.option(menu, menuFontSmall, font = G.fonts[0]); |
1051 | Menu.option(menu, menuFontMedium, font = G.fonts[1]); |
1051 | Menu.option(menu, menuFontMedium, font = G.fonts[1]); |
1052 | Menu.option(menu, menuFontLarge, font = G.fonts[2]); |
1052 | Menu.option(menu, menuFontLarge, font = G.fonts[2]); |
1053 | FOR i := 0 TO Ini.sections.count - 1 DO |
1053 | FOR i := 0 TO Ini.sections.count - 1 DO |
Line 1269... | Line 1269... | ||
1269 | T.setEnc(text, E.UTF8BOM) |
1269 | T.setEnc(text, E.UTF8BOM) |
1270 | |menuUTF8: |
1270 | |menuUTF8: |
1271 | T.setEnc(text, E.UTF8) |
1271 | T.setEnc(text, E.UTF8) |
1272 | |menuCP866: |
1272 | |menuCP866: |
1273 | T.setEnc(text, E.CP866) |
1273 | T.setEnc(text, E.CP866) |
1274 | |menuWin1251: |
1274 | |menuCP1251: |
1275 | T.setEnc(text, E.W1251) |
1275 | T.setEnc(text, E.CP1251) |
1276 | |menuLF: |
1276 | |menuLF: |
1277 | T.setEol(text, E.EOL_LF) |
1277 | T.setEol(text, E.EOL_LF) |
1278 | |menuCRLF: |
1278 | |menuCRLF: |
1279 | T.setEol(text, E.EOL_CRLF) |
1279 | T.setEol(text, E.EOL_CRLF) |
1280 | |menuCR: |
1280 | |menuCR: |
1281 | T.setEol(text, E.EOL_CR) |
1281 | T.setEol(text, E.EOL_CR) |
1282 | |menuConv1251_866: |
1282 | |menuConv1251_866: |
1283 | T.convert(text, E.cp866, E.W1251) |
1283 | T.convert(text, (*E.cp866,*) E.CP1251) |
1284 | |menuConv866_1251: |
1284 | |menuConv866_1251: |
1285 | T.convert(text, E.cp1251, E.CP866) |
1285 | T.convert(text, (*E.cp1251,*) E.CP866) |
1286 | |menuPipet: |
1286 | |menuPipet: |
1287 | K.Run("/sys/develop/pipet", "") |
1287 | K.Run("/sys/develop/pipet", "") |
1288 | |menuMagnify: |
1288 | |menuMagnify: |
1289 | K.Run("/sys/magnify", "") |
1289 | K.Run("/sys/magnify", "") |
1290 | |menuBoard: |
1290 | |menuBoard: |
Line 1411... | Line 1411... | ||
1411 | BEGIN |
1411 | BEGIN |
1412 | menu := List.create(NIL); |
1412 | menu := List.create(NIL); |
1413 | Menu.AddMenuItem(menu, menuUTF8BOM, E.names[E.UTF8BOM]); |
1413 | Menu.AddMenuItem(menu, menuUTF8BOM, E.names[E.UTF8BOM]); |
1414 | Menu.AddMenuItem(menu, menuUTF8, E.names[E.UTF8]); |
1414 | Menu.AddMenuItem(menu, menuUTF8, E.names[E.UTF8]); |
1415 | Menu.AddMenuItem(menu, menuCP866, E.names[E.CP866]); |
1415 | Menu.AddMenuItem(menu, menuCP866, E.names[E.CP866]); |
1416 | Menu.AddMenuItem(menu, menuWin1251, E.names[E.W1251]); |
1416 | Menu.AddMenuItem(menu, menuCP1251, E.names[E.CP1251]); |
1417 | Menu.delimiter(menu); |
1417 | Menu.delimiter(menu); |
1418 | Menu.AddMenuItem(menu, menuEOL, "EOL"); |
1418 | Menu.AddMenuItem(menu, menuEOL, "EOL"); |
1419 | Menu.child(menu, subEOL); |
1419 | Menu.child(menu, subEOL); |
1420 | Menu.delimiter(menu); |
1420 | Menu.delimiter(menu); |
1421 | Menu.AddMenuItem(menu, menuConv1251_866, "convert 1251 >> 866"); |
1421 | Menu.AddMenuItem(menu, menuConv1251_866, "convert 1251 >> 866"); |
Line 2020... | Line 2020... | ||
2020 | repaint |
2020 | repaint |
2021 | END |
2021 | END |
2022 | END ScrollChange; |
2022 | END ScrollChange; |
Line 2023... | Line -... | ||
2023 | - | ||
2024 | - | ||
2025 | PROCEDURE docpack (VAR param: RW.tFileName); |
- | |
2026 | VAR |
- | |
2027 | i, size, errno: INTEGER; |
- | |
2028 | ptr, ptr2: INTEGER; |
- | |
2029 | s: ARRAY 32 OF WCHAR; |
- | |
2030 | BEGIN |
- | |
2031 | U.reverse8(param); |
- | |
2032 | param[LENGTH(param) - 1] := 0X; |
- | |
2033 | U.reverse8(param); |
- | |
2034 | i := 0; |
- | |
2035 | WHILE param[i] # 0X DO |
- | |
2036 | s[i] := WCHR(ORD(param[i])); |
- | |
2037 | INC(i) |
- | |
2038 | END; |
- | |
2039 | IF U.str2int(s, size) THEN |
- | |
2040 | INC(size, 20); |
- | |
2041 | ptr := KOSAPI.malloc(size); |
- | |
2042 | IF ptr # 0 THEN |
- | |
2043 | SYSTEM.PUT32(ptr, 0); |
- | |
2044 | SYSTEM.PUT32(ptr + 4, 8); |
- | |
2045 | KOSAPI.sysfunc4(60, 1, ptr, size); |
- | |
2046 | K.SetEventsMask({6}); |
- | |
2047 | IF K.EventTimeout(200) = 7 THEN |
- | |
2048 | SYSTEM.PUT32(ptr, 1); |
- | |
2049 | SYSTEM.GET(ptr + 12, size); |
- | |
2050 | ptr2 := KOSAPI.malloc(size); |
- | |
2051 | IF ptr2 # 0 THEN |
- | |
2052 | SYSTEM.MOVE(ptr + 16, ptr2, size); |
- | |
2053 | text := T.open("", ptr2, size, errno); |
- | |
2054 | IF text # NIL THEN |
- | |
2055 | insert(0, text); |
- | |
2056 | T.SetPos(text, 0, 0) |
- | |
2057 | END |
- | |
2058 | END |
- | |
2059 | END; |
- | |
2060 | ptr := KOSAPI.free(ptr) |
- | |
2061 | END |
- | |
2062 | END |
- | |
2063 | END docpack; |
- | |
2064 | 2023 | ||
2065 | 2024 | ||
2066 | PROCEDURE main; |
2025 | PROCEDURE main; |
2067 | VAR |
2026 | VAR |
2068 | fileName, filePath: RW.tFileName; |
2027 | fileName, filePath: RW.tFileName; |
2069 | width, height, cliWidth, cliHeight: INTEGER; |
2028 | width, height, cliWidth, cliHeight: INTEGER; |
2070 | resized: BOOLEAN; |
2029 | resized: BOOLEAN; |
- | 2030 | firstClickX, firstClickY, time, blink, i: INTEGER; |
|
2071 | firstClickX, firstClickY, time, blink, i: INTEGER; |
2031 | key, scr: INTEGER; |
2072 | key, scr: INTEGER; |
2032 | text_ptr, text_size, errno: INTEGER; |
2073 | BEGIN |
2033 | BEGIN |
2074 | header := ""; |
2034 | header := ""; |
2075 | K.GetSystemColors; |
2035 | K.GetSystemColors; |
Line 2168... | Line 2128... | ||
2168 | IF fileName[0] # "*" THEN |
2128 | IF fileName[0] # "*" THEN |
2169 | IF open(fileName) THEN |
2129 | IF open(fileName) THEN |
2170 | U.getPath(fileName, filePath) |
2130 | U.getPath(fileName, filePath) |
2171 | END |
2131 | END |
2172 | ELSE |
2132 | ELSE |
2173 | docpack(fileName) |
2133 | K.docpack(fileName, text_ptr, text_size); |
- | 2134 | IF text_ptr # 0 THEN |
|
- | 2135 | text := T.open("", text_ptr, text_size, errno); |
|
- | 2136 | IF text # NIL THEN |
|
- | 2137 | insert(0, text); |
|
- | 2138 | T.SetPos(text, 0, 0) |
|
- | 2139 | END |
|
- | 2140 | END |
|
2174 | END |
2141 | END |
2175 | END; |
2142 | END; |
2176 | IF textsCount = 0 THEN |
2143 | IF textsCount = 0 THEN |
2177 | K.Exit |
2144 | K.Exit |
2178 | END; |
2145 | END; |