OSDN Git Service

This commit was manufactured by cvs2svn to create branch 'Bb63'.
[gikonavigoeson/gikonavi.git] / ToolBarUtil.pas
index f881923..2d16109 100644 (file)
@@ -4,12 +4,11 @@ interface
 
 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..9]       of string = ('RoundAction',
+       DEF_STANDARD: array[0..11]      of string = ('RoundAction',
                                                                                                                                                                        '',
                                                                                                                                                                        'ArrangeAction',
                                                                                                                                                                        '',
@@ -18,15 +17,19 @@ const
                                                                                                                                                                        '',
                                                                                                                                                                        'CabinetBBSAction',
                                                                                                                                                                        'CabinetHistoryAction',
-                                                                                                                                                                       'CabinetFavoriteAction');
+                                                                                                                                                                       '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',
@@ -46,23 +49,27 @@ const
                                                                                                                                                                        'ScrollNewAction',
                                                                                                                                                                        'ScrollKokoAction',
                                                                                                                                                                        '',
-                                                                                                                                                                       'AllResAction',
                                                                                                                                                                        'SelectResAction',
+                                                                                                                                                                       'ResRangeAction',
                                                                                                                                                                        '',
                                                                                                                                                                        'EditorAction',
                                                                                                                                                                        '',
                                                                                                                                                                        'IEAction',
                                                                                                                                                                        '',
                                                                                                                                                                        'ItemReloadAction',
-                                                                                    'OnlyAHundredRes');
+                                                                                                                                                                       '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..30] 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',
@@ -89,25 +96,50 @@ const
                                                                                                                                                                        '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..2] of string = ('IconStyle',
+       /// \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');
+                                                                                                                                                                        '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 KeepDefaultToolButton(ToolBar: TToolBar; TmpToolBar: 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;
@@ -120,13 +152,14 @@ begin
        FileName := GikoSys.GetConfigDir + INI_FILENAME;
        if FileExists(FileName) then begin
                for i := ToolBar.ButtonCount - 1 downto 0 do begin
-                       ToolBar.RemoveControl(ToolBar.Buttons[i]);
+                       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;
@@ -138,6 +171,9 @@ begin
                                        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);
@@ -164,12 +200,15 @@ begin
                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;
@@ -233,12 +272,46 @@ begin
        end;
        Result := False;
 end;
-procedure KeepDefaultToolButton(ToolBar: TToolBar; TmpToolBar: TToolBar);
+
+procedure MakeDefaultINIFile();
 var
-       i: Integer;
+       ini: TMemIniFile;
+    i: Integer;
 begin
-       for i := ToolBar.ButtonCount - 1 downto 0 do begin
-       ToolBar.Buttons[i].Parent := TmpToolBar;
+       //\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.