Changeset 122 for trunk/Forms/UFormMain.pas
- Timestamp:
- Nov 26, 2016, 12:35:41 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Forms/UFormMain.pas
r121 r122 16 16 17 17 TFormMain = class(TForm) 18 AFilterCaseSensitive: TAction; 19 AFilterExactMatch: TAction; 18 20 AHide: TAction; 19 21 AExport: TAction; … … 75 77 ToolButton11: TToolButton; 76 78 ToolButton12: TToolButton; 79 ToolButton13: TToolButton; 80 ToolButton14: TToolButton; 81 ToolButton16: TToolButton; 77 82 ToolButton2: TToolButton; 78 83 ToolButton3: TToolButton; … … 90 95 procedure AFileSaveAsExecute(Sender: TObject); 91 96 procedure AFileSaveExecute(Sender: TObject); 97 procedure AFilterCaseSensitiveExecute(Sender: TObject); 98 procedure AFilterExactMatchExecute(Sender: TObject); 92 99 procedure AHideExecute(Sender: TObject); 93 100 procedure AImportExecute(Sender: TObject); … … 100 107 procedure AShowImportFormatsExecute(Sender: TObject); 101 108 procedure AShowImportSourcesExecute(Sender: TObject); 102 procedure CheckBoxExactMatchChange(Sender: TObject);103 109 procedure EditSearchChange(Sender: TObject); 104 110 procedure FormHide(Sender: TObject); … … 123 129 ProjectClosed: Boolean; 124 130 ImportTotalItemCount: Integer; 125 function GetFilteredCase(Text: string): string;131 function FilterCell(Text1, Text2: string): Boolean; 126 132 procedure ProcessImportsJob(Job: TJob); 127 133 procedure FilterList(List: TListObject); … … 280 286 end; 281 287 288 procedure TFormMain.AFilterCaseSensitiveExecute(Sender: TObject); 289 begin 290 UpdateAcronymsList; 291 end; 292 293 procedure TFormMain.AFilterExactMatchExecute(Sender: TObject); 294 begin 295 UpdateAcronymsList; 296 end; 297 282 298 procedure TFormMain.AHideExecute(Sender: TObject); 283 299 begin … … 401 417 FreeAndNil(FormImportSources); 402 418 end; 403 end;404 405 procedure TFormMain.CheckBoxExactMatchChange(Sender: TObject);406 begin407 UpdateAcronymsList;408 419 end; 409 420 … … 496 507 end; 497 508 498 function TFormMain.GetFilteredCase(Text: string): string; 499 begin 500 if not CheckBoxCaseSensitive.Checked then Result := UTF8LowerCase(Text) 501 else Result := Text; 509 function TFormMain.FilterCell(Text1, Text2: string): Boolean; 510 begin 511 if not AFilterCaseSensitive.Checked then begin 512 Text1 := UTF8LowerCase(Text1); 513 Text2 := UTF8LowerCase(Text2); 514 end; 515 if AFilterExactMatch.Checked then 516 Result := Text1 = Text2 517 else Result := Pos(Text1, Text2) > 0; 502 518 end; 503 519 … … 543 559 if Visible and (EnteredCount > 0) then begin 544 560 FoundCount := 0; 545 if CheckBoxExactMatch.Checked then begin 546 if TextEnteredColumn(0) and (GetFilteredCase(StringGrid.Cells[0, 0]) = 547 GetFilteredCase(TAcronymMeaning(List.Items[I]).Acronym.Name)) then Inc(FoundCount); 548 if TextEnteredColumn(1) and (GetFilteredCase(StringGrid.Cells[1, 0]) = 549 GetFilteredCase(TAcronymMeaning(List.Items[I]).Name)) then Inc(FoundCount); 550 if TextEnteredColumn(2) and (GetFilteredCase(StringGrid.Cells[2, 0]) = 551 GetFilteredCase(TAcronymMeaning(List.Items[I]).Categories.GetString)) then Inc(FoundCount); 552 end else begin 553 if Pos(GetFilteredCase(StringGrid.Cells[0, 0]), 554 GetFilteredCase(TAcronymMeaning(List.Items[I]).Acronym.Name)) > 0 then Inc(FoundCount); 555 if Pos(GetFilteredCase(StringGrid.Cells[1, 0]), 556 GetFilteredCase(TAcronymMeaning(List.Items[I]).Name)) > 0 then Inc(FoundCount); 557 if Pos(GetFilteredCase(StringGrid.Cells[2, 0]), 558 GetFilteredCase(TAcronymMeaning(List.Items[I]).Categories.GetString)) > 0 then Inc(FoundCount); 559 end; 561 if TextEnteredColumn(0) and (FilterCell(StringGrid.Cells[0, 0], 562 TAcronymMeaning(List.Items[I]).Acronym.Name)) then Inc(FoundCount); 563 if TextEnteredColumn(1) and (FilterCell(StringGrid.Cells[1, 0], 564 TAcronymMeaning(List.Items[I]).Name)) then Inc(FoundCount); 565 if TextEnteredColumn(2) and (FilterCell(StringGrid.Cells[2, 0], 566 TAcronymMeaning(List.Items[I]).Categories.GetString)) then Inc(FoundCount); 560 567 if FoundCount <> EnteredCount then List.Delete(I); 561 568 end else List.Delete(I); … … 640 647 Core.AlwaysOnTop := ReadBoolWithDefault('AlwaysOnTop', False); 641 648 Core.StartMinimizedToTray := ReadBoolWithDefault('StartMinimizedToTray', False); 642 CheckBoxExactMatch.Checked := ReadBoolWithDefault('ExactMatch', False);643 CheckBoxCaseSensitive.Checked := ReadBoolWithDefault('CaseSensitive', False);649 AFilterExactMatch.Checked := ReadBoolWithDefault('ExactMatch', False); 650 AFilterCaseSensitive.Checked := ReadBoolWithDefault('CaseSensitive', False); 644 651 MenuItemToolbar.Checked := ReadBoolWithDefault('ToolBarVisible', True); 645 652 MenuItemParam.Checked := ReadBoolWithDefault('FilterParamVisible', True); … … 672 679 WriteBool('AlwaysOnTop', Core.AlwaysOnTop); 673 680 WriteBool('StartMinimizedToTray', Core.StartMinimizedToTray); 674 WriteBool('ExactMatch', CheckBoxExactMatch.Checked);675 WriteBool('CaseSensitive', CheckBoxCaseSensitive.Checked);681 WriteBool('ExactMatch', AFilterExactMatch.Checked); 682 WriteBool('CaseSensitive', AFilterCaseSensitive.Checked); 676 683 WriteBool('ToolBarVisible', MenuItemToolbar.Checked); 677 684 WriteBool('FilterParamVisible', MenuItemParam.Checked);
Note:
See TracChangeset
for help on using the changeset viewer.