|
@@ -138,6 +138,9 @@ type
|
|
|
cxGridDBTableViewfldName: TcxGridDBColumn;
|
|
|
cxGridDBTableViewfldCategory: TcxGridDBColumn;
|
|
|
memDataPresetsfldGuid: TStringField;
|
|
|
+ cxStyleRepository1: TcxStyleRepository;
|
|
|
+ memDataPresetsfldNotes: TStringField;
|
|
|
+ cxGridDBTableViewfldNotes: TcxGridDBColumn;
|
|
|
procedure FormShow(Sender: TObject);
|
|
|
procedure FormCreate(Sender: TObject);
|
|
|
procedure FormDestroy(Sender: TObject);
|
|
@@ -211,7 +214,6 @@ type
|
|
|
FTempProjectFile: string;
|
|
|
FRoamingSavePath: string;
|
|
|
FSearchFromCaret: Boolean;
|
|
|
- FPresetsList: TStringList;
|
|
|
FHTTP: TIdHTTP;
|
|
|
function GetTempProjectFile: string;
|
|
|
function GetAppVersion: string;
|
|
@@ -220,8 +222,7 @@ type
|
|
|
procedure SaveProject;
|
|
|
procedure SaveProjectAs(const LoadAfterSave: Boolean);
|
|
|
procedure Run;
|
|
|
- procedure AddPreset(const APresetName: string);
|
|
|
- procedure DeletePreset(const AID: Integer);
|
|
|
+ procedure AddPreset(const APresetName: string; const APresetCategory: string; APresetNote: string);
|
|
|
procedure LoadPreset;
|
|
|
procedure SavePreset;
|
|
|
procedure ShowError(const AErrorText: string);
|
|
@@ -254,7 +255,7 @@ type
|
|
|
end;
|
|
|
|
|
|
const
|
|
|
- iCurrentConfigVersion: Integer = 2;
|
|
|
+ iCurrentConfigVersion: Integer = 3;
|
|
|
|
|
|
|
|
|
var
|
|
@@ -265,7 +266,8 @@ implementation
|
|
|
{$R *.dfm}
|
|
|
|
|
|
uses System.NetEncoding, System.UITypes, _EncryptStr, JsonDataObjects, IdGlobal, System.IOUtils, uRwXmlDOM,
|
|
|
- _frmBiggerEditor, IdUri, _frmSearch, ShellApi, _frmVariables, RegularExpressions;
|
|
|
+ _frmBiggerEditor, IdUri, _frmSearch, ShellApi, _frmVariables, RegularExpressions,
|
|
|
+ _frmAddEditPreset;
|
|
|
|
|
|
procedure TfrmMain.tbbtnRunClick(Sender: TObject);
|
|
|
begin
|
|
@@ -354,41 +356,46 @@ begin
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
-procedure TfrmMain.AddPreset(const APresetName: string);
|
|
|
+procedure TfrmMain.AddPreset(const APresetName: string; const APresetCategory: string; APresetNote: string);
|
|
|
+var
|
|
|
+ guid: string;
|
|
|
begin
|
|
|
- ShowMessage('not implemented yet');
|
|
|
-// FPresetsList.AddPair(GenerateGuid, Encode(APresetName));
|
|
|
-// UpdatePresetsCombobox;
|
|
|
-// comboPresets.ItemIndex := comboPresets.Properties.Items.Count - 1;
|
|
|
-//
|
|
|
-// FProjectConfig.WriteString('Presets', 'Presets', FPresetsList.Text);
|
|
|
+ guid := GenerateGuid;
|
|
|
+
|
|
|
+ memDataPresets.Append;
|
|
|
+ memDataPresetsfldName.Value := APresetName;
|
|
|
+ memDataPresetsfldCategory.Value := APresetCategory;
|
|
|
+ memDataPresetsfldNotes.Value := APresetNote;
|
|
|
+ memDataPresetsfldGuid.Value := guid;
|
|
|
+ memDataPresets.Post;
|
|
|
+
|
|
|
+ SavePreset;
|
|
|
end;
|
|
|
|
|
|
procedure TfrmMain.btnAddClick(Sender: TObject);
|
|
|
-var
|
|
|
- dmy: string;
|
|
|
begin
|
|
|
- if InputQuery('Add Preset', 'Enter a preset name:', dmy) then
|
|
|
+ if frmAddEditPreset.ShowModal = mrOk then
|
|
|
begin
|
|
|
- AddPreset(dmy);
|
|
|
+ AddPreset(frmAddEditPreset.edtPresetName.Text, frmAddEditPreset.edtCategory.Text, frmAddEditPreset.memNotes.Text);
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
procedure TfrmMain.btnDeleteClick(Sender: TObject);
|
|
|
begin
|
|
|
- ShowMessage('not implemented yet');
|
|
|
-// if comboPresets.Properties.Items.Count = 1 then
|
|
|
-// begin
|
|
|
-// MessageDlg('Thet last preset can''t be deleted. Please create a new preset if you want to delete this.', mtError, [mbOK], 0);
|
|
|
-// end
|
|
|
-// else
|
|
|
-// begin
|
|
|
-// if MessageDlg('Really delete preset "' + comboPresets.Text + '"?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
|
|
|
-// begin
|
|
|
-// DeletePreset(comboPresets.ItemIndex);
|
|
|
-// FProjectConfig.WriteString('Presets', 'Presets', FPresetsList.Text);
|
|
|
-// end;
|
|
|
-// end;
|
|
|
+ if memDataPresets.RecordCount = 1 then
|
|
|
+ begin
|
|
|
+ MessageDlg('Thet last preset can''t be deleted. Please create a new preset if you want to delete this.', mtError, [mbOK], 0);
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ if MessageDlg('Really delete preset "' + memDataPresetsfldName.Value + '"?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
|
|
|
+ begin
|
|
|
+ showmessage(memDataPresetsfldGuid.Value);
|
|
|
+ FProjectConfig.DeleteSection('Preset_' + memDataPresetsfldGuid.Value);
|
|
|
+ memDataPresets.Delete;
|
|
|
+ FProjectConfig.Save;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
end;
|
|
|
|
|
|
procedure TfrmMain.btnEditClick(Sender: TObject);
|
|
@@ -427,8 +434,7 @@ procedure TfrmMain.btnCopyPresetClick(Sender: TObject);
|
|
|
var
|
|
|
idx: Integer;
|
|
|
begin
|
|
|
- ShowMessage('not implemented yet');
|
|
|
-// SavePreset;
|
|
|
+ SavePreset;
|
|
|
// idx := comboPresets.ItemIndex;
|
|
|
// AddPreset('Copy of ' + comboPresets.Text);
|
|
|
// FProjectConfig.CopySection('Preset_' + FPresetsList.Names[idx], 'Preset_' + FPresetsList.Names[comboPresets.ItemIndex]);
|
|
@@ -662,20 +668,6 @@ begin
|
|
|
ActiveEditor.CutToClipboard;
|
|
|
end;
|
|
|
|
|
|
-procedure TfrmMain.DeletePreset(const AID: Integer);
|
|
|
-begin
|
|
|
- ShowMessage('not implemented yet');
|
|
|
-// comboPresets.Properties.OnChange := nil;
|
|
|
-// comboPresets.Properties.Items.Delete(AID);
|
|
|
-// FProjectConfig.DeleteSection('Preset_' + FPresetsList.Names[AID]);
|
|
|
-// FPresetsList.Delete(AID);
|
|
|
-// comboPresets.ItemIndex := comboPresets.Properties.Items.Count - 1;
|
|
|
-//
|
|
|
-// //FActivePreset := comboPresets.Text;
|
|
|
-// LoadPreset;
|
|
|
-// //comboPresets.Properties.OnChange := comboPresetsPropertiesChange;
|
|
|
-end;
|
|
|
-
|
|
|
function TfrmMain.Decode(const AText: string): string;
|
|
|
begin
|
|
|
Result := TNetEncoding.Base64.Decode(AText);
|
|
@@ -1021,8 +1013,6 @@ begin
|
|
|
MainConfig := TJSONConfig.Create(FRoamingSavePath + 'AppConfig.json');
|
|
|
FActiveProject := '';
|
|
|
|
|
|
- FPresetsList := TStringList.Create;
|
|
|
- FPresetsList.NameValueSeparator := ':';
|
|
|
|
|
|
ActiveEditor := nil;
|
|
|
|
|
@@ -1066,7 +1056,6 @@ end;
|
|
|
|
|
|
procedure TfrmMain.FormDestroy(Sender: TObject);
|
|
|
begin
|
|
|
- FPresetsList.Free;
|
|
|
FProjectConfig.Free;
|
|
|
MainConfig.Free;
|
|
|
end;
|
|
@@ -1218,9 +1207,9 @@ end;
|
|
|
|
|
|
procedure TfrmMain.LoadProject;
|
|
|
var
|
|
|
- strlist: TStringList;
|
|
|
i: Integer;
|
|
|
strstream: TStringStream;
|
|
|
+ strlist: TStringList;
|
|
|
begin
|
|
|
memDataPresets.AfterEdit := nil;
|
|
|
memDataPresets.AfterScroll := nil;
|
|
@@ -1254,15 +1243,15 @@ begin
|
|
|
//Upgrade config to newest version
|
|
|
strlist := TStringList.Create;
|
|
|
try
|
|
|
- strlist.Text := FProjectConfig.ReadString('Presets', 'Presets');
|
|
|
- FPresetsList.Clear;
|
|
|
+ strlist.NameValueSeparator := ':';
|
|
|
+ strlist.DelimitedText := FProjectConfig.ReadString('Presets', 'Presets');
|
|
|
for i := 0 to strlist.Count - 1 do
|
|
|
begin
|
|
|
- FPresetsList.AddPair(GenerateGuid, Encode(strlist[i]));
|
|
|
- FProjectConfig.RenameSection('Preset_' + i.ToString, 'Preset_' + FPresetsList.Names[i]);
|
|
|
+ FProjectConfig.WriteString('Preset_' + strlist.Names[i], 'PresetName', Decode(strlist.ValueFromIndex[i]));
|
|
|
+ FProjectConfig.WriteString('Preset_' + strlist.Names[i], 'Guid', strlist.Names[i]);
|
|
|
end;
|
|
|
|
|
|
- FProjectConfig.WriteString('Presets', 'Presets', FPresetsList.Text);
|
|
|
+ FProjectConfig.DeleteKey('Presets', 'Presets');
|
|
|
FProjectConfig.WriteInteger('Presets', 'ConfigVersion', iCurrentConfigVersion);
|
|
|
FProjectConfig.Save;
|
|
|
finally
|
|
@@ -1270,19 +1259,25 @@ begin
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
-
|
|
|
- FPresetsList.Clear;
|
|
|
- FPresetsList.DelimitedText := FProjectConfig.ReadString('Presets', 'Presets');
|
|
|
-
|
|
|
memDataPresets.Active := False;
|
|
|
memDataPresets.Active := True;
|
|
|
try
|
|
|
- for i := 0 to FPresetsList.Count - 1 do
|
|
|
- begin
|
|
|
- memDataPresets.Append;
|
|
|
- memDataPresetsfldGuid.Value := FPresetsList.Names[i];
|
|
|
- memDataPresetsfldName.Value := Decode(FPresetsList.ValueFromIndex[i]);
|
|
|
- memDataPresets.Post;
|
|
|
+ strlist := TStringList.Create;
|
|
|
+ try
|
|
|
+ FProjectConfig.ReadSections(strlist);
|
|
|
+ for i := 0 to strlist.Count - 1 do
|
|
|
+ begin
|
|
|
+ if Pos('Preset_', strlist[i]) = 1 then
|
|
|
+ begin
|
|
|
+ memDataPresets.Append;
|
|
|
+ memDataPresetsfldGuid.Value := FProjectConfig.ReadString(strlist[i], 'Guid');
|
|
|
+ memDataPresetsfldName.Value := FProjectConfig.ReadString(strlist[i], 'PresetName');
|
|
|
+ memDataPresetsfldNotes.Value := FProjectConfig.ReadString(strlist[i], 'Notes');
|
|
|
+ memDataPresets.Post;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ finally
|
|
|
+ strlist.Free;
|
|
|
end;
|
|
|
finally
|
|
|
memDataPresets.Active := True;
|
|
@@ -1293,7 +1288,7 @@ begin
|
|
|
if memDataPresets.RecordCount = 0 then
|
|
|
begin
|
|
|
// Add default
|
|
|
- AddPreset('Default');
|
|
|
+ AddPreset('Default', '', '');
|
|
|
FProjectConfig.Save;
|
|
|
end
|
|
|
else
|
|
@@ -1653,6 +1648,9 @@ begin
|
|
|
FProjectConfig.WriteString(preset, 'AuthUsername', TEncryptStr.EncryptString(edtAuthUsername.Text));
|
|
|
FProjectConfig.WriteString(preset, 'AuthPassword', TEncryptStr.EncryptString(edtAuthPassword.Text));
|
|
|
|
|
|
+ FProjectConfig.WriteString(preset, 'PresetName', memDataPresetsfldName.Value);
|
|
|
+ FProjectConfig.WriteString(preset, 'Guid', memDataPresetsfldGuid.Value);
|
|
|
+ FProjectConfig.WriteString(preset, 'Notes', memDataPresetsfldNotes.Value);
|
|
|
FProjectConfig.WriteString(preset, 'Category', memDataPresetsfldCategory.Value);
|
|
|
|
|
|
FProjectConfig.WriteString('Presets', 'LastUsed', memDataPresetsfldGuid.Value);
|
|
@@ -1665,8 +1663,6 @@ var
|
|
|
begin
|
|
|
SavePreset;
|
|
|
|
|
|
- FProjectConfig.WriteInteger('Presets', 'ConfigVersion', iCurrentConfigVersion);
|
|
|
-
|
|
|
strlist := TStringList.Create;
|
|
|
try
|
|
|
memDataVariables.SaveToStrings(strlist);
|