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.132 by yoffy, Sun Nov 23 11:20:07 2003 UTC revision 1.133 by yoffy, Sun Nov 23 14:15:52 2003 UTC
# Line 830  type Line 830  type
830                  FViewType: TGikoViewType;                       //リストアイテム表示タイプ                  FViewType: TGikoViewType;                       //リストアイテム表示タイプ
831                  FActiveList: TObject;                  FActiveList: TObject;
832                  FActiveContent: TThreadItem;    //                  FActiveContent: TThreadItem;    //
833                    FActiveBBS : TBBS;
834                  FHistoryList: TList;                                    //ヒストリリスト                  FHistoryList: TList;                                    //ヒストリリスト
835                  FTreeType: TGikoTreeType;                  FTreeType: TGikoTreeType;
836                  FWorkCount: Integer;                  FWorkCount: Integer;
# Line 1189  begin Line 1190  begin
1190          //ブラウザタブフォント          //ブラウザタブフォント
1191          BrowserTab.Font.Name := GikoSys.Setting.BrowserTabFontName;          BrowserTab.Font.Name := GikoSys.Setting.BrowserTabFontName;
1192          BrowserTab.Font.Size := GikoSys.Setting.BrowserTabFontSize;          BrowserTab.Font.Size := GikoSys.Setting.BrowserTabFontSize;
1193                  FDragWFirst := false;          FDragWFirst := false;
1194    
1195  //      TreeView.TopItem.Expanded := True;                              //ツリートップ項目だけを開く  //      TreeView.TopItem.Expanded := True;                              //ツリートップ項目だけを開く
1196  //      TreeView.Selected := TreeView.Items[0];         //ツリーのトップ項目を選択する  //      TreeView.Selected := TreeView.Items[0];         //ツリーのトップ項目を選択する
# Line 1899  var Line 1900  var
1900          Board: TBoard;          Board: TBoard;
1901  begin  begin
1902          // 板リストの設定          // 板リストの設定
1903            FActiveBBS := inBBS;
1904          TreeView.Items.BeginUpdate;          TreeView.Items.BeginUpdate;
1905          TreeView.Items.Clear;          TreeView.Items.Clear;
1906          try          try
# Line 3474  procedure TGikoForm.ShowBBSTree( Line 3476  procedure TGikoForm.ShowBBSTree(
3476  var  var
3477          i, b            : Integer;          i, b            : Integer;
3478          item            : TMenuItem;          item            : TMenuItem;
         lastBBS : TBBS;  
3479  begin  begin
3480          try          try
3481                  GikoSys.Setting.CabinetIndex := 0;                  GikoSys.Setting.CabinetIndex := 0;
# Line 3485  begin Line 3486  begin
3486    
3487                  SetBoardTreeNode( inBBS );                  SetBoardTreeNode( inBBS );
3488    
                 lastBBS := nil;  
3489                  b := CabinetSelectPopupMenu.Items.Count - 1;                  b := CabinetSelectPopupMenu.Items.Count - 1;
3490                  for i := 0 to b do begin                  for i := 0 to b do begin
3491                          item := CabinetSelectPopupMenu.Items[ i ];                          item := CabinetSelectPopupMenu.Items[ i ];
3492                          if item is TBBSMenuItem then begin                          if item is TBBSMenuItem then begin
                                 if item.Checked then  
                                         lastBBS := TBBSMenuItem( item ).Data;  
3493                                  if TBBSMenuItem( item ).Data = inBBS then begin                                  if TBBSMenuItem( item ).Data = inBBS then begin
3494                                          item.Checked := True;                                          item.Checked := True;
3495                                          // CabinetMenu は CabinetSelectPopupMenu と同じと決めうちしちゃう                                          // CabinetMenu は CabinetSelectPopupMenu と同じと決めうちしちゃう
# Line 3508  begin Line 3506  begin
3506                  CabinetHistoryAction.Checked := False;                  CabinetHistoryAction.Checked := False;
3507                  CabinetFavoriteAction.Checked := False;                  CabinetFavoriteAction.Checked := False;
3508    
3509                  if (FTreeType <> gtt2ch) or (lastBBS <> inBBS) then begin                  if (FTreeType <> gtt2ch) or (FActiveBBS <> inBBS) then begin
3510                          FTreeType := gtt2ch;                          FTreeType := gtt2ch;
3511                          HistoryToolBar.Hide;                          HistoryToolBar.Hide;
3512                          SetBoardTreeNode( inBBS );                          SetBoardTreeNode( inBBS );
# Line 3598  var Line 3596  var
3596          i: Integer;          i: Integer;
3597  begin  begin
3598          ChangeEvent := nil;          ChangeEvent := nil;
3599                  ChangingEvent := nil;          ChangingEvent := nil;
3600    
3601          if not CallEvent then begin          if not CallEvent then begin
3602                  ChangeEvent := TreeView.OnChange;                  ChangeEvent := TreeView.OnChange;
# Line 5908  begin Line 5906  begin
5906                  if Board <> nil then begin                  if Board <> nil then begin
5907                          if not Board.IsThreadDatRead then                          if not Board.IsThreadDatRead then
5908                                  GikoSys.ReadSubjectFile(Board);                                  GikoSys.ReadSubjectFile(Board);
5909                            if FActiveBBS <> Board.ParentCategory.ParenTBBS then
5910                                    ShowBBSTree( Board.ParentCategory.ParenTBBS );
5911                          SelectTreeNode(Board, True);                          SelectTreeNode(Board, True);
5912                  end;                  end;
5913          end else if TObject(Item) is TFavoriteThreadItem then begin          end else if TObject(Item) is TFavoriteThreadItem then begin
# Line 6020  begin Line 6020  begin
6020                          if Assigned( Pointer( BoardPlugIns[ i ].Module ) ) then begin                          if Assigned( Pointer( BoardPlugIns[ i ].Module ) ) then begin
6021                                  case BoardPlugIns[ i ].AcceptURL( URL ) of                                  case BoardPlugIns[ i ].AcceptURL( URL ) of
6022                                  atThread:                                  atThread:
6023            begin                                          begin
6024              tmpThread           := TThreadItem.Create( BoardPlugIns[ i ], URL );                                                  tmpThread               := TThreadItem.Create( BoardPlugIns[ i ], URL );
6025              boardURL            := tmpThread.BoardPlugIn.GetBoardURL( DWORD( tmpThread ) );                                                  boardURL                := tmpThread.BoardPlugIn.GetBoardURL( DWORD( tmpThread ) );
6026              Board                               := BBSsFindBoardFromURL( boardURL );                                                  Board                           := BBSsFindBoardFromURL( boardURL );
6027              if Board = nil then begin                                                  if Board = nil then begin
6028                Board                                             := TBoard.Create( tmpThread.BoardPlugIn, boardURL );                                                          Board                                           := TBoard.Create( tmpThread.BoardPlugIn, boardURL );
6029                category                          := TCategory.Create;                                                          category                                := TCategory.Create;
6030                category.Title    := '(名称不明)';                                                          category.Title  := '(名称不明)';
6031                category.Add( Board );                                                          category.Add( Board );
6032                // ※激しく保留中                                                          // ※激しく保留中
6033                //BBS2ch.Add( category );                                                          //BBS2ch.Add( category );
6034    
6035                if FTreeType = gtt2ch then begin                                                          if FTreeType = gtt2ch then begin
6036                  // 板リストに登録されていないのでツリーに追加                                                                  // 板リストに登録されていないのでツリーに追加
6037                  // SetBoardTreeNode; 1 行で済ませてもよし                                                                  // SetBoardTreeNode; 1 行で済ませてもよし
6038                  categoryNode                                                            := TreeView.Items.AddChild(                                                                  categoryNode                                                            := TreeView.Items.AddChild(
6039                    TreeView.Items.GetFirstNode, category.Title );                                                                          TreeView.Items.GetFirstNode, category.Title );
6040                  categoryNode.Data                                               := category;                                                                  categoryNode.Data                                               := category;
6041                  categoryNode.ImageIndex                 := ITEM_ICON_CATEGORY1;                                                                  categoryNode.ImageIndex                 := ITEM_ICON_CATEGORY1;
6042                  categoryNode.SelectedIndex      := ITEM_ICON_CATEGORY2;                                                                  categoryNode.SelectedIndex      := ITEM_ICON_CATEGORY2;
6043    
6044                  Board.BeginUpdate;                                                                  Board.BeginUpdate;
6045                  boardNode                                                                               :=                                                                  boardNode                                                                               :=
6046                    TreeView.Items.AddChild( categoryNode, Board.Title );                                                                          TreeView.Items.AddChild( categoryNode, Board.Title );
6047                  boardNode.Data                                                  := Board;                                                                  boardNode.Data                                                  := Board;
6048                  boardNode.ImageIndex                            := ITEM_ICON_BOARD1;                                                                  boardNode.ImageIndex                            := ITEM_ICON_BOARD1;
6049                  boardNode.SelectedIndex                 := ITEM_ICON_BOARD2;                                                                  boardNode.SelectedIndex                 := ITEM_ICON_BOARD2;
6050                  Board.LoadSettings;                                                                  Board.LoadSettings;
6051                  Board.EndUpdate;                                                                  Board.EndUpdate;
6052                end;                                                          end;
6053              end else begin                                                  end else begin
6054                if not Board.IsThreadDatRead then                                                          if not Board.IsThreadDatRead then
6055                  GikoSys.ReadSubjectFile( Board );                                                                  GikoSys.ReadSubjectFile( Board );
6056              end;                                                  end;
6057    
6058              ThreadItem := Board.Find( tmpThread.FileName );                                                  ThreadItem := Board.Find( tmpThread.FileName );
6059              if ThreadItem = nil then begin                                                  if ThreadItem = nil then begin
6060                ThreadItem := tmpThread;                                                          ThreadItem := tmpThread;
6061                Board.Insert( 0, ThreadItem );                                                          Board.Insert( 0, ThreadItem );
6062                if ActiveList is TBoard then begin                                                          if ActiveList is TBoard then begin
6063                  if TBoard(ActiveList) = Board then                                                                  if TBoard(ActiveList) = Board then
6064                    ListView.Items.Count := ListView.Items.Count + 1;                                                                          ListView.Items.Count := ListView.Items.Count + 1;
6065                end;                                                          end;
6066                InsertBrowserTab( ThreadItem );                                                          InsertBrowserTab( ThreadItem );
6067                DownloadContent( ThreadItem );                                                          DownloadContent( ThreadItem );
6068              end else begin                                                  end else begin
6069                tmpThread.Free;                                                          tmpThread.Free;
6070                InsertBrowserTab( ThreadItem );                                                          InsertBrowserTab( ThreadItem );
6071                if not ThreadItem.IsLogFile then                                                          if not ThreadItem.IsLogFile then
6072                  DownloadContent( ThreadItem );                                                                  DownloadContent( ThreadItem );
6073              end;                                                  end;
6074    
6075              Exit;                                                  Exit;
6076            end;                                          end;
6077    
6078          atBoard:                                  atBoard:
6079                  begin                                          begin
6080              Board := BBSsFindBoardFromURL( URL );                                                  Board := BBSsFindBoardFromURL( URL );
6081              if Board <> nil then begin                                                  if Board <> nil then begin
6082                                  SelectTreeNode( Board, True );                                                          if FActiveBBS <> Board.ParentCategory.ParenTBBS then
6083                      Exit;                                                                  ShowBBSTree( Board.ParentCategory.ParenTBBS );
6084              end;                                                          SelectTreeNode( Board, True );
6085            end;                                                          Exit;
6086          end;                                                  end;
6087                                            end;
6088                                    end;
6089                          end;                          end;
6090                  end;                  end;
6091          except          except

Legend:
Removed from v.1.132  
changed lines
  Added in v.1.133

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