1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
|
unit schemaeditorconf;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, inifiles;
Const
DefaultDisableMySQLVersionCheck = False;
Type
{ TSchemaSettings }
TSchemaSettings = class(TPersistent)
private
FCurrentFile: String;
FDisableMySQLVersionCheck: Boolean;
Public
Constructor Create; virtual;
Procedure Reset; virtual;
Class Function DefaultFileName : String;
Procedure LoadFromIni(aIni : TCustomIniFile); virtual;
Procedure SaveToIni(aIni : TCustomIniFile); virtual;
Procedure LoadFromFile(const aFileName : String);
Procedure SaveToFile(const aFileName : String);
Property CurrentFile : String Read FCurrentFile;
Published
Property DisableMySQLVersionCheck : Boolean Read FDisableMySQLVersionCheck Write FDisableMySQLVersionCheck;
end;
Function SchemaSettings : TSchemaSettings;
implementation
const
SConnections = 'SchemaConnections';
KeyDisableMySQLVersionCheck = 'DisableMySQLVersionCheck';
var
_settings : TSchemaSettings;
Function SchemaSettings : TSchemaSettings;
begin
if not assigned(_settings) then
_settings:=TSchemaSettings.Create;
Result:=_settings;
end;
{ TSchemaSettings }
constructor TSchemaSettings.Create;
begin
Reset;
end;
procedure TSchemaSettings.Reset;
begin
DisableMySQLVersionCheck:=DefaultDisableMySQLVersionCheck;
end;
class function TSchemaSettings.DefaultFileName: String;
begin
Result:=GetAppConfigFile(False);
end;
procedure TSchemaSettings.LoadFromIni(aIni: TCustomIniFile);
begin
With aIni do
begin
DisableMySQLVersionCheck:=ReadBool(SConnections,KeyDisableMySQLVersionCheck,DisableMySQLVersionCheck);
end;
end;
procedure TSchemaSettings.SaveToIni(aIni: TCustomIniFile);
begin
With aIni do
begin
WriteBool(SConnections,KeyDisableMySQLVersionCheck,DisableMySQLVersionCheck);
end;
end;
procedure TSchemaSettings.LoadFromFile(const aFileName: String);
var
Ini : TMemIniFile;
begin
FCurrentFile:=AFileName;
Ini:=TMemIniFile.Create(aFileName);
try
LoadFromIni(Ini);
finally
Ini.Free;
end;
end;
procedure TSchemaSettings.SaveToFile(const aFileName: String);
var
Ini : TMemIniFile;
begin
FCurrentFile:=AFileName;
Ini:=TMemIniFile.Create(aFileName);
try
SaveToIni(Ini);
Ini.UpdateFile;
finally
Ini.Free;
end;
end;
initialization
finalization
_settings.Free;
end.
|