164 lines
4.7 KiB
ObjectPascal
164 lines
4.7 KiB
ObjectPascal
|
{
|
|||
|
Apophysis Copyright (C) 2001-2004 Mark Townsend
|
|||
|
Apophysis Copyright (C) 2005-2006 Ronald Hordijk, Piotr Borys, Peter Sdobnov
|
|||
|
Apophysis Copyright (C) 2007-2008 Piotr Borys, Peter Sdobnov
|
|||
|
|
|||
|
Apophysis "3D hack" Copyright (C) 2007-2008 Peter Sdobnov
|
|||
|
Apophysis "7X" Copyright (C) 2009-2010 Georg Kiehne
|
|||
|
Apophysis AV "Phoenix Edition" Copyright (C) 2021 Alice V. Koryagina
|
|||
|
|
|||
|
This program is free software; you can redistribute it and/or modify
|
|||
|
it under the terms of the GNU General Public License as published by
|
|||
|
the Free Software Foundation; either version 2 of the License, or
|
|||
|
(at your option) any later version.
|
|||
|
|
|||
|
This program is distributed in the hope that it will be useful,
|
|||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|||
|
GNU General Public License for more details.
|
|||
|
|
|||
|
You should have received a copy of the GNU General Public License
|
|||
|
along with this program; if not, write to the Free Software
|
|||
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|||
|
}
|
|||
|
unit About;
|
|||
|
|
|||
|
interface
|
|||
|
|
|||
|
uses
|
|||
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
|||
|
StdCtrls, ExtCtrls, Global, Translation;
|
|||
|
|
|||
|
type
|
|||
|
TAboutForm = class(TForm)
|
|||
|
btnOK: TButton;
|
|||
|
Label3: TLabel;
|
|||
|
Label4: TLabel;
|
|||
|
Label10: TLabel;
|
|||
|
Label11: TLabel;
|
|||
|
lblFlamecom: TLabel;
|
|||
|
Bevel1: TBevel;
|
|||
|
Label6: TLabel;
|
|||
|
Label7: TLabel;
|
|||
|
Label8: TLabel;
|
|||
|
Label9: TLabel;
|
|||
|
Label12: TLabel;
|
|||
|
Label13: TLabel;
|
|||
|
Label14: TLabel;
|
|||
|
Bevel3: TBevel;
|
|||
|
Label17: TLabel;
|
|||
|
Label18: TLabel;
|
|||
|
Label16: TLabel;
|
|||
|
Label2: TLabel;
|
|||
|
Bevel2: TBevel;
|
|||
|
Label19: TLabel;
|
|||
|
Label20: TLabel;
|
|||
|
Image1: TImage;
|
|||
|
Label5: TLabel;
|
|||
|
Bevel4: TBevel;
|
|||
|
Label1: TLabel;
|
|||
|
Label15: TLabel;
|
|||
|
Bevel5: TBevel;
|
|||
|
Label21: TLabel;
|
|||
|
lbApoTitle: TLabel;
|
|||
|
lbApoVers: TLabel;
|
|||
|
Label24: TLabel;
|
|||
|
Bevel6: TBevel;
|
|||
|
lblAuthor: TLabel;
|
|||
|
Label26: TLabel;
|
|||
|
Label27: TLabel;
|
|||
|
Label28: TLabel;
|
|||
|
Bevel7: TBevel;
|
|||
|
Bevel8: TBevel;
|
|||
|
lblPlugins: TLabel;
|
|||
|
Bevel9: TBevel;
|
|||
|
lblVersion: TLabel;
|
|||
|
procedure btnOKClick(Sender: TObject);
|
|||
|
procedure lblPluginsClick(Sender: TObject);
|
|||
|
procedure DevelopersClick(Sender: TObject);
|
|||
|
procedure FormCreate(Sender: TObject);
|
|||
|
private
|
|||
|
{ Private declarations }
|
|||
|
public
|
|||
|
{ Public declarations }
|
|||
|
procedure SetTitleColor;
|
|||
|
end;
|
|||
|
|
|||
|
var
|
|||
|
AboutForm: TAboutForm;
|
|||
|
|
|||
|
implementation
|
|||
|
|
|||
|
uses Main, ShellAPI;
|
|||
|
|
|||
|
{$R *.DFM}
|
|||
|
|
|||
|
procedure TAboutForm.btnOKClick(Sender: TObject);
|
|||
|
begin
|
|||
|
ModalResult := mrOK;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TAboutForm.lblPluginsClick(Sender: TObject);
|
|||
|
var URL : String;
|
|||
|
begin
|
|||
|
URL := lblPlugins.Hint;
|
|||
|
ShellExecute(ValidParentForm(Self).Handle, 'open', PChar(URL), nil, nil, SW_SHOWNORMAL);
|
|||
|
URL := 'https://onedrive.live.com/?authkey=%21AEhvN24LOQKCzBY&cid=828A1C23C17CA4C9&id=828A1C23C17CA4C9%211037&parId=root&action=locate';
|
|||
|
ShellExecute(ValidParentForm(Self).Handle, 'open', PChar(URL), nil, nil, SW_SHOWNORMAL);
|
|||
|
end;
|
|||
|
|
|||
|
procedure TAboutForm.SetTitleColor;
|
|||
|
var clr: TColor;
|
|||
|
begin
|
|||
|
if IsDarkTheme or (CurrentStyle = 'Cyan Night') or (CurrentStyle = 'Calypso SLE')
|
|||
|
or (CurrentStyle = 'Obsidian') or (CurrentStyle = 'Metropolis UI Green') then
|
|||
|
clr := BrightColor
|
|||
|
else
|
|||
|
clr := clMaroon;
|
|||
|
|
|||
|
lbApoTitle.Font.Color := clr;
|
|||
|
lbApoVers.Font.Color := clr;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TAboutForm.DevelopersClick(Sender: TObject);
|
|||
|
begin
|
|||
|
ShellExecute(ValidParentForm(Self).Handle, 'open', PChar(TLabel(Sender).Hint),
|
|||
|
nil, nil, SW_SHOWNORMAL);
|
|||
|
end;
|
|||
|
|
|||
|
procedure TAboutForm.FormCreate(Sender: TObject);
|
|||
|
var s1, s2, s3: string;
|
|||
|
AVFont: TResourceStream;
|
|||
|
begin
|
|||
|
btnOK.Caption := TextByKey('common-close');
|
|||
|
if (LanguageFile <> AvailableLanguages.Strings[0]) and (LanguageFile <> '') then
|
|||
|
begin
|
|||
|
LanguageInfo(LanguageFile, s1, s2);
|
|||
|
s3 := LanguageAuthor(LanguageFile);
|
|||
|
Label20.Visible := (s2 <> '') and (s3 <> '');
|
|||
|
Label20.Caption := s2 + #32 + TextByKey('common-translation') + #32#32 + s3;
|
|||
|
end;
|
|||
|
lblPlugins.Caption := TextByKey('common-pluginlink');
|
|||
|
Label3.Caption := TextByKey('common-thirdparty');
|
|||
|
SetTitleColor;
|
|||
|
if (pos(LowerCase(s1), 'russian') > 0) or (pos(LowerCase(s1), '<27><><EFBFBD><EFBFBD><EFBFBD>') > 0) then
|
|||
|
lblAuthor.Caption := '<27><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
|
|||
|
if Screen.Fonts.IndexOf('Harlow Solid Italic') = -1 then
|
|||
|
begin // shouldn't happen on modern OS
|
|||
|
AVFont := TResourceStream.Create(hInstance, 'HARLOWSI', RT_FONT);
|
|||
|
try
|
|||
|
s3 := GetEnvVarValue('WINDIR') + '\Fonts\Harlow Solid Italic.ttf';
|
|||
|
AVFont.SavetoFile(s3);
|
|||
|
except
|
|||
|
s3 := AppPath + 'Harlow Solid Italic.ttf';
|
|||
|
AVFont.SavetoFile(s3);
|
|||
|
end;
|
|||
|
AddFontResource(PChar(s3));
|
|||
|
SendMessage(HWND_BROADCAST,WM_FONTCHANGE,0,0);
|
|||
|
AVFont.Free;
|
|||
|
end;
|
|||
|
|
|||
|
end;
|
|||
|
|
|||
|
end.
|