OSDN Git Service

リリース日修正
[gikonavigoeson/gikonavi.git] / ToolBarUtil.pas
index b7c0440..2d16109 100644 (file)
@@ -4,26 +4,32 @@ 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..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',
@@ -35,7 +41,7 @@ const
                                                                                                                                                                        '',
                                                                                                                                                                        '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',
@@ -43,22 +49,27 @@ const
                                                                                                                                                                        '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..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',
@@ -70,8 +81,8 @@ const
                                                                                                                                                                        'BrowserNameBarVisibleAction',
                                                                                                                                                                        'MsgBarVisibleAction',
                                                                                                                                                                        'StatusBarVisibleAction',
-                                                                                                                                                                       'Cabinet2chAction',
                                                                                                                                                                        'CabinetHistoryAction',
+                                          'CabinetFavoriteAction',
                                                                                                                                                                        'LargeIconAction',
                                                                                                                                                                        'SmallIconAction',
                                                                                                                                                                        'ListIconAction',
@@ -85,24 +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..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;
@@ -114,14 +151,15 @@ var
 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;
@@ -133,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);
@@ -159,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;
@@ -229,4 +273,45 @@ begin
        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.