* Load file from command-line if set

git-svn-id: trunk@57585 -
This commit is contained in:
michael 2018-03-31 19:51:16 +00:00
parent bfcaf2d1db
commit e2b698c85d
3 changed files with 51 additions and 12 deletions

View File

@ -292,6 +292,7 @@ type
procedure VAlignExecute(Sender: TObject); procedure VAlignExecute(Sender: TObject);
procedure VResizeExecute(Sender: TObject); procedure VResizeExecute(Sender: TObject);
private private
FInitialFileName: String;
FLoadModified : Boolean; FLoadModified : Boolean;
FStopDesigning: Boolean; FStopDesigning: Boolean;
MRUMenuManager1: TMRUMenuManager; MRUMenuManager1: TMRUMenuManager;
@ -317,6 +318,7 @@ type
procedure GetReportDataNames(Sender: TObject; List: TStrings); procedure GetReportDataNames(Sender: TObject; List: TStrings);
procedure InitialiseData; procedure InitialiseData;
{$ENDIF} {$ENDIF}
procedure CheckLoadInitialFile;
function CreateNewPage: TFPReportCustomPage; function CreateNewPage: TFPReportCustomPage;
procedure DoPaste(Sender: TObject); procedure DoPaste(Sender: TObject);
procedure DoReportChangedByDesigner(Sender: TObject); procedure DoReportChangedByDesigner(Sender: TObject);
@ -363,10 +365,12 @@ type
function PageDesigner(Aindex : Integer) : TFPReportDesignerControl; function PageDesigner(Aindex : Integer) : TFPReportDesignerControl;
Property Modified : Boolean Read GetModified Write SetModified; Property Modified : Boolean Read GetModified Write SetModified;
public public
Public
procedure ResetModified; virtual; procedure ResetModified; virtual;
procedure DesignReport; virtual; procedure DesignReport; virtual;
procedure StopDesigning; virtual; procedure StopDesigning; virtual;
procedure PreviewReport; virtual; procedure PreviewReport; virtual;
procedure LoadReportFromFile(const AFileName: String);
function NewReport: Boolean; virtual; function NewReport: Boolean; virtual;
Function SaveReport : Boolean; virtual; Function SaveReport : Boolean; virtual;
function OpenReport: Boolean; virtual; function OpenReport: Boolean; virtual;
@ -381,6 +385,7 @@ type
Property OnNewReport : TNotifyEvent Read FOnNewReport Write FOnNewReport; Property OnNewReport : TNotifyEvent Read FOnNewReport Write FOnNewReport;
Property OnOpenReport : TNotifyEvent Read FOnOpenReport Write FOnOpenReport; Property OnOpenReport : TNotifyEvent Read FOnOpenReport Write FOnOpenReport;
Property AutoSaveOnClose : Boolean Read FAutoSaveOnClose Write FAutoSaveOnClose; Property AutoSaveOnClose : Boolean Read FAutoSaveOnClose Write FAutoSaveOnClose;
Property InitialFileName : String Read FInitialFileName Write FInitialFileName;
end; end;
Const Const
@ -554,10 +559,31 @@ begin
end; end;
procedure TFPReportDesignerForm.FormShow(Sender: TObject); procedure TFPReportDesignerForm.FormShow(Sender: TObject);
begin begin
CheckLoadInitialFile;
SBReport.Refresh; SBReport.Refresh;
end; end;
procedure TFPReportDesignerForm.CheckLoadInitialFile;
Var
FN : String;
begin
if (InitialFileName<>'') then
begin
FN:=InitialFileName;
InitialFileName:='';
if FileExists(FN) then
begin
LoadReportFromFile(FN);
DesignReport;
end;
end;
end;
procedure TFPReportDesignerForm.DesignReport; procedure TFPReportDesignerForm.DesignReport;
Var Var
@ -1753,22 +1779,25 @@ begin
ODReport.FileName:=Self.FileName; ODReport.FileName:=Self.FileName;
Result:=ODReport.Execute; Result:=ODReport.Execute;
if Result then if Result then
begin LoadReportFromFile(ODReport.FileName);
StopDesigning;
LoadDesignFromFile(ODReport.FileName);
SetFileCaption(ODReport.FileName);
if Assigned(MRUMenuManager1) then
begin
MRUMenuManager1.AddToRecent(ODReport.FileName);
MRUMenuManager1.SaveRecentFilesToIni;
end;
end;
end; end;
If Result then If Result then
DesignReport; DesignReport;
end; end;
Procedure TFPReportDesignerForm.LoadReportFromFile(Const AFileName : String);
begin
StopDesigning;
LoadDesignFromFile(AFileName);
SetFileCaption(AFileName);
if Assigned(MRUMenuManager1) then
begin
MRUMenuManager1.AddToRecent(AFileName);
MRUMenuManager1.SaveRecentFilesToIni;
end;
end;
procedure TFPReportDesignerForm.StopDesigning; procedure TFPReportDesignerForm.StopDesigning;
Var Var

View File

@ -23,9 +23,16 @@
<Version Value="2"/> <Version Value="2"/>
</PublishOptions> </PublishOptions>
<RunParams> <RunParams>
<local>
<CommandLineParams Value="/home/michael/testcopypaste.json"/>
</local>
<FormatVersion Value="2"/> <FormatVersion Value="2"/>
<Modes Count="1"> <Modes Count="1">
<Mode0 Name="default"/> <Mode0 Name="default">
<local>
<CommandLineParams Value="/home/michael/testcopypaste.json"/>
</local>
</Mode0>
</Modes> </Modes>
</RunParams> </RunParams>
<RequiredPackages Count="6"> <RequiredPackages Count="6">

View File

@ -116,6 +116,9 @@ begin
Application.Initialize; Application.Initialize;
Application.CreateForm(TFPReportDesignerForm,FPReportDesignerForm); Application.CreateForm(TFPReportDesignerForm,FPReportDesignerForm);
Application.Scaled:=False; Application.Scaled:=False;
if (ParamCount>0) then
FPReportDesignerForm.InitialFileName:=ParamStr(1);
// Improve this to check for options ?
Application.Run; Application.Run;
end. end.