Disabling print buttons during printing

Add a TTimer to the form in qrprev.pas. Set the interval to 2-5 secs.
Amend procedure TQRStandardPreview.PrintClick as shown below, then add the timer click even also shown below.
procedure TQRStandardPreview.PrintClick(Sender: TObject);
begin
  print.Enabled := false;
  timer1.Enabled := true;
  application.processmessages;
  if (QRPrinter.Master = nil) or (QRPrinter.Master is TQRCompositeWinControl) then
    QRPrinter.Print
  else if TCustomQuickRep(QRPrinter.Master).QRPrinter.Status <> mpBusy then
         QRPrinter.Print;
end;

procedure TQRStandardPreview.Timer1Timer(Sender: TObject);
begin
       if (TCustomQuickRep(QRPrinter.Master).QRPrinter.Status <> mpBusy) then
       begin
           Timer1.Enabled := false;
           print.Enabled := true;
       end;
end;