mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +00:00
Fix: bug [ 1658672 ] and bug [ 1658670 ]
This commit is contained in:
parent
cfcf10468d
commit
e7d8fcd23a
20 changed files with 1597 additions and 1194 deletions
|
|
@ -1,2 +1,2 @@
|
|||
strip --strip-all doublecmd.exe
|
||||
upx --9 doublecmd.exe
|
||||
upx -9 doublecmd.exe
|
||||
|
|
@ -32,11 +32,9 @@ uses
|
|||
uHighlighterProcs,
|
||||
fEditor,
|
||||
uMoveThread,
|
||||
uFilter,
|
||||
fMsg,
|
||||
uSpaceThread,
|
||||
fHotDir,
|
||||
uConv,
|
||||
fHardLink,
|
||||
fFindView,
|
||||
uPathHistory,
|
||||
|
|
@ -55,7 +53,7 @@ uses
|
|||
fCompareFiles,
|
||||
dmHigh,
|
||||
uPixMapManager, uVFS_,
|
||||
KASComp, fbtnchangedlg, fconfigtoolbar, uWCXprototypes;
|
||||
KASComp, fbtnchangedlg, fconfigtoolbar, uWCXprototypes, uDCUtils;
|
||||
|
||||
{$IFDEF WIN32}
|
||||
{$R XP.res}
|
||||
|
|
|
|||
316
fFindDlg.lfm
316
fFindDlg.lfm
|
|
@ -1,7 +1,7 @@
|
|||
object frmFindDlg: TfrmFindDlg
|
||||
ActiveControl = pgcSearch
|
||||
ActiveControl = cmbFindFileMask
|
||||
Caption = 'frmFindDlg'
|
||||
ClientHeight = 513
|
||||
ClientHeight = 461
|
||||
ClientWidth = 495
|
||||
KeyPreview = True
|
||||
OnClose = frmFindDlgClose
|
||||
|
|
@ -13,11 +13,11 @@ object frmFindDlg: TfrmFindDlg
|
|||
Position = poScreenCenter
|
||||
TextHeight = 16
|
||||
HorzScrollBar.Page = 494
|
||||
VertScrollBar.Page = 512
|
||||
VertScrollBar.Page = 460
|
||||
VertScrollBar.Range = 316
|
||||
Left = 305
|
||||
Height = 513
|
||||
Top = 428
|
||||
Left = 276
|
||||
Height = 461
|
||||
Top = 17
|
||||
Width = 495
|
||||
object Splitter1: TSplitter
|
||||
Align = alTop
|
||||
|
|
@ -32,59 +32,61 @@ object frmFindDlg: TfrmFindDlg
|
|||
object Panel2: TPanel
|
||||
Align = alTop
|
||||
BevelOuter = bvNone
|
||||
ClientHeight = 313
|
||||
ClientHeight = 281
|
||||
ClientWidth = 495
|
||||
FullRepaint = False
|
||||
TabOrder = 0
|
||||
Height = 313
|
||||
Height = 281
|
||||
Top = 1
|
||||
Width = 495
|
||||
object pgcSearch: TPageControl
|
||||
ActivePage = tsStandard
|
||||
Align = alClient
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
TabIndex = 0
|
||||
TabOrder = 0
|
||||
Height = 313
|
||||
Width = 495
|
||||
Height = 273
|
||||
Width = 400
|
||||
object tsStandard: TTabSheet
|
||||
Caption = 'Standard'
|
||||
ClientHeight = 287
|
||||
ClientWidth = 487
|
||||
Height = 287
|
||||
Width = 487
|
||||
ClientHeight = 247
|
||||
ClientWidth = 392
|
||||
Height = 247
|
||||
Width = 392
|
||||
object lblFindPathStart: TLabel
|
||||
Caption = 'FileDir'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
Left = 8
|
||||
Height = 14
|
||||
Top = 8
|
||||
Top = 57
|
||||
Width = 30
|
||||
end
|
||||
object lblFindFileMask: TLabel
|
||||
Caption = 'FileMask'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
Left = 8
|
||||
Height = 14
|
||||
Top = 64
|
||||
Top = 1
|
||||
Width = 41
|
||||
end
|
||||
object edtFindPathStart: TEdit
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
TabOrder = 0
|
||||
TabOrder = 1
|
||||
Left = 8
|
||||
Height = 24
|
||||
Top = 32
|
||||
Width = 282
|
||||
Top = 81
|
||||
Width = 316
|
||||
end
|
||||
object btnSelDir: TButton
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.InnerBorder = 2
|
||||
Caption = '...'
|
||||
OnClick = btnSelDirClick
|
||||
TabOrder = 1
|
||||
Left = 284
|
||||
TabOrder = 2
|
||||
Left = 332
|
||||
Height = 25
|
||||
Top = 32
|
||||
Top = 80
|
||||
Width = 25
|
||||
end
|
||||
object cmbFindFileMask: TComboBox
|
||||
|
|
@ -93,39 +95,32 @@ object frmFindDlg: TfrmFindDlg
|
|||
ItemHeight = 18
|
||||
MaxLength = 0
|
||||
ParentCtl3D = False
|
||||
TabOrder = 4
|
||||
TabOrder = 0
|
||||
Text = '*'
|
||||
Left = 8
|
||||
Height = 21
|
||||
Top = 88
|
||||
Width = 306
|
||||
end
|
||||
object cbFindInFile: TCheckBox
|
||||
AllowGrayed = True
|
||||
Caption = 'Find in file'
|
||||
OnClick = cbFindInFileClick
|
||||
TabOrder = 2
|
||||
Height = 13
|
||||
Top = 120
|
||||
Width = 67
|
||||
Top = 25
|
||||
Width = 316
|
||||
end
|
||||
object gbFindData: TGroupBox
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
Caption = 'Find Data'
|
||||
ClientHeight = 87
|
||||
ClientWidth = 313
|
||||
ClientHeight = 62
|
||||
ClientWidth = 368
|
||||
Enabled = False
|
||||
ParentCtl3D = False
|
||||
TabOrder = 3
|
||||
Height = 105
|
||||
Top = 152
|
||||
Width = 317
|
||||
Left = 8
|
||||
Height = 80
|
||||
Top = 145
|
||||
Width = 372
|
||||
object cbCaseSens: TCheckBox
|
||||
AllowGrayed = True
|
||||
Caption = 'Case sensitive'
|
||||
TabOrder = 0
|
||||
Left = 16
|
||||
Left = 18
|
||||
Height = 13
|
||||
Top = 56
|
||||
Top = 40
|
||||
Width = 88
|
||||
end
|
||||
object edtFindText: TEdit
|
||||
|
|
@ -133,30 +128,206 @@ object frmFindDlg: TfrmFindDlg
|
|||
TabOrder = 1
|
||||
Left = 16
|
||||
Height = 24
|
||||
Top = 24
|
||||
Width = 273
|
||||
Top = 8
|
||||
Width = 324
|
||||
end
|
||||
object cbNoThisText: TCheckBox
|
||||
Caption = 'Find files NOT containing the text'
|
||||
TabOrder = 2
|
||||
Left = 154
|
||||
Height = 13
|
||||
Top = 40
|
||||
Width = 177
|
||||
end
|
||||
end
|
||||
object cbFindInFile: TCheckBox
|
||||
AllowGrayed = True
|
||||
Caption = 'Find in file'
|
||||
OnClick = cbFindInFileClick
|
||||
TabOrder = 4
|
||||
Left = 12
|
||||
Height = 13
|
||||
Top = 121
|
||||
Width = 67
|
||||
end
|
||||
end
|
||||
object tsAdvanced: TTabSheet
|
||||
Caption = 'Advanced'
|
||||
ClientHeight = 287
|
||||
ClientWidth = 487
|
||||
ClientHeight = 247
|
||||
ClientWidth = 392
|
||||
ImageIndex = 1
|
||||
Height = 287
|
||||
Width = 487
|
||||
Height = 247
|
||||
Width = 392
|
||||
object deDateFrom: TDateEdit
|
||||
CalendarDisplaySettings = [dsShowHeadings, dsShowDayNames]
|
||||
OKCaption = 'OK'
|
||||
CancelCaption = 'Cancel'
|
||||
Date = 39136
|
||||
ReadOnly = False
|
||||
ButtonWidth = 23
|
||||
Color = clBtnFace
|
||||
Enabled = False
|
||||
Glyph.Data = {
|
||||
2F0200002F2A2058504D202A2F0A7374617469632063686172202A63616C656E
|
||||
6461725B5D203D207B0A2F2A20636F6C756D6E7320726F777320636F6C6F7273
|
||||
2063686172732D7065722D706978656C202A2F0A223134203132203137203122
|
||||
2C0A2220206320626C61636B222C0A222E20632023383030303030222C0A2258
|
||||
20632023303038303030222C0A226F20632023383038303030222C0A224F2063
|
||||
206E617679222C0A222B20632023383030303830222C0A224020632023303038
|
||||
303830222C0A222320632023383038303830222C0A2224206320234330433043
|
||||
30222C0A2225206320726564222C0A2226206320677265656E222C0A222A2063
|
||||
2079656C6C6F77222C0A223D206320626C7565222C0A222D2063206D6167656E
|
||||
7461222C0A223B2063206379616E222C0A223A20632067726179313030222C0A
|
||||
223E2063204E6F6E65222C0A2F2A20706978656C73202A2F0A223E3E20202020
|
||||
2020202020203E3E222C0A223E3E3A24242424242424243A4F23222C0A223E3E
|
||||
3A3A3A3A3A3A3A3A3A3A4F23222C0A223E3E3A3A203A3A202020203A4F23222C
|
||||
0A223E3E3A20203A3A203A3A3A3A4F23222C0A223E3E3A3A203A3A202020243A
|
||||
4F23222C0A223E3E3A3A203A3A3A3A3A203A4F23222C0A223E3E3A3A203A3A24
|
||||
3A24203A4F23222C0A223E3E3A2020203A202020243A4F23222C0A223E3E3A3A
|
||||
3A3A3A3A3A3A3A3A4F23222C0A223E3E20204F204F4F204F20204F23222C0A22
|
||||
3E3E3E2323232323232323232323220A7D3B0A
|
||||
}
|
||||
NumGlyphs = 1
|
||||
ParentColor = False
|
||||
TabOrder = 0
|
||||
Color = clBtnFace
|
||||
Enabled = False
|
||||
TabOrder = 0
|
||||
Text = '23.02.2007'
|
||||
Left = 4
|
||||
Height = 23
|
||||
Top = 41
|
||||
Width = 80
|
||||
end
|
||||
object deDateTo: TDateEdit
|
||||
CalendarDisplaySettings = [dsShowHeadings, dsShowDayNames]
|
||||
OKCaption = 'OK'
|
||||
CancelCaption = 'Cancel'
|
||||
Date = 39136
|
||||
ReadOnly = False
|
||||
ButtonWidth = 23
|
||||
Color = clBtnFace
|
||||
Enabled = False
|
||||
Glyph.Data = {
|
||||
2F0200002F2A2058504D202A2F0A7374617469632063686172202A63616C656E
|
||||
6461725B5D203D207B0A2F2A20636F6C756D6E7320726F777320636F6C6F7273
|
||||
2063686172732D7065722D706978656C202A2F0A223134203132203137203122
|
||||
2C0A2220206320626C61636B222C0A222E20632023383030303030222C0A2258
|
||||
20632023303038303030222C0A226F20632023383038303030222C0A224F2063
|
||||
206E617679222C0A222B20632023383030303830222C0A224020632023303038
|
||||
303830222C0A222320632023383038303830222C0A2224206320234330433043
|
||||
30222C0A2225206320726564222C0A2226206320677265656E222C0A222A2063
|
||||
2079656C6C6F77222C0A223D206320626C7565222C0A222D2063206D6167656E
|
||||
7461222C0A223B2063206379616E222C0A223A20632067726179313030222C0A
|
||||
223E2063204E6F6E65222C0A2F2A20706978656C73202A2F0A223E3E20202020
|
||||
2020202020203E3E222C0A223E3E3A24242424242424243A4F23222C0A223E3E
|
||||
3A3A3A3A3A3A3A3A3A3A4F23222C0A223E3E3A3A203A3A202020203A4F23222C
|
||||
0A223E3E3A20203A3A203A3A3A3A4F23222C0A223E3E3A3A203A3A202020243A
|
||||
4F23222C0A223E3E3A3A203A3A3A3A3A203A4F23222C0A223E3E3A3A203A3A24
|
||||
3A24203A4F23222C0A223E3E3A2020203A202020243A4F23222C0A223E3E3A3A
|
||||
3A3A3A3A3A3A3A3A4F23222C0A223E3E20204F204F4F204F20204F23222C0A22
|
||||
3E3E3E2323232323232323232323220A7D3B0A
|
||||
}
|
||||
NumGlyphs = 1
|
||||
ParentColor = False
|
||||
TabOrder = 1
|
||||
Color = clBtnFace
|
||||
Enabled = False
|
||||
TabOrder = 1
|
||||
Text = '23.02.2007'
|
||||
Left = 164
|
||||
Height = 23
|
||||
Top = 41
|
||||
Width = 80
|
||||
end
|
||||
object cbDateFrom: TCheckBox
|
||||
Caption = 'Date From:'
|
||||
OnChange = cbDateFromChange
|
||||
TabOrder = 2
|
||||
Left = 4
|
||||
Height = 13
|
||||
Top = 22
|
||||
Width = 72
|
||||
end
|
||||
object cbNotOlderThan: TCheckBox
|
||||
Caption = 'Not older than:'
|
||||
TabOrder = 3
|
||||
Left = 4
|
||||
Height = 13
|
||||
Top = 160
|
||||
Width = 90
|
||||
end
|
||||
object SpinEdit1: TSpinEdit
|
||||
TabOrder = 4
|
||||
Left = 100
|
||||
Height = 20
|
||||
Top = 153
|
||||
Width = 112
|
||||
end
|
||||
object ComboBox1: TComboBox
|
||||
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
|
||||
MaxLength = 0
|
||||
TabOrder = 5
|
||||
Text = 'ComboBox1'
|
||||
Left = 260
|
||||
Height = 21
|
||||
Top = 153
|
||||
Width = 104
|
||||
end
|
||||
object cbFileSizeFrom: TCheckBox
|
||||
Caption = 'File Size From:'
|
||||
OnChange = cbFileSizeFromChange
|
||||
TabOrder = 6
|
||||
Left = 4
|
||||
Height = 13
|
||||
Top = 81
|
||||
Width = 88
|
||||
end
|
||||
object cbDateTo: TCheckBox
|
||||
Caption = 'Date To:'
|
||||
OnChange = cbDateToChange
|
||||
TabOrder = 7
|
||||
Left = 164
|
||||
Height = 13
|
||||
Top = 22
|
||||
Width = 62
|
||||
end
|
||||
object cbFileSizeTo: TCheckBox
|
||||
Caption = 'File Size To:'
|
||||
OnChange = cbFileSizeToChange
|
||||
TabOrder = 8
|
||||
Left = 164
|
||||
Height = 13
|
||||
Top = 81
|
||||
Width = 78
|
||||
end
|
||||
object seFileSizeFrom: TSpinEdit
|
||||
Enabled = False
|
||||
TabOrder = 9
|
||||
Left = 4
|
||||
Height = 20
|
||||
Top = 105
|
||||
Width = 106
|
||||
end
|
||||
object seFileSizeTo: TSpinEdit
|
||||
Enabled = False
|
||||
TabOrder = 10
|
||||
Left = 164
|
||||
Height = 20
|
||||
Top = 105
|
||||
Width = 110
|
||||
end
|
||||
end
|
||||
end
|
||||
object btnStart: TButton
|
||||
object btnClose: TButton
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.InnerBorder = 2
|
||||
Caption = '&Start'
|
||||
Default = True
|
||||
OnClick = btnStartClick
|
||||
Caption = '&Close'
|
||||
OnClick = btnCloseClick
|
||||
TabOrder = 1
|
||||
Left = 376
|
||||
Left = 408
|
||||
Height = 25
|
||||
Top = 87
|
||||
Top = 71
|
||||
Width = 75
|
||||
end
|
||||
object btnStop: TButton
|
||||
|
|
@ -167,42 +338,43 @@ object frmFindDlg: TfrmFindDlg
|
|||
Enabled = False
|
||||
OnClick = btnStopClick
|
||||
TabOrder = 2
|
||||
Left = 376
|
||||
Left = 408
|
||||
Height = 25
|
||||
Top = 151
|
||||
Top = 103
|
||||
Width = 75
|
||||
end
|
||||
object btnClose: TButton
|
||||
object btnStart: TButton
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.InnerBorder = 2
|
||||
Caption = '&Close'
|
||||
OnClick = btnCloseClick
|
||||
Caption = '&Start'
|
||||
Default = True
|
||||
OnClick = btnStartClick
|
||||
TabOrder = 3
|
||||
Left = 376
|
||||
Left = 408
|
||||
Height = 25
|
||||
Top = 119
|
||||
Top = 39
|
||||
Width = 75
|
||||
end
|
||||
end
|
||||
object Panel1: TPanel
|
||||
Align = alClient
|
||||
BevelOuter = bvNone
|
||||
ClientHeight = 199
|
||||
ClientHeight = 179
|
||||
ClientWidth = 495
|
||||
FullRepaint = False
|
||||
TabOrder = 1
|
||||
Height = 199
|
||||
Top = 314
|
||||
Height = 179
|
||||
Top = 282
|
||||
Width = 495
|
||||
object Panel3: TPanel
|
||||
Align = alTop
|
||||
BevelInner = bvRaised
|
||||
BevelOuter = bvLowered
|
||||
ClientHeight = 65
|
||||
ClientHeight = 54
|
||||
ClientWidth = 495
|
||||
FullRepaint = False
|
||||
TabOrder = 0
|
||||
Height = 65
|
||||
Height = 54
|
||||
Width = 495
|
||||
object lblStatus: TLabel
|
||||
Caption = 'lblStatus'
|
||||
|
|
@ -213,9 +385,9 @@ object frmFindDlg: TfrmFindDlg
|
|||
Font.Pitch = fpVariable
|
||||
Font.Style = [fsBold]
|
||||
ParentColor = False
|
||||
Left = 392
|
||||
Left = 8
|
||||
Height = 13
|
||||
Top = 12
|
||||
Top = 30
|
||||
Width = 44
|
||||
end
|
||||
object lblCurrent: TLabel
|
||||
|
|
@ -239,14 +411,14 @@ object frmFindDlg: TfrmFindDlg
|
|||
OnDblClick = lsFoundedFilesDblClick
|
||||
PopupMenu = PopupMenuFind
|
||||
TabOrder = 1
|
||||
Height = 134
|
||||
Top = 65
|
||||
Height = 125
|
||||
Top = 54
|
||||
Width = 495
|
||||
end
|
||||
end
|
||||
object PopupMenuFind: TPopupMenu
|
||||
left = 272
|
||||
top = 400
|
||||
left = 152
|
||||
top = 408
|
||||
object miShowInViewer: TMenuItem
|
||||
Caption = 'Show In Viewer'
|
||||
OnClick = miShowInViewerClick
|
||||
|
|
|
|||
191
fFindDlg.lrs
191
fFindDlg.lrs
|
|
@ -1,73 +1,126 @@
|
|||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TfrmFindDlg','FORMDATA',[
|
||||
'TPF0'#11'TfrmFindDlg'#10'frmFindDlg'#13'ActiveControl'#7#9'pgcSearch'#7'Capt'
|
||||
+'ion'#6#10'frmFindDlg'#12'ClientHeight'#3#1#2#11'ClientWidth'#3#239#1#10'Key'
|
||||
+'Preview'#9#7'OnClose'#7#15'frmFindDlgClose'#12'OnCloseQuery'#7#14'FormClose'
|
||||
+'Query'#8'OnCreate'#7#10'FormCreate'#10'OnKeyPress'#7#12'FormKeyPress'#6'OnS'
|
||||
+'how'#7#14'frmFindDlgShow'#13'PixelsPerInch'#2'`'#8'Position'#7#14'poScreenC'
|
||||
+'enter'#10'TextHeight'#2#16#18'HorzScrollBar.Page'#3#238#1#18'VertScrollBar.'
|
||||
+'Page'#3#0#2#19'VertScrollBar.Range'#3'<'#1#4'Left'#3'1'#1#6'Height'#3#1#2#3
|
||||
+'Top'#3#172#1#5'Width'#3#239#1#0#9'TSplitter'#9'Splitter1'#5'Align'#7#5'alTo'
|
||||
+'p'#6'Cursor'#7#8'crVSplit'#6'Height'#2#1#5'Width'#3#239#1#12'ResizeAnchor'#7
|
||||
+#5'akTop'#6'Cursor'#7#8'crVSplit'#6'Height'#2#1#5'Width'#3#239#1#0#0#6'TPane'
|
||||
+'l'#6'Panel2'#5'Align'#7#5'alTop'#10'BevelOuter'#7#6'bvNone'#12'ClientHeight'
|
||||
+#3'9'#1#11'ClientWidth'#3#239#1#11'FullRepaint'#8#8'TabOrder'#2#0#6'Height'#3
|
||||
+'9'#1#3'Top'#2#1#5'Width'#3#239#1#0#12'TPageControl'#9'pgcSearch'#10'ActiveP'
|
||||
+'age'#7#10'tsStandard'#5'Align'#7#8'alClient'#7'Anchors'#11#5'akTop'#6'akLef'
|
||||
+'t'#7'akRight'#0#8'TabIndex'#2#0#8'TabOrder'#2#0#6'Height'#3'9'#1#5'Width'#3
|
||||
+#239#1#0#9'TTabSheet'#10'tsStandard'#7'Caption'#6#8'Standard'#12'ClientHeigh'
|
||||
+'t'#3#31#1#11'ClientWidth'#3#231#1#6'Height'#3#31#1#5'Width'#3#231#1#0#6'TLa'
|
||||
+'bel'#16'lblFindPathStart'#7'Caption'#6#7'FileDir'#5'Color'#7#6'clNone'#11'P'
|
||||
+'arentColor'#8#6'Height'#2#14#3'Top'#2#8#5'Width'#2#30#0#0#6'TLabel'#15'lblF'
|
||||
+'indFileMask'#7'Caption'#6#8'FileMask'#5'Color'#7#6'clNone'#11'ParentColor'#8
|
||||
+#6'Height'#2#14#3'Top'#2'@'#5'Width'#2')'#0#0#5'TEdit'#16'edtFindPathStart'#7
|
||||
+'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#0#6'Height'#2#24#3
|
||||
+'Top'#2' '#5'Width'#3#26#1#0#0#7'TButton'#9'btnSelDir'#7'Anchors'#11#5'akTop'
|
||||
+#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#2#7'Caption'#6#3'...'#7'OnClic'
|
||||
+'k'#7#14'btnSelDirClick'#8'TabOrder'#2#1#4'Left'#3#28#1#6'Height'#2#25#3'Top'
|
||||
+#2' '#5'Width'#2#25#0#0#9'TComboBox'#15'cmbFindFileMask'#7'Anchors'#11#5'akT'
|
||||
+'op'#6'akLeft'#7'akRight'#0#16'AutoCompleteText'#11#22'cbactEndOfLineComplet'
|
||||
+'e'#20'cbactSearchAscending'#0#10'ItemHeight'#2#18#9'MaxLength'#2#0#11'Paren'
|
||||
+'tCtl3D'#8#8'TabOrder'#2#4#4'Text'#6#1'*'#6'Height'#2#21#3'Top'#2'X'#5'Width'
|
||||
+#3'2'#1#0#0#9'TCheckBox'#12'cbFindInFile'#11'AllowGrayed'#9#7'Caption'#6#12
|
||||
+'Find in file'#7'OnClick'#7#17'cbFindInFileClick'#8'TabOrder'#2#2#6'Height'#2
|
||||
+#13#3'Top'#2'x'#5'Width'#2'C'#0#0#9'TGroupBox'#10'gbFindData'#7'Anchors'#11#5
|
||||
+'akTop'#6'akLeft'#7'akRight'#0#7'Caption'#6#9'Find Data'#12'ClientHeight'#2
|
||||
+'W'#11'ClientWidth'#3'9'#1#7'Enabled'#8#11'ParentCtl3D'#8#8'TabOrder'#2#3#6
|
||||
+'Height'#2'i'#3'Top'#3#152#0#5'Width'#3'='#1#0#9'TCheckBox'#10'cbCaseSens'#11
|
||||
+'AllowGrayed'#9#7'Caption'#6#14'Case sensitive'#8'TabOrder'#2#0#4'Left'#2#16
|
||||
+#6'Height'#2#13#3'Top'#2'8'#5'Width'#2'X'#0#0#5'TEdit'#11'edtFindText'#7'Anc'
|
||||
+'hors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#1#4'Left'#2#16#6'Hei'
|
||||
+'ght'#2#24#3'Top'#2#24#5'Width'#3#17#1#0#0#0#0#9'TTabSheet'#10'tsAdvanced'#7
|
||||
+'Caption'#6#8'Advanced'#12'ClientHeight'#3#31#1#11'ClientWidth'#3#231#1#10'I'
|
||||
+'mageIndex'#2#1#6'Height'#3#31#1#5'Width'#3#231#1#0#0#0#7'TButton'#8'btnStar'
|
||||
+'t'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#2#7
|
||||
+'Caption'#6#6'&Start'#7'Default'#9#7'OnClick'#7#13'btnStartClick'#8'TabOrder'
|
||||
+#2#1#4'Left'#3'x'#1#6'Height'#2#25#3'Top'#2'W'#5'Width'#2'K'#0#0#7'TButton'#7
|
||||
+'btnStop'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2
|
||||
+#2#6'Cancel'#9#7'Caption'#6#6'Cancel'#7'Enabled'#8#7'OnClick'#7#12'btnStopCl'
|
||||
+'ick'#8'TabOrder'#2#2#4'Left'#3'x'#1#6'Height'#2#25#3'Top'#3#151#0#5'Width'#2
|
||||
+'K'#0#0#7'TButton'#8'btnClose'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'Border'
|
||||
+'Spacing.InnerBorder'#2#2#7'Caption'#6#6'&Close'#7'OnClick'#7#13'btnCloseCli'
|
||||
+'ck'#8'TabOrder'#2#3#4'Left'#3'x'#1#6'Height'#2#25#3'Top'#2'w'#5'Width'#2'K'
|
||||
+#0#0#0#6'TPanel'#6'Panel1'#5'Align'#7#8'alClient'#10'BevelOuter'#7#6'bvNone'
|
||||
+#12'ClientHeight'#3#199#0#11'ClientWidth'#3#239#1#11'FullRepaint'#8#8'TabOrd'
|
||||
+'er'#2#1#6'Height'#3#199#0#3'Top'#3':'#1#5'Width'#3#239#1#0#6'TPanel'#6'Pane'
|
||||
+'l3'#5'Align'#7#5'alTop'#10'BevelInner'#7#8'bvRaised'#10'BevelOuter'#7#9'bvL'
|
||||
+'owered'#12'ClientHeight'#2'A'#11'ClientWidth'#3#239#1#11'FullRepaint'#8#8'T'
|
||||
+'abOrder'#2#0#6'Height'#2'A'#5'Width'#3#239#1#0#6'TLabel'#9'lblStatus'#7'Cap'
|
||||
+'tion'#6#9'lblStatus'#5'Color'#7#6'clNone'#10'Font.Color'#7#7'clBlack'#11'Fo'
|
||||
+'nt.Height'#2#13#9'Font.Name'#6#15'adobe-helvetica'#10'Font.Pitch'#7#10'fpVa'
|
||||
+'riable'#10'Font.Style'#11#6'fsBold'#0#11'ParentColor'#8#4'Left'#3#136#1#6'H'
|
||||
+'eight'#2#13#3'Top'#2#12#5'Width'#2','#0#0#6'TLabel'#10'lblCurrent'#7'Captio'
|
||||
+'n'#6#10'lblCurrent'#5'Color'#7#6'clNone'#10'Font.Color'#7#7'clBlack'#11'Fon'
|
||||
+'t.Height'#2#13#9'Font.Name'#6#15'adobe-helvetica'#10'Font.Pitch'#7#10'fpVar'
|
||||
+'iable'#10'Font.Style'#11#6'fsBold'#0#11'ParentColor'#8#4'Left'#2#8#6'Height'
|
||||
+#2#13#3'Top'#2#12#5'Width'#2'1'#0#0#0#8'TListBox'#14'lsFoundedFiles'#5'Align'
|
||||
,#7#8'alClient'#11'MultiSelect'#9#10'OnDblClick'#7#22'lsFoundedFilesDblClick'
|
||||
+#9'PopupMenu'#7#13'PopupMenuFind'#8'TabOrder'#2#1#6'Height'#3#134#0#3'Top'#2
|
||||
+'A'#5'Width'#3#239#1#0#0#0#10'TPopupMenu'#13'PopupMenuFind'#4'left'#3#16#1#3
|
||||
+'top'#3#144#1#0#9'TMenuItem'#14'miShowInViewer'#7'Caption'#6#14'Show In View'
|
||||
+'er'#7'OnClick'#7#19'miShowInViewerClick'#0#0#0#0
|
||||
'TPF0'#11'TfrmFindDlg'#10'frmFindDlg'#13'ActiveControl'#7#15'cmbFindFileMask'
|
||||
+#7'Caption'#6#10'frmFindDlg'#12'ClientHeight'#3#205#1#11'ClientWidth'#3#239#1
|
||||
+#10'KeyPreview'#9#7'OnClose'#7#15'frmFindDlgClose'#12'OnCloseQuery'#7#14'For'
|
||||
+'mCloseQuery'#8'OnCreate'#7#10'FormCreate'#10'OnKeyPress'#7#12'FormKeyPress'
|
||||
+#6'OnShow'#7#14'frmFindDlgShow'#13'PixelsPerInch'#2'`'#8'Position'#7#14'poSc'
|
||||
+'reenCenter'#10'TextHeight'#2#16#18'HorzScrollBar.Page'#3#238#1#18'VertScrol'
|
||||
+'lBar.Page'#3#204#1#19'VertScrollBar.Range'#3'<'#1#4'Left'#3#20#1#6'Height'#3
|
||||
+#205#1#3'Top'#2#17#5'Width'#3#239#1#0#9'TSplitter'#9'Splitter1'#5'Align'#7#5
|
||||
+'alTop'#6'Cursor'#7#8'crVSplit'#6'Height'#2#1#5'Width'#3#239#1#12'ResizeAnch'
|
||||
+'or'#7#5'akTop'#6'Cursor'#7#8'crVSplit'#6'Height'#2#1#5'Width'#3#239#1#0#0#6
|
||||
+'TPanel'#6'Panel2'#5'Align'#7#5'alTop'#10'BevelOuter'#7#6'bvNone'#12'ClientH'
|
||||
+'eight'#3#25#1#11'ClientWidth'#3#239#1#11'FullRepaint'#8#8'TabOrder'#2#0#6'H'
|
||||
+'eight'#3#25#1#3'Top'#2#1#5'Width'#3#239#1#0#12'TPageControl'#9'pgcSearch'#10
|
||||
+'ActivePage'#7#10'tsStandard'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8
|
||||
+'TabIndex'#2#0#8'TabOrder'#2#0#6'Height'#3#17#1#5'Width'#3#144#1#0#9'TTabShe'
|
||||
+'et'#10'tsStandard'#7'Caption'#6#8'Standard'#12'ClientHeight'#3#247#0#11'Cli'
|
||||
+'entWidth'#3#136#1#6'Height'#3#247#0#5'Width'#3#136#1#0#6'TLabel'#16'lblFind'
|
||||
+'PathStart'#7'Caption'#6#7'FileDir'#5'Color'#7#6'clNone'#11'ParentColor'#8#4
|
||||
+'Left'#2#8#6'Height'#2#14#3'Top'#2'9'#5'Width'#2#30#0#0#6'TLabel'#15'lblFind'
|
||||
+'FileMask'#7'Caption'#6#8'FileMask'#5'Color'#7#6'clNone'#11'ParentColor'#8#4
|
||||
+'Left'#2#8#6'Height'#2#14#3'Top'#2#1#5'Width'#2')'#0#0#5'TEdit'#16'edtFindPa'
|
||||
+'thStart'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#1#4'Le'
|
||||
+'ft'#2#8#6'Height'#2#24#3'Top'#2'Q'#5'Width'#3'<'#1#0#0#7'TButton'#9'btnSelD'
|
||||
+'ir'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#2#7
|
||||
+'Caption'#6#3'...'#7'OnClick'#7#14'btnSelDirClick'#8'TabOrder'#2#2#4'Left'#3
|
||||
+'L'#1#6'Height'#2#25#3'Top'#2'P'#5'Width'#2#25#0#0#9'TComboBox'#15'cmbFindFi'
|
||||
+'leMask'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#16'AutoCompleteText'
|
||||
+#11#22'cbactEndOfLineComplete'#20'cbactSearchAscending'#0#10'ItemHeight'#2#18
|
||||
+#9'MaxLength'#2#0#11'ParentCtl3D'#8#8'TabOrder'#2#0#4'Text'#6#1'*'#4'Left'#2
|
||||
+#8#6'Height'#2#21#3'Top'#2#25#5'Width'#3'<'#1#0#0#9'TGroupBox'#10'gbFindData'
|
||||
+#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#7'Caption'#6#9'Find Data'#12
|
||||
+'ClientHeight'#2'>'#11'ClientWidth'#3'p'#1#7'Enabled'#8#11'ParentCtl3D'#8#8
|
||||
+'TabOrder'#2#3#4'Left'#2#8#6'Height'#2'P'#3'Top'#3#145#0#5'Width'#3't'#1#0#9
|
||||
+'TCheckBox'#10'cbCaseSens'#11'AllowGrayed'#9#7'Caption'#6#14'Case sensitive'
|
||||
+#8'TabOrder'#2#0#4'Left'#2#18#6'Height'#2#13#3'Top'#2'('#5'Width'#2'X'#0#0#5
|
||||
+'TEdit'#11'edtFindText'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabO'
|
||||
+'rder'#2#1#4'Left'#2#16#6'Height'#2#24#3'Top'#2#8#5'Width'#3'D'#1#0#0#9'TChe'
|
||||
+'ckBox'#12'cbNoThisText'#7'Caption'#6'"Find files NOT containing the text'#8
|
||||
+'TabOrder'#2#2#4'Left'#3#154#0#6'Height'#2#13#3'Top'#2'('#5'Width'#3#177#0#0
|
||||
+#0#0#9'TCheckBox'#12'cbFindInFile'#11'AllowGrayed'#9#7'Caption'#6#12'Find in'
|
||||
+' file'#7'OnClick'#7#17'cbFindInFileClick'#8'TabOrder'#2#4#4'Left'#2#12#6'He'
|
||||
+'ight'#2#13#3'Top'#2'y'#5'Width'#2'C'#0#0#0#9'TTabSheet'#10'tsAdvanced'#7'Ca'
|
||||
+'ption'#6#8'Advanced'#12'ClientHeight'#3#247#0#11'ClientWidth'#3#136#1#10'Im'
|
||||
+'ageIndex'#2#1#6'Height'#3#247#0#5'Width'#3#136#1#0#9'TDateEdit'#10'deDateFr'
|
||||
+'om'#23'CalendarDisplaySettings'#11#14'dsShowHeadings'#14'dsShowDayNames'#0#9
|
||||
+'OKCaption'#6#2'OK'#13'CancelCaption'#6#6'Cancel'#4'Date'#5#0#0#0#0#0#0#224
|
||||
+#152#14'@'#8'ReadOnly'#8#11'ButtonWidth'#2#23#5'Color'#7#9'clBtnFace'#7'Enab'
|
||||
+'led'#8#10'Glyph.Data'#10'3'#2#0#0'/'#2#0#0'/* XPM */'#10'static char *calen'
|
||||
+'dar[] = {'#10'/* columns rows colors chars-per-pixel */'#10'"14 12 17 1",'
|
||||
+#10'" c black",'#10'". c #800000",'#10'"X c #008000",'#10'"o c #808000",'#10
|
||||
+'"O c navy",'#10'"+ c #800080",'#10'"@ c #008080",'#10'"# c #808080",'#10'"$'
|
||||
+' c #C0C0C0",'#10'"% c red",'#10'"& c green",'#10'"* c yellow",'#10'"= c blu'
|
||||
+'e",'#10'"- c magenta",'#10'"; c cyan",'#10'": c gray100",'#10'"> c None",'
|
||||
+#10'/* pixels */'#10'">> >>",'#10'">>:$$$$$$$$:O#",'#10'">>::::::::'
|
||||
+'::O#",'#10'">>:: :: :O#",'#10'">>: :: ::::O#",'#10'">>:: :: $:O#",'#10
|
||||
+'">>:: ::::: :O#",'#10'">>:: ::$:$ :O#",'#10'">>: : $:O#",'#10'">>::::::'
|
||||
+'::::O#",'#10'">> O OO O O#",'#10'">>>###########"'#10'};'#10#9'NumGlyphs'
|
||||
+#2#1#11'ParentColor'#8#8'TabOrder'#2#0#5'Color'#7#9'clBtnFace'#7'Enabled'#8#8
|
||||
+'TabOrder'#2#0#4'Text'#6#10'23.02.2007'#4'Left'#2#4#6'Height'#2#23#3'Top'#2
|
||||
+')'#5'Width'#2'P'#0#0#9'TDateEdit'#8'deDateTo'#23'CalendarDisplaySettings'#11
|
||||
+#14'dsShowHeadings'#14'dsShowDayNames'#0#9'OKCaption'#6#2'OK'#13'CancelCapti'
|
||||
+'on'#6#6'Cancel'#4'Date'#5#0#0#0#0#0#0#224#152#14'@'#8'ReadOnly'#8#11'Button'
|
||||
+'Width'#2#23#5'Color'#7#9'clBtnFace'#7'Enabled'#8#10'Glyph.Data'#10'3'#2#0#0
|
||||
+'/'#2#0#0'/* XPM */'#10'static char *calendar[] = {'#10'/* columns rows colo'
|
||||
,'rs chars-per-pixel */'#10'"14 12 17 1",'#10'" c black",'#10'". c #800000",'
|
||||
+#10'"X c #008000",'#10'"o c #808000",'#10'"O c navy",'#10'"+ c #800080",'#10
|
||||
+'"@ c #008080",'#10'"# c #808080",'#10'"$ c #C0C0C0",'#10'"% c red",'#10'"& '
|
||||
+'c green",'#10'"* c yellow",'#10'"= c blue",'#10'"- c magenta",'#10'"; c cya'
|
||||
+'n",'#10'": c gray100",'#10'"> c None",'#10'/* pixels */'#10'">> >>'
|
||||
+'",'#10'">>:$$$$$$$$:O#",'#10'">>::::::::::O#",'#10'">>:: :: :O#",'#10'">'
|
||||
+'>: :: ::::O#",'#10'">>:: :: $:O#",'#10'">>:: ::::: :O#",'#10'">>:: ::$:$'
|
||||
+' :O#",'#10'">>: : $:O#",'#10'">>::::::::::O#",'#10'">> O OO O O#",'#10
|
||||
+'">>>###########"'#10'};'#10#9'NumGlyphs'#2#1#11'ParentColor'#8#8'TabOrder'#2
|
||||
+#1#5'Color'#7#9'clBtnFace'#7'Enabled'#8#8'TabOrder'#2#1#4'Text'#6#10'23.02.2'
|
||||
+'007'#4'Left'#3#164#0#6'Height'#2#23#3'Top'#2')'#5'Width'#2'P'#0#0#9'TCheckB'
|
||||
+'ox'#10'cbDateFrom'#7'Caption'#6#10'Date From:'#8'OnChange'#7#16'cbDateFromC'
|
||||
+'hange'#8'TabOrder'#2#2#4'Left'#2#4#6'Height'#2#13#3'Top'#2#22#5'Width'#2'H'
|
||||
+#0#0#9'TCheckBox'#14'cbNotOlderThan'#7'Caption'#6#15'Not older than:'#8'TabO'
|
||||
+'rder'#2#3#4'Left'#2#4#6'Height'#2#13#3'Top'#3#160#0#5'Width'#2'Z'#0#0#9'TSp'
|
||||
+'inEdit'#9'SpinEdit1'#8'TabOrder'#2#4#4'Left'#2'd'#6'Height'#2#20#3'Top'#3
|
||||
+#153#0#5'Width'#2'p'#0#0#9'TComboBox'#9'ComboBox1'#16'AutoCompleteText'#11#22
|
||||
+'cbactEndOfLineComplete'#20'cbactSearchAscending'#0#9'MaxLength'#2#0#8'TabOr'
|
||||
+'der'#2#5#4'Text'#6#9'ComboBox1'#4'Left'#3#4#1#6'Height'#2#21#3'Top'#3#153#0
|
||||
+#5'Width'#2'h'#0#0#9'TCheckBox'#14'cbFileSizeFrom'#7'Caption'#6#15'File Size'
|
||||
+' From:'#8'OnChange'#7#20'cbFileSizeFromChange'#8'TabOrder'#2#6#4'Left'#2#4#6
|
||||
+'Height'#2#13#3'Top'#2'Q'#5'Width'#2'X'#0#0#9'TCheckBox'#8'cbDateTo'#7'Capti'
|
||||
+'on'#6#8'Date To:'#8'OnChange'#7#14'cbDateToChange'#8'TabOrder'#2#7#4'Left'#3
|
||||
+#164#0#6'Height'#2#13#3'Top'#2#22#5'Width'#2'>'#0#0#9'TCheckBox'#12'cbFileSi'
|
||||
+'zeTo'#7'Caption'#6#13'File Size To:'#8'OnChange'#7#18'cbFileSizeToChange'#8
|
||||
+'TabOrder'#2#8#4'Left'#3#164#0#6'Height'#2#13#3'Top'#2'Q'#5'Width'#2'N'#0#0#9
|
||||
+'TSpinEdit'#14'seFileSizeFrom'#7'Enabled'#8#8'TabOrder'#2#9#4'Left'#2#4#6'He'
|
||||
+'ight'#2#20#3'Top'#2'i'#5'Width'#2'j'#0#0#9'TSpinEdit'#12'seFileSizeTo'#7'En'
|
||||
+'abled'#8#8'TabOrder'#2#10#4'Left'#3#164#0#6'Height'#2#20#3'Top'#2'i'#5'Widt'
|
||||
+'h'#2'n'#0#0#0#0#7'TButton'#8'btnClose'#7'Anchors'#11#5'akTop'#7'akRight'#0
|
||||
+#25'BorderSpacing.InnerBorder'#2#2#7'Caption'#6#6'&Close'#7'OnClick'#7#13'bt'
|
||||
+'nCloseClick'#8'TabOrder'#2#1#4'Left'#3#152#1#6'Height'#2#25#3'Top'#2'G'#5'W'
|
||||
+'idth'#2'K'#0#0#7'TButton'#7'btnStop'#7'Anchors'#11#5'akTop'#7'akRight'#0#25
|
||||
+'BorderSpacing.InnerBorder'#2#2#6'Cancel'#9#7'Caption'#6#6'Cancel'#7'Enabled'
|
||||
+#8#7'OnClick'#7#12'btnStopClick'#8'TabOrder'#2#2#4'Left'#3#152#1#6'Height'#2
|
||||
+#25#3'Top'#2'g'#5'Width'#2'K'#0#0#7'TButton'#8'btnStart'#7'Anchors'#11#5'akT'
|
||||
+'op'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#2#7'Caption'#6#6'&Start'#7
|
||||
+'Default'#9#7'OnClick'#7#13'btnStartClick'#8'TabOrder'#2#3#4'Left'#3#152#1#6
|
||||
+'Height'#2#25#3'Top'#2''''#5'Width'#2'K'#0#0#0#6'TPanel'#6'Panel1'#5'Align'#7
|
||||
+#8'alClient'#10'BevelOuter'#7#6'bvNone'#12'ClientHeight'#3#179#0#11'ClientWi'
|
||||
+'dth'#3#239#1#11'FullRepaint'#8#8'TabOrder'#2#1#6'Height'#3#179#0#3'Top'#3#26
|
||||
+#1#5'Width'#3#239#1#0#6'TPanel'#6'Panel3'#5'Align'#7#5'alTop'#10'BevelInner'
|
||||
+#7#8'bvRaised'#10'BevelOuter'#7#9'bvLowered'#12'ClientHeight'#2'6'#11'Client'
|
||||
+'Width'#3#239#1#11'FullRepaint'#8#8'TabOrder'#2#0#6'Height'#2'6'#5'Width'#3
|
||||
+#239#1#0#6'TLabel'#9'lblStatus'#7'Caption'#6#9'lblStatus'#5'Color'#7#6'clNon'
|
||||
+'e'#10'Font.Color'#7#7'clBlack'#11'Font.Height'#2#13#9'Font.Name'#6#15'adobe'
|
||||
+'-helvetica'#10'Font.Pitch'#7#10'fpVariable'#10'Font.Style'#11#6'fsBold'#0#11
|
||||
+'ParentColor'#8#4'Left'#2#8#6'Height'#2#13#3'Top'#2#30#5'Width'#2','#0#0#6'T'
|
||||
+'Label'#10'lblCurrent'#7'Caption'#6#10'lblCurrent'#5'Color'#7#6'clNone'#10'F'
|
||||
+'ont.Color'#7#7'clBlack'#11'Font.Height'#2#13#9'Font.Name'#6#15'adobe-helvet'
|
||||
+'ica'#10'Font.Pitch'#7#10'fpVariable'#10'Font.Style'#11#6'fsBold'#0#11'Paren'
|
||||
+'tColor'#8#4'Left'#2#8#6'Height'#2#13#3'Top'#2#12#5'Width'#2'1'#0#0#0#8'TLis'
|
||||
+'tBox'#14'lsFoundedFiles'#5'Align'#7#8'alClient'#11'MultiSelect'#9#10'OnDblC'
|
||||
+'lick'#7#22'lsFoundedFilesDblClick'#9'PopupMenu'#7#13'PopupMenuFind'#8'TabOr'
|
||||
+'der'#2#1#6'Height'#2'}'#3'Top'#2'6'#5'Width'#3#239#1#0#0#0#10'TPopupMenu'#13
|
||||
+'PopupMenuFind'#4'left'#3#152#0#3'top'#3#152#1#0#9'TMenuItem'#14'miShowInVie'
|
||||
+'wer'#7'Caption'#6#14'Show In Viewer'#7'OnClick'#7#19'miShowInViewerClick'#0
|
||||
+#0#0#0
|
||||
]);
|
||||
|
|
|
|||
83
fFindDlg.pas
83
fFindDlg.pas
|
|
@ -13,17 +13,36 @@ contributors:
|
|||
{ $threading on}
|
||||
unit fFindDlg;
|
||||
{$mode objfpc}{$H+}
|
||||
{ $DEFINE NOFAKETHREAD}
|
||||
{$DEFINE NOFAKETHREAD}
|
||||
interface
|
||||
|
||||
uses
|
||||
LResources,
|
||||
SysUtils, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, StdCtrls, ComCtrls, ExtCtrls, Buttons, uFindThread, Menus,
|
||||
fLngForm;
|
||||
fLngForm, Calendar, EditBtn, Spin;
|
||||
|
||||
type
|
||||
|
||||
{ TfrmFindDlg }
|
||||
|
||||
TfrmFindDlg = class(TfrmLng)
|
||||
btnClose: TButton;
|
||||
btnStart: TButton;
|
||||
btnStop: TButton;
|
||||
cbFindInFile: TCheckBox;
|
||||
cbNoThisText: TCheckBox;
|
||||
cbDateFrom: TCheckBox;
|
||||
cbNotOlderThan: TCheckBox;
|
||||
cbFileSizeFrom: TCheckBox;
|
||||
cbDateTo: TCheckBox;
|
||||
cbFileSizeTo: TCheckBox;
|
||||
ComboBox1: TComboBox;
|
||||
deDateFrom: TDateEdit;
|
||||
deDateTo: TDateEdit;
|
||||
SpinEdit1: TSpinEdit;
|
||||
seFileSizeFrom: TSpinEdit;
|
||||
seFileSizeTo: TSpinEdit;
|
||||
Splitter1: TSplitter;
|
||||
Panel2: TPanel;
|
||||
pgcSearch: TPageControl;
|
||||
|
|
@ -33,7 +52,6 @@ type
|
|||
btnSelDir: TButton;
|
||||
lblFindFileMask: TLabel;
|
||||
cmbFindFileMask: TComboBox;
|
||||
cbFindInFile: TCheckBox;
|
||||
gbFindData: TGroupBox;
|
||||
cbCaseSens: TCheckBox;
|
||||
edtFindText: TEdit;
|
||||
|
|
@ -41,15 +59,16 @@ type
|
|||
Panel1: TPanel;
|
||||
Panel3: TPanel;
|
||||
lsFoundedFiles: TListBox;
|
||||
btnStart: TButton;
|
||||
btnStop: TButton;
|
||||
lblStatus: TLabel;
|
||||
btnClose: TButton;
|
||||
lblCurrent: TLabel;
|
||||
PopupMenuFind: TPopupMenu;
|
||||
miShowInViewer: TMenuItem;
|
||||
procedure btnSelDirClick(Sender: TObject);
|
||||
procedure btnStartClick(Sender: TObject);
|
||||
procedure cbDateFromChange(Sender: TObject);
|
||||
procedure cbDateToChange(Sender: TObject);
|
||||
procedure cbFileSizeFromChange(Sender: TObject);
|
||||
procedure cbFileSizeToChange(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure btnStopClick(Sender: TObject);
|
||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||
|
|
@ -82,7 +101,7 @@ uses
|
|||
procedure ShowFindDlg(const sActPath:String);
|
||||
begin
|
||||
if not assigned (frmFindDlg) then
|
||||
frmFindDlg:=TfrmFindDlg.Create(Application);
|
||||
frmFindDlg:=TfrmFindDlg.Create(nil);
|
||||
frmFindDlg.Show;
|
||||
frmFindDlg.BringToFront;
|
||||
end;
|
||||
|
|
@ -121,6 +140,10 @@ begin
|
|||
ShowMessage(Format(lngGetString(clngFindDirNoEx),[edtFindPathStart.Text]));
|
||||
Exit;
|
||||
end;
|
||||
|
||||
//Panel1.Visible := True;
|
||||
//Height := Panel2.Height + Panel1.Height;
|
||||
|
||||
lsFoundedFiles.Items.Clear;
|
||||
btnStop.Enabled:=True;
|
||||
btnStart.Enabled:=False;
|
||||
|
|
@ -134,6 +157,28 @@ begin
|
|||
FindInFiles:=cbFindInFile.Checked;
|
||||
FindData:=edtFindText.Text;
|
||||
CaseSensitive:=cbCaseSens.Checked;
|
||||
(* Date search *)
|
||||
if cbDateFrom.Checked then
|
||||
begin
|
||||
IsDateFrom := True;
|
||||
DateFrom := deDateFrom.Date;
|
||||
end;
|
||||
if cbDateTo.Checked then
|
||||
begin
|
||||
IsDateTo := True;
|
||||
DateTo := deDateTo.Date;
|
||||
end;
|
||||
(* File size search *)
|
||||
if cbFileSizeFrom.Checked then
|
||||
begin
|
||||
IsFileSizeFrom := True;
|
||||
FileSizeFrom := seFileSizeFrom.Value;
|
||||
end;
|
||||
if cbFileSizeTo.Checked then
|
||||
begin
|
||||
IsFileSizeTo := True;
|
||||
FileSizeTo := seFileSizeTo.Value;
|
||||
end;
|
||||
Status:=lblStatus;
|
||||
Current:=lblCurrent;
|
||||
writeln('thread a');
|
||||
|
|
@ -150,7 +195,27 @@ begin
|
|||
//ThreadTerminate(self); //remove if thread is Ok
|
||||
{$ENDIF}
|
||||
writeln('thread a2');
|
||||
|
||||
|
||||
end;
|
||||
|
||||
procedure TfrmFindDlg.cbDateFromChange(Sender: TObject);
|
||||
begin
|
||||
deDateFrom.Enabled := cbDateFrom.Checked;
|
||||
end;
|
||||
|
||||
procedure TfrmFindDlg.cbDateToChange(Sender: TObject);
|
||||
begin
|
||||
deDateTo.Enabled := cbDateTo.Checked;
|
||||
end;
|
||||
|
||||
procedure TfrmFindDlg.cbFileSizeFromChange(Sender: TObject);
|
||||
begin
|
||||
seFileSizeFrom.Enabled := cbFileSizeFrom.Checked;
|
||||
end;
|
||||
|
||||
procedure TfrmFindDlg.cbFileSizeToChange(Sender: TObject);
|
||||
begin
|
||||
seFileSizeTo.Enabled := cbFileSizeTo.Checked;
|
||||
end;
|
||||
|
||||
procedure TfrmFindDlg.ThreadTerminate(Sender:TObject);
|
||||
|
|
@ -173,6 +238,8 @@ begin
|
|||
edtFindPathStart.Text:=GetCurrentDir;
|
||||
lblCurrent.Caption:='';
|
||||
lblStatus.Caption:='';
|
||||
//Panel1.Visible := False;
|
||||
//Height := Panel2.Height + 4;
|
||||
end;
|
||||
|
||||
procedure TfrmFindDlg.btnStopClick(Sender: TObject);
|
||||
|
|
|
|||
|
|
@ -1,11 +1,14 @@
|
|||
object frmLng: TfrmLng
|
||||
Caption = 'frmLng'
|
||||
ClientHeight = 344
|
||||
ClientWidth = 551
|
||||
OnCreate = FormCreate
|
||||
PixelsPerInch = 96
|
||||
PixelsPerInch = 78
|
||||
TextHeight = 16
|
||||
HorzScrollBar.Page = 550
|
||||
VertScrollBar.Page = 343
|
||||
Left = 444
|
||||
Height = 344
|
||||
Top = 539
|
||||
Top = 446
|
||||
Width = 551
|
||||
end
|
||||
|
|
|
|||
14
fLngForm.lrs
14
fLngForm.lrs
|
|
@ -1,8 +1,8 @@
|
|||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TfrmLng','FORMDATA',[
|
||||
'TPF0'#7'TfrmLng'#6'frmLng'#7'Caption'#6#6'frmLng'#8'OnCreate'#7#10'FormCreat'
|
||||
+'e'#13'PixelsPerInch'#2'`'#10'TextHeight'#2#16#18'HorzScrollBar.Page'#3'&'#2
|
||||
+#18'VertScrollBar.Page'#3'W'#1#6'Height'#3'X'#1#3'Top'#3#27#2#5'Width'#3''''
|
||||
+#2#0#0
|
||||
]);
|
||||
|
||||
LazarusResources.Add('TfrmLng','FORMDATA',[
|
||||
'TPF0'#7'TfrmLng'#6'frmLng'#7'Caption'#6#6'frmLng'#12'ClientHeight'#3'X'#1#11
|
||||
+'ClientWidth'#3''''#2#8'OnCreate'#7#10'FormCreate'#13'PixelsPerInch'#2'N'#10
|
||||
+'TextHeight'#2#16#18'HorzScrollBar.Page'#3'&'#2#18'VertScrollBar.Page'#3'W'#1
|
||||
+#4'Left'#3#188#1#6'Height'#3'X'#1#3'Top'#3#190#1#5'Width'#3''''#2#0#0
|
||||
]);
|
||||
|
|
|
|||
24
fMain.lrs
24
fMain.lrs
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
LazarusResources.Add('TfrmMain','FORMDATA',[
|
||||
'TPF0'#8'TfrmMain'#7'frmMain'#7'Caption'#6#16'Double Commander'#12'ClientHeig'
|
||||
+'ht'#3'='#1#11'ClientWidth'#3#13#2#10'Font.Color'#7#7'clBlack'#11'Font.Heigh'
|
||||
+'ht'#3'<'#1#11'ClientWidth'#3#13#2#10'Font.Color'#7#7'clBlack'#11'Font.Heigh'
|
||||
+'t'#2#13#9'Font.Name'#6#9'Helvetica'#10'Font.Pitch'#7#10'fpVariable'#10'KeyP'
|
||||
+'review'#9#4'Menu'#7#7'mnuMain'#10'OnActivate'#7#12'FormActivate'#7'OnClose'
|
||||
+#7#12'frmMainClose'#8'OnCreate'#7#10'FormCreate'#9'OnDestroy'#7#11'FormDestr'
|
||||
|
|
@ -10,10 +10,10 @@ LazarusResources.Add('TfrmMain','FORMDATA',[
|
|||
+'yUp'#7#12'frmMainKeyUp'#8'OnResize'#7#10'FormResize'#6'OnShow'#7#11'frmMain'
|
||||
+'Show'#13'PixelsPerInch'#2'`'#8'Position'#7#15'poDesktopCenter'#8'ShowHint'#9
|
||||
+#10'TextHeight'#2#16#18'HorzScrollBar.Page'#3#12#2#18'VertScrollBar.Page'#3
|
||||
+'<'#1#19'VertScrollBar.Range'#2'O'#4'Left'#3#191#1#6'Height'#3'P'#1#3'Top'#3
|
||||
+'%'#2#5'Width'#3#13#2#0#6'TPanel'#9'pnlButton'#5'Align'#7#5'alTop'#12'Client'
|
||||
+'Height'#2#22#11'ClientWidth'#3#13#2#11'FullRepaint'#8#8'TabOrder'#2#0#7'Vis'
|
||||
+'ible'#8#6'Height'#2#22#3'Top'#2#23#5'Width'#3#13#2#0#0#6'TPanel'#7'pnlDisk'
|
||||
+';'#1#19'VertScrollBar.Range'#2'O'#4'Left'#3#250#0#6'Height'#3'P'#1#3'Top'#3
|
||||
+#174#0#5'Width'#3#13#2#0#6'TPanel'#9'pnlButton'#5'Align'#7#5'alTop'#12'Clien'
|
||||
+'tHeight'#2#22#11'ClientWidth'#3#13#2#11'FullRepaint'#8#8'TabOrder'#2#0#7'Vi'
|
||||
+'sible'#8#6'Height'#2#22#3'Top'#2#23#5'Width'#3#13#2#0#0#6'TPanel'#7'pnlDisk'
|
||||
+#5'Align'#7#5'alTop'#7'Caption'#6#7'pnlDisk'#12'ClientHeight'#2#24#11'Client'
|
||||
+'Width'#3#13#2#11'FullRepaint'#8#11'ParentColor'#8#8'TabOrder'#2#1#6'Height'
|
||||
+#2#24#3'Top'#2'-'#5'Width'#3#13#2#0#11'TKAStoolBar'#7'dskLeft'#17'OnToolButt'
|
||||
|
|
@ -27,7 +27,7 @@ LazarusResources.Add('TfrmMain','FORMDATA',[
|
|||
+'eft'#3'c'#1#6'Height'#2#22#3'Top'#2#1#5'Width'#3#169#0#0#0#0#6'TPanel'#10'p'
|
||||
+'nlCommand'#5'Align'#7#8'alBottom'#7'Anchors'#11#6'akLeft'#7'akRight'#0#10'B'
|
||||
+'evelOuter'#7#9'bvLowered'#12'ClientHeight'#2'B'#11'ClientWidth'#3#13#2#11'F'
|
||||
+'ullRepaint'#8#11'ParentColor'#8#8'TabOrder'#2#2#6'Height'#2'B'#3'Top'#3#251
|
||||
+'ullRepaint'#8#11'ParentColor'#8#8'TabOrder'#2#2#6'Height'#2'B'#3'Top'#3#250
|
||||
+#0#5'Width'#3#13#2#0#6'TLabel'#14'lblCommandPath'#9'Alignment'#7#14'taRightJ'
|
||||
+'ustify'#7'Caption'#6#4'Path'#5'Color'#7#6'clNone'#11'ParentColor'#8#13'Show'
|
||||
+'AccelChar'#8#4'Left'#2#1#6'Height'#2#14#3'Top'#2#8#5'Width'#2#23#0#0#6'TPan'
|
||||
|
|
@ -54,16 +54,16 @@ LazarusResources.Add('TfrmMain','FORMDATA',[
|
|||
+'nKeyDown'#7#17'edtCommandKeyDown'#7'OnKeyUp'#7#15'edtCommandKeyUp'#11'Paren'
|
||||
+'tCtl3D'#8#8'TabOrder'#2#1#7'TabStop'#8#7'TabStop'#8#4'Left'#2'8'#6'Height'#2
|
||||
+#21#3'Top'#2#8#5'Width'#3#176#2#0#0#0#6'TPanel'#12'pnlNotebooks'#5'Align'#7#8
|
||||
+'alClient'#12'ClientHeight'#3#182#0#11'ClientWidth'#3#13#2#11'FullRepaint'#8
|
||||
+#8'TabOrder'#2#3#7'TabStop'#9#6'Height'#3#182#0#3'Top'#2'E'#5'Width'#3#13#2#0
|
||||
+'alClient'#12'ClientHeight'#3#181#0#11'ClientWidth'#3#13#2#11'FullRepaint'#8
|
||||
+#8'TabOrder'#2#3#7'TabStop'#9#6'Height'#3#181#0#3'Top'#2'E'#5'Width'#3#13#2#0
|
||||
+#9'TNotebook'#6'nbLeft'#5'Align'#7#6'alLeft'#17'OnCloseTabClicked'#7#23'Note'
|
||||
+'BookCloseTabClicked'#7'Options'#11#19'nboShowCloseButtons'#0#4'Left'#2#1#6
|
||||
+'Height'#3#180#0#3'Top'#2#1#5'Width'#3#135#1#0#0#9'TSplitter'#9'Splitter1'#6
|
||||
+'Height'#3#180#0#11'ResizeStyle'#7#6'rsLine'#5'Width'#2#4#6'Cursor'#7#8'crHS'
|
||||
+'plit'#4'Left'#3#136#1#6'Height'#3#180#0#3'Top'#2#1#5'Width'#2#4#0#0#9'TNote'
|
||||
+'Height'#3#179#0#3'Top'#2#1#5'Width'#3#135#1#0#0#9'TSplitter'#9'Splitter1'#6
|
||||
+'Height'#3#179#0#11'ResizeStyle'#7#6'rsLine'#5'Width'#2#4#6'Cursor'#7#8'crHS'
|
||||
+'plit'#4'Left'#3#136#1#6'Height'#3#179#0#3'Top'#2#1#5'Width'#2#4#0#0#9'TNote'
|
||||
+'book'#7'nbRight'#5'Align'#7#8'alClient'#17'OnCloseTabClicked'#7#23'NoteBook'
|
||||
+'CloseTabClicked'#7'Options'#11#19'nboShowCloseButtons'#0#4'Left'#3#140#1#6
|
||||
+'Height'#3#180#0#3'Top'#2#1#5'Width'#3#128#0#0#0#0#11'TKAStoolBar'#11'MainTo'
|
||||
+'Height'#3#179#0#3'Top'#2#1#5'Width'#3#128#0#0#0#0#11'TKAStoolBar'#11'MainTo'
|
||||
+'olBar'#17'OnToolButtonClick'#7#26'MainToolBarToolButtonClick'#11'FlatButton'
|
||||
,'s'#9#5'Align'#7#5'alTop'#12'ClientHeight'#2#23#11'ClientWidth'#3#13#2#8'Tab'
|
||||
+'Order'#2#4#11'OnMouseDown'#7#20'MainToolBarMouseDown'#6'Height'#2#23#5'Widt'
|
||||
|
|
|
|||
227
fOptions.lrs
227
fOptions.lrs
|
|
@ -1,117 +1,110 @@
|
|||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TfrmOptions','FORMDATA',[
|
||||
'TPF0'#241#11'TfrmOptions'#10'frmOptions'#4'Left'#3'*'#1#6'Height'#3'8'#1#3'T'
|
||||
+'op'#3#197#0#5'Width'#3#198#1#18'HorzScrollBar.Page'#3#197#1#18'VertScrollBa'
|
||||
+'r.Page'#3'7'#1#19'VertScrollBar.Range'#2')'#13'ActiveControl'#7#12'PageCont'
|
||||
+'rol1'#11'BorderIcons'#11#12'biSystemMenu'#10'biMinimize'#0#11'BorderStyle'#7
|
||||
+#8'bsSingle'#7'Caption'#6#7'Options'#8'Position'#7#16'poMainFormCenter'#0#12
|
||||
+'TPageControl'#12'PageControl1'#6'Height'#3#16#1#5'Width'#3#198#1#10'ActiveP'
|
||||
+'age'#7#9'TabSheet1'#5'Align'#7#8'alClient'#8'TabIndex'#2#4#8'TabOrder'#2#0#0
|
||||
+#9'TTabSheet'#5'tsLng'#7'Caption'#6#8'Language'#0#8'TListBox'#7'lngList'#6'H'
|
||||
+'eight'#3#242#0#5'Width'#3#194#1#5'Align'#7#8'alClient'#8'TabOrder'#2#0#8'To'
|
||||
+'pIndex'#2#255#0#0#0#9'TTabSheet'#7'tsBehav'#7'Caption'#6#9'Behaviour'#10'Im'
|
||||
+'ageIndex'#2#1#0#6'TLabel'#7'lblTerm'#4'Left'#2#8#6'Height'#2#13#3'Top'#2#16
|
||||
+#5'Width'#2'3'#7'Caption'#6#9'Terminal:'#5'Color'#7#6'clNone'#11'ParentColor'
|
||||
+#8#0#0#6'TLabel'#10'lblRunTerm'#4'Left'#2#8#6'Height'#2#13#3'Top'#2'0'#5'Wid'
|
||||
+'th'#2'I'#7'Caption'#6#13'Run terminal:'#5'Color'#7#6'clNone'#11'ParentColor'
|
||||
+#8#0#0#5'TEdit'#7'edtTerm'#4'Left'#2'`'#6'Height'#2#24#3'Top'#2#8#5'Width'#3
|
||||
+'9'#1#8'TabOrder'#2#0#4'Text'#6'%/usr/X11R6/bin/xterm -e bash -i -c %s'#0#0#9
|
||||
+'TGroupBox'#2'gb'#4'Left'#2#8#6'Height'#3#148#0#3'Top'#2'P'#5'Width'#3#225#0
|
||||
+#11'ParentCtl3D'#8#8'TabOrder'#2#2#0#9'TCheckBox'#11'cbDirSelect'#4'Left'#2#8
|
||||
+#6'Height'#2#24#3'Top'#2#253#5'Width'#2'\'#11'AllowGrayed'#9#7'Caption'#6#11
|
||||
+'cbDirSelect'#8'TabOrder'#2#0#0#0#9'TCheckBox'#19'cbCaseSensitiveSort'#4'Lef'
|
||||
+'t'#2#8#6'Height'#2#24#3'Top'#2'-'#5'Width'#3#143#0#11'AllowGrayed'#9#7'Capt'
|
||||
+'ion'#6#19'cbCaseSensitiveSort'#8'TabOrder'#2#1#0#0#9'TCheckBox'#10'cbLynxLi'
|
||||
+'ke'#4'Left'#2#8#6'Height'#2#24#3'Top'#2#21#5'Width'#2'['#11'AllowGrayed'#9#7
|
||||
+'Caption'#6#10'cbLynxLike'#8'TabOrder'#2#2#0#0#9'TCheckBox'#21'cbShortFileSi'
|
||||
+'zeFormat'#4'Left'#2#8#6'Height'#2#24#3'Top'#2'E'#5'Width'#3#153#0#11'AllowG'
|
||||
+'rayed'#9#7'Caption'#6#21'cbShortFileSizeFormat'#8'TabOrder'#2#3#0#0#9'TChec'
|
||||
+'kBox'#13'cbSeparateExt'#4'Left'#2#8#6'Height'#2#24#3'Top'#2'e'#5'Width'#2'l'
|
||||
+#11'AllowGrayed'#9#7'Caption'#6#13'cbSeparateExt'#8'TabOrder'#2#4#0#0#0#5'TE'
|
||||
+'dit'#10'edtRunTerm'#4'Left'#2'`'#6'Height'#2#24#3'Top'#2'('#5'Width'#3'9'#1
|
||||
+#8'TabOrder'#2#1#4'Text'#6#20'/usr/X11R6/bin/xterm'#0#0#0#9'TTabSheet'#7'tsT'
|
||||
+'ools'#7'Caption'#6#5'Tools'#10'ImageIndex'#2#2#0#9'TCheckBox'#11'cbExtEdito'
|
||||
+'r'#4'Left'#2#8#6'Height'#2#24#5'Width'#2'Z'#11'AllowGrayed'#9#7'Caption'#6
|
||||
+#11'cbExtEditor'#7'OnClick'#7#16'cbExtEditorClick'#8'TabOrder'#2#0#0#0#5'TEd'
|
||||
+'it'#12'edtExtEditor'#4'Left'#2#24#6'Height'#2#24#3'Top'#2' '#5'Width'#3'9'#1
|
||||
+#8'TabOrder'#2#1#4'Text'#6#10'gEdit "%s"'#0#0#9'TCheckBox'#11'cbExtDiffer'#4
|
||||
+'Left'#2#8#6'Height'#2#24#3'Top'#2'8'#5'Width'#2'W'#11'AllowGrayed'#9#7'Capt'
|
||||
+'ion'#6#11'cbExtDiffer'#7'OnClick'#7#16'cbExtDifferClick'#8'TabOrder'#2#2#0#0
|
||||
+#5'TEdit'#12'edtExtDiffer'#4'Left'#2#24#6'Height'#2#24#3'Top'#2'X'#5'Width'#3
|
||||
+'9'#1#8'TabOrder'#2#3#4'Text'#6#18'gtk-diff "%s" "%s"'#0#0#9'TCheckBox'#11'c'
|
||||
+'bExtViewer'#4'Left'#2#8#6'Height'#2#24#3'Top'#2'x'#5'Width'#2'a'#11'AllowGr'
|
||||
+'ayed'#9#7'Caption'#6#11'cbExtViewer'#7'OnClick'#7#16'cbExtViewerClick'#8'Ta'
|
||||
+'bOrder'#2#4#0#0#5'TEdit'#12'edtExtViewer'#4'Left'#2#24#6'Height'#2#24#3'Top'
|
||||
+#3#152#0#5'Width'#3'9'#1#8'TabOrder'#2#5#4'Text'#6#10'emacs "%s"'#0#0#0#9'TT'
|
||||
+'abSheet'#7'tsFonts'#7'Caption'#6#5'Fonts'#10'ImageIndex'#2#3#0#6'TLabel'#11
|
||||
+'lblMainFont'#6'Height'#2#14#3'Top'#2#24#5'Width'#2'.'#7'Caption'#6#9'Main f'
|
||||
+'ont'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0#6'TLabel'#13'lblEditorFont'
|
||||
+#6'Height'#2#14#3'Top'#2'`'#5'Width'#2'4'#7'Caption'#6#11'Editor font'#5'Col'
|
||||
+'or'#7#6'clNone'#11'ParentColor'#8#0#0#6'TLabel'#13'lblViewerFont'#6'Height'
|
||||
+#2#14#3'Top'#3#168#0#5'Width'#2'8'#7'Caption'#6#11'Viewer font'#5'Color'#7#6
|
||||
+'clNone'#11'ParentColor'#8#0#0#9'TComboBox'#10'cbMainFont'#4'Left'#2'N'#6'He'
|
||||
+'ight'#2#21#3'Top'#2#16#5'Width'#3#16#1#16'AutoCompleteText'#11#22'cbactEndO'
|
||||
+'fLineComplete'#20'cbactSearchAscending'#0#10'ItemHeight'#2#18#9'MaxLength'#2
|
||||
+#0#8'OnChange'#7#16'cbMainFontChange'#11'ParentCtl3D'#8#8'TabOrder'#2#0#0#0#9
|
||||
+'TComboBox'#12'cbEditorFont'#4'Left'#2'N'#6'Height'#2#21#3'Top'#2'W'#5'Width'
|
||||
+#3#16#1#16'AutoCompleteText'#11#22'cbactEndOfLineComplete'#20'cbactSearchAsc'
|
||||
+'ending'#0#10'ItemHeight'#2#18#9'MaxLength'#2#0#8'OnChange'#7#18'cbEditorFon'
|
||||
+'tChange'#11'ParentCtl3D'#8#8'TabOrder'#2#1#0#0#5'TEdit'#8'edtTest1'#4'Left'
|
||||
+#2'N'#6'Height'#2#24#3'Top'#2'0'#5'Width'#3#0#1#8'TabOrder'#2#2#4'Text'#6#16
|
||||
+'Example '#207#240#238#226#229#240#234#224#0#0#5'TEdit'#8'edtTest2'#4'Left'#2
|
||||
+'N'#6'Height'#2#24#3'Top'#2'x'#5'Width'#3#1#1#8'TabOrder'#2#3#4'Text'#6#16'E'
|
||||
+'xample '#207#240#238#226#229#240#234#224#0#0#5'TEdit'#8'edtTest3'#4'Left'#2
|
||||
+'N'#6'Height'#2#24#3'Top'#3#192#0#5'Width'#3#1#1#8'TabOrder'#2#4#4'Text'#6#16
|
||||
+'Example '#207#240#238#226#229#240#234#224#0#0#9'TComboBox'#12'cbViewerFont'
|
||||
+#4'Left'#2'N'#6'Height'#2#21#3'Top'#3#159#0#5'Width'#3#16#1#16'AutoCompleteT'
|
||||
,'ext'#11#22'cbactEndOfLineComplete'#20'cbactSearchAscending'#0#10'ItemHeight'
|
||||
+#2#18#9'MaxLength'#2#0#8'OnChange'#7#18'cbViewerFontChange'#11'ParentCtl3D'#8
|
||||
+#8'TabOrder'#2#5#0#0#7'TButton'#13'btnSelMainFnt'#4'Left'#3'h'#1#6'Height'#2
|
||||
+#23#3'Top'#2#16#5'Width'#2#23#7'Caption'#6#3'...'#7'OnClick'#7#18'btnSelMain'
|
||||
+'FntClick'#8'TabOrder'#2#7#0#0#7'TButton'#13'btnSelEditFnt'#4'Left'#3'h'#1#6
|
||||
+'Height'#2#23#3'Top'#2'W'#5'Width'#2#23#7'Caption'#6#3'...'#7'OnClick'#7#18
|
||||
+'btnSelEditFntClick'#8'TabOrder'#2#9#0#0#7'TButton'#13'btnSelViewFnt'#4'Left'
|
||||
+#3'h'#1#6'Height'#2#23#3'Top'#3#159#0#5'Width'#2#23#7'Caption'#6#3'...'#7'On'
|
||||
+'Click'#7#18'btnSelViewFntClick'#8'TabOrder'#2#11#0#0#9'TSpinEdit'#11'edtMai'
|
||||
+'nSize'#4'Left'#3'T'#1#6'Height'#2#23#3'Top'#2'1'#5'Width'#2'D'#8'MaxValue'#2
|
||||
+#25#8'MinValue'#2#8#8'TabOrder'#2#6#5'Value'#2#14#0#0#9'TSpinEdit'#13'edtEdi'
|
||||
+'torSize'#4'Left'#3'T'#1#6'Height'#2#23#3'Top'#2'y'#5'Width'#2'D'#8'MaxValue'
|
||||
+#2#25#8'MinValue'#2#8#8'TabOrder'#2#8#5'Value'#2#14#0#0#9'TSpinEdit'#13'edtV'
|
||||
+'iewerSize'#4'Left'#3'T'#1#6'Height'#2#23#3'Top'#3#192#0#5'Width'#2'D'#8'Max'
|
||||
+'Value'#2#25#8'MinValue'#2#8#8'TabOrder'#2#10#5'Value'#2#14#0#0#0#9'TTabShee'
|
||||
+'t'#9'TabSheet1'#7'Caption'#6#5'Color'#0#6'TLabel'#10'cTextLabel'#4'Left'#2
|
||||
+#25#6'Height'#2#14#3'Top'#2#31#5'Width'#2#23#7'Caption'#6#4'Text'#5'Color'#7
|
||||
+#6'clNone'#11'ParentColor'#8#0#0#6'TLabel'#14'cBackGrndLabel'#4'Left'#2#23#6
|
||||
+'Height'#2#14#3'Top'#2':'#5'Width'#2':'#7'Caption'#6#10'BackGround'#5'Color'
|
||||
+#7#6'clNone'#11'ParentColor'#8#0#0#9'TColorBox'#10'cTextColor'#4'Left'#2'l'#6
|
||||
+'Height'#2#24#3'Top'#2#26#5'Width'#2'd'#16'AutoCompleteText'#11#22'cbactEndO'
|
||||
+'fLineComplete'#20'cbactSearchAscending'#0#13'Items.Strings'#1#6#7'clBlack'#6
|
||||
+#8'clMaroon'#6#7'clGreen'#6#7'clOlive'#6#6'clNavy'#6#8'clPurple'#6#6'clTeal'
|
||||
+#6#6'clGray'#6#8'clSilver'#6#5'clRed'#6#6'clLime'#6#8'clYellow'#6#6'clBlue'#6
|
||||
+#9'clFuchsia'#6#6'clAqua'#6#8'clSilver'#6#6'clGray'#6#7'clWhite'#6#7'clCream'
|
||||
+#6#6'clNone'#6#9'clDefault'#0#9'MaxLength'#2#0#8'TabOrder'#2#0#0#0#9'TColorB'
|
||||
+'ox'#14'cbackgrndcolor'#4'Left'#2'l'#6'Height'#2#24#3'Top'#2'5'#5'Width'#2'd'
|
||||
+#16'AutoCompleteText'#11#22'cbactEndOfLineComplete'#20'cbactSearchAscending'
|
||||
+#0#13'Items.Strings'#1#6#7'clBlack'#6#8'clMaroon'#6#7'clGreen'#6#7'clOlive'#6
|
||||
+#6'clNavy'#6#8'clPurple'#6#6'clTeal'#6#6'clGray'#6#8'clSilver'#6#5'clRed'#6#6
|
||||
+'clLime'#6#8'clYellow'#6#6'clBlue'#6#9'clFuchsia'#6#6'clAqua'#6#8'clSilver'#6
|
||||
+#6'clGray'#6#7'clWhite'#6#7'clCream'#6#6'clNone'#6#9'clDefault'#0#9'MaxLengt'
|
||||
+'h'#2#0#8'TabOrder'#2#1#0#0#7'TButton'#7'Button1'#4'Left'#3#209#0#6'Height'#2
|
||||
+#25#3'Top'#2#26#5'Width'#2#27#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6
|
||||
+#2'>>'#7'OnClick'#7#12'Button1Click'#8'TabOrder'#2#2#0#0#7'TButton'#7'Button'
|
||||
+'2'#4'Left'#3#208#0#6'Height'#2#25#3'Top'#2'5'#5'Width'#2#28#25'BorderSpacin'
|
||||
+'g.InnerBorder'#2#4#7'Caption'#6#2'>>'#7'OnClick'#7#12'Button2Click'#8'TabOr'
|
||||
+'der'#2#3#0#0#0#0#6'TPanel'#6'Panel1'#6'Height'#2'('#3'Top'#3#16#1#5'Width'#3
|
||||
+#198#1#5'Align'#7#8'alBottom'#11'FullRepaint'#8#8'TabOrder'#2#1#0#7'TBitBtn'
|
||||
+#5'btnOK'#4'Left'#3#24#1#6'Height'#2#25#3'Top'#2#8#5'Width'#2'K'#25'BorderSp'
|
||||
+'acing.InnerBorder'#2#2#7'Caption'#6#3'&OK'#4'Kind'#7#4'bkOK'#11'ModalResult'
|
||||
+#2#1#9'NumGlyphs'#2#0#7'OnClick'#7#10'btnOKClick'#8'TabOrder'#2#0#0#0#7'TBit'
|
||||
+'Btn'#9'btnCancel'#4'Left'#3'p'#1#6'Height'#2#25#3'Top'#2#8#5'Width'#2'K'#25
|
||||
+'BorderSpacing.InnerBorder'#2#2#7'Caption'#6#6'Cancel'#4'Kind'#7#8'bkCancel'
|
||||
+#11'ModalResult'#2#2#9'NumGlyphs'#2#0#8'TabOrder'#2#1#0#0#0#11'TFontDialog'#6
|
||||
+'dlgFnt'#5'Title'#6#13#194#251#225#240#224#242#252' '#248#240#232#244#242#4
|
||||
+'left'#3#224#0#3'top'#2#16#0#0#12'TColorDialog'#14'optColorDialog'#5'Title'#6
|
||||
+#12#194#251#225#240#224#242#252' '#246#226#229#242#4'left'#3#224#0#3'top'#2
|
||||
+'1'#0#0#0
|
||||
]);
|
||||
LazarusResources.Add('TfrmOptions','FORMDATA',[
|
||||
'TPF0'#241#11'TfrmOptions'#10'frmOptions'#4'Left'#3'*'#1#6'Height'#3'8'#1#3'T'
|
||||
+'op'#3#197#0#5'Width'#3#198#1#18'HorzScrollBar.Page'#3#197#1#18'VertScrollBa'
|
||||
+'r.Page'#3'7'#1#19'VertScrollBar.Range'#2')'#13'ActiveControl'#7#12'PageCont'
|
||||
+'rol1'#11'BorderIcons'#11#12'biSystemMenu'#10'biMinimize'#0#11'BorderStyle'#7
|
||||
+#8'bsSingle'#7'Caption'#6#7'Options'#8'Position'#7#16'poMainFormCenter'#0#12
|
||||
+'TPageControl'#12'PageControl1'#6'Height'#3#16#1#5'Width'#3#198#1#10'ActiveP'
|
||||
+'age'#7#9'TabSheet1'#5'Align'#7#8'alClient'#8'TabIndex'#2#4#8'TabOrder'#2#0#0
|
||||
+#9'TTabSheet'#5'tsLng'#7'Caption'#6#8'Language'#0#8'TListBox'#7'lngList'#6'H'
|
||||
+'eight'#3#242#0#5'Width'#3#194#1#5'Align'#7#8'alClient'#8'TabOrder'#2#0#8'To'
|
||||
+'pIndex'#2#255#0#0#0#9'TTabSheet'#7'tsBehav'#7'Caption'#6#9'Behaviour'#10'Im'
|
||||
+'ageIndex'#2#1#0#6'TLabel'#7'lblTerm'#4'Left'#2#8#6'Height'#2#13#3'Top'#2#16
|
||||
+#5'Width'#2'3'#7'Caption'#6#9'Terminal:'#5'Color'#7#6'clNone'#11'ParentColor'
|
||||
+#8#0#0#6'TLabel'#10'lblRunTerm'#4'Left'#2#8#6'Height'#2#13#3'Top'#2'0'#5'Wid'
|
||||
+'th'#2'I'#7'Caption'#6#13'Run terminal:'#5'Color'#7#6'clNone'#11'ParentColor'
|
||||
+#8#0#0#5'TEdit'#7'edtTerm'#4'Left'#2'`'#6'Height'#2#24#3'Top'#2#8#5'Width'#3
|
||||
+'9'#1#8'TabOrder'#2#0#4'Text'#6'%/usr/X11R6/bin/xterm -e bash -i -c %s'#0#0#9
|
||||
+'TGroupBox'#2'gb'#4'Left'#2#8#6'Height'#3#148#0#3'Top'#2'P'#5'Width'#3#225#0
|
||||
+#11'ParentCtl3D'#8#8'TabOrder'#2#2#0#9'TCheckBox'#11'cbDirSelect'#4'Left'#2#8
|
||||
+#6'Height'#2#24#3'Top'#2#253#5'Width'#2'\'#11'AllowGrayed'#9#7'Caption'#6#11
|
||||
+'cbDirSelect'#8'TabOrder'#2#0#0#0#9'TCheckBox'#19'cbCaseSensitiveSort'#4'Lef'
|
||||
+'t'#2#8#6'Height'#2#24#3'Top'#2'-'#5'Width'#3#143#0#11'AllowGrayed'#9#7'Capt'
|
||||
+'ion'#6#19'cbCaseSensitiveSort'#8'TabOrder'#2#1#0#0#9'TCheckBox'#10'cbLynxLi'
|
||||
+'ke'#4'Left'#2#8#6'Height'#2#24#3'Top'#2#21#5'Width'#2'['#11'AllowGrayed'#9#7
|
||||
+'Caption'#6#10'cbLynxLike'#8'TabOrder'#2#2#0#0#9'TCheckBox'#21'cbShortFileSi'
|
||||
+'zeFormat'#4'Left'#2#8#6'Height'#2#24#3'Top'#2'E'#5'Width'#3#153#0#11'AllowG'
|
||||
+'rayed'#9#7'Caption'#6#21'cbShortFileSizeFormat'#8'TabOrder'#2#3#0#0#9'TChec'
|
||||
+'kBox'#13'cbSeparateExt'#4'Left'#2#8#6'Height'#2#24#3'Top'#2'e'#5'Width'#2'l'
|
||||
+#11'AllowGrayed'#9#7'Caption'#6#13'cbSeparateExt'#8'TabOrder'#2#4#0#0#0#5'TE'
|
||||
+'dit'#10'edtRunTerm'#4'Left'#2'`'#6'Height'#2#24#3'Top'#2'('#5'Width'#3'9'#1
|
||||
+#8'TabOrder'#2#1#4'Text'#6#20'/usr/X11R6/bin/xterm'#0#0#0#9'TTabSheet'#7'tsT'
|
||||
+'ools'#7'Caption'#6#5'Tools'#10'ImageIndex'#2#2#0#9'TCheckBox'#11'cbExtEdito'
|
||||
+'r'#4'Left'#2#8#6'Height'#2#24#5'Width'#2'Z'#11'AllowGrayed'#9#7'Caption'#6
|
||||
+#11'cbExtEditor'#7'OnClick'#7#16'cbExtEditorClick'#8'TabOrder'#2#0#0#0#5'TEd'
|
||||
+'it'#12'edtExtEditor'#4'Left'#2#24#6'Height'#2#24#3'Top'#2' '#5'Width'#3'9'#1
|
||||
+#8'TabOrder'#2#1#4'Text'#6#10'gEdit "%s"'#0#0#9'TCheckBox'#11'cbExtDiffer'#4
|
||||
+'Left'#2#8#6'Height'#2#24#3'Top'#2'8'#5'Width'#2'W'#11'AllowGrayed'#9#7'Capt'
|
||||
+'ion'#6#11'cbExtDiffer'#7'OnClick'#7#16'cbExtDifferClick'#8'TabOrder'#2#2#0#0
|
||||
+#5'TEdit'#12'edtExtDiffer'#4'Left'#2#24#6'Height'#2#24#3'Top'#2'X'#5'Width'#3
|
||||
+'9'#1#8'TabOrder'#2#3#4'Text'#6#18'gtk-diff "%s" "%s"'#0#0#9'TCheckBox'#11'c'
|
||||
+'bExtViewer'#4'Left'#2#8#6'Height'#2#24#3'Top'#2'x'#5'Width'#2'a'#11'AllowGr'
|
||||
+'ayed'#9#7'Caption'#6#11'cbExtViewer'#7'OnClick'#7#16'cbExtViewerClick'#8'Ta'
|
||||
+'bOrder'#2#4#0#0#5'TEdit'#12'edtExtViewer'#4'Left'#2#24#6'Height'#2#24#3'Top'
|
||||
+#3#152#0#5'Width'#3'9'#1#8'TabOrder'#2#5#4'Text'#6#10'emacs "%s"'#0#0#0#9'TT'
|
||||
+'abSheet'#7'tsFonts'#7'Caption'#6#5'Fonts'#10'ImageIndex'#2#3#0#6'TLabel'#11
|
||||
+'lblMainFont'#6'Height'#2#14#3'Top'#2#24#5'Width'#2'.'#7'Caption'#6#9'Main f'
|
||||
+'ont'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0#6'TLabel'#13'lblEditorFont'
|
||||
+#6'Height'#2#14#3'Top'#2'`'#5'Width'#2'4'#7'Caption'#6#11'Editor font'#5'Col'
|
||||
+'or'#7#6'clNone'#11'ParentColor'#8#0#0#6'TLabel'#13'lblViewerFont'#6'Height'
|
||||
+#2#14#3'Top'#3#168#0#5'Width'#2'8'#7'Caption'#6#11'Viewer font'#5'Color'#7#6
|
||||
+'clNone'#11'ParentColor'#8#0#0#9'TComboBox'#10'cbMainFont'#4'Left'#2'N'#6'He'
|
||||
+'ight'#2#21#3'Top'#2#16#5'Width'#3#16#1#10'ItemHeight'#2#18#9'MaxLength'#2#0
|
||||
+#8'OnChange'#7#16'cbMainFontChange'#11'ParentCtl3D'#8#8'TabOrder'#2#0#0#0#9
|
||||
+'TComboBox'#12'cbEditorFont'#4'Left'#2'N'#6'Height'#2#21#3'Top'#2'W'#5'Width'
|
||||
+#3#16#1#10'ItemHeight'#2#18#9'MaxLength'#2#0#8'OnChange'#7#18'cbEditorFontCh'
|
||||
+'ange'#11'ParentCtl3D'#8#8'TabOrder'#2#1#0#0#5'TEdit'#8'edtTest1'#4'Left'#2
|
||||
+'N'#6'Height'#2#24#3'Top'#2'0'#5'Width'#3#0#1#8'TabOrder'#2#2#4'Text'#6#16'E'
|
||||
+'xample '#207#240#238#226#229#240#234#224#0#0#5'TEdit'#8'edtTest2'#4'Left'#2
|
||||
+'N'#6'Height'#2#24#3'Top'#2'x'#5'Width'#3#1#1#8'TabOrder'#2#3#4'Text'#6#16'E'
|
||||
+'xample '#207#240#238#226#229#240#234#224#0#0#5'TEdit'#8'edtTest3'#4'Left'#2
|
||||
+'N'#6'Height'#2#24#3'Top'#3#192#0#5'Width'#3#1#1#8'TabOrder'#2#4#4'Text'#6#16
|
||||
+'Example '#207#240#238#226#229#240#234#224#0#0#9'TComboBox'#12'cbViewerFont'
|
||||
+#4'Left'#2'N'#6'Height'#2#21#3'Top'#3#159#0#5'Width'#3#16#1#10'ItemHeight'#2
|
||||
+#18#9'MaxLength'#2#0#8'OnChange'#7#18'cbViewerFontChange'#11'ParentCtl3D'#8#8
|
||||
+'TabOrder'#2#5#0#0#7'TButton'#13'btnSelMainFnt'#4'Left'#3'h'#1#6'Height'#2#23
|
||||
,#3'Top'#2#16#5'Width'#2#23#7'Caption'#6#3'...'#7'OnClick'#7#18'btnSelMainFnt'
|
||||
+'Click'#8'TabOrder'#2#7#0#0#7'TButton'#13'btnSelEditFnt'#4'Left'#3'h'#1#6'He'
|
||||
+'ight'#2#23#3'Top'#2'W'#5'Width'#2#23#7'Caption'#6#3'...'#7'OnClick'#7#18'bt'
|
||||
+'nSelEditFntClick'#8'TabOrder'#2#9#0#0#7'TButton'#13'btnSelViewFnt'#4'Left'#3
|
||||
+'h'#1#6'Height'#2#23#3'Top'#3#159#0#5'Width'#2#23#7'Caption'#6#3'...'#7'OnCl'
|
||||
+'ick'#7#18'btnSelViewFntClick'#8'TabOrder'#2#11#0#0#9'TSpinEdit'#11'edtMainS'
|
||||
+'ize'#4'Left'#3'T'#1#6'Height'#2#23#3'Top'#2'1'#5'Width'#2'D'#8'MaxValue'#2
|
||||
+#25#8'MinValue'#2#8#8'TabOrder'#2#6#5'Value'#2#14#0#0#9'TSpinEdit'#13'edtEdi'
|
||||
+'torSize'#4'Left'#3'T'#1#6'Height'#2#23#3'Top'#2'y'#5'Width'#2'D'#8'MaxValue'
|
||||
+#2#25#8'MinValue'#2#8#8'TabOrder'#2#8#5'Value'#2#14#0#0#9'TSpinEdit'#13'edtV'
|
||||
+'iewerSize'#4'Left'#3'T'#1#6'Height'#2#23#3'Top'#3#192#0#5'Width'#2'D'#8'Max'
|
||||
+'Value'#2#25#8'MinValue'#2#8#8'TabOrder'#2#10#5'Value'#2#14#0#0#0#9'TTabShee'
|
||||
+'t'#9'TabSheet1'#7'Caption'#6#5'Color'#0#6'TLabel'#10'cTextLabel'#4'Left'#2
|
||||
+#25#6'Height'#2#14#3'Top'#2#31#5'Width'#2#23#7'Caption'#6#4'Text'#5'Color'#7
|
||||
+#6'clNone'#11'ParentColor'#8#0#0#6'TLabel'#14'cBackGrndLabel'#4'Left'#2#23#6
|
||||
+'Height'#2#14#3'Top'#2':'#5'Width'#2':'#7'Caption'#6#10'BackGround'#5'Color'
|
||||
+#7#6'clNone'#11'ParentColor'#8#0#0#9'TColorBox'#10'cTextColor'#4'Left'#2'l'#6
|
||||
+'Height'#2#24#3'Top'#2#26#5'Width'#2'd'#13'Items.Strings'#1#6#7'clBlack'#6#8
|
||||
+'clMaroon'#6#7'clGreen'#6#7'clOlive'#6#6'clNavy'#6#8'clPurple'#6#6'clTeal'#6
|
||||
+#6'clGray'#6#8'clSilver'#6#5'clRed'#6#6'clLime'#6#8'clYellow'#6#6'clBlue'#6#9
|
||||
+'clFuchsia'#6#6'clAqua'#6#8'clSilver'#6#6'clGray'#6#7'clWhite'#6#7'clCream'#6
|
||||
+#6'clNone'#6#9'clDefault'#0#9'MaxLength'#2#0#8'TabOrder'#2#0#0#0#9'TColorBox'
|
||||
+#14'cbackgrndcolor'#4'Left'#2'l'#6'Height'#2#24#3'Top'#2'5'#5'Width'#2'd'#13
|
||||
+'Items.Strings'#1#6#7'clBlack'#6#8'clMaroon'#6#7'clGreen'#6#7'clOlive'#6#6'c'
|
||||
+'lNavy'#6#8'clPurple'#6#6'clTeal'#6#6'clGray'#6#8'clSilver'#6#5'clRed'#6#6'c'
|
||||
+'lLime'#6#8'clYellow'#6#6'clBlue'#6#9'clFuchsia'#6#6'clAqua'#6#8'clSilver'#6
|
||||
+#6'clGray'#6#7'clWhite'#6#7'clCream'#6#6'clNone'#6#9'clDefault'#0#9'MaxLengt'
|
||||
+'h'#2#0#8'TabOrder'#2#1#0#0#7'TButton'#7'Button1'#4'Left'#3#209#0#6'Height'#2
|
||||
+#25#3'Top'#2#26#5'Width'#2#27#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6
|
||||
+#2'>>'#7'OnClick'#7#12'Button1Click'#8'TabOrder'#2#2#0#0#7'TButton'#7'Button'
|
||||
+'2'#4'Left'#3#208#0#6'Height'#2#25#3'Top'#2'5'#5'Width'#2#28#25'BorderSpacin'
|
||||
+'g.InnerBorder'#2#4#7'Caption'#6#2'>>'#7'OnClick'#7#12'Button2Click'#8'TabOr'
|
||||
+'der'#2#3#0#0#0#0#6'TPanel'#6'Panel1'#6'Height'#2'('#3'Top'#3#16#1#5'Width'#3
|
||||
+#198#1#5'Align'#7#8'alBottom'#11'FullRepaint'#8#8'TabOrder'#2#1#0#7'TBitBtn'
|
||||
+#5'btnOK'#4'Left'#3#24#1#6'Height'#2#25#3'Top'#2#8#5'Width'#2'K'#25'BorderSp'
|
||||
+'acing.InnerBorder'#2#2#7'Caption'#6#3'&OK'#4'Kind'#7#4'bkOK'#11'ModalResult'
|
||||
+#2#1#9'NumGlyphs'#2#0#7'OnClick'#7#10'btnOKClick'#8'TabOrder'#2#0#0#0#7'TBit'
|
||||
+'Btn'#9'btnCancel'#4'Left'#3'p'#1#6'Height'#2#25#3'Top'#2#8#5'Width'#2'K'#25
|
||||
+'BorderSpacing.InnerBorder'#2#2#7'Caption'#6#6'Cancel'#4'Kind'#7#8'bkCancel'
|
||||
+#11'ModalResult'#2#2#9'NumGlyphs'#2#0#8'TabOrder'#2#1#0#0#0#11'TFontDialog'#6
|
||||
+'dlgFnt'#5'Title'#6#13#194#251#225#240#224#242#252' '#248#240#232#244#242#4
|
||||
+'left'#3#224#0#3'top'#2#16#0#0#12'TColorDialog'#14'optColorDialog'#5'Title'#6
|
||||
+#12#194#251#225#240#224#242#252' '#246#226#229#242#4'left'#3#224#0#3'top'#2
|
||||
+'1'#0#0#0
|
||||
]);
|
||||
|
|
|
|||
22
fmain.lfm
22
fmain.lfm
|
|
@ -1,6 +1,6 @@
|
|||
object frmMain: TfrmMain
|
||||
Caption = 'Double Commander'
|
||||
ClientHeight = 317
|
||||
ClientHeight = 316
|
||||
ClientWidth = 525
|
||||
Font.Color = clBlack
|
||||
Font.Height = 13
|
||||
|
|
@ -22,11 +22,11 @@ object frmMain: TfrmMain
|
|||
ShowHint = True
|
||||
TextHeight = 16
|
||||
HorzScrollBar.Page = 524
|
||||
VertScrollBar.Page = 316
|
||||
VertScrollBar.Page = 315
|
||||
VertScrollBar.Range = 79
|
||||
Left = 447
|
||||
Left = 250
|
||||
Height = 336
|
||||
Top = 549
|
||||
Top = 174
|
||||
Width = 525
|
||||
object pnlButton: TPanel
|
||||
Align = alTop
|
||||
|
|
@ -91,7 +91,7 @@ object frmMain: TfrmMain
|
|||
ParentColor = False
|
||||
TabOrder = 2
|
||||
Height = 66
|
||||
Top = 251
|
||||
Top = 250
|
||||
Width = 525
|
||||
object lblCommandPath: TLabel
|
||||
Alignment = taRightJustify
|
||||
|
|
@ -208,12 +208,12 @@ object frmMain: TfrmMain
|
|||
end
|
||||
object pnlNotebooks: TPanel
|
||||
Align = alClient
|
||||
ClientHeight = 182
|
||||
ClientHeight = 181
|
||||
ClientWidth = 525
|
||||
FullRepaint = False
|
||||
TabOrder = 3
|
||||
TabStop = True
|
||||
Height = 182
|
||||
Height = 181
|
||||
Top = 69
|
||||
Width = 525
|
||||
object nbLeft: TNotebook
|
||||
|
|
@ -221,17 +221,17 @@ object frmMain: TfrmMain
|
|||
OnCloseTabClicked = NoteBookCloseTabClicked
|
||||
Options = [nboShowCloseButtons]
|
||||
Left = 1
|
||||
Height = 180
|
||||
Height = 179
|
||||
Top = 1
|
||||
Width = 391
|
||||
end
|
||||
object Splitter1: TSplitter
|
||||
Height = 180
|
||||
Height = 179
|
||||
ResizeStyle = rsLine
|
||||
Width = 4
|
||||
Cursor = crHSplit
|
||||
Left = 392
|
||||
Height = 180
|
||||
Height = 179
|
||||
Top = 1
|
||||
Width = 4
|
||||
end
|
||||
|
|
@ -240,7 +240,7 @@ object frmMain: TfrmMain
|
|||
OnCloseTabClicked = NoteBookCloseTabClicked
|
||||
Options = [nboShowCloseButtons]
|
||||
Left = 396
|
||||
Height = 180
|
||||
Height = 179
|
||||
Top = 1
|
||||
Width = 128
|
||||
end
|
||||
|
|
|
|||
941
foptions.lfm
941
foptions.lfm
|
|
@ -1,473 +1,468 @@
|
|||
inherited frmOptions: TfrmOptions
|
||||
Left = 298
|
||||
Height = 312
|
||||
Top = 197
|
||||
Width = 454
|
||||
HorzScrollBar.Page = 453
|
||||
VertScrollBar.Page = 311
|
||||
VertScrollBar.Range = 41
|
||||
ActiveControl = PageControl1
|
||||
BorderIcons = [biSystemMenu, biMinimize]
|
||||
BorderStyle = bsSingle
|
||||
Caption = 'Options'
|
||||
Position = poMainFormCenter
|
||||
object PageControl1: TPageControl
|
||||
Height = 272
|
||||
Width = 454
|
||||
ActivePage = TabSheet1
|
||||
Align = alClient
|
||||
TabIndex = 4
|
||||
TabOrder = 0
|
||||
object tsLng: TTabSheet
|
||||
Caption = 'Language'
|
||||
object lngList: TListBox
|
||||
Height = 242
|
||||
Width = 450
|
||||
Align = alClient
|
||||
TabOrder = 0
|
||||
TopIndex = -1
|
||||
end
|
||||
end
|
||||
object tsBehav: TTabSheet
|
||||
Caption = 'Behaviour'
|
||||
ImageIndex = 1
|
||||
object lblTerm: TLabel
|
||||
Left = 8
|
||||
Height = 13
|
||||
Top = 16
|
||||
Width = 51
|
||||
Caption = 'Terminal:'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
end
|
||||
object lblRunTerm: TLabel
|
||||
Left = 8
|
||||
Height = 13
|
||||
Top = 48
|
||||
Width = 73
|
||||
Caption = 'Run terminal:'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
end
|
||||
object edtTerm: TEdit
|
||||
Left = 96
|
||||
Height = 24
|
||||
Top = 8
|
||||
Width = 313
|
||||
TabOrder = 0
|
||||
Text = '/usr/X11R6/bin/xterm -e bash -i -c %s'
|
||||
end
|
||||
object gb: TGroupBox
|
||||
Left = 8
|
||||
Height = 148
|
||||
Top = 80
|
||||
Width = 225
|
||||
ParentCtl3D = False
|
||||
TabOrder = 2
|
||||
object cbDirSelect: TCheckBox
|
||||
Left = 8
|
||||
Height = 24
|
||||
Top = -3
|
||||
Width = 92
|
||||
AllowGrayed = True
|
||||
Caption = 'cbDirSelect'
|
||||
TabOrder = 0
|
||||
end
|
||||
object cbCaseSensitiveSort: TCheckBox
|
||||
Left = 8
|
||||
Height = 24
|
||||
Top = 45
|
||||
Width = 143
|
||||
AllowGrayed = True
|
||||
Caption = 'cbCaseSensitiveSort'
|
||||
TabOrder = 1
|
||||
end
|
||||
object cbLynxLike: TCheckBox
|
||||
Left = 8
|
||||
Height = 24
|
||||
Top = 21
|
||||
Width = 91
|
||||
AllowGrayed = True
|
||||
Caption = 'cbLynxLike'
|
||||
TabOrder = 2
|
||||
end
|
||||
object cbShortFileSizeFormat: TCheckBox
|
||||
Left = 8
|
||||
Height = 24
|
||||
Top = 69
|
||||
Width = 153
|
||||
AllowGrayed = True
|
||||
Caption = 'cbShortFileSizeFormat'
|
||||
TabOrder = 3
|
||||
end
|
||||
object cbSeparateExt: TCheckBox
|
||||
Left = 8
|
||||
Height = 24
|
||||
Top = 101
|
||||
Width = 108
|
||||
AllowGrayed = True
|
||||
Caption = 'cbSeparateExt'
|
||||
TabOrder = 4
|
||||
end
|
||||
end
|
||||
object edtRunTerm: TEdit
|
||||
Left = 96
|
||||
Height = 24
|
||||
Top = 40
|
||||
Width = 313
|
||||
TabOrder = 1
|
||||
Text = '/usr/X11R6/bin/xterm'
|
||||
end
|
||||
end
|
||||
object tsTools: TTabSheet
|
||||
Caption = 'Tools'
|
||||
ImageIndex = 2
|
||||
object cbExtEditor: TCheckBox
|
||||
Left = 8
|
||||
Height = 24
|
||||
Width = 90
|
||||
AllowGrayed = True
|
||||
Caption = 'cbExtEditor'
|
||||
OnClick = cbExtEditorClick
|
||||
TabOrder = 0
|
||||
end
|
||||
object edtExtEditor: TEdit
|
||||
Left = 24
|
||||
Height = 24
|
||||
Top = 32
|
||||
Width = 313
|
||||
TabOrder = 1
|
||||
Text = 'gEdit "%s"'
|
||||
end
|
||||
object cbExtDiffer: TCheckBox
|
||||
Left = 8
|
||||
Height = 24
|
||||
Top = 56
|
||||
Width = 87
|
||||
AllowGrayed = True
|
||||
Caption = 'cbExtDiffer'
|
||||
OnClick = cbExtDifferClick
|
||||
TabOrder = 2
|
||||
end
|
||||
object edtExtDiffer: TEdit
|
||||
Left = 24
|
||||
Height = 24
|
||||
Top = 88
|
||||
Width = 313
|
||||
TabOrder = 3
|
||||
Text = 'gtk-diff "%s" "%s"'
|
||||
end
|
||||
object cbExtViewer: TCheckBox
|
||||
Left = 8
|
||||
Height = 24
|
||||
Top = 120
|
||||
Width = 97
|
||||
AllowGrayed = True
|
||||
Caption = 'cbExtViewer'
|
||||
OnClick = cbExtViewerClick
|
||||
TabOrder = 4
|
||||
end
|
||||
object edtExtViewer: TEdit
|
||||
Left = 24
|
||||
Height = 24
|
||||
Top = 152
|
||||
Width = 313
|
||||
TabOrder = 5
|
||||
Text = 'emacs "%s"'
|
||||
end
|
||||
end
|
||||
object tsFonts: TTabSheet
|
||||
Caption = 'Fonts'
|
||||
ImageIndex = 3
|
||||
object lblMainFont: TLabel
|
||||
Height = 14
|
||||
Top = 24
|
||||
Width = 46
|
||||
Caption = 'Main font'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
end
|
||||
object lblEditorFont: TLabel
|
||||
Height = 14
|
||||
Top = 96
|
||||
Width = 52
|
||||
Caption = 'Editor font'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
end
|
||||
object lblViewerFont: TLabel
|
||||
Height = 14
|
||||
Top = 168
|
||||
Width = 56
|
||||
Caption = 'Viewer font'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
end
|
||||
object cbMainFont: TComboBox
|
||||
Left = 78
|
||||
Height = 21
|
||||
Top = 16
|
||||
Width = 272
|
||||
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
|
||||
ItemHeight = 18
|
||||
MaxLength = 0
|
||||
OnChange = cbMainFontChange
|
||||
ParentCtl3D = False
|
||||
TabOrder = 0
|
||||
end
|
||||
object cbEditorFont: TComboBox
|
||||
Left = 78
|
||||
Height = 21
|
||||
Top = 87
|
||||
Width = 272
|
||||
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
|
||||
ItemHeight = 18
|
||||
MaxLength = 0
|
||||
OnChange = cbEditorFontChange
|
||||
ParentCtl3D = False
|
||||
TabOrder = 1
|
||||
end
|
||||
object edtTest1: TEdit
|
||||
Left = 78
|
||||
Height = 24
|
||||
Top = 48
|
||||
Width = 256
|
||||
TabOrder = 2
|
||||
Text = 'Example Ïðîâåðêà'
|
||||
end
|
||||
object edtTest2: TEdit
|
||||
Left = 78
|
||||
Height = 24
|
||||
Top = 120
|
||||
Width = 257
|
||||
TabOrder = 3
|
||||
Text = 'Example Ïðîâåðêà'
|
||||
end
|
||||
object edtTest3: TEdit
|
||||
Left = 78
|
||||
Height = 24
|
||||
Top = 192
|
||||
Width = 257
|
||||
TabOrder = 4
|
||||
Text = 'Example Ïðîâåðêà'
|
||||
end
|
||||
object cbViewerFont: TComboBox
|
||||
Left = 78
|
||||
Height = 21
|
||||
Top = 159
|
||||
Width = 272
|
||||
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
|
||||
ItemHeight = 18
|
||||
MaxLength = 0
|
||||
OnChange = cbViewerFontChange
|
||||
ParentCtl3D = False
|
||||
TabOrder = 5
|
||||
end
|
||||
object btnSelMainFnt: TButton
|
||||
Left = 360
|
||||
Height = 23
|
||||
Top = 16
|
||||
Width = 23
|
||||
Caption = '...'
|
||||
OnClick = btnSelMainFntClick
|
||||
TabOrder = 7
|
||||
end
|
||||
object btnSelEditFnt: TButton
|
||||
Left = 360
|
||||
Height = 23
|
||||
Top = 87
|
||||
Width = 23
|
||||
Caption = '...'
|
||||
OnClick = btnSelEditFntClick
|
||||
TabOrder = 9
|
||||
end
|
||||
object btnSelViewFnt: TButton
|
||||
Left = 360
|
||||
Height = 23
|
||||
Top = 159
|
||||
Width = 23
|
||||
Caption = '...'
|
||||
OnClick = btnSelViewFntClick
|
||||
TabOrder = 11
|
||||
end
|
||||
object edtMainSize: TSpinEdit
|
||||
Left = 340
|
||||
Height = 23
|
||||
Top = 49
|
||||
Width = 68
|
||||
MaxValue = 25
|
||||
MinValue = 8
|
||||
TabOrder = 6
|
||||
Value = 14
|
||||
end
|
||||
object edtEditorSize: TSpinEdit
|
||||
Left = 340
|
||||
Height = 23
|
||||
Top = 121
|
||||
Width = 68
|
||||
MaxValue = 25
|
||||
MinValue = 8
|
||||
TabOrder = 8
|
||||
Value = 14
|
||||
end
|
||||
object edtViewerSize: TSpinEdit
|
||||
Left = 340
|
||||
Height = 23
|
||||
Top = 192
|
||||
Width = 68
|
||||
MaxValue = 25
|
||||
MinValue = 8
|
||||
TabOrder = 10
|
||||
Value = 14
|
||||
end
|
||||
end
|
||||
object TabSheet1: TTabSheet
|
||||
Caption = 'Color'
|
||||
object cTextLabel: TLabel
|
||||
Left = 25
|
||||
Height = 14
|
||||
Top = 31
|
||||
Width = 23
|
||||
Caption = 'Text'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
end
|
||||
object cBackGrndLabel: TLabel
|
||||
Left = 23
|
||||
Height = 14
|
||||
Top = 58
|
||||
Width = 58
|
||||
Caption = 'BackGround'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
end
|
||||
object cTextColor: TColorBox
|
||||
Left = 108
|
||||
Height = 24
|
||||
Top = 26
|
||||
Width = 100
|
||||
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
|
||||
Items.Strings = (
|
||||
'clBlack'
|
||||
'clMaroon'
|
||||
'clGreen'
|
||||
'clOlive'
|
||||
'clNavy'
|
||||
'clPurple'
|
||||
'clTeal'
|
||||
'clGray'
|
||||
'clSilver'
|
||||
'clRed'
|
||||
'clLime'
|
||||
'clYellow'
|
||||
'clBlue'
|
||||
'clFuchsia'
|
||||
'clAqua'
|
||||
'clSilver'
|
||||
'clGray'
|
||||
'clWhite'
|
||||
'clCream'
|
||||
'clNone'
|
||||
'clDefault'
|
||||
)
|
||||
MaxLength = 0
|
||||
TabOrder = 0
|
||||
end
|
||||
object cbackgrndcolor: TColorBox
|
||||
Left = 108
|
||||
Height = 24
|
||||
Top = 53
|
||||
Width = 100
|
||||
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
|
||||
Items.Strings = (
|
||||
'clBlack'
|
||||
'clMaroon'
|
||||
'clGreen'
|
||||
'clOlive'
|
||||
'clNavy'
|
||||
'clPurple'
|
||||
'clTeal'
|
||||
'clGray'
|
||||
'clSilver'
|
||||
'clRed'
|
||||
'clLime'
|
||||
'clYellow'
|
||||
'clBlue'
|
||||
'clFuchsia'
|
||||
'clAqua'
|
||||
'clSilver'
|
||||
'clGray'
|
||||
'clWhite'
|
||||
'clCream'
|
||||
'clNone'
|
||||
'clDefault'
|
||||
)
|
||||
MaxLength = 0
|
||||
TabOrder = 1
|
||||
end
|
||||
object Button1: TButton
|
||||
Left = 209
|
||||
Height = 25
|
||||
Top = 26
|
||||
Width = 27
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Caption = '>>'
|
||||
OnClick = Button1Click
|
||||
TabOrder = 2
|
||||
end
|
||||
object Button2: TButton
|
||||
Left = 208
|
||||
Height = 25
|
||||
Top = 53
|
||||
Width = 28
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Caption = '>>'
|
||||
OnClick = Button2Click
|
||||
TabOrder = 3
|
||||
end
|
||||
end
|
||||
end
|
||||
object Panel1: TPanel
|
||||
Height = 40
|
||||
Top = 272
|
||||
Width = 454
|
||||
Align = alBottom
|
||||
FullRepaint = False
|
||||
TabOrder = 1
|
||||
object btnOK: TBitBtn
|
||||
Left = 280
|
||||
Height = 25
|
||||
Top = 8
|
||||
Width = 75
|
||||
BorderSpacing.InnerBorder = 2
|
||||
Caption = '&OK'
|
||||
Kind = bkOK
|
||||
ModalResult = 1
|
||||
NumGlyphs = 0
|
||||
OnClick = btnOKClick
|
||||
TabOrder = 0
|
||||
end
|
||||
object btnCancel: TBitBtn
|
||||
Left = 368
|
||||
Height = 25
|
||||
Top = 8
|
||||
Width = 75
|
||||
BorderSpacing.InnerBorder = 2
|
||||
Caption = 'Cancel'
|
||||
Kind = bkCancel
|
||||
ModalResult = 2
|
||||
NumGlyphs = 0
|
||||
TabOrder = 1
|
||||
end
|
||||
end
|
||||
object dlgFnt: TFontDialog
|
||||
Title = 'Âûáðàòü øðèôò'
|
||||
left = 224
|
||||
top = 16
|
||||
end
|
||||
object optColorDialog: TColorDialog
|
||||
Title = 'Âûáðàòü öâåò'
|
||||
left = 224
|
||||
top = 49
|
||||
end
|
||||
end
|
||||
inherited frmOptions: TfrmOptions
|
||||
Left = 298
|
||||
Height = 312
|
||||
Top = 197
|
||||
Width = 454
|
||||
HorzScrollBar.Page = 453
|
||||
VertScrollBar.Page = 311
|
||||
VertScrollBar.Range = 41
|
||||
ActiveControl = PageControl1
|
||||
BorderIcons = [biSystemMenu, biMinimize]
|
||||
BorderStyle = bsSingle
|
||||
Caption = 'Options'
|
||||
Position = poMainFormCenter
|
||||
object PageControl1: TPageControl
|
||||
Height = 272
|
||||
Width = 454
|
||||
ActivePage = TabSheet1
|
||||
Align = alClient
|
||||
TabIndex = 4
|
||||
TabOrder = 0
|
||||
object tsLng: TTabSheet
|
||||
Caption = 'Language'
|
||||
object lngList: TListBox
|
||||
Height = 242
|
||||
Width = 450
|
||||
Align = alClient
|
||||
TabOrder = 0
|
||||
TopIndex = -1
|
||||
end
|
||||
end
|
||||
object tsBehav: TTabSheet
|
||||
Caption = 'Behaviour'
|
||||
ImageIndex = 1
|
||||
object lblTerm: TLabel
|
||||
Left = 8
|
||||
Height = 13
|
||||
Top = 16
|
||||
Width = 51
|
||||
Caption = 'Terminal:'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
end
|
||||
object lblRunTerm: TLabel
|
||||
Left = 8
|
||||
Height = 13
|
||||
Top = 48
|
||||
Width = 73
|
||||
Caption = 'Run terminal:'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
end
|
||||
object edtTerm: TEdit
|
||||
Left = 96
|
||||
Height = 24
|
||||
Top = 8
|
||||
Width = 313
|
||||
TabOrder = 0
|
||||
Text = '/usr/X11R6/bin/xterm -e bash -i -c %s'
|
||||
end
|
||||
object gb: TGroupBox
|
||||
Left = 8
|
||||
Height = 148
|
||||
Top = 80
|
||||
Width = 225
|
||||
ParentCtl3D = False
|
||||
TabOrder = 2
|
||||
object cbDirSelect: TCheckBox
|
||||
Left = 8
|
||||
Height = 24
|
||||
Top = -3
|
||||
Width = 92
|
||||
AllowGrayed = True
|
||||
Caption = 'cbDirSelect'
|
||||
TabOrder = 0
|
||||
end
|
||||
object cbCaseSensitiveSort: TCheckBox
|
||||
Left = 8
|
||||
Height = 24
|
||||
Top = 45
|
||||
Width = 143
|
||||
AllowGrayed = True
|
||||
Caption = 'cbCaseSensitiveSort'
|
||||
TabOrder = 1
|
||||
end
|
||||
object cbLynxLike: TCheckBox
|
||||
Left = 8
|
||||
Height = 24
|
||||
Top = 21
|
||||
Width = 91
|
||||
AllowGrayed = True
|
||||
Caption = 'cbLynxLike'
|
||||
TabOrder = 2
|
||||
end
|
||||
object cbShortFileSizeFormat: TCheckBox
|
||||
Left = 8
|
||||
Height = 24
|
||||
Top = 69
|
||||
Width = 153
|
||||
AllowGrayed = True
|
||||
Caption = 'cbShortFileSizeFormat'
|
||||
TabOrder = 3
|
||||
end
|
||||
object cbSeparateExt: TCheckBox
|
||||
Left = 8
|
||||
Height = 24
|
||||
Top = 101
|
||||
Width = 108
|
||||
AllowGrayed = True
|
||||
Caption = 'cbSeparateExt'
|
||||
TabOrder = 4
|
||||
end
|
||||
end
|
||||
object edtRunTerm: TEdit
|
||||
Left = 96
|
||||
Height = 24
|
||||
Top = 40
|
||||
Width = 313
|
||||
TabOrder = 1
|
||||
Text = '/usr/X11R6/bin/xterm'
|
||||
end
|
||||
end
|
||||
object tsTools: TTabSheet
|
||||
Caption = 'Tools'
|
||||
ImageIndex = 2
|
||||
object cbExtEditor: TCheckBox
|
||||
Left = 8
|
||||
Height = 24
|
||||
Width = 90
|
||||
AllowGrayed = True
|
||||
Caption = 'cbExtEditor'
|
||||
OnClick = cbExtEditorClick
|
||||
TabOrder = 0
|
||||
end
|
||||
object edtExtEditor: TEdit
|
||||
Left = 24
|
||||
Height = 24
|
||||
Top = 32
|
||||
Width = 313
|
||||
TabOrder = 1
|
||||
Text = 'gEdit "%s"'
|
||||
end
|
||||
object cbExtDiffer: TCheckBox
|
||||
Left = 8
|
||||
Height = 24
|
||||
Top = 56
|
||||
Width = 87
|
||||
AllowGrayed = True
|
||||
Caption = 'cbExtDiffer'
|
||||
OnClick = cbExtDifferClick
|
||||
TabOrder = 2
|
||||
end
|
||||
object edtExtDiffer: TEdit
|
||||
Left = 24
|
||||
Height = 24
|
||||
Top = 88
|
||||
Width = 313
|
||||
TabOrder = 3
|
||||
Text = 'gtk-diff "%s" "%s"'
|
||||
end
|
||||
object cbExtViewer: TCheckBox
|
||||
Left = 8
|
||||
Height = 24
|
||||
Top = 120
|
||||
Width = 97
|
||||
AllowGrayed = True
|
||||
Caption = 'cbExtViewer'
|
||||
OnClick = cbExtViewerClick
|
||||
TabOrder = 4
|
||||
end
|
||||
object edtExtViewer: TEdit
|
||||
Left = 24
|
||||
Height = 24
|
||||
Top = 152
|
||||
Width = 313
|
||||
TabOrder = 5
|
||||
Text = 'emacs "%s"'
|
||||
end
|
||||
end
|
||||
object tsFonts: TTabSheet
|
||||
Caption = 'Fonts'
|
||||
ImageIndex = 3
|
||||
object lblMainFont: TLabel
|
||||
Height = 14
|
||||
Top = 24
|
||||
Width = 46
|
||||
Caption = 'Main font'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
end
|
||||
object lblEditorFont: TLabel
|
||||
Height = 14
|
||||
Top = 96
|
||||
Width = 52
|
||||
Caption = 'Editor font'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
end
|
||||
object lblViewerFont: TLabel
|
||||
Height = 14
|
||||
Top = 168
|
||||
Width = 56
|
||||
Caption = 'Viewer font'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
end
|
||||
object cbMainFont: TComboBox
|
||||
Left = 78
|
||||
Height = 21
|
||||
Top = 16
|
||||
Width = 272
|
||||
ItemHeight = 18
|
||||
MaxLength = 0
|
||||
OnChange = cbMainFontChange
|
||||
ParentCtl3D = False
|
||||
TabOrder = 0
|
||||
end
|
||||
object cbEditorFont: TComboBox
|
||||
Left = 78
|
||||
Height = 21
|
||||
Top = 87
|
||||
Width = 272
|
||||
ItemHeight = 18
|
||||
MaxLength = 0
|
||||
OnChange = cbEditorFontChange
|
||||
ParentCtl3D = False
|
||||
TabOrder = 1
|
||||
end
|
||||
object edtTest1: TEdit
|
||||
Left = 78
|
||||
Height = 24
|
||||
Top = 48
|
||||
Width = 256
|
||||
TabOrder = 2
|
||||
Text = 'Example Ïðîâåðêà'
|
||||
end
|
||||
object edtTest2: TEdit
|
||||
Left = 78
|
||||
Height = 24
|
||||
Top = 120
|
||||
Width = 257
|
||||
TabOrder = 3
|
||||
Text = 'Example Ïðîâåðêà'
|
||||
end
|
||||
object edtTest3: TEdit
|
||||
Left = 78
|
||||
Height = 24
|
||||
Top = 192
|
||||
Width = 257
|
||||
TabOrder = 4
|
||||
Text = 'Example Ïðîâåðêà'
|
||||
end
|
||||
object cbViewerFont: TComboBox
|
||||
Left = 78
|
||||
Height = 21
|
||||
Top = 159
|
||||
Width = 272
|
||||
ItemHeight = 18
|
||||
MaxLength = 0
|
||||
OnChange = cbViewerFontChange
|
||||
ParentCtl3D = False
|
||||
TabOrder = 5
|
||||
end
|
||||
object btnSelMainFnt: TButton
|
||||
Left = 360
|
||||
Height = 23
|
||||
Top = 16
|
||||
Width = 23
|
||||
Caption = '...'
|
||||
OnClick = btnSelMainFntClick
|
||||
TabOrder = 7
|
||||
end
|
||||
object btnSelEditFnt: TButton
|
||||
Left = 360
|
||||
Height = 23
|
||||
Top = 87
|
||||
Width = 23
|
||||
Caption = '...'
|
||||
OnClick = btnSelEditFntClick
|
||||
TabOrder = 9
|
||||
end
|
||||
object btnSelViewFnt: TButton
|
||||
Left = 360
|
||||
Height = 23
|
||||
Top = 159
|
||||
Width = 23
|
||||
Caption = '...'
|
||||
OnClick = btnSelViewFntClick
|
||||
TabOrder = 11
|
||||
end
|
||||
object edtMainSize: TSpinEdit
|
||||
Left = 340
|
||||
Height = 23
|
||||
Top = 49
|
||||
Width = 68
|
||||
MaxValue = 25
|
||||
MinValue = 8
|
||||
TabOrder = 6
|
||||
Value = 14
|
||||
end
|
||||
object edtEditorSize: TSpinEdit
|
||||
Left = 340
|
||||
Height = 23
|
||||
Top = 121
|
||||
Width = 68
|
||||
MaxValue = 25
|
||||
MinValue = 8
|
||||
TabOrder = 8
|
||||
Value = 14
|
||||
end
|
||||
object edtViewerSize: TSpinEdit
|
||||
Left = 340
|
||||
Height = 23
|
||||
Top = 192
|
||||
Width = 68
|
||||
MaxValue = 25
|
||||
MinValue = 8
|
||||
TabOrder = 10
|
||||
Value = 14
|
||||
end
|
||||
end
|
||||
object TabSheet1: TTabSheet
|
||||
Caption = 'Color'
|
||||
object cTextLabel: TLabel
|
||||
Left = 25
|
||||
Height = 14
|
||||
Top = 31
|
||||
Width = 23
|
||||
Caption = 'Text'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
end
|
||||
object cBackGrndLabel: TLabel
|
||||
Left = 23
|
||||
Height = 14
|
||||
Top = 58
|
||||
Width = 58
|
||||
Caption = 'BackGround'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
end
|
||||
object cTextColor: TColorBox
|
||||
Left = 108
|
||||
Height = 24
|
||||
Top = 26
|
||||
Width = 100
|
||||
Items.Strings = (
|
||||
'clBlack'
|
||||
'clMaroon'
|
||||
'clGreen'
|
||||
'clOlive'
|
||||
'clNavy'
|
||||
'clPurple'
|
||||
'clTeal'
|
||||
'clGray'
|
||||
'clSilver'
|
||||
'clRed'
|
||||
'clLime'
|
||||
'clYellow'
|
||||
'clBlue'
|
||||
'clFuchsia'
|
||||
'clAqua'
|
||||
'clSilver'
|
||||
'clGray'
|
||||
'clWhite'
|
||||
'clCream'
|
||||
'clNone'
|
||||
'clDefault'
|
||||
)
|
||||
MaxLength = 0
|
||||
TabOrder = 0
|
||||
end
|
||||
object cbackgrndcolor: TColorBox
|
||||
Left = 108
|
||||
Height = 24
|
||||
Top = 53
|
||||
Width = 100
|
||||
Items.Strings = (
|
||||
'clBlack'
|
||||
'clMaroon'
|
||||
'clGreen'
|
||||
'clOlive'
|
||||
'clNavy'
|
||||
'clPurple'
|
||||
'clTeal'
|
||||
'clGray'
|
||||
'clSilver'
|
||||
'clRed'
|
||||
'clLime'
|
||||
'clYellow'
|
||||
'clBlue'
|
||||
'clFuchsia'
|
||||
'clAqua'
|
||||
'clSilver'
|
||||
'clGray'
|
||||
'clWhite'
|
||||
'clCream'
|
||||
'clNone'
|
||||
'clDefault'
|
||||
)
|
||||
MaxLength = 0
|
||||
TabOrder = 1
|
||||
end
|
||||
object Button1: TButton
|
||||
Left = 209
|
||||
Height = 25
|
||||
Top = 26
|
||||
Width = 27
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Caption = '>>'
|
||||
OnClick = Button1Click
|
||||
TabOrder = 2
|
||||
end
|
||||
object Button2: TButton
|
||||
Left = 208
|
||||
Height = 25
|
||||
Top = 53
|
||||
Width = 28
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Caption = '>>'
|
||||
OnClick = Button2Click
|
||||
TabOrder = 3
|
||||
end
|
||||
end
|
||||
end
|
||||
object Panel1: TPanel
|
||||
Height = 40
|
||||
Top = 272
|
||||
Width = 454
|
||||
Align = alBottom
|
||||
FullRepaint = False
|
||||
TabOrder = 1
|
||||
object btnOK: TBitBtn
|
||||
Left = 280
|
||||
Height = 25
|
||||
Top = 8
|
||||
Width = 75
|
||||
BorderSpacing.InnerBorder = 2
|
||||
Caption = '&OK'
|
||||
Kind = bkOK
|
||||
ModalResult = 1
|
||||
NumGlyphs = 0
|
||||
OnClick = btnOKClick
|
||||
TabOrder = 0
|
||||
end
|
||||
object btnCancel: TBitBtn
|
||||
Left = 368
|
||||
Height = 25
|
||||
Top = 8
|
||||
Width = 75
|
||||
BorderSpacing.InnerBorder = 2
|
||||
Caption = 'Cancel'
|
||||
Kind = bkCancel
|
||||
ModalResult = 2
|
||||
NumGlyphs = 0
|
||||
TabOrder = 1
|
||||
end
|
||||
end
|
||||
object dlgFnt: TFontDialog
|
||||
Title = 'Âûáðàòü øðèôò'
|
||||
left = 224
|
||||
top = 16
|
||||
end
|
||||
object optColorDialog: TColorDialog
|
||||
Title = 'Âûáðàòü öâåò'
|
||||
left = 224
|
||||
top = 49
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ type
|
|||
pnPanel: TPanel;
|
||||
lblLInfo: TLabel;
|
||||
pnlHeader: TPanel;
|
||||
lblLPath: TStaticText;
|
||||
lblLPath: TLabel;
|
||||
lblFree: TLabel;
|
||||
edtRename: TEdit;
|
||||
dgPanel: TDrawGrid;
|
||||
|
|
@ -109,7 +109,7 @@ type
|
|||
implementation
|
||||
|
||||
uses
|
||||
uLng, uConv, uShowMsg, uGlobs, GraphType, uPixmapManager, uOSUtils;
|
||||
uLng, uShowMsg, uGlobs, GraphType, uPixmapManager, uDCUtils, uOSUtils;
|
||||
|
||||
|
||||
procedure TFrameFilePanel.LoadPanel;
|
||||
|
|
@ -664,7 +664,7 @@ end;
|
|||
|
||||
procedure TFrameFilePanel.pnlHeaderResize(Sender: TObject);
|
||||
begin
|
||||
|
||||
lblLPath.Width:=pnlHeader.Width - 4;
|
||||
end;
|
||||
|
||||
|
||||
|
|
@ -696,11 +696,11 @@ begin
|
|||
lblFree.Width:=pnlHeader.Width*2 div 3;
|
||||
// lblFree.AutoSize:=True;
|
||||
|
||||
lblLPath:=TStaticText.Create(pnlHeader);
|
||||
lblLPath:=TLabel.Create(pnlHeader);
|
||||
lblLPath.Parent:=pnlHeader;
|
||||
lblLPath.Top:=19;
|
||||
// lblLPath.AutoSize:=True;
|
||||
lblLPath.Width:=pnlHeader.Width*2 div 3;
|
||||
lblLPath.AutoSize:=False;
|
||||
lblLPath.Width:=pnlHeader.Width - 4;
|
||||
lblLPath.Color:=clActiveCaption;
|
||||
|
||||
pnlFooter:=TPanel.Create(Self);
|
||||
|
|
|
|||
51
uConv.pas
51
uConv.pas
|
|
@ -1,51 +0,0 @@
|
|||
{
|
||||
Seksi Commander
|
||||
----------------------------
|
||||
Variate conversion utils
|
||||
|
||||
Licence : GNU GPL v 2.0
|
||||
Author : radek.cervinka@centrum.cz
|
||||
|
||||
contributors:
|
||||
|
||||
}
|
||||
unit uConv;
|
||||
|
||||
interface
|
||||
|
||||
Function cnvFormatFileSize(iSize:Int64):String;
|
||||
|
||||
implementation
|
||||
uses
|
||||
uGlobs, SysUtils;
|
||||
|
||||
Function cnvFormatFileSize(iSize:Int64):String;
|
||||
var
|
||||
d:double;
|
||||
begin
|
||||
// writeln(iSize);
|
||||
if gShortFileSizeFormat then
|
||||
begin
|
||||
// TODo Giga
|
||||
if iSize div (1024*1024) >0 then
|
||||
begin
|
||||
// writeln('Div:',Trunc(iSize*10 /(1024*1024))/10);
|
||||
Result:=FloatToStrF((iSize*10 div (1024*1024))/10, ffFixed, 15, 1)+'M'
|
||||
end
|
||||
else
|
||||
if iSize div 1024 >0 then
|
||||
begin
|
||||
Result:=FloatToStrF((iSize*10 div 1024)/10, ffFixed, 15, 1)+'K'
|
||||
end
|
||||
else
|
||||
Result:=IntToStr(iSize);
|
||||
end
|
||||
else
|
||||
begin
|
||||
d:=iSize;
|
||||
Result:=Format('%8.0n',[d]);
|
||||
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
|
@ -30,7 +30,7 @@ type
|
|||
|
||||
implementation
|
||||
uses
|
||||
SysUtils, Classes, uLng, uShowMsg, uFilter, uFileProcs, FindEx, uOSUtils {$IFNDEF WIN32}, BaseUnix, Unix{$ENDIF};
|
||||
SysUtils, Classes, uLng, uShowMsg, uFileProcs, FindEx, uDCUtils, uOSUtils {$IFNDEF WIN32}, BaseUnix, Unix{$ENDIF};
|
||||
|
||||
const
|
||||
cBlockSize=16384; // size of block if copyfile
|
||||
|
|
@ -176,6 +176,7 @@ begin
|
|||
Synchronize(@FFileOpDlg.UpdateDlg);
|
||||
Result:=CorrectFileInfo(sSrc, sDst); // chmod, chgrp, udate a spol
|
||||
finally
|
||||
WriteLN('finally');
|
||||
if assigned(src) then
|
||||
FreeAndNil(src);
|
||||
if assigned(dst) then
|
||||
|
|
|
|||
221
udcutils.pas
Normal file
221
udcutils.pas
Normal file
|
|
@ -0,0 +1,221 @@
|
|||
{
|
||||
Double Commander
|
||||
----------------------------
|
||||
Licence : GNU GPL v 2.0
|
||||
Author : Alexander Koblov (Alexx2000@mail.ru)
|
||||
|
||||
Several useful functions
|
||||
|
||||
contributors:
|
||||
Radek Cervinka <radek.cervinka@centrum.cz>
|
||||
|
||||
Part of this code got from http://www.delphirus.com.ru
|
||||
|
||||
}
|
||||
|
||||
unit uDCUtils;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, Graphics;
|
||||
|
||||
Function cnvFormatFileSize(iSize:Int64):String;
|
||||
Function MinimizeFilePath(const PathToMince: String; Canvas: TCanvas;
|
||||
MaxLen: Integer): String;
|
||||
function FileMaskEquate(F, M: string): boolean;
|
||||
procedure DivFileName(const sFileName:String; var n,e:String);
|
||||
|
||||
implementation
|
||||
uses
|
||||
uGlobs;
|
||||
|
||||
Function cnvFormatFileSize(iSize:Int64):String;
|
||||
var
|
||||
d:double;
|
||||
begin
|
||||
// writeln(iSize);
|
||||
if gShortFileSizeFormat then
|
||||
begin
|
||||
// TODo Giga
|
||||
if iSize div (1024*1024) >0 then
|
||||
begin
|
||||
// writeln('Div:',Trunc(iSize*10 /(1024*1024))/10);
|
||||
Result:=FloatToStrF((iSize*10 div (1024*1024))/10, ffFixed, 15, 1)+'M'
|
||||
end
|
||||
else
|
||||
if iSize div 1024 >0 then
|
||||
begin
|
||||
Result:=FloatToStrF((iSize*10 div 1024)/10, ffFixed, 15, 1)+'K'
|
||||
end
|
||||
else
|
||||
Result:=IntToStr(iSize);
|
||||
end
|
||||
else
|
||||
begin
|
||||
d:=iSize;
|
||||
Result:=Format('%8.0n',[d]);
|
||||
|
||||
end;
|
||||
end;
|
||||
|
||||
{=========================================================}
|
||||
Function MinimizeFilePath(const PathToMince: String; Canvas: TCanvas;
|
||||
MaxLen: Integer): String;
|
||||
{=========================================================}
|
||||
// "C:\Program Files\Delphi\DDropTargetDemo\main.pas"
|
||||
// "C:\Program Files\..\main.pas"
|
||||
Var
|
||||
sl: TStringList;
|
||||
sHelp, sFile,
|
||||
sFirst: String;
|
||||
iPos: Integer;
|
||||
|
||||
Begin
|
||||
sHelp := PathToMince;
|
||||
iPos := Pos(PathDelim, sHelp);
|
||||
If iPos = 0 Then
|
||||
Begin
|
||||
Result := PathToMince;
|
||||
End
|
||||
Else
|
||||
Begin
|
||||
sl := TStringList.Create;
|
||||
// Decode string
|
||||
While iPos <> 0 Do
|
||||
Begin
|
||||
sl.Add(Copy(sHelp, 1, (iPos - 1)));
|
||||
sHelp := Copy(sHelp, (iPos + 1), Length(sHelp));
|
||||
iPos := Pos(PathDelim, sHelp);
|
||||
End;
|
||||
If sHelp <> '' Then
|
||||
Begin
|
||||
sl.Add(sHelp);
|
||||
End;
|
||||
// Encode string
|
||||
sFirst := sl[0];
|
||||
sFile := sl[sl.Count - 1];
|
||||
sl.Delete(sl.Count - 1);
|
||||
Result := '';
|
||||
MaxLen := MaxLen - Canvas.TextWidth('XXX');
|
||||
if (sl.Count <> 0) and (Canvas.TextWidth(Result + sl[0] + PathDelim + sFile) < MaxLen) then
|
||||
begin
|
||||
While (sl.Count <> 0) and (Canvas.TextWidth(Result + sl[0] + PathDelim + sFile) < MaxLen) Do
|
||||
Begin
|
||||
Result := Result + sl[0] + PathDelim;
|
||||
sl.Delete(0);
|
||||
End;
|
||||
If sl.Count = 0 Then
|
||||
Begin
|
||||
Result := Result + sFile;
|
||||
End
|
||||
Else
|
||||
Begin
|
||||
Result := Result + '..' + PathDelim + sFile;
|
||||
End;
|
||||
end
|
||||
else
|
||||
If sl.Count = 0 Then
|
||||
Begin
|
||||
Result := sFirst + PathDelim;
|
||||
End
|
||||
Else
|
||||
Begin
|
||||
Result := sFirst + PathDelim + '..' + PathDelim + sFile;
|
||||
End;
|
||||
sl.Free;
|
||||
End;
|
||||
//WriteLN('PathX ' , Result);
|
||||
if Canvas.TextWidth(Result) > MaxLen + Canvas.TextWidth('XXX') then
|
||||
begin
|
||||
while Canvas.TextWidth(Result) > MaxLen do
|
||||
begin
|
||||
Delete(Result, Length(Result), 1);
|
||||
end;
|
||||
Result := Copy(Result, 1, Length(Result) - 3) + '...';
|
||||
end;
|
||||
End;
|
||||
|
||||
procedure DivFileName(const sFileName:String; var n,e:String);
|
||||
var
|
||||
i:Integer;
|
||||
begin
|
||||
for i:= length(sFileName) downto 1 do
|
||||
if sFileName[i]='.' then
|
||||
begin
|
||||
// if i>1 then // hidden files??
|
||||
e:=Copy(sFileName,i,Length(sFileName)-i+1);
|
||||
n:=Copy(sFileName,1,i-1);
|
||||
Exit;
|
||||
end;
|
||||
e:='';
|
||||
n:=sFileName;
|
||||
end;
|
||||
|
||||
|
||||
{ **** UBPFD *********** by delphibase.endimus.com ****
|
||||
>> Ïðîâåðêà íà ñîîòâåòñòâèå èìåíè ôàéëà çàäàííîé ìàñêå
|
||||
|
||||
Çàâèñèìîñòè: sysutils
|
||||
Àâòîð: Dmitry Raduzhan
|
||||
Copyright: Dmitry Raduzhan
|
||||
Äàòà: 24 ìàðòà 2004 ã.
|
||||
***************************************************** }
|
||||
|
||||
function FileMaskEquate(F, M: string): boolean;
|
||||
var
|
||||
Fl, Ml: byte; // length of file name and mask
|
||||
Fp, Mp: byte; // pointers
|
||||
begin
|
||||
F := UpperCase(F);
|
||||
M := UpperCase(M);
|
||||
result := true;
|
||||
Fl := length(F);
|
||||
Ml := length(M);
|
||||
Fp := 1;
|
||||
Mp := 1;
|
||||
while Mp <= Ml do
|
||||
begin // wildcard
|
||||
case M[Mp] of //
|
||||
'?':
|
||||
begin // if one any char
|
||||
inc(Mp); // next char of mask
|
||||
inc(Fp); // next char of file name
|
||||
end; //
|
||||
'*':
|
||||
begin // if any chars
|
||||
if Mp = Ml then
|
||||
exit; // if last char in mask then exit
|
||||
if M[Mp + 1] = F[Fp] then
|
||||
begin // if next char in mask equate char in
|
||||
Inc(Mp); // file name then next char in mask and
|
||||
end
|
||||
else
|
||||
begin // else
|
||||
if Fp = Fl then
|
||||
begin // if last char in file name then
|
||||
result := false; // function return false
|
||||
exit; //
|
||||
end; // else, if not previous, then
|
||||
inc(Fp); // next char in file name
|
||||
end; //
|
||||
end; //
|
||||
else
|
||||
begin // other char in mask
|
||||
if M[Mp] <> F[Fp] then
|
||||
begin // if char in mask not equate char in
|
||||
result := false; // file name then function return
|
||||
exit; // false
|
||||
end; // else
|
||||
inc(Fp); // next char of mask
|
||||
inc(Mp); // next char of file name
|
||||
end //
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
end.
|
||||
|
||||
|
|
@ -8,7 +8,6 @@ Licence : GNU GPL v 2.0
|
|||
Author : radek.cervinka@centrum.cz
|
||||
|
||||
contributors:
|
||||
|
||||
Koblov Alexander (Alexx2000@mail.ru)
|
||||
}
|
||||
unit uFileOpThread;
|
||||
|
|
@ -74,7 +73,7 @@ const
|
|||
implementation
|
||||
|
||||
uses
|
||||
SysUtils, uLng, uFilter, uFileProcs, Forms, FindEx, uOSUtils;
|
||||
SysUtils, uLng, uFileProcs, Forms, FindEx, uDCUtils, uOSUtils;
|
||||
|
||||
{ TFileOpThread }
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ type
|
|||
private
|
||||
fFileList:TFileList;
|
||||
fVFS : TVFS;
|
||||
flblPath:TStaticText;
|
||||
flblPath:TLabel;
|
||||
fPanel:TDrawGrid;
|
||||
fSortCol:Integer;
|
||||
fSortDirect:Boolean;
|
||||
|
|
@ -46,7 +46,7 @@ type
|
|||
public
|
||||
// iLastDrawnIndex :Integer; // fucking dirty hack (OnDrawItem
|
||||
|
||||
constructor Create(APanel:TDrawGrid; AlblPath: TStaticText; AlblCurPath, AlblFree:TLabel; AedtCommand:TComboBox);
|
||||
constructor Create(APanel:TDrawGrid; AlblPath: TLabel; AlblCurPath, AlblFree:TLabel; AedtCommand:TComboBox);
|
||||
Destructor Destroy; override;
|
||||
procedure LoadPanel;
|
||||
procedure LoadPanelVFS(frp:PFileRecItem);
|
||||
|
|
@ -93,10 +93,10 @@ implementation
|
|||
|
||||
uses
|
||||
SysUtils, uFileOp, uGlobs,
|
||||
uShowMsg, Controls, uFilter, uConv, uLng, uShowForm,
|
||||
uShowMsg, Controls, uLng, uShowForm, uDCUtils,
|
||||
uOSUtils;
|
||||
|
||||
constructor TFilePanel.Create(APanel:TDrawGrid; AlblPath: TStaticText; AlblCurPath, AlblFree:TLabel; AedtCommand:TComboBox);
|
||||
constructor TFilePanel.Create(APanel:TDrawGrid; AlblPath: TLabel; AlblCurPath, AlblFree:TLabel; AedtCommand:TComboBox);
|
||||
begin
|
||||
fPanel:=APanel;
|
||||
fRefList:=TList.Create;
|
||||
|
|
@ -134,12 +134,17 @@ var
|
|||
bAnyRow:Boolean;
|
||||
begin
|
||||
case fPanelMode of
|
||||
pmDirectory: flblPath.Caption:=' '+ActiveDir;
|
||||
pmArchive: flblPath.Caption:=' '+ExtractFileName(fPathHistory.GetLastPath)+':'+ActiveDir;
|
||||
pmFTP: flblPath.Caption:=' fix me: FTP is only prepared';
|
||||
pmDirectory:
|
||||
flblPath.Caption:=' '+MinimizeFilePath(ActiveDir, flblPath.Canvas, flblPath.Width);
|
||||
pmArchive:
|
||||
flblPath.Caption:=' '+ExtractFileName(fPathHistory.GetLastPath)+':'+ActiveDir;
|
||||
pmFTP:
|
||||
flblPath.Caption:=' fix me: FTP is only prepared';
|
||||
else
|
||||
Raise Exception.Create('fix me:UpdatePanel:bad panelmode');
|
||||
end;
|
||||
//flblPath.Height := 14;
|
||||
//WriteLN('Path = ', flblPath.Caption);
|
||||
// writeln('fPanel.Row:',fPanel.Row);
|
||||
// writeln('TFilePanel:', fFileList.Count);
|
||||
bAnyRow:=fPanel.Row>=0;
|
||||
|
|
@ -501,23 +506,16 @@ end;
|
|||
|
||||
procedure TFilePanel.MarkGroup(const sMask:String; bSelect:Boolean);
|
||||
var
|
||||
flt:TFilter;
|
||||
i:Integer;
|
||||
frp:PFileRecItem;
|
||||
begin
|
||||
flt:=TFilter.Create;
|
||||
try
|
||||
flt.FileMask:=sMask;
|
||||
for i:=0 to fFileList.Count-1 do
|
||||
begin
|
||||
frp:=fFileList.GetItem(i);
|
||||
if (frp^.sName='..') then Continue;
|
||||
if flt.CheckFileMask(frp^.sName) then
|
||||
if FileMaskEquate(frp^.sName, sMask) then
|
||||
frp^.bSelected := bSelect;
|
||||
end;
|
||||
finally
|
||||
FreeAndNil(flt);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFilePanel.UpdatePrompt;
|
||||
|
|
|
|||
122
ufilter.pas
122
ufilter.pas
|
|
@ -1,122 +0,0 @@
|
|||
{
|
||||
Seksi Commander
|
||||
----------------------------
|
||||
Licence : GNU GPL v 2.0
|
||||
Author : radek.cervinka@centrum.cz
|
||||
|
||||
check file name with wildcards
|
||||
|
||||
contributors:
|
||||
|
||||
}
|
||||
|
||||
unit uFilter;
|
||||
{$mode objfpc}{$H+}
|
||||
interface
|
||||
type
|
||||
TFilter=Class
|
||||
|
||||
protected
|
||||
FMaskFileName:String;
|
||||
FMaskFileExt:String;
|
||||
FbNameHasWild:Boolean;
|
||||
FbExtHasWild:Boolean;
|
||||
procedure SetFileMask(const Value:String);
|
||||
function GetFileMask:String;
|
||||
public
|
||||
constructor Create;
|
||||
Function CheckFileMask(const s:String):Boolean;
|
||||
property FileMask:String read GetFileMask write SetFileMask;
|
||||
end;
|
||||
|
||||
procedure DivFileName(const sFileName:String; var n,e:String);
|
||||
|
||||
|
||||
implementation
|
||||
uses
|
||||
SysUtils;
|
||||
|
||||
procedure DivFileName(const sFileName:String; var n,e:String);
|
||||
var
|
||||
i:Integer;
|
||||
begin
|
||||
for i:= length(sFileName) downto 1 do
|
||||
if sFileName[i]='.' then
|
||||
begin
|
||||
// if i>1 then // hidden files??
|
||||
e:=Copy(sFileName,i,Length(sFileName)-i+1);
|
||||
n:=Copy(sFileName,1,i-1);
|
||||
Exit;
|
||||
end;
|
||||
e:='';
|
||||
n:=sFileName;
|
||||
end;
|
||||
|
||||
constructor TFilter.Create;
|
||||
begin
|
||||
inherited;
|
||||
FileMask:='*.*';
|
||||
end;
|
||||
|
||||
procedure TFilter.SetFileMask(const Value:String);
|
||||
begin
|
||||
DivFileName(Value,FMaskFileName, FMaskFileExt);
|
||||
FbNameHasWild:=pos('*',FMaskFileName)>0;
|
||||
FbExtHasWild:=pos('*',FMaskFileExt)>0;
|
||||
if FbNameHasWild then
|
||||
FMaskFileName:=StringReplace(FMaskFileName,'*','',[rfReplaceAll]);
|
||||
if FbExtHasWild then
|
||||
FMaskFileExt:=StringReplace(FMaskFileExt,'*','',[rfReplaceAll]);
|
||||
end;
|
||||
|
||||
function TFilter.GetFileMask:String;
|
||||
begin
|
||||
Result:=FMaskFileName+FMaskFileExt;
|
||||
end;
|
||||
|
||||
Function TFilter.CheckFileMask(const s:String):Boolean;
|
||||
var
|
||||
sName, sExt:String;
|
||||
bNameOK, bExtOK:Boolean;
|
||||
begin
|
||||
DivFileName(s,sName, sExt);
|
||||
// only needed tests are performed
|
||||
|
||||
// First we check if mask exists or only *.*
|
||||
bNameOK:=(FMaskFileName='');
|
||||
bExtOK:=(FMaskFileExt='.');
|
||||
Result:=bNameOK AND bExtOK;
|
||||
if Result then Exit;
|
||||
|
||||
// check if strings is =
|
||||
if not bNameOK then
|
||||
begin
|
||||
if FMaskFileName=sName then
|
||||
bNameOK:=True;
|
||||
end;
|
||||
if not bExtOK then
|
||||
begin
|
||||
if FMaskFileExt=sExt then
|
||||
bExtOK:=True;
|
||||
end;
|
||||
Result:=bNameOK AND bExtOK;
|
||||
if Result then Exit;
|
||||
|
||||
// now examine *bla* -- case sensitive
|
||||
if FbNameHasWild and not bNameOK then
|
||||
begin
|
||||
if Pos(FMaskFileName,s)>0 then
|
||||
bNameOK:=True;
|
||||
end;
|
||||
if FbExtHasWild and not bExtOK then
|
||||
begin
|
||||
if Pos(FMaskFileExt,s)>0 then
|
||||
bExtOK:=True;
|
||||
end;
|
||||
Result:=bNameOK AND bExtOK;
|
||||
if Result then Exit;
|
||||
|
||||
//
|
||||
end;
|
||||
|
||||
end.
|
||||
518
ufindthread.pas
518
ufindthread.pas
|
|
@ -1,221 +1,297 @@
|
|||
{
|
||||
Seksi Commander
|
||||
----------------------------
|
||||
Licence : GNU GPL v 2.0
|
||||
Author : radek.cervinka@centrum.cz
|
||||
|
||||
Thread for search in files (called from frmSearchDlg)
|
||||
|
||||
contributors:
|
||||
|
||||
Alexander Koblov (Alexx2000@mail.ru)
|
||||
|
||||
}
|
||||
{.$threading on}
|
||||
|
||||
unit uFindThread;
|
||||
{$mode objfpc}{$H+}
|
||||
{$DEFINE NOFAKETHREAD}
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, StdCtrls, uFilter {$IFNDEF NOFAKETHREAD}, uFakeThread{$ENDIF};
|
||||
|
||||
type
|
||||
{$IFDEF NOFAKETHREAD}
|
||||
TFindThread = class(TThread)
|
||||
{$ELSE}
|
||||
TFindThread = class(TFakeThread)
|
||||
{$ENDIF}
|
||||
|
||||
private
|
||||
{ Private declarations }
|
||||
FPathStart:String;
|
||||
FItems: TStrings;
|
||||
FFindInFiles:Boolean;
|
||||
FStatus: TLabel;
|
||||
FCurrent: TLabel;
|
||||
FCurrentFile:String;
|
||||
FFilesScaned:Integer;
|
||||
FFoundFile:String;
|
||||
FFindData:String;
|
||||
FCaseSens:Boolean;
|
||||
FFilter:TFilter; // filter mask object
|
||||
protected
|
||||
procedure Execute; override;
|
||||
public
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
procedure AddFile;
|
||||
procedure WalkAdr(const sNewDir:String);
|
||||
procedure UpDateProgress;
|
||||
procedure SetFilterMask(const Val:String);
|
||||
function GetFilterMask:String;
|
||||
property FilterMask:String read GetFilterMask write SetFilterMask;
|
||||
property PathStart:String read FPathStart write FPathStart;
|
||||
property Items:TStrings write FItems;
|
||||
property FindInFiles:Boolean write FFindInFiles;
|
||||
property Status:TLabel read FStatus write FStatus;
|
||||
property Current:TLabel read FCurrent write FCurrent; // label current file
|
||||
property CaseSensitive:boolean read FCaseSens write FCaseSens;
|
||||
property FindData:String read FFindData write FFindData;
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
SysUtils, Dialogs, uLng{$IFNDEF WIN32}, uFindMmap, BaseUnix{$ENDIF};
|
||||
{ TFindThread }
|
||||
|
||||
|
||||
constructor TFindThread.Create;
|
||||
begin
|
||||
writeln('thread b');
|
||||
inherited Create(True);
|
||||
FFilter:=TFilter.Create;
|
||||
FCaseSens:=True;
|
||||
FFilesScaned:=0;
|
||||
FilterMask:='*';
|
||||
{$IFDEF WIN32}
|
||||
FPathStart:='C:\';
|
||||
{$ELSE}
|
||||
FPathStart:='/';
|
||||
{$ENDIF}
|
||||
FItems:=Nil;
|
||||
end;
|
||||
|
||||
destructor TFindThread.Destroy;
|
||||
begin
|
||||
if assigned(FFilter) then
|
||||
FreeAndNil(FFilter)
|
||||
end;
|
||||
|
||||
procedure TFindThread.Execute;
|
||||
var
|
||||
sCurrDir:String;
|
||||
begin
|
||||
try
|
||||
writeln('thread b2');
|
||||
assert(Assigned(FItems),'assert:FItems is empty');
|
||||
Synchronize(@UpDateProgress);
|
||||
if FPathStart[length(FPathStart)]='/' then
|
||||
Delete(FPathStart,length(FPathStart),1);
|
||||
sCurrDir:=GetCurrentDir;
|
||||
try
|
||||
writeln('thread b',FPathStart);
|
||||
WalkAdr(FPathStart);
|
||||
finally
|
||||
ChDir(sCurrDir);
|
||||
end;
|
||||
// MessageBeep(1000);
|
||||
writeln('thread end');
|
||||
|
||||
except
|
||||
on E:Exception do
|
||||
ShowMessage(E.Message);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFindThread.AddFile;
|
||||
begin
|
||||
FItems.Add(FFoundFile);
|
||||
end;
|
||||
|
||||
procedure TFindThread.UpDateProgress;
|
||||
begin
|
||||
FStatus.Caption:=Format(lngGetString(clngFindScaned),[FFilesScaned]);
|
||||
FCurrent.Caption:=FCurrentFile;
|
||||
end;
|
||||
|
||||
function FindInFile(const sFileName:String; sData: String; bCase:Boolean): Boolean;
|
||||
{$IFDEF WIN32}
|
||||
var
|
||||
fs:TFileStream;
|
||||
s:Char;
|
||||
i:Integer;
|
||||
lastPos:Integer;
|
||||
begin
|
||||
Result:=False;
|
||||
if sData='' then Exit;
|
||||
fs:=TFileStream.Create(sFileName,fmOpenRead);
|
||||
if not bCase then
|
||||
sData:=AnsiUpperCase(sData);
|
||||
try
|
||||
try
|
||||
while fs.Position<=fs.Size do
|
||||
begin
|
||||
fs.Read(s,1);
|
||||
lastPos:=fs.Position;
|
||||
i:=1;
|
||||
if not bCase then
|
||||
s:=UpCase(s); // neni case sensitivni
|
||||
while (i<=length(sData)) and (s=sdata[i]) do
|
||||
begin
|
||||
fs.Read(s,1);
|
||||
inc(i);
|
||||
end;
|
||||
if i>length(sData) then
|
||||
Result:=True; // nalezeno
|
||||
if fs.Position<>lastPos then
|
||||
fs.Seek(lastPos,soFromBeginning);
|
||||
end; // while
|
||||
finally
|
||||
fs.Free;
|
||||
end;
|
||||
except
|
||||
On E:Exception do
|
||||
ShowMessage('Chyba (FindData):'+E.Message);
|
||||
end;
|
||||
end;
|
||||
|
||||
{$ELSE} // *nix
|
||||
begin
|
||||
Result := FindMmap(sFileName, sData, bCase);
|
||||
end;
|
||||
{$ENDIF}
|
||||
|
||||
procedure TFindThread.WalkAdr(const sNewDir:String);
|
||||
var
|
||||
sr: TSearchRec;
|
||||
begin
|
||||
writeln(sNewDir);
|
||||
if not SetCurrentDir(sNewDir) then Exit;
|
||||
if FindFirst('*', faAnyFile, sr)<>0 then Exit;
|
||||
repeat
|
||||
if (sr.Name='.') or (sr.Name='..') then Continue;
|
||||
inc(FFilesScaned);
|
||||
writeln(sr.Name);
|
||||
if FFindInFiles then
|
||||
begin
|
||||
if FFilter.CheckFileMask(sr.Name) and FindInFile(sNewDir+DirectorySeparator+sr.Name,FFindData,FCaseSens) then
|
||||
begin
|
||||
fFoundFile:=sNewDir+DirectorySeparator+sr.Name;
|
||||
Synchronize(@AddFile);
|
||||
end;
|
||||
end
|
||||
else
|
||||
if FFilter.CheckFileMask(sr.Name)then
|
||||
begin
|
||||
fFoundFile:=sNewDir+DirectorySeparator+sr.Name;
|
||||
Synchronize(@AddFile);
|
||||
end;
|
||||
FCurrentFile:=sNewDir+DirectorySeparator+sr.Name;
|
||||
Synchronize(@UpDateProgress);
|
||||
if (sr.Attr and faDirectory)>0 then
|
||||
WalkAdr(sNewDir+DirectorySeparator+sr.Name);
|
||||
until (FindNext(sr)<>0)or terminated;
|
||||
FindClose(sr);
|
||||
end;
|
||||
|
||||
procedure TFindThread.SetFilterMask(const Val:String);
|
||||
begin
|
||||
FFilter.FileMask:=Val;
|
||||
end;
|
||||
|
||||
function TFindThread.GetFilterMask:String;
|
||||
begin
|
||||
Result:=FFilter.FileMask;
|
||||
end;
|
||||
|
||||
end.
|
||||
{
|
||||
Seksi Commander
|
||||
----------------------------
|
||||
Licence : GNU GPL v 2.0
|
||||
Author : radek.cervinka@centrum.cz
|
||||
|
||||
Thread for search in files (called from frmSearchDlg)
|
||||
|
||||
contributors:
|
||||
|
||||
Alexander Koblov (Alexx2000@mail.ru)
|
||||
|
||||
}
|
||||
|
||||
|
||||
unit uFindThread;
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, StdCtrls, uDCUtils, SysUtils;
|
||||
|
||||
type
|
||||
|
||||
{ TFindThread }
|
||||
|
||||
TFindThread = class(TThread)
|
||||
private
|
||||
{ Private declarations }
|
||||
FPathStart:String;
|
||||
FItems: TStrings;
|
||||
FFindInFiles:Boolean;
|
||||
FStatus: TLabel;
|
||||
FCurrent: TLabel;
|
||||
FCurrentFile:String;
|
||||
FFilesScaned:Integer;
|
||||
FFoundFile:String;
|
||||
|
||||
FFileMask : String;
|
||||
FAttributes: Cardinal;
|
||||
FCaseSens:Boolean;
|
||||
{Date search}
|
||||
FIsDateFrom,
|
||||
FIsDateTo : Boolean;
|
||||
FDateFrom,
|
||||
FDateTo : TDateTime;
|
||||
(* File size search *)
|
||||
FIsFileSizeFrom,
|
||||
FIsFileSizeTo : Boolean;
|
||||
FFileSizeFrom,
|
||||
FFileSizeTo : Integer;
|
||||
|
||||
FFindData:String;
|
||||
|
||||
function CheckFileDate(Date : LongInt) : Boolean;
|
||||
function CheckFileSize(FileSize : LongInt) : Boolean;
|
||||
function CheckFile(const Folder : String; const sr : TSearchRec) : Boolean;
|
||||
protected
|
||||
procedure Execute; override;
|
||||
public
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
procedure AddFile;
|
||||
procedure WalkAdr(const sNewDir:String);
|
||||
procedure UpDateProgress;
|
||||
property FilterMask:String read FFileMask write FFileMask;
|
||||
property PathStart:String read FPathStart write FPathStart;
|
||||
property Items:TStrings write FItems;
|
||||
property FindInFiles:Boolean write FFindInFiles;
|
||||
property Status:TLabel read FStatus write FStatus;
|
||||
property Current:TLabel read FCurrent write FCurrent; // label current file
|
||||
property CaseSensitive:boolean read FCaseSens write FCaseSens;
|
||||
property FindData:String read FFindData write FFindData;
|
||||
(* Date search *)
|
||||
property IsDateFrom:Boolean read FIsDateFrom write FIsDateFrom;
|
||||
property IsDateTo:Boolean read FIsDateTo write FIsDateTo;
|
||||
property DateFrom:TDateTime read FDateFrom write FDateFrom;
|
||||
property DateTo:TDateTime read FDateTo write FDateTo;
|
||||
(* File size search *)
|
||||
property IsFileSizeFrom : Boolean read FIsFileSizeFrom write FIsFileSizeFrom;
|
||||
property IsFileSizeTo : Boolean read FIsFileSizeTo write FIsFileSizeTo;
|
||||
property FileSizeFrom : LongInt read FFileSizeFrom write FFileSizeFrom;
|
||||
property FileSizeTo : LongInt read FFileSizeTo write FFileSizeTo;
|
||||
|
||||
property Attributes: Cardinal read FAttributes write FAttributes default
|
||||
(faArchive or faReadonly or faHidden or faSysFile or faDirectory);
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
Dialogs, uLng{$IFNDEF WIN32}, uFindMmap, BaseUnix{$ENDIF};
|
||||
{ TFindThread }
|
||||
|
||||
|
||||
constructor TFindThread.Create;
|
||||
begin
|
||||
writeln('thread b');
|
||||
inherited Create(True);
|
||||
//FFilter:=TFilter.Create;
|
||||
FCaseSens:=True;
|
||||
FFilesScaned:=0;
|
||||
FilterMask:='*';
|
||||
{$IFDEF WIN32}
|
||||
FPathStart:='C:\';
|
||||
{$ELSE}
|
||||
FPathStart:='/';
|
||||
{$ENDIF}
|
||||
FItems:=Nil;
|
||||
end;
|
||||
|
||||
destructor TFindThread.Destroy;
|
||||
begin
|
||||
//if assigned(FFilter) then
|
||||
//FreeAndNil(FFilter)
|
||||
end;
|
||||
|
||||
procedure TFindThread.Execute;
|
||||
var
|
||||
sCurrDir:String;
|
||||
begin
|
||||
try
|
||||
writeln('thread b2');
|
||||
assert(Assigned(FItems),'assert:FItems is empty');
|
||||
Synchronize(@UpDateProgress);
|
||||
if FPathStart[length(FPathStart)]='/' then
|
||||
Delete(FPathStart,length(FPathStart),1);
|
||||
sCurrDir:=GetCurrentDir;
|
||||
try
|
||||
writeln('thread b',FPathStart);
|
||||
WalkAdr(FPathStart);
|
||||
finally
|
||||
ChDir(sCurrDir);
|
||||
end;
|
||||
// MessageBeep(1000);
|
||||
writeln('thread end');
|
||||
|
||||
except
|
||||
on E:Exception do
|
||||
ShowMessage(E.Message);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFindThread.AddFile;
|
||||
begin
|
||||
FItems.Add(FFoundFile);
|
||||
end;
|
||||
|
||||
procedure TFindThread.UpDateProgress;
|
||||
begin
|
||||
FStatus.Caption:=Format(lngGetString(clngFindScaned),[FFilesScaned]);
|
||||
FCurrent.Caption:=FCurrentFile;
|
||||
end;
|
||||
|
||||
|
||||
function FindInFile(const sFileName:String; sData: String; bCase:Boolean): Boolean;
|
||||
{$IFDEF WIN32}
|
||||
const
|
||||
BufferSize = 4096;
|
||||
var
|
||||
fs: TFileStream;
|
||||
lastPos, sDataLength,
|
||||
OffsetPos: Cardinal;
|
||||
Buffer: array[0..BufferSize-1] of Char;
|
||||
|
||||
Compare: function(Str1, Str2: PChar; MaxLen: SizeInt): SizeInt;
|
||||
|
||||
begin
|
||||
Result := False;
|
||||
if sData = '' then Exit;
|
||||
|
||||
if bCase then
|
||||
Compare := @StrLIComp
|
||||
else
|
||||
Compare := @StrLComp;
|
||||
|
||||
sDataLength := Length(sData);
|
||||
|
||||
try
|
||||
fs := TFileStream.Create(sFileName, fmOpenRead or fmShareDenyNone);
|
||||
try
|
||||
repeat
|
||||
OffsetPos := fs.Read(Buffer, BufferSize) - sDataLength;
|
||||
lastPos := 0;
|
||||
while (not Result) and (lastPos <= OffsetPos) do
|
||||
begin
|
||||
Result := (Compare(PChar(sData), @Buffer[lastPos], sDataLength) = 0);
|
||||
inc(lastPos);
|
||||
end;
|
||||
|
||||
until fs.Position >= fs.Size;
|
||||
except
|
||||
end;
|
||||
finally
|
||||
fs.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
{$ELSE} // *nix
|
||||
begin
|
||||
Result := FindMmap(sFileName, sData, bCase);
|
||||
end;
|
||||
{$ENDIF}
|
||||
|
||||
function TFindThread.CheckFileDate(Date : LongInt) : Boolean;
|
||||
var
|
||||
DateTime: TDateTime;
|
||||
begin
|
||||
Result := True;
|
||||
DateTime := FileDateToDateTime(Date);
|
||||
|
||||
if FIsDateFrom then
|
||||
Result := (DateTime >= FDateFrom);
|
||||
|
||||
if (FIsDateTo and Result) then
|
||||
Result := (DateTime <= FDateTo);
|
||||
|
||||
end;
|
||||
|
||||
function TFindThread.CheckFileSize(FileSize: LongInt): Boolean;
|
||||
begin
|
||||
Result := True;
|
||||
if FIsFileSizeFrom then
|
||||
Result := (FileSize >= FFileSizeFrom);
|
||||
|
||||
if (FIsFileSizeTo and Result) then
|
||||
Result := (FileSize <= FFileSizeTo);
|
||||
end;
|
||||
|
||||
function TFindThread.CheckFile(const Folder : String; const sr : TSearchRec) : Boolean;
|
||||
begin
|
||||
Result := True;
|
||||
{$IFDEF WIN32}
|
||||
(* This is hack *)
|
||||
if not FileMaskEquate(sr.Name, FFileMask) then
|
||||
begin
|
||||
Result := False;
|
||||
Exit;
|
||||
end;
|
||||
{$ENDIF}
|
||||
if (FIsDateFrom or FIsDateTo) then
|
||||
Result := CheckFileDate(sr.Time);
|
||||
|
||||
if (FIsFileSizeFrom or FIsFileSizeTo) and Result then
|
||||
Result := CheckFileSize(sr.Size);
|
||||
|
||||
if (FFindInFiles and Result) then
|
||||
Result := FindInFile(Folder + PathDelim + sr.Name, FFindData, FCaseSens);
|
||||
|
||||
end;
|
||||
|
||||
procedure TFindThread.WalkAdr(const sNewDir:String);
|
||||
var
|
||||
sr: TSearchRec;
|
||||
Path : String;
|
||||
begin
|
||||
writeln(sNewDir);
|
||||
if not SetCurrentDir(sNewDir) then Exit;
|
||||
|
||||
Path := sNewDir + PathDelim + FFileMask;
|
||||
//WriteLN('Path = ', Path);
|
||||
|
||||
if FindFirst(Path, faAnyFile, sr)<>0 then Exit;
|
||||
repeat
|
||||
if (sr.Name='.') or (sr.Name='..') then Continue;
|
||||
inc(FFilesScaned);
|
||||
//writeln(sr.Name);
|
||||
|
||||
if CheckFile(sNewDir, sr) then
|
||||
begin
|
||||
fFoundFile:=sNewDir + PathDelim + sr.Name;
|
||||
Synchronize(@AddFile);
|
||||
end;
|
||||
|
||||
FCurrentFile:=sNewDir + PathDelim + sr.Name;
|
||||
Synchronize(@UpDateProgress);
|
||||
until (FindNext(sr)<>0)or terminated;
|
||||
FindClose(sr);
|
||||
|
||||
{Search in sub folders}
|
||||
if not Terminated then
|
||||
begin
|
||||
Path := sNewDir + PathDelim + '*';
|
||||
WriteLN('Search in sub folders = ', Path);
|
||||
if not Terminated and (FindFirst(Path, faDirectory, sr) = 0) then
|
||||
repeat
|
||||
if (sr.Name[1] <> '.') then
|
||||
WalkAdr(sNewDir + PathDelim + sr.Name);
|
||||
until Terminated or (FindNext(sr) <> 0);
|
||||
FindClose(sr);
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
end.
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ type
|
|||
|
||||
implementation
|
||||
uses
|
||||
uFileProcs, SysUtils, uLng, uFilter, uOSUtils;
|
||||
uFileProcs, SysUtils, uLng, uDCUtils, uOSUtils;
|
||||
|
||||
|
||||
procedure TMoveThread.MainExecute;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue