Subversion Repositories Kolibri OS

Rev

Rev 9907 | Rev 9913 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9907 Rev 9909
Line 26... Line 26...
26
    CB := Clipboard, Languages,
26
    CB := Clipboard, Languages,
27
    ChangeLog, Scroll, CheckBox, Icons,
27
    ChangeLog, Scroll, CheckBox, Icons,
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 (18-mar-2023)";
31
    HEADER = "CEdit (29-mar-2023)";
32
 
32
 
Line 33... Line 33...
33
    ShellFilter = "";
33
    ShellFilter = "";
Line 410... Line 410...
410
        IF search & searchOpened THEN
410
        IF search & searchOpened THEN
411
	        CheckBox.draw(BKW);
411
	        CheckBox.draw(BKW);
412
	        CheckBox.draw(CS);
412
	        CheckBox.draw(CS);
413
	        CheckBox.draw(WH);
413
	        CheckBox.draw(WH);
414
        END;
414
        END;
-
 
415
        IF ~search OR (searchText = "") THEN
-
 
416
            T.wordSel(text)
-
 
417
        END;
415
        drawText;
418
        drawText;
416
        NotFound;
419
        NotFound;
417
        Replaced;
420
        Replaced;
418
        Toolbar.enable(toolbar, btnSave,  text.modified);
421
        Toolbar.enable(toolbar, btnSave,  text.modified);
419
        Toolbar.enable(toolbar, btnUndo,  ~ChangeLog.isFirstGuard(text.edition));
422
        Toolbar.enable(toolbar, btnUndo,  ~ChangeLog.isFirstGuard(text.edition));
Line 1631... Line 1634...
1631
END HideSearch;
1634
END HideSearch;
Line 1632... Line 1635...
1632
 
1635
 
1633
 
1636
 
1634
PROCEDURE KeyDown (key: INTEGER);
1637
PROCEDURE KeyDown (key: INTEGER);
1635
VAR
1638
VAR
1636
    keyCode: INTEGER;
1639
    keyCode, ah: INTEGER;
1637
    shift, ctrl: BOOLEAN;
1640
    shift, ctrl, rep: BOOLEAN;
-
 
1641
BEGIN
1638
BEGIN
1642
	K.getKBState(shift, ctrl);
-
 
1643
	rep := FALSE;
-
 
1644
    keyCode := key DIV 65536;
-
 
1645
 
-
 
1646
    (* Numpad *)
-
 
1647
    ah := (key DIV 256) MOD 256;
-
 
1648
    CASE keyCode OF
-
 
1649
    |83: IF ah = 46 THEN keyCode := 52 END (* . / Del  *)
-
 
1650
    |82: IF ah = 48 THEN keyCode := 11 END (* 0 / Ins  *)
-
 
1651
    |79: IF ah = 49 THEN keyCode :=  2 END (* 1 / End  *)
-
 
1652
    |80: IF ah = 50 THEN keyCode :=  3 END (* 2 / Down *)
-
 
1653
    |81: IF ah = 51 THEN keyCode :=  4 END (* 3 / PgDn *)
-
 
1654
    |75: IF ah = 52 THEN keyCode :=  5 END (* 4 / <-   *)
-
 
1655
    |76: IF ah = 55 THEN keyCode := -1 END (* 5 / --- *)
-
 
1656
    |77: IF ah = 54 THEN keyCode :=  7 END (* 6 / ->   *)
-
 
1657
    |71: IF ah = 55 THEN keyCode :=  8 END (* 7 / Home *)
-
 
1658
    |72: IF ah = 56 THEN keyCode :=  9 END (* 8 / Up   *)
-
 
1659
    |73: IF ah = 57 THEN keyCode := 10 END (* 9 / PgUp *)
-
 
1660
    ELSE
-
 
1661
    	(* nothing to do *)
1639
	K.getKBState(shift, ctrl);
1662
    END;
1640
    keyCode := key DIV 65536;
1663
 
1641
    IF confirm THEN
1664
    IF confirm THEN
1642
        IF keyCode = 28 THEN (* Enter *)
1665
        IF keyCode = 28 THEN (* Enter *)
1643
            save(text);
1666
            save(text);
1644
            IF ~text.modified THEN
1667
            IF ~text.modified THEN
1645
                closeFile(FALSE, curText)
1668
                closeFile(FALSE, curText)
1646
            END
1669
            END
1647
        END;
1670
        END;
-
 
1671
        key := -1
-
 
1672
    ELSE
1648
        key := -1
1673
    	IF keyCode = -1 THEN
1649
    ELSE
1674
    		key := -1
1650
        IF keyCode = 61 THEN (* F3 *)
1675
        ELSIF keyCode = 61 THEN (* F3 *)
1651
            key := -1;
1676
            key := -1;
1652
            IF search & (searchText # "") THEN
1677
            IF search & (searchText # "") THEN
1653
                IF shift THEN
1678
                IF shift THEN
Line 1777... Line 1802...
1777
                        ELSE
1802
                        ELSE
1778
                            key := -1
1803
                            key := -1
1779
                        END
1804
                        END
1780
                    ELSE
1805
                    ELSE
1781
                        T.input(text, E.cp866[key DIV 256 MOD 256]);
1806
                        T.input(text, E.cp866[key DIV 256 MOD 256]);
-
 
1807
                        IF key DIV 256 MOD 256 = 13 THEN
-
 
1808
                        	rep := TRUE
-
 
1809
                        END;
1782
                        key := -1
1810
                        key := -1
1783
                    END
1811
                    END
1784
                END;
1812
                END;
1785
                IF key >= 0 THEN
1813
                IF key >= 0 THEN
1786
                    T.key(text, key, shift, ctrl)
1814
                    T.key(text, key, shift, ctrl);
-
 
1815
                    IF ((key = 38) OR (key = 40) OR (key = ORD("D"))) & ctrl THEN
-
 
1816
                    	rep := TRUE
-
 
1817
                    END
1787
                END
1818
                END
1788
            END
1819
            END
1789
        END
1820
        END
1790
    END;
1821
    END;
1791
    IF key # -2 THEN
1822
    IF key # -2 THEN
-
 
1823
        repaint;
-
 
1824
        IF rep THEN
1792
        repaint
1825
        	repaint
1793
    END
1826
        END
-
 
1827
    END
1794
END KeyDown;
1828
END KeyDown;
Line 1795... Line 1829...
1795
 
1829
 
1796
 
1830