uses
Windows, Messages, SysUtils, Classes, Controls,
- StdCtrls, ExtCtrls, ComCtrls, ActnList, IniFiles,
- GikoSystem;
+ StdCtrls, ExtCtrls, ComCtrls, ActnList;
const
//\95W\8f\80\83c\81[\83\8b\83o\81[\83f\83t\83H\83\8b\83g
- DEF_STANDARD: array[0..6] of string = ('RoundAction',
+ DEF_STANDARD: array[0..11] of string = ('RoundAction',
'',
- 'CabinetVisibleAction',
'ArrangeAction',
'',
'StopAction',
- 'LoginAction');
+ 'LoginAction',
+ '',
+ 'CabinetBBSAction',
+ 'CabinetHistoryAction',
+ 'CabinetFavoriteAction',
+ 'MuteAction',
+ 'BeLogInOutAction');
//\83\8a\83X\83g\83c\81[\83\8b\83o\81[\83f\83t\83H\83\8b\83g
- DEF_LIST: array[0..16] of string = ('ListNumberVisibleAction',
+ DEF_LIST: array[0..18] of string = ('ListNumberVisibleAction',
'IconStyle',
'UpFolderAction',
'',
'AllItemAction',
'LogItemAction',
'NewItemAction',
+ 'LiveItemAction',
+ 'ArchiveItemAction',
'SelectItemAction',
'',
'ThreadEditorAction',
'',
'SelectReservAction');
//\83u\83\89\83E\83U\83c\81[\83\8b\83o\81[\83f\83t\83H\83\8b\83g
- DEF_BROWSER: array[0..15] of string = ('BrowserMaxAction',
+ DEF_BROWSER: array[0..16] of string = ('BrowserMaxAction',
'BrowserMinAction',
'',
'ScrollTopAction',
'ScrollNewAction',
'ScrollKokoAction',
'',
- 'AllResAction',
'SelectResAction',
+ 'ResRangeAction',
'',
'EditorAction',
'',
'IEAction',
'',
- 'ItemReloadAction');
+ 'ItemReloadAction',
+ 'UpBoardAction'
+ );
- //\83{\83^\83\93\83X\83^\83C\83\8b\82ª"tbsCheck"\83{\83^\83\93\82Ì\83A\83N\83V\83\87\83\93
- CHECK_STYLE: array[0..31] of string = ('CabinetVisibleAction',
+ /// \83{\83^\83\93\83X\83^\83C\83\8b\82ª"tbsCheck"\83{\83^\83\93\82Ì\83A\83N\83V\83\87\83\93
+ CHECK_STYLE: array[0..37] of string = ('CabinetVisibleAction',
+ 'MuteAction',
'ArrangeAction',
'AllItemAction',
'LogItemAction',
'NewItemAction',
+ 'LiveItemAction',
+ 'ArchiveItemAction',
'SelectItemAction',
'StdToolBarVisibleAction',
'BrowserNameBarVisibleAction',
'MsgBarVisibleAction',
'StatusBarVisibleAction',
- 'Cabinet2chAction',
'CabinetHistoryAction',
'CabinetFavoriteAction',
'LargeIconAction',
'LoginAction',
'ListNumberVisibleAction',
'AllResAction',
- 'SelectResAction'
+ 'SelectResAction',
+ 'OnlyAHundredResAction',
+ 'OnlyKokoResAction',
+ 'OnlyNewResAction',
+ 'BeLogInOutAction'
);
- //\83{\83^\83\93\82Ì\83X\83^\83C\83\8b\82ª"tbsDropDown"\83{\83^\83\93\82Ì\83A\83N\83V\83\87\83\93
- DROPDOWN_STYLE: array[0..1] of string = ('IconStyle',
- 'IEAction');
+ /// \83{\83^\83\93\82Ì\83X\83^\83C\83\8b\82ª"tbsDropDown"\83{\83^\83\93\82Ì\83A\83N\83V\83\87\83\93
+ /// Giko.pas : SetToolBarPopup \82à\8fC\90³\82·\82é\8e\96
+ DROPDOWN_STYLE: array[0..4] of string = ('IconStyle',
+ 'IEAction',
+ 'CabinetBBSAction',
+ 'ResRangeAction',
+ 'ThreadRangeAction');
INI_FILENAME: string = 'ToolBar.ini';
+ //\8bæ\90Ø\82è\95¶\8e\9a
+ SEPARATOR_TEXT = '- \8bæ\90Ø\82è -';
+
function IsCheckStyle(Action: TCustomAction): Boolean;
function IsDropDownStyle(Action: TCustomAction): Boolean;
procedure SetButtonStyle(Action: TCustomAction; Button: TToolButton);
function GetActionItem(ActionList: TActionList; ActionName: string): TCustomAction;
procedure ReadToolBarSetting(ActionList: TActionList; ToolBar: TToolBar);
procedure SaveToolBarSetting(ToolBar: TToolBar);
+ procedure MakeDefaultINIFile();
implementation
+uses
+ IniFiles, GikoSystem, MojuUtils;
+
+function ConvertToolButton( setting : string ) : string;
+begin
+
+ // \8b\8c [\8dÅ\90V100\83\8c\83X\82Ì\82Ý\95\\8e¦] \82ð [\83\8c\83X\82Ì\95\\8e¦\94Í\88Í\82ð\90Ý\92è] \82É\92u\8a·
+ if setting = 'OnlyAHundredRes' then
+ Result := 'ResRangeAction'
+ else
+ Result := setting;
+
+end;
+
procedure ReadToolBarSetting(ActionList: TActionList; ToolBar: TToolBar);
var
FileName: string;
begin
FileName := GikoSys.GetConfigDir + INI_FILENAME;
if FileExists(FileName) then begin
- for i := ToolBar.ButtonCount - 1 downto 0 do
- ToolBar.RemoveControl(ToolBar.Buttons[i]);
-
+ for i := ToolBar.ButtonCount - 1 downto 0 do begin
+ ToolBar.Buttons[i].HostDockSite := nil;
+ end;
ini := TMemIniFile.Create(FileName);
try
i := 0;
while True do begin
s := ini.ReadString(ToolBar.Name, 'Button' + IntToStr(i), '');
+ s := ConvertToolButton( s );
if s = '-' then begin
ToolButton := TToolButton.Create(ToolBar);
ToolButton.Style := tbsSeparator;
if Action <> nil then begin
ToolButton := TToolButton.Create(ToolBar);
ToolButton.Action := Action;
+ if ToolButton.ImageIndex = -1 then
+ ToolButton.ImageIndex := 51;
+
ToolButton.Left := 10000;
SetButtonStyle(Action, ToolButton);
ToolBar.InsertControl(ToolButton);
ini.EraseSection(ToolBar.Name);
for i := 0 to ToolBar.ButtonCount - 1 do begin
if ToolBar.Buttons[i].Style = tbsSeparator then begin
- ini.WriteString(ToolBar.Name, 'Button' + IntToStr(j), '-');
- Inc( j );
+ //SelectComboBox\97p\82Ì\83_\83~\81[\82Í\95Û\91¶\82µ\82È\82¢
+ if not (ToolBar.Buttons[i].Name = 'SelectComboBoxDummy') then begin
+ ini.WriteString(ToolBar.Name, 'Button' + IntToStr(j), '-');
+ Inc( j );
+ end;
end else begin
Action := ToolBar.Buttons[i].Action;
if Action <> nil then
- begin
+ begin
ini.WriteString(ToolBar.Name, 'Button' + IntToStr(j), Action.Name);
Inc( j );
end;
Result := False;
end;
+procedure MakeDefaultINIFile();
+var
+ ini: TMemIniFile;
+ i: Integer;
+begin
+ //\95W\8f\80\83c\81[\83\8b\83o\81[\83f\83t\83H\83\8b\83g
+ //DEF_STANDARD:
+ //\83\8a\83X\83g\83c\81[\83\8b\83o\81[\83f\83t\83H\83\8b\83g
+ //DEF_LIST:
+ //\83u\83\89\83E\83U\83c\81[\83\8b\83o\81[\83f\83t\83H\83\8b\83g
+ //DEF_BROWSER:
+ if not FileExists(GikoSys.GetConfigDir + INI_FILENAME) then begin
+ ini := TMemIniFile.Create(GikoSys.GetConfigDir + INI_FILENAME);
+ try
+ for i := 0 to Length(DEF_STANDARD) - 1 do begin
+ if DEF_STANDARD[i] <> '' then
+ ini.WriteString('StdToolBar', 'Button' + IntToStr(i), DEF_STANDARD[i])
+ else
+ ini.WriteString('StdToolBar', 'Button' + IntToStr(i), '-');
+ end;
+ for i := 0 to Length(DEF_LIST) - 1 do begin
+ if DEF_LIST[i] <> '' then
+ ini.WriteString('ListToolBar', 'Button' + IntToStr(i), DEF_LIST[i])
+ else
+ ini.WriteString('ListToolBar', 'Button' + IntToStr(i), '-');
+ end;
+ for i := 0 to Length(DEF_BROWSER) - 1 do begin
+ if DEF_BROWSER[i] <> '' then
+ ini.WriteString('BrowserToolBar', 'Button' + IntToStr(i), DEF_BROWSER[i])
+ else
+ ini.WriteString('BrowserToolBar', 'Button' + IntToStr(i), '-');
+ end;
+
+ finally
+ ini.UpdateFile;
+ ini.Free;
+ end;
+ end;
+
+end;
+
end.