mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-11 05:56:16 +02:00
IDE Coolbar improvements. Issue #27779, patch from Balázs Székely.
git-svn-id: trunk@48609 -
This commit is contained in:
parent
37332e8674
commit
ebcbe939e6
@ -10,19 +10,19 @@ object ToolbarOptionsFrame: TToolbarOptionsFrame
|
||||
DesignTop = 305
|
||||
object pnBottom: TPanel
|
||||
Left = 0
|
||||
Height = 225
|
||||
Top = 226
|
||||
Height = 223
|
||||
Top = 228
|
||||
Width = 520
|
||||
Align = alClient
|
||||
BevelOuter = bvNone
|
||||
ClientHeight = 225
|
||||
ClientHeight = 223
|
||||
ClientWidth = 520
|
||||
Constraints.MinHeight = 115
|
||||
TabOrder = 1
|
||||
object pnButtons: TPanel
|
||||
Left = 0
|
||||
Height = 40
|
||||
Top = 185
|
||||
Top = 183
|
||||
Width = 520
|
||||
Align = alBottom
|
||||
BevelOuter = bvNone
|
||||
@ -58,11 +58,12 @@ object ToolbarOptionsFrame: TToolbarOptionsFrame
|
||||
TabOrder = 1
|
||||
end
|
||||
object bDefaultToolbar: TBitBtn
|
||||
Left = 377
|
||||
Height = 24
|
||||
Left = 440
|
||||
Height = 25
|
||||
Top = 0
|
||||
Width = 127
|
||||
Width = 64
|
||||
Anchors = [akTop, akRight]
|
||||
AutoSize = True
|
||||
Caption = 'Default'
|
||||
OnClick = bDefaultToolbarClick
|
||||
TabOrder = 3
|
||||
@ -70,14 +71,14 @@ object ToolbarOptionsFrame: TToolbarOptionsFrame
|
||||
end
|
||||
object sbCoolBar: TScrollBox
|
||||
Left = 0
|
||||
Height = 162
|
||||
Height = 160
|
||||
Top = 0
|
||||
Width = 520
|
||||
HorzScrollBar.Page = 75
|
||||
VertScrollBar.Page = 25
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
BorderStyle = bsNone
|
||||
ClientHeight = 162
|
||||
ClientHeight = 160
|
||||
ClientWidth = 520
|
||||
Constraints.MinHeight = 75
|
||||
TabOrder = 0
|
||||
@ -116,10 +117,10 @@ object ToolbarOptionsFrame: TToolbarOptionsFrame
|
||||
TabOrder = 0
|
||||
object dbGeneralSettings: TDividerBevel
|
||||
Left = 0
|
||||
Height = 13
|
||||
Height = 15
|
||||
Top = 5
|
||||
Width = 520
|
||||
Caption = 'General Toolbars Settings'
|
||||
Caption = 'General Coolbars Settings'
|
||||
Align = alTop
|
||||
BorderSpacing.Top = 5
|
||||
BorderSpacing.Bottom = 5
|
||||
@ -133,14 +134,14 @@ object ToolbarOptionsFrame: TToolbarOptionsFrame
|
||||
Top = 64
|
||||
Width = 188
|
||||
Caption = 'Grab Style'
|
||||
ClientHeight = 74
|
||||
ClientWidth = 186
|
||||
ClientHeight = 69
|
||||
ClientWidth = 184
|
||||
TabOrder = 1
|
||||
object lbGrabWidth: TLabel
|
||||
Left = 12
|
||||
Height = 13
|
||||
Height = 15
|
||||
Top = 43
|
||||
Width = 58
|
||||
Width = 63
|
||||
Caption = 'Grab Width:'
|
||||
ParentColor = False
|
||||
end
|
||||
@ -148,7 +149,7 @@ object ToolbarOptionsFrame: TToolbarOptionsFrame
|
||||
AnchorSideTop.Control = lbGrabWidth
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 118
|
||||
Height = 20
|
||||
Height = 23
|
||||
Top = 39
|
||||
Width = 50
|
||||
MaxValue = 50
|
||||
@ -159,10 +160,10 @@ object ToolbarOptionsFrame: TToolbarOptionsFrame
|
||||
end
|
||||
object cbGrabStyle: TComboBox
|
||||
Left = 11
|
||||
Height = 20
|
||||
Height = 23
|
||||
Top = 5
|
||||
Width = 157
|
||||
ItemHeight = 17
|
||||
ItemHeight = 15
|
||||
ItemIndex = 1
|
||||
Items.Strings = (
|
||||
'gsSimple'
|
||||
@ -179,22 +180,23 @@ object ToolbarOptionsFrame: TToolbarOptionsFrame
|
||||
end
|
||||
end
|
||||
object bDefaultGeneral: TBitBtn
|
||||
Left = 376
|
||||
Height = 24
|
||||
Top = 168
|
||||
Width = 127
|
||||
Left = 439
|
||||
Height = 25
|
||||
Top = 167
|
||||
Width = 64
|
||||
Anchors = [akRight, akBottom]
|
||||
AutoSize = True
|
||||
Caption = 'Default'
|
||||
OnClick = bDefaultGeneralClick
|
||||
TabOrder = 3
|
||||
end
|
||||
object cbToolBarVisible: TCheckBox
|
||||
object cbCoolBarVisible: TCheckBox
|
||||
Left = 12
|
||||
Height = 17
|
||||
Height = 19
|
||||
Top = 32
|
||||
Width = 100
|
||||
Caption = 'Toolbar is visible'
|
||||
OnClick = cbToolBarVisibleClick
|
||||
Width = 109
|
||||
Caption = 'Coolbar is visible'
|
||||
OnClick = cbCoolBarVisibleClick
|
||||
TabOrder = 0
|
||||
end
|
||||
object gbBorderStyle: TGroupBox
|
||||
@ -203,15 +205,15 @@ object ToolbarOptionsFrame: TToolbarOptionsFrame
|
||||
Top = 64
|
||||
Width = 188
|
||||
Caption = 'Band Border Style'
|
||||
ClientHeight = 74
|
||||
ClientWidth = 186
|
||||
ClientHeight = 69
|
||||
ClientWidth = 184
|
||||
TabOrder = 2
|
||||
object cbBorderStyle: TComboBox
|
||||
Left = 11
|
||||
Height = 20
|
||||
Height = 23
|
||||
Top = 5
|
||||
Width = 157
|
||||
ItemHeight = 17
|
||||
ItemHeight = 15
|
||||
ItemIndex = 1
|
||||
Items.Strings = (
|
||||
'None'
|
||||
@ -226,7 +228,7 @@ object ToolbarOptionsFrame: TToolbarOptionsFrame
|
||||
end
|
||||
object dbAddConfigDelete: TDividerBevel
|
||||
Left = 0
|
||||
Height = 13
|
||||
Height = 15
|
||||
Top = 208
|
||||
Width = 520
|
||||
Caption = 'Add/Config/Delete Toolbar(s)'
|
||||
|
@ -19,7 +19,7 @@
|
||||
***************************************************************************
|
||||
Author: Balázs Székely
|
||||
Abstract:
|
||||
Frame for toolbar options.
|
||||
Frame for toolbar options.
|
||||
}
|
||||
unit toolbar_options;
|
||||
|
||||
@ -44,7 +44,7 @@ type
|
||||
bDelete: TBitBtn;
|
||||
cbGrabStyle: TComboBox;
|
||||
cbBorderStyle: TComboBox;
|
||||
cbToolBarVisible: TCheckBox;
|
||||
cbCoolBarVisible: TCheckBox;
|
||||
Coolbar: TCoolBar;
|
||||
gbGrabStyle: TGroupBox;
|
||||
gbBorderStyle: TGroupBox;
|
||||
@ -65,7 +65,7 @@ type
|
||||
procedure bDeleteClick(Sender: TObject);
|
||||
procedure cbBorderStyleChange(Sender: TObject);
|
||||
procedure cbGrabStyleChange(Sender: TObject);
|
||||
procedure cbToolBarVisibleClick(Sender: TObject);
|
||||
procedure cbCoolBarVisibleClick(Sender: TObject);
|
||||
procedure CoolBarMouseDown(Sender: TObject; {%H-}Button: TMouseButton;
|
||||
{%H-}Shift: TShiftState; X, Y: integer);
|
||||
procedure CoolbarResize(Sender: TObject);
|
||||
@ -110,7 +110,7 @@ begin
|
||||
bAdd.Caption := lisBtnAdd;
|
||||
bConfig.Caption := lisCoolbarConfigure;
|
||||
bDelete.Caption := lisBtnDelete;
|
||||
cbToolBarVisible.Caption := lisCoolbarVisible;
|
||||
cbCoolBarVisible.Caption := lisCoolbarVisible;
|
||||
gbGrabStyle.Caption := lisCoolbarGrabStyle;
|
||||
cbGrabStyle.Items.Strings[0] := lisCoolbarGrabStyleItem0;
|
||||
cbGrabStyle.Items.Strings[1] := lisCoolbarGrabStyleItem1;
|
||||
@ -126,14 +126,11 @@ begin
|
||||
end;
|
||||
|
||||
procedure TToolbarOptionsFrame.ReadSettings(AOptions: TAbstractIDEOptions);
|
||||
var
|
||||
I, J: integer;
|
||||
IDEToolBar: TIDEToolBar;
|
||||
begin
|
||||
with (AOptions as TEnvironmentOptions).IDECoolBarOptions do
|
||||
begin
|
||||
//read toolbar settings
|
||||
cbToolBarVisible.Checked := IDECoolBarVisible;
|
||||
cbCoolBarVisible.Checked := IDECoolBarVisible;
|
||||
FTempCoolBar.IsVisible := IDECoolBarVisible;
|
||||
|
||||
if not (IDECoolBarGrabStyle in [0..5]) then
|
||||
IDECoolBarGrabStyle := 1;
|
||||
@ -150,62 +147,39 @@ begin
|
||||
cbBorderStyle.ItemIndex := IDECoolBarBorderStyle;
|
||||
Coolbar.BandBorderStyle := TBorderStyle(IDECoolBarBorderStyle);
|
||||
EnableDisableButtons(0);
|
||||
|
||||
//read toolbars
|
||||
FTempCoolBar.ToolBars.Clear;
|
||||
for I := 0 to IDECoolBar.ToolBars.Count - 1 do
|
||||
begin
|
||||
IDEToolBar := FTempCoolBar.Add;
|
||||
IDEToolBar.Position := IDECoolBar.ToolBars[I].Position;
|
||||
IDEToolBar.Break := IDECoolBar.ToolBars[I].Break;
|
||||
for J := 0 to IDECoolBar.ToolBars[I].ButtonNames.Count - 1 do
|
||||
IDEToolBar.ButtonNames.Add(IDECoolBar.ToolBars[I].ButtonNames.Strings[J]);
|
||||
end;
|
||||
FTempCoolBar.Sort;
|
||||
|
||||
PopulateToolBar;
|
||||
end;
|
||||
|
||||
FTempCoolBar.CopyFromOptions((AOptions as TEnvironmentOptions).IDECoolBarOptions);
|
||||
PopulateToolBar;
|
||||
end;
|
||||
|
||||
procedure TToolbarOptionsFrame.WriteSettings(AOptions: TAbstractIDEOptions);
|
||||
var
|
||||
I, J: integer;
|
||||
IDEToolBar: TIDEToolBar;
|
||||
ToolBar: TToolBar;
|
||||
begin
|
||||
with (AOptions as TEnvironmentOptions).IDECoolBarOptions do
|
||||
begin
|
||||
//write toolbar settings
|
||||
IDECoolBarVisible := cbToolBarVisible.Checked;
|
||||
IDECoolBarVisible := cbCoolBarVisible.Checked;
|
||||
IDECoolBarGrabStyle := cbGrabStyle.ItemIndex;
|
||||
IDECoolBarGrabWidth := spGrabWidth.Value;
|
||||
IDECoolBarBorderStyle := cbBorderStyle.ItemIndex;
|
||||
end;
|
||||
|
||||
//write toolbars
|
||||
for I := 0 to Coolbar.Bands.Count - 1 do
|
||||
for I := 0 to Coolbar.Bands.Count - 1 do
|
||||
begin
|
||||
if Coolbar.Bands[I].Control = nil then
|
||||
Continue;
|
||||
ToolBar := (Coolbar.Bands[I].Control as TToolBar);
|
||||
J := FTempCoolBar.FindByToolBar(ToolBar);
|
||||
if J <> -1 then
|
||||
begin
|
||||
if Coolbar.Bands[I].Control = nil then
|
||||
Continue;
|
||||
ToolBar := (Coolbar.Bands[I].Control as TToolBar);
|
||||
J := FTempCoolBar.FindByToolBar(ToolBar);
|
||||
if J <> -1 then
|
||||
begin
|
||||
FTempCoolBar.ToolBars[J].Position := Coolbar.Bands[I].Index;
|
||||
FTempCoolBar.ToolBars[J].Break := Coolbar.Bands[I].Break;
|
||||
end;
|
||||
end;
|
||||
FTempCoolBar.Sort;
|
||||
|
||||
IDECoolBar.ToolBars.Clear;
|
||||
for I := 0 to FTempCoolBar.ToolBars.Count - 1 do
|
||||
begin
|
||||
IDEToolBar := IDECoolBar.Add;
|
||||
IDEToolBar.Position := FTempCoolBar.ToolBars[I].Position;
|
||||
IDEToolBar.Break := FTempCoolBar.ToolBars[I].Break;
|
||||
for J := 0 to FTempCoolBar.ToolBars[I].ButtonNames.Count - 1 do
|
||||
IDEToolBar.ButtonNames.Add(FTempCoolBar.ToolBars[I].ButtonNames.Strings[J]);
|
||||
FTempCoolBar.ToolBars[J].Position := Coolbar.Bands[I].Index;
|
||||
FTempCoolBar.ToolBars[J].Break := Coolbar.Bands[I].Break;
|
||||
end;
|
||||
end;
|
||||
FTempCoolBar.Sort;
|
||||
FTempCoolBar.CopyToOptions((AOptions as TEnvironmentOptions).IDECoolBarOptions);
|
||||
MainIDEBar.RefreshCoolbar;
|
||||
end;
|
||||
|
||||
@ -254,8 +228,9 @@ begin
|
||||
EnableDisableButtons(0);
|
||||
end;
|
||||
|
||||
procedure TToolbarOptionsFrame.cbToolBarVisibleClick(Sender: TObject);
|
||||
procedure TToolbarOptionsFrame.cbCoolBarVisibleClick(Sender: TObject);
|
||||
begin
|
||||
FTempCoolBar.IsVisible := cbCoolBarVisible.Checked;
|
||||
EnableDisableButtons(0);
|
||||
end;
|
||||
|
||||
@ -313,54 +288,15 @@ begin
|
||||
end;
|
||||
|
||||
procedure TToolbarOptionsFrame.EnableDisableButtons(const bType: Integer);
|
||||
function IsDefaultGeneralEnabled: Boolean;
|
||||
begin
|
||||
Result := (not cbToolBarVisible.Checked) or (cbGrabStyle.ItemIndex <> 1) or
|
||||
(spGrabWidth.Value <> 5) or (cbBorderStyle.ItemIndex <> 1);
|
||||
end;
|
||||
|
||||
function IsDefaultToolbarEnabled: Boolean;
|
||||
var
|
||||
IDEToolBar0: TIDEToolBar;
|
||||
IDEToolBar1: TIDEToolBar;
|
||||
begin
|
||||
Result := True;
|
||||
if FTempCoolBar.ToolBars.Count <> 2 then
|
||||
Exit;
|
||||
if (FTempCoolBar.ToolBars[0].ButtonNames.Count <> 8) or (FTempCoolBar.ToolBars[1].ButtonNames.Count <> 10) then
|
||||
Exit;
|
||||
IDEToolBar0 := FTempCoolBar.ToolBars[0];
|
||||
IDEToolBar1 := FTempCoolBar.ToolBars[1];
|
||||
Result := (IDEToolBar0.ButtonNames[0] <> 'IDEMainMenu/File/itmFileNew/itmFileNewForm') or
|
||||
(IDEToolBar0.ButtonNames[1] <> 'IDEMainMenu/File/itmFileNew/itmFileNewUnit') or
|
||||
(IDEToolBar0.ButtonNames[2] <> '---------------') or
|
||||
(IDEToolBar0.ButtonNames[3] <> 'IDEMainMenu/File/itmFileOpenSave/itmFileOpen') or
|
||||
(IDEToolBar0.ButtonNames[4] <> 'IDEMainMenu/File/itmFileOpenSave/itmFileSave') or
|
||||
(IDEToolBar0.ButtonNames[5] <> 'IDEMainMenu/File/itmFileOpenSave/itmFileSaveAll') or
|
||||
(IDEToolBar0.ButtonNames[6] <> '---------------') or
|
||||
(IDEToolBar0.ButtonNames[7] <> 'IDEMainMenu/View/itmViewMainWindows/itmViewToggleFormUnit') or
|
||||
|
||||
(IDEToolBar1.ButtonNames[0] <> 'IDEMainMenu/Project/itmProjectAddRemoveSection/itmProjectViewUnits') or
|
||||
(IDEToolBar1.ButtonNames[1] <> 'IDEMainMenu/Project/itmProjectAddRemoveSection/itmProjectViewForms') or
|
||||
(IDEToolBar1.ButtonNames[2] <> '---------------') or
|
||||
(IDEToolBar1.ButtonNames[3] <> 'IDEMainMenu/Project/itmProjectAddRemoveSection/itmProjectBuildMode') or
|
||||
(IDEToolBar1.ButtonNames[4] <> 'IDEMainMenu/Run/itmRunnning/itmRunMenuRun') or
|
||||
(IDEToolBar1.ButtonNames[5] <> 'IDEMainMenu/Run/itmRunnning/itmRunMenuPause') or
|
||||
(IDEToolBar1.ButtonNames[6] <> 'IDEMainMenu/Run/itmRunnning/itmRunMenuStop') or
|
||||
(IDEToolBar1.ButtonNames[7] <> 'IDEMainMenu/Run/itmRunnning/itmRunMenuStepOver') or
|
||||
(IDEToolBar1.ButtonNames[8] <> 'IDEMainMenu/Run/itmRunnning/itmRunMenuStepInto') or
|
||||
(IDEToolBar1.ButtonNames[9] <> 'IDEMainMenu/Run/itmRunnning/itmRunMenuStepOut');
|
||||
end;
|
||||
|
||||
var
|
||||
I: Integer;
|
||||
Selected: Boolean;
|
||||
begin
|
||||
case bType of
|
||||
0: begin //general settings
|
||||
bDefaultGeneral.Enabled := IsDefaultGeneralEnabled;
|
||||
0: begin
|
||||
bDefaultGeneral.Enabled := not FTempCoolBar.IsDefaultCoolbar;
|
||||
end;
|
||||
1: begin //toolbar settings
|
||||
1: begin
|
||||
Selected := False;
|
||||
for I := 0 to Coolbar.Bands.Count - 1 do
|
||||
begin
|
||||
@ -372,7 +308,7 @@ begin
|
||||
end;
|
||||
bConfig.Enabled := Selected;
|
||||
bDelete.Enabled := Selected;
|
||||
bDefaultToolbar.Enabled := IsDefaultToolbarEnabled;
|
||||
bDefaultToolbar.Enabled := not FTempCoolBar.IsDefaultToolbar;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@ -406,7 +342,9 @@ end;
|
||||
constructor TToolbarOptionsFrame.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited Create(AOwner);
|
||||
FTempCoolBar := TIDEcoolBar.Create(Nil);
|
||||
FTempCoolBar := TIDEcoolBar.Create(Coolbar);
|
||||
FTempCoolBar.SetCoolBarDefaults;
|
||||
FTempCoolBar.SetToolBarDefaults;
|
||||
end;
|
||||
|
||||
destructor TToolbarOptionsFrame.Destroy;
|
||||
@ -503,48 +441,19 @@ end;
|
||||
|
||||
procedure TToolbarOptionsFrame.bDefaultGeneralClick(Sender: TObject);
|
||||
begin
|
||||
cbCoolBarVisible.Checked := True;
|
||||
FTempCoolBar.IsVisible := True;
|
||||
cbGrabStyle.ItemIndex := 1;
|
||||
spGrabWidth.Value := 5;
|
||||
BiDiMode := bdLeftToRight;
|
||||
cbBorderStyle.ItemIndex := 1;
|
||||
Coolbar.GrabStyle := TGrabStyle(1);
|
||||
Coolbar.GrabWidth := 5;
|
||||
Coolbar.BandBorderStyle := bsSingle;
|
||||
FTempCoolBar.SetCoolBarDefaults;
|
||||
EnableDisableButtons(0);
|
||||
end;
|
||||
|
||||
procedure TToolbarOptionsFrame.bDefaultToolbarClick(Sender: TObject);
|
||||
var
|
||||
IDEToolBar: TIDEToolBar;
|
||||
begin
|
||||
FTempCoolBar.ToolBars.Clear;
|
||||
//standard
|
||||
IDEToolBar := FTempCoolBar.Add;
|
||||
IDEToolBar.Position := 0;
|
||||
IDEToolBar.Break := False;
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/File/itmFileNew/itmFileNewForm');
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/File/itmFileNew/itmFileNewUnit');
|
||||
IDEToolBar.ButtonNames.Add('---------------');
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/File/itmFileOpenSave/itmFileOpen');
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/File/itmFileOpenSave/itmFileSave');
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/File/itmFileOpenSave/itmFileSaveAll');
|
||||
IDEToolBar.ButtonNames.Add('---------------');
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/View/itmViewMainWindows/itmViewToggleFormUnit');
|
||||
|
||||
//debug
|
||||
IDEToolBar := FTempCoolBar.Add;
|
||||
IDEToolBar.Position := 1;
|
||||
IDEToolBar.Break := True;
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/Project/itmProjectAddRemoveSection/itmProjectViewUnits');
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/Project/itmProjectAddRemoveSection/itmProjectViewForms');
|
||||
IDEToolBar.ButtonNames.Add('---------------');
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/Project/itmProjectAddRemoveSection/itmProjectBuildMode');
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/Run/itmRunnning/itmRunMenuRun');
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/Run/itmRunnning/itmRunMenuPause');
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/Run/itmRunnning/itmRunMenuStop');
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/Run/itmRunnning/itmRunMenuStepOver');
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/Run/itmRunnning/itmRunMenuStepInto');
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/Run/itmRunnning/itmRunMenuStepOut');
|
||||
FTempCoolBar.SetToolBarDefaults;
|
||||
PopulateToolBar;
|
||||
end;
|
||||
|
||||
|
@ -2030,10 +2030,12 @@ begin
|
||||
end
|
||||
else
|
||||
MainIDEBar.CoolBar.Align := alClient;
|
||||
|
||||
// IDE Coolbar object wraps MainIDEBar.CoolBar.
|
||||
IDECoolBar:=TIDECoolBar.Create(MainIDEBar.CoolBar);
|
||||
IDECoolBar := TIDECoolBar.Create(MainIDEBar.CoolBar);
|
||||
IDECoolBar.SetCoolBarDefaults;
|
||||
IDECoolBar.CreateDefaultToolbars;
|
||||
IDECoolBar.SetToolBarDefaults;
|
||||
IDECoolBar.IsVisible := EnvironmentOptions.IDECoolBarOptions.IDECoolBarVisible;;
|
||||
MainIDEBar.CoolBar.Visible := EnvironmentOptions.IDECoolBarOptions.IDECoolBarVisible;
|
||||
MainIDEBar.CoolBar.OnChange := @MainIDEBar.CoolBarOnChange;
|
||||
|
||||
|
@ -543,7 +543,6 @@ var
|
||||
CoolBarOpts: TIDECoolBarOptions;
|
||||
begin
|
||||
CoolBarOpts := EnvironmentOptions.IDECoolBarOptions;
|
||||
IDECoolBar.Sort;
|
||||
//read general settings
|
||||
if not (CoolBarOpts.IDECoolBarGrabStyle in [0..5]) then
|
||||
CoolBarOpts.IDECoolBarGrabStyle := 4;
|
||||
@ -554,6 +553,8 @@ begin
|
||||
Coolbar.BandBorderStyle := TBorderStyle(CoolBarOpts.IDECoolBarBorderStyle);
|
||||
//read toolbars
|
||||
CoolBar.Bands.Clear;
|
||||
IDECoolBar.CopyFromOptions(CoolBarOpts);
|
||||
IDECoolBar.Sort;
|
||||
for I := 0 to IDECoolBar.ToolBars.Count - 1 do
|
||||
begin
|
||||
CoolBand := CoolBar.Bands.Add;
|
||||
@ -573,7 +574,6 @@ begin
|
||||
MainSplitter.Align := alLeft;
|
||||
MainSplitter.Visible := MainIDEBar.Coolbar.Visible and
|
||||
MainIDEBar.ComponentPageControl.Visible;
|
||||
|
||||
end;
|
||||
|
||||
procedure TMainIDEBar.MainSplitterMoved(Sender: TObject);
|
||||
@ -585,7 +585,9 @@ procedure TMainIDEBar.CoolBarOnChange(Sender: TObject);
|
||||
var
|
||||
I, J: integer;
|
||||
ToolBar: TToolBar;
|
||||
CoolBarOpts: TIDECoolBarOptions;
|
||||
begin
|
||||
CoolBarOpts := EnvironmentOptions.IDECoolBarOptions;
|
||||
for I := 0 to Coolbar.Bands.Count - 1 do
|
||||
begin
|
||||
if Coolbar.Bands[I].Control = nil then
|
||||
@ -599,6 +601,7 @@ begin
|
||||
end
|
||||
end;
|
||||
IDECoolBar.Sort;
|
||||
IDECoolBar.CopyToOptions(CoolBarOpts);
|
||||
end;
|
||||
|
||||
|
||||
|
@ -33,7 +33,7 @@ unit ToolbarData;
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, LCLProc, ComCtrls, ExtCtrls, ToolWin,
|
||||
Classes, SysUtils, LCLProc, ComCtrls, ExtCtrls, ToolWin, Controls,
|
||||
MenuIntf, IDEImagesIntf, IDECommands, Laz2_XMLCfg, fgl;
|
||||
|
||||
type
|
||||
@ -44,6 +44,7 @@ type
|
||||
{ TIDEToolBarOptions }
|
||||
TIDEToolBarOptions = class
|
||||
private
|
||||
Position: Integer;
|
||||
Break: Boolean;
|
||||
ButtonNames: TStringList;
|
||||
public
|
||||
@ -56,38 +57,26 @@ type
|
||||
{ TIDECoolBarOptions }
|
||||
TIDECoolBarOptions = class
|
||||
private
|
||||
//toolbars
|
||||
FToolbarVisible: Boolean;
|
||||
FToolBarStandardVisible: Boolean;
|
||||
FToolBarStandardLeft: Integer;
|
||||
FToolBarStandardTop: Integer;
|
||||
FToolBarViewDebugVisible: Boolean;
|
||||
FToolBarViewDebugLeft: Integer;
|
||||
FToolBarViewDebugTop: Integer;
|
||||
FToolBarHighlight: Boolean;
|
||||
FToolBarRaised: Boolean;
|
||||
FToolBars: TIDEToolBarOptionList;
|
||||
//coolbar
|
||||
FIDECoolBarVisible: Boolean;
|
||||
FIDECoolBarWidth: Integer;
|
||||
FIDECoolBarGrabStyle: Integer;
|
||||
FIDECoolBarGrabWidth: Integer;
|
||||
FIDECoolBarBorderStyle: Integer;
|
||||
FIDECoolBarToolBars: TIDEToolBarOptionList;
|
||||
public
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
procedure Clear;
|
||||
//procedure Assign(Source: TIDECoolBarOptions);
|
||||
function IsDefault: Boolean;
|
||||
function Load(XMLConfig: TXMLConfig): boolean;
|
||||
function Save(XMLConfig: TXMLConfig): boolean;
|
||||
function Load(XMLConfig: TXMLConfig): Boolean;
|
||||
function Save(XMLConfig: TXMLConfig): Boolean;
|
||||
public
|
||||
property ToolBars: TIDEToolBarOptionList read FToolBars;
|
||||
property IDECoolBarVisible: Boolean read FIDECoolBarVisible write FIDECoolBarVisible;
|
||||
property IDECoolBarWidth: Integer read FIDECoolBarWidth write FIDECoolBarWidth;
|
||||
property IDECoolBarGrabStyle: Integer read FIDECoolBarGrabStyle write FIDECoolBarGrabStyle;
|
||||
property IDECoolBarGrabWidth: Integer read FIDECoolBarGrabWidth write FIDECoolBarGrabWidth;
|
||||
property IDECoolBarBorderStyle: Integer read FIDECoolBarBorderStyle write FIDECoolBarBorderStyle;
|
||||
property IDECoolBarToolBars: TIDEToolBarOptionList read FIDECoolBarToolBars;
|
||||
end;
|
||||
|
||||
// Actual Coolbar and its member Toolbars
|
||||
@ -140,20 +129,24 @@ type
|
||||
TIDECoolBar = class
|
||||
private
|
||||
FCoolBar: TCoolBar; // The actual CoolBar, not owned by this class.
|
||||
FToolBars: TIDEToolBarList;
|
||||
public
|
||||
FCoolBarToolBars: TIDEToolBarList;
|
||||
FIsVisible: Boolean; //cannot hide/show the coolbar on toolbar_options,
|
||||
public //instead we use a variable
|
||||
constructor Create(ACoolBar: TCoolBar);
|
||||
destructor Destroy; override;
|
||||
procedure SetCoolBarDefaults;
|
||||
procedure CreateDefaultToolbars;
|
||||
procedure SetToolBarDefaults;
|
||||
procedure CopyFromOptions(Options: TIDECoolBarOptions);
|
||||
procedure CopyToOptions(Options: TIDECoolBarOptions);
|
||||
function Add: TIDEToolBar;
|
||||
function FindByToolBar(const ToolBar: TToolBar): Integer;
|
||||
procedure Sort;
|
||||
function IsDefaultCoolbar: Boolean;
|
||||
function IsDefaultToolbar: Boolean;
|
||||
public
|
||||
property ToolBars: TIDEToolBarList read FToolBars;
|
||||
property ToolBars: TIDEToolBarList read FCoolBarToolBars;
|
||||
property CoolBar: TCoolBar read FCoolBar;
|
||||
property IsVisible: Boolean read FIsVisible write FIsVisible;
|
||||
end;
|
||||
|
||||
function GetShortcut(AMenuItem: TIDEMenuItem): string;
|
||||
@ -184,46 +177,63 @@ end;
|
||||
{ TIDECoolBarOptions }
|
||||
|
||||
constructor TIDECoolBarOptions.Create;
|
||||
var
|
||||
IDEToolBarOptions: TIDEToolBarOptions;
|
||||
begin
|
||||
inherited Create;
|
||||
FToolBars := TIDEToolBarOptionList.Create;
|
||||
FToolbarVisible := False;
|
||||
FToolBarStandardVisible := False;
|
||||
FToolBarStandardLeft := 0;
|
||||
FToolBarStandardTop := 0;
|
||||
FToolBarViewDebugVisible := False;
|
||||
FToolBarViewDebugLeft := 0;
|
||||
FToolBarViewDebugTop := 26;
|
||||
FToolBarHighlight := False;
|
||||
FToolBarRaised := False;
|
||||
//coolbar
|
||||
//set default values
|
||||
FIDECoolBarVisible := True;
|
||||
FIDECoolBarWidth := 230;
|
||||
FIDECoolBarGrabStyle := 1;
|
||||
FIDECoolBarGrabWidth := 5;
|
||||
FIDECoolBarBorderStyle := 1;
|
||||
|
||||
FIDECoolBarToolBars := TIDEToolBarOptionList.Create;
|
||||
IDEToolBarOptions := TIDEToolBarOptions.Create;
|
||||
IDEToolBarOptions.Position := 0;
|
||||
IDEToolBarOptions.Break := False;
|
||||
with IDEToolBarOptions.ButtonNames do
|
||||
begin
|
||||
Add('IDEMainMenu/File/itmFileNew/itmFileNewForm');
|
||||
Add('IDEMainMenu/File/itmFileNew/itmFileNewUnit');
|
||||
Add('---------------');
|
||||
Add('IDEMainMenu/File/itmFileOpenSave/itmFileOpen');
|
||||
Add('IDEMainMenu/File/itmFileOpenSave/itmFileSave');
|
||||
Add('IDEMainMenu/File/itmFileOpenSave/itmFileSaveAll');
|
||||
Add('---------------');
|
||||
Add('IDEMainMenu/View/itmViewMainWindows/itmViewToggleFormUnit');
|
||||
end;
|
||||
FIDECoolBarToolBars.Add(IDEToolBarOptions);
|
||||
|
||||
//debug toolbar defaults
|
||||
IDEToolBarOptions := TIDEToolBarOptions.Create;
|
||||
IDEToolBarOptions.Position := 1;
|
||||
IDEToolBarOptions.Break := True;
|
||||
with IDEToolBarOptions.ButtonNames do
|
||||
begin
|
||||
Add('IDEMainMenu/Project/itmProjectAddRemoveSection/itmProjectViewUnits');
|
||||
Add('IDEMainMenu/Project/itmProjectAddRemoveSection/itmProjectViewForms');
|
||||
Add('---------------');
|
||||
Add('IDEMainMenu/Project/itmProjectAddRemoveSection/itmProjectBuildMode');
|
||||
Add('IDEMainMenu/Run/itmRunnning/itmRunMenuRun');
|
||||
Add('IDEMainMenu/Run/itmRunnning/itmRunMenuPause');
|
||||
Add('IDEMainMenu/Run/itmRunnning/itmRunMenuStop');
|
||||
Add('IDEMainMenu/Run/itmRunnning/itmRunMenuStepOver');
|
||||
Add('IDEMainMenu/Run/itmRunnning/itmRunMenuStepInto');
|
||||
Add('IDEMainMenu/Run/itmRunnning/itmRunMenuStepOut');
|
||||
end;
|
||||
FIDECoolBarToolBars.Add(IDEToolBarOptions);
|
||||
end;
|
||||
|
||||
destructor TIDECoolBarOptions.Destroy;
|
||||
begin
|
||||
FToolBars.Free;
|
||||
FIDECoolBarToolBars.Free;
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
procedure TIDECoolBarOptions.Clear;
|
||||
begin
|
||||
FToolBars.Clear;
|
||||
end;
|
||||
{
|
||||
procedure TIDECoolBarOptions.Assign(Source: TIDECoolBarOptions);
|
||||
begin
|
||||
|
||||
end;
|
||||
}
|
||||
function TIDECoolBarOptions.IsDefault: Boolean;
|
||||
begin
|
||||
// ToDo: Implement
|
||||
Result := False;
|
||||
FIDECoolBarToolBars.Clear;
|
||||
end;
|
||||
|
||||
function TIDECoolBarOptions.Load(XMLConfig: TXMLConfig): boolean;
|
||||
@ -244,12 +254,12 @@ begin
|
||||
ToolbarCount := XMLConfig.GetValue(BasePath + 'ToolBarCount/Value', 0);
|
||||
if ToolBarCount > 0 then
|
||||
begin
|
||||
FToolBars.Clear;
|
||||
FIDECoolBarToolBars.Clear;
|
||||
SubPath := BasePath + 'ToolBar';
|
||||
for I := 0 to ToolbarCount - 1 do
|
||||
begin
|
||||
ToolBarOpt := TIDEToolBarOptions.Create;
|
||||
FToolBars.Add(ToolBarOpt);
|
||||
FIDECoolBarToolBars.Add(ToolBarOpt);
|
||||
ToolBarOpt.Break := XMLConfig.GetValue(SubPath + IntToStr(I) + '/Break/Value', False);
|
||||
ButtonCount := XMLConfig.GetValue(SubPath + IntToStr(I) + '/ButtonCount/Value', 0);
|
||||
for J := 0 to ButtonCount - 1 do
|
||||
@ -262,18 +272,6 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
// Toolbar
|
||||
FToolBarStandardVisible := XMLConfig.GetValue(BasePath+'Toolbars/Standard/Visible/Value', True);
|
||||
FToolBarStandardLeft := XMLConfig.GetValue(BasePath+'Toolbars/Standard/Left/Value', 0);
|
||||
FToolBarStandardTop := XMLConfig.GetValue(BasePath+'Toolbars/Standard/Top/Value', 0);
|
||||
|
||||
FToolBarViewDebugVisible :=XMLConfig.GetValue(BasePath+'Toolbars/ViewDebug/Visible/Value', True);
|
||||
FToolBarViewDebugLeft := XMLConfig.GetValue(BasePath+'Toolbars/ViewDebug/Left/Value', 0);
|
||||
FToolBarViewDebugTop := XMLConfig.GetValue(BasePath+'Toolbars/ViewDebug/Top/Value', 26);
|
||||
|
||||
FToolbarVisible := XMLConfig.GetValue(BasePath+'Toolbars/Common/Visible/Value', True);
|
||||
FToolBarHighlight := XMLConfig.GetValue(BasePath+'Toolbars/Common/Highlight/Value', False);
|
||||
FToolBarRaised := XMLConfig.GetValue(BasePath+'Toolbars/Common/Raised/Value', False);
|
||||
Result:=True;
|
||||
end;
|
||||
|
||||
@ -282,18 +280,6 @@ var
|
||||
SubPath: String;
|
||||
I, J: Integer;
|
||||
begin
|
||||
// toolbar
|
||||
XMLConfig.SetDeleteValue(BasePath+'Toolbars/Standard/Visible/Value',FToolBarStandardVisible, True);
|
||||
XMLConfig.SetDeleteValue(BasePath+'Toolbars/Standard/Left/Value',FToolBarStandardLeft, 0);
|
||||
XMLConfig.SetDeleteValue(BasePath+'Toolbars/Standard/Top/Value',FToolBarStandardTop, 0);
|
||||
|
||||
XMLConfig.SetDeleteValue(BasePath+'Toolbars/ViewDebug/Visible/Value',FToolBarViewDebugVisible, True);
|
||||
XMLConfig.SetDeleteValue(BasePath+'Toolbars/ViewDebug/Left/Value',FToolBarViewDebugLeft, 0);
|
||||
XMLConfig.SetDeleteValue(BasePath+'Toolbars/ViewDebug/Top/Value',FToolBarViewDebugTop, 26);
|
||||
|
||||
XMLConfig.SetDeleteValue(BasePath+'Toolbars/Common/Visible/Value',FToolbarVisible, True);
|
||||
XMLConfig.SetDeleteValue(BasePath+'Toolbars/Common/Highlight/Value',FToolBarHighlight, False);
|
||||
XMLConfig.SetDeleteValue(BasePath+'Toolbars/Common/Raised/Value',FToolBarRaised, False);
|
||||
//coolbar
|
||||
XMLConfig.DeletePath(BasePath);
|
||||
XMLConfig.SetDeleteValue(BasePath + 'Visible/Value', FIDECoolBarVisible, True);
|
||||
@ -301,19 +287,19 @@ begin
|
||||
XMLConfig.SetDeleteValue(BasePath + 'GrabStyle/Value', FIDECoolBarGrabStyle, 1);
|
||||
XMLConfig.SetDeleteValue(BasePath + 'GrabWidth/Value', FIDECoolBarGrabWidth, 5);
|
||||
XMLConfig.SetDeleteValue(BasePath + 'BorderStyle/Value', FIDECoolBarBorderStyle, 5);
|
||||
if FToolBars.Count > 0 then
|
||||
if FIDECoolBarToolBars.Count > 0 then
|
||||
begin
|
||||
XMLConfig.SetDeleteValue(BasePath + 'ToolBarCount/Value', FToolBars.Count, 0);
|
||||
XMLConfig.SetDeleteValue(BasePath + 'ToolBarCount/Value', FIDECoolBarToolBars.Count, 0);
|
||||
SubPath := BasePath + 'ToolBar';
|
||||
for I := 0 to FToolBars.Count - 1 do
|
||||
for I := 0 to FIDECoolBarToolBars.Count - 1 do
|
||||
begin
|
||||
XMLConfig.SetDeleteValue(SubPath + IntToStr(I) + '/Break/Value',
|
||||
FToolBars[I].Break, False);
|
||||
FIDECoolBarToolBars[I].Break, False);
|
||||
XMLConfig.SetDeleteValue(SubPath + IntToStr(I) + '/ButtonCount/Value',
|
||||
FToolBars[I].ButtonNames.Count, 0);
|
||||
for J := 0 to FToolBars[I].ButtonNames.Count - 1 do
|
||||
FIDECoolBarToolBars[I].ButtonNames.Count, 0);
|
||||
for J := 0 to FIDECoolBarToolBars[I].ButtonNames.Count - 1 do
|
||||
XMLConfig.SetDeleteValue(SubPath + IntToStr(I) + '/Buttons/Name' + IntToStr(J) + '/Value',
|
||||
FToolBars[I].ButtonNames[J], '');
|
||||
FIDECoolBarToolBars[I].ButtonNames[J], '');
|
||||
end;
|
||||
end;
|
||||
Result:=True;
|
||||
@ -518,12 +504,12 @@ constructor TIDECoolBar.Create(ACoolBar: TCoolBar);
|
||||
begin
|
||||
inherited Create;
|
||||
FCoolBar := ACoolBar;
|
||||
FToolBars := TIDEToolBarList.Create;
|
||||
FCoolBarToolBars := TIDEToolBarList.Create;
|
||||
end;
|
||||
|
||||
destructor TIDECoolBar.Destroy;
|
||||
begin
|
||||
FreeAndNil(FToolBars);
|
||||
FreeAndNil(FCoolBarToolBars);
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
@ -536,38 +522,50 @@ begin
|
||||
FCoolBar.DoubleBuffered := True;
|
||||
FCoolBar.EdgeInner := esNone;
|
||||
FCoolBar.EdgeOuter := esNone;
|
||||
|
||||
Coolbar.GrabStyle := TGrabStyle(1);
|
||||
Coolbar.GrabWidth := 5;
|
||||
Coolbar.BandBorderStyle := bsSingle;
|
||||
end;
|
||||
|
||||
procedure TIDECoolBar.CreateDefaultToolbars;
|
||||
procedure TIDECoolBar.SetToolBarDefaults;
|
||||
var
|
||||
IDEToolBar: TIDEToolBar;
|
||||
begin
|
||||
FCoolBarToolBars.Clear;
|
||||
//standard toolbar defaults
|
||||
IDEToolBar := Add;
|
||||
IDEToolBar.Position := 0;
|
||||
IDEToolBar.Break := False;
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/File/itmFileNew/itmFileNewForm');
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/File/itmFileNew/itmFileNewUnit');
|
||||
IDEToolBar.ButtonNames.Add('---------------');
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/File/itmFileOpenSave/itmFileOpen');
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/File/itmFileOpenSave/itmFileSave');
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/File/itmFileOpenSave/itmFileSaveAll');
|
||||
IDEToolBar.ButtonNames.Add('---------------');
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/View/itmViewMainWindows/itmViewToggleFormUnit');
|
||||
with IDEToolBar.ButtonNames do
|
||||
begin
|
||||
Add('IDEMainMenu/File/itmFileNew/itmFileNewForm');
|
||||
Add('IDEMainMenu/File/itmFileNew/itmFileNewUnit');
|
||||
Add('---------------');
|
||||
Add('IDEMainMenu/File/itmFileOpenSave/itmFileOpen');
|
||||
Add('IDEMainMenu/File/itmFileOpenSave/itmFileSave');
|
||||
Add('IDEMainMenu/File/itmFileOpenSave/itmFileSaveAll');
|
||||
Add('---------------');
|
||||
Add('IDEMainMenu/View/itmViewMainWindows/itmViewToggleFormUnit');
|
||||
end;
|
||||
|
||||
//debug toolbar defaults
|
||||
IDEToolBar := Add;
|
||||
IDEToolBar.Position := 1;
|
||||
IDEToolBar.Break := True;
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/Project/itmProjectAddRemoveSection/itmProjectViewUnits');
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/Project/itmProjectAddRemoveSection/itmProjectViewForms');
|
||||
IDEToolBar.ButtonNames.Add('---------------');
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/Project/itmProjectAddRemoveSection/itmProjectBuildMode');
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/Run/itmRunnning/itmRunMenuRun');
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/Run/itmRunnning/itmRunMenuPause');
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/Run/itmRunnning/itmRunMenuStop');
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/Run/itmRunnning/itmRunMenuStepOver');
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/Run/itmRunnning/itmRunMenuStepInto');
|
||||
IDEToolBar.ButtonNames.Add('IDEMainMenu/Run/itmRunnning/itmRunMenuStepOut');
|
||||
with IDEToolBar.ButtonNames do
|
||||
begin
|
||||
Add('IDEMainMenu/Project/itmProjectAddRemoveSection/itmProjectViewUnits');
|
||||
Add('IDEMainMenu/Project/itmProjectAddRemoveSection/itmProjectViewForms');
|
||||
Add('---------------');
|
||||
Add('IDEMainMenu/Project/itmProjectAddRemoveSection/itmProjectBuildMode');
|
||||
Add('IDEMainMenu/Run/itmRunnning/itmRunMenuRun');
|
||||
Add('IDEMainMenu/Run/itmRunnning/itmRunMenuPause');
|
||||
Add('IDEMainMenu/Run/itmRunnning/itmRunMenuStop');
|
||||
Add('IDEMainMenu/Run/itmRunnning/itmRunMenuStepOver');
|
||||
Add('IDEMainMenu/Run/itmRunnning/itmRunMenuStepInto');
|
||||
Add('IDEMainMenu/Run/itmRunnning/itmRunMenuStepOut');
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TIDECoolBar.CopyFromOptions(Options: TIDECoolBarOptions);
|
||||
@ -575,13 +573,13 @@ var
|
||||
I: Integer;
|
||||
IDEToolBar: TIDEToolBar;
|
||||
begin
|
||||
FToolBars.Clear;
|
||||
for I := 0 to Options.FToolBars.Count-1 do
|
||||
FCoolBarToolBars.Clear;
|
||||
for I := 0 to Options.FIDECoolBarToolBars.Count - 1 do
|
||||
begin
|
||||
IDEToolBar := Add;
|
||||
IDEToolBar.Position := I;
|
||||
IDEToolBar.Break := Options.FToolBars[I].Break;
|
||||
IDEToolBar.ButtonNames.Assign(Options.FToolBars[I].ButtonNames);
|
||||
IDEToolBar.Break := Options.FIDECoolBarToolBars[I].Break;
|
||||
IDEToolBar.ButtonNames.Assign(Options.FIDECoolBarToolBars[I].ButtonNames);
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -590,20 +588,21 @@ var
|
||||
I: Integer;
|
||||
Opt: TIDEToolBarOptions;
|
||||
begin
|
||||
Options.FToolBars.Clear;
|
||||
for I := 0 to FToolBars.Count - 1 do
|
||||
Options.FIDECoolBarToolBars.Clear;
|
||||
for I := 0 to FCoolBarToolBars.Count - 1 do
|
||||
begin
|
||||
Opt := TIDEToolBarOptions.Create;
|
||||
Options.FToolBars.Add(Opt);
|
||||
Opt.Break := FToolBars[I].Break;
|
||||
Opt.ButtonNames.Assign(FToolBars[I].ButtonNames);
|
||||
Options.FIDECoolBarToolBars.Add(Opt);
|
||||
Opt.Position := FCoolBarToolBars[I].Position;
|
||||
Opt.Break := FCoolBarToolBars[I].Break;
|
||||
Opt.ButtonNames.Assign(FCoolBarToolBars[I].ButtonNames);
|
||||
end;
|
||||
end;
|
||||
|
||||
function TIDECoolBar.Add: TIDEToolBar;
|
||||
begin
|
||||
Result := TIDEToolBar.Create;
|
||||
FToolBars.Add(Result);
|
||||
FCoolBarToolBars.Add(Result);
|
||||
end;
|
||||
|
||||
function TIDECoolBar.FindByToolBar(const ToolBar: TToolBar): Integer;
|
||||
@ -611,7 +610,7 @@ var
|
||||
I: Integer;
|
||||
begin
|
||||
Result := -1;
|
||||
for I := 0 to FToolBars.Count - 1 do
|
||||
for I := 0 to FCoolbarToolBars.Count - 1 do
|
||||
begin
|
||||
if ToolBars[I].Toolbar = Toolbar then
|
||||
begin
|
||||
@ -628,7 +627,45 @@ end;
|
||||
|
||||
procedure TIDECoolBar.Sort;
|
||||
begin
|
||||
FToolBars.Sort(@Compare);
|
||||
FCoolbarToolBars.Sort(@Compare);
|
||||
end;
|
||||
|
||||
function TIDECoolBar.IsDefaultCoolbar: Boolean;
|
||||
begin
|
||||
Result := (FIsVisible) and (FCoolBar.BandBorderStyle = bsSingle) and
|
||||
(FCoolBar.GrabStyle = gsDouble) and (FCoolBar.GrabWidth = 5);
|
||||
end;
|
||||
|
||||
function TIDECoolBar.IsDefaultToolbar: Boolean;
|
||||
var
|
||||
IDEToolBar0: TIDEToolBar;
|
||||
IDEToolBar1: TIDEToolBar;
|
||||
begin
|
||||
Result := False;
|
||||
if FCoolBarToolBars.Count <> 2 then
|
||||
Exit;
|
||||
if (FCoolBarToolBars.Items[0].ButtonNames.Count <> 8) or (FCoolBarToolBars.Items[1].ButtonNames.Count <> 10) then
|
||||
Exit;
|
||||
IDEToolBar0 := FCoolBarToolBars.Items[0];
|
||||
IDEToolBar1 := FCoolBarToolBars.Items[1];
|
||||
Result := (IDEToolBar0.ButtonNames[0] = 'IDEMainMenu/File/itmFileNew/itmFileNewForm') and
|
||||
(IDEToolBar0.ButtonNames[1] = 'IDEMainMenu/File/itmFileNew/itmFileNewUnit') and
|
||||
(IDEToolBar0.ButtonNames[2] = '---------------') and
|
||||
(IDEToolBar0.ButtonNames[3] = 'IDEMainMenu/File/itmFileOpenSave/itmFileOpen') and
|
||||
(IDEToolBar0.ButtonNames[4] = 'IDEMainMenu/File/itmFileOpenSave/itmFileSave') and
|
||||
(IDEToolBar0.ButtonNames[5] = 'IDEMainMenu/File/itmFileOpenSave/itmFileSaveAll') and
|
||||
(IDEToolBar0.ButtonNames[6] = '---------------') and
|
||||
(IDEToolBar0.ButtonNames[7] = 'IDEMainMenu/View/itmViewMainWindows/itmViewToggleFormUnit') and
|
||||
(IDEToolBar1.ButtonNames[0] = 'IDEMainMenu/Project/itmProjectAddRemoveSection/itmProjectViewUnits') and
|
||||
(IDEToolBar1.ButtonNames[1] = 'IDEMainMenu/Project/itmProjectAddRemoveSection/itmProjectViewForms') and
|
||||
(IDEToolBar1.ButtonNames[2] = '---------------') and
|
||||
(IDEToolBar1.ButtonNames[3] = 'IDEMainMenu/Project/itmProjectAddRemoveSection/itmProjectBuildMode') and
|
||||
(IDEToolBar1.ButtonNames[4] = 'IDEMainMenu/Run/itmRunnning/itmRunMenuRun') and
|
||||
(IDEToolBar1.ButtonNames[5] = 'IDEMainMenu/Run/itmRunnning/itmRunMenuPause') and
|
||||
(IDEToolBar1.ButtonNames[6] = 'IDEMainMenu/Run/itmRunnning/itmRunMenuStop') and
|
||||
(IDEToolBar1.ButtonNames[7] = 'IDEMainMenu/Run/itmRunnning/itmRunMenuStepOver') and
|
||||
(IDEToolBar1.ButtonNames[8] = 'IDEMainMenu/Run/itmRunnning/itmRunMenuStepInto') and
|
||||
(IDEToolBar1.ButtonNames[9] = 'IDEMainMenu/Run/itmRunnning/itmRunMenuStepOut');
|
||||
end;
|
||||
|
||||
function GetShortcut(AMenuItem: TIDEMenuItem): string;
|
||||
|
Loading…
Reference in New Issue
Block a user