// for i := 0 to MainCoolBar.Bands.Count - 1 do begin
for i := MAIN_COOLBAND_COUNT - 1 downto 0 do begin
CoolSet := GikoSys.Setting.MainCoolSet[i];
- if (CoolSet.FCoolID = -1) or (CoolSet.FCoolWidth = -1) then
- Continue;
+ if (CoolSet.FCoolID = -1) or (CoolSet.FCoolWidth = -1) then begin
+ SaveCoolBarSettings;
+ Exit;
+ end;
MainCoolBar.Bands.FindItemID(CoolSet.FCoolID).Index := i;
MainCoolBar.Bands[i].Break := CoolSet.FCoolBreak;
- MainCoolBar.Bands[i].Width := CoolSet.FCoolWidth;
+ if CoolSet.FCoolWidth >= 0 then
+ MainCoolBar.Bands[i].Width := CoolSet.FCoolWidth;
end;
finally
MainCoolBar.Bands.EndUpdate;
// for i := 0 to ListCoolBar.Bands.Count - 1 do begin
for i := LIST_COOLBAND_COUNT - 1 downto 0 do begin
CoolSet := GikoSys.Setting.ListCoolSet[i];
- if (CoolSet.FCoolID = -1) or (CoolSet.FCoolWidth = -1) then
- Continue;
+ if (CoolSet.FCoolID = -1) or (CoolSet.FCoolWidth = -1) then begin
+ SaveCoolBarSettings;
+ Exit;
+ end;
ListCoolBar.Bands.FindItemID(CoolSet.FCoolID).Index := i;
ListCoolBar.Bands[i].Break := CoolSet.FCoolBreak;
ListCoolBar.Bands[i].Width := CoolSet.FCoolWidth;
// for i := 0 to BrowserCoolBar.Bands.Count - 1 do begin
for i := BROWSER_COOLBAND_COUNT - 1 downto 0 do begin
CoolSet := GikoSys.Setting.BrowserCoolSet[i];
- if (CoolSet.FCoolID = -1) or (CoolSet.FCoolWidth = -1) then
- Continue;
+ if (CoolSet.FCoolID = -1) or (CoolSet.FCoolWidth = -1) then begin
+ SaveCoolBarSettings;
+ Exit;
+ end;
BrowserCoolBar.Bands.FindItemID(CoolSet.FCoolID).Index := i;
BrowserCoolBar.Bands[i].Break := CoolSet.FCoolBreak;
BrowserCoolBar.Bands[i].Width := CoolSet.FCoolWidth;
BrowserTabFlatStyleActionExecute(nil);
end;
+ FIsIgnoreResize := False;
+
// CoolBar \95\9c\8c³
LoadCoolBarSettings;
-
- FIsIgnoreResize := False;
end;
procedure TGikoForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
// \83\8a\83A\83\8b\83^\83C\83\80\82É\95Û\91¶\82³\82ê\82é\82Ì\82Å\81A\82Ü\82½\81A\83E\83B\83\93\83h\83E\83T\83C\83Y\82ª CoolBar \82æ\82è
// \8f¬\82³\82\82È\82Á\82Ä\82¢\82é\82Æ\82«\82É\95Û\91¶\82·\82é\82Æ\92l\82ª\8fã\8f\91\82«\82³\82ê\82Ä\82µ\82Ü\82¤\82Ì\82Å\82±\82±\82Å\82Í\95Û\91¶\82µ\82È\82¢
- // \81ªFormDestroy\92\86\82É\88Ú\93®\82µ\82½\82Ì\82Å\81A\82±\82±\82Å\95Û\91¶\82µ\82È\82¢\82Æ\82¢\82¯\82È\82¢\82Æ\8ev\82¤\81B\81i\82à\82¶\82ã\81@2004/04/09\81j
+ {
+ // \81ªFormDestroy\92\86\82É\88Ú\93®\82µ\82½\82Ì\82Å\81A\82±\82±\82Å\95Û\91¶\82µ\82È\82¢\82Æ\82¢\82¯\82È\82¢\82Æ\8ev\82¤\81B\81i\82à\82¶\82ã\81@2004/04/09\81j
// CoolBar \95Û\91¶
if GikoForm.WindowState <> wsMinimized then
SaveCoolBarSettings;
-
+ }
try
GikoSys.Setting.WriteWindowSettingFile;
GikoSys.Setting.WriteNameMailSettingFile;
procedure TGikoForm.CoolBarResized(Sender: TObject; CoolBar: TCoolBar);
var
- coolSet : TCoolSet;
- toolbar : TToolBar;
- band : TCoolBand;
- i, j : Integer;
+ coolSet : TCoolSet;
+ toolbar : TToolBar;
+ band : TCoolBand;
+ affectedBand : TCoolBand;
+ i, j : Integer;
begin
if (FOldFormWidth = Width) and not IsIconic( Handle ) and not FIsIgnoreResize then begin
FIsIgnoreResize := True;
Exit;
toolbar := TToolBar( Sender );
band := nil;
- // \83o\83\93\83h\82Ì\8f\87\94Ô\82ª\95Ï\82í\82Á\82½\82©
- for i := CoolBar.Bands.Count - 1 downto 0 do begin
- coolSet := GikoSys.Setting.MainCoolSet[ i ];
- if CoolBar.Bands[ i ].ID <> coolset.FCoolID then begin
- // \91S\82Ä\95Û\91¶
- SaveCoolBarSettings;
- // \8dÅ\8cã\82É\82Ð\82Ë\82è\82¾\82µ\82½\83T\83C\83Y\82ð\95Û\91¶\82µ\82È\82¢\82Æ\83T\83C\83Y\82ª\8b¶\82¤\82Ì\82Å\91S\82Ä\82Ð\82Ë\82è\8fo\82·
-// for j := CoolBar.Bands.Count - 1 downto 0 do
-// CoolBarResized( CoolBar.Bands[ i ].Control, CoolBar );
-
- Exit;
+ // \95Ï\8dX\82³\82ê\82½\83N\81[\83\8b\83o\81[\82Ì\92l\82ð\95Û\91¶
+ 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;
// \95\9d\82Ì\95Ï\8dX\82³\82ê\82½\83o\83\93\83h\82ð\8c©\82Â\82¯\82é
+ 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;
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;