mirror of
https://github.com/keymanapp/keyman.git
synced 2026-09-25 00:57:42 +00:00
63 lines
1.4 KiB
ObjectPascal
63 lines
1.4 KiB
ObjectPascal
(*
|
|
Copyright (C) 2020 SIL International.
|
|
|
|
Show a message dialog with a check box to 'remember Yes choice
|
|
for next time'.
|
|
*)
|
|
unit Keyman.Developer.UI.UfrmMessageDlgWithSave;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
|
StdCtrls, UfrmTike;
|
|
|
|
type
|
|
TfrmMessageDlgWithSave = class(TTikeForm)
|
|
lblMessage: TLabel;
|
|
cmdYes: TButton;
|
|
cmdNo: TButton;
|
|
cmdCancel: TButton;
|
|
chkSave: TCheckBox;
|
|
private
|
|
FHelpTopic: string;
|
|
protected
|
|
function GetHelpTopic: string; override;
|
|
public
|
|
// Always has Yes, No and Cancel
|
|
class function Execute(const Message, SaveCaption, HelpTopic: string; DefaultSaveChecked: Boolean; var SaveOption: Boolean): TModalResult;
|
|
end;
|
|
|
|
implementation
|
|
|
|
uses
|
|
Keyman.Developer.System.HelpTopics,
|
|
|
|
KeymanDeveloperOptions;
|
|
|
|
{$R *.DFM}
|
|
|
|
class function TfrmMessageDlgWithSave.Execute(const Message, SaveCaption, HelpTopic: string;
|
|
DefaultSaveChecked: Boolean; var SaveOption: Boolean): TModalResult;
|
|
var
|
|
dlg: TfrmMessageDlgWithSave;
|
|
begin
|
|
dlg := TfrmMessageDlgWithSave.Create(Application);
|
|
try
|
|
dlg.chkSave.Checked := DefaultSaveChecked;
|
|
dlg.chkSave.Caption := SaveCaption;
|
|
dlg.lblMessage.Caption := Message;
|
|
dlg.FHelpTopic := HelpTopic;
|
|
Result := dlg.ShowModal;
|
|
SaveOption := dlg.chkSave.Checked;
|
|
finally
|
|
dlg.Free;
|
|
end;
|
|
end;
|
|
|
|
function TfrmMessageDlgWithSave.GetHelpTopic: string;
|
|
begin
|
|
Result := FHelpTopic;
|
|
end;
|
|
|
|
end.
|