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.470 by yoffy, Thu Oct 21 05:05:27 2004 UTC revision 1.471 by h677, Thu Oct 21 15:56:30 2004 UTC
# Line 693  type Line 693  type
693                  procedure BrowserToolBarVisibleActionExecute(Sender: TObject);                  procedure BrowserToolBarVisibleActionExecute(Sender: TObject);
694                  procedure BrowserNewWindow2(Sender: TObject; var ppDisp: IDispatch;                  procedure BrowserNewWindow2(Sender: TObject; var ppDisp: IDispatch;
695                          var Cancel: WordBool);                          var Cancel: WordBool);
                 procedure ListSplitterCanResize(Sender: TObject; var NewSize: Integer;  
                         var Accept: Boolean);  
696                  procedure ListSplitterMoved(Sender: TObject);                  procedure ListSplitterMoved(Sender: TObject);
697                  procedure BrowserTabChange(Sender: TObject);                  procedure BrowserTabChange(Sender: TObject);
698                  procedure BrowserTabMouseDown(Sender: TObject; Button: TMouseButton;                  procedure BrowserTabMouseDown(Sender: TObject; Button: TMouseButton;
# Line 870  type Line 868  type
868        var Handled: Boolean);        var Handled: Boolean);
869      procedure KoreCopyExecute(Sender: TObject);      procedure KoreCopyExecute(Sender: TObject);
870      procedure BrowserTabPopupMenuPopup(Sender: TObject);      procedure BrowserTabPopupMenuPopup(Sender: TObject);
         procedure MenuToolBarResize(Sender: TObject);  
     procedure StdToolBarResize(Sender: TObject);  
     procedure LinkToolBarResize(Sender: TObject);  
     procedure ListNameToolBarResize(Sender: TObject);  
     procedure ListToolBarResize(Sender: TObject);  
     procedure BrowserNameToolBarResize(Sender: TObject);  
     procedure BrowserToolBarResize(Sender: TObject);  
871      procedure BrowserTabResize(Sender: TObject);      procedure BrowserTabResize(Sender: TObject);
872          procedure TreeViewClick(Sender: TObject);          procedure TreeViewClick(Sender: TObject);
873      procedure TreeViewKeyDown(Sender: TObject; var Key: Word;      procedure TreeViewKeyDown(Sender: TObject; var Key: Word;
# Line 930  type Line 921  type
921      procedure FormActivate(Sender: TObject);      procedure FormActivate(Sender: TObject);
922      procedure BrowserPanelCanResize(Sender: TObject; var NewWidth,      procedure BrowserPanelCanResize(Sender: TObject; var NewWidth,
923        NewHeight: Integer; var Resize: Boolean);        NewHeight: Integer; var Resize: Boolean);
924        procedure MainCoolBarChange(Sender: TObject);
925        procedure BrowserCoolBarChange(Sender: TObject);
926        procedure ListCoolBarChange(Sender: TObject);
927        procedure ThreadPanelResize(Sender: TObject);
928        procedure BrowserCoolBarResize(Sender: TObject);
929        procedure ListCoolBarResize(Sender: TObject);
930          private          private
931                  { Private 宣言 }                  { Private 宣言 }
932          //RoundList : TRoundList;          //RoundList : TRoundList;
# Line 1060  type Line 1057  type
1057                  procedure KonoresCopy(Number: Integer; ReplaceTag : Boolean);                  procedure KonoresCopy(Number: Integer; ReplaceTag : Boolean);
1058                  /// CoolBar の設定を変数に保存                  /// CoolBar の設定を変数に保存
1059                  procedure       SaveCoolBarSettings;                  procedure       SaveCoolBarSettings;
1060                    procedure       SaveMainCoolBarSettings;
1061                    procedure       SaveBoardCoolBarSettings;
1062                    procedure       SaveBrowserCoolBarSettings;
1063                  /// CoolBar の設定を変数から復元                  /// CoolBar の設定を変数から復元
1064                  procedure       LoadCoolBarSettings;                  procedure       LoadCoolBarSettings;
1065                  /// 最小化される                  /// 最小化される
1066                  procedure OnMinimize;                  procedure OnMinimize;
1067                  /// 最小化された                  /// 最小化された
1068                  procedure OnMinimized;                  procedure OnMinimized;
                 /// CoolBar がサイズ変更された  
                 procedure       CoolBarResized(Sender: TObject; CoolBar: TCoolBar);  
1069                  /// TreeView がクリックされた                  /// TreeView がクリックされた
1070                  procedure TreeClick( Node : TTreeNode );                  procedure TreeClick( Node : TTreeNode );
1071                  /// TreeView がダブルクリックされた                  /// TreeView がダブルクリックされた
# Line 1298  begin Line 1296  begin
1296          Writeln(' 終了時は、ギコナビウィンドウを閉じてください');          Writeln(' 終了時は、ギコナビウィンドウを閉じてください');
1297          Writeln('============================================================');          Writeln('============================================================');
1298  {$ENDIF}  {$ENDIF}
1299          FStartUp := false;          FStartUp := true;
1300          //Application.OnDeactivate := AppFormDeactivate;          //Application.OnDeactivate := AppFormDeactivate;
1301          Self.OnDeactivate := AppFormDeactivate;          Self.OnDeactivate := AppFormDeactivate;
1302          Application.HookMainWindow(Hook);          Application.HookMainWindow(Hook);
# Line 1741  end; Line 1739  end;
1739    
1740  // CoolBar の設定を変数に保存  // CoolBar の設定を変数に保存
1741  procedure TGikoForm.SaveCoolBarSettings;  procedure TGikoForm.SaveCoolBarSettings;
 var  
         i                               : Integer;  
         CoolSet : TCoolSet;  
1742  begin  begin
1743    
1744          if IsIconic( Handle ) or (FIsIgnoreResize <> rtNone) then          if IsIconic( Handle ) or (FIsIgnoreResize <> rtNone) then
1745                  Exit;                  Exit;
1746            SaveMainCoolBarSettings;
1747            SaveBoardCoolBarSettings;
1748            SaveBrowserCoolBarSettings;
1749    
1750    end;
1751    procedure TGikoForm.SaveMainCoolBarSettings;
1752    var
1753            i : Integer;
1754            CoolSet : TCoolSet;
1755    begin
1756          //クールバー保存(Main)          //クールバー保存(Main)
1757          for i := 0 to MAIN_COOLBAND_COUNT - 1 do begin          for i := 0 to MAIN_COOLBAND_COUNT - 1 do begin
1758                  CoolSet.FCoolID := MainCoolBar.Bands[i].ID;                  CoolSet.FCoolID := MainCoolBar.Bands[i].ID;
# Line 1756  begin Line 1760  begin
1760                  CoolSet.FCoolBreak := MainCoolBar.Bands[i].Break;                  CoolSet.FCoolBreak := MainCoolBar.Bands[i].Break;
1761                  GikoSys.Setting.MainCoolSet[i] := CoolSet;                  GikoSys.Setting.MainCoolSet[i] := CoolSet;
1762          end;          end;
1763    end;
1764    procedure TGikoForm.SaveBoardCoolBarSettings;
1765    var
1766            i : Integer;
1767            CoolSet : TCoolSet;
1768    begin
1769          //クールバー保存(Board)          //クールバー保存(Board)
1770          for i := 0 to LIST_COOLBAND_COUNT - 1 do begin          for i := 0 to LIST_COOLBAND_COUNT - 1 do begin
1771                  CoolSet.FCoolID := ListCoolBar.Bands[i].ID;                  CoolSet.FCoolID := ListCoolBar.Bands[i].ID;
# Line 1763  begin Line 1773  begin
1773                  CoolSet.FCoolBreak := ListCoolBar.Bands[i].Break;                  CoolSet.FCoolBreak := ListCoolBar.Bands[i].Break;
1774                  GikoSys.Setting.ListCoolSet[i] := CoolSet;                  GikoSys.Setting.ListCoolSet[i] := CoolSet;
1775          end;          end;
1776    end;
1777    procedure TGikoForm.SaveBrowserCoolBarSettings;
1778    var
1779            i : Integer;
1780            CoolSet : TCoolSet;
1781    begin
1782          //クールバー保存(Browser)          //クールバー保存(Browser)
1783          for i := 0 to BROWSER_COOLBAND_COUNT - 1 do begin          for i := 0 to BROWSER_COOLBAND_COUNT - 1 do begin
1784                  CoolSet.FCoolID := BrowserCoolBar.Bands[i].ID;                  CoolSet.FCoolID := BrowserCoolBar.Bands[i].ID;
# Line 1770  begin Line 1786  begin
1786                  CoolSet.FCoolBreak := BrowserCoolBar.Bands[i].Break;                  CoolSet.FCoolBreak := BrowserCoolBar.Bands[i].Break;
1787                  GikoSys.Setting.BrowserCoolSet[i] := CoolSet;                  GikoSys.Setting.BrowserCoolSet[i] := CoolSet;
1788          end;          end;
   
1789  end;  end;
   
1790  // CoolBar の設定を変数から復元  // CoolBar の設定を変数から復元
1791  procedure TGikoForm.LoadCoolBarSettings;  procedure TGikoForm.LoadCoolBarSettings;
1792  var  var
# Line 1843  end; Line 1857  end;
1857  //  //
1858  //  //
1859  procedure TGikoForm.FormShow(Sender: TObject);  procedure TGikoForm.FormShow(Sender: TObject);
 var  
         i: Integer;  
1860  begin  begin
1861          if not FStartUp then begin          if FStartUp then begin
1862                  ShowWindow(Application.Handle, SW_HIDE);                  ShowWindow(Application.Handle, SW_HIDE);
1863    
1864                  //FormCreateでやると可視設定が反映されない場合があるのでFormShowでやることにした                  //FormCreateでやると可視設定が反映されない場合があるのでFormShowでやることにした
# Line 1908  begin Line 1920  begin
1920                                  //Test向け                                  //Test向け
1921                                  end;                                  end;
1922    
1923                  FStartUp := true;                  FStartUp := false;
1924          end;          end;
1925  end;  end;
1926    
# Line 5606  begin Line 5618  begin
5618                  end;                  end;
5619          end;          end;
5620    
5621          FIsIgnoreResize := rtResizing;  //      FIsIgnoreResize := rtResizing;
5622          PostMessage( Handle, USER_RESIZED, 0, 0 );  //      PostMessage( Handle, USER_RESIZED, 0, 0 );
5623    
5624    
5625  end;  end;
# Line 6376  begin Line 6388  begin
6388          end;}          end;}
6389  end;  end;
6390    
6391  procedure TGikoForm.ListSplitterCanResize(Sender: TObject;  procedure TGikoForm.ListSplitterMoved(Sender: TObject);
         var NewSize: Integer; var Accept: Boolean);  
6392  begin  begin
6393            if Mouse.Capture <> 0 then
6394                    Exit;
6395            if GikoSys.Setting.ListOrientation = gloHorizontal then begin
6396                    if (ViewPanel.Width > 1) and (ViewPanel.Width <= (ThreadMainPanel.Width - 80)) then
6397                            FBrowserSizeWidth := ViewPanel.Width;
6398            end else begin
6399                    if (ViewPanel.Height > 1) and (ViewPanel.Height <= (ThreadMainPanel.Height - BrowserCoolBar.Height)) then
6400                            FBrowserSizeHeight := ViewPanel.Height;
6401            end;
6402          if GikoSys.Setting.ListOrientation = gloHorizontal then begin          if GikoSys.Setting.ListOrientation = gloHorizontal then begin
6403                  if ViewPanel.Width < 2 then begin                  if ViewPanel.Width < 2 then begin
6404                          ViewPanel.Width := 1;                          ViewPanel.Width := 1;
# Line 6410  begin Line 6430  begin
6430                          GikoSys.Setting.ListHeightState := glsNormal;                          GikoSys.Setting.ListHeightState := glsNormal;
6431                  end;                  end;
6432          end;          end;
 end;  
   
 procedure TGikoForm.ListSplitterMoved(Sender: TObject);  
 begin  
         if Mouse.Capture <> 0 then  
                 Exit;  
         if GikoSys.Setting.ListOrientation = gloHorizontal then begin  
                 if (ViewPanel.Width > 1) and (ViewPanel.Width <= (ThreadMainPanel.Width - 80)) then  
                         FBrowserSizeWidth := ViewPanel.Width;  
         end else begin  
                 if (ViewPanel.Height > 1) and (ViewPanel.Height <= (ThreadMainPanel.Height - BrowserCoolBar.Height)) then  
                         FBrowserSizeHeight := ViewPanel.Height;  
         end;  
6433  {       if (Mouse.Capture = 0) and (ViewPanel.Height > 1) and (not ArrangeAction.Checked) then  {       if (Mouse.Capture = 0) and (ViewPanel.Height > 1) and (not ArrangeAction.Checked) then
6434                  FBrowserSizeHeight := ViewPanel.Height                  FBrowserSizeHeight := ViewPanel.Height
6435          else if (Mouse.Capture = 0) and (ViewPanel.Width > 1) and (ArrangeAction.Checked) then          else if (Mouse.Capture = 0) and (ViewPanel.Width > 1) and (ArrangeAction.Checked) then
# Line 7477  end; Line 7484  end;
7484  procedure TGikoForm.MainCoolBarResize(Sender: TObject);  procedure TGikoForm.MainCoolBarResize(Sender: TObject);
7485  begin  begin
7486          TopPanel.Height := Max(MainCoolBar.Height, AnimePanel.Height);          TopPanel.Height := Max(MainCoolBar.Height, AnimePanel.Height);
7487            if not FStartUp then begin
7488    //              SaveCoolBarSettings;
7489                    SaveMainCoolBarSettings;
7490            end;
7491    
7492  end;  end;
7493    
7494  procedure TGikoForm.MoveToActionExecute(Sender: TObject);  procedure TGikoForm.MoveToActionExecute(Sender: TObject);
# Line 7707  end; Line 7719  end;
7719  procedure TGikoForm.AddressToolBarResize(Sender: TObject);  procedure TGikoForm.AddressToolBarResize(Sender: TObject);
7720  begin  begin
7721          AddressComboBox.Width := AddressToolBar.Width - MoveToToolButton.Width - 10;          AddressComboBox.Width := AddressToolBar.Width - MoveToToolButton.Width - 10;
7722          CoolBarResized( Sender, MainCoolBar );          //CoolBarResized( Sender, MainCoolBar );
7723  end;  end;
7724    
7725  procedure TGikoForm.AddressComboBoxKeyDown(Sender: TObject; var Key: Word;  procedure TGikoForm.AddressComboBoxKeyDown(Sender: TObject; var Key: Word;
# Line 10534  begin Line 10546  begin
10546          FIsMinimize := mtMinimized;          FIsMinimize := mtMinimized;
10547  end;  end;
10548    
 procedure TGikoForm.CoolBarResized(Sender: TObject; CoolBar: TCoolBar);  
 var  
         coolSet                         : TCoolSet;  
         toolbar                         : TToolBar;  
         band                                    : TCoolBand;  
         affectedBand    : TCoolBand;  
         i                                                       : Integer;  
 begin  
         if (FOldFormWidth = Width) and not IsIconic( Handle ) and (FIsIgnoreResize = rtNone) then begin  
                 FIsIgnoreResize := rtResizing;  
                 PostMessage( Handle, USER_RESIZED, 0, 0 );  
                 if not (Sender is TToolBar) or (CoolBar = nil) then  
                         Exit;  
                 toolbar := TToolBar( Sender );  
                 band := nil;  
                 // 変更されたクールバーの値を保存  
                 if CoolBar = MainCoolBar then begin  
                         for i := 0 to MAIN_COOLBAND_COUNT - 1 do begin  
                                 CoolSet.FCoolID := CoolBar.Bands[i].ID;  
                                 CoolSet.FCoolWidth := CoolBar.Bands[i].Width;  
                                 CoolSet.FCoolBreak := CoolBar.Bands[i].Break;  
                                 GikoSys.Setting.MainCoolSet[i] := CoolSet;  
                         end;  
                 end else if CoolBar = ListCoolBar then begin  
                         for i := 0 to LIST_COOLBAND_COUNT - 1 do begin  
                                 CoolSet.FCoolID := CoolBar.Bands[i].ID;  
                                 CoolSet.FCoolWidth := CoolBar.Bands[i].Width;  
                                 CoolSet.FCoolBreak := CoolBar.Bands[i].Break;  
                                 GikoSys.Setting.ListCoolSet[i] := CoolSet;  
                         end;  
                 end else if CoolBar = BrowserCoolBar then begin  
                         for i := 0 to BROWSER_COOLBAND_COUNT - 1 do begin  
                                 CoolSet.FCoolID := CoolBar.Bands[i].ID;  
                                 CoolSet.FCoolWidth := CoolBar.Bands[i].Width;  
                                 CoolSet.FCoolBreak := CoolBar.Bands[i].Break;  
                                 GikoSys.Setting.BrowserCoolSet[i] := CoolSet;  
                         end;  
                 end;  
                 // 幅の変更されたバンドを見つける  
                 affectedBand := nil;  
                 for i := CoolBar.Bands.Count - 1 downto 0 do begin  
                         if CoolBar.Bands[ i ].Control.Handle = toolbar.Handle then begin  
                                 band    := CoolBar.Bands[ i ];  
                                 if band.Break or (i = 0) then begin  
                                         if i + 1 < CoolBar.Bands.Count then  
                                                 if not CoolBar.Bands[ i + 1 ].Break then  
                                                         affectedBand := CoolBar.Bands[ i + 1 ];  
                                 end else begin  
                                         if i > 0 then  
                                                 affectedBand := CoolBar.Bands[ i - 1 ];  
                                 end;  
                                 Break;  
                         end;  
                 end;  
                 // ドラッグ中は band.Width が更新されないので、内側のサイズからひねり出す  
                 if CoolBar = MainCoolBar then begin  
                         coolSet := GikoSys.Setting.MainCoolSet[ band.ID ];  
                         coolSet.FCoolWidth := toolbar.Width + 25;  
                         GikoSys.Setting.MainCoolSet[ band.ID ] := coolSet;  
                         if affectedBand <> nil then begin  
                                 coolSet := GikoSys.Setting.MainCoolSet[ affectedBand.ID ];  
                                 coolSet.FCoolWidth := affectedBand.Control.Width + 25;  
                                 GikoSys.Setting.MainCoolSet[ affectedBand.ID ] := coolSet;  
                         end;  
                 end else if CoolBar = ListCoolBar then begin  
                         coolSet := GikoSys.Setting.ListCoolSet[ band.ID ];  
                         coolSet.FCoolWidth := toolbar.Width + 25;  
                         GikoSys.Setting.ListCoolSet[ band.ID ] := coolSet;  
                         if affectedBand <> nil then begin  
                                 coolSet := GikoSys.Setting.ListCoolSet[ affectedBand.ID ];  
                                 coolSet.FCoolWidth := affectedBand.Control.Width + 25;  
                                 GikoSys.Setting.ListCoolSet[ affectedBand.ID ] := coolSet;  
                         end;  
                 end else if CoolBar = BrowserCoolBar then begin  
                         coolSet := GikoSYs.Setting.BrowserCoolSet[ band.ID ];  
                         coolSet.FCoolWidth := toolbar.Width + 25;  
                         GikoSys.Setting.BrowserCoolSet[ band.ID ] := coolSet;  
                         if affectedBand <> nil then begin  
                                 coolSet := GikoSys.Setting.BrowserCoolSet[ affectedBand.ID ];  
                                 coolSet.FCoolWidth := affectedBand.Control.Width + 25;  
                                 GikoSys.Setting.BrowserCoolSet[ affectedBand.ID ] := coolSet;  
                         end;  
                 end;  
         end;  
 end;  
   
 procedure TGikoForm.MenuToolBarResize(Sender: TObject);  
 begin  
         CoolBarResized( Sender, MainCoolBar );  
 end;  
   
 procedure TGikoForm.StdToolBarResize(Sender: TObject);  
 begin  
         CoolBarResized( Sender, MainCoolBar );  
 end;  
   
 procedure TGikoForm.LinkToolBarResize(Sender: TObject);  
 begin  
         CoolBarResized( Sender, MainCoolBar );  
 end;  
   
 procedure TGikoForm.ListNameToolBarResize(Sender: TObject);  
 begin  
         CoolBarResized( Sender, ListCoolBar );  
 end;  
   
 procedure TGikoForm.ListToolBarResize(Sender: TObject);  
 begin  
         CoolBarResized( Sender, ListCoolBar );  
 end;  
   
 procedure TGikoForm.BrowserNameToolBarResize(Sender: TObject);  
 begin  
         CoolBarResized( Sender, BrowserCoolBar );  
 end;  
   
 procedure TGikoForm.BrowserToolBarResize(Sender: TObject);  
 begin  
         CoolBarResized( Sender, BrowserCoolBar );  
 end;  
10549    
10550  procedure TGikoForm.BrowserTabResize(Sender: TObject);  procedure TGikoForm.BrowserTabResize(Sender: TObject);
10551  begin  begin
         CoolBarResized( Sender, BrowserCoolBar );  
10552  end;  end;
10553    
10554  // *************************************************************************  // *************************************************************************
# Line 11931  begin Line 11822  begin
11822          end;          end;
11823  end;  end;
11824    
11825    procedure TGikoForm.MainCoolBarChange(Sender: TObject);
11826    begin
11827            if not FStartUp then begin
11828                    //FIsIgnoreResize := rtNone;
11829                    //SaveCoolBarSettings;
11830            SaveMainCoolBarSettings;
11831            end;
11832    end;
11833    
11834    procedure TGikoForm.BrowserCoolBarChange(Sender: TObject);
11835    begin
11836    //      FIsIgnoreResize := rtNone;
11837    //      SaveCoolBarSettings;
11838            SaveBrowserCoolBarSettings;
11839    end;
11840    
11841    procedure TGikoForm.ListCoolBarChange(Sender: TObject);
11842    begin
11843    //      FIsIgnoreResize := rtNone;
11844    //      SaveCoolBarSettings;
11845            SaveBoardCoolBarSettings;
11846    end;
11847    
11848    procedure TGikoForm.ThreadPanelResize(Sender: TObject);
11849    begin
11850            if not FStartUp then begin
11851                    FIsIgnoreResize := rtNone;
11852                    SaveCoolBarSettings;
11853            end;
11854    
11855    end;
11856    
11857    procedure TGikoForm.BrowserCoolBarResize(Sender: TObject);
11858    begin
11859            if not FStartUp then begin
11860                    //FIsIgnoreResize := rtNone;
11861                    //SaveCoolBarSettings;
11862            SaveBrowserCoolBarSettings;
11863            end;
11864    end;
11865    
11866    procedure TGikoForm.ListCoolBarResize(Sender: TObject);
11867    begin
11868            if not FStartUp then begin
11869                    //FIsIgnoreResize := rtNone;
11870                    //SaveCoolBarSettings;
11871            SaveBoardCoolBarSettings;
11872            end;
11873    
11874    end;
11875    
11876  initialization  initialization
11877                                  OleInitialize(nil);                                  OleInitialize(nil);
11878  finalization  finalization

Legend:
Removed from v.1.470  
changed lines
  Added in v.1.471

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