mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +00:00
ADD: Option - "Window view"
This commit is contained in:
parent
61889e3004
commit
f9b87de4db
11 changed files with 752 additions and 169 deletions
|
|
@ -37,7 +37,7 @@ uses
|
|||
|
||||
type
|
||||
|
||||
TOnToolButtonClick = procedure (NumberOfButton : Integer) of object;
|
||||
TOnToolButtonClick = procedure (Sender: TObject; NumberOfButton : Integer) of object;
|
||||
TChangeLineCount = procedure (AddSize : Integer) of object;
|
||||
|
||||
{ TKAStoolBar }
|
||||
|
|
@ -275,7 +275,7 @@ procedure TKAStoolBar.ToolButtonClick(Sender: TObject);
|
|||
begin
|
||||
inherited Click;
|
||||
if Assigned(FOnToolButtonClick) then
|
||||
FOnToolButtonClick((Sender as TSpeedButton).Tag);
|
||||
FOnToolButtonClick(Self, (Sender as TSpeedButton).Tag);
|
||||
end;
|
||||
|
||||
procedure TKAStoolBar.UpdateButtonsTag;
|
||||
|
|
|
|||
|
|
@ -7,4 +7,5 @@
|
|||
в файловых панелях
|
||||
11.06.2007 Добавил возможность определить различные цвета для различных типов файлов.
|
||||
Можно указать для одного цвета несколько масок, разделяя их точкой с запятой,
|
||||
например, *.zip;*.rar;*.arj.
|
||||
например, *.zip;*.rar;*.arj.
|
||||
09.09.2007 Добавил опции "Вид окна"
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
object ButtonChangeDlg: TButtonChangeDlg
|
||||
Left = 166
|
||||
Left = 17
|
||||
Height = 304
|
||||
Top = 105
|
||||
Top = 251
|
||||
Width = 578
|
||||
HelpContext = 270
|
||||
HorzScrollBar.Page = 577
|
||||
|
|
@ -145,6 +145,7 @@ object ButtonChangeDlg: TButtonChangeDlg
|
|||
DropDownCount = 20
|
||||
Font.Height = -11
|
||||
Font.Name = 'MS Sans Serif'
|
||||
ItemHeight = 13
|
||||
MaxLength = 0
|
||||
TabOrder = 4
|
||||
end
|
||||
|
|
@ -179,9 +180,9 @@ object ButtonChangeDlg: TButtonChangeDlg
|
|||
end
|
||||
object cbRunMinimized: TCheckBox
|
||||
Left = 422
|
||||
Height = 26
|
||||
Height = 13
|
||||
Top = 110
|
||||
Width = 134
|
||||
Width = 88
|
||||
Caption = 'Run mi&nimized'
|
||||
TabOrder = 8
|
||||
end
|
||||
|
|
@ -225,7 +226,6 @@ object ButtonChangeDlg: TButtonChangeDlg
|
|||
ItemHeight = 36
|
||||
Style = lbOwnerDrawFixed
|
||||
TabOrder = 13
|
||||
TopIndex = -1
|
||||
end
|
||||
object kedtToolTip: TKASEdit
|
||||
Left = 120
|
||||
|
|
@ -270,9 +270,9 @@ object ButtonChangeDlg: TButtonChangeDlg
|
|||
end
|
||||
object cbRunMaximized: TCheckBox
|
||||
Left = 422
|
||||
Height = 26
|
||||
Height = 13
|
||||
Top = 130
|
||||
Width = 139
|
||||
Width = 91
|
||||
Caption = 'Run ma&ximized'
|
||||
TabOrder = 9
|
||||
end
|
||||
|
|
@ -281,7 +281,7 @@ object ButtonChangeDlg: TButtonChangeDlg
|
|||
Height = 82
|
||||
Width = 121
|
||||
Caption = 'Appearance'
|
||||
ClientHeight = 61
|
||||
ClientHeight = 64
|
||||
ClientWidth = 117
|
||||
TabOrder = 3
|
||||
object lblSize: TLabel
|
||||
|
|
@ -305,9 +305,9 @@ object ButtonChangeDlg: TButtonChangeDlg
|
|||
end
|
||||
object cbFlatIcons: TCheckBox
|
||||
Left = 6
|
||||
Height = 26
|
||||
Height = 13
|
||||
Top = 18
|
||||
Width = 96
|
||||
Width = 65
|
||||
Caption = 'F&lat icons'
|
||||
Checked = True
|
||||
State = cbChecked
|
||||
|
|
@ -315,9 +315,9 @@ object ButtonChangeDlg: TButtonChangeDlg
|
|||
end
|
||||
object cbSmallIcons: TCheckBox
|
||||
Left = 6
|
||||
Height = 26
|
||||
Height = 13
|
||||
Top = 38
|
||||
Width = 109
|
||||
Width = 73
|
||||
Caption = 'S&mall icons'
|
||||
TabOrder = 2
|
||||
end
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ type
|
|||
procedure FormShow(Sender: TObject);
|
||||
procedure btnOKClick(Sender: TObject);
|
||||
procedure btnAddButtonClick(Sender: TObject);
|
||||
procedure ktbBarToolButtonClick(NumberOfButton : Integer);
|
||||
procedure ktbBarToolButtonClick(Sender: TObject; NumberOfButton : Integer);
|
||||
procedure Save;
|
||||
procedure btnDeleteButtonClick(Sender: TObject);
|
||||
procedure btnOpenFileClick(Sender: TObject);
|
||||
|
|
@ -121,7 +121,7 @@ begin
|
|||
end;
|
||||
|
||||
(*Select button on panel*)
|
||||
procedure TButtonChangeDlg.ktbBarToolButtonClick(NumberOfButton : Integer);
|
||||
procedure TButtonChangeDlg.ktbBarToolButtonClick(Sender: TObject; NumberOfButton : Integer);
|
||||
begin
|
||||
Save;
|
||||
cbCommand.Text := ktbBar.Commands[NumberOfButton];
|
||||
|
|
|
|||
198
fmain.lfm
198
fmain.lfm
|
|
@ -1,7 +1,7 @@
|
|||
inherited frmMain: TfrmMain
|
||||
Left = 238
|
||||
Left = 290
|
||||
Height = 336
|
||||
Top = 137
|
||||
Top = 146
|
||||
Width = 525
|
||||
HorzScrollBar.Page = 524
|
||||
VertScrollBar.Page = 316
|
||||
|
|
@ -55,7 +55,7 @@ inherited frmMain: TfrmMain
|
|||
Alignment = taLeftJustify
|
||||
ParentColor = False
|
||||
TabOrder = 0
|
||||
OnToolButtonClick = dskLeftToolButtonClick
|
||||
OnToolButtonClick = dskToolButtonClick
|
||||
CheckToolButton = True
|
||||
FlatButtons = True
|
||||
IsDiskPanel = True
|
||||
|
|
@ -66,10 +66,10 @@ inherited frmMain: TfrmMain
|
|||
Top = 1
|
||||
Width = 381
|
||||
Align = alClient
|
||||
Alignment = taRightJustify
|
||||
Alignment = taLeftJustify
|
||||
Anchors = [akTop, akLeft, akBottom]
|
||||
TabOrder = 1
|
||||
OnToolButtonClick = dskRightToolButtonClick
|
||||
OnToolButtonClick = dskToolButtonClick
|
||||
OnChangeLineCount = dskRightChangeLineCount
|
||||
CheckToolButton = True
|
||||
FlatButtons = True
|
||||
|
|
@ -218,32 +218,168 @@ inherited frmMain: TfrmMain
|
|||
FullRepaint = False
|
||||
TabOrder = 2
|
||||
TabStop = True
|
||||
object nbLeft: TNotebook
|
||||
Left = 1
|
||||
Height = 204
|
||||
Top = 1
|
||||
Width = 391
|
||||
Align = alLeft
|
||||
OnCloseTabClicked = NoteBookCloseTabClicked
|
||||
Options = [nboShowCloseButtons]
|
||||
TabOrder = 0
|
||||
end
|
||||
object MainSplitter: TSplitter
|
||||
Left = 392
|
||||
Left = 171
|
||||
Height = 204
|
||||
Top = 1
|
||||
Width = 4
|
||||
ResizeStyle = rsLine
|
||||
end
|
||||
object nbRight: TNotebook
|
||||
Left = 396
|
||||
object pnlLeft: TPanel
|
||||
Left = 1
|
||||
Height = 204
|
||||
Top = 1
|
||||
Width = 128
|
||||
Width = 170
|
||||
Align = alLeft
|
||||
BevelOuter = bvNone
|
||||
Caption = 'pnlLeft'
|
||||
ClientHeight = 204
|
||||
ClientWidth = 170
|
||||
TabOrder = 0
|
||||
object nbLeft: TNotebook
|
||||
Height = 180
|
||||
Hint = 'Left'
|
||||
Top = 24
|
||||
Width = 170
|
||||
Align = alClient
|
||||
OnCloseTabClicked = NoteBookCloseTabClicked
|
||||
OnPageChanged = nbPageChanged
|
||||
Options = [nboShowCloseButtons]
|
||||
TabOrder = 0
|
||||
end
|
||||
object pnlLeftTools: TPanel
|
||||
Height = 24
|
||||
Width = 170
|
||||
Align = alTop
|
||||
BevelOuter = bvNone
|
||||
ClientHeight = 24
|
||||
ClientWidth = 170
|
||||
TabOrder = 1
|
||||
object btnLeftDrive: TSpeedButton
|
||||
Height = 24
|
||||
Width = 48
|
||||
Action = actLeftOpenDrives
|
||||
Align = alLeft
|
||||
Color = clBtnFace
|
||||
NumGlyphs = 0
|
||||
end
|
||||
object btnLeftHome: TSpeedButton
|
||||
Left = 147
|
||||
Height = 24
|
||||
Width = 23
|
||||
Align = alRight
|
||||
Caption = '~'
|
||||
Color = clBtnFace
|
||||
NumGlyphs = 0
|
||||
OnClick = btnLeftClick
|
||||
end
|
||||
object btnLeftUp: TSpeedButton
|
||||
Left = 124
|
||||
Height = 24
|
||||
Width = 23
|
||||
Align = alRight
|
||||
Caption = '..'
|
||||
Color = clBtnFace
|
||||
NumGlyphs = 0
|
||||
OnClick = btnLeftClick
|
||||
end
|
||||
object btnLeftRoot: TSpeedButton
|
||||
Left = 101
|
||||
Height = 24
|
||||
Width = 23
|
||||
Align = alRight
|
||||
Caption = '/'
|
||||
Color = clBtnFace
|
||||
NumGlyphs = 0
|
||||
OnClick = btnLeftClick
|
||||
end
|
||||
object lblLeftDriveInfo: TLabel
|
||||
Left = 48
|
||||
Height = 24
|
||||
Width = 53
|
||||
Align = alClient
|
||||
Alignment = taCenter
|
||||
ParentColor = False
|
||||
end
|
||||
end
|
||||
end
|
||||
object pnlRight: TPanel
|
||||
Left = 175
|
||||
Height = 204
|
||||
Top = 1
|
||||
Width = 349
|
||||
Align = alClient
|
||||
OnCloseTabClicked = NoteBookCloseTabClicked
|
||||
Options = [nboShowCloseButtons]
|
||||
BevelOuter = bvNone
|
||||
Caption = 'pnlRight'
|
||||
ClientHeight = 204
|
||||
ClientWidth = 349
|
||||
TabOrder = 1
|
||||
object nbRight: TNotebook
|
||||
Height = 180
|
||||
Hint = 'Right'
|
||||
Top = 24
|
||||
Width = 349
|
||||
Align = alClient
|
||||
OnCloseTabClicked = NoteBookCloseTabClicked
|
||||
OnPageChanged = nbPageChanged
|
||||
Options = [nboShowCloseButtons]
|
||||
TabOrder = 0
|
||||
end
|
||||
object pnlRightTools: TPanel
|
||||
Height = 24
|
||||
Width = 349
|
||||
Align = alTop
|
||||
BevelOuter = bvNone
|
||||
ClientHeight = 24
|
||||
ClientWidth = 349
|
||||
TabOrder = 1
|
||||
object btnRightDrive: TSpeedButton
|
||||
Height = 24
|
||||
Width = 48
|
||||
Action = actRightOpenDrives
|
||||
Align = alLeft
|
||||
Color = clBtnFace
|
||||
NumGlyphs = 0
|
||||
end
|
||||
object btnRightHome: TSpeedButton
|
||||
Left = 326
|
||||
Height = 24
|
||||
Width = 23
|
||||
Align = alRight
|
||||
Caption = '~'
|
||||
Color = clBtnFace
|
||||
NumGlyphs = 0
|
||||
OnClick = btnRightClick
|
||||
end
|
||||
object btnRightUp: TSpeedButton
|
||||
Left = 303
|
||||
Height = 24
|
||||
Width = 23
|
||||
Align = alRight
|
||||
Caption = '..'
|
||||
Color = clBtnFace
|
||||
NumGlyphs = 0
|
||||
OnClick = btnRightClick
|
||||
end
|
||||
object btnRightRoot: TSpeedButton
|
||||
Left = 280
|
||||
Height = 24
|
||||
Width = 23
|
||||
Align = alRight
|
||||
Caption = '/'
|
||||
Color = clBtnFace
|
||||
NumGlyphs = 0
|
||||
OnClick = btnRightClick
|
||||
end
|
||||
object lblRightDriveInfo: TLabel
|
||||
Left = 48
|
||||
Height = 24
|
||||
Width = 232
|
||||
Align = alClient
|
||||
Alignment = taCenter
|
||||
ParentColor = False
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
object MainToolBar: TKAStoolBar
|
||||
|
|
@ -439,8 +575,8 @@ inherited frmMain: TfrmMain
|
|||
end
|
||||
end
|
||||
object actionLst: TActionList
|
||||
left = 289
|
||||
top = 64
|
||||
left = 312
|
||||
top = 8
|
||||
object actExit: TAction
|
||||
Category = 'File'
|
||||
Caption = 'Exit'
|
||||
|
|
@ -789,6 +925,18 @@ inherited frmMain: TfrmMain
|
|||
DisableIfNoHandler = True
|
||||
OnExecute = actOpenVFSListExecute
|
||||
end
|
||||
object actLeftOpenDrives: TAction
|
||||
Category = 'Commands'
|
||||
DisableIfNoHandler = True
|
||||
OnExecute = actLeftOpenDrivesExecute
|
||||
ShortCut = 32880
|
||||
end
|
||||
object actRightOpenDrives: TAction
|
||||
Category = 'Commands'
|
||||
DisableIfNoHandler = True
|
||||
OnExecute = actRightOpenDrivesExecute
|
||||
ShortCut = 32881
|
||||
end
|
||||
end
|
||||
object pmHotList: TPopupMenu
|
||||
left = 152
|
||||
|
|
@ -818,4 +966,8 @@ inherited frmMain: TfrmMain
|
|||
OnClick = DeleteClick
|
||||
end
|
||||
end
|
||||
object pmDrivesMenu: TPopupMenu
|
||||
left = 80
|
||||
top = 136
|
||||
end
|
||||
end
|
||||
|
|
|
|||
355
fmain.pas
355
fmain.pas
|
|
@ -55,23 +55,40 @@ type
|
|||
actChMod: TAction;
|
||||
actChown: TAction;
|
||||
actExtractFiles: TAction;
|
||||
actRightOpenDrives: TAction;
|
||||
actLeftOpenDrives: TAction;
|
||||
actOpenVFSList: TAction;
|
||||
actPackFiles: TAction;
|
||||
actRemoveTab: TAction;
|
||||
actNewTab: TAction;
|
||||
dskLeft: TKAStoolBar;
|
||||
dskRight: TKAStoolBar;
|
||||
lblRightDriveInfo: TLabel;
|
||||
lblLeftDriveInfo: TLabel;
|
||||
MainToolBar: TKASToolBar;
|
||||
MenuItem1: TMenuItem;
|
||||
mnuExtractFiles: TMenuItem;
|
||||
nbLeft: TNotebook;
|
||||
nbRight: TNotebook;
|
||||
pnlLeftTools: TPanel;
|
||||
pnlRightTools: TPanel;
|
||||
pnlRight: TPanel;
|
||||
pnlLeft: TPanel;
|
||||
pnlDisk: TPanel;
|
||||
btnLeftDrive: TSpeedButton;
|
||||
btnLeftHome: TSpeedButton;
|
||||
btnLeftUp: TSpeedButton;
|
||||
btnLeftRoot: TSpeedButton;
|
||||
btnRightDrive: TSpeedButton;
|
||||
btnRightHome: TSpeedButton;
|
||||
btnRightUp: TSpeedButton;
|
||||
btnRightRoot: TSpeedButton;
|
||||
pmDrivesMenu: TPopupMenu;
|
||||
tbDelete: TMenuItem;
|
||||
tbEdit: TMenuItem;
|
||||
MenuItem3: TMenuItem;
|
||||
MenuItem4: TMenuItem;
|
||||
mnuMain: TMainMenu;
|
||||
nbLeft: TNotebook;
|
||||
nbRight: TNotebook;
|
||||
pnlNotebooks: TPanel;
|
||||
pnlSyncSize: TPanel;
|
||||
pnlCommand: TPanel;
|
||||
|
|
@ -179,17 +196,20 @@ type
|
|||
pmToolBar: TPopupMenu;
|
||||
MainSplitter: TSplitter;
|
||||
procedure actExtractFilesExecute(Sender: TObject);
|
||||
procedure actLeftOpenDrivesExecute(Sender: TObject);
|
||||
procedure actOpenVFSListExecute(Sender: TObject);
|
||||
procedure actPackFilesExecute(Sender: TObject);
|
||||
procedure actRightOpenDrivesExecute(Sender: TObject);
|
||||
procedure btnLeftClick(Sender: TObject);
|
||||
procedure btnRightClick(Sender: TObject);
|
||||
procedure DeleteClick(Sender: TObject);
|
||||
procedure dskRightChangeLineCount(AddSize: Integer);
|
||||
procedure dskLeftToolButtonClick(NumberOfButton: Integer);
|
||||
procedure dskRightToolButtonClick(NumberOfButton: Integer);
|
||||
procedure dskToolButtonClick(Sender: TObject; NumberOfButton: Integer);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormDestroy(Sender: TObject);
|
||||
procedure MainToolBarMouseDown(Sender: TOBject; Button: TMouseButton;
|
||||
Shift: TShiftState; X, Y: Integer);
|
||||
procedure MainToolBarToolButtonClick(NumberOfButton : Integer);
|
||||
procedure MainToolBarToolButtonClick(Sender: TObject; NumberOfButton : Integer);
|
||||
procedure actExitExecute(Sender: TObject);
|
||||
procedure actNewTabExecute(Sender: TObject);
|
||||
procedure actRemoveTabExecute(Sender: TObject);
|
||||
|
|
@ -197,6 +217,7 @@ type
|
|||
procedure frmMainKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||
procedure frmMainShow(Sender: TObject);
|
||||
procedure mnuHelpClick(Sender: TObject);
|
||||
procedure nbPageChanged(Sender: TObject);
|
||||
procedure NotebookCloseTabClicked(Sender: TObject);
|
||||
procedure pnlKeysResize(Sender: TObject);
|
||||
procedure actViewExecute(Sender: TObject);
|
||||
|
|
@ -264,6 +285,7 @@ type
|
|||
{ Private declarations }
|
||||
PanelSelected:TFilePanelSelect;
|
||||
bAltPress:Boolean;
|
||||
DrivesList : TList;
|
||||
IsPanelsCreated : Boolean;
|
||||
|
||||
function ExecuteCommandFromEdit(sCmd:String):Boolean;
|
||||
|
|
@ -295,6 +317,8 @@ type
|
|||
procedure SetNotActFrmByActFrm;
|
||||
procedure SetActiveFrame(panel: TFilePanelSelect);
|
||||
procedure UpdateDiskCount;
|
||||
procedure CreateDrivesMenu;
|
||||
procedure DrivesMenuClick(Sender: TObject);
|
||||
procedure CreateDiskPanel(dskPanel : TKASToolBar);
|
||||
procedure CreatePanel(AOwner:TWinControl; APanel:TFilePanelSelect; sPath : String);
|
||||
function AddPage(ANoteBook:TNoteBook):TPage;
|
||||
|
|
@ -356,6 +380,49 @@ begin
|
|||
|
||||
end;
|
||||
|
||||
procedure TfrmMain.actRightOpenDrivesExecute(Sender: TObject);
|
||||
var
|
||||
p : TPoint;
|
||||
begin
|
||||
pmDrivesMenu.Tag := 1; // indicate that is right panel menu
|
||||
p := Classes.Point(btnRightDrive.Left,btnRightDrive.Height);
|
||||
p := pnlRightTools.ClientToScreen(p);
|
||||
pmDrivesMenu.Items[dskRight.Tag].Checked := True;
|
||||
pmDrivesMenu.PopUp(p.x, p.y);
|
||||
end;
|
||||
|
||||
procedure TfrmMain.btnLeftClick(Sender: TObject);
|
||||
begin
|
||||
with Sender as TSpeedButton do
|
||||
begin
|
||||
if Caption = '/' then
|
||||
FrameLeft.pnlFile.ActiveDir := ExtractFileDrive(FrameLeft.pnlFile.ActiveDir);
|
||||
if Caption = '..' then
|
||||
FrameLeft.pnlFile.cdUpLevel;
|
||||
if Caption = '~' then
|
||||
FrameLeft.pnlFile.ActiveDir := GetHomeDir;
|
||||
end;
|
||||
FrameLeft.pnlFile.LoadPanel;
|
||||
|
||||
SetActiveFrame(fpLeft);
|
||||
end;
|
||||
|
||||
procedure TfrmMain.btnRightClick(Sender: TObject);
|
||||
begin
|
||||
with Sender as TSpeedButton do
|
||||
begin
|
||||
if Caption = '/' then
|
||||
FrameRight.pnlFile.ActiveDir := ExtractFileDrive(FrameRight.pnlFile.ActiveDir);
|
||||
if Caption = '..' then
|
||||
FrameRight.pnlFile.cdUpLevel;
|
||||
if Caption = '~' then
|
||||
FrameRight.pnlFile.ActiveDir := GetHomeDir;
|
||||
end;
|
||||
FrameRight.pnlFile.LoadPanel;
|
||||
|
||||
SetActiveFrame(fpRight);
|
||||
end;
|
||||
|
||||
procedure TfrmMain.actExtractFilesExecute(Sender: TObject);
|
||||
var
|
||||
fl : TFileList;
|
||||
|
|
@ -377,6 +444,17 @@ begin
|
|||
|
||||
end;
|
||||
|
||||
procedure TfrmMain.actLeftOpenDrivesExecute(Sender: TObject);
|
||||
var
|
||||
p : TPoint;
|
||||
begin
|
||||
pmDrivesMenu.Tag := 0; // indicate that is left panel menu
|
||||
p := Classes.Point(btnLeftDrive.Left,btnLeftDrive.Height);
|
||||
p := pnlLeftTools.ClientToScreen(p);
|
||||
pmDrivesMenu.Items[dskLeft.Tag].Checked := True;
|
||||
pmDrivesMenu.PopUp(p.x, p.y);
|
||||
end;
|
||||
|
||||
procedure TfrmMain.actOpenVFSListExecute(Sender: TObject);
|
||||
begin
|
||||
ActiveFrame.pnlFile.LoadVFSListInPanel;
|
||||
|
|
@ -408,68 +486,60 @@ begin
|
|||
pnlSyncSize.Height := pnlSyncSize.Height + AddSize;
|
||||
end;
|
||||
|
||||
procedure TfrmMain.dskLeftToolButtonClick(NumberOfButton: Integer);
|
||||
procedure TfrmMain.dskToolButtonClick(Sender: TObject; NumberOfButton: Integer);
|
||||
var
|
||||
Command : String;
|
||||
dskPanel : TKASToolBar;
|
||||
FrameFilePanel : TFrameFilePanel;
|
||||
btnDrive : TSpeedButton;
|
||||
begin
|
||||
if dskLeft.Buttons[NumberOfButton].GroupIndex = 0 then
|
||||
begin
|
||||
Command := dskLeft.Commands[NumberOfButton];
|
||||
if Command = '/' then
|
||||
FrameLeft.pnlFile.ActiveDir := ExtractFileDrive(FrameLeft.pnlFile.ActiveDir);
|
||||
if Command = '..' then
|
||||
FrameLeft.pnlFile.cdUpLevel;
|
||||
if Command = '~' then
|
||||
FrameLeft.pnlFile.ActiveDir := GetHomeDir;
|
||||
end
|
||||
dskPanel := (Sender as TKASToolBar);
|
||||
|
||||
if (dskPanel.Align = alLeft) or (not gDriveBar2 and (PanelSelected = fpLeft)) then
|
||||
begin
|
||||
FrameFilePanel := FrameLeft;
|
||||
btnDrive := btnLeftDrive;
|
||||
PanelSelected := fpLeft;
|
||||
end
|
||||
else
|
||||
begin
|
||||
if IsAvailable(dskLeft.Commands[NumberOfButton]) then
|
||||
begin
|
||||
FrameLeft.pnlFile.ActiveDir := dskLeft.Commands[NumberOfButton];
|
||||
dskLeft.Tag := NumberOfButton;
|
||||
end
|
||||
else
|
||||
begin
|
||||
dskLeft.Buttons[dskLeft.Tag].Down := True;
|
||||
msgOK(lngGetString(clngMsgDiskNotAvail));
|
||||
end;
|
||||
end;
|
||||
FrameLeft.pnlFile.LoadPanel;
|
||||
begin
|
||||
FrameFilePanel := FrameRight;
|
||||
btnDrive := btnRightDrive;
|
||||
PanelSelected := fpRight;
|
||||
end;
|
||||
|
||||
|
||||
SetActiveFrame(fpLeft);
|
||||
end;
|
||||
|
||||
procedure TfrmMain.dskRightToolButtonClick(NumberOfButton: Integer);
|
||||
var
|
||||
Command : String;
|
||||
begin
|
||||
if dskRight.Buttons[NumberOfButton].GroupIndex = 0 then
|
||||
if dskPanel.Buttons[NumberOfButton].GroupIndex = 0 then
|
||||
begin
|
||||
Command := dskRight.Commands[NumberOfButton];
|
||||
Command := dskPanel.Commands[NumberOfButton];
|
||||
if Command = '/' then
|
||||
FrameRight.pnlFile.ActiveDir := ExtractFileDrive(FrameRight.pnlFile.ActiveDir);
|
||||
FrameFilePanel.pnlFile.ActiveDir := ExtractFileDrive(FrameFilePanel.pnlFile.ActiveDir);
|
||||
if Command = '..' then
|
||||
FrameRight.pnlFile.cdUpLevel;
|
||||
FrameFilePanel.pnlFile.cdUpLevel;
|
||||
if Command = '~' then
|
||||
FrameRight.pnlFile.ActiveDir := GetHomeDir;
|
||||
FrameFilePanel.pnlFile.ActiveDir := GetHomeDir;
|
||||
end
|
||||
else
|
||||
begin
|
||||
if IsAvailable(dskRight.Commands[NumberOfButton]) then
|
||||
if IsAvailable(dskPanel.Commands[NumberOfButton]) then
|
||||
begin
|
||||
FrameRight.pnlFile.ActiveDir := dskRight.Commands[NumberOfButton];
|
||||
dskRight.Tag := NumberOfButton;
|
||||
FrameFilePanel.pnlFile.ActiveDir := dskPanel.Commands[NumberOfButton];
|
||||
dskPanel.Tag := NumberOfButton;
|
||||
if gDriveMenuButton then // if show drive button
|
||||
begin
|
||||
btnDrive.Glyph := dskRight.Buttons[NumberOfButton].Glyph;
|
||||
btnDrive.Caption := dskRight.Buttons[NumberOfButton].Caption;
|
||||
end;
|
||||
end
|
||||
else
|
||||
begin
|
||||
dskRight.Buttons[dskRight.Tag].Down := True;
|
||||
dskPanel.Buttons[dskPanel.Tag].Down := True;
|
||||
msgOK(lngGetString(clngMsgDiskNotAvail));
|
||||
end;
|
||||
end;
|
||||
FrameRight.pnlFile.LoadPanel;
|
||||
FrameFilePanel.pnlFile.LoadPanel;
|
||||
|
||||
SetActiveFrame(fpRight);
|
||||
SetActiveFrame(PanelSelected);
|
||||
end;
|
||||
|
||||
|
||||
|
|
@ -483,20 +553,20 @@ if (Button = mbRight) then
|
|||
Point := Mouse.CursorPos;
|
||||
if (Sender is TSpeedButton) then
|
||||
begin
|
||||
pmToolBar.Tag := (Sender as TSpeedButton).Tag;
|
||||
tbDelete.Enabled := true;
|
||||
pmToolBar.Tag := (Sender as TSpeedButton).Tag;
|
||||
tbDelete.Enabled := true;
|
||||
end
|
||||
else
|
||||
begin
|
||||
pmToolBar.Tag := -1;
|
||||
tbDelete.Enabled := false;
|
||||
pmToolBar.Tag := -1;
|
||||
tbDelete.Enabled := false;
|
||||
end;
|
||||
|
||||
pmToolBar.PopUp(Point.X, Point.Y);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmMain.MainToolBarToolButtonClick(NumberOfButton : Integer);
|
||||
procedure TfrmMain.MainToolBarToolButtonClick(Sender: TObject; NumberOfButton : Integer);
|
||||
begin
|
||||
ExecCmd(MainToolBar.Commands[NumberOfButton]);
|
||||
DebugLn(MainToolBar.Commands[NumberOfButton]);
|
||||
|
|
@ -587,10 +657,20 @@ begin
|
|||
|
||||
//DebugLN('dskLeft.Width == ' + IntToStr(dskLeft.Width));
|
||||
//DebugLN('dskRight.Width == ' + IntToStr(dskRight.Width));
|
||||
DrivesList := GetAllDrives;
|
||||
|
||||
CreateDrivesMenu;
|
||||
|
||||
(*Create Disk Panels*)
|
||||
CreateDiskPanel(dskLeft);
|
||||
CreateDiskPanel(dskRight);
|
||||
dskLeft.Visible := gDriveBar2;
|
||||
if gDriveBar2 then
|
||||
CreateDiskPanel(dskLeft);
|
||||
|
||||
dskRight.Visible := gDriveBar1;
|
||||
if gDriveBar1 then
|
||||
CreateDiskPanel(dskRight);
|
||||
|
||||
pnlSyncSize.Visible := gDriveBar1;
|
||||
(*/Create Disk Panels*)
|
||||
|
||||
(*Tool Bar*)
|
||||
|
|
@ -601,6 +681,15 @@ begin
|
|||
|
||||
LoadShortCuts;
|
||||
|
||||
{Load some options from layout page}
|
||||
MainToolBar.Visible := gButtonBar;
|
||||
btnLeftDrive.Visible := gDriveMenuButton;
|
||||
btnRightDrive.Visible := gDriveMenuButton;
|
||||
pnlCommand.Visible := gCmdLine;
|
||||
pnlKeys.Visible := gKeyButtons;
|
||||
nbLeft.ShowTabs := gDirectoryTabs;
|
||||
nbRight.ShowTabs := gDirectoryTabs;
|
||||
|
||||
IsPanelsCreated := True;
|
||||
end;
|
||||
|
||||
|
|
@ -609,6 +698,17 @@ begin
|
|||
|
||||
end;
|
||||
|
||||
procedure TfrmMain.nbPageChanged(Sender: TObject);
|
||||
begin
|
||||
with Sender as TNoteBook do
|
||||
begin
|
||||
if (Hint = 'Left') and (FrameLeft <> nil) then
|
||||
FrameLeft.pnlFile.UpdatePrompt;
|
||||
if (Hint = 'Right') and (FrameRight <> nil) then
|
||||
FrameRight.pnlFile.UpdatePrompt;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmMain.NoteBookCloseTabClicked(Sender: TObject);
|
||||
begin
|
||||
With (Sender As TPage) do
|
||||
|
|
@ -845,7 +945,7 @@ end;
|
|||
|
||||
procedure TfrmMain.FormResize(Sender: TObject);
|
||||
begin
|
||||
nbLeft.Width:= (frmMain.Width div 2) - (MainSplitter.Width div 2);
|
||||
pnlLeft.Width:= (frmMain.Width div 2) - (MainSplitter.Width div 2);
|
||||
|
||||
//DebugLN('pnlDisk.Width == ' + IntToStr(pnlDisk.Width));
|
||||
|
||||
|
|
@ -2191,6 +2291,10 @@ end;
|
|||
|
||||
procedure TfrmMain.UpdateDiskCount;
|
||||
begin
|
||||
DrivesList.Clear;
|
||||
DrivesList := GetAllDrives;
|
||||
if gDriveMenuButton then
|
||||
CreateDrivesMenu;
|
||||
// delete all disk buttons
|
||||
dskRight.DeleteAllToolButtons;
|
||||
dskLeft.DeleteAllToolButtons;
|
||||
|
|
@ -2199,20 +2303,112 @@ begin
|
|||
CreateDiskPanel(dskRight);
|
||||
end;
|
||||
|
||||
procedure TfrmMain.CreateDrivesMenu;
|
||||
var
|
||||
I, Count : Integer;
|
||||
Drive : PDrive;
|
||||
miTmp : TMenuItem;
|
||||
begin
|
||||
pmDrivesMenu.Items.Clear;
|
||||
Count := DrivesList.Count - 1;
|
||||
for I := 0 to Count do
|
||||
begin
|
||||
Drive := PDrive(DrivesList.Items[I]);
|
||||
with Drive^ do
|
||||
begin
|
||||
miTmp := TMenuItem.Create(pmDrivesMenu);
|
||||
miTmp.Tag := I;
|
||||
miTmp.Caption := Name;
|
||||
miTmp.Hint := Path;
|
||||
|
||||
if gDriveMenuButton then
|
||||
begin
|
||||
if Pos(Path, FrameLeft.pnlFile.ActiveDir) = 1 then
|
||||
begin
|
||||
btnLeftDrive.Glyph := PixMapManager.GetStretchBitmap(DriveIcon, btnLeftDrive.Color, btnLeftDrive.Height - 4);
|
||||
btnLeftDrive.Caption := Name;
|
||||
dskLeft.Tag := I;
|
||||
end;
|
||||
if Pos(Path, FrameRight.pnlFile.ActiveDir) = 1 then
|
||||
begin
|
||||
btnRightDrive.Glyph := PixMapManager.GetStretchBitmap(DriveIcon, btnRightDrive.Color, btnRightDrive.Height - 4);
|
||||
btnRightDrive.Caption := Name;
|
||||
dskRight.Tag := I;
|
||||
end;
|
||||
end;
|
||||
|
||||
// get disk icon
|
||||
if gIconsSize > 16 then
|
||||
miTmp.Bitmap := PixMapManager.GetStretchBitmap(DriveIcon, clMenu, 16)
|
||||
else
|
||||
miTmp.Bitmap := PixMapManager.GetBitmap(DriveIcon, clMenu);
|
||||
|
||||
miTmp.RadioItem := True;
|
||||
miTmp.AutoCheck := True;
|
||||
miTmp.GroupIndex := 1;
|
||||
miTmp.OnClick := @DrivesMenuClick;
|
||||
pmDrivesMenu.Items.Add(miTmp);
|
||||
end; // with
|
||||
end; // for
|
||||
end;
|
||||
|
||||
procedure TfrmMain.DrivesMenuClick(Sender: TObject);
|
||||
var
|
||||
iIconIndex : Integer;
|
||||
begin
|
||||
with Sender as TMenuItem do
|
||||
begin
|
||||
if IsAvailable(Hint) then
|
||||
begin
|
||||
case pmDrivesMenu.Tag of
|
||||
0:
|
||||
begin
|
||||
FrameLeft.pnlFile.ActiveDir := Hint;
|
||||
if gDriveBar2 then
|
||||
dskLeft.Buttons[Tag].Down := True;
|
||||
dskLeft.Tag := Tag;
|
||||
FrameLeft.pnlFile.LoadPanel;
|
||||
SetActiveFrame(fpLeft);
|
||||
iIconIndex := PDrive(DrivesList[Tag])^.DriveIcon;
|
||||
btnLeftDrive.Glyph := PixMapManager.GetStretchBitmap(iIconIndex, btnLeftDrive.Color, btnLeftDrive.Height - 4);
|
||||
btnLeftDrive.Caption := Caption;
|
||||
end;
|
||||
1:
|
||||
begin
|
||||
FrameRight.pnlFile.ActiveDir := Hint;
|
||||
if gDriveBar1 then
|
||||
dskRight.Buttons[Tag].Down := True;
|
||||
dskRight.Tag := Tag;
|
||||
FrameRight.pnlFile.LoadPanel;
|
||||
SetActiveFrame(fpRight);
|
||||
iIconIndex := PDrive(DrivesList[Tag])^.DriveIcon;
|
||||
btnRightDrive.Glyph := PixMapManager.GetStretchBitmap(iIconIndex, btnRightDrive.Color, btnRightDrive.Height - 4);
|
||||
btnRightDrive.Caption := Caption;
|
||||
end;
|
||||
end; // case
|
||||
end
|
||||
else
|
||||
begin
|
||||
pmDrivesMenu.Items[dskLeft.Tag].Checked := True;
|
||||
msgOK(lngGetString(clngMsgDiskNotAvail));
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmMain.CreateDiskPanel(dskPanel: TKASToolBar);
|
||||
var
|
||||
Drives : TList;
|
||||
I, Count, btnIndex : Integer;
|
||||
Drive : PDrive;
|
||||
ButtonIcon : TBitMap;
|
||||
begin
|
||||
//dskPanel.InitBounds; // Update information
|
||||
Drives := GetAllDrives;
|
||||
Count := Drives.Count - 1;
|
||||
|
||||
dskPanel.FlatButtons := gDriveBarFlat;
|
||||
Count := DrivesList.Count - 1;
|
||||
|
||||
for I := 0 to Count do
|
||||
begin
|
||||
Drive := PDrive(Drives.Items[I]);
|
||||
Drive := PDrive(DrivesList.Items[I]);
|
||||
with Drive^ do
|
||||
begin
|
||||
dskPanel.AddButton(Name, Path, Path, '');
|
||||
|
|
@ -2235,24 +2431,12 @@ begin
|
|||
end;
|
||||
{/Set chosen drive}
|
||||
|
||||
//**********************************
|
||||
// get drive icon
|
||||
if gIconsSize > 16 then
|
||||
begin
|
||||
ButtonIcon:= TBitMap.Create;
|
||||
with ButtonIcon do
|
||||
begin
|
||||
Width:=dskPanel.Buttons[I].Height;
|
||||
Height:=Width;
|
||||
|
||||
Canvas.Brush.Color := dskPanel.Buttons[I].Color;
|
||||
Canvas.FillRect(Canvas.ClipRect);
|
||||
Canvas.StretchDraw(Canvas.ClipRect,PixMapManager.GetBitmap(DriveIcon, dskPanel.Buttons[I].Color));
|
||||
dskPanel.Buttons[I].Glyph := ButtonIcon;
|
||||
end;
|
||||
end
|
||||
dskPanel.Buttons[I].Glyph := PixMapManager.GetStretchBitmap(DriveIcon, dskPanel.Buttons[I].Color, dskPanel.Buttons[I].Height - 4)
|
||||
else
|
||||
//**********************************
|
||||
dskPanel.Buttons[I].Glyph := PixMapManager.GetBitmap(DriveIcon, dskPanel.Buttons[I].Color);
|
||||
dskPanel.Buttons[I].Glyph := PixMapManager.GetBitmap(DriveIcon, dskPanel.Buttons[I].Color);
|
||||
|
||||
{Set Buttons Transparent. Is need? }
|
||||
dskPanel.Buttons[I].Glyph.Transparent := True;
|
||||
dskPanel.Buttons[I].Transparent := True;
|
||||
|
|
@ -2274,8 +2458,17 @@ begin
|
|||
end;
|
||||
|
||||
procedure TfrmMain.CreatePanel(AOwner: TWinControl; APanel:TFilePanelSelect; sPath : String);
|
||||
var
|
||||
lblDriveInfo : TLabel;
|
||||
begin
|
||||
with TFrameFilePanel.Create(AOwner, lblCommandPath, edtCommand) do
|
||||
case APanel of
|
||||
fpLeft:
|
||||
lblDriveInfo := lblLeftDriveInfo;
|
||||
fpRight:
|
||||
lblDriveInfo := lblRightDriveInfo;
|
||||
end;
|
||||
|
||||
with TFrameFilePanel.Create(AOwner, lblDriveInfo, lblCommandPath, edtCommand) do
|
||||
begin
|
||||
edtCmdLine:=edtCommand;
|
||||
PanelSelect:=APanel;
|
||||
|
|
@ -2288,6 +2481,8 @@ begin
|
|||
pnlFile.LoadPanel;
|
||||
UpDatelblInfo;
|
||||
dgPanel.Color := gBackColor;
|
||||
pnlHeader.Visible := gCurDir;
|
||||
pnlFooter.Visible := gStatusBar;
|
||||
lblLPath.OnClick:=@FramelblLPathClick;
|
||||
lblLPath.OnMouseDown := @FramelblLPathMouseDown;
|
||||
edtRename.OnExit:=@FrameRightedtRenameExit;
|
||||
|
|
@ -2312,7 +2507,7 @@ begin
|
|||
ANoteBook.ActivePage:= IntToStr(x);
|
||||
Result:=ANoteBook.Page[x];
|
||||
|
||||
ANoteBook.ShowTabs:= (ANoteBook.PageCount > 1) or Boolean(gDirTabOptions and tb_always_visible);
|
||||
ANoteBook.ShowTabs:= ((ANoteBook.PageCount > 1) or Boolean(gDirTabOptions and tb_always_visible)) and gDirectoryTabs;
|
||||
if Boolean(gDirTabOptions and tb_multiple_lines) then
|
||||
ANoteBook.Options := ANoteBook.Options + [nboMultiLine];
|
||||
end;
|
||||
|
|
@ -2329,7 +2524,7 @@ begin
|
|||
end;}
|
||||
ANoteBook.Pages.Delete(iPageIndex);
|
||||
end;
|
||||
ANoteBook.ShowTabs:= (ANoteBook.PageCount > 1) or Boolean(gDirTabOptions and tb_always_visible);
|
||||
ANoteBook.ShowTabs:= ((ANoteBook.PageCount > 1) or Boolean(gDirTabOptions and tb_always_visible)) and gDirectoryTabs;
|
||||
end;
|
||||
|
||||
procedure TfrmMain.LoadTabs(ANoteBook: TNoteBook);
|
||||
|
|
@ -2342,7 +2537,7 @@ var
|
|||
sCaption, sActiveCaption : String;
|
||||
iActiveTab : Integer;
|
||||
begin
|
||||
if ANoteBook.Align = alLeft then
|
||||
if ANoteBook.Hint = 'Left' then
|
||||
begin
|
||||
TabsSection := 'lefttabs';
|
||||
Section := 'left';
|
||||
|
|
@ -2390,7 +2585,7 @@ var
|
|||
TabsSection, Section : String;
|
||||
sPath : String;
|
||||
begin
|
||||
if ANoteBook.Align = alLeft then
|
||||
if ANoteBook.Hint = 'Left' then
|
||||
begin
|
||||
TabsSection := 'lefttabs';
|
||||
Section := 'left';
|
||||
|
|
|
|||
174
foptions.lfm
174
foptions.lfm
|
|
@ -1,16 +1,16 @@
|
|||
inherited frmOptions: TfrmOptions
|
||||
Left = 164
|
||||
Height = 369
|
||||
Top = 85
|
||||
Left = 259
|
||||
Height = 398
|
||||
Top = 82
|
||||
Width = 577
|
||||
HorzScrollBar.Page = 576
|
||||
VertScrollBar.Page = 368
|
||||
VertScrollBar.Page = 397
|
||||
VertScrollBar.Range = 41
|
||||
ActiveControl = btnOK
|
||||
BorderIcons = [biSystemMenu, biMinimize]
|
||||
BorderStyle = bsSingle
|
||||
Caption = 'Options'
|
||||
ClientHeight = 369
|
||||
ClientHeight = 398
|
||||
ClientWidth = 577
|
||||
Icon.Data = {
|
||||
36030000424D3603000000000000360000002800000010000000100000000100
|
||||
|
|
@ -43,7 +43,7 @@ inherited frmOptions: TfrmOptions
|
|||
Position = poMainFormCenter
|
||||
object Panel1: TPanel
|
||||
Height = 43
|
||||
Top = 326
|
||||
Top = 355
|
||||
Width = 577
|
||||
Align = alBottom
|
||||
ClientHeight = 43
|
||||
|
|
@ -77,7 +77,7 @@ inherited frmOptions: TfrmOptions
|
|||
end
|
||||
end
|
||||
object tvTreeView: TTreeView
|
||||
Height = 326
|
||||
Height = 355
|
||||
Width = 121
|
||||
Align = alLeft
|
||||
DefaultItemHeight = 16
|
||||
|
|
@ -86,7 +86,7 @@ inherited frmOptions: TfrmOptions
|
|||
TabOrder = 1
|
||||
OnChange = tvTreeViewChange
|
||||
Items.Data = {
|
||||
F9FFFFFF0100070000000000000000000000FFFFFFFFFFFFFFFF000000000000
|
||||
F9FFFFFF0100080000000000000000000000FFFFFFFFFFFFFFFF000000000000
|
||||
00000000000000080000004C616E67756167650100000001000000FFFFFFFFFF
|
||||
FFFFFF00000000000000000000000000090000004265686176696F7273020000
|
||||
0002000000FFFFFFFFFFFFFFFF0000000000000000000000000005000000546F
|
||||
|
|
@ -97,31 +97,32 @@ inherited frmOptions: TfrmOptions
|
|||
07000000FFFFFFFFFFFFFFFF000000000000000000000000000A00000046696C
|
||||
652074797065730500000005000000FFFFFFFFFFFFFFFF000000000000000000
|
||||
0000000008000000486F74206B6579730600000006000000FFFFFFFFFFFFFFFF
|
||||
0000000000000000000000000007000000506C7567696E73
|
||||
0000000000000000000000000007000000506C7567696E7308000000FFFFFFFF
|
||||
FFFFFFFFFFFFFFFF00000000000000000000000000060000004C61796F7574
|
||||
}
|
||||
end
|
||||
object Panel3: TPanel
|
||||
Left = 121
|
||||
Height = 326
|
||||
Height = 355
|
||||
Width = 456
|
||||
Align = alClient
|
||||
Caption = 'Panel3'
|
||||
ClientHeight = 326
|
||||
ClientHeight = 355
|
||||
ClientWidth = 456
|
||||
TabOrder = 2
|
||||
object nbNotebook: TNotebook
|
||||
Left = 1
|
||||
Height = 301
|
||||
Height = 330
|
||||
Top = 24
|
||||
Width = 454
|
||||
Align = alClient
|
||||
PageIndex = 7
|
||||
PageIndex = 8
|
||||
ShowTabs = False
|
||||
TabOrder = 0
|
||||
object pgLng: TPage
|
||||
Caption = 'pgLng'
|
||||
ClientWidth = 446
|
||||
ClientHeight = 300
|
||||
ClientHeight = 304
|
||||
object lngList: TListBox
|
||||
Height = 300
|
||||
Width = 446
|
||||
|
|
@ -132,7 +133,7 @@ inherited frmOptions: TfrmOptions
|
|||
object pgBehav: TPage
|
||||
Caption = 'pgBehav'
|
||||
ClientWidth = 446
|
||||
ClientHeight = 300
|
||||
ClientHeight = 304
|
||||
object lblTerm: TLabel
|
||||
Left = 8
|
||||
Height = 14
|
||||
|
|
@ -170,8 +171,8 @@ inherited frmOptions: TfrmOptions
|
|||
Height = 164
|
||||
Top = 66
|
||||
Width = 202
|
||||
ClientHeight = 146
|
||||
ClientWidth = 198
|
||||
ClientHeight = 164
|
||||
ClientWidth = 202
|
||||
ParentCtl3D = False
|
||||
TabOrder = 2
|
||||
object cbDirSelect: TCheckBox
|
||||
|
|
@ -225,8 +226,8 @@ inherited frmOptions: TfrmOptions
|
|||
Height = 162
|
||||
Top = 66
|
||||
Width = 188
|
||||
ClientHeight = 144
|
||||
ClientWidth = 184
|
||||
ClientHeight = 162
|
||||
ClientWidth = 188
|
||||
TabOrder = 3
|
||||
object lblIconsSize: TLabel
|
||||
Left = 6
|
||||
|
|
@ -267,7 +268,7 @@ inherited frmOptions: TfrmOptions
|
|||
object pgTools: TPage
|
||||
Caption = 'pgTools'
|
||||
ClientWidth = 446
|
||||
ClientHeight = 300
|
||||
ClientHeight = 304
|
||||
object cbExtEditor: TCheckBox
|
||||
Left = 3
|
||||
Height = 13
|
||||
|
|
@ -326,7 +327,7 @@ inherited frmOptions: TfrmOptions
|
|||
object pgFonts: TPage
|
||||
Caption = 'pgFonts'
|
||||
ClientWidth = 446
|
||||
ClientHeight = 300
|
||||
ClientHeight = 304
|
||||
object lblMainFont: TLabel
|
||||
Left = 6
|
||||
Height = 14
|
||||
|
|
@ -487,7 +488,7 @@ inherited frmOptions: TfrmOptions
|
|||
object pgColor: TPage
|
||||
Caption = 'pgColor'
|
||||
ClientWidth = 446
|
||||
ClientHeight = 300
|
||||
ClientHeight = 304
|
||||
object cTextLabel: TLabel
|
||||
Left = 25
|
||||
Height = 14
|
||||
|
|
@ -812,8 +813,8 @@ inherited frmOptions: TfrmOptions
|
|||
Top = 26
|
||||
Width = 185
|
||||
Caption = 'Example'
|
||||
ClientHeight = 154
|
||||
ClientWidth = 181
|
||||
ClientHeight = 172
|
||||
ClientWidth = 185
|
||||
TabOrder = 12
|
||||
object pbExample: TPaintBox
|
||||
Left = 8
|
||||
|
|
@ -827,7 +828,7 @@ inherited frmOptions: TfrmOptions
|
|||
object pgHotKey: TPage
|
||||
Caption = 'pgHotKey'
|
||||
ClientWidth = 446
|
||||
ClientHeight = 300
|
||||
ClientHeight = 304
|
||||
object lblActions: TLabel
|
||||
Left = 6
|
||||
Height = 14
|
||||
|
|
@ -892,9 +893,9 @@ inherited frmOptions: TfrmOptions
|
|||
object pgPlugins: TPage
|
||||
Caption = 'pgPlugins'
|
||||
ClientWidth = 446
|
||||
ClientHeight = 300
|
||||
ClientHeight = 304
|
||||
object pcPluginsTypes: TPageControl
|
||||
Height = 300
|
||||
Height = 304
|
||||
Width = 446
|
||||
ActivePage = tsWCX
|
||||
Align = alClient
|
||||
|
|
@ -902,8 +903,6 @@ inherited frmOptions: TfrmOptions
|
|||
TabOrder = 0
|
||||
object tsWCX: TTabSheet
|
||||
Caption = 'Packer plugins (.WCX)'
|
||||
ClientHeight = 274
|
||||
ClientWidth = 438
|
||||
OnShow = tsWCXShow
|
||||
object lblAbout: TLabel
|
||||
Left = 14
|
||||
|
|
@ -991,7 +990,7 @@ inherited frmOptions: TfrmOptions
|
|||
object tsWFX: TTabSheet
|
||||
Caption = 'File system plugins (.WFX)'
|
||||
ChildSizing.LeftRightSpacing = 239
|
||||
ClientHeight = 274
|
||||
ClientHeight = 278
|
||||
ClientWidth = 438
|
||||
OnShow = tsWFXShow
|
||||
object lblInstalledPlugins: TLabel
|
||||
|
|
@ -1055,15 +1054,15 @@ inherited frmOptions: TfrmOptions
|
|||
object pgFileTypesColors: TPage
|
||||
Caption = 'pgFileTypesColors'
|
||||
ClientWidth = 446
|
||||
ClientHeight = 300
|
||||
ClientHeight = 304
|
||||
object gbFileTypesColors: TGroupBox
|
||||
Left = 10
|
||||
Height = 274
|
||||
Top = 2
|
||||
Width = 425
|
||||
Caption = 'File types colors'
|
||||
ClientHeight = 256
|
||||
ClientWidth = 421
|
||||
ClientHeight = 274
|
||||
ClientWidth = 425
|
||||
TabOrder = 0
|
||||
object lblCategoryName: TLabel
|
||||
Left = 45
|
||||
|
|
@ -1188,6 +1187,115 @@ inherited frmOptions: TfrmOptions
|
|||
end
|
||||
end
|
||||
end
|
||||
object pgLayout: TPage
|
||||
Caption = 'Layout'
|
||||
ClientWidth = 446
|
||||
ClientHeight = 322
|
||||
object gbScreenLayout: TGroupBox
|
||||
Left = 11
|
||||
Height = 292
|
||||
Top = 4
|
||||
Width = 389
|
||||
Caption = ' Screen layout '
|
||||
ClientHeight = 274
|
||||
ClientWidth = 385
|
||||
TabOrder = 0
|
||||
object cbShowMainToolBar: TCheckBox
|
||||
Left = 10
|
||||
Height = 13
|
||||
Top = 16
|
||||
Width = 98
|
||||
Caption = 'Show &button bar'
|
||||
TabOrder = 0
|
||||
end
|
||||
object cbShowDiskPanel: TCheckBox
|
||||
Left = 10
|
||||
Height = 13
|
||||
Top = 38
|
||||
Width = 111
|
||||
Caption = 'Show &drive buttons'
|
||||
OnChange = cbShowDiskPanelChange
|
||||
TabOrder = 1
|
||||
end
|
||||
object cbShowDriveMenuButton: TCheckBox
|
||||
Left = 10
|
||||
Height = 13
|
||||
Top = 96
|
||||
Width = 135
|
||||
Caption = 'Show d&rive menu button'
|
||||
TabOrder = 4
|
||||
end
|
||||
object cbShowCurDir: TCheckBox
|
||||
Left = 10
|
||||
Height = 13
|
||||
Top = 140
|
||||
Width = 126
|
||||
Caption = 'Show ¤t directory'
|
||||
TabOrder = 6
|
||||
end
|
||||
object cbShowTabHeader: TCheckBox
|
||||
Left = 10
|
||||
Height = 13
|
||||
Top = 162
|
||||
Width = 121
|
||||
Caption = 'Show &tabstop header'
|
||||
Checked = True
|
||||
Enabled = False
|
||||
State = cbChecked
|
||||
TabOrder = 7
|
||||
end
|
||||
object cbShowStatusBar: TCheckBox
|
||||
Left = 10
|
||||
Height = 13
|
||||
Top = 184
|
||||
Width = 96
|
||||
Caption = 'Show &status bar'
|
||||
TabOrder = 8
|
||||
end
|
||||
object cbShowCmdLine: TCheckBox
|
||||
Left = 10
|
||||
Height = 13
|
||||
Top = 206
|
||||
Width = 115
|
||||
Caption = 'Show command &line'
|
||||
TabOrder = 9
|
||||
end
|
||||
object cbShowKeysPanel: TCheckBox
|
||||
Left = 10
|
||||
Height = 13
|
||||
Top = 228
|
||||
Width = 146
|
||||
Caption = 'Show &function key buttons'
|
||||
TabOrder = 10
|
||||
end
|
||||
object cbFlatDiskPanel: TCheckBox
|
||||
Left = 26
|
||||
Height = 13
|
||||
Top = 74
|
||||
Width = 65
|
||||
Caption = 'Flat icons'
|
||||
Enabled = False
|
||||
TabOrder = 3
|
||||
end
|
||||
object cbTwoDiskPanels: TCheckBox
|
||||
Left = 26
|
||||
Height = 13
|
||||
Top = 57
|
||||
Width = 304
|
||||
Caption = 'Show two drive button bars (fixed width, above file windows)'
|
||||
Enabled = False
|
||||
TabOrder = 2
|
||||
end
|
||||
object cbShowTabs: TCheckBox
|
||||
Left = 10
|
||||
Height = 13
|
||||
Top = 118
|
||||
Width = 99
|
||||
Caption = 'Sho&w folder tabs'
|
||||
TabOrder = 5
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
object pnlCaption: TPanel
|
||||
Left = 1
|
||||
|
|
|
|||
49
foptions.pas
49
foptions.pas
|
|
@ -108,6 +108,18 @@ type
|
|||
gbExample: TGroupBox;
|
||||
gbFileTypesColors: TGroupBox;
|
||||
gbMisc: TGroupBox;
|
||||
gbScreenLayout: TGroupBox;
|
||||
cbFlatDiskPanel: TCheckBox;
|
||||
cbShowMainToolBar: TCheckBox;
|
||||
cbShowCmdLine: TCheckBox;
|
||||
cbShowCurDir: TCheckBox;
|
||||
cbShowDiskPanel: TCheckBox;
|
||||
cbShowDriveMenuButton: TCheckBox;
|
||||
cbShowKeysPanel: TCheckBox;
|
||||
cbShowStatusBar: TCheckBox;
|
||||
cbShowTabHeader: TCheckBox;
|
||||
cbShowTabs: TCheckBox;
|
||||
cbTwoDiskPanels: TCheckBox;
|
||||
ilTreeView: TImageList;
|
||||
lblIconsSize: TLabel;
|
||||
lblInstalledPlugins: TLabel;
|
||||
|
|
@ -137,6 +149,7 @@ type
|
|||
pcPluginsTypes: TPageControl;
|
||||
pcPluginsType: TPageControl;
|
||||
pgFileTypesColors: TPage;
|
||||
pgLayout: TPage;
|
||||
pgPlugins: TPage;
|
||||
pnlCaption: TPanel;
|
||||
Panel3: TPanel;
|
||||
|
|
@ -172,6 +185,7 @@ type
|
|||
procedure cbCategoryColorChange(Sender: TObject);
|
||||
procedure cbColorBoxChange(Sender: TObject);
|
||||
procedure cbExtChange(Sender: TObject);
|
||||
procedure cbShowDiskPanelChange(Sender: TObject);
|
||||
procedure clbWCXListClick(Sender: TObject);
|
||||
procedure cbTextColorChange(Sender: TObject);
|
||||
procedure cbColorBoxDropDown(Sender: TObject);
|
||||
|
|
@ -301,6 +315,12 @@ begin
|
|||
clbWCXList.ItemIndex := cbExt.ItemIndex;
|
||||
end;
|
||||
|
||||
procedure TfrmOptions.cbShowDiskPanelChange(Sender: TObject);
|
||||
begin
|
||||
cbTwoDiskPanels.Enabled := cbShowDiskPanel.Checked;
|
||||
cbFlatDiskPanel.Enabled := cbShowDiskPanel.Checked;
|
||||
end;
|
||||
|
||||
procedure TfrmOptions.clbWCXListClick(Sender: TObject);
|
||||
begin
|
||||
cbWCXPath.Text := clbWCXList.Items[clbWCXList.ItemIndex];
|
||||
|
|
@ -353,6 +373,20 @@ begin
|
|||
cbExtDiffer.Caption:=lngGetString(clngDlgOptExtDiff);
|
||||
cbSeparateExt.Caption:=lngGetString(clngDlgOptSeparateExt);
|
||||
|
||||
{Layout page}
|
||||
cbShowMainToolBar.Checked := gButtonBar;
|
||||
cbShowDiskPanel.Checked := gDriveBar1;
|
||||
cbTwoDiskPanels.Checked := gDriveBar2;
|
||||
cbFlatDiskPanel.Checked := gDriveBarFlat;
|
||||
cbShowDriveMenuButton.Checked := gDriveMenuButton;
|
||||
cbShowTabs.Checked := gDirectoryTabs;
|
||||
cbShowCurDir.Checked := gCurDir;
|
||||
cbShowTabHeader.Checked := gTabHeader;
|
||||
cbShowStatusBar.Checked := gStatusBar;
|
||||
cbShowCmdLine.Checked := gCmdLine;
|
||||
cbShowKeysPanel.Checked := gKeyButtons;
|
||||
|
||||
|
||||
cbDirSelect.Checked:=gDirSelect;
|
||||
cbCaseSensitiveSort.Checked:=gCaseSensitiveSort;
|
||||
cbLynxLike.Checked:=gLynxLike;
|
||||
|
|
@ -430,6 +464,21 @@ end;
|
|||
procedure TfrmOptions.btnOKClick(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
|
||||
{Layout page}
|
||||
gButtonBar := cbShowMainToolBar.Checked;
|
||||
gDriveBar1 := cbShowDiskPanel.Checked;
|
||||
gDriveBar2 := cbTwoDiskPanels.Checked;
|
||||
gDriveBarFlat := cbFlatDiskPanel.Checked;
|
||||
gDriveMenuButton := cbShowDriveMenuButton.Checked;
|
||||
gDirectoryTabs := cbShowTabs.Checked;
|
||||
gCurDir := cbShowCurDir.Checked;
|
||||
gTabHeader := cbShowTabHeader.Checked;
|
||||
gStatusBar := cbShowStatusBar.Checked;
|
||||
gCmdLine := cbShowCmdLine.Checked;
|
||||
gKeyButtons := cbShowKeysPanel.Checked;
|
||||
// gInterfaceFlat :=
|
||||
|
||||
gTerm:=edtTerm.Text;
|
||||
if lngList.ItemIndex>-1 then
|
||||
gLng:=lngList.Items[lngList.ItemIndex];
|
||||
|
|
|
|||
|
|
@ -35,7 +35,6 @@ type
|
|||
lblLInfo: TLabel;
|
||||
pnlHeader: TPanel;
|
||||
lblLPath: TLabel;
|
||||
lblFree: TLabel;
|
||||
edtRename: TEdit;
|
||||
dgPanel: TDrawGrid;
|
||||
pnAltSearch: TPanel;
|
||||
|
|
@ -73,7 +72,7 @@ type
|
|||
pnlFile:TFilePanel;
|
||||
edtCmdLine:TComboBox;
|
||||
PanelSelect:TFilePanelSelect;
|
||||
constructor Create(AOwner :TWinControl; lblCommandPath:TLabel; cmbCommand:TComboBox);
|
||||
constructor Create(AOwner :TWinControl; lblDriveInfo : TLabel; lblCommandPath:TLabel; cmbCommand:TComboBox);
|
||||
destructor Destroy; override;
|
||||
procedure LoadPanel;
|
||||
procedure SetFocus;
|
||||
|
|
@ -660,7 +659,7 @@ end;
|
|||
|
||||
|
||||
|
||||
constructor TFrameFilePanel.Create(AOwner : TWinControl; lblCommandPath:TLabel; cmbCommand:TComboBox);
|
||||
constructor TFrameFilePanel.Create(AOwner : TWinControl; lblDriveInfo : TLabel; lblCommandPath:TLabel; cmbCommand:TComboBox);
|
||||
var
|
||||
x:Integer;
|
||||
begin
|
||||
|
|
@ -672,7 +671,7 @@ begin
|
|||
|
||||
pnlHeader:=TPanel.Create(Self);
|
||||
pnlHeader.Parent:=Self;
|
||||
pnlHeader.Height:=41;
|
||||
pnlHeader.Height:=24;
|
||||
pnlHeader.Align:=alTop;
|
||||
|
||||
// pnlHeader.Width:=AOwner.Width;
|
||||
|
|
@ -682,14 +681,9 @@ begin
|
|||
|
||||
// pnlHeader.Color:=clRed;
|
||||
|
||||
lblFree:=TLabel.Create(pnlHeader);
|
||||
lblFree.Parent:=pnlHeader;
|
||||
lblFree.Width:=pnlHeader.Width*2 div 3;
|
||||
// lblFree.AutoSize:=True;
|
||||
|
||||
lblLPath:=TLabel.Create(pnlHeader);
|
||||
lblLPath.Parent:=pnlHeader;
|
||||
lblLPath.Top:=19;
|
||||
lblLPath.Top := 2;
|
||||
lblLPath.AutoSize:=False;
|
||||
lblLPath.Width:=pnlHeader.Width - 4;
|
||||
lblLPath.Color:=clActiveCaption;
|
||||
|
|
@ -773,7 +767,7 @@ begin
|
|||
lblLPath.OnMouseLeave:=@lblLPathMouseLeave;
|
||||
|
||||
|
||||
pnlFile:=TFilePanel.Create(AOwner, dgPanel,lblLPath,lblCommandPath, lblFree, cmbCommand);
|
||||
pnlFile:=TFilePanel.Create(AOwner, dgPanel,lblLPath,lblCommandPath, lblDriveInfo, cmbCommand);
|
||||
|
||||
// setup column widths
|
||||
for x:=0 to 4 do
|
||||
|
|
|
|||
49
uglobs.pas
49
uglobs.pas
|
|
@ -32,6 +32,20 @@ type
|
|||
end;
|
||||
|
||||
var
|
||||
{Layout page}
|
||||
gButtonBar,
|
||||
gDriveBar1,
|
||||
gDriveBar2,
|
||||
gDriveBarFlat,
|
||||
gDriveMenuButton,
|
||||
gDirectoryTabs,
|
||||
gCurDir,
|
||||
gTabHeader,
|
||||
gStatusBar,
|
||||
gCmdLine,
|
||||
gKeyButtons,
|
||||
gInterfaceFlat : Boolean;
|
||||
|
||||
gDirSortFirst:Boolean=True; // want to show dir first in panels
|
||||
gDirHistoryCount:Integer=30; // how many history we remember
|
||||
gShowSystemFiles:Boolean=True;
|
||||
|
|
@ -49,6 +63,8 @@ var
|
|||
gSeparateExt:Boolean=False; // draw filename and extension separate
|
||||
gDropReadOnlyFlag : Boolean = True;
|
||||
|
||||
{Tools page}
|
||||
|
||||
gUseExtEdit:Boolean=False;
|
||||
gUseExtView:Boolean=False;
|
||||
gUseExtDiff:Boolean=False;
|
||||
|
|
@ -70,6 +86,8 @@ var
|
|||
gViewerPos:TControlPosition;
|
||||
gEditorPos:TControlPosition;
|
||||
|
||||
{File panels color page}
|
||||
|
||||
gBackColor, //Background color
|
||||
gBackColor2, //Background color 2
|
||||
gForeColor, //text color
|
||||
|
|
@ -188,6 +206,22 @@ begin
|
|||
Result := False;
|
||||
writeln('Loading configuration...');
|
||||
InitGlobs;
|
||||
|
||||
{Layout page}
|
||||
|
||||
gButtonBar := gIni.ReadBool('Layout', 'ButtonBar', True);
|
||||
gDriveBar1 := gIni.ReadBool('Layout', 'DriveBar1', True);
|
||||
gDriveBar2 := gIni.ReadBool('Layout', 'DriveBar2', True);
|
||||
gDriveBarFlat := gIni.ReadBool('Layout', 'DriveBarFlat', True);
|
||||
gDriveMenuButton := gIni.ReadBool('Layout', 'DriveMenuButton', True);
|
||||
gDirectoryTabs := gIni.ReadBool('Layout', 'DirectoryTabs', True);
|
||||
gCurDir := gIni.ReadBool('Layout', 'CurDir', True);
|
||||
gTabHeader := gIni.ReadBool('Layout', 'TabHeader', True);
|
||||
gStatusBar := gIni.ReadBool('Layout', 'StatusBar', True);
|
||||
gCmdLine := gIni.ReadBool('Layout', 'CmdLine', True);
|
||||
gKeyButtons := gIni.ReadBool('Layout', 'KeyButtons', True);
|
||||
gInterfaceFlat := gIni.ReadBool('Layout', 'InterfaceFlat', True);
|
||||
|
||||
gShowSystemFiles := gIni.ReadBool('Configuration', 'ShowSystemFiles', False);
|
||||
gLng := gIni.ReadString('Configuration', 'Language', gLng);
|
||||
gTerm := gIni.ReadString('Configuration', 'Term', gTerm);
|
||||
|
|
@ -290,6 +324,21 @@ var
|
|||
begin
|
||||
glsDirHistory.SaveToFile(gpIniDir+'dirhistory.txt');
|
||||
|
||||
{Layout page}
|
||||
|
||||
gIni.WriteBool('Layout', 'ButtonBar', gButtonBar);
|
||||
gIni.WriteBool('Layout', 'DriveBar1', gDriveBar1);
|
||||
gIni.WriteBool('Layout', 'DriveBar2', gDriveBar2);
|
||||
gIni.WriteBool('Layout', 'DriveBarFlat', gDriveBarFlat);
|
||||
gIni.WriteBool('Layout', 'DriveMenuButton', gDriveMenuButton);
|
||||
gIni.WriteBool('Layout', 'DirectoryTabs', gDirectoryTabs);
|
||||
gIni.WriteBool('Layout', 'CurDir', gCurDir);
|
||||
gIni.WriteBool('Layout', 'TabHeader', gTabHeader);
|
||||
gIni.WriteBool('Layout', 'StatusBar', gStatusBar);
|
||||
gIni.WriteBool('Layout', 'CmdLine', gCmdLine);
|
||||
gIni.WriteBool('Layout', 'KeyButtons', gKeyButtons);
|
||||
gIni.WriteBool('Layout', 'InterfaceFlat', gInterfaceFlat);
|
||||
|
||||
gIni.WriteBool('Configuration', 'ShowSystemFiles', gShowSystemFiles);
|
||||
gIni.WriteString('Configuration', 'Language', gLng);
|
||||
gIni.WriteString('Configuration', 'Term', gTerm);
|
||||
|
|
|
|||
|
|
@ -63,6 +63,7 @@ type
|
|||
destructor Destroy; override;
|
||||
procedure Load(const sFileName:String);
|
||||
function GetBitmap(iIndex:Integer; BkColor : TColor):TBitmap;
|
||||
function GetStretchBitmap(iIndex: Integer; BkColor : TColor; iSize : Integer): TBitmap;
|
||||
function DrawBitmap(iIndex: Integer; Canvas : TCanvas; Rect : TRect) : Boolean;
|
||||
Function GetIconByFile(fi:PFileRecItem; PanelMode: TPanelMode):Integer;
|
||||
end;
|
||||
|
|
@ -223,6 +224,10 @@ begin
|
|||
end;
|
||||
|
||||
function TPixMapManager.GetBitmap(iIndex: Integer; BkColor : TColor): Graphics.TBitmap;
|
||||
{$IFDEF MSWINDOWS}
|
||||
var
|
||||
memstream: TMemoryStream;
|
||||
{$ENDIF}
|
||||
begin
|
||||
if iIndex<FimgList.Count then
|
||||
Result:=Graphics.TBitmap(FimgList.Items[iIndex])
|
||||
|
|
@ -243,10 +248,22 @@ begin
|
|||
end;
|
||||
|
||||
try
|
||||
(*For pseudo transparent*)
|
||||
ImageList_DrawEx(SysImgList, iIndex - $1000, Result.Canvas.Handle, 0, 0, 0, 0, GetRGBColor(BkColor), clNone, ILD_NORMAL);
|
||||
(*For pseudo transparent*)
|
||||
ImageList_DrawEx(SysImgList, iIndex - $1000, Result.Canvas.Handle, 0, 0, 0, 0, GetRGBColor(BkColor), clNone, ILD_NORMAL);
|
||||
{ For drawing color transparent bitmaps }
|
||||
memstream := TMemoryStream.create;
|
||||
try
|
||||
Result.SaveToStream(memstream);
|
||||
memstream.position := 0;
|
||||
Result.LoadFromStream(memstream);
|
||||
finally
|
||||
memstream.free;
|
||||
end;
|
||||
|
||||
Result.Transparent := True;
|
||||
Result.TransparentColor := BkColor;
|
||||
except
|
||||
Result:=nil;
|
||||
Result:=nil;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
|
@ -255,6 +272,21 @@ begin
|
|||
{$ENDIF}
|
||||
end;
|
||||
|
||||
function TPixMapManager.GetStretchBitmap(iIndex: Integer; BkColor: TColor;
|
||||
iSize: Integer): Graphics.TBitmap;
|
||||
begin
|
||||
Result := Graphics.TBitMap.Create;
|
||||
with Result do
|
||||
begin
|
||||
Width := iSize;
|
||||
Height := iSize;
|
||||
|
||||
Canvas.Brush.Color := BkColor;
|
||||
Canvas.FillRect(Canvas.ClipRect);
|
||||
Canvas.StretchDraw(Canvas.ClipRect, GetBitmap(iIndex, BkColor));
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
function TPixMapManager.DrawBitmap(iIndex: Integer; Canvas: TCanvas; Rect: TRect): Boolean;
|
||||
begin
|
||||
|
|
@ -303,6 +335,9 @@ begin
|
|||
Exit;
|
||||
end;
|
||||
if FPS_ISDIR(iMode) then
|
||||
{$IFDEF MSWINDOWS}
|
||||
if not FileExists(sName + '\desktop.ini') then
|
||||
{$ENDIF}
|
||||
begin
|
||||
Result:=FiDirIconID;
|
||||
Exit;
|
||||
|
|
@ -312,7 +347,7 @@ begin
|
|||
Result:=FiLinkIconID;
|
||||
Exit;
|
||||
end;
|
||||
if sExt='' then
|
||||
if (sExt = '') and (not FPS_ISDIR(iMode)) then
|
||||
begin
|
||||
Result:=FiDefaultIconID;
|
||||
Exit;
|
||||
|
|
@ -350,7 +385,7 @@ begin
|
|||
|
||||
//WriteLN('FileInfo.iIcon == ' + IntToStr(FileInfo.iIcon));
|
||||
|
||||
if (FExtList.IndexOf(Ext)<0) and (Ext <> 'exe') and (Ext <> 'ico') and (Ext <> 'lnk') then
|
||||
if (FExtList.IndexOf(Ext)<0) and (Ext <> 'exe') and (Ext <> 'ico') and (Ext <> 'lnk') and (not FPS_ISDIR(iMode)) then
|
||||
FExtList.AddObject(Ext, TObject(Result));
|
||||
{$ELSE}
|
||||
Result:=FiDefaultIconID;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue