dbguitestrunner.pas 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. unit DBGuiTestRunner;
  2. // Adds database.ini editing facilities to regular GuiTestRunner form
  3. {$mode objfpc}{$H+}
  4. interface
  5. uses
  6. Classes, SysUtils, Interfaces, Forms, StdCtrls, GuiTestRunner, Menus,inieditor;
  7. type
  8. { TDBGuiTestRunnerForm }
  9. TDBGuiTestRunnerForm=class(TGUITestRunner)
  10. private
  11. MEditIni: TMenuItem;
  12. public
  13. procedure DBEditButtonClick(ASender: TObject);
  14. constructor Create(AOwner: TComponent); override;
  15. end;
  16. var
  17. DBGuiTestRunnerForm: TDBGuiTestRunnerForm;
  18. implementation
  19. { TDBGuiTestRunnerForm }
  20. procedure TDBGuiTestRunnerForm.DBEditButtonClick(ASender: TObject);
  21. var
  22. DBSelectForm: TFormIniEditor;
  23. begin
  24. DBSelectForm:=TFormIniEditor.Create(nil);
  25. try
  26. DBSelectForm.INIFile:='database.ini';
  27. DBSelectForm.ProfileSelectSection:='Database';
  28. DBSelectForm.ProfileSelectKey:='type';
  29. // We can ignore resulting db selection as the file is saved already:
  30. DBSelectForm.ShowModal;
  31. finally
  32. DBSelectForm.Free;
  33. end;
  34. end;
  35. constructor TDBGuiTestRunnerForm.Create(AOwner: TComponent);
  36. // Add our database.ini edit button to the existing GUI
  37. begin
  38. inherited Create(AOwner);
  39. MEditIni:=TMenuItem.Create(Self);
  40. MEditIni.Caption:='Edit database.ini...';
  41. MEditIni.Hint:='Edit database selection settings (effective for next start)';
  42. MEditIni.OnClick:=@DBEditButtonClick;
  43. MenuItemEdit.Add(MEditIni);
  44. end;
  45. end.