mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +00:00
FIX: Export/import middle toolbar
This commit is contained in:
parent
9245fd87fe
commit
4e868ec7dc
3 changed files with 21 additions and 9 deletions
|
|
@ -75,7 +75,7 @@ begin
|
|||
CloseToolbarsBelowCurrentButton;
|
||||
|
||||
ToolBar := GetTopToolbar;
|
||||
ToolBarNode := gConfig.FindNode(gConfig.RootNode, 'Toolbars/MainToolbar', False);
|
||||
ToolBarNode := gConfig.FindNode(gConfig.RootNode, GetNode, False);
|
||||
LoadToolbar(ToolBar, gConfig, ToolBarNode, tocl_FlushCurrentToolbarContent);
|
||||
if ToolBar.ButtonCount > 0 then
|
||||
PressButtonDown(ToolBar.Buttons[0]);
|
||||
|
|
@ -100,7 +100,7 @@ begin
|
|||
ToolBar := GetTopToolbar;
|
||||
if Assigned(ToolBar) then
|
||||
begin
|
||||
ToolBarNode := gConfig.FindNode(gConfig.RootNode, 'Toolbars/MainToolbar', True);
|
||||
ToolBarNode := gConfig.FindNode(gConfig.RootNode, GetNode, True);
|
||||
gConfig.ClearNode(ToolBarNode);
|
||||
Toolbar.SaveConfiguration(gConfig, ToolBarNode);
|
||||
end;
|
||||
|
|
|
|||
|
|
@ -253,6 +253,7 @@ type
|
|||
procedure PressButtonDown(Button: TKASToolButton);
|
||||
procedure UpdateIcon(Icon: String);
|
||||
procedure DisplayAppropriateControls(EnableNormal, EnableCommand, EnableProgram: boolean);
|
||||
class function GetNode: String; virtual;
|
||||
protected
|
||||
procedure Init; override;
|
||||
public
|
||||
|
|
@ -530,6 +531,11 @@ begin
|
|||
rbSpace.Visible := lblStyle.Visible;
|
||||
end;
|
||||
|
||||
class function TfrmOptionsToolbarBase.GetNode: String;
|
||||
begin
|
||||
Result:= 'Toolbars/MainToolbar';
|
||||
end;
|
||||
|
||||
procedure TfrmOptionsToolbarBase.LoadToolbar(ToolBar: TKASToolBar; Config: TXmlConfig; RootNode: TXmlNode; ConfigurationLoadType: TTypeOfConfigurationLoad);
|
||||
var
|
||||
ToolBarLoader: TKASToolBarExtendedLoader;
|
||||
|
|
@ -1531,7 +1537,7 @@ begin
|
|||
// 2. Create our XML structure to hold all our tree of sub menu and commands.
|
||||
AToolbarConfig := TXmlConfig.Create;
|
||||
try
|
||||
ToolBarNode := AToolbarConfig.FindNode(AToolbarConfig.RootNode, 'Toolbars/MainToolbar', True);
|
||||
ToolBarNode := AToolbarConfig.FindNode(AToolbarConfig.RootNode, GetNode, True);
|
||||
AToolbarConfig.ClearNode(ToolBarNode);
|
||||
RowNode := AToolbarConfig.AddNode(ToolBarNode, 'Row');
|
||||
|
||||
|
|
@ -1571,7 +1577,7 @@ begin
|
|||
|
||||
// 3. Now, we import our structure and at once, bang! we'll have added our bar and sub ones.
|
||||
ATopToolBar := GetTopToolbar;
|
||||
ToolBarNode := AToolbarConfig.FindNode(AToolbarConfig.RootNode, 'Toolbars/MainToolbar', False);
|
||||
ToolBarNode := AToolbarConfig.FindNode(AToolbarConfig.RootNode, GetNode, False);
|
||||
if ToolBarNode <> nil then
|
||||
begin
|
||||
LoadToolbar(ATopToolBar, AToolbarConfig, ToolBarNode, tocl_AddToCurrentToolbarContent);
|
||||
|
|
@ -1673,7 +1679,7 @@ begin
|
|||
begin
|
||||
ToolbarConfig := TXmlConfig.Create(SaveDialog.Filename);
|
||||
try
|
||||
ToolBarNode := ToolbarConfig.FindNode(ToolbarConfig.RootNode, 'Toolbars/MainToolbar', True);
|
||||
ToolBarNode := ToolbarConfig.FindNode(ToolbarConfig.RootNode, GetNode, True);
|
||||
ToolbarConfig.ClearNode(ToolBarNode);
|
||||
ToolBar.SaveConfiguration(ToolbarConfig, ToolBarNode);
|
||||
InnerResult := ToolbarConfig.Save;
|
||||
|
|
@ -1836,7 +1842,7 @@ begin
|
|||
try
|
||||
ConvertTCToolbarToDCXmlConfig(OpenDialog.FileName, ToolbarConfig);
|
||||
|
||||
ToolBarNode := ToolbarConfig.FindNode(ToolbarConfig.RootNode, 'Toolbars/MainToolbar', False);
|
||||
ToolBarNode := ToolbarConfig.FindNode(ToolbarConfig.RootNode, GetNode, False);
|
||||
if ToolBarNode <> nil then
|
||||
begin
|
||||
FCurrentButton := nil;
|
||||
|
|
@ -1858,7 +1864,7 @@ begin
|
|||
begin
|
||||
ToolbarConfig := TXmlConfig.Create(OpenDialog.FileName, True);
|
||||
try
|
||||
ToolBarNode := ToolbarConfig.FindNode(ToolbarConfig.RootNode, 'Toolbars/MainToolbar', False);
|
||||
ToolBarNode := ToolbarConfig.FindNode(ToolbarConfig.RootNode, GetNode, False);
|
||||
if ToolBarNode <> nil then
|
||||
begin
|
||||
FCurrentButton := nil;
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ type
|
|||
|
||||
protected
|
||||
procedure Load; override;
|
||||
class function GetNode: String; override;
|
||||
function Save: TOptionsEditorSaveFlags; override;
|
||||
public
|
||||
constructor Create(TheOwner: TComponent); override;
|
||||
|
|
@ -50,7 +51,7 @@ begin
|
|||
CloseToolbarsBelowCurrentButton;
|
||||
|
||||
ToolBar := GetTopToolbar;
|
||||
ToolBarNode := gConfig.FindNode(gConfig.RootNode, 'Toolbars/MiddleToolbar', False);
|
||||
ToolBarNode := gConfig.FindNode(gConfig.RootNode, GetNode, False);
|
||||
LoadToolbar(ToolBar, gConfig, ToolBarNode, tocl_FlushCurrentToolbarContent);
|
||||
if ToolBar.ButtonCount > 0 then
|
||||
PressButtonDown(ToolBar.Buttons[0]);
|
||||
|
|
@ -59,6 +60,11 @@ begin
|
|||
FUpdateHotKey := False;
|
||||
end;
|
||||
|
||||
class function TfrmOptionsToolbarMiddle.GetNode: String;
|
||||
begin
|
||||
Result:= 'Toolbars/MiddleToolbar';
|
||||
end;
|
||||
|
||||
function TfrmOptionsToolbarMiddle.Save: TOptionsEditorSaveFlags;
|
||||
var
|
||||
ToolBarNode: TXmlNode;
|
||||
|
|
@ -75,7 +81,7 @@ begin
|
|||
ToolBar := GetTopToolbar;
|
||||
if Assigned(ToolBar) then
|
||||
begin
|
||||
ToolBarNode := gConfig.FindNode(gConfig.RootNode, 'Toolbars/MiddleToolbar', True);
|
||||
ToolBarNode := gConfig.FindNode(gConfig.RootNode, GetNode, True);
|
||||
gConfig.ClearNode(ToolBarNode);
|
||||
Toolbar.SaveConfiguration(gConfig, ToolBarNode);
|
||||
end;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue