Martijn Laan před 1 rokem
rodič
revize
66736a6cba

+ 2 - 1
Projects/CompFilesDesigner.dfm

@@ -31,7 +31,7 @@ object FilesDesignerForm: TFilesDesignerForm
       Align = alTop
       Shape = bsBottomLine
     end
-    object OkButton: TButton
+    object InsertButton: TButton
       Left = 406
       Top = 11
       Width = 75
@@ -39,6 +39,7 @@ object FilesDesignerForm: TFilesDesignerForm
       Caption = 'Insert'
       ModalResult = 1
       TabOrder = 0
+      OnClick = InsertButtonClick
     end
     object CancelButton: TButton
       Left = 490

+ 9 - 2
Projects/CompFilesDesigner.pas

@@ -9,7 +9,7 @@ uses
 type
   TFilesDesignerForm = class(TUIStateForm)
     Panel1: TPanel;
-    OkButton: TButton;
+    InsertButton: TButton;
     CancelButton: TButton;
     AppFilesEditButton: TButton;
     AppFilesRemoveButton: TButton;
@@ -21,6 +21,7 @@ type
     Bevel1: TBevel;
     procedure FormCreate(Sender: TObject);
     procedure FormDestroy(Sender: TObject);
+    procedure InsertButtonClick(Sender: TObject);
   private
     FFilesHelper: TWizardFormFilesHelper;
     function GetText: String;
@@ -36,7 +37,7 @@ procedure TFilesDesignerForm.FormCreate(Sender: TObject);
 begin
   FFilesHelper := TWizardFormFilesHelper.Create(Handle,
     NotCreateAppDirCheck, AppFilesListBox, AppFilesAddButton, AppFilesAddDirButton,
-    AppFilesEditButton, AppFilesRemoveButton);;
+    AppFilesEditButton, AppFilesRemoveButton);
 end;
 
 procedure TFilesDesignerForm.FormDestroy(Sender: TObject);
@@ -50,4 +51,10 @@ begin
   FFilesHelper.AddScript(Result);
 end;
 
+procedure TFilesDesignerForm.InsertButtonClick(Sender: TObject);
+begin
+  if FFilesHelper.FilesCount = 0 then
+    ModalResult := mrCancel;
+end;
+
 end.

+ 18 - 14
Projects/CompForm.pas

@@ -1002,19 +1002,6 @@ begin
   end;
 end;
 
-procedure TCompileForm.TFilesDesignerClick(Sender: TObject);
-var
-  FilesDesignerForm: TFilesDesignerForm;
-begin
-  FilesDesignerForm := TFilesDesignerForm.Create(Application);
-  try
-    if FilesDesignerForm.ShowModal = mrOk then
-      FActiveMemo.SelText := FilesDesignerForm.Text;
-  finally
-    FilesDesignerForm.Free;
-  end;
-end;
-
 procedure TCompileForm.NewMainFile;
 var
   Memo: TCompScintFileEdit;
@@ -2915,13 +2902,30 @@ var
 begin
   MsgBoxForm := TMsgBoxDesignerForm.Create(Application);
   try
-    if MsgBoxForm.ShowModal = mrOk then
+    if (MsgBoxForm.ShowModal = mrOk) and
+       (MsgBox('The generated Pascal script will be inserted into the editor at the cursor position. Continue?',
+        SCompilerFormCaption, mbConfirmation, MB_YESNO) = IDYES) then
       FActiveMemo.SelText := MsgBoxForm.Text;
   finally
     MsgBoxForm.Free;
   end;
 end;
 
+procedure TCompileForm.TFilesDesignerClick(Sender: TObject);
+var
+  FilesDesignerForm: TFilesDesignerForm;
+begin
+  FilesDesignerForm := TFilesDesignerForm.Create(Application);
+  try
+    if (FilesDesignerForm.ShowModal = mrOk) and
+       (MsgBox('The generated script will be inserted into the editor at the cursor position. Continue?',
+        SCompilerFormCaption, mbConfirmation, MB_YESNO) = IDYES) then
+      FActiveMemo.SelText := FilesDesignerForm.Text;
+  finally
+    FilesDesignerForm.Free;
+  end;
+end;
+
 procedure TCompileForm.TSignToolsClick(Sender: TObject);
 var
   SignToolsForm: TSignToolsForm;

+ 7 - 0
Projects/CompWizardFilesHelper.pas

@@ -16,6 +16,7 @@ type
       FEditButton: TButton;
       FRemoveButton: TButton;
       procedure AddWizardFile(const Source: String; const RecurseSubDirs, CreateAllSubDirs: Boolean);
+      function GetWizardFilesCount: Integer;
       procedure UpdateWizardFiles;
       procedure UpdateWizardFilesButtons;
       procedure FilesListBoxClick(Sender: TObject);
@@ -31,6 +32,7 @@ type
         const AddButton, AddDirButton, EditButton, RemoveButton: TButton);
       destructor Destroy; override;
       procedure AddScript(var Files: String);
+      property FilesCount: Integer read GetWizardFilesCount;
   end;
 
 implementation
@@ -89,6 +91,11 @@ begin
   FWizardFiles.Add(WizardFile);
 end;
 
+function TWizardFormFilesHelper.GetWizardFilesCount: Integer;
+begin
+  Result := FWizardFiles.Count;
+end;
+
 procedure TWizardFormFilesHelper.UpdateWizardFiles;
 var
   WizardFile: PWizardFile;