OSDN Git Service

・板更新した際に BBS メニューが再構築されないバグを修正。
authoryoffy <yoffy>
Wed, 21 Apr 2004 00:08:41 +0000 (00:08 +0000)
committeryoffy <yoffy>
Wed, 21 Apr 2004 00:08:41 +0000 (00:08 +0000)
Giko.pas

index 39cfa86..0e1e982 100644 (file)
--- a/Giko.pas
+++ b/Giko.pas
@@ -992,6 +992,8 @@ type
                // \83u\83\89\83E\83U\82Ì\83L\81[\83_\83E\83\93\83C\83x\83\93\83g
                // \83C\83x\83\93\83g\82ð\8eæ\82è\88µ\82Á\82½\8fê\8d\87\82Í True \82ð\95Ô\82·
                function BrowserKeydown(var Msg: TMsg; Key: Word; State:TShiftState) : Boolean;
+               // \8ae\8f\8a\82É\82 \82é\83L\83\83\83r\83l\83b\83g\81E BBS \83\81\83j\83\85\81[\82ð\83Z\83b\83g\81^\8dX\90V
+               procedure SetBBSMenu;
 
        protected
                procedure CreateParams(var Params: TCreateParams); override;
@@ -1165,7 +1167,6 @@ var
        i: Integer;
        wp: TWindowPlacement;
        s: string;
-       item : TBBSMenuItem;
 begin
 {$IFDEF DEBUG}
        AllocConsole;
@@ -1214,27 +1215,7 @@ begin
                GikoSys.ListBoardFile;
 
        // \83\81\83j\83\85\81[\82É\92Ç\89Á
-       for i := Length( BBSs ) - 1 downto 0 do begin
-               try
-                       item                                    := TBBSMenuItem.Create( PopupMenu );
-                       item.Caption    := BBSs[ i ].Title;
-                       item.Data                       := BBSs[ i ];
-                       item.OnClick    := BBSMenuItemOnClick;
-                       CabinetSelectPopupMenu.Items.Insert( 0, item );
-                       item                                    := TBBSMenuItem.Create( PopupMenu );
-                       item.Caption    := BBSs[ i ].Title;
-                       item.Data                       := BBSs[ i ];
-                       item.OnClick    := BBSMenuItemOnClick;
-                       CabinetMenu.Insert( 0, item );
-                       item                                    := TBBSMenuItem.Create( PopupMenu );
-                       item.Caption    := BBSs[ i ].Title;
-                       item.Data                       := BBSs[ i ];
-                       item.OnClick    := BBSMenuItemOnClick;
-                       BBSSelectPopupMenu.Items.Insert( 0, Item );
-               except
-               end;
-       end;
-
+       SetBBSMenu;
 
        // \83q\83X\83g\83\8a\83\8a\83X\83g(LoadHistory \82æ\82è\82à\90æ\82É\8ds\82¤\82±\82Æ)
        FHistoryList := TList.Create;
@@ -1899,44 +1880,26 @@ begin
 //     CabinetPanelVisible(false);
 end;
 
-procedure TGikoForm.ReloadBBS;
+// \8ae\8f\8a\82É\82 \82é\83L\83\83\83r\83l\83b\83g\81E BBS \83\81\83j\83\85\81[\82ð\83Z\83b\83g\81^\8dX\90V
+procedure TGikoForm.SetBBSMenu;
 var
        i                       : Integer;
        item    : TBBSMenuItem;
 begin
-       //\83^\83u\83N\83\8d\81[\83Y
-       NotSelectTabCloseAction.Execute;
-       if BrowserTab.Tabs.Count >= 1 then
-               DeleteTab(TThreadItem(BrowserTab.Tabs.Objects[0]));
-       //TreeView\83N\83\8a\83A\81iBBS2ch.Free\82Ì\8cã\82É\83N\83\8a\83A\82·\82é\82ÆXP\83X\83^\83C\83\8b\8e\9e\82É\83G\83\89\81[\8fo\82é\81j
-       TreeView.Items.Clear;
-
-       //BBS\94j\8aü
-       try
-               for i := Length( BBSs ) - 1 downto 0 do begin
-                       if BBSs[ i ] <> nil then
-                               BBSs[ i ].Free;
-                       BBSs[ i ] := nil;
-               end;
-       except
-       end;
 
-       ActiveList := nil;
-
-       FTreeType := gttNone;
-
-       GikoSys.ListBoardFile;          //\83{\81[\83h\83t\83@\83C\83\8b\93Ç\8d\9e
        // \83\81\83j\83\85\81[\82ð\8dí\8f\9c
        for i := CabinetSelectPopupMenu.Items.Count - 1 downto 0 do begin
                try
                        if CabinetSelectPopupMenu.Items[ i ] is TBBSMenuItem then begin
                                CabinetSelectPopupMenu.Items[ i ].Free;
                                CabinetMenu.Items[ i ].Free;
+                               BBSSelectPopupMenu.Items[ i ].Free;
                        end;
                except
                end;
        end;
-       // \83\81\83j\83\85\81[\82É\92Ç\89Á
+
+       // \83\81\83j\83\85\81[\82ð\90Ý\92è
        for i := Length( BBSs ) - 1 downto 0 do begin
                try
                        item                                    := TBBSMenuItem.Create( PopupMenu );
@@ -1949,9 +1912,47 @@ begin
                        item.Data                       := BBSs[ i ];
                        item.OnClick    := BBSMenuItemOnClick;
                        CabinetMenu.Insert( 0, item );
+                       item                                    := TBBSMenuItem.Create( PopupMenu );
+                       item.Caption    := BBSs[ i ].Title;
+                       item.Data                       := BBSs[ i ];
+                       item.OnClick    := BBSMenuItemOnClick;
+                       BBSSelectPopupMenu.Items.Insert( 0, Item );
                except
                end;
        end;
+
+end;
+
+procedure TGikoForm.ReloadBBS;
+var
+       i                       : Integer;
+begin
+       //\83^\83u\83N\83\8d\81[\83Y
+       NotSelectTabCloseAction.Execute;
+       if BrowserTab.Tabs.Count >= 1 then
+               DeleteTab(TThreadItem(BrowserTab.Tabs.Objects[0]));
+       //TreeView\83N\83\8a\83A\81iBBS2ch.Free\82Ì\8cã\82É\83N\83\8a\83A\82·\82é\82ÆXP\83X\83^\83C\83\8b\8e\9e\82É\83G\83\89\81[\8fo\82é\81j
+       TreeView.Items.Clear;
+
+       //BBS\94j\8aü
+       try
+               for i := Length( BBSs ) - 1 downto 0 do begin
+                       if BBSs[ i ] <> nil then
+                               BBSs[ i ].Free;
+                       BBSs[ i ] := nil;
+               end;
+       except
+       end;
+
+       ActiveList := nil;
+
+       FTreeType := gttNone;
+
+       GikoSys.ListBoardFile;          //\83{\81[\83h\83t\83@\83C\83\8b\93Ç\8d\9e
+
+       // BBS \83\81\83j\83\85\81[\82Ì\8dX\90V
+       SetBBSMenu;
+
        ShowBBSTree( BBSs[ 0 ] );
 
        // \97\9a\97ð\93Ç\82Ý\8d\9e\82Ý
@@ -9346,7 +9347,7 @@ var
        toolbar                         : TToolBar;
        band                                    : TCoolBand;
        affectedBand    : TCoolBand;
-       i, j                                    : Integer;
+       i                                                       : Integer;
 begin
        if (FOldFormWidth = Width) and not IsIconic( Handle ) and not FIsIgnoreResize then begin
                FIsIgnoreResize := True;