ADD: Octal attributes

This commit is contained in:
Alexander Koblov 2009-04-15 20:00:47 +00:00
commit ea2563a8d0
12 changed files with 192 additions and 65 deletions

View file

@ -315,10 +315,15 @@ object frmFileProperties: TfrmFileProperties
ParentColor = False
end
object lblAttrTextStr: TLabel
AnchorSideLeft.Control = tsAttributes
AnchorSideTop.Control = edtOctal
AnchorSideTop.Side = asrBottom
Left = 8
Height = 19
Top = 203
Top = 205
Width = 148
BorderSpacing.Left = 8
BorderSpacing.Top = 6
Caption = 'Representation in text:'
ParentColor = False
end
@ -326,30 +331,43 @@ object frmFileProperties: TfrmFileProperties
AnchorSideTop.Control = lblAttrTextStr
AnchorSideTop.Side = asrCenter
Left = 160
Height = 16
Top = 204
Width = 56
Height = 19
Top = 205
Width = 67
Caption = '-----------'
Font.Color = clBlack
Font.Height = 10
ParentColor = False
ParentFont = False
end
object lblAttrBitsStr: TLabel
AnchorSideTop.Control = cbSuid
AnchorSideTop.Side = asrCenter
Left = 8
Height = 19
Top = 171
Top = 150
Width = 31
Caption = 'Bits:'
ParentColor = False
end
object lblOctal: TLabel
AnchorSideLeft.Control = tsAttributes
AnchorSideTop.Control = edtOctal
AnchorSideTop.Side = asrCenter
Left = 8
Height = 19
Top = 178
Width = 40
BorderSpacing.Left = 8
Caption = 'Octal:'
ParentColor = False
end
object cbReadOwner: TCheckBox
AnchorSideTop.Control = lblRead
AnchorSideTop.Side = asrBottom
Left = 112
Height = 22
Top = 64
Width = 24
Width = 23
AllowGrayed = True
BorderSpacing.Top = 6
TabOrder = 0
@ -360,7 +378,7 @@ object frmFileProperties: TfrmFileProperties
Left = 184
Height = 22
Top = 64
Width = 24
Width = 23
AllowGrayed = True
BorderSpacing.Top = 6
TabOrder = 1
@ -371,7 +389,7 @@ object frmFileProperties: TfrmFileProperties
Left = 256
Height = 22
Top = 64
Width = 24
Width = 23
AllowGrayed = True
BorderSpacing.Top = 6
TabOrder = 2
@ -382,7 +400,7 @@ object frmFileProperties: TfrmFileProperties
Left = 112
Height = 22
Top = 92
Width = 24
Width = 23
AllowGrayed = True
BorderSpacing.Top = 6
TabOrder = 3
@ -393,7 +411,7 @@ object frmFileProperties: TfrmFileProperties
Left = 184
Height = 22
Top = 92
Width = 24
Width = 23
AllowGrayed = True
BorderSpacing.Top = 6
TabOrder = 4
@ -404,7 +422,7 @@ object frmFileProperties: TfrmFileProperties
Left = 256
Height = 22
Top = 92
Width = 24
Width = 23
AllowGrayed = True
BorderSpacing.Top = 6
TabOrder = 5
@ -415,7 +433,7 @@ object frmFileProperties: TfrmFileProperties
Left = 112
Height = 22
Top = 120
Width = 24
Width = 23
AllowGrayed = True
BorderSpacing.Top = 6
TabOrder = 6
@ -426,7 +444,7 @@ object frmFileProperties: TfrmFileProperties
Left = 184
Height = 22
Top = 120
Width = 24
Width = 23
AllowGrayed = True
BorderSpacing.Top = 6
TabOrder = 7
@ -437,38 +455,60 @@ object frmFileProperties: TfrmFileProperties
Left = 256
Height = 22
Top = 120
Width = 24
Width = 23
AllowGrayed = True
BorderSpacing.Top = 6
TabOrder = 8
end
object cbSuid: TCheckBox
AnchorSideTop.Control = cbReadOther
AnchorSideTop.Side = asrBottom
Left = 112
Height = 22
Top = 168
Width = 60
Top = 148
Width = 59
AllowGrayed = True
BorderSpacing.Top = 6
Caption = 'SUID'
TabOrder = 9
end
object cbSgid: TCheckBox
AnchorSideTop.Control = cbWriteOther
AnchorSideTop.Side = asrBottom
Left = 184
Height = 22
Top = 168
Width = 61
Top = 148
Width = 60
AllowGrayed = True
BorderSpacing.Top = 6
Caption = 'SGID'
TabOrder = 10
end
object cbSticky: TCheckBox
AnchorSideTop.Control = cbExecOther
AnchorSideTop.Side = asrBottom
Left = 256
Height = 22
Top = 168
Width = 64
Top = 148
Width = 63
AllowGrayed = True
BorderSpacing.Top = 6
Caption = 'Sticky'
TabOrder = 11
end
object edtOctal: TEdit
AnchorSideTop.Control = cbSuid
AnchorSideTop.Side = asrBottom
Left = 115
Height = 23
Top = 176
Width = 80
BorderSpacing.Top = 6
MaxLength = 4
OnKeyPress = edtOctalKeyPress
OnKeyUp = edtOctalKeyUp
TabOrder = 12
end
end
end
object btnAll: TBitBtn

View file

@ -1,40 +1,41 @@
TFRMFILEPROPERTIES.CAPTION=Properties
TFRMFILEPROPERTIES.BTNCLOSE.CAPTION=Close
TFRMFILEPROPERTIES.TSPROPERTIES.CAPTION=Properties
TFRMFILEPROPERTIES.LBLFILENAMESTR.CAPTION=Name:
TFRMFILEPROPERTIES.LBLFILENAME.CAPTION=???
TFRMFILEPROPERTIES.LBLFOLDERSTR.CAPTION=Path:
TFRMFILEPROPERTIES.LBLFOLDER.CAPTION=???
TFRMFILEPROPERTIES.LBLTYPESTR.CAPTION=Type:
TFRMFILEPROPERTIES.LBLTYPE.CAPTION=???
TFRMFILEPROPERTIES.LBLSYMLINKSTR.CAPTION=Symlink:
TFRMFILEPROPERTIES.LBLSYMLINK.CAPTION=???
TFRMFILEPROPERTIES.LBLSIZESTR.CAPTION=Size:
TFRMFILEPROPERTIES.LBLSIZE.CAPTION=???
TFRMFILEPROPERTIES.LBLLASTACCESSSTR.CAPTION=Last access:
TFRMFILEPROPERTIES.LBLLASTACCESS.CAPTION=???
TFRMFILEPROPERTIES.LBLLASTMODIFSTR.CAPTION=Last modification:
TFRMFILEPROPERTIES.LBLLASTMODIF.CAPTION=???
TFRMFILEPROPERTIES.LBLLASTSTCHANGESTR.CAPTION=Last status change:
TFRMFILEPROPERTIES.LBLLASTSTCHANGE.CAPTION=???
TFRMFILEPROPERTIES.TSATTRIBUTES.CAPTION=Attributes
TFRMFILEPROPERTIES.LBLFILE.CAPTION=File name
TFRMFILEPROPERTIES.LBLFILENAME1.CAPTION=File name
TFRMFILEPROPERTIES.LBLATTROWNERSTR.CAPTION=Owner
TFRMFILEPROPERTIES.LBLWRITE.CAPTION=Write
TFRMFILEPROPERTIES.LBLREAD.CAPTION=Read
TFRMFILEPROPERTIES.LBLEXEC.CAPTION=Execute
TFRMFILEPROPERTIES.LBLATTRGROUPSTR.CAPTION=Group
TFRMFILEPROPERTIES.LBLATTROTHERSTR.CAPTION=Other
TFRMFILEPROPERTIES.LBLATTRTEXTSTR.CAPTION=Representation in text:
TFRMFILEPROPERTIES.LBLATTRTEXT.CAPTION=-----------
TFRMFILEPROPERTIES.LBLATTRBITSSTR.CAPTION=Bits:
TFRMFILEPROPERTIES.CBSUID.CAPTION=SUID
TFRMFILEPROPERTIES.CBSGID.CAPTION=SGID
TFRMFILEPROPERTIES.CBSTICKY.CAPTION=Sticky
TFRMFILEPROPERTIES.BTNALL.CAPTION=&All
TFRMFILEPROPERTIES.BTNOK.CAPTION=&OK
TFRMFILEPROPERTIES.BTNSKIP.CAPTION=Skip
TFRMFILEPROPERTIES.GBOWNER.CAPTION=Owner
TFRMFILEPROPERTIES.LBLOWNERSTR.CAPTION=Owner
TFRMFILEPROPERTIES.LBLGROUPSTR.CAPTION=Group
TFRMFILEPROPERTIES.CAPTION=Properties
TFRMFILEPROPERTIES.BTNCLOSE.CAPTION=Close
TFRMFILEPROPERTIES.TSPROPERTIES.CAPTION=Properties
TFRMFILEPROPERTIES.LBLFILENAMESTR.CAPTION=Name:
TFRMFILEPROPERTIES.LBLFILENAME.CAPTION=???
TFRMFILEPROPERTIES.LBLFOLDERSTR.CAPTION=Path:
TFRMFILEPROPERTIES.LBLFOLDER.CAPTION=???
TFRMFILEPROPERTIES.LBLTYPESTR.CAPTION=Type:
TFRMFILEPROPERTIES.LBLTYPE.CAPTION=???
TFRMFILEPROPERTIES.LBLSYMLINKSTR.CAPTION=Symlink:
TFRMFILEPROPERTIES.LBLSYMLINK.CAPTION=???
TFRMFILEPROPERTIES.LBLSIZESTR.CAPTION=Size:
TFRMFILEPROPERTIES.LBLSIZE.CAPTION=???
TFRMFILEPROPERTIES.LBLLASTACCESSSTR.CAPTION=Last access:
TFRMFILEPROPERTIES.LBLLASTACCESS.CAPTION=???
TFRMFILEPROPERTIES.LBLLASTMODIFSTR.CAPTION=Last modification:
TFRMFILEPROPERTIES.LBLLASTMODIF.CAPTION=???
TFRMFILEPROPERTIES.LBLLASTSTCHANGESTR.CAPTION=Last status change:
TFRMFILEPROPERTIES.LBLLASTSTCHANGE.CAPTION=???
TFRMFILEPROPERTIES.TSATTRIBUTES.CAPTION=Attributes
TFRMFILEPROPERTIES.LBLFILE.CAPTION=File name
TFRMFILEPROPERTIES.LBLFILENAME1.CAPTION=File name
TFRMFILEPROPERTIES.LBLATTROWNERSTR.CAPTION=Owner
TFRMFILEPROPERTIES.LBLWRITE.CAPTION=Write
TFRMFILEPROPERTIES.LBLREAD.CAPTION=Read
TFRMFILEPROPERTIES.LBLEXEC.CAPTION=Execute
TFRMFILEPROPERTIES.LBLATTRGROUPSTR.CAPTION=Group
TFRMFILEPROPERTIES.LBLATTROTHERSTR.CAPTION=Other
TFRMFILEPROPERTIES.LBLATTRTEXTSTR.CAPTION=Representation in text:
TFRMFILEPROPERTIES.LBLATTRTEXT.CAPTION=-----------
TFRMFILEPROPERTIES.LBLATTRBITSSTR.CAPTION=Bits:
TFRMFILEPROPERTIES.LBLOCTAL.CAPTION=Octal:
TFRMFILEPROPERTIES.CBSUID.CAPTION=SUID
TFRMFILEPROPERTIES.CBSGID.CAPTION=SGID
TFRMFILEPROPERTIES.CBSTICKY.CAPTION=Sticky
TFRMFILEPROPERTIES.BTNALL.CAPTION=&All
TFRMFILEPROPERTIES.BTNOK.CAPTION=&OK
TFRMFILEPROPERTIES.BTNSKIP.CAPTION=Skip
TFRMFILEPROPERTIES.GBOWNER.CAPTION=Owner
TFRMFILEPROPERTIES.LBLOWNERSTR.CAPTION=Owner
TFRMFILEPROPERTIES.LBLGROUPSTR.CAPTION=Group

View file

@ -55,7 +55,9 @@ type
cbWriteOwner: TCheckBox;
cbxGroups: TComboBox;
cbxUsers: TComboBox;
edtOctal: TEdit;
gbOwner: TGroupBox;
lblOctal: TLabel;
lblAttrBitsStr: TLabel;
lblAttrText: TLabel;
lblExec: TLabel;
@ -91,6 +93,8 @@ type
tsAttributes: TTabSheet;
procedure btnAllClick(Sender: TObject);
procedure btnCloseClick(Sender: TObject);
procedure edtOctalKeyPress(Sender: TObject; var Key: char);
procedure edtOctalKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure FormCreate(Sender: TObject);
procedure btnOKClick(Sender: TObject);
procedure btnSkipClick(Sender: TObject);
@ -117,7 +121,7 @@ procedure ShowFileProperties(FileList:TFileList; const aPath:String);
implementation
uses
uLng, uFileOp, uFileProcs, uFindEx, BaseUnix, uUsersGroups, uDCUtils;
LCLType, uLng, uFileOp, uFileProcs, uFindEx, BaseUnix, uUsersGroups, uDCUtils;
procedure ShowFileProperties(FileList:TFileList; const aPath:String);
begin
@ -169,6 +173,18 @@ begin
Close;
end;
procedure TfrmFileProperties.edtOctalKeyPress(Sender: TObject; var Key: char);
begin
if not ((Key in ['0'..'7']) or (Key = Chr(VK_BACK))) then
Key:= #0;
end;
procedure TfrmFileProperties.edtOctalKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
ShowAttr(OctToDec(edtOctal.Text));
end;
procedure TfrmFileProperties.btnAllClick(Sender: TObject);
begin
repeat
@ -245,7 +261,7 @@ begin
ShowAttr(iMode);
edtOctal.Text:= DecToOct(iMode);
lblAttrText.Caption:=sModeStr; // + 666 like
if FPS_ISDIR(iMode) then
@ -269,8 +285,6 @@ begin
end;
end;
procedure TfrmFileProperties.StoreData(FileList:TFileList);
var
i, nSelCount:Integer;

View file

@ -723,6 +723,10 @@ msgstr "Последна промяна:"
msgid "Last status change:"
msgstr "Последна промяна на състоянието:"
#: TFRMFILEPROPERTIES.LBLOCTAL.CAPTION
msgid "Octal:"
msgstr ""
#: TFRMFILEPROPERTIES.LBLREAD.CAPTION
msgid "Read"
msgstr "Запис"
@ -3054,6 +3058,10 @@ msgstr "Недостатъчно памет"
msgid "Function not supported!"
msgstr "Действието не се поддържа!"
#: ulng.rsmsgerrregexpsyntax
msgid "Syntax error in regular expression!"
msgstr ""
#: ulng.rsmsgerrsmallbuf
msgid "Buffer too small"
msgstr "Буферът е много малък"

View file

@ -723,6 +723,10 @@ msgstr "上次修改:"
msgid "Last status change:"
msgstr "上次修改状态:"
#: TFRMFILEPROPERTIES.LBLOCTAL.CAPTION
msgid "Octal:"
msgstr ""
#: TFRMFILEPROPERTIES.LBLREAD.CAPTION
msgid "Read"
msgstr "读"
@ -3054,6 +3058,10 @@ msgstr "内存不足"
msgid "Function not supported!"
msgstr "不支持的功能!"
#: ulng.rsmsgerrregexpsyntax
msgid "Syntax error in regular expression!"
msgstr ""
#: ulng.rsmsgerrsmallbuf
msgid "Buffer too small"
msgstr "缓冲区太小"

View file

@ -733,6 +733,10 @@ msgstr "Poslední změna:"
msgid "Last status change:"
msgstr "Poslední změna stavu:"
#: TFRMFILEPROPERTIES.LBLOCTAL.CAPTION
msgid "Octal:"
msgstr ""
#: TFRMFILEPROPERTIES.LBLREAD.CAPTION
msgid "Read"
msgstr "Čtení"
@ -3062,6 +3066,10 @@ msgstr "Nedostatek paměti"
msgid "Function not supported!"
msgstr "Funkce není podporována!"
#: ulng.rsmsgerrregexpsyntax
msgid "Syntax error in regular expression!"
msgstr ""
#: ulng.rsmsgerrsmallbuf
msgid "Buffer too small"
msgstr "Buffer je příliš malý"

View file

@ -715,6 +715,10 @@ msgstr "Letzte Änderung:"
msgid "Last status change:"
msgstr "Letzte Änderung des Status:"
#: TFRMFILEPROPERTIES.LBLOCTAL.CAPTION
msgid "Octal:"
msgstr ""
#: TFRMFILEPROPERTIES.LBLREAD.CAPTION
msgid "Read"
msgstr "Lesen"
@ -3046,6 +3050,10 @@ msgstr "Nicht genügend Arbeitsspeicher"
msgid "Function not supported!"
msgstr "Funktion wird nicht unterstützt!"
#: ulng.rsmsgerrregexpsyntax
msgid "Syntax error in regular expression!"
msgstr ""
#: ulng.rsmsgerrsmallbuf
msgid "Buffer too small"
msgstr "Puffer zu klein"

View file

@ -723,6 +723,10 @@ msgstr "Última modificación"
msgid "Last status change:"
msgstr "Último cambio de estado:"
#: TFRMFILEPROPERTIES.LBLOCTAL.CAPTION
msgid "Octal:"
msgstr ""
#: TFRMFILEPROPERTIES.LBLREAD.CAPTION
msgid "Read"
msgstr "Lectura"
@ -3054,6 +3058,10 @@ msgstr "Memoria insuficiente"
msgid "Function not supported!"
msgstr "Función no soportada!"
#: ulng.rsmsgerrregexpsyntax
msgid "Syntax error in regular expression!"
msgstr ""
#: ulng.rsmsgerrsmallbuf
msgid "Buffer too small"
msgstr "Buffer demasiado pequeño"

View file

@ -723,6 +723,10 @@ msgstr "Laatste wijziging:"
msgid "Last status change:"
msgstr "Laatste status wijziging:"
#: TFRMFILEPROPERTIES.LBLOCTAL.CAPTION
msgid "Octal:"
msgstr ""
#: TFRMFILEPROPERTIES.LBLREAD.CAPTION
msgid "Read"
msgstr "Lees"
@ -3054,6 +3058,10 @@ msgstr "Niet genoeg geheugen"
msgid "Function not supported!"
msgstr "Functie niet ondersteund"
#: ulng.rsmsgerrregexpsyntax
msgid "Syntax error in regular expression!"
msgstr ""
#: ulng.rsmsgerrsmallbuf
msgid "Buffer too small"
msgstr "Buffer te klein"

View file

@ -723,6 +723,10 @@ msgstr ""
msgid "Last status change:"
msgstr ""
#: TFRMFILEPROPERTIES.LBLOCTAL.CAPTION
msgid "Octal:"
msgstr ""
#: TFRMFILEPROPERTIES.LBLREAD.CAPTION
msgid "Read"
msgstr ""
@ -3054,6 +3058,10 @@ msgstr ""
msgid "Function not supported!"
msgstr ""
#: ulng.rsmsgerrregexpsyntax
msgid "Syntax error in regular expression!"
msgstr ""
#: ulng.rsmsgerrsmallbuf
msgid "Buffer too small"
msgstr ""

View file

@ -722,6 +722,10 @@ msgstr "Последнее изменение:"
msgid "Last status change:"
msgstr "Последнее изменение статуса:"
#: TFRMFILEPROPERTIES.LBLOCTAL.CAPTION
msgid "Octal:"
msgstr ""
#: TFRMFILEPROPERTIES.LBLREAD.CAPTION
msgid "Read"
msgstr "Чтение"
@ -3053,6 +3057,10 @@ msgstr "Не достаточно памяти"
msgid "Function not supported!"
msgstr "Функция не поддерживается!"
#: ulng.rsmsgerrregexpsyntax
msgid "Syntax error in regular expression!"
msgstr ""
#: ulng.rsmsgerrsmallbuf
msgid "Buffer too small"
msgstr "Буфер слишком маленький"

View file

@ -731,6 +731,10 @@ msgstr "Остання зміна:"
msgid "Last status change:"
msgstr "Остання зміна статуса:"
#: TFRMFILEPROPERTIES.LBLOCTAL.CAPTION
msgid "Octal:"
msgstr ""
#: TFRMFILEPROPERTIES.LBLREAD.CAPTION
msgid "Read"
msgstr "Читання"
@ -3066,6 +3070,10 @@ msgstr "Не достатньо пам'яті"
msgid "Function not supported!"
msgstr "Функція не підтримується!"
#: ulng.rsmsgerrregexpsyntax
msgid "Syntax error in regular expression!"
msgstr ""
#: ulng.rsmsgerrsmallbuf
msgid "Buffer too small"
msgstr "Буфер надто малий"