You've already forked lazarus-ccr
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:
@@ -380,6 +380,9 @@ uses
|
|||||||
sCSVParamsForm, sCurrencyForm, sFormatSettingsForm, sSortParamsForm,
|
sCSVParamsForm, sCurrencyForm, sFormatSettingsForm, sSortParamsForm,
|
||||||
sHyperlinkForm, sNumFormatForm, sSearchForm;
|
sHyperlinkForm, sNumFormatForm, sSearchForm;
|
||||||
|
|
||||||
|
var
|
||||||
|
SEARCH_DLG_POS: TPoint = (X: -1; Y: -1);
|
||||||
|
|
||||||
function CreateIni: TCustomIniFile;
|
function CreateIni: TCustomIniFile;
|
||||||
begin
|
begin
|
||||||
Result := TMemIniFile.Create(GetAppConfigFile(false));
|
Result := TMemIniFile.Create(GetAppConfigFile(false));
|
||||||
@@ -496,7 +499,15 @@ end;
|
|||||||
procedure TMainForm.AcSearchExecute(Sender: TObject);
|
procedure TMainForm.AcSearchExecute(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
if SearchForm = nil then
|
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.OnFound := @SearchFound;
|
||||||
SearchForm.OnClose := @SearchClose;
|
SearchForm.OnClose := @SearchClose;
|
||||||
SearchForm.SearchParams := DefaultSearchParams;
|
SearchForm.SearchParams := DefaultSearchParams;
|
||||||
@@ -611,6 +622,8 @@ begin
|
|||||||
Unused(CloseAction);
|
Unused(CloseAction);
|
||||||
DefaultSearchParams := TSearchForm(Sender).SearchParams;
|
DefaultSearchParams := TSearchForm(Sender).SearchParams;
|
||||||
DefaultReplaceParams := TSearchForm(Sender).ReplaceParams;
|
DefaultReplaceParams := TSearchForm(Sender).ReplaceParams;
|
||||||
|
SEARCH_DLG_POS.X := SearchForm.Left;
|
||||||
|
SEARCH_DLG_POS.Y := SearchForm.Top;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TMainForm.SearchFound(Sender: TObject; AFound: Boolean;
|
procedure TMainForm.SearchFound(Sender: TObject; AFound: Boolean;
|
||||||
|
@@ -104,19 +104,46 @@ const
|
|||||||
SEARCH_TAB = 0;
|
SEARCH_TAB = 0;
|
||||||
REPLACE_TAB = 1;
|
REPLACE_TAB = 1;
|
||||||
|
|
||||||
|
var
|
||||||
|
CONFIRM_REPLACEMENT_DLG_X: Integer = -1;
|
||||||
|
CONFIRM_REPLACEMENT_DLG_Y: Integer = -1;
|
||||||
|
|
||||||
{ TSearchForms }
|
{ TSearchForms }
|
||||||
|
|
||||||
procedure TSearchForm.ConfirmReplacementHandler(Sender: TObject;
|
procedure TSearchForm.ConfirmReplacementHandler(Sender: TObject;
|
||||||
AWorksheet: TsWorksheet; ARow, ACol: Cardinal; const ASearchText, AReplaceText: String;
|
AWorksheet: TsWorksheet; ARow, ACol: Cardinal; const ASearchText, AReplaceText: String;
|
||||||
var AConfirmReplacement: TsConfirmReplacementResult);
|
var AConfirmReplacement: TsConfirmReplacementResult);
|
||||||
|
var
|
||||||
|
F: TForm;
|
||||||
begin
|
begin
|
||||||
Unused(AWorksheet, ARow, ACol);
|
Unused(AWorksheet, ARow, ACol);
|
||||||
Unused(ASearchText, AReplaceText);
|
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
|
case MessageDlg('Replace?', mtConfirmation, [mbYes, mbNo, mbCancel], 0) of
|
||||||
mrYes: AConfirmReplacement := crReplace;
|
mrYes: AConfirmReplacement := crReplace;
|
||||||
mrNo : AConfirmReplacement := crIgnore;
|
mrNo : AConfirmReplacement := crIgnore;
|
||||||
mrCancel: AConfirmReplacement := crAbort;
|
mrCancel: AConfirmReplacement := crAbort;
|
||||||
end;
|
end;
|
||||||
|
}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSearchForm.Execute(AWorkbook: TsWorkbook);
|
procedure TSearchForm.Execute(AWorkbook: TsWorkbook);
|
||||||
|
Reference in New Issue
Block a user