| 870 |
FListViewBackGroundColor : TColor; //ListViewのBackGroundColor |
FListViewBackGroundColor : TColor; //ListViewのBackGroundColor |
| 871 |
FUseOddResOddColor : Boolean; //取得レス数とスレッドのレス数が違ったときに他の色で表示 |
FUseOddResOddColor : Boolean; //取得レス数とスレッドのレス数が違ったときに他の色で表示 |
| 872 |
FOddColor : TColor; //その色 |
FOddColor : TColor; //その色 |
| 873 |
|
|
| 874 |
|
FSelectResWord : string; // レス絞込ワード |
| 875 |
procedure SetBoardTreeNode( inBBS : TBBS ); |
procedure SetBoardTreeNode( inBBS : TBBS ); |
| 876 |
function SetCategoryListItem(ABBS2ch: TBBS): Integer; |
function SetCategoryListItem(ABBS2ch: TBBS): Integer; |
| 877 |
function SetBoardListItem(Category: TCategory): Integer; |
function SetBoardListItem(Category: TCategory): Integer; |
| 7553 |
Dlg := TListSelectDialog.Create(Self); |
Dlg := TListSelectDialog.Create(Self); |
| 7554 |
try |
try |
| 7555 |
Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList); |
Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList); |
| 7556 |
Dlg.SelectComboBox.Text := ''; |
Dlg.SelectComboBox.Text := FSelectResWord; |
| 7557 |
Dlg.ShowModal; |
Dlg.ShowModal; |
| 7558 |
if (Dlg.ModalResult = mrCancel) or (Length( Dlg.SelectComboBox.Text ) = 0) then begin |
if Dlg.ModalResult = mrOK then begin |
| 7559 |
// ボタンの更新 |
if Length( Dlg.SelectComboBox.Text ) = 0 then begin |
| 7560 |
AllResAction.Checked := True; |
// 空入力で OK は全レス表示と同意義 |
| 7561 |
SelectResAction.Checked := False; |
AllResAction.Execute; |
| 7562 |
|
end else begin |
| 7563 |
// フィルタ文字列を空にする |
// ボタンの更新 |
| 7564 |
FilterList := TStringList.Create; |
AllResAction.Checked := False; |
| 7565 |
try |
SelectResAction.Checked := True; |
| 7566 |
GikoSys.FSelectResFilter.LoadFromStringList( FilterList ); |
|
| 7567 |
GikoSys.FSelectResFilter.Reverse := False; |
// 最後に設定したものを覚えておく |
| 7568 |
finally |
FSelectResWord := Dlg.SelectComboBox.Text; |
| 7569 |
FilterList.Destroy; |
|
| 7570 |
end; |
// 検索履歴の更新 |
| 7571 |
end else begin |
idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text); |
| 7572 |
// ボタンの更新 |
if idx <> -1 then |
| 7573 |
AllResAction.Checked := False; |
GikoSys.Setting.SelectTextList.Delete(idx); |
| 7574 |
SelectResAction.Checked := True; |
GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text); |
| 7575 |
|
while Dlg.SelectComboBox.Items.Count > 100 do begin |
| 7576 |
|
Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1); |
| 7577 |
|
end; |
| 7578 |
|
|
| 7579 |
// 検索履歴の更新 |
try |
| 7580 |
idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text); |
if SelectComboBox.Parent <> nil then |
| 7581 |
if idx <> -1 then |
SelectComboBox.Items.Assign( GikoSys.Setting.SelectTextList ); |
| 7582 |
GikoSys.Setting.SelectTextList.Delete(idx); |
except |
| 7583 |
GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text); |
end; |
|
while Dlg.SelectComboBox.Items.Count > 100 do begin |
|
|
Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1); |
|
|
end; |
|
| 7584 |
|
|
| 7585 |
try |
// フィルタの設定 |
| 7586 |
if SelectComboBox.Parent <> nil then |
FilterList := TStringList.Create; |
| 7587 |
SelectComboBox.Items.Assign( GikoSys.Setting.SelectTextList ); |
try |
| 7588 |
except |
GikoSys.FSelectResFilter.Reverse := True; |
| 7589 |
end; |
FilterList.Delimiter := ' '; //区切り子を半角スペースに設定 |
| 7590 |
|
FilterList.DelimitedText := Dlg.SelectComboBox.Text; |
| 7591 |
|
|
| 7592 |
// フィルタの設定 |
GikoSys.FSelectResFilter.LoadFromStringList( FilterList ); |
| 7593 |
FilterList := TStringList.Create; |
finally |
| 7594 |
try |
FilterList.Destroy; |
| 7595 |
GikoSys.FSelectResFilter.Reverse := True; |
end; |
|
FilterList.Delimiter := ' '; //区切り子を半角スペースに設定 |
|
|
FilterList.DelimitedText := Dlg.SelectComboBox.Text; |
|
| 7596 |
|
|
| 7597 |
GikoSys.FSelectResFilter.LoadFromStringList( FilterList ); |
// スレッドの再描画 |
| 7598 |
finally |
ThreadItem := GetActiveContent; |
| 7599 |
FilterList.Destroy; |
if ThreadItem <> nil then |
| 7600 |
|
SetContent( ThreadItem ); |
| 7601 |
end; |
end; |
| 7602 |
|
end else if Length( FSelectResWord ) > 0 then begin |
| 7603 |
|
// ボタンの更新 |
| 7604 |
|
AllResAction.Checked := False; |
| 7605 |
|
SelectResAction.Checked := True; |
| 7606 |
end; |
end; |
|
|
|
|
// スレッドの再描画 |
|
|
ThreadItem := GetActiveContent; |
|
|
if ThreadItem <> nil then |
|
|
SetContent( ThreadItem ); |
|
| 7607 |
finally |
finally |
| 7608 |
Dlg.Release; |
Dlg.Release; |
| 7609 |
end; |
end; |
| 7694 |
AllResAction.Checked := True; |
AllResAction.Checked := True; |
| 7695 |
SelectResAction.Checked := False; |
SelectResAction.Checked := False; |
| 7696 |
|
|
| 7697 |
// フィルタ文字列を空にする |
if Length( FSelectResWord ) > 0 then begin |
| 7698 |
FilterList := TStringList.Create; |
// フィルタ文字列を空にする |
| 7699 |
try |
FilterList := TStringList.Create; |
| 7700 |
GikoSys.FSelectResFilter.LoadFromStringList( FilterList ); |
try |
| 7701 |
GikoSys.FSelectResFilter.Reverse := False; |
GikoSys.FSelectResFilter.LoadFromStringList( FilterList ); |
| 7702 |
finally |
GikoSys.FSelectResFilter.Reverse := False; |
| 7703 |
FilterList.Destroy; |
finally |
| 7704 |
end; |
FilterList.Destroy; |
| 7705 |
|
end; |
| 7706 |
|
|
| 7707 |
// スレッドを再描画 |
FSelectResWord := ''; |
| 7708 |
ThreadItem := GetActiveContent; |
|
| 7709 |
if ThreadItem <> nil then |
// スレッドを再描画 |
| 7710 |
SetContent( ThreadItem ); |
ThreadItem := GetActiveContent; |
| 7711 |
|
if ThreadItem <> nil then |
| 7712 |
|
SetContent( ThreadItem ); |
| 7713 |
|
end; |
| 7714 |
end; |
end; |
| 7715 |
|
|
| 7716 |
procedure TGikoForm.AllResActionUpdate(Sender: TObject); |
procedure TGikoForm.AllResActionUpdate(Sender: TObject); |