ADD: Delete files from archives

This commit is contained in:
Alexander Koblov 2007-04-20 21:11:21 +00:00
commit e8881527f9
15 changed files with 639 additions and 714 deletions

View file

@ -1,6 +1,7 @@
delp .\
del /Q *.lrs
del /Q *.or
del /Q *.*~
del /Q *.~*

View file

@ -18,6 +18,11 @@
<CodeGeneration>
<Generate Value="Faster"/>
</CodeGeneration>
<Linking>
<Debugging>
<GenerateDebugInfo Value="True"/>
</Debugging>
</Linking>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>

View file

@ -1,7 +1,7 @@
inherited frmFindDlg: TfrmFindDlg
Left = 282
Left = 173
Height = 476
Top = 231
Top = 33
Width = 541
HorzScrollBar.Page = 540
VertScrollBar.Page = 475
@ -111,7 +111,7 @@ inherited frmFindDlg: TfrmFindDlg
Left = 16
Height = 24
Top = 9
Width = 314
Width = 310
Anchors = [akTop, akLeft, akRight]
TabOrder = 1
end

View file

@ -348,6 +348,7 @@ begin
end;
frmMain.ActiveFrame.pnlFile.FileList.UpdateFileInformation;
frmMain.ActiveFrame.pnlFile.Sort;
frmMain.ActiveFrame.pnlFile.ActiveDir := '';
Close;
end;

View file

@ -1,109 +1,109 @@
object OneButtonChangeDlg: TOneButtonChangeDlg
ActiveControl = id_btn_command
Tag = 1
Left = 250
Height = 240
Top = 235
Width = 533
HelpContext = 270
HorzScrollBar.Page = 532
VertScrollBar.Page = 239
ActiveControl = cbCommand
BorderIcons = []
BorderStyle = bsDialog
Caption = 'Change single button'
ClientHeight = 240
ClientWidth = 533
Font.Color = clBtnText
Font.Height = -11
Font.Name = 'MS Sans Serif'
PixelsPerInch = 96
Position = poScreenCenter
TextHeight = 13
HorzScrollBar.Page = 532
VertScrollBar.Page = 239
Left = 349
Height = 240
Top = 436
Width = 533
HelpContext = 270
Tag = 1
object Command: TLabel
AutoSize = False
Caption = '&Command:'
Color = clNone
FocusControl = id_btn_command
ParentColor = False
object lblCommand: TLabel
Tag = 9
Left = 4
Height = 14
Top = 7
Width = 80
Tag = 9
end
object Parameters: TLabel
AutoSize = False
Caption = '&Parameters:'
Caption = '&Command:'
Color = clNone
FocusControl = id_btn_param
FocusControl = cbCommand
ParentColor = False
end
object lblParameters: TLabel
Tag = 10
Left = 4
Height = 14
Top = 35
Width = 80
Tag = 10
end
object Startpath: TLabel
AutoSize = False
Caption = '&Start path:'
Caption = '&Parameters:'
Color = clNone
FocusControl = id_btn_startpath
FocusControl = kedtParams
ParentColor = False
end
object lblStartpath: TLabel
Tag = 11
Left = 4
Height = 14
Top = 60
Width = 80
Tag = 11
end
object Iconfile: TLabel
AutoSize = False
Caption = 'Icon &file:'
Caption = '&Start path:'
Color = clNone
FocusControl = id_btn_iconfilename
FocusControl = kedtStartpath
ParentColor = False
end
object lblIconfile: TLabel
Tag = 12
Left = 4
Height = 13
Top = 85
Width = 80
Tag = 12
end
object Icon: TLabel
AutoSize = False
Caption = '&Icon:'
Caption = 'Icon &file:'
Color = clNone
FocusControl = id_btn_icon
FocusControl = kedtIconFileName
ParentColor = False
WordWrap = True
end
object lblIconX: TLabel
Tag = 13
Left = 4
Height = 14
Top = 110
Width = 45
Tag = 13
AutoSize = False
Caption = '&Icon:'
Color = clNone
FocusControl = lblIcons
ParentColor = False
WordWrap = True
end
object id_btn_iconindex: TLabel
object lblIconIndex: TLabel
Left = 54
Height = 14
Top = 110
Width = 25
AutoSize = False
Caption = '0'
Color = clNone
ParentColor = False
WordWrap = True
Left = 54
Height = 14
Top = 110
Width = 25
end
object Tooltip: TLabel
AutoSize = False
Caption = '&Tooltip:'
Color = clNone
FocusControl = id_btn_ToolTip
ParentColor = False
object lblTooltip: TLabel
Tag = 14
Left = 4
Height = 14
Top = 167
Width = 80
Tag = 14
AutoSize = False
Caption = '&Tooltip:'
Color = clNone
FocusControl = kedtToolTip
ParentColor = False
end
object id_btn_command: TComboBox
object cbCommand: TComboBox
Left = 85
Height = 21
Top = 6
Width = 298
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
DropDownCount = 20
Font.Height = -11
@ -111,149 +111,144 @@ object OneButtonChangeDlg: TOneButtonChangeDlg
ItemHeight = 13
MaxLength = 0
TabOrder = 0
Left = 85
Height = 21
Top = 6
Width = 298
end
object id_btn_find1: TButton
BorderSpacing.InnerBorder = 2
Caption = '>>'
OnClick = id_btn_find1Click
TabOrder = 1
object btnOpenFile: TButton
Left = 384
Height = 22
Top = 5
Width = 25
BorderSpacing.InnerBorder = 4
Caption = '>>'
OnClick = btnOpenFileClick
TabOrder = 1
end
object id_btn_findbar: TButton
BorderSpacing.InnerBorder = 2
Caption = 'Add Subbar >>'
TabOrder = 2
object btnAddSubBar: TButton
Tag = 15
Left = 412
Height = 23
Top = 4
Width = 110
Tag = 15
BorderSpacing.InnerBorder = 4
Caption = 'Add Subbar >>'
TabOrder = 2
end
object id_btn_param: TKASEdit
Font.Height = -11
Font.Name = 'MS Sans Serif'
MaxLength = 259
TabOrder = 3
object kedtParams: TKASEdit
Left = 85
Height = 21
Top = 31
Width = 298
end
object id_btn_assymbol: TCheckBox
Caption = 'Run mi&nimized'
TabOrder = 4
Left = 387
Height = 13
Top = 34
Width = 94
Tag = 16
end
object id_btn_startpath: TKASEdit
Font.Height = -11
Font.Name = 'MS Sans Serif'
MaxLength = 259
TabOrder = 6
TabOrder = 3
end
object lblRunMinimized: TCheckBox
Tag = 16
Left = 387
Height = 13
Top = 34
Width = 88
Caption = 'Run mi&nimized'
TabOrder = 4
end
object kedtStartpath: TKASEdit
Left = 85
Height = 21
Top = 56
Width = 298
end
object id_btn_iconfilename: TKASEdit
Font.Height = -11
Font.Name = 'MS Sans Serif'
MaxLength = 259
TabOrder = 7
TabOrder = 6
end
object kedtIconFileName: TKASEdit
Left = 85
Height = 21
Top = 81
Width = 298
Font.Height = -11
Font.Name = 'MS Sans Serif'
MaxLength = 259
TabOrder = 7
end
object id_btn_iconfile: TButton
BorderSpacing.InnerBorder = 2
Caption = '>>'
OnClick = id_btn_iconfileClick
TabOrder = 8
object btnOpenIconFile: TButton
Left = 384
Height = 21
Top = 81
Width = 25
BorderSpacing.InnerBorder = 4
Caption = '>>'
OnClick = btnOpenIconFileClick
TabOrder = 8
end
object id_btn_icon: TListBox
object lblIcons: TListBox
Left = 85
Height = 54
Top = 106
Width = 298
Font.Height = -11
Font.Name = 'MS Sans Serif'
ItemHeight = 36
Style = lbOwnerDrawFixed
TabOrder = 9
Left = 85
Height = 54
Top = 106
Width = 298
end
object id_btn_ToolTip: TKASEdit
Font.Height = -11
Font.Name = 'MS Sans Serif'
MaxLength = 259
TabOrder = 10
object kedtToolTip: TKASEdit
Left = 85
Height = 21
Top = 164
Width = 298
Font.Height = -11
Font.Name = 'MS Sans Serif'
MaxLength = 259
TabOrder = 10
end
object Ok: TButton
BorderSpacing.InnerBorder = 2
Caption = 'OK'
Default = True
OnClick = OkClick
TabOrder = 11
object btnOK: TButton
Tag = 4001
Left = 420
Height = 23
Top = 110
Width = 100
Tag = 4001
BorderSpacing.InnerBorder = 4
Caption = 'OK'
Default = True
OnClick = btnOKClick
TabOrder = 11
end
object Cancel: TButton
BorderSpacing.InnerBorder = 2
Cancel = True
Caption = 'Cancel'
ModalResult = 2
OnClick = CancelClick
TabOrder = 12
object btnCancel: TButton
Tag = 4002
Left = 420
Height = 23
Top = 136
Width = 100
Tag = 4002
BorderSpacing.InnerBorder = 4
Cancel = True
Caption = 'Cancel'
ModalResult = 2
OnClick = btnCancelClick
TabOrder = 12
end
object id_Globalhelp: TButton
BorderSpacing.InnerBorder = 2
Caption = '&Help'
TabOrder = 13
object btnHelp: TButton
Tag = 4003
Left = 420
Height = 23
Top = 162
Width = 100
Tag = 4003
BorderSpacing.InnerBorder = 4
Caption = '&Help'
TabOrder = 13
end
object id_btn_maximized: TCheckBox
Caption = 'Run ma&ximized'
TabOrder = 5
object lblRunMaximized: TCheckBox
Tag = 17
Left = 387
Height = 13
Top = 50
Width = 97
Tag = 17
Width = 91
Caption = 'Run ma&ximized'
TabOrder = 5
end
object OpenDialog: TOpenDialog
Title = 'Îòêðûòü ñóùåñòâóþùèé ôàéë'
FilterIndex = 0
Title = 'Îòêðûòü ñóùåñòâóþùèé ôàéë'
left = 32
top = 496
end

View file

@ -23,32 +23,32 @@ type
{ TOneButtonChangeDlg }
TOneButtonChangeDlg = class(TForm)
Cancel: TButton;
Command: TLabel;
btnCancel: TButton;
lblCommand: TLabel;
IconX: TLabel;
Iconfile: TLabel;
id_btn_assymbol: TCheckBox;
id_btn_command: TComboBox;
id_btn_find1: TButton;
id_btn_findbar: TButton;
id_btn_icon: TListBox;
id_btn_iconfile: TButton;
id_btn_iconfilename: TKASEdit;
id_btn_iconindex: TLabel;
id_btn_maximized: TCheckBox;
id_btn_param: TKASEdit;
id_btn_startpath: TKASEdit;
id_btn_ToolTip: TKASEdit;
id_Globalhelp: TButton;
Ok: TButton;
lblIconfile: TLabel;
lblRunMinimized: TCheckBox;
cbCommand: TComboBox;
btnOpenFile: TButton;
btnAddSubBar: TButton;
lblIcons: TListBox;
btnOpenIconFile: TButton;
kedtIconFileName: TKASEdit;
lblIconIndex: TLabel;
lblRunMaximized: TCheckBox;
kedtParams: TKASEdit;
kedtStartpath: TKASEdit;
kedtToolTip: TKASEdit;
btnHelp: TButton;
btnOK: TButton;
OpenDialog: TOpenDialog;
Parameters: TLabel;
Startpath: TLabel;
Tooltip: TLabel;
procedure CancelClick(Sender: TObject);
procedure OkClick(Sender: TObject);
procedure id_btn_find1Click(Sender: TObject);
procedure id_btn_iconfileClick(Sender: TObject);
lblParameters: TLabel;
lblStartpath: TLabel;
lblTooltip: TLabel;
procedure btnCancelClick(Sender: TObject);
procedure btnOKClick(Sender: TObject);
procedure btnOpenFileClick(Sender: TObject);
procedure btnOpenIconFileClick(Sender: TObject);
private
{ private declarations }
@ -70,9 +70,9 @@ procedure ShowOneBtnChangeDlg(NumberOfButton : Integer);
begin
with TOneButtonChangeDlg.Create(Application) do
try
id_btn_command.Text := frmMain.MainToolBar.Commands[NumberOfButton];
id_btn_iconfilename.Text := frmMain.MainToolBar.Icons[NumberOfButton];
id_btn_ToolTip.Text := frmMain.MainToolBar.Buttons[NumberOfButton].Hint;
cbCommand.Text := frmMain.MainToolBar.Commands[NumberOfButton];
kedtIconFileName.Text := frmMain.MainToolBar.Icons[NumberOfButton];
kedtToolTip.Text := frmMain.MainToolBar.Buttons[NumberOfButton].Hint;
LastToolButton := NumberOfButton;
ShowModal;
finally
@ -80,30 +80,30 @@ begin
end;
end;
procedure TOneButtonChangeDlg.CancelClick(Sender: TObject);
procedure TOneButtonChangeDlg.btnCancelClick(Sender: TObject);
begin
Close;
end;
procedure TOneButtonChangeDlg.OkClick(Sender: TObject);
procedure TOneButtonChangeDlg.btnOKClick(Sender: TObject);
begin
frmMain.MainToolBar.Commands[LastToolButton] := id_btn_command.Text;
frmMain.MainToolBar.Icons[LastToolButton] := id_btn_iconfilename.Text;
frmMain.MainToolBar.Buttons[LastToolButton].Hint := id_btn_ToolTip.Text;
frmMain.MainToolBar.Commands[LastToolButton] := cbCommand.Text;
frmMain.MainToolBar.Icons[LastToolButton] := kedtIconFileName.Text;
frmMain.MainToolBar.Buttons[LastToolButton].Hint := kedtToolTip.Text;
frmMain.MainToolBar.SaveToFile(gpIniDir + 'default.bar');
Close;
end;
procedure TOneButtonChangeDlg.id_btn_find1Click(Sender: TObject);
procedure TOneButtonChangeDlg.btnOpenFileClick(Sender: TObject);
begin
if OpenDialog.Execute then
id_btn_command.Text := OpenDialog.FileName;
cbCommand.Text := OpenDialog.FileName;
end;
procedure TOneButtonChangeDlg.id_btn_iconfileClick(Sender: TObject);
procedure TOneButtonChangeDlg.btnOpenIconFileClick(Sender: TObject);
begin
if OpenDialog.Execute then
id_btn_iconfilename.Text := OpenDialog.FileName;
kedtIconFileName.Text := OpenDialog.FileName;
end;

View file

@ -1,162 +1,159 @@
object ButtonChangeDlg: TButtonChangeDlg
ActiveControl = id_btn_barfilesearch
Tag = 1
Left = 273
Height = 281
Top = 142
Width = 562
HelpContext = 270
HorzScrollBar.Page = 561
VertScrollBar.Page = 280
ActiveControl = btnOpenBarFile
BorderIcons = [biSystemMenu]
BorderStyle = bsDialog
Caption = 'Change button bar'
ClientHeight = 281
ClientWidth = 562
Font.Color = clBtnText
Font.Height = -11
Font.Name = 'MS Sans Serif'
OnShow = FormShow
PixelsPerInch = 96
Position = poScreenCenter
TextHeight = 13
HorzScrollBar.Page = 561
VertScrollBar.Page = 280
Left = 280
Height = 281
Top = 351
Width = 562
HelpContext = 270
Tag = 1
object Buttonbar: TLabel
AutoSize = False
Caption = '&Button bar:'
Color = clNone
ParentColor = False
object lblButtonBar: TLabel
Tag = 5
Left = 6
Height = 13
Top = 5
Width = 75
Tag = 5
end
object Label1: TLabel
AutoSize = False
Color = clWindowFrame
Caption = '&Button bar:'
Color = clNone
ParentColor = False
Transparent = False
end
object lblLabel: TLabel
Left = -5
Height = 2
Top = 80
Width = 562
end
object Command: TLabel
AutoSize = False
Caption = '&Command:'
Color = clNone
FocusControl = id_btn_command
Color = clWindowFrame
ParentColor = False
Transparent = False
end
object lblCommand: TLabel
Tag = 9
Left = 4
Height = 13
Top = 87
Width = 81
Tag = 9
end
object Parameters: TLabel
AutoSize = False
Caption = '&Parameters:'
Caption = '&Command:'
Color = clNone
FocusControl = id_btn_param
FocusControl = cbCommand
ParentColor = False
end
object lblParameters: TLabel
Tag = 10
Left = 4
Height = 13
Top = 115
Width = 81
Tag = 10
end
object Startpath: TLabel
AutoSize = False
Caption = '&Start path:'
Caption = '&Parameters:'
Color = clNone
FocusControl = id_btn_startpath
FocusControl = kedtParams
ParentColor = False
end
object lblStartpath: TLabel
Tag = 11
Left = 4
Height = 13
Top = 140
Width = 81
Tag = 11
end
object Iconfile: TLabel
AutoSize = False
Caption = 'Icon &file:'
Caption = '&Start path:'
Color = clNone
FocusControl = id_btn_iconfilename
FocusControl = kedtStartPath
ParentColor = False
end
object lblIconfile: TLabel
Tag = 12
Left = 4
Height = 13
Top = 165
Width = 81
Tag = 12
end
object IconX: TLabel
AutoSize = False
Caption = 'Ic&on:'
Caption = 'Icon &file:'
Color = clNone
FocusControl = id_btn_icon
FocusControl = kedtIconFileName
ParentColor = False
WordWrap = True
end
object lblIconX: TLabel
Tag = 13
Left = 4
Height = 13
Top = 190
Width = 49
Tag = 13
AutoSize = False
Caption = 'Ic&on:'
Color = clNone
FocusControl = lbIcons
ParentColor = False
WordWrap = True
end
object id_btn_iconindex: TLabel
object lblIconIndex: TLabel
Left = 54
Height = 14
Top = 190
Width = 25
AutoSize = False
Caption = '0'
Color = clNone
ParentColor = False
WordWrap = True
Left = 54
Height = 14
Top = 190
Width = 25
end
object Tooltip: TLabel
AutoSize = False
Caption = '&Tooltip:'
Color = clNone
FocusControl = id_btn_ToolTip
ParentColor = False
object lblTooltip: TLabel
Tag = 14
Left = 4
Height = 14
Top = 248
Width = 81
Tag = 14
AutoSize = False
Caption = '&Tooltip:'
Color = clNone
FocusControl = kedtToolTip
ParentColor = False
end
object id_btn_barfilesearch: TButton
BorderSpacing.InnerBorder = 2
Caption = '>>'
TabOrder = 0
object btnOpenBarFile: TButton
Left = 394
Height = 21
Top = 2
Width = 24
Caption = '>>'
TabOrder = 0
end
object id_btn_delete: TButton
BorderSpacing.InnerBorder = 2
Caption = '&Delete'
OnClick = id_btn_deleteClick
TabOrder = 2
object btnDeleteButton: TButton
Tag = 8
Left = 4
Height = 23
Top = 52
Width = 77
Tag = 8
Caption = '&Delete'
OnClick = btnDeleteButtonClick
TabOrder = 2
end
object id_btn_add: TButton
BorderSpacing.InnerBorder = 2
Caption = '&Append'
OnClick = id_btn_addClick
TabOrder = 1
object btnAddButton: TButton
Tag = 7
Left = 4
Height = 23
Top = 25
Width = 77
Tag = 7
Caption = '&Append'
OnClick = btnAddButtonClick
TabOrder = 1
end
object id_btn_command: TComboBox
object cbCommand: TComboBox
Left = 85
Height = 21
Top = 86
Width = 298
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
DropDownCount = 20
Font.Height = -11
@ -164,217 +161,202 @@ object ButtonChangeDlg: TButtonChangeDlg
ItemHeight = 13
MaxLength = 0
TabOrder = 4
Left = 85
Height = 21
Top = 86
Width = 298
end
object id_btn_find1: TButton
BorderSpacing.InnerBorder = 2
Caption = '>>'
OnClick = id_btn_find1Click
TabOrder = 5
object btnOpenFile: TButton
Left = 384
Height = 22
Top = 85
Width = 24
Caption = '>>'
OnClick = btnOpenFileClick
TabOrder = 5
end
object id_btn_findbar: TButton
BorderSpacing.InnerBorder = 2
Caption = 'Add S&ubbar >>'
TabOrder = 6
object btnAddSubBar: TButton
Tag = 15
Left = 420
Height = 23
Top = 84
Width = 109
Tag = 15
Caption = 'Add S&ubbar >>'
TabOrder = 6
end
object id_btn_param: TKASEdit
Font.Height = -11
Font.Name = 'MS Sans Serif'
MaxLength = 259
TabOrder = 7
object kedtParams: TKASEdit
Left = 85
Height = 21
Top = 111
Width = 298
end
object id_btn_assymbol: TCheckBox
Caption = 'Run mi&nimized'
TabOrder = 8
Left = 387
Height = 13
Top = 114
Width = 94
Tag = 16
end
object id_btn_startpath: TKASEdit
Font.Height = -11
Font.Name = 'MS Sans Serif'
MaxLength = 259
TabOrder = 10
TabOrder = 7
end
object cbRunMinimized: TCheckBox
Tag = 16
Left = 387
Height = 13
Top = 114
Width = 88
Caption = 'Run mi&nimized'
TabOrder = 8
end
object kedtStartPath: TKASEdit
Left = 85
Height = 21
Top = 136
Width = 298
end
object id_btn_iconfilename: TKASEdit
Font.Height = -11
Font.Name = 'MS Sans Serif'
MaxLength = 259
TabOrder = 11
TabOrder = 10
end
object kedtIconFileName: TKASEdit
Left = 85
Height = 21
Top = 161
Width = 298
Font.Height = -11
Font.Name = 'MS Sans Serif'
MaxLength = 259
TabOrder = 11
end
object id_btn_iconfile: TButton
BorderSpacing.InnerBorder = 2
Caption = '>>'
OnClick = id_btn_iconfileClick
TabOrder = 12
object btnOpenIconFile: TButton
Left = 384
Height = 21
Top = 160
Width = 24
Caption = '>>'
OnClick = btnOpenIconFileClick
TabOrder = 12
end
object id_btn_icon: TListBox
object lbIcons: TListBox
Left = 85
Height = 54
Top = 186
Width = 298
Font.Height = -11
Font.Name = 'MS Sans Serif'
ItemHeight = 36
Style = lbOwnerDrawFixed
TabOrder = 13
Left = 85
Height = 54
Top = 186
Width = 298
end
object id_btn_ToolTip: TKASEdit
Font.Height = -11
Font.Name = 'MS Sans Serif'
MaxLength = 259
TabOrder = 14
object kedtToolTip: TKASEdit
Left = 85
Height = 21
Top = 245
Width = 298
Font.Height = -11
Font.Name = 'MS Sans Serif'
MaxLength = 259
TabOrder = 14
end
object Ok: TButton
BorderSpacing.InnerBorder = 2
Caption = 'OK'
Default = True
OnClick = OkClick
TabOrder = 15
object btnOK: TButton
Tag = 4001
Left = 420
Height = 23
Top = 187
Width = 109
Tag = 4001
Caption = 'OK'
Default = True
OnClick = btnOKClick
TabOrder = 15
end
object Cancel: TButton
BorderSpacing.InnerBorder = 2
Cancel = True
Caption = 'Cancel'
ModalResult = 2
TabOrder = 17
object btnCancel: TButton
Tag = 4002
Left = 420
Height = 23
Top = 213
Width = 109
Tag = 4002
Cancel = True
Caption = 'Cancel'
ModalResult = 2
TabOrder = 17
end
object id_Globalhelp: TButton
BorderSpacing.InnerBorder = 2
Caption = '&Help'
TabOrder = 16
object btnHelp: TButton
Tag = 4003
Left = 420
Height = 23
Top = 239
Width = 109
Tag = 4003
Caption = '&Help'
TabOrder = 16
end
object id_btn_maximized: TCheckBox
Caption = 'Run ma&ximized'
TabOrder = 9
object cbRunMaximized: TCheckBox
Tag = 17
Left = 387
Height = 13
Top = 130
Width = 97
Tag = 17
Width = 91
Caption = 'Run ma&ximized'
TabOrder = 9
end
object GroupBox1: TGroupBox
Caption = 'Appearance'
ClientHeight = 59
ClientWidth = 109
TabOrder = 3
object gbGroupBox: TGroupBox
Tag = 18
Left = 420
Height = 77
Width = 113
Tag = 18
object Size: TLabel
AutoSize = False
Caption = 'S&ize:'
Color = clNone
FocusControl = id_btn_barsize
ParentColor = False
Caption = 'Appearance'
TabOrder = 3
object lblSize: TLabel
Tag = 6
Left = 6
Height = 14
Top = 7
Width = 55
Tag = 6
AutoSize = False
Caption = 'S&ize:'
Color = clNone
FocusControl = kedtBarSize
ParentColor = False
end
object id_btn_barsize: TKASEdit
object kedtBarSize: TKASEdit
Left = 62
Height = 21
Width = 43
Font.Height = -11
Font.Name = 'MS Sans Serif'
TabOrder = 0
Text = '0'
Left = 62
Height = 21
Width = 43
end
object id_FlatIcons: TCheckBox
object cbFlatIcons: TCheckBox
Tag = 19
Left = 6
Height = 13
Top = 18
Width = 65
Caption = 'F&lat icons'
Checked = True
State = cbChecked
TabOrder = 1
Left = 6
Height = 13
Top = 18
Width = 71
Tag = 19
end
object id_SmallIcons: TCheckBox
Caption = 'S&mall icons'
TabOrder = 2
object cbSmallIcons: TCheckBox
Tag = 20
Left = 6
Height = 13
Top = 38
Width = 79
Tag = 20
Width = 73
Caption = 'S&mall icons'
TabOrder = 2
end
end
object tbScrollBox: TScrollBox
TabOrder = 18
AutoScroll = True
Left = 86
Height = 50
Top = 25
Width = 330
object id_btn_bar: TKAStoolBar
OnToolButtonClick = id_btn_barToolButtonClick
CheckToolButton = True
BevelOuter = bvNone
ClientHeight = 23
ClientWidth = 296
TabOrder = 0
AutoScroll = True
TabOrder = 18
object ktbBar: TKAStoolBar
Height = 23
Width = 296
BevelOuter = bvNone
TabOrder = 0
OnToolButtonClick = ktbBarToolButtonClick
CheckToolButton = True
end
end
object OpenDialog: TOpenDialog
Title = 'Îòêðûòü ñóùåñòâóþùèé ôàéë'
FilterIndex = 0
Title = 'Îòêðûòü ñóùåñòâóþùèé ôàéë'
left = 8
top = 535
end

View file

@ -23,48 +23,48 @@ type
{ TButtonChangeDlg }
TButtonChangeDlg = class(TForm)
Buttonbar: TLabel;
Cancel: TButton;
Command: TLabel;
GroupBox1: TGroupBox;
IconX: TLabel;
Iconfile: TLabel;
id_btn_add: TButton;
id_btn_assymbol: TCheckBox;
id_btn_bar: TKASToolBar;
id_btn_barfilesearch: TButton;
id_btn_barsize: TKASEdit;
id_btn_command: TComboBox;
id_btn_delete: TButton;
id_btn_find1: TButton;
id_btn_findbar: TButton;
id_btn_icon: TListBox;
id_btn_iconfile: TButton;
id_btn_iconfilename: TKASEdit;
id_btn_iconindex: TLabel;
id_btn_maximized: TCheckBox;
id_btn_param: TKASEdit;
id_btn_startpath: TKASEdit;
id_btn_ToolTip: TKASEdit;
id_FlatIcons: TCheckBox;
id_Globalhelp: TButton;
id_SmallIcons: TCheckBox;
Label1: TLabel;
Ok: TButton;
lblButtonBar: TLabel;
btnCancel: TButton;
lblCommand: TLabel;
gbGroupBox: TGroupBox;
lblIconX: TLabel;
lblIconfile: TLabel;
btnAddButton: TButton;
cbRunMinimized: TCheckBox;
ktbBar: TKASToolBar;
btnOpenBarFile: TButton;
kedtBarSize: TKASEdit;
cbCommand: TComboBox;
btnDeleteButton: TButton;
btnOpenFile: TButton;
btnAddSubBar: TButton;
lbIcons: TListBox;
btnOpenIconFile: TButton;
kedtIconFileName: TKASEdit;
lblIconIndex: TLabel;
cbRunMaximized: TCheckBox;
kedtParams: TKASEdit;
kedtStartPath: TKASEdit;
kedtToolTip: TKASEdit;
cbFlatIcons: TCheckBox;
btnHelp: TButton;
cbSmallIcons: TCheckBox;
lblLabel: TLabel;
btnOK: TButton;
OpenDialog: TOpenDialog;
Parameters: TLabel;
lblParameters: TLabel;
tbScrollBox: TScrollBox;
Size: TLabel;
Startpath: TLabel;
Tooltip: TLabel;
lblSize: TLabel;
lblStartpath: TLabel;
lblTooltip: TLabel;
procedure FormShow(Sender: TObject);
procedure OkClick(Sender: TObject);
procedure id_btn_addClick(Sender: TObject);
procedure id_btn_barToolButtonClick(NumberOfButton : Integer);
procedure btnOKClick(Sender: TObject);
procedure btnAddButtonClick(Sender: TObject);
procedure ktbBarToolButtonClick(NumberOfButton : Integer);
procedure Save;
procedure id_btn_deleteClick(Sender: TObject);
procedure id_btn_find1Click(Sender: TObject);
procedure id_btn_iconfileClick(Sender: TObject);
procedure btnDeleteButtonClick(Sender: TObject);
procedure btnOpenFileClick(Sender: TObject);
procedure btnOpenIconFileClick(Sender: TObject);
private
{ private declarations }
public
@ -86,7 +86,7 @@ begin
try
LastToolButton := -1;
NewToolButton := -1;
id_btn_bar.CreateWnd;
ktbBar.CreateWnd;
ShowModal;
finally
Free;
@ -97,13 +97,13 @@ end;
procedure TButtonChangeDlg.FormShow(Sender: TObject);
begin
id_btn_bar.LoadFromFile(gpIniDir + 'default.bar');
ktbBar.LoadFromFile(gpIniDir + 'default.bar');
end;
procedure TButtonChangeDlg.OkClick(Sender: TObject);
procedure TButtonChangeDlg.btnOKClick(Sender: TObject);
begin
Save;
id_btn_bar.SaveToFile(gpIniDir + 'default.bar');
ktbBar.SaveToFile(gpIniDir + 'default.bar');
frmMain.MainToolBar.DeleteAllToolButtons;
//frmMain.MainToolBar.CreateWnd;
frmMain.MainToolBar.LoadFromFile(gpIniDir + 'default.bar');
@ -111,68 +111,68 @@ begin
end;
(*Add new button on tool bar*)
procedure TButtonChangeDlg.id_btn_addClick(Sender: TObject);
procedure TButtonChangeDlg.btnAddButtonClick(Sender: TObject);
begin
Save;
NewToolButton := id_btn_bar.AddButton('', '', '');
NewToolButton := ktbBar.AddButton('', '', '');
//ShowMessage(IntToStr(NewToolButton));
end;
(*Select button on panel*)
procedure TButtonChangeDlg.id_btn_barToolButtonClick(NumberOfButton : Integer);
procedure TButtonChangeDlg.ktbBarToolButtonClick(NumberOfButton : Integer);
begin
Save;
id_btn_command.Text := id_btn_bar.Commands[NumberOfButton];
id_btn_iconfilename.Text := id_btn_bar.Icons[NumberOfButton];
id_btn_ToolTip.Text := id_btn_bar.Buttons[NumberOfButton].Hint;
cbCommand.Text := ktbBar.Commands[NumberOfButton];
kedtIconFileName.Text := ktbBar.Icons[NumberOfButton];
kedtToolTip.Text := ktbBar.Buttons[NumberOfButton].Hint;
LastToolButton := NumberOfButton;
end;
(*Save current button*)
procedure TButtonChangeDlg.Save;
begin
if (LastToolButton >= 0) and (id_btn_bar.ButtonCount > 0) then
if (LastToolButton >= 0) and (ktbBar.ButtonCount > 0) then
begin
id_btn_bar.Commands[LastToolButton] := id_btn_command.Text;
id_btn_bar.Icons[LastToolButton] := id_btn_iconfilename.Text;
id_btn_bar.Buttons[LastToolButton].Hint := id_btn_ToolTip.Text;
ktbBar.Commands[LastToolButton] := cbCommand.Text;
ktbBar.Icons[LastToolButton] := kedtIconFileName.Text;
ktbBar.Buttons[LastToolButton].Hint := kedtToolTip.Text;
end
else (*If only Append clicked*)
if NewToolButton >= 0 then
begin
//ShowMessage(IntToStr(NewToolButton));
id_btn_bar.Commands[NewToolButton] := id_btn_command.Text;
id_btn_bar.Icons[NewToolButton] := id_btn_iconfilename.Text;
id_btn_bar.Buttons[NewToolButton].Hint := id_btn_ToolTip.Text;
ktbBar.Commands[NewToolButton] := cbCommand.Text;
ktbBar.Icons[NewToolButton] := kedtIconFileName.Text;
ktbBar.Buttons[NewToolButton].Hint := kedtToolTip.Text;
end;
end;
(*Remove current button*)
procedure TButtonChangeDlg.id_btn_deleteClick(Sender: TObject);
procedure TButtonChangeDlg.btnDeleteButtonClick(Sender: TObject);
begin
if (LastToolButton >= 0) and (id_btn_bar.ButtonCount > 0) then
if (LastToolButton >= 0) and (ktbBar.ButtonCount > 0) then
begin
id_btn_bar.RemoveButton(LastToolButton);
id_btn_command.Text := '';
id_btn_iconfilename.Text := '';
id_btn_ToolTip.Text := '';
ktbBar.RemoveButton(LastToolButton);
cbCommand.Text := '';
kedtIconFileName.Text := '';
kedtToolTip.Text := '';
LastToolButton := -1;
NewToolButton := -1;
end;
end;
procedure TButtonChangeDlg.id_btn_find1Click(Sender: TObject);
procedure TButtonChangeDlg.btnOpenFileClick(Sender: TObject);
begin
if OpenDialog.Execute then
id_btn_command.Text := OpenDialog.FileName;
cbCommand.Text := OpenDialog.FileName;
end;
procedure TButtonChangeDlg.id_btn_iconfileClick(Sender: TObject);
procedure TButtonChangeDlg.btnOpenIconFileClick(Sender: TObject);
var
sDir: string;
begin
if OpenDialog.Execute then
id_btn_iconfilename.Text := OpenDialog.FileName;
kedtIconFileName.Text := OpenDialog.FileName;
end;
initialization

View file

@ -770,8 +770,15 @@ begin
try
CopyListSelectedExpandNames(ActiveFrame.pnlFile.FileList,fl,ActiveFrame.ActiveDir);
(*Delete files*)
(* Delete files from archive *)
if ActiveFrame.pnlFile.PanelMode = pmArchive then
begin
DebugLN('+++ Delete files +++');
ActiveFrame.pnlFile.VFS.VFSmodule.VFSDelete(fl);
end
else
(* Delete files *)
begin
if not Assigned(frmFileOp) then
frmFileOp:= TfrmFileOp.Create(Application);

View file

@ -1,157 +1,156 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<PathDelim Value="\"/>
<Version Value="5"/>
<General>
<MainUnit Value="0"/>
<IconPath Value="./"/>
<TargetFileExt Value=".exe"/>
<ActiveEditorIndexAtStart Value="1"/>
</General>
<VersionInfo>
<ProjectVersion Value=""/>
<Language Value=""/>
<CharSet Value=""/>
</VersionInfo>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<Units Count="13">
<Unit0>
<Filename Value="unbz2.dpr"/>
<IsPartOfProject Value="True"/>
<CursorPos X="44" Y="12"/>
<TopLine Value="1"/>
<EditorIndex Value="0"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
<Filename Value="bz2func.pas"/>
<UnitName Value="bz2func"/>
<CursorPos X="3" Y="158"/>
<TopLine Value="148"/>
<EditorIndex Value="1"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit1>
<Unit2>
<Filename Value="wcxhead.pas"/>
<UnitName Value="wcxhead"/>
<CursorPos X="47" Y="71"/>
<TopLine Value="60"/>
<UsageCount Value="10"/>
</Unit2>
<Unit3>
<Filename Value="..\..\..\..\..\Prog\lazarus\fpcsrc\rtl\inc\systemh.inc"/>
<CursorPos X="3" Y="349"/>
<TopLine Value="329"/>
<UsageCount Value="10"/>
</Unit3>
<Unit4>
<Filename Value="..\..\..\..\..\Prog\lazarus\fpcsrc\rtl\inc\objects.pp"/>
<UnitName Value="Objects"/>
<CursorPos X="10" Y="273"/>
<TopLine Value="257"/>
<UsageCount Value="10"/>
</Unit4>
<Unit5>
<Filename Value="..\..\..\..\..\Prog\lazarus\fpcsrc\rtl\objpas\sysutils\finah.inc"/>
<CursorPos X="1" Y="30"/>
<TopLine Value="13"/>
<UsageCount Value="10"/>
</Unit5>
<Unit6>
<Filename Value="..\..\..\..\..\Prog\lazarus\fpcsrc\rtl\objpas\sysutils\fina.inc"/>
<CursorPos X="1" Y="89"/>
<TopLine Value="69"/>
<UsageCount Value="10"/>
</Unit6>
<Unit7>
<Filename Value="..\..\..\..\..\Prog\lazarus\fpcsrc\rtl\inc\fexpand.inc"/>
<CursorPos X="10" Y="84"/>
<TopLine Value="553"/>
<UsageCount Value="10"/>
</Unit7>
<Unit8>
<Filename Value="..\..\..\..\..\Prog\lazarus\fpcsrc\rtl\objpas\sysutils\syspchh.inc"/>
<CursorPos X="10" Y="45"/>
<TopLine Value="18"/>
<UsageCount Value="10"/>
</Unit8>
<Unit9>
<Filename Value="..\..\..\..\..\Prog\lazarus\fpcsrc\rtl\win32\wininc\func.inc"/>
<CursorPos X="10" Y="184"/>
<TopLine Value="168"/>
<UsageCount Value="10"/>
</Unit9>
<Unit10>
<Filename Value="..\..\..\..\..\Prog\lazarus\fpcsrc\rtl\win32\sysutils.pp"/>
<UnitName Value="sysutils"/>
<CursorPos X="17" Y="254"/>
<TopLine Value="249"/>
<UsageCount Value="10"/>
</Unit10>
<Unit11>
<Filename Value="..\..\..\..\..\Prog\lazarus\fpcsrc\rtl\objpas\sysutils\filutilh.inc"/>
<CursorPos X="19" Y="86"/>
<TopLine Value="69"/>
<UsageCount Value="10"/>
</Unit11>
<Unit12>
<Filename Value="bzip2\bzip2.pas"/>
<UnitName Value="bzip2"/>
<CursorPos X="7" Y="46"/>
<TopLine Value="30"/>
<UsageCount Value="10"/>
</Unit12>
</Units>
<JumpHistory Count="0" HistoryIndex="-1"/>
</ProjectOptions>
<CompilerOptions>
<Version Value="5"/>
<PathDelim Value="\"/>
<SearchPaths>
<OtherUnitFiles Value="bzip2\;..\..\"/>
<UnitOutputDirectory Value="bin"/>
</SearchPaths>
<Parsing>
<SyntaxOptions>
<DelphiCompat Value="True"/>
</SyntaxOptions>
</Parsing>
<CodeGeneration>
<Generate Value="Faster"/>
</CodeGeneration>
<Linking>
<Options>
<ExecutableType Value="Library"/>
</Options>
</Linking>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<BreakPoints Count="2">
<Item1>
<Source Value="..\..\mnt\X\linux\lazarus\lcl\include\imglist.inc"/>
<Line Value="435"/>
</Item1>
<Item2>
<Source Value="..\..\ucopythread.pas"/>
<Line Value="42"/>
</Item2>
</BreakPoints>
</Debugging>
</CONFIG>
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<PathDelim Value="/"/>
<Version Value="5"/>
<General>
<MainUnit Value="0"/>
<IconPath Value="./"/>
<TargetFileExt Value=".exe"/>
<ActiveEditorIndexAtStart Value="1"/>
</General>
<VersionInfo>
<ProjectVersion Value=""/>
<Language Value=""/>
<CharSet Value=""/>
</VersionInfo>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<Units Count="13">
<Unit0>
<Filename Value="unbz2.dpr"/>
<IsPartOfProject Value="True"/>
<CursorPos X="44" Y="12"/>
<TopLine Value="1"/>
<EditorIndex Value="0"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
<Filename Value="bz2func.pas"/>
<UnitName Value="bz2func"/>
<CursorPos X="3" Y="158"/>
<TopLine Value="148"/>
<EditorIndex Value="1"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit1>
<Unit2>
<Filename Value="wcxhead.pas"/>
<UnitName Value="wcxhead"/>
<CursorPos X="47" Y="71"/>
<TopLine Value="60"/>
<UsageCount Value="10"/>
</Unit2>
<Unit3>
<Filename Value="../../../../../Prog/lazarus/fpcsrc/rtl/inc/systemh.inc"/>
<CursorPos X="3" Y="349"/>
<TopLine Value="329"/>
<UsageCount Value="10"/>
</Unit3>
<Unit4>
<Filename Value="../../../../../Prog/lazarus/fpcsrc/rtl/inc/objects.pp"/>
<UnitName Value="Objects"/>
<CursorPos X="10" Y="273"/>
<TopLine Value="257"/>
<UsageCount Value="10"/>
</Unit4>
<Unit5>
<Filename Value="../../../../../Prog/lazarus/fpcsrc/rtl/objpas/sysutils/finah.inc"/>
<CursorPos X="1" Y="30"/>
<TopLine Value="13"/>
<UsageCount Value="10"/>
</Unit5>
<Unit6>
<Filename Value="../../../../../Prog/lazarus/fpcsrc/rtl/objpas/sysutils/fina.inc"/>
<CursorPos X="1" Y="89"/>
<TopLine Value="69"/>
<UsageCount Value="10"/>
</Unit6>
<Unit7>
<Filename Value="../../../../../Prog/lazarus/fpcsrc/rtl/inc/fexpand.inc"/>
<CursorPos X="10" Y="84"/>
<TopLine Value="553"/>
<UsageCount Value="10"/>
</Unit7>
<Unit8>
<Filename Value="../../../../../Prog/lazarus/fpcsrc/rtl/objpas/sysutils/syspchh.inc"/>
<CursorPos X="10" Y="45"/>
<TopLine Value="18"/>
<UsageCount Value="10"/>
</Unit8>
<Unit9>
<Filename Value="../../../../../Prog/lazarus/fpcsrc/rtl/win32/wininc/func.inc"/>
<CursorPos X="10" Y="184"/>
<TopLine Value="168"/>
<UsageCount Value="10"/>
</Unit9>
<Unit10>
<Filename Value="../../../../../Prog/lazarus/fpcsrc/rtl/win32/sysutils.pp"/>
<UnitName Value="sysutils"/>
<CursorPos X="17" Y="254"/>
<TopLine Value="249"/>
<UsageCount Value="10"/>
</Unit10>
<Unit11>
<Filename Value="../../../../../Prog/lazarus/fpcsrc/rtl/objpas/sysutils/filutilh.inc"/>
<CursorPos X="19" Y="86"/>
<TopLine Value="69"/>
<UsageCount Value="10"/>
</Unit11>
<Unit12>
<Filename Value="bzip2/bzip2.pas"/>
<UnitName Value="bzip2"/>
<CursorPos X="7" Y="46"/>
<TopLine Value="30"/>
<UsageCount Value="10"/>
</Unit12>
</Units>
<JumpHistory Count="0" HistoryIndex="-1"/>
</ProjectOptions>
<CompilerOptions>
<Version Value="5"/>
<SearchPaths>
<OtherUnitFiles Value="bzip2/;../../"/>
<UnitOutputDirectory Value="bin"/>
</SearchPaths>
<Parsing>
<SyntaxOptions>
<DelphiCompat Value="True"/>
</SyntaxOptions>
</Parsing>
<CodeGeneration>
<Generate Value="Faster"/>
</CodeGeneration>
<Linking>
<Options>
<ExecutableType Value="Library"/>
</Options>
</Linking>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<BreakPoints Count="2">
<Item1>
<Source Value="../../mnt/X/linux/lazarus/lcl/include/imglist.inc"/>
<Line Value="435"/>
</Item1>
<Item2>
<Source Value="../../ucopythread.pas"/>
<Line Value="42"/>
</Item2>
</BreakPoints>
</Debugging>
</CONFIG>

View file

@ -5,7 +5,7 @@
<Version Value="5"/>
<General>
<MainUnit Value="0"/>
<IconPath Value="./"/>
<IconPath Value=".\"/>
<TargetFileExt Value=".wcx"/>
<ActiveEditorIndexAtStart Value="1"/>
</General>
@ -42,8 +42,8 @@
<Unit2>
<Filename Value="ZipFunc.pas"/>
<UnitName Value="ZipFunc"/>
<CursorPos X="11" Y="222"/>
<TopLine Value="211"/>
<CursorPos X="27" Y="219"/>
<TopLine Value="203"/>
<EditorIndex Value="1"/>
<UsageCount Value="13"/>
<Loaded Value="True"/>
@ -92,16 +92,7 @@
<Loaded Value="True"/>
</Unit8>
</Units>
<JumpHistory Count="2" HistoryIndex="1">
<Position1>
<Filename Value="ZipFunc.pas"/>
<Caret Line="46" Column="20" TopLine="34"/>
</Position1>
<Position2>
<Filename Value="fparchive\abutils.pas"/>
<Caret Line="509" Column="3" TopLine="495"/>
</Position2>
</JumpHistory>
<JumpHistory Count="0" HistoryIndex="-1"/>
</ProjectOptions>
<CompilerOptions>
<Version Value="5"/>

View file

@ -1,80 +0,0 @@
{
Constants file unit
Part of PFM - constants and strings for program.
Copyright : Peter Cernoch 2002
Contact : pcernoch@volny.cz
Licence : GNU GPL v 2.0
This is maybe replaced in future by external file
}
unit uConstants;
interface
const
//index of bitmaps in ImageList
BM_UP = 0;
BM_DIR = 1;
BM_DIRLINK = 2;
BM_DIRNOACCESS = 3;
BM_FILE = 4;
BM_FILELINK = 5;
BM_FILELINKNOEX = 6;
BM_TEX = 7;
BM_TXT = 8;
BM_BMP = 9;
BM_GIF = 10;
BM_IMG = 11;
BM_JPG = 12;
BM_PDF = 13;
BM_PNG = 14;
BM_PS = 15;
BM_XBM = 16;
BM_XCF = 17;
BM_XPM = 18;
BM_3D = 19;
BM_VID = 20;
BM_MP3 = 21;
BM_SND = 22;
BM_WWW = 23;
BM_XML = 24;
BM_ARCH = 25;
BM_RPM = 26;
BM_TAR = 27;
BM_TGZ = 28;
BM_ARCH2 = 29;
BM_LOCK = 30;
BM_DOC = 31;
BM_CALC = 32;
BM_PRES = 34;
BM_MATH = 34;
BM_CC = 35;
BM_C = 36;
BM_O = 42;
BM_H = 38;
BM_J = 39;
BM_KYLIX = 40;
BM_TCL = 43;
BM_EXE = 44;
BM_CFG = 45;
BM_DLL = 46;
BM_PENGUIN = 47;
BM_INFO = 52;
BM_HLP = 50;
BM_EXEC = 53;
implementation
end.

View file

@ -48,7 +48,7 @@ Type
function VFSCopyIn(var flSrcList : TFileList; sDstName:String; Flags : Integer):Boolean;virtual;abstract;
function VFSRename(const sSrcName, sDstName:String):Boolean;virtual;abstract;
function VFSRun(const sName:String):Boolean;virtual;abstract;
function VFSDelete(const flNameList:TFileList):Boolean;virtual;abstract;
function VFSDelete(var flNameList:TFileList):Boolean;virtual;abstract;
function VFSList(const sDir:String; var fl:TFileList):Boolean;virtual;abstract;
end;

View file

@ -49,17 +49,18 @@ procedure SelectFilesInSubFoldersInRFS(var fl:TFileList);
begin
if FindFirst(sDir + PathDelim + '*',faAnyFile,sr) = 0 then
repeat
if (sr.Name = '.') or (sr.Name = '..') then Continue;
New(fr);
with fr^ do
begin
sName := ExtractDirLevel(fl.CurrentDirectory, sr.Name);
sName := ExtractDirLevel(fl.CurrentDirectory, sDir + PathDelim + sr.Name);
DebugLN('Name of File = ' + sName);
iMode := sr.Attr;
if FPS_ISDIR(iMode) then
begin
sExt:='';
//DebugLN('SelectFilesInSubfolders = ' + sName);
SelectFilesInSubFolders(sr.Name, fl);
SelectFilesInSubFolders(fl.CurrentDirectory + sr.Name, fl);
end;
end; //with
fl.AddItem(fr);

View file

@ -30,12 +30,6 @@ uses
{$H+}
Type
TWCXItem=packed record
HeaderData : THeaderData;
FileRecItem : TFileRecItem;
end;
PWCXItem = ^TWCXItem;
PHeaderData = ^THeaderData;
{ TWCXModule }
@ -45,7 +39,7 @@ Type
FArcFileList : TList;
FDstPath,
fFolder : String;
procedure SelectFilesInSubfolders(var fl : TFileList; sDir : String);
function ProcessDataProc(FileName:pchar;Size:longint):longint; stdcall;
procedure CopySelectedWithSubFolders(var flist:TFileList);
protected
// module's functions
@ -90,7 +84,7 @@ Type
function VFSCopyIn(var flSrcList : TFileList; sDstName:String; Flags : Integer):Boolean;override;{Pack files in archive}
function VFSRename(const sSrcName, sDstName:String):Boolean;override;{Rename or move file}
function VFSRun(const sName:String):Boolean;override;
function VFSDelete(const flNameList:TFileList):Boolean;override;{Delete files from archive}
function VFSDelete(var flNameList:TFileList):Boolean;override;{Delete files from archive}
function VFSList(const sDir:String; var fl:TFileList ):Boolean;override;{Return the filelist of archive}
end;
@ -271,72 +265,82 @@ begin
Result := FileList;
end;
procedure TWCXModule.SelectFilesInSubfolders(var fl : TFileList; sDir : String);
var
fr : PFileRecItem;
I, Count : Integer;
CurrFileName : String; // Current file name
function TWCXModule.ProcessDataProc(FileName: pchar; Size: longint): longint;
begin
ForceDirectory(FDstPath + ExtractDirLevel(FFolder, PathDelim + sDir));
//DebugLN('ForceDirectory = ' + FDstPath + ExtractDirLevel(FFolder, PathDelim + sDir));
Count := FArcFileList.Count - 1;
for I := 0 to Count do
begin
CurrFileName := PathDelim + PHeaderData(FArcFileList.Items[I])^.FileName;
//DebugLN('sDir = ', sDir);
//DebugLN('In folder = ' + CurrFileName);
if not IncludeFileInList(sDir + PathDelim, CurrFileName) then
Continue;
// DebugLN('In folder = ' + CurrFileName);
New(fr);
with fr^, PHeaderData(FArcFileList.Items[I])^ do
begin
sName := FArchiveName + PathDelim + FileName;
iMode := FileAttr;
if FPS_ISDIR(iMode) then
begin
sExt:='';
//DebugLN('SelectFilesInSubfolders = ' + FileName);
SelectFilesInSubfolders(fl, FileName);
end;
end; //with
fl.AddItem(fr);
end;
DebugLN('Working ' + FileName + IntToStr(Size));
end;
procedure TWCXModule.CopySelectedWithSubFolders(var flist:TFileList);
procedure SelectFilesInSubfolders(var fl : TFileList; sDir : String);
var
fr : PFileRecItem;
I, Count : Integer;
CurrFileName : String; // Current file name
begin
ForceDirectory(FDstPath + ExtractDirLevel(FFolder, PathDelim + sDir));
//DebugLN('ForceDirectory = ' + FDstPath + ExtractDirLevel(FFolder, PathDelim + sDir));
Count := FArcFileList.Count - 1;
for I := 0 to Count do
begin
CurrFileName := PathDelim + PHeaderData(FArcFileList.Items[I])^.FileName;
//DebugLN('sDir = ', sDir);
//DebugLN('In folder = ' + CurrFileName);
if not IncludeFileInList(sDir + PathDelim, CurrFileName) then
Continue;
// DebugLN('In folder = ' + CurrFileName);
New(fr);
with fr^, PHeaderData(FArcFileList.Items[I])^ do
begin
sName := {FArchiveName + PathDelim +} FileName;
iMode := FileAttr;
if FPS_ISDIR(iMode) then
begin
sExt:='';
//DebugLN('SelectFilesInSubfolders = ' + FileName);
SelectFilesInSubfolders(fl, FileName);
end;
end; //with
fl.AddItem(fr);
end;
end;
var
xIndex:Integer;
p:TFileRecItem;
tmp : String;
fri:TFileRecItem;
Newfl : TFileList;
Count : Integer;
begin
Newfl := TFileList.Create;
Count := flist.Count-1;
for xIndex:=0 to Count do
begin
p:=flist.GetItem(xIndex)^;
fri:=flist.GetItem(xIndex)^;
tmp := p.sName;
Delete(tmp, Pos(FArchiveName, tmp), Length(FArchiveName));
fri.sName := ExtractDirLevel(FArchiveName, fri.sName);
//DebugLN('Curr File = ' + tmp);
if fri.sName[1] = PathDelim then
Delete(fri.sName, 1, 1);
if FPS_ISDIR(p.iMode) then
SelectFilesInSubfolders(flist, tmp);
Newfl.AddItem(@fri);
DebugLN('Curr File = ' + fri.sName);
if FPS_ISDIR(fri.iMode) then
SelectFilesInSubfolders(Newfl, fri.sName);
end;
flist.Free;
flist := Newfl;
end;
{Extract files from archive}
@ -382,13 +386,15 @@ begin
Result := False;
Exit;
end;
SetProcessDataProc(ArcHandle, TProcessDataProc(ProcessDataProc));
FillChar(ArcHeader, SizeOf(ArcHeader), #0);
while (ReadHeader(ArcHandle, ArcHeader) = 0) do
begin
if flSrcList.CheckFileName(FArchiveName + DirectorySeparator + ArcHeader.FileName) >= 0 then
if flSrcList.CheckFileName({FArchiveName + DirectorySeparator +} ArcHeader.FileName) >= 0 then
begin
DebugLN(sDstPath + ExtractDirLevel(Folder, ArcHeader.FileName));
@ -438,9 +444,26 @@ begin
end;
function TWCXModule.VFSDelete(const flNameList: TFileList): Boolean;
function TWCXModule.VFSDelete(var flNameList: TFileList): Boolean;
var
Folder : String;
begin
(* Get current folder in archive *)
// Folder := LowDirLevel(flNameList.GetItem(0)^.sName);
(* Get relative path *)
//IncludeFileInList(FArchiveName, Folder);
//FFolder := Folder;
// DebugLN('Folder = ' + Folder);
CopySelectedWithSubFolders(flNameList);
DeleteFiles(PChar(FArchiveName), PChar(GetFileList(flNameList)));
end;
function TWCXModule.VFSList(const sDir: String; var fl: TFileList): Boolean;