| 6735 |
//NGワードファイルを再読み込みする |
//NGワードファイルを再読み込みする |
| 6736 |
procedure TGikoForm.SelectResActionExecute(Sender: TObject); |
procedure TGikoForm.SelectResActionExecute(Sender: TObject); |
| 6737 |
var |
var |
| 6738 |
Dlg: TListSelectDialog; |
Dlg: TListSelectDialog; |
| 6739 |
ThreadItem : TThreadItem; |
ThreadItem : TThreadItem; |
| 6740 |
FilterList : TStringList; |
FilterList : TStringList; |
| 6741 |
|
idx : Integer; |
| 6742 |
begin |
begin |
|
try |
|
|
Dlg := TListSelectDialog.Create(Self); |
|
|
Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList); |
|
|
Dlg.ShowModal; |
|
|
if (Dlg.ModalResult = mrCancel) or (Length( Dlg.SelectComboBox.Text ) = 0) then begin |
|
|
// ボタンの更新 |
|
|
AllResAction.Checked := True; |
|
|
SelectResAction.Checked := False; |
|
|
end else begin |
|
|
// ボタンの更新 |
|
|
AllResAction.Checked := False; |
|
|
SelectResAction.Checked := True; |
|
|
|
|
|
// フィルタの設定 |
|
|
if Length( Dlg.SelectComboBox.Text ) = 0 then |
|
|
GikoSys.FSelectResFilter.Reverse := False |
|
|
else |
|
|
GikoSys.FSelectResFilter.Reverse := True; |
|
|
|
|
|
FilterList := TStringList.Create; |
|
|
try |
|
|
FilterList.Delimiter := ' '; //区切り子を半角スペースに設定 |
|
|
//FilterList.Add( Dlg.SelectComboBox.Text ); |
|
|
FilterList.DelimitedText := Dlg.SelectComboBox.Text; |
|
|
GikoSys.FSelectResFilter.LoadFromStringList( FilterList ); |
|
|
finally |
|
|
FilterList.Destroy; |
|
|
end; |
|
|
|
|
|
// スレッドの再描画 |
|
|
ThreadItem := GetActiveContent; |
|
|
if ThreadItem <> nil then |
|
|
SetContent( ThreadItem ); |
|
| 6743 |
|
|
| 6744 |
end; |
try |
| 6745 |
finally |
Dlg := TListSelectDialog.Create(Self); |
| 6746 |
Dlg.Release; |
Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList); |
| 6747 |
end; |
Dlg.ShowModal; |
| 6748 |
|
if (Dlg.ModalResult = mrCancel) or (Length( Dlg.SelectComboBox.Text ) = 0) then begin |
| 6749 |
|
// ボタンの更新 |
| 6750 |
|
AllResAction.Checked := True; |
| 6751 |
|
SelectResAction.Checked := False; |
| 6752 |
|
end else begin |
| 6753 |
|
// ボタンの更新 |
| 6754 |
|
AllResAction.Checked := False; |
| 6755 |
|
SelectResAction.Checked := True; |
| 6756 |
|
|
| 6757 |
|
// 検索履歴の更新 |
| 6758 |
|
idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text); |
| 6759 |
|
if idx <> -1 then |
| 6760 |
|
GikoSys.Setting.SelectTextList.Delete(idx); |
| 6761 |
|
GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text); |
| 6762 |
|
while Dlg.SelectComboBox.Items.Count > 100 do begin |
| 6763 |
|
Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1); |
| 6764 |
|
end; |
| 6765 |
|
|
| 6766 |
|
try |
| 6767 |
|
if SelectComboBox.Parent <> nil then |
| 6768 |
|
SelectComboBox.Items.Assign( GikoSys.Setting.SelectTextList ); |
| 6769 |
|
except |
| 6770 |
|
end; |
| 6771 |
|
|
| 6772 |
|
// フィルタの設定 |
| 6773 |
|
if Length( Dlg.SelectComboBox.Text ) = 0 then |
| 6774 |
|
GikoSys.FSelectResFilter.Reverse := False |
| 6775 |
|
else |
| 6776 |
|
GikoSys.FSelectResFilter.Reverse := True; |
| 6777 |
|
|
| 6778 |
|
FilterList := TStringList.Create; |
| 6779 |
|
try |
| 6780 |
|
FilterList.Delimiter := ' '; //区切り子を半角スペースに設定 |
| 6781 |
|
//FilterList.Add( Dlg.SelectComboBox.Text ); |
| 6782 |
|
FilterList.DelimitedText := Dlg.SelectComboBox.Text; |
| 6783 |
|
GikoSys.FSelectResFilter.LoadFromStringList( FilterList ); |
| 6784 |
|
finally |
| 6785 |
|
FilterList.Destroy; |
| 6786 |
|
end; |
| 6787 |
|
|
| 6788 |
|
// スレッドの再描画 |
| 6789 |
|
ThreadItem := GetActiveContent; |
| 6790 |
|
if ThreadItem <> nil then |
| 6791 |
|
SetContent( ThreadItem ); |
| 6792 |
|
end; |
| 6793 |
|
finally |
| 6794 |
|
Dlg.Release; |
| 6795 |
|
end; |
| 6796 |
|
|
| 6797 |
end; |
end; |
| 6798 |
|
|
| 6977 |
pos.Y := Y; |
pos.Y := Y; |
| 6978 |
pos := SelectComboBoxSplitter.ClientToScreen( pos ); |
pos := SelectComboBoxSplitter.ClientToScreen( pos ); |
| 6979 |
w := SelectComboBox.Width + (pos.X - DraggingSelectComboBoxPosition.X); |
w := SelectComboBox.Width + (pos.X - DraggingSelectComboBoxPosition.X); |
| 6980 |
If w >= 50 Then begin |
|
| 6981 |
|
If w <= 50 Then Begin |
| 6982 |
|
// 次の移動の基準が「過ぎてしまった位置」ではなく |
| 6983 |
|
// 「止まった(50pixel)位置」になるように |
| 6984 |
|
pos.X := pos.X + (50 - w); |
| 6985 |
|
|
| 6986 |
|
// 小さくなりすぎないように |
| 6987 |
|
w := 50; |
| 6988 |
|
End; |
| 6989 |
|
|
| 6990 |
|
// チラつき軽減の為 |
| 6991 |
|
If SelectComboBox.Width <> w Then Begin |
| 6992 |
SelectComboBox.Width := w; |
SelectComboBox.Width := w; |
| 6993 |
GikoSys.Setting.SelectComboBoxWidth := w; |
GikoSys.Setting.SelectComboBoxWidth := w; |
| 6994 |
DraggingSelectComboBoxPosition := pos; |
DraggingSelectComboBoxPosition := pos; |