Develop and Download Open Source Software

Browse CVS Repository

Diff of /gikonavigoeson/gikonavi/Giko.pas

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.151 by h677, Wed Nov 26 09:31:35 2003 UTC revision 1.152 by yoffy, Wed Nov 26 13:58:56 2003 UTC
# Line 870  type Line 870  type
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;
# Line 7551  begin Line 7553  begin
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;
# Line 7693  begin Line 7694  begin
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);

Legend:
Removed from v.1.151  
changed lines
  Added in v.1.152

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26