Alexander c585c2f0cb Initial
Исходный код версии 2.0
2022-05-04 07:31:33 +03:00

111 lines
2.7 KiB
ObjectPascal

unit cde_MainForm;
{$mode delphi}
{$codepage UTF8}
interface
uses Classes, SysUtils, FileUtil, Forms, Controls, Dialogs, Buttons, ExtCtrls, ComCtrls, Menus, kernel, cde_dir,
SimplyJSON, LazUTF8Classes, ShellApi, cde_lang, cde_types;
type
{ Tcde_Main }
Tcde_Main = class(TForm)
DiscPages: TPageControl;
Images: TImageList;
MainMenu: TMainMenu;
DiscM: TMenuItem;
ActionsM: TMenuItem;
HelpM: TMenuItem;
BrowseM: TMenuItem;
CreateLinkM: TMenuItem;
EjectM: TMenuItem;
AboutM: TMenuItem;
DCloseM: TMenuItem;
ProgramWebM: TMenuItem;
Sep3: TMenuItem;
Sep2: TMenuItem;
Sep1: TMenuItem;
RefrashM: TMenuItem;
SettingsM: TMenuItem;
NoDiscFound: TPanel;
procedure AboutMClick(Sender: TObject);
procedure BrowseMClick(Sender: TObject);
procedure CreateLinkMClick(Sender: TObject);
procedure DCloseMClick (Sender: TObject );
procedure EjectMClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure DiscsMenuClick(Sender: TObject);
procedure ProgramWebMClick(Sender: TObject);
procedure RefrashMClick(Sender: TObject);
procedure SettingsMClick(Sender: TObject);
private
public
DiscList: TStringListUTF8;
end;
var
cde_Main: Tcde_Main;
implementation
uses cde_disc_frame;
{$R *.lfm}
procedure Tcde_Main.FormCreate(Sender: TObject);
var Ind: Byte;
begin
UpdateLanguage;
DiscList:= TStringListUTF8.Create;
UpdateDL(DiscList);
if DiscList.Count > 0 then
begin
NoDiscFound.Hide;
DiscPages.Show;
for Ind:= 0 to DiscList.Count - 1 do
CreateDriveRec(Ind);
end
else
begin
DiscPages.Hide;
NoDiscFound.Show;
end;
DiscM.Visible:= JSReadBoolean('/interface/discmshow', True, GetCDEPath + 'configs\configs.json');
end;
procedure Tcde_Main.EjectMClick(Sender: TObject);
begin
GetFrame.do_EjectDisc;
end;
procedure Tcde_Main.CreateLinkMClick(Sender: TObject);
begin
GetFrame.do_CreateLink;
end;
procedure Tcde_Main.DCloseMClick (Sender: TObject );
begin
GetFrame.do_CloseDisc;
end;
procedure Tcde_Main.BrowseMClick(Sender: TObject);
begin
GetFrame.do_BrowseDisc;
end;
procedure Tcde_Main.AboutMClick(Sender: TObject);
begin
ShowAboutInfo;
end;
procedure Tcde_Main.FormDestroy(Sender: TObject);
begin
FreeAndNil(DiscList);
end;
procedure Tcde_Main.DiscsMenuClick(Sender: TObject);
var Indx: Integer;
begin
Indx:= (Sender as TMenuItem).Tag;
DiscPages.ActivePageIndex:= Indx;
end;
procedure Tcde_Main.ProgramWebMClick(Sender: TObject);
begin
ShellExecute(Self.Handle, 'open', PChar(WebHomePage), Nil, PChar(GetCDEPath + 'help\'), 1);
end;
procedure Tcde_Main.RefrashMClick(Sender: TObject);
begin
GetFrame.do_Refrash;
end;
procedure Tcde_Main.SettingsMClick(Sender: TObject);
begin
ShowSettings();
end;
end.