fpspreadsheet: Control position of search dialog and confirmation dialog.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4319 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2015-09-09 15:26:11 +00:00
parent e633cfc677
commit 1641355a19
2 changed files with 41 additions and 1 deletions

View File

@ -380,6 +380,9 @@ uses
sCSVParamsForm, sCurrencyForm, sFormatSettingsForm, sSortParamsForm,
sHyperlinkForm, sNumFormatForm, sSearchForm;
var
SEARCH_DLG_POS: TPoint = (X: -1; Y: -1);
function CreateIni: TCustomIniFile;
begin
Result := TMemIniFile.Create(GetAppConfigFile(false));
@ -496,7 +499,15 @@ end;
procedure TMainForm.AcSearchExecute(Sender: TObject);
begin
if SearchForm = nil then
SearchForm := TSearchForm.Create(self);
SearchForm := TSearchForm.Create(self)
else
if not SearchForm.Showing then
begin
SearchForm.Position := poDesigned;
SearchForm.Left := SEARCH_DLG_POS.X;
SearchForm.Top := SEARCH_DLG_POS.Y;
end else
SearchForm.BringToFront;
SearchForm.OnFound := @SearchFound;
SearchForm.OnClose := @SearchClose;
SearchForm.SearchParams := DefaultSearchParams;
@ -611,6 +622,8 @@ begin
Unused(CloseAction);
DefaultSearchParams := TSearchForm(Sender).SearchParams;
DefaultReplaceParams := TSearchForm(Sender).ReplaceParams;
SEARCH_DLG_POS.X := SearchForm.Left;
SEARCH_DLG_POS.Y := SearchForm.Top;
end;
procedure TMainForm.SearchFound(Sender: TObject; AFound: Boolean;

View File

@ -104,19 +104,46 @@ const
SEARCH_TAB = 0;
REPLACE_TAB = 1;
var
CONFIRM_REPLACEMENT_DLG_X: Integer = -1;
CONFIRM_REPLACEMENT_DLG_Y: Integer = -1;
{ TSearchForms }
procedure TSearchForm.ConfirmReplacementHandler(Sender: TObject;
AWorksheet: TsWorksheet; ARow, ACol: Cardinal; const ASearchText, AReplaceText: String;
var AConfirmReplacement: TsConfirmReplacementResult);
var
F: TForm;
begin
Unused(AWorksheet, ARow, ACol);
Unused(ASearchText, AReplaceText);
F := CreateMessageDialog('Replace?', mtConfirmation, [mbYes, mbNo, mbCancel]);
try
if (CONFIRM_REPLACEMENT_DLG_X = -1) then
F.Position := poMainformCenter
else begin
F.Position := poDesigned;
F.Left := CONFIRM_REPLACEMENT_DLG_X;
F.Top := CONFIRM_REPLACEMENT_DLG_Y;
end;
case F.ShowModal of
mrYes: AConfirmReplacement := crReplace;
mrNo : AConfirmReplacement := crIgnore;
mrCancel: AConfirmReplacement := crAbort;
end;
CONFIRM_REPLACEMENT_DLG_X := F.Left;
CONFIRM_REPLACEMENT_DLG_Y := F.Top;
finally
F.Free;
end;
{
case MessageDlg('Replace?', mtConfirmation, [mbYes, mbNo, mbCancel], 0) of
mrYes: AConfirmReplacement := crReplace;
mrNo : AConfirmReplacement := crIgnore;
mrCancel: AConfirmReplacement := crAbort;
end;
}
end;
procedure TSearchForm.Execute(AWorkbook: TsWorkbook);