mirror of
https://github.com/HeidiSQL/HeidiSQL.git
synced 2025-08-06 18:24:26 +08:00
Issue #1659: create dialog for customizing highlighter colors and style, for use on grid text editor
This commit is contained in:
@ -6,7 +6,7 @@ uses
|
||||
Windows, Classes, Graphics, Forms, Controls, StdCtrls, VirtualTrees,
|
||||
ComCtrls, ToolWin, Dialogs, SysUtils, Menus, ExtDlgs,
|
||||
apphelpers, gnugettext, ActnList, StdActns, extra_controls, System.Actions,
|
||||
Vcl.ExtCtrls, dbconnection, SynEdit, SynMemo, SynEditHighlighter,
|
||||
Vcl.ExtCtrls, dbconnection, SynEdit, SynMemo, SynEditHighlighter, customize_highlighter,
|
||||
|
||||
SynHighlighterADSP21xx, SynHighlighterAWK, SynHighlighterAsm,
|
||||
SynHighlighterBaan, SynHighlighterBat, SynHighlighterCAC, SynHighlighterCPM, SynHighlighterCS,
|
||||
@ -59,6 +59,8 @@ type
|
||||
Findorreplaceagain1: TMenuItem;
|
||||
Replacetext1: TMenuItem;
|
||||
N1: TMenuItem;
|
||||
ToolButton1: TToolButton;
|
||||
btnCustomizeHighlighter: TToolButton;
|
||||
procedure btnApplyClick(Sender: TObject);
|
||||
procedure btnCancelClick(Sender: TObject);
|
||||
procedure btnLoadTextClick(Sender: TObject);
|
||||
@ -73,6 +75,7 @@ type
|
||||
procedure SelectLinebreaks(Sender: TObject);
|
||||
procedure TimerMemoChangeTimer(Sender: TObject);
|
||||
procedure comboHighlighterSelect(Sender: TObject);
|
||||
procedure btnCustomizeHighlighterClick(Sender: TObject);
|
||||
private
|
||||
{ Private declarations }
|
||||
FModified: Boolean;
|
||||
@ -83,6 +86,7 @@ type
|
||||
FTableColumn: TTableColumn;
|
||||
FHighlighter: TSynCustomHighlighter;
|
||||
procedure SetModified(NewVal: Boolean);
|
||||
procedure CustomizeHighlighterChanged(Sender: TObject);
|
||||
public
|
||||
function GetText: String;
|
||||
procedure SetText(text: String);
|
||||
@ -160,6 +164,27 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
procedure TfrmTextEditor.btnCustomizeHighlighterClick(Sender: TObject);
|
||||
var
|
||||
Dialog: TfrmCustomizeHighlighter;
|
||||
begin
|
||||
// let user customize highlighter colors
|
||||
Dialog := TfrmCustomizeHighlighter.Create(Self);
|
||||
Dialog.FriendlyLanguageName := MemoText.Highlighter.FriendlyLanguageName;
|
||||
Dialog.OnChange := CustomizeHighlighterChanged;
|
||||
Dialog.ShowModal;
|
||||
Dialog.Free;
|
||||
end;
|
||||
|
||||
procedure TfrmTextEditor.CustomizeHighlighterChanged(Sender: TObject);
|
||||
var
|
||||
Dialog: TfrmCustomizeHighlighter;
|
||||
begin
|
||||
Dialog := Sender as TfrmCustomizeHighlighter;
|
||||
comboHighlighter.ItemIndex := comboHighlighter.Items.IndexOf(Dialog.FriendlyLanguageName);
|
||||
comboHighlighter.OnSelect(comboHighlighter);
|
||||
end;
|
||||
|
||||
procedure TfrmTextEditor.SelectLinebreaks(Sender: TObject);
|
||||
var
|
||||
Selected, Item: TMenuItem;
|
||||
@ -340,6 +365,8 @@ begin
|
||||
MemoText.Highlighter := FHighlighter;
|
||||
end;
|
||||
|
||||
MemoText.Highlighter.LoadFromFile(AppSettings.DirnameHighlighters + MemoText.Highlighter.LanguageName + '.ini');
|
||||
|
||||
MemoText.SelStart := SelStart;
|
||||
MemoText.SelLength := SelLength;
|
||||
end;
|
||||
|
Reference in New Issue
Block a user