-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathuMainMenu.pas
125 lines (102 loc) · 2.77 KB
/
uMainMenu.pas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
unit uMainMenu;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics, ShellAPI,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Buttons, Vcl.ExtCtrls, Vcl.StdCtrls;
type
TfrmMainMenu = class(TForm)
btnStudy: TButton;
btnAdd: TButton;
pnlTitle: TPanel;
bbnExit: TBitBtn;
bbnInfo: TBitBtn;
procedure btnStudyClick(Sender: TObject);
procedure bbnExitClick(Sender: TObject);
procedure btnAddClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure CreateEmptyTextFile(sName: String);
procedure bbnInfoClick(Sender: TObject);
private
{ Private declarations }
public
flashcardIds: TStringList;
end;
var
frmMainMenu: TfrmMainMenu;
clPrimary, clSecondary, clLight, clDark: TColor;
implementation
uses
uStudy, uAdd;
{$R *.dfm}
procedure TfrmMainMenu.bbnExitClick(Sender: TObject);
var
bConfirmed: Bool;
begin
// frmMainMenu.Close;
bConfirmed := MessageDlg('Are you sure you would like to exit?', mtWarning,
mbOKCancel, 0) = mrOK;
if bConfirmed then
Exit;
end;
procedure TfrmMainMenu.bbnInfoClick(Sender: TObject);
var
sUrl: String;
begin
sUrl := 'https://flashcard-city.netlify.app/';
ShellExecute(0, 'open', PChar(sUrl), nil, nil, SW_SHOWNORMAL);
end;
procedure TfrmMainMenu.btnAddClick(Sender: TObject);
begin
frmAdd.Show;
frmMainMenu.Hide;
end;
procedure TfrmMainMenu.btnStudyClick(Sender: TObject);
begin
frmStudy.Show;
frmMainMenu.Hide;
end;
procedure TfrmMainMenu.CreateEmptyTextFile(sName: String);
var
emptyList: TStringList;
begin
emptyList := TStringList.Create;
try
emptyList.SaveToFile(sName);
finally
emptyList.Free;
end;
end;
procedure TfrmMainMenu.FormActivate(Sender: TObject);
begin
// Load flashcard IDs from file
flashcardIds := TStringList.Create;
if FileExists('flashcard_ids.txt') then
begin
flashcardIds.LoadFromFile('flashcard_ids.txt');
end
else
begin
CreateEmptyTextFile('flashcard_ids.txt');
end;
// Create flashcards folder
if not DirectoryExists('flashcards') then
begin
CreateDir('flashcards');
end;
// Load colours
clPrimary := RGB(91, 133, 170);
clSecondary := RGB(165, 190, 0);
clLight := RGB(235, 242, 250);
clDark := RGB(0, 5, 0);
frmMainMenu.Color := clPrimary;
uAdd.frmAdd.Color := clPrimary;
uStudy.frmStudy.Color := clPrimary;
pnlTitle.Color := clLight;
uStudy.frmStudy.pnlSetName.Color := clLight;
uStudy.frmStudy.pnlFlashcard.Color := clLight;
pnlTitle.ParentBackground := False;
uStudy.frmStudy.pnlSetName.ParentBackground := False;
uStudy.frmStudy.pnlFlashcard.ParentBackground := False;
end;
end.