Skip to content

Commit 86fe876

Browse files
committed
feat: translate strings, append number of items on tab captions
Refs #1155
1 parent c0122a8 commit 86fe876

File tree

2 files changed

+32
-7
lines changed

2 files changed

+32
-7
lines changed

source/usermanager.dfm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -587,7 +587,7 @@ object UserManagerForm: TUserManagerForm
587587
'Roll=off')
588588
TabOrder = 0
589589
TitleCaptions.Strings = (
590-
'Role'
590+
'Role name'
591591
'Assigned')
592592
OnGetPickList = ValueListEditorRolesGetPickList
593593
OnSelectCell = ValueListEditorRolesSelectCell

source/usermanager.pas

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,16 +37,16 @@ TUser = class(TObject)
3737
Problem: TUserProblem;
3838
IsRole: Boolean;
3939
Roles: TStringList;
40-
const
41-
RoleNo: String = 'no';
42-
RoleYes: String = 'yes';
43-
RoleYesAdmin: String = 'yes, with admin';
4440
public
41+
class var RoleNo: String;
42+
class var RoleYes: String;
43+
class var RoleYesAdmin: String;
4544
constructor Create;
46-
destructor Destroy;
45+
destructor Destroy; override;
4746
function HostRequiresNameResolve: Boolean;
4847
procedure ParseSettings(GrantOrCreate: String; Priv: TPrivObj);
4948
function IsUser: Boolean;
49+
function AssignedRolesCount: Integer;
5050
end;
5151
PUser = ^TUser;
5252
TUserList = class(TObjectList<TUser>)
@@ -614,6 +614,8 @@ procedure TUserManagerForm.listUsersFocusChanged(Sender: TBaseVirtualTree; Node:
614614
editCipher.Clear;
615615
editIssuer.Clear;
616616
editSubject.Clear;
617+
tabPrivileges.Caption := _('Privileges');
618+
tabRoles.Caption := _('Roles');
617619

618620
if UserSelected then begin
619621
User := Sender.GetNodeData(Node);
@@ -819,6 +821,8 @@ procedure TUserManagerForm.listUsersFocusChanged(Sender: TBaseVirtualTree; Node:
819821
editCipher.Text := User.Cipher;
820822
editIssuer.Text := User.Issuer;
821823
editSubject.Text := User.Subject;
824+
tabPrivileges.Caption := _('Privileges') + ' (' + FPrivObjects.Count.ToString + ')';
825+
tabRoles.Caption := _('Roles') + ' (' + User.AssignedRolesCount.ToString + ')';
822826

823827

824828
// Generate grant code for column privs by hand
@@ -1197,7 +1201,7 @@ procedure TUserManagerForm.menuItemRoleClick(Sender: TObject);
11971201

11981202
// Add role
11991203
RoleName := '';
1200-
if not InputQuery('Create role', 'Role name', RoleName) then
1204+
if not InputQuery(_('Create role'), _('Role name'), RoleName) then
12011205
Exit;
12021206

12031207
try
@@ -1726,6 +1730,7 @@ constructor TUser.Create;
17261730
destructor TUser.Destroy;
17271731
begin
17281732
Roles.Free;
1733+
inherited;
17291734
end;
17301735

17311736
function TUser.HostRequiresNameResolve: Boolean;
@@ -1804,6 +1809,20 @@ function TUser.IsUser: Boolean;
18041809
end;
18051810

18061811

1812+
function TUser.AssignedRolesCount: Integer;
1813+
var
1814+
i: Integer;
1815+
Val: String;
1816+
begin
1817+
Result := 0;
1818+
for i:=0 to Roles.Count-1 do begin
1819+
Val := Roles.ValueFromIndex[i];
1820+
if (Val = RoleYes) or (Val = RoleYesAdmin) then
1821+
Inc(Result);
1822+
end;
1823+
end;
1824+
1825+
18071826
{ TUserList }
18081827

18091828
function TUserList.GetRoleNames: TStringList;
@@ -1872,4 +1891,10 @@ function TPrivComparer.Compare(const Left, Right: TPrivObj): Integer;
18721891
end;
18731892

18741893

1894+
initialization
1895+
1896+
TUser.RoleNo := _('No');
1897+
TUser.RoleYes := _('Yes');
1898+
TUser.RoleYesAdmin := _('Yes, with admin option');
1899+
18751900
end.

0 commit comments

Comments
 (0)