Skip to content

Commit d3fa0af

Browse files
committed
chore: Dealing with end of line shenanigans
1 parent 825447f commit d3fa0af

17 files changed

+5419
-5419
lines changed

source/change_password.pas

Lines changed: 182 additions & 182 deletions
Original file line numberDiff line numberDiff line change
@@ -1,182 +1,182 @@
1-
unit change_password;
2-
3-
{$mode delphi}{$H+}
4-
5-
interface
6-
7-
uses
8-
SysUtils, Variants, Classes, Graphics,
9-
Controls, Forms, Dialogs, StdCtrls, ExtCtrls,
10-
Menus, Clipbrd, ComCtrls, extra_controls, Buttons;
11-
12-
type
13-
TfrmPasswordChange = class(TExtForm)
14-
lblHeading: TLabel;
15-
lblPassword: TLabel;
16-
lblRepeatPassword: TLabel;
17-
editPassword: TEdit;
18-
editRepeatPassword: TEdit;
19-
btnCancel: TButton;
20-
btnOK: TButton;
21-
lblStatus: TLabel;
22-
popupPassword: TPopupMenu;
23-
N6characters1: TMenuItem;
24-
N8characters1: TMenuItem;
25-
N10characters1: TMenuItem;
26-
N12characters1: TMenuItem;
27-
N30characters1: TMenuItem;
28-
menuDummy1: TMenuItem;
29-
menuDummy2: TMenuItem;
30-
menuDummy3: TMenuItem;
31-
menuDummy4: TMenuItem;
32-
menuDummy5: TMenuItem;
33-
btnCopyToClipboard: TSpeedButton;
34-
progressbarPasswordStrength: TProgressBar;
35-
procedure editPasswordChange(Sender: TObject);
36-
procedure FormShow(Sender: TObject);
37-
procedure editPasswordKeyDown(Sender: TObject; var Key: Word;
38-
Shift: TShiftState);
39-
procedure menuPasswordClick(Sender: TObject);
40-
procedure menuPasswordInsert(Sender: TObject);
41-
procedure btnCopyToClipboardClick(Sender: TObject);
42-
procedure FormCreate(Sender: TObject);
43-
private
44-
{ Private-Deklarationen }
45-
procedure CheckPasswordStrength;
46-
public
47-
{ Public-Deklarationen }
48-
end;
49-
50-
var
51-
frmPasswordChange: TfrmPasswordChange;
52-
53-
implementation
54-
55-
uses main, apphelpers;
56-
57-
{$R *.lfm}
58-
59-
60-
procedure TfrmPasswordChange.FormCreate(Sender: TObject);
61-
begin
62-
HasSizeGrip := True;
63-
end;
64-
65-
66-
procedure TfrmPasswordChange.FormShow(Sender: TObject);
67-
begin
68-
// Manually trigger change event on password box
69-
editPassword.OnChange(Sender);
70-
end;
71-
72-
73-
procedure TfrmPasswordChange.menuPasswordClick(Sender: TObject);
74-
var
75-
Parent, Item: TMenuItem;
76-
PasswordLen, i: Integer;
77-
begin
78-
// Create menu items with random passwords
79-
Parent := Sender as TMenuItem;
80-
PasswordLen := MakeInt(Parent.Caption);
81-
for i:=0 to 19 do begin
82-
if Parent.Count > i then
83-
Item := Parent[i]
84-
else begin
85-
Item := TMenuItem.Create(Parent);
86-
Parent.Add(Item);
87-
end;
88-
Item.OnClick := menuPasswordInsert;
89-
Item.Caption := GeneratePassword(PasswordLen);
90-
end;
91-
end;
92-
93-
94-
procedure TfrmPasswordChange.menuPasswordInsert(Sender: TObject);
95-
var
96-
Item: TMenuItem;
97-
begin
98-
// Insert password from menu item
99-
Item := Sender as TMenuItem;
100-
editPassword.Text := Item.Caption;
101-
editRepeatPassword.Text := editPassword.Text;
102-
end;
103-
104-
105-
procedure TfrmPasswordChange.btnCopyToClipboardClick(Sender: TObject);
106-
var
107-
OldImageIndex: Integer;
108-
begin
109-
// Copy new password to clipboard
110-
Clipboard.TryAsText := editPassword.Text;
111-
OldImageIndex := btnCopyToClipboard.ImageIndex;
112-
btnCopyToClipboard.ImageIndex := 55;
113-
btnCopyToClipboard.Repaint;
114-
Sleep(500);
115-
btnCopyToClipboard.ImageIndex := OldImageIndex;
116-
Beep;
117-
end;
118-
119-
120-
procedure TfrmPasswordChange.editPasswordChange(Sender: TObject);
121-
var
122-
PasswordsMatch: Boolean;
123-
begin
124-
// User has entered something on one or both password fields
125-
btnOK.Enabled := False;
126-
btnCopyToClipboard.Enabled := False;
127-
progressbarPasswordStrength.Visible := False;
128-
if Sender = editPassword then
129-
editRepeatPassword.Modified := False;
130-
131-
if editPassword.Text = '' then begin
132-
editPassword.PasswordChar := #0;
133-
lblStatus.Caption := _('Please change your password')
134-
end else begin
135-
editPassword.PasswordChar := '*';
136-
PasswordsMatch := editPassword.Text = editRepeatPassword.Text;
137-
if editRepeatPassword.Modified and (not PasswordsMatch) then
138-
lblStatus.Caption := _('Error: Passwords do not match!')
139-
else begin
140-
lblStatus.Caption := _('Password strength:');
141-
btnOK.Enabled := PasswordsMatch;
142-
btnCopyToClipboard.Enabled := True;
143-
progressbarPasswordStrength.Visible := True;
144-
CheckPasswordStrength;
145-
end;
146-
end;
147-
end;
148-
149-
150-
procedure TfrmPasswordChange.editPasswordKeyDown(Sender: TObject; var Key: Word;
151-
Shift: TShiftState);
152-
begin
153-
editPassword.OnChange(Sender);
154-
end;
155-
156-
157-
procedure TfrmPasswordChange.CheckPasswordStrength;
158-
var
159-
i, Distance, LastOrd: Integer;
160-
p: String;
161-
begin
162-
// Simple password-strength checker
163-
// Calculates the distance between all character codes, and give it a bonus for longer passwords
164-
p := editPassword.Text;
165-
Distance := 0;
166-
LastOrd := -1;
167-
for i:=1 to Length(p) do begin
168-
if LastOrd > -1 then
169-
Inc(Distance, Abs(LastOrd - Ord(p[i])));
170-
LastOrd := Ord(p[i]);
171-
end;
172-
Inc(Distance, Length(p)*10);
173-
progressbarPasswordStrength.Position := Round(progressbarPasswordStrength.Max / 500 * Distance);
174-
{case progressbarPasswordStrength.Position of
175-
0..20: progressbarPasswordStrength.State := pbsError;
176-
21..50: progressbarPasswordStrength.State := pbsPaused;
177-
51..100: progressbarPasswordStrength.State := pbsNormal;
178-
end;}
179-
end;
180-
181-
182-
end.
1+
unit change_password;
2+
3+
{$mode delphi}{$H+}
4+
5+
interface
6+
7+
uses
8+
SysUtils, Variants, Classes, Graphics,
9+
Controls, Forms, Dialogs, StdCtrls, ExtCtrls,
10+
Menus, Clipbrd, ComCtrls, extra_controls, Buttons;
11+
12+
type
13+
TfrmPasswordChange = class(TExtForm)
14+
lblHeading: TLabel;
15+
lblPassword: TLabel;
16+
lblRepeatPassword: TLabel;
17+
editPassword: TEdit;
18+
editRepeatPassword: TEdit;
19+
btnCancel: TButton;
20+
btnOK: TButton;
21+
lblStatus: TLabel;
22+
popupPassword: TPopupMenu;
23+
N6characters1: TMenuItem;
24+
N8characters1: TMenuItem;
25+
N10characters1: TMenuItem;
26+
N12characters1: TMenuItem;
27+
N30characters1: TMenuItem;
28+
menuDummy1: TMenuItem;
29+
menuDummy2: TMenuItem;
30+
menuDummy3: TMenuItem;
31+
menuDummy4: TMenuItem;
32+
menuDummy5: TMenuItem;
33+
btnCopyToClipboard: TSpeedButton;
34+
progressbarPasswordStrength: TProgressBar;
35+
procedure editPasswordChange(Sender: TObject);
36+
procedure FormShow(Sender: TObject);
37+
procedure editPasswordKeyDown(Sender: TObject; var Key: Word;
38+
Shift: TShiftState);
39+
procedure menuPasswordClick(Sender: TObject);
40+
procedure menuPasswordInsert(Sender: TObject);
41+
procedure btnCopyToClipboardClick(Sender: TObject);
42+
procedure FormCreate(Sender: TObject);
43+
private
44+
{ Private-Deklarationen }
45+
procedure CheckPasswordStrength;
46+
public
47+
{ Public-Deklarationen }
48+
end;
49+
50+
var
51+
frmPasswordChange: TfrmPasswordChange;
52+
53+
implementation
54+
55+
uses main, apphelpers;
56+
57+
{$R *.lfm}
58+
59+
60+
procedure TfrmPasswordChange.FormCreate(Sender: TObject);
61+
begin
62+
HasSizeGrip := True;
63+
end;
64+
65+
66+
procedure TfrmPasswordChange.FormShow(Sender: TObject);
67+
begin
68+
// Manually trigger change event on password box
69+
editPassword.OnChange(Sender);
70+
end;
71+
72+
73+
procedure TfrmPasswordChange.menuPasswordClick(Sender: TObject);
74+
var
75+
Parent, Item: TMenuItem;
76+
PasswordLen, i: Integer;
77+
begin
78+
// Create menu items with random passwords
79+
Parent := Sender as TMenuItem;
80+
PasswordLen := MakeInt(Parent.Caption);
81+
for i:=0 to 19 do begin
82+
if Parent.Count > i then
83+
Item := Parent[i]
84+
else begin
85+
Item := TMenuItem.Create(Parent);
86+
Parent.Add(Item);
87+
end;
88+
Item.OnClick := menuPasswordInsert;
89+
Item.Caption := GeneratePassword(PasswordLen);
90+
end;
91+
end;
92+
93+
94+
procedure TfrmPasswordChange.menuPasswordInsert(Sender: TObject);
95+
var
96+
Item: TMenuItem;
97+
begin
98+
// Insert password from menu item
99+
Item := Sender as TMenuItem;
100+
editPassword.Text := Item.Caption;
101+
editRepeatPassword.Text := editPassword.Text;
102+
end;
103+
104+
105+
procedure TfrmPasswordChange.btnCopyToClipboardClick(Sender: TObject);
106+
var
107+
OldImageIndex: Integer;
108+
begin
109+
// Copy new password to clipboard
110+
Clipboard.TryAsText := editPassword.Text;
111+
OldImageIndex := btnCopyToClipboard.ImageIndex;
112+
btnCopyToClipboard.ImageIndex := 55;
113+
btnCopyToClipboard.Repaint;
114+
Sleep(500);
115+
btnCopyToClipboard.ImageIndex := OldImageIndex;
116+
Beep;
117+
end;
118+
119+
120+
procedure TfrmPasswordChange.editPasswordChange(Sender: TObject);
121+
var
122+
PasswordsMatch: Boolean;
123+
begin
124+
// User has entered something on one or both password fields
125+
btnOK.Enabled := False;
126+
btnCopyToClipboard.Enabled := False;
127+
progressbarPasswordStrength.Visible := False;
128+
if Sender = editPassword then
129+
editRepeatPassword.Modified := False;
130+
131+
if editPassword.Text = '' then begin
132+
editPassword.PasswordChar := #0;
133+
lblStatus.Caption := _('Please change your password')
134+
end else begin
135+
editPassword.PasswordChar := '*';
136+
PasswordsMatch := editPassword.Text = editRepeatPassword.Text;
137+
if editRepeatPassword.Modified and (not PasswordsMatch) then
138+
lblStatus.Caption := _('Error: Passwords do not match!')
139+
else begin
140+
lblStatus.Caption := _('Password strength:');
141+
btnOK.Enabled := PasswordsMatch;
142+
btnCopyToClipboard.Enabled := True;
143+
progressbarPasswordStrength.Visible := True;
144+
CheckPasswordStrength;
145+
end;
146+
end;
147+
end;
148+
149+
150+
procedure TfrmPasswordChange.editPasswordKeyDown(Sender: TObject; var Key: Word;
151+
Shift: TShiftState);
152+
begin
153+
editPassword.OnChange(Sender);
154+
end;
155+
156+
157+
procedure TfrmPasswordChange.CheckPasswordStrength;
158+
var
159+
i, Distance, LastOrd: Integer;
160+
p: String;
161+
begin
162+
// Simple password-strength checker
163+
// Calculates the distance between all character codes, and give it a bonus for longer passwords
164+
p := editPassword.Text;
165+
Distance := 0;
166+
LastOrd := -1;
167+
for i:=1 to Length(p) do begin
168+
if LastOrd > -1 then
169+
Inc(Distance, Abs(LastOrd - Ord(p[i])));
170+
LastOrd := Ord(p[i]);
171+
end;
172+
Inc(Distance, Length(p)*10);
173+
progressbarPasswordStrength.Position := Round(progressbarPasswordStrength.Max / 500 * Distance);
174+
{case progressbarPasswordStrength.Position of
175+
0..20: progressbarPasswordStrength.State := pbsError;
176+
21..50: progressbarPasswordStrength.State := pbsPaused;
177+
51..100: progressbarPasswordStrength.State := pbsNormal;
178+
end;}
179+
end;
180+
181+
182+
end.

0 commit comments

Comments
 (0)