FIX: Index out of bounds

UPD: Use MaskInputDlg for choose color files by search template
This commit is contained in:
Alexander Koblov 2010-02-04 18:01:57 +00:00
commit db3fe6116a
3 changed files with 12 additions and 43 deletions

View file

@ -84,11 +84,13 @@ end;
procedure TfrmMaskInputDlg.lbxSearchTemplateClick(Sender: TObject);
begin
if lbxSearchTemplate.ItemIndex < 0 then Exit;
cmbMask.Text:= cTemplateSign + lbxSearchTemplate.Items[lbxSearchTemplate.ItemIndex];
end;
procedure TfrmMaskInputDlg.lbxSearchTemplateDblClick(Sender: TObject);
begin
if lbxSearchTemplate.ItemIndex < 0 then Exit;
cmbMask.Text:= cTemplateSign + lbxSearchTemplate.Items[lbxSearchTemplate.ItemIndex];
Close;
ModalResult:= mrOK;

View file

@ -4394,8 +4394,4 @@ object frmOptions: TfrmOptions
left = 112
top = 368
end
object pmSearchTemplate: TPopupMenu
left = 16
top = 415
end
end

View file

@ -244,7 +244,6 @@ type
pgMisc: TPage;
pnlButtons: TPanel;
pgColumns: TPage;
pmSearchTemplate: TPopupMenu;
rgScrolling: TRadioGroup;
rbCtrlAltLetterQS: TRadioButton;
rbAltLetterQS: TRadioButton;
@ -342,7 +341,6 @@ type
procedure chkIgnoreEnableChange(Sender: TObject);
procedure OnAutoRefreshOptionChanged(Sender: TObject);
procedure edHotKeyKeyPress(Sender: TObject; var Key: char);
procedure miSearchTemplateClick(Sender: TObject);
procedure btnWDXAddClick(Sender: TObject);
procedure btnWFXAddClick(Sender: TObject);
procedure btnWLXAddClick(Sender: TObject);
@ -443,7 +441,8 @@ implementation
uses
uLng, uGlobs, uGlobsPaths, uPixMapManager, fMain, ActnList, LCLProc,
uColorExt, uDCUtils, uOSUtils, fColumnsSetConf, uShowMsg, uShowForm,
fTweakPlugin, uhotkeymanger, uTypes, StrUtils, uFindEx, uKeyboard;
fTweakPlugin, uhotkeymanger, uTypes, StrUtils, uFindEx, uKeyboard,
fMaskInputDlg, uSearchTemplate;
const
stgCmdCommandIndex=0;
@ -1762,25 +1761,17 @@ end;
procedure TfrmOptions.btnSearchTemplateClick(Sender: TObject);
var
mi: TMenuItem;
I: Integer;
sMask: UTF8String;
bTemplate: Boolean;
begin
pmSearchTemplate.Items.Clear;
mi:= TMenuItem.Create(pmSearchTemplate);
mi.Caption:= '(none)';
mi.OnClick:= @miSearchTemplateClick;
mi.Tag:= -1;
pmSearchTemplate.Items.Add(mi);
for I:= 0 to gSearchTemplateList.Count - 1 do
with gSearchTemplateList do
if ShowMaskInputDlg(rsMarkPlus, rsMaskInput, glsMaskHistory, sMask) then
begin
mi:= TMenuItem.Create(pmSearchTemplate);
mi.Caption:= Templates[I].TemplateName;
mi.OnClick:= @miSearchTemplateClick;
mi.Tag:= I;
pmSearchTemplate.Items.Add(mi);
bTemplate:= IsMaskSearchTemplate(sMask);
edtCategoryMask.Text:= sMask;
if bTemplate then edtCategoryAttr.Text:= EmptyStr;
edtCategoryMask.Enabled:= not bTemplate;
edtCategoryAttr.Enabled:= not bTemplate;
end;
pmSearchTemplate.PopUp();
end;
procedure TfrmOptions.cbAlwaysShowTrayIconChange(Sender: TObject);
@ -1835,26 +1826,6 @@ begin
btSetHotKey.Enabled := False;
end;
procedure TfrmOptions.miSearchTemplateClick(Sender: TObject);
begin
if Sender is TMenuItem then
with Sender as TMenuItem, gSearchTemplateList do
begin
if Tag = -1 then
begin
edtCategoryMask.Text:= '*';
edtCategoryAttr.Text:= '';
end
else
begin
edtCategoryMask.Text:= '>' + Templates[Tag].TemplateName;
edtCategoryAttr.Text:= '';
end;
edtCategoryMask.Enabled:= (Tag = -1);
edtCategoryAttr.Enabled:= (Tag = -1);
end;
end;
procedure TfrmOptions.bbtnAddCategoryClick(Sender: TObject);
var
iIndex : Integer;