mirror of
https://github.com/HeidiSQL/HeidiSQL.git
synced 2025-08-26 11:17:57 +08:00
Implement preference option to adjust tab width in SynMemos. Fixes issue #857.
This commit is contained in:
@ -56,6 +56,8 @@ const
|
||||
DEFAULT_FONTNAME = 'Courier New';
|
||||
REGNAME_FONTSIZE = 'FontSize';
|
||||
DEFAULT_FONTSIZE = 9;
|
||||
REGNAME_TABWIDTH = 'TabWidth';
|
||||
DEFAULT_TABWIDTH = 3;
|
||||
REGNAME_DATAFONTNAME = 'DataFontName';
|
||||
DEFAULT_DATAFONTNAME = 'Tahoma';
|
||||
REGNAME_DATAFONTSIZE = 'DataFontSize';
|
||||
|
@ -8812,7 +8812,7 @@ var
|
||||
Editors: TObjectList;
|
||||
BaseEditor, Editor: TSynMemo;
|
||||
FontName: String;
|
||||
FontSize: Integer;
|
||||
FontSize, TabWidth: Integer;
|
||||
KeyStroke: TSynEditKeyStroke;
|
||||
ActiveLineColor: TColor;
|
||||
Attri: TSynHighlighterAttributes;
|
||||
@ -8844,6 +8844,7 @@ begin
|
||||
|
||||
FontName := GetRegValue(REGNAME_FONTNAME, DEFAULT_FONTNAME);
|
||||
FontSize := GetRegValue(REGNAME_FONTSIZE, DEFAULT_FONTSIZE);
|
||||
TabWidth := GetRegValue(REGNAME_TABWIDTH, DEFAULT_TABWIDTH);
|
||||
ActiveLineColor := StringToColor(GetRegValue(REGNAME_SQLCOLACTIVELINE, ColorToString(DEFAULT_SQLCOLACTIVELINE)));
|
||||
for i:=0 to Editors.Count-1 do begin
|
||||
Editor := Editors[i] as TSynMemo;
|
||||
@ -8853,7 +8854,7 @@ begin
|
||||
Editor.Gutter.Font.Size := FontSize;
|
||||
Editor.ActiveLineColor := ActiveLineColor;
|
||||
Editor.Options := BaseEditor.Options;
|
||||
Editor.TabWidth := BaseEditor.TabWidth;
|
||||
Editor.TabWidth := TabWidth;
|
||||
Editor.MaxScrollWidth := BaseEditor.MaxScrollWidth;
|
||||
// Shortcuts
|
||||
if Editor = BaseEditor then for j:=0 to Editor.Keystrokes.Count-1 do begin
|
||||
|
@ -206,22 +206,22 @@ object optionsform: Toptionsform
|
||||
object grpSQLFont: TGroupBox
|
||||
Left = 1
|
||||
Top = 1
|
||||
Width = 397
|
||||
Width = 288
|
||||
Height = 56
|
||||
Anchors = [akLeft, akTop, akRight, akBottom]
|
||||
Caption = 'Editor font'
|
||||
TabOrder = 0
|
||||
object lblSQLFontSize: TLabel
|
||||
Left = 248
|
||||
Left = 263
|
||||
Top = 26
|
||||
Width = 23
|
||||
Width = 10
|
||||
Height = 13
|
||||
Caption = 'Size:'
|
||||
Caption = 'pt'
|
||||
end
|
||||
object comboSQLFontName: TComboBox
|
||||
Left = 16
|
||||
Top = 23
|
||||
Width = 193
|
||||
Width = 181
|
||||
Height = 21
|
||||
Style = csDropDownList
|
||||
ItemHeight = 13
|
||||
@ -229,7 +229,7 @@ object optionsform: Toptionsform
|
||||
OnChange = SQLFontChange
|
||||
end
|
||||
object editSQLFontSize: TEdit
|
||||
Left = 294
|
||||
Left = 200
|
||||
Top = 23
|
||||
Width = 41
|
||||
Height = 21
|
||||
@ -238,7 +238,7 @@ object optionsform: Toptionsform
|
||||
OnExit = SQLFontChange
|
||||
end
|
||||
object updownSQLFontSize: TUpDown
|
||||
Left = 335
|
||||
Left = 241
|
||||
Top = 23
|
||||
Width = 16
|
||||
Height = 21
|
||||
@ -366,6 +366,32 @@ object optionsform: Toptionsform
|
||||
OnChange = SQLFontChange
|
||||
end
|
||||
end
|
||||
object grpSQLTabWidth: TGroupBox
|
||||
Left = 295
|
||||
Top = 1
|
||||
Width = 102
|
||||
Height = 56
|
||||
Caption = 'Tab width'
|
||||
TabOrder = 3
|
||||
object editSQLTabWidth: TEdit
|
||||
Left = 14
|
||||
Top = 23
|
||||
Width = 43
|
||||
Height = 21
|
||||
TabOrder = 0
|
||||
Text = '0'
|
||||
OnExit = SQLFontChange
|
||||
end
|
||||
object updownSQLTabWidth: TUpDown
|
||||
Left = 57
|
||||
Top = 23
|
||||
Width = 16
|
||||
Height = 21
|
||||
Associate = editSQLTabWidth
|
||||
TabOrder = 1
|
||||
OnClick = updownSQLFontSizeClick
|
||||
end
|
||||
end
|
||||
end
|
||||
object tabData: TTabSheet
|
||||
BorderWidth = 5
|
||||
|
@ -115,6 +115,9 @@ type
|
||||
lblShortcutHint: TLabel;
|
||||
Shortcut2: TSynHotKey;
|
||||
lblShortcut2: TLabel;
|
||||
grpSQLTabWidth: TGroupBox;
|
||||
editSQLTabWidth: TEdit;
|
||||
updownSQLTabWidth: TUpDown;
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure Modified(Sender: TObject);
|
||||
procedure Apply(Sender: TObject);
|
||||
@ -204,6 +207,7 @@ begin
|
||||
MainReg.WriteBool(REGNAME_RESTORELASTUSEDDB, chkRestoreLastDB.Checked);
|
||||
MainReg.WriteString(REGNAME_FONTNAME, comboSQLFontName.Text);
|
||||
MainReg.WriteInteger(REGNAME_FONTSIZE, updownSQLFontSize.Position);
|
||||
MainReg.WriteInteger(REGNAME_TABWIDTH, updownSQLTabWidth.Position);
|
||||
MainReg.WriteInteger(REGNAME_LOGSQLNUM, updownLogLines.Position);
|
||||
MainReg.WriteInteger(REGNAME_LOGSQLWIDTH, updownLogSnip.Position);
|
||||
for i:=0 to SynSQLSynSQLSample.AttrCount - 1 do begin
|
||||
@ -332,12 +336,12 @@ begin
|
||||
InheritFont(Font);
|
||||
EnumFontFamilies(Canvas.Handle, nil, @EnumFixedProc, LPARAM(Pointer(comboSQLFontName.Items)));
|
||||
SynMemoSQLSample.Text := 'SELECT DATE_SUB(NOW(), INTERVAL 1 DAY),' + CRLF +
|
||||
' ''String literal'' AS lit' + CRLF +
|
||||
#9'''String literal'' AS lit' + CRLF +
|
||||
'FROM tableA AS ta -- A comment' + CRLF +
|
||||
'WHERE `columnA` IS NULL; # More comment' + CRLF +
|
||||
CRLF +
|
||||
'CREATE TABLE /*!32312 IF NOT EXISTS*/ tableB' + CRLF +
|
||||
' (id INT, name VARCHAR(30) DEFAULT "standard")';
|
||||
#9'(id INT, name VARCHAR(30) DEFAULT "standard")';
|
||||
SynSQLSynSQLSample.TableNames.CommaText := 'tableA,tableB';
|
||||
for i:=0 to SynSQLSynSQLSample.AttrCount - 1 do
|
||||
comboSQLColElement.Items.Add(SynSQLSynSQLSample.Attribute[i].FriendlyName);
|
||||
@ -390,6 +394,7 @@ begin
|
||||
Mainform.SetupSynEditors;
|
||||
comboSQLFontName.ItemIndex := comboSQLFontName.Items.IndexOf(SynMemoSQLSample.Font.Name);
|
||||
updownSQLFontSize.Position := SynMemoSQLSample.Font.Size;
|
||||
updownSQLTabWidth.Position := SynMemoSQLSample.TabWidth;
|
||||
comboSQLColElementChange(Sender);
|
||||
|
||||
// Data-Appearance:
|
||||
@ -430,6 +435,7 @@ var
|
||||
begin
|
||||
SynMemoSQLSample.Font.Name := comboSQLFontName.Items[comboSQLFontName.ItemIndex];
|
||||
SynMemoSQLSample.Font.Size := updownSQLFontSize.Position;
|
||||
SynMemoSQLSample.TabWidth := updownSQLTabWidth.Position;
|
||||
AttriIdx := comboSQLColElement.ItemIndex;
|
||||
Foreground := cboxSQLColForeground.Selected;
|
||||
Background := cboxSQLColBackground.Selected;
|
||||
|
Reference in New Issue
Block a user