475 lines
16 KiB
ObjectPascal
475 lines
16 KiB
ObjectPascal
unit formopt;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
|
|
ButtonPanel, Spin, ComCtrls, ATSynEdit, ATSynEdit_CanvasProc;
|
|
|
|
type
|
|
{ TfmOpt }
|
|
|
|
TfmOpt = class(TForm)
|
|
bColDown: TButton;
|
|
bColUp: TButton;
|
|
ButtonPanel1: TButtonPanel;
|
|
chkCrBlinkEn: TCheckBox;
|
|
chkMsNormalSel: TCheckBox;
|
|
chkMsColumnSel: TCheckBox;
|
|
chkUnprintArrowDown: TCheckBox;
|
|
chkShowFullHilite: TCheckBox;
|
|
chkMsHideCursor: TCheckBox;
|
|
chkLeftRtSwapAndSel: TCheckBox;
|
|
chkGutterSep: TCheckBox;
|
|
chkGutterNumAuto: TCheckBox;
|
|
chkGutterBm: TCheckBox;
|
|
chkGutterEmpty: TCheckBox;
|
|
chkGutterFold: TCheckBox;
|
|
chkGutterNum: TCheckBox;
|
|
chkGutterStat: TCheckBox;
|
|
chkShowFoldLinesAll: TCheckBox;
|
|
chkBackspUnindent: TCheckBox;
|
|
chkEnterIndent: TCheckBox;
|
|
chkMsMenuDown: TCheckBox;
|
|
chkTabIndent: TCheckBox;
|
|
chkUnindentKeepAlign: TCheckBox;
|
|
chkUnprintAsciiRep: TCheckBox;
|
|
chkShowFoldLines: TCheckBox;
|
|
chkShowFoldAlways: TCheckBox;
|
|
chkCrPreferLeft: TCheckBox;
|
|
chkKeepCol: TCheckBox;
|
|
chkCurLineMin: TCheckBox;
|
|
chkScrollHint: TCheckBox;
|
|
chkPageKeepRel: TCheckBox;
|
|
chkNavHomeEnd: TCheckBox;
|
|
chkMsNiceScroll: TCheckBox;
|
|
chkSaveEol: TCheckBox;
|
|
chkSaveTrim: TCheckBox;
|
|
chkShowNum1st: TCheckBox;
|
|
chkShowNumCr: TCheckBox;
|
|
chkMapSelBorder: TCheckBox;
|
|
chkMapSelAlways: TCheckBox;
|
|
chkShowNumBg: TCheckBox;
|
|
chkTabSpaces: TCheckBox;
|
|
chkUndoSv: TCheckBox;
|
|
chkUndoGr: TCheckBox;
|
|
chkCutNoSel: TCheckBox;
|
|
chkDotLn: TCheckBox;
|
|
chkMsClickNumSel: TCheckBox;
|
|
chkCrStopUnfocus: TCheckBox;
|
|
chkEndNonspace: TCheckBox;
|
|
chkHomeNonspace: TCheckBox;
|
|
chkLeftRtSwap: TCheckBox;
|
|
chkNavUpDown: TCheckBox;
|
|
chkOvrSel: TCheckBox;
|
|
chkMsRtClickMove: TCheckBox;
|
|
chkMsDragDrop: TCheckBox;
|
|
chkCrMul: TCheckBox;
|
|
chkCrVirt: TCheckBox;
|
|
chkMsClick2: TCheckBox;
|
|
chkMsClick2Drag: TCheckBox;
|
|
chkMsClick3: TCheckBox;
|
|
chkShowFullSel: TCheckBox;
|
|
chkCopyNoSel: TCheckBox;
|
|
chkCurCol: TCheckBox;
|
|
chkCurLine: TCheckBox;
|
|
chkLastOnTop: TCheckBox;
|
|
chkOvrPaste: TCheckBox;
|
|
chkUnprintEnd: TCheckBox;
|
|
chkUnprintEndDet: TCheckBox;
|
|
chkUnprintSpace: TCheckBox;
|
|
chkUnprintEn: TCheckBox;
|
|
edMapCharWidth: TSpinEdit;
|
|
edNumAlign: TComboBox;
|
|
edIndentKind: TComboBox;
|
|
edCrShape: TComboBox;
|
|
edCrShape2: TComboBox;
|
|
edCrTime: TSpinEdit;
|
|
edSizeSep: TSpinEdit;
|
|
edWordChars: TEdit;
|
|
edIndentSize: TSpinEdit;
|
|
edPlusSize: TSpinEdit;
|
|
edNumChar: TEdit;
|
|
edNumStyle: TComboBox;
|
|
edPageSize: TComboBox;
|
|
edRulerFSize: TSpinEdit;
|
|
edRulerIndent: TSpinEdit;
|
|
edRulerSize: TSpinEdit;
|
|
edSizeBm: TSpinEdit;
|
|
edSizeEmpty: TSpinEdit;
|
|
edSizeFold: TSpinEdit;
|
|
edSizeNum1: TSpinEdit;
|
|
edSizeNum2: TSpinEdit;
|
|
edSizeNum: TSpinEdit;
|
|
edSizeState: TSpinEdit;
|
|
edTabArrowSize: TSpinEdit;
|
|
edTabArrowPnt: TSpinEdit;
|
|
edTextHint: TEdit;
|
|
GroupBox1: TGroupBox;
|
|
GroupBox2: TGroupBox;
|
|
groupIndent: TGroupBox;
|
|
LabChars: TLabel;
|
|
Label1: TLabel;
|
|
Label10: TLabel;
|
|
Label12: TLabel;
|
|
Label13: TLabel;
|
|
Label14: TLabel;
|
|
Label15: TLabel;
|
|
Label16: TLabel;
|
|
Label17: TLabel;
|
|
Label18: TLabel;
|
|
Label19: TLabel;
|
|
Label2: TLabel;
|
|
Label20: TLabel;
|
|
Label3: TLabel;
|
|
Label4: TLabel;
|
|
Label5: TLabel;
|
|
Label6: TLabel;
|
|
Label7: TLabel;
|
|
Label8: TLabel;
|
|
Label9: TLabel;
|
|
LabelArr: TLabel;
|
|
LabelArr1: TLabel;
|
|
LabelHint: TLabel;
|
|
ListCol: TListBox;
|
|
ListShapes: TListBox;
|
|
PageControl1: TPageControl;
|
|
edUndo: TSpinEdit;
|
|
edNumSize: TSpinEdit;
|
|
TabSheet1: TTabSheet;
|
|
TabSheet2: TTabSheet;
|
|
TabSheet3: TTabSheet;
|
|
TabSheet4: TTabSheet;
|
|
TabSheet5: TTabSheet;
|
|
TabSheet6: TTabSheet;
|
|
TabSheet7: TTabSheet;
|
|
TabSheet8: TTabSheet;
|
|
TabSheet9: TTabSheet;
|
|
procedure bColDownClick(Sender: TObject);
|
|
procedure bColUpClick(Sender: TObject);
|
|
procedure FormCreate(Sender: TObject);
|
|
private
|
|
{ private declarations }
|
|
public
|
|
{ public declarations }
|
|
procedure InitShape(ed: TCombobox);
|
|
end;
|
|
|
|
var
|
|
fmOpt: TfmOpt;
|
|
|
|
procedure DoConfigEditor(ed: TATSynEdit);
|
|
|
|
|
|
implementation
|
|
|
|
{$R *.lfm}
|
|
|
|
const
|
|
nameBm = 'bookmk';
|
|
nameNums = 'nums';
|
|
nameState = 'states';
|
|
nameFold = 'fold';
|
|
nameSep = 'separator';
|
|
|
|
procedure DoConfigEditor(ed: TATSynEdit);
|
|
var
|
|
i: integer;
|
|
begin
|
|
with fmOpt do
|
|
begin
|
|
with ListCol do
|
|
begin
|
|
Items.Clear;
|
|
for i:= 0 to 4 do
|
|
begin
|
|
if i=ed.GutterBandBm then Items.Add(nameBm);
|
|
if i=ed.GutterBandNum then Items.Add(nameNums);
|
|
if i=ed.GutterBandState then Items.Add(nameState);
|
|
if i=ed.GutterBandFold then Items.Add(nameFold);
|
|
if i=ed.GutterBandSep then Items.Add(nameSep);
|
|
end;
|
|
ItemIndex:= 0;
|
|
end;
|
|
|
|
//general
|
|
chkCurLine.Checked:= ed.OptShowCurLine;
|
|
chkCurLineMin.Checked:= ed.OptShowCurLineMinimal;
|
|
chkCurCol.Checked:= ed.OptShowCurColumn;
|
|
chkLastOnTop.Checked:= ed.OptLastLineOnTop;
|
|
chkShowFullSel.Checked:= ed.OptShowFullSel;
|
|
chkShowFullHilite.Checked:= ed.OptShowFullHilite;
|
|
chkCopyNoSel.Checked:= ed.OptCopyLinesIfNoSel;
|
|
chkCutNoSel.Checked:= ed.OptCutLinesIfNoSel;
|
|
chkOvrPaste.Checked:= ed.OptOverwriteAllowedOnPaste;
|
|
chkDotLn.Checked:= ed.OptShowIndentLines;
|
|
edTextHint.Text:= ed.OptTextHint;
|
|
edWordChars.Text:= ed.OptWordChars;
|
|
chkSaveEol.Checked:= ed.OptSavingForceFinalEol;
|
|
chkSaveTrim.Checked:= ed.OptSavingTrimSpaces;
|
|
chkScrollHint.Checked:= ed.OptShowScrollHint;
|
|
|
|
//unprint
|
|
chkUnprintEn.Checked:= ed.OptUnprintedVisible;
|
|
chkUnprintSpace.Checked:= ed.OptUnprintedSpaces;
|
|
chkUnprintEnd.Checked:= ed.OptUnprintedEnds;
|
|
chkUnprintEndDet.Checked:= ed.OptUnprintedEndsDetails;
|
|
chkUnprintArrowDown.Checked:= OptUnprintedEndArrowOrDot;
|
|
chkUnprintAsciiRep.Checked:= ed.OptUnprintedReplaceSpec;
|
|
edTabArrowSize.Value:= OptUnprintedTabCharLength;
|
|
edTabArrowPnt.Value:= OptUnprintedTabPointerScale;
|
|
|
|
//caret
|
|
chkCrBlinkEn.Checked:= ed.OptCaretBlinkEnabled;
|
|
edCrTime.Value:= ed.OptCaretBlinkTime;
|
|
chkCrVirt.Checked:= ed.OptCaretVirtual;
|
|
chkCrMul.Checked:= ed.OptCaretManyAllowed;
|
|
chkCrStopUnfocus.Checked:= ed.OptCaretStopUnfocused;
|
|
chkCrPreferLeft.Checked:= ed.OptCaretPreferLeftSide;
|
|
edCrShape.ItemIndex:= Ord(ed.OptCaretShape);
|
|
edCrShape2.ItemIndex:= Ord(ed.OptCaretShapeOvr);
|
|
|
|
//gutter
|
|
edNumStyle.ItemIndex:= Ord(ed.OptNumbersStyle);
|
|
edNumAlign.ItemIndex:= Ord(ed.OptNumbersAlignment);
|
|
edNumSize.Value:= ed.OptNumbersFontSize;
|
|
edNumChar.Text:= ed.OptNumbersSkippedChar;
|
|
edPlusSize.Value:= ed.OptGutterPlusSize;
|
|
chkShowNum1st.Checked:= ed.OptNumbersShowFirst;
|
|
chkShowNumCr.Checked:= ed.OptNumbersShowCarets;
|
|
chkShowNumBg.Checked:= ed.OptShowGutterCaretBG;
|
|
chkShowFoldAlways.Checked:= ed.OptGutterShowFoldAlways;
|
|
chkShowFoldLines.Checked:= ed.OptGutterShowFoldLines;
|
|
chkShowFoldLinesAll.Checked:= ed.OptGutterShowFoldLinesAll;
|
|
edRulerSize.Value:= ed.OptRulerSize;
|
|
edRulerFSize.Value:= ed.OptRulerFontSize;
|
|
edRulerIndent.Value:= ed.OptRulerTextIndent;
|
|
|
|
chkGutterBm.Checked:= ed.Gutter[ed.GutterBandBm].Visible;
|
|
chkGutterNum.Checked:= ed.Gutter[ed.GutterBandNum].Visible;
|
|
chkGutterFold.Checked:= ed.Gutter[ed.GutterBandFold].Visible;
|
|
chkGutterStat.Checked:= ed.Gutter[ed.GutterBandState].Visible;
|
|
chkGutterSep.Checked:= ed.Gutter[ed.GutterBandSep].Visible;
|
|
chkGutterEmpty.Checked:= ed.Gutter[ed.GutterBandEmpty].Visible;
|
|
edSizeBm.Value:= ed.Gutter[ed.GutterBandBm].Size;
|
|
edSizeFold.Value:= ed.Gutter[ed.GutterBandFold].Size;
|
|
edSizeState.Value:= ed.Gutter[ed.GutterBandState].Size;
|
|
edSizeSep.Value:= ed.Gutter[ed.GutterBandSep].Size;
|
|
edSizeEmpty.Value:= ed.Gutter[ed.GutterBandEmpty].Size;
|
|
edSizeNum.Value:= ed.Gutter[ed.GutterBandNum].Size;
|
|
edSizeNum1.Value:= ed.OptNumbersIndentLeft;
|
|
edSizeNum2.Value:= ed.OptNumbersIndentRight;
|
|
chkGutterNumAuto.Checked:= ed.OptNumbersAutosize;
|
|
|
|
//minimap
|
|
edMapCharWidth.Value:= ed.OptMinimapCharWidth;
|
|
chkMapSelBorder.Checked:= ed.OptMinimapShowSelBorder;
|
|
chkMapSelAlways.Checked:= ed.OptMinimapShowSelAlways;
|
|
|
|
//key
|
|
chkTabSpaces.Checked:= ed.OptTabSpaces;
|
|
chkOvrSel.Checked:= ed.OptOverwriteSel;
|
|
chkNavUpDown.Checked:= ed.OptKeyUpDownNavigateWrapped;
|
|
chkNavHomeEnd.Checked:= ed.OptKeyHomeEndNavigateWrapped;
|
|
chkKeepCol.Checked:= ed.OptKeyUpDownKeepColumn;
|
|
chkLeftRtSwap.Checked:= ed.OptKeyLeftRightSwapSel;
|
|
chkLeftRtSwapAndSel.Checked:= ed.OptKeyLeftRightSwapSelAndSelect;
|
|
chkHomeNonspace.Checked:= ed.OptKeyHomeToNonSpace;
|
|
chkEndNonspace.Checked:= ed.OptKeyEndToNonSpace;
|
|
chkTabIndent.Checked:= ed.OptKeyTabIndents;
|
|
chkEnterIndent.Checked:= ed.OptAutoIndent;
|
|
chkBackspUnindent.Checked:= ed.OptKeyBackspaceUnindent;
|
|
edIndentKind.ItemIndex:= Ord(ed.OptAutoIndentKind);
|
|
edIndentSize.Value:= ed.OptIndentSize;
|
|
chkUnindentKeepAlign.Checked:= ed.OptIndentKeepsAlign;
|
|
edPageSize.ItemIndex:= Ord(ed.OptKeyPageUpDownSize);
|
|
chkPageKeepRel.Checked:= ed.OptKeyPageKeepsRelativePos;
|
|
|
|
//mouse
|
|
chkMsNormalSel.Checked:= ed.OptMouseEnableNormalSelection;
|
|
chkMsColumnSel.Checked:= ed.OptMouseEnableColumnSelection;
|
|
chkMsClick2.Checked:= ed.OptMouse2ClickSelectsLine;
|
|
chkMsClick3.Checked:= ed.OptMouse3ClickSelectsLine;
|
|
chkMsClick2Drag.Checked:= ed.OptMouse2ClickDragSelectsWords;
|
|
chkMsClickNumSel.Checked:= ed.OptMouseGutterClickSelectsLine;
|
|
chkMsDragDrop.Checked:= ed.OptMouseDragDrop;
|
|
chkMsRtClickMove.Checked:= ed.OptMouseRightClickMovesCaret;
|
|
chkMsNiceScroll.Checked:= ed.OptMouseNiceScroll;
|
|
chkMsHideCursor.Checked:= ed.OptMouseHideCursorOnType;
|
|
chkMsMenuDown.Checked:= ed.OptMouseDownForPopup;
|
|
|
|
//undo
|
|
edUndo.Value:= ed.OptUndoLimit;
|
|
chkUndoGr.Checked:= ed.OptUndoGrouped;
|
|
chkUndoSv.Checked:= ed.OptUndoAfterSave;
|
|
|
|
if ShowModal=mrOk then
|
|
begin
|
|
ed.GutterBandBm:= ListCol.Items.IndexOf(nameBm);
|
|
ed.GutterBandNum:= ListCol.Items.IndexOf(nameNums);
|
|
ed.GutterBandState:= ListCol.Items.IndexOf(nameState);
|
|
ed.GutterBandFold:= ListCol.Items.IndexOf(nameFold);
|
|
ed.GutterBandSep:= ListCol.Items.IndexOf(nameSep);
|
|
|
|
//general
|
|
ed.OptShowCurLine:= chkCurLine.Checked;
|
|
ed.OptShowCurLineMinimal:= chkCurLineMin.Checked;
|
|
ed.OptShowCurColumn:= chkCurCol.Checked;
|
|
ed.OptTextHint:= edTextHint.Text;
|
|
ed.OptWordChars:= edWordChars.Text;
|
|
ed.OptOverwriteAllowedOnPaste:= chkOvrPaste.Checked;
|
|
ed.OptCopyLinesIfNoSel:= chkCopyNoSel.Checked;
|
|
ed.OptCutLinesIfNoSel:= chkCutNoSel.Checked;
|
|
ed.OptShowFullSel:= chkShowFullSel.Checked;
|
|
ed.OptShowFullHilite:= chkShowFullHilite.Checked;
|
|
ed.OptLastLineOnTop:= chkLastOnTop.Checked;
|
|
ed.OptShowIndentLines:= chkDotLn.Checked;
|
|
ed.OptSavingForceFinalEol:= chkSaveEol.Checked;
|
|
ed.OptSavingTrimSpaces:= chkSaveTrim.Checked;
|
|
ed.OptShowScrollHint:= chkScrollHint.Checked;
|
|
|
|
//unprint
|
|
ed.OptUnprintedVisible:= chkUnprintEn.Checked;
|
|
ed.OptUnprintedSpaces:= chkUnprintSpace.Checked;
|
|
ed.OptUnprintedEnds:= chkUnprintEnd.Checked;
|
|
ed.OptUnprintedEndsDetails:= chkUnprintEndDet.Checked;
|
|
ed.OptUnprintedReplaceSpec:= chkUnprintAsciiRep.Checked;
|
|
OptUnprintedTabCharLength:= edTabArrowSize.Value;
|
|
OptUnprintedTabPointerScale:= edTabArrowPnt.Value;
|
|
OptUnprintedEndArrowOrDot:= chkUnprintArrowDown.Checked;
|
|
|
|
//caret
|
|
ed.OptCaretBlinkEnabled:= chkCrBlinkEn.Checked;
|
|
ed.OptCaretBlinkTime:= edCrTime.Value;
|
|
ed.OptCaretShape:= TATSynCaretShape(edCrShape.ItemIndex);
|
|
ed.OptCaretShapeOvr:= TATSynCaretShape(edCrShape2.ItemIndex);
|
|
ed.OptCaretVirtual:= chkCrVirt.Checked;
|
|
ed.OptCaretManyAllowed:= chkCrMul.Checked;
|
|
ed.OptCaretStopUnfocused:= chkCrStopUnfocus.Checked;
|
|
ed.OptCaretPreferLeftSide:= chkCrPreferLeft.Checked;
|
|
|
|
//gutter
|
|
ed.OptNumbersFontSize:= edNumSize.Value;
|
|
ed.OptNumbersStyle:= TATSynNumbersStyle(edNumStyle.ItemIndex);
|
|
ed.OptNumbersAlignment:= TAlignment(edNumAlign.ItemIndex);
|
|
ed.OptNumbersShowFirst:= chkShowNum1st.Checked;
|
|
ed.OptNumbersShowCarets:= chkShowNumCr.Checked;
|
|
ed.OptNumbersSkippedChar:= edNumChar.Text;
|
|
ed.OptGutterShowFoldAlways:= chkShowFoldAlways.Checked;
|
|
ed.OptGutterShowFoldLines:= chkShowFoldLines.Checked;
|
|
ed.OptGutterShowFoldLinesAll:= chkShowFoldLinesAll.Checked;
|
|
ed.OptGutterPlusSize:= edPlusSize.Value;
|
|
ed.OptShowGutterCaretBG:= chkShowNumBg.Checked;
|
|
ed.OptRulerSize:= edRulerSize.Value;
|
|
ed.OptRulerFontSize:= edRulerFSize.Value;
|
|
ed.OptRulerTextIndent:= edRulerIndent.Value;
|
|
|
|
ed.Gutter[ed.GutterBandBm].Visible:= chkGutterBm.Checked;
|
|
ed.Gutter[ed.GutterBandNum].Visible:= chkGutterNum.Checked;
|
|
ed.Gutter[ed.GutterBandFold].Visible:= chkGutterFold.Checked;
|
|
ed.Gutter[ed.GutterBandState].Visible:= chkGutterStat.Checked;
|
|
ed.Gutter[ed.GutterBandSep].Visible:= chkGutterSep.Checked;
|
|
ed.Gutter[ed.GutterBandEmpty].Visible:= chkGutterEmpty.Checked;
|
|
ed.Gutter[ed.GutterBandBm].Size:= edSizeBm.Value;
|
|
ed.Gutter[ed.GutterBandNum].Size:= edSizeNum.Value;
|
|
ed.Gutter[ed.GutterBandFold].Size:= edSizeFold.Value;
|
|
ed.Gutter[ed.GutterBandState].Size:= edSizeState.Value;
|
|
ed.Gutter[ed.GutterBandSep].Size:= edSizeSep.Value;
|
|
ed.Gutter[ed.GutterBandEmpty].Size:= edSizeEmpty.Value;
|
|
ed.OptNumbersAutosize:= chkGutterNumAuto.Checked;
|
|
ed.OptNumbersIndentLeft:= edSizeNum1.Value;
|
|
ed.OptNumbersIndentRight:= edSizeNum2.Value;
|
|
|
|
//minimap
|
|
ed.OptMinimapCharWidth:= edMapCharWidth.Value;
|
|
ed.OptMinimapShowSelBorder:= chkMapSelBorder.Checked;
|
|
ed.OptMinimapShowSelAlways:= chkMapSelAlways.Checked;
|
|
|
|
//key
|
|
ed.OptTabSpaces:= chkTabSpaces.Checked;
|
|
ed.OptOverwriteSel:= chkOvrSel.Checked;
|
|
ed.OptKeyUpDownKeepColumn:= chkKeepCol.Checked;
|
|
ed.OptKeyUpDownNavigateWrapped:= chkNavUpDown.Checked;
|
|
ed.OptKeyHomeEndNavigateWrapped:= chkNavHomeEnd.Checked;
|
|
ed.OptKeyPageUpDownSize:= TATPageUpDownSize(edPageSize.ItemIndex);
|
|
ed.OptKeyLeftRightSwapSel:= chkLeftRtSwap.Checked;
|
|
ed.OptKeyLeftRightSwapSelAndSelect:= chkLeftRtSwapAndSel.Checked;
|
|
ed.OptKeyHomeToNonSpace:= chkHomeNonspace.Checked;
|
|
ed.OptKeyEndToNonSpace:= chkEndNonspace.Checked;
|
|
ed.OptKeyPageKeepsRelativePos:= chkPageKeepRel.Checked;
|
|
ed.OptKeyTabIndents:= chkTabIndent.Checked;
|
|
ed.OptAutoIndent:= chkEnterIndent.Checked;
|
|
ed.OptKeyBackspaceUnindent := chkBackspUnindent.Checked;
|
|
ed.OptAutoIndentKind:= TATAutoIndentKind(edIndentKind.ItemIndex);
|
|
ed.OptIndentSize:= edIndentSize.Value;
|
|
ed.OptIndentKeepsAlign:= chkUnindentKeepAlign.Checked;
|
|
|
|
//mouse
|
|
ed.OptMouseEnableNormalSelection:= chkMsNormalSel.Checked;
|
|
ed.OptMouseEnableColumnSelection:= chkMsColumnSel.Checked;
|
|
ed.OptMouse2ClickSelectsLine:= chkMsClick2.Checked;
|
|
ed.OptMouse3ClickSelectsLine:= chkMsClick3.Checked;
|
|
ed.OptMouse2ClickDragSelectsWords:= chkMsClick2Drag.Checked;
|
|
ed.OptMouseGutterClickSelectsLine:= chkMsClickNumSel.Checked;
|
|
ed.OptMouseDragDrop:= chkMsDragDrop.Checked;
|
|
ed.OptMouseRightClickMovesCaret:= chkMsRtClickMove.Checked;
|
|
ed.OptMouseNiceScroll:= chkMsNiceScroll.Checked;
|
|
ed.OptMouseHideCursorOnType:= chkMsHideCursor.Checked;
|
|
ed.OptMouseDownForPopup:= chkMsMenuDown.Checked;
|
|
|
|
//undo
|
|
ed.OptUndoLimit:= edUndo.Value;
|
|
ed.OptUndoGrouped:= chkUndoGr.Checked;
|
|
ed.OptUndoAfterSave:= chkUndoSv.Checked;
|
|
|
|
//apply
|
|
ed.Gutter.Update;
|
|
ed.Update;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
{ TfmOpt }
|
|
|
|
procedure TfmOpt.FormCreate(Sender: TObject);
|
|
begin
|
|
InitShape(edCrShape);
|
|
InitShape(edCrShape2);
|
|
end;
|
|
|
|
procedure SwapItems(L: TListbox; n1, n2: integer);
|
|
var
|
|
s: string;
|
|
begin
|
|
s:= L.Items[n1];
|
|
L.Items[n1]:= L.Items[n2];
|
|
L.Items[n2]:= s;
|
|
L.ItemIndex:= n2;
|
|
end;
|
|
|
|
procedure TfmOpt.bColUpClick(Sender: TObject);
|
|
begin
|
|
with ListCol do
|
|
if ItemIndex>0 then
|
|
SwapItems(ListCol, ItemIndex, ItemIndex-1);
|
|
end;
|
|
|
|
procedure TfmOpt.bColDownClick(Sender: TObject);
|
|
begin
|
|
with ListCol do
|
|
if ItemIndex<Count-1 then
|
|
SwapItems(ListCol, ItemIndex, ItemIndex+1);
|
|
end;
|
|
|
|
procedure TfmOpt.InitShape(ed: TCombobox);
|
|
begin
|
|
ed.Items.Clear;
|
|
ed.Items.AddStrings(ListShapes.Items);
|
|
end;
|
|
|
|
end.
|
|
|