OSDN Git Service

”スレッド”カテゴリまで移植
authorh677 <h677>
Thu, 17 Nov 2005 15:15:59 +0000 (15:15 +0000)
committerh677 <h677>
Thu, 17 Nov 2005 15:15:59 +0000 (15:15 +0000)
Giko.pas
GikoDataModule.dfm
GikoDataModule.pas

index b43cb35..efe4073 100644 (file)
--- a/Giko.pas
+++ b/Giko.pas
@@ -900,7 +900,6 @@ type
                FWorkCount: Integer;
                FNameCookie: string;
                FMailCookie: string;
-               BrowserNullTab: TBrowserRecord;
                FDownloadTitle: string;                         //\83_\83E\83\93\83\8d\81[\83h\92\86\82Ì\83^\83C\83g\83\8b\96¼
                FDownloadMax: Integer;                          //\83_\83E\83\93\83\8d\81[\83h\92\86\82Ì\8dÅ\91å\83T\83C\83Y
                FEvent: THTMLDocumentEventSink;//\83u\83\89\83E\83U\83h\83L\83\85\83\81\83\93\83g\83C\83x\83\93\83g
@@ -933,10 +932,7 @@ type
                procedure Work(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer; Number: Integer);
                procedure ListClick;
                procedure ListDoubleClick(Shift: TShiftState);
-               procedure BrowserMovement(const AName: string); overload;
-               procedure BrowserMovement(const AName: string; BrowserRecord: TBrowserRecord); overload;
                procedure SelectListItem(List: TList);
-               procedure DeleteTab(BrowserRecord: TBrowserRecord); overload;
                function Hook(var Message: TMessage): Boolean;
                procedure AddRoundNameMenu(MenuItem: TMenuItem);
                procedure SetSelectItemRound(RoundFlag: Boolean; RoundName: string); overload;
@@ -948,7 +944,6 @@ type
                procedure FavoriteClick(Sender: TObject; ActiveTab: Boolean); overload;
                procedure FavoriteClick(Sender: TObject); overload;
                procedure FavoriteDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
-               procedure SelectTreeNode(Item: TObject; CallEvent: Boolean);
                function OnDocumentContextMenu(Sender: TObject): WordBool;
                procedure ShowTextPopup;
                function GetWidthAllToolButton(ToolBar: TToolBar): Integer;
@@ -1022,7 +1017,8 @@ type
 
        public
                { Public \90é\8c¾ }
-                               LastRoundTime: TDateTime;
+               LastRoundTime: TDateTime;
+               BrowserNullTab: TBrowserRecord;
                FControlThread: TThreadControl;
                procedure MoveToURL(const inURL: string);
                function InsertBrowserTab(ThreadItem: TThreadItem; ActiveTab: Boolean = True) : TBrowserRecord;
@@ -1039,9 +1035,15 @@ type
                property MailCookie: string read FMailCookie write FMailCookie;
                property ClickNode: TTreeNode read FClickNode write FClickNode;
                property TreeType: TGikoTreeType read FTreeType;
+               property ActiveContent: TBrowserRecord read FActiveContent write FActiveContent; 
+               property ResRangeMenuSelect: Longint read FResRangeMenuSelect write FResRangeMenuSelect;
+        property SelectResWord : string read FSelectResWord write FSelectResWord;
+        property BrowserSizeWidth: Integer read FBrowserSizeWidth write FBrowserSizeWidth;
+        property BrowserSizeHeight: Integer read FBrowserSizeHeight write FBrowserSizeHeight;
                procedure SetContent(inThread: TBrowserRecord);
                function GetActiveContent: TThreadItem;
                function GetActiveList: TObject;
+
                procedure SetListViewType(AViewType: TGikoViewType); overload;
                procedure SetListViewType(AViewType: TGikoViewType; SelectText: string; KubetsuChk: Boolean); overload;
                procedure PlaySound(SoundEventName: string);
@@ -1090,6 +1092,14 @@ type
                procedure DeleteHistory( threadItem: TThreadItem );
                //\83^\83u\82ð\8dí\8f\9c
                procedure DeleteTab(ThreadItem: TThreadItem); overload;
+               procedure DeleteTab(BrowserRecord: TBrowserRecord); overload;
+               //\8c»\8dÝ\95\\8e¦\82µ\82Ä\82¢\82é\83X\83\8c\83b\83h\82ð\83X\83N\83\8d\81[\83\8b
+               procedure BrowserMovement(const AName: string); overload;
+               //\8ew\92è\82µ\82½\83u\83\89\83E\83U\82ð\83X\83N\83\8d\81[\83\8b
+               procedure BrowserMovement(const AName: string; BrowserRecord: TBrowserRecord); overload;
+               //Application\82ÌMainForm\82ð\8eæ\93¾\82·\82é
+               function GetMainForm(): TComponent;
+               procedure SelectTreeNode(Item: TObject; CallEvent: Boolean);
        published
                property EnabledCloseButton: Boolean read FEnabledCloseButton write SetEnabledCloseButton;
                //TAction\82ÅGetActiveContent\82ªnil\88È\8aO\82Å\97L\8cø\82É\82È\82é
@@ -11096,6 +11106,11 @@ procedure TGikoForm.WikiFAQWebPageActionExecute(Sender: TObject);
 begin
        GikoSys.OpenBrowser(URL_Wiki, gbtAuto);
 end;
+//Application\82ÌMainForm\82ð\8eæ\93¾\82·\82é
+function TGikoForm.GetMainForm(): TComponent;
+begin
+       Result := Application.MainForm;
+end;
 
 initialization
                                OleInitialize(nil);
index 2630804..f08a245 100644 (file)
@@ -15,6 +15,7 @@ object GikoDM: TGikoDM
       GroupIndex = 2
       Hint = #26368#26032'100'#12524#12473#12398#12415#34920#31034
       ImageIndex = 38
+      OnExecute = OnlyAHundredResActionExecute
     end
     object OnlyKokoResAction: TAction
       Category = #12473#12524#12483#12489
@@ -23,6 +24,7 @@ object GikoDM: TGikoDM
       GroupIndex = 2
       Hint = #26410#35501#12524#12473#12398#12415#34920#31034
       ImageIndex = 46
+      OnExecute = OnlyKokoResActionExecute
     end
     object LoginAction: TAction
       Category = #12501#12449#12452#12523
@@ -186,6 +188,7 @@ object GikoDM: TGikoDM
       GroupIndex = 2
       Hint = #26032#30528#12524#12473#12398#12415#34920#31034
       ImageIndex = 45
+      OnExecute = OnlyNewResActionExecute
     end
     object CabinetFavoriteAction: TAction
       Category = #34920#31034
@@ -324,36 +327,46 @@ object GikoDM: TGikoDM
       Caption = #12473#12524#12434#22823#12365#12367#34920#31034'(&E)'
       Hint = #12473#12524#12483#12489#34920#31034#12456#12522#12450#12434#22823#12365#12367#34920#31034#12377#12427
       ImageIndex = 16
+      OnExecute = BrowserMaxActionExecute
     end
     object BrowserMinAction: TAction
       Category = #12473#12524#12483#12489
       Caption = #12473#12524#12434#23567#12373#12367#34920#31034'(&W)'
       Hint = #12473#12524#12483#12489#34920#31034#12456#12522#12450#12434#23567#12373#12367#34920#31034#12377#12427
       ImageIndex = 17
+      OnExecute = BrowserMinActionExecute
     end
     object ScrollTopAction: TAction
       Category = #12473#12524#12483#12489
       Caption = #20808#38957#12408#31227#21205'(&T)'
       Hint = #29694#22312#34920#31034#12375#12390#12356#12427#12473#12524#12483#12489#12398#20808#38957#12408#31227#21205#12377#12427
       ImageIndex = 22
+      OnExecute = ScrollTopActionExecute
+      OnUpdate = DependActiveCntentLogActionUpdate
     end
     object ScrollLastAction: TAction
       Category = #12473#12524#12483#12489
       Caption = #26368#24460#12408#31227#21205'(&L)'
       Hint = #29694#22312#34920#31034#12375#12390#12356#12427#12473#12524#12483#12489#26368#24460#12408#31227#21205#12377#12427
       ImageIndex = 23
+      OnExecute = ScrollLastActionExecute
+      OnUpdate = DependActiveCntentLogActionUpdate
     end
     object ScrollNewAction: TAction
       Category = #12473#12524#12483#12489
       Caption = #26032#30528#12408#31227#21205'(&N)'
       Hint = #29694#22312#34920#31034#12375#12390#12356#12427#12473#12524#12483#12489#12398#26032#30528#12408#31227#21205#12377#12427
       ImageIndex = 24
+      OnExecute = ScrollNewActionExecute
+      OnUpdate = DependActiveCntentLogActionUpdate
     end
     object ScrollKokoAction: TAction
       Category = #12473#12524#12483#12489
       Caption = #12467#12467#12414#12391#35501#12435#12384#12408#31227#21205'(&K)'
       Hint = #29694#22312#34920#31034#12375#12390#12356#12427#12473#12524#12483#12489#12398#12467#12467#12414#12391#35501#12435#12384#12408#31227#21205#12377#12427
       ImageIndex = 25
+      OnExecute = ScrollKokoActionExecute
+      OnUpdate = ScrollKokoActionUpdate
     end
     object EditorAction: TAction
       Category = #12473#12524#12483#12489
@@ -361,45 +374,61 @@ object GikoDM: TGikoDM
       Hint = #12524#12473#26360#12365#36796#12415#12454#12451#12531#12489#12454#12434#34920#31034#12377#12427
       ImageIndex = 26
       ShortCut = 16466
+      OnExecute = EditorActionExecute
+      OnUpdate = DependActiveCntentLogActionUpdate
     end
     object IEAction: TAction
       Category = #12473#12524#12483#12489
       Caption = #12502#12521#12454#12470#12391#34920#31034'(&B)'
       Hint = #12473#12524#12434#12502#12521#12454#12470#12391#34920#31034#12377#12427
       ImageIndex = 27
+      OnExecute = IEActionExecute
+      OnUpdate = DependActiveCntentActionUpdate
     end
     object ShowThreadAction: TAction
       Category = #12473#12524#12483#12489
       Caption = #12473#12524#12483#12489#12434#12502#12521#12454#12470#12391#34920#31034'(&S)'
       Hint = #29694#22312#34920#31034#12375#12390#12356#12427#12473#12524#12483#12489#12434#12502#12521#12454#12470#12391#34920#31034#12377#12427
       ImageIndex = 27
+      OnExecute = ShowThreadActionExecute
+      OnUpdate = DependActiveCntentActionUpdate
     end
     object ShowBoardAction: TAction
       Category = #12473#12524#12483#12489
       Caption = #26495#12434#12502#12521#12454#12470#12391#34920#31034'(&B)'
       Hint = #29694#22312#34920#31034#12375#12390#12356#12427#12473#12524#12483#12489#12398#26495#12434#12502#12521#12454#12470#12391#34920#31034#12377#12427
       ImageIndex = 27
+      OnExecute = ShowBoardActionExecute
+      OnUpdate = DependActiveCntentActionUpdate
     end
     object URLCopyAction: TAction
       Category = #12473#12524#12483#12489
       Caption = 'URL'#12434#12467#12500#12540'(&C)'
       Hint = #29694#22312#34920#31034#12375#12390#12356#12427#12473#12524#12483#12489#12398'URL'#12434#12467#12500#12540#12377#12427
+      OnExecute = URLCopyActionExecute
+      OnUpdate = DependActiveCntentActionUpdate
     end
     object NameCopyAction: TAction
       Category = #12473#12524#12483#12489
       Caption = #12473#12524#12483#12489#21517#12434#12467#12500#12540'(&T)'
       Hint = #29694#22312#34920#31034#12375#12390#12356#12427#12473#12524#12483#12489#21517#12434#12467#12500#12540#12377#12427
+      OnExecute = NameCopyActionExecute
+      OnUpdate = DependActiveCntentActionUpdate
     end
     object NameURLCopyAction: TAction
       Category = #12473#12524#12483#12489
       Caption = #12473#12524#12483#12489#21517#12392'URL'#12434#12467#12500#12540'(&M)'
       Hint = #29694#22312#34920#31034#12375#12390#12356#12427#12473#12524#12483#12489#21517#12392'URL'#12434#12467#12500#12540#12377#12427
+      OnExecute = NameURLCopyActionExecute
+      OnUpdate = DependActiveCntentActionUpdate
     end
     object ItemReloadAction: TAction
       Category = #12473#12524#12483#12489
       Caption = #12473#12524#12483#12489#12480#12454#12531#12525#12540#12489'(&A)'
       Hint = #34920#31034#12373#12428#12390#12356#12427#12473#12524#12483#12489#12434#12480#12454#12531#12525#12540#12489#12377#12427
       ImageIndex = 28
+      OnExecute = ItemReloadActionExecute
+      OnUpdate = DependActiveCntentActionUpdate
     end
     object ThreadEditorAction: TAction
       Category = #26495
@@ -445,18 +474,24 @@ object GikoDM: TGikoDM
       Caption = #12450#12463#12486#12451#12502#12479#12502#12434#38281#12376#12427'(&X)'
       Hint = #29694#22312#38283#12356#12390#12356#12427#12479#12502#12434#38281#12376#12427
       ImageIndex = 41
+      OnExecute = BrowserTabCloseActionExecute
+      OnUpdate = BrowserTabCloseActionUpdate
     end
     object NotSelectTabCloseAction: TAction
       Category = #12473#12524#12483#12489
       Caption = #12450#12463#12486#12451#12502#12479#12502#20197#22806#12434#38281#12376#12427'(&V)'
       Hint = #29694#22312#38283#12356#12390#12356#12427#12479#12502#20197#22806#12434#20840#12390#38281#12376#12427
       ImageIndex = 39
+      OnExecute = NotSelectTabCloseActionExecute
+      OnUpdate = NotSelectTabCloseActionUpdate
     end
     object AllTabCloseAction: TAction
       Category = #12473#12524#12483#12489
       Caption = #12377#12409#12390#12398#12479#12502#12434#38281#12376#12427'(&Z)'
       Hint = #12377#12409#12390#12398#12479#12502#12434#38281#12376#12427
       ImageIndex = 40
+      OnExecute = AllTabCloseActionExecute
+      OnUpdate = BrowserTabCloseActionUpdate
     end
     object KokomadeAction: TAction
       Tag = -1
@@ -524,6 +559,8 @@ object GikoDM: TGikoDM
       Caption = #12450#12463#12486#12451#12502#12479#12502#12398#12525#12464#12434#21066#38500'(&D)'
       Hint = #29694#22312#38283#12356#12390#12356#12427#12479#12502#12398#12473#12524#12483#12489#12434#21066#38500#12377#12427
       ImageIndex = 29
+      OnExecute = ActiveLogDeleteActionExecute
+      OnUpdate = DependActiveCntentActionUpdate
     end
     object TreeSelectNameURLCopy: TAction
       Tag = -1
@@ -541,24 +578,32 @@ object GikoDM: TGikoDM
       Caption = #19968#30058#24038#12398#12479#12502#36984#25246'(&F)'
       Hint = #19968#30058#24038#12398#12479#12502#12434#36984#25246#12377#12427
       ImageIndex = 50
+      OnExecute = LeftmostTabSelectActionExecute
+      OnUpdate = LeftmostTabSelectActionUpdate
     end
     object LeftTabSelectAction: TAction
       Category = #12473#12524#12483#12489
       Caption = #24038#12398#12479#12502#36984#25246'(&G)'
       Hint = #24038#12398#12479#12502#12434#36984#25246#12377#12427
       ImageIndex = 48
+      OnExecute = LeftTabSelectActionExecute
+      OnUpdate = LeftmostTabSelectActionUpdate
     end
     object RightTabSelectAction: TAction
       Category = #12473#12524#12483#12489
       Caption = #21491#12398#12479#12502#36984#25246'(&H)'
       Hint = #21491#12398#12479#12502#12434#36984#25246#12377#12427
       ImageIndex = 47
+      OnExecute = RightTabSelectActionExecute
+      OnUpdate = RightTabSelectActionUpdate
     end
     object RightmostTabSelectAction: TAction
       Category = #12473#12524#12483#12489
       Caption = #19968#30058#21491#12398#12479#12502#36984#25246'(&J)'
       Hint = #19968#30058#21491#12398#12479#12502#12434#36984#25246#12377#12427
       ImageIndex = 49
+      OnExecute = RightmostTabSelectActionExecute
+      OnUpdate = RightTabSelectActionUpdate
     end
     object FavoriteAddAction: TAction
       Category = #12362#27671#12395#20837#12426
@@ -576,6 +621,8 @@ object GikoDM: TGikoDM
       Category = #12473#12524#12483#12489
       Caption = #12362#27671#12395#20837#12426#12395#36861#21152'(&F)...'
       Hint = #36984#25246#12373#12428#12390#12356#12427#12473#12524#12483#12489#12434#12362#27671#12395#20837#12426#12395#36861#21152#12377#12427
+      OnExecute = ThreadFavoriteAddActionExecute
+      OnUpdate = ThreadFavoriteAddActionUpdate
     end
     object TreeSelectFavoriteAddAction: TAction
       Tag = -1
@@ -654,6 +701,8 @@ object GikoDM: TGikoDM
       GroupIndex = 2
       Hint = #12524#12473#12398#20869#23481#12434#32094#36796#12416
       ImageIndex = 12
+      OnExecute = SelectResActionExecute
+      OnUpdate = DependActiveCntentLogActionUpdate
     end
     object AllResAction: TAction
       Category = #12473#12524#12483#12489
@@ -662,6 +711,7 @@ object GikoDM: TGikoDM
       GroupIndex = 2
       Hint = #12377#12409#12390#12398#12524#12473#12434#34920#31034#12377#12427
       ImageIndex = 9
+      OnExecute = AllResActionExecute
     end
     object EditNGAction: TAction
       Category = 'NGword'
@@ -768,6 +818,7 @@ object GikoDM: TGikoDM
       GroupIndex = 2
       Hint = #12524#12473#12398#34920#31034#31684#22258#12434#35373#23450
       ImageIndex = 38
+      OnExecute = ResRangeActionExecute
     end
     object ExportFavoriteFile: TFileSaveAs
       Category = #12501#12449#12452#12523
@@ -795,6 +846,8 @@ object GikoDM: TGikoDM
       Caption = #26495#12434#34920#31034
       Hint = #12371#12398#12473#12524#12483#12489#12434#21547#12416#12473#12524#12483#12489#19968#35239#12434#34920#31034
       ImageIndex = 8
+      OnExecute = UpBoardActionExecute
+      OnUpdate = DependActiveCntentActionUpdate
     end
     object KoreCopy: TAction
       Tag = -1
@@ -901,6 +954,8 @@ object GikoDM: TGikoDM
       Caption = #25351#23450#12375#12383#30058#21495#12398#12524#12473#12395#39131#12406
       Hint = #25351#23450#12375#12383#30058#21495#12398#12524#12473#12395#39131#12406
       ShortCut = 16455
+      OnExecute = JumpToNumOfResActionExecute
+      OnUpdate = DependActiveCntentLogActionUpdate
     end
     object FavoriteTreeViewCollapseAction: TAction
       Category = #12362#27671#12395#20837#12426
@@ -912,11 +967,15 @@ object GikoDM: TGikoDM
       Category = #12473#12524#12483#12489
       Caption = #12450#12463#12486#12451#12502#12394#12479#12502#12424#12426#21491#12434#38281#12376#12427
       Hint = #12450#12463#12486#12451#12502#12394#12479#12502#12424#12426#21491#12434#38281#12376#12427
+      OnExecute = RightTabCloseActionExecute
+      OnUpdate = RightTabCloseActionUpdate
     end
     object LeftTabCloseAction: TAction
       Category = #12473#12524#12483#12489
       Caption = #12450#12463#12486#12451#12502#12394#12479#12502#12424#12426#24038#12434#38281#12376#12427
       Hint = #12450#12463#12486#12451#12502#12394#12479#12502#12424#12426#24038#12434#38281#12376#12427
+      OnExecute = LeftTabCloseActionExecute
+      OnUpdate = RightTabCloseActionUpdate
     end
     object SameIDResAnchorAction: TAction
       Tag = -1
index 6662d13..782eaa4 100644 (file)
@@ -190,6 +190,46 @@ type
     procedure FavoriteTreeViewNameURLCopyActionExecute(Sender: TObject);
     procedure FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
     procedure FavoriteTreeViewBrowseThreadActionExecute(Sender: TObject);
+    procedure OnlyAHundredResActionExecute(Sender: TObject);
+    procedure OnlyKokoResActionExecute(Sender: TObject);
+    procedure OnlyNewResActionExecute(Sender: TObject);
+    procedure BrowserMaxActionExecute(Sender: TObject);
+    procedure BrowserMinActionExecute(Sender: TObject);
+    procedure ScrollTopActionExecute(Sender: TObject);
+    procedure ScrollLastActionExecute(Sender: TObject);
+    procedure ScrollNewActionExecute(Sender: TObject);
+    procedure ScrollKokoActionExecute(Sender: TObject);
+    procedure ScrollKokoActionUpdate(Sender: TObject);
+    procedure EditorActionExecute(Sender: TObject);
+    procedure IEActionExecute(Sender: TObject);
+    procedure ShowThreadActionExecute(Sender: TObject);
+    procedure ShowBoardActionExecute(Sender: TObject);
+    procedure URLCopyActionExecute(Sender: TObject);
+    procedure NameCopyActionExecute(Sender: TObject);
+    procedure NameURLCopyActionExecute(Sender: TObject);
+    procedure ItemReloadActionExecute(Sender: TObject);
+    procedure BrowserTabCloseActionExecute(Sender: TObject);
+    procedure BrowserTabCloseActionUpdate(Sender: TObject);
+    procedure NotSelectTabCloseActionExecute(Sender: TObject);
+    procedure NotSelectTabCloseActionUpdate(Sender: TObject);
+    procedure AllTabCloseActionExecute(Sender: TObject);
+    procedure ActiveLogDeleteActionExecute(Sender: TObject);
+    procedure LeftmostTabSelectActionExecute(Sender: TObject);
+    procedure LeftmostTabSelectActionUpdate(Sender: TObject);
+    procedure LeftTabSelectActionExecute(Sender: TObject);
+    procedure RightTabSelectActionExecute(Sender: TObject);
+    procedure RightTabSelectActionUpdate(Sender: TObject);
+    procedure RightmostTabSelectActionExecute(Sender: TObject);
+    procedure ThreadFavoriteAddActionExecute(Sender: TObject);
+    procedure ThreadFavoriteAddActionUpdate(Sender: TObject);
+    procedure SelectResActionExecute(Sender: TObject);
+    procedure AllResActionExecute(Sender: TObject);
+    procedure ResRangeActionExecute(Sender: TObject);
+    procedure UpBoardActionExecute(Sender: TObject);
+    procedure JumpToNumOfResActionExecute(Sender: TObject);
+    procedure RightTabCloseActionExecute(Sender: TObject);
+    procedure RightTabCloseActionUpdate(Sender: TObject);
+    procedure LeftTabCloseActionExecute(Sender: TObject);
   private
        { Private \90é\8c¾ }
   public
@@ -211,13 +251,26 @@ implementation
 
 uses
        Windows, Math, Messages, Dialogs, Clipbrd, 
-       Giko, GikoSystem, GikoUtil, BoardGroup, 
-       FavoriteArrange, Favorite;
+       Giko, GikoSystem, GikoUtil, BoardGroup,
+       FavoriteArrange, Favorite, Setting, MojuUtils,
+       Editor, ListSelect;
 
 
 const
+       CAPTION_NAME: string = '\83M\83R\83i\83r';
        USER_SETLINKBAR                                 = WM_USER + 2003;
-       
+       //\83c\81[\83\8b\83o\81[\83A\83C\83R\83\93
+       TOOL_ICON_HEIGHT_MAX            = 16;           //\8d\82\82³\8dÅ\91å\83A\83C\83R\83\93
+       TOOL_ICON_HEIGHT_MIN            = 17;           //\8d\82\82³\8dÅ\8f¬\83A\83C\83R\83\93
+       TOOL_ICON_HEIGHT_NORMAL = 18;           //\8d\82\82³\95W\8f\80\83A\83C\83R\83\93
+       TOOL_ICON_WIDTH_MAX             = 19;           //\95\9d\8dÅ\91å\83A\83C\83R\83\93
+       TOOL_ICON_WIDTH_MIN             = 20;           //\95\9d\8dÅ\8f¬\83A\83C\83R\83\93
+       TOOL_ICON_WIDTH_NORMAL  = 21;           //\95\9d\95W\8f\80\83A\83C\83R\83\93
+
+       TOOL_ICON_FAV_FOLDER            = 30;           //\82¨\8bC\82É\93ü\82è\83t\83H\83\8b\83_\83A\83C\83R\83\93
+       TOOL_ICON_FAV_BOARD                     = 31;           //\82¨\8bC\82É\93ü\82è\94Â\83A\83C\83R\83\93
+       TOOL_ICON_FAV_THREAD            = 32;           //\82¨\8bC\82É\93ü\82è\83X\83\8c\83A\83C\83R\83\93
+
 {$R *.dfm}
 // *************************************************************************
 // TAction\82ÅGetActiveContent\82ªnil\88È\8aO\82Å\97L\8cø\82É\82È\82é
@@ -662,6 +715,715 @@ begin
 
        end;
 end;
+// *************************************************************************
+// \8dÅ\90V100\83\8c\83X\82Ì\82Ý\95\\8e¦
+// *************************************************************************
+procedure TGikoDM.OnlyAHundredResActionExecute(Sender: TObject);
+var
+       FilterList : TStringList;
+begin
+       if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
+               and (GikoForm.ActiveContent.Browser.Busy) then Exit;
+
+       GikoForm.ResRangeMenuSelect     := 100;
+       OnlyAHundredResAction.Checked   := True;
+
+       if GikoSys.ResRange <> 100 then begin
+               GikoSys.ResRange        := 100;
+
+               // \83t\83B\83\8b\83^\95\8e\9a\97ñ\82ð\8bó\82É\82·\82é
+               FilterList := TStringList.Create;
+               try
+                       GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
+                       GikoSys.FSelectResFilter.Reverse := False;
+               finally
+                       FilterList.Free;
+               end;
+
+               GikoForm.SelectResWord := '';
+               GikoForm.RepaintAllTabsBrowser();
+       end;
+end;
+// *************************************************************************
+// \96¢\93Ç\83\8c\83X\82Ì\82Ý\95\\8e¦
+// *************************************************************************
+procedure TGikoDM.OnlyKokoResActionExecute(Sender: TObject);
+var
+       FilterList : TStringList;
+begin
+       if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
+               and (GikoForm.ActiveContent.Browser.Busy) then Exit;
+
+       GikoForm.ResRangeMenuSelect     := Ord( grrKoko );
+       OnlyKokoResAction.Checked       := True;
+
+       if GikoSys.ResRange <> Ord( grrKoko ) then begin
+               GikoSys.ResRange                                        := Ord( grrKoko );
+
+               // \83t\83B\83\8b\83^\95\8e\9a\97ñ\82ð\8bó\82É\82·\82é
+               FilterList := TStringList.Create;
+               try
+                       GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
+                       GikoSys.FSelectResFilter.Reverse := False;
+               finally
+                       FilterList.Free;
+               end;
+
+               GikoForm.SelectResWord := '';
+               GikoForm.RepaintAllTabsBrowser();
+       end;
+end;
+// *************************************************************************
+// \90V\92\85\83\8c\83X\82Ì\82Ý\95\\8e¦
+// *************************************************************************
+procedure TGikoDM.OnlyNewResActionExecute(Sender: TObject);
+var
+       FilterList : TStringList;
+begin
+       if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
+               and (GikoForm.ActiveContent.Browser.Busy) then Exit;
+
+       GikoForm.ResRangeMenuSelect     := Ord( grrNew );
+       OnlyNewResAction.Checked        := True;
 
+       if GikoSys.ResRange <> Ord( grrNew ) then begin
+               GikoSys.ResRange                                        := Ord( grrNew );
+
+               // \83t\83B\83\8b\83^\95\8e\9a\97ñ\82ð\8bó\82É\82·\82é
+               FilterList := TStringList.Create;
+               try
+                       GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
+                       GikoSys.FSelectResFilter.Reverse := False;
+               finally
+                       FilterList.Free;
+               end;
+
+               GikoForm.SelectResWord := '';
+               GikoForm.RepaintAllTabsBrowser();
+       end;
+end;
+// *************************************************************************
+// \83X\83\8c\83b\83h\95\\8e¦\83G\83\8a\83A\82ð\91å\82«\82­\95\\8e¦\82·\82é
+// *************************************************************************
+procedure TGikoDM.BrowserMaxActionExecute(Sender: TObject);
+begin
+       if GikoSys.Setting.ListOrientation = gloHorizontal then begin
+               case GikoSys.Setting.ListWidthState of
+                       glsMax: begin
+                               //\92Ê\8fí\95\\8e¦\82É\82·\82é
+                               if GikoForm.ActiveContent <> nil then
+                                       SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 0, 0);  //\95`\89æ\92â\8e~
+                               GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
+                               BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
+                               BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
+                               GikoSys.Setting.ListWidthState := glsNormal;
+                               if GikoForm.ActiveContent <> nil then
+                                       SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 1, 0);  //\95`\89æ
+                       end;
+                       glsMin, glsNormal: begin
+                               //\8dÅ\91å\95\\8e¦\82É\82·\82é
+                               if GikoForm.ActiveContent <> nil then
+                                       SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 0, 0);  //\95`\89æ\92â\8e~
+                               if GikoSys.Setting.ListWidthState = glsNormal then
+                                       GikoForm.BrowserSizeWidth := GikoForm.ViewPanel.Width;
+                               if GikoForm.ActiveContent <> nil then
+                                       SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 1, 0);  //\95`\89æ
+                               GikoForm.ViewPanel.Width := 1;
+                               BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
+                               BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
+                               GikoSys.Setting.ListWidthState := glsMax;
+                       end;
+               end;
+       end else begin
+               case GikoSys.Setting.ListHeightState of
+                       glsMax: begin
+                               //\92Ê\8fí\95\\8e¦\82É\82·\82é
+                               if GikoForm.ActiveContent <> nil then
+                                       SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 0, 0);  //\95`\89æ\92â\8e~
+                               GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
+                               BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
+                               BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
+                               GikoSys.Setting.ListHeightState := glsNormal;
+                               if GikoForm.ActiveContent <> nil then
+                                       SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 1, 0);  //\95`\89æ
+                       end;
+                       glsMin, glsNormal: begin
+                               //\8dÅ\91å\95\\8e¦\82É\82·\82é
+                               if GikoForm.ActiveContent <> nil then
+                                       SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 0, 0);  //\95`\89æ\92â\8e~
+                               if GikoSys.Setting.ListHeightState = glsNormal then
+                                       GikoForm.BrowserSizeHeight := GikoForm.ViewPanel.Height;
+                               if GikoForm.ActiveContent <> nil then
+                                       SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 1, 0);  //\95`\89æ
+                               GikoForm.ViewPanel.Height := 1;
+                               BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
+                               BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
+                               GikoSys.Setting.ListHeightState := glsMax;
+                       end;
+               end;
+       end;
+end;
+// *************************************************************************
+// \83X\83\8c\83b\83h\95\\8e¦\83G\83\8a\83A\82ð\8f¬\82³\82­\95\\8e¦\82·\82é
+// *************************************************************************
+procedure TGikoDM.BrowserMinActionExecute(Sender: TObject);
+begin
+       if GikoSys.Setting.ListOrientation = gloHorizontal then begin
+               case GikoSys.Setting.ListWidthState of
+                       glsMax, glsNormal: begin
+                               //\8dÅ\8f¬\95\\8e¦\82É\82·\82é
+                               if GikoForm.ActiveContent <> nil then
+                                       SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 0, 0);  //\95`\89æ\92â\8e~
+                               if GikoSys.Setting.ListWidthState = glsNormal then
+                                       GikoForm.BrowserSizeWidth := GikoForm.ViewPanel.Width;
+                               if GikoForm.ActiveContent <> nil then
+                                       SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 1, 0);  //\95`\89æ
+                               GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
+                               BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
+                               BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
+                               GikoSys.Setting.ListWidthState := glsMin;
+                       end;
+                       glsMin: begin
+                               //\92Ê\8fí\95\\8e¦\82É\82·\82é
+                               if GikoForm.ActiveContent <> nil then
+                                       SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 0, 0);  //\95`\89æ\92â\8e~
+                               GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
+                               BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
+                               BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
+                               GikoSys.Setting.ListWidthState := glsNormal;
+                               if GikoForm.ActiveContent <> nil then
+                                       SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 1, 0);  //\95`\89æ
+                       end;
+               end;
+       end else begin
+               case GikoSys.Setting.ListHeightState of
+                       glsMax, glsNormal: begin
+                               //\8dÅ\8f¬\95\\8e¦\82É\82·\82é
+                               if GikoForm.ActiveContent <> nil then
+                                       SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 0, 0);  //\95`\89æ\92â\8e~
+                               if GikoSys.Setting.ListHeightState = glsNormal then
+                                       GikoForm.BrowserSizeHeight := GikoForm.ViewPanel.Height;
+                               GikoForm.ViewPanel.Height := GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
+                               BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
+                               BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
+                               GikoSys.Setting.ListHeightState := glsMin;
+                               if GikoForm.ActiveContent <> nil then
+                                       SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 1, 0);  //\95`\89æ
+                       end;
+                       glsMin: begin
+                               //\92Ê\8fí\95\\8e¦\82É\82·\82é
+                               if GikoForm.ActiveContent <> nil then
+                                       SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 0, 0);  //\95`\89æ\92â\8e~
+                               GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
+                               BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
+                               BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
+                               GikoSys.Setting.ListHeightState := glsNormal;
+                               if GikoForm.ActiveContent <> nil then
+                                       SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 1, 0);  //\95`\89æ
+                       end;
+               end;
+       end;
+end;
+// *************************************************************************
+// \8c»\8dÝ\95\\8e¦\82µ\82Ä\82¢\82é\83X\83\8c\83b\83h\82Ì\90æ\93ª\82Ö\88Ú\93®\82·\82é
+// *************************************************************************
+procedure TGikoDM.ScrollTopActionExecute(Sender: TObject);
+begin
+       GikoForm.BrowserMovement('top');
+end;
+// *************************************************************************
+// \8c»\8dÝ\95\\8e¦\82µ\82Ä\82¢\82é\83X\83\8c\83b\83h\82Ì\8dÅ\8cã\82Ö\88Ú\93®\82·\82é
+// *************************************************************************
+procedure TGikoDM.ScrollLastActionExecute(Sender: TObject);
+begin
+       GikoForm.BrowserMovement('bottom');
+end;
+// *************************************************************************
+// \8c»\8dÝ\95\\8e¦\82µ\82Ä\82¢\82é\83X\83\8c\83b\83h\82Ì\90V\92\85\82Ö\88Ú\93®\82·\82é
+// *************************************************************************
+procedure TGikoDM.ScrollNewActionExecute(Sender: TObject);
+begin
+       GikoForm.BrowserMovement('new');
+end;
+// *************************************************************************
+// \8c»\8dÝ\95\\8e¦\82µ\82Ä\82¢\82é\83X\83\8c\83b\83h\82Ì\83R\83R\82Ü\82Å\93Ç\82ñ\82¾\82Ö\88Ú\93®\82·\82é
+// *************************************************************************
+procedure TGikoDM.ScrollKokoActionExecute(Sender: TObject);
+begin
+       GikoForm.BrowserMovement('koko');
+end;
+// *************************************************************************
+// \8c»\8dÝ\95\\8e¦\82µ\82Ä\82¢\82é\83X\83\8c\83b\83h\82Ì\83R\83R\82Ü\82Å\93Ç\82ñ\82¾\82Ö\88Ú\93®\82·\82é\82ÌUpdate\83C\83x\83\93\83g
+// *************************************************************************
+procedure TGikoDM.ScrollKokoActionUpdate(Sender: TObject);
+begin
+       ScrollKokoAction.Enabled := (GikoForm.GetActiveContent <> nil)
+                                                               and (GikoForm.GetActiveContent.IsLogFile)
+                                                               and (GikoForm.GetActiveContent.Kokomade <> -1);
+end;
+// *************************************************************************
+// \83\8c\83X\8f\91\82«\8d\9e\82Ý\83E\83B\83\93\83h\83E\82ð\95\\8e¦\82·\82é
+// *************************************************************************
+procedure TGikoDM.EditorActionExecute(Sender: TObject);
+var
+       Editor: TEditorForm;
+       Item: TThreadItem;
+begin
+       Item := GikoForm.GetActiveContent;
+       if Item = nil then Exit;
+       Editor := TEditorForm.Create(GikoForm.GetMainForm);
+       Editor.SetThreadItem(Item);
+       GikoSys.LoadEditorKeySetting(Editor.ActionList);
+       Editor.Show;
+       Editor.BodyEdit.SetFocus;
+end;
+// *************************************************************************
+// \83X\83\8c\82ð\83u\83\89\83E\83U\82Å\95\\8e¦\82·\82é
+// *************************************************************************
+procedure TGikoDM.IEActionExecute(Sender: TObject);
+begin
+       ShowThreadAction.Execute;
+end;
+// *************************************************************************
+// \8c»\8dÝ\95\\8e¦\82µ\82Ä\82¢\82é\83X\83\8c\83b\83h\82ð\83u\83\89\83E\83U\82Å\95\\8e¦\82·\82é
+// *************************************************************************
+procedure TGikoDM.ShowThreadActionExecute(Sender: TObject);
+var
+       ThreadItem: TThreadItem;
+begin
+       ThreadItem := GikoForm.GetActiveContent;
+       if ThreadItem = nil then Exit;
+       GikoSys.OpenBrowser(ThreadItem.URL, gbtAuto);
+end;
+// *************************************************************************
+// \8c»\8dÝ\95\\8e¦\82µ\82Ä\82¢\82é\83X\83\8c\83b\83h\82Ì\94Â\82ð\83u\83\89\83E\83U\82Å\95\\8e¦\82·\82é
+// *************************************************************************
+procedure TGikoDM.ShowBoardActionExecute(Sender: TObject);
+var
+       ThreadItem: TThreadItem;
+begin
+       ThreadItem := GikoForm.GetActiveContent;
+       if ThreadItem = nil then Exit;
+       GikoSys.OpenBrowser(ThreadItem.ParentBoard.URL, gbtAuto);
+end;
+// *************************************************************************
+// \8c»\8dÝ\95\\8e¦\82µ\82Ä\82¢\82é\83X\83\8c\83b\83h\82ÌURL\82ð\83R\83s\81[\82·\82é
+// *************************************************************************
+procedure TGikoDM.URLCopyActionExecute(Sender: TObject);
+var
+       s: string;
+begin
+       s := '';
+       if TObject(GikoForm.GetActiveContent) is TBoard then
+               s := s + TBoard(GikoForm.GetActiveContent).URL + #13#10
+       else if TObject(GikoForm.GetActiveContent) is TThreadItem then
+               s := s + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
+       if s <> '' then
+               Clipboard.AsText := s;
+end;
+// *************************************************************************
+// \8c»\8dÝ\95\\8e¦\82µ\82Ä\82¢\82é\83X\83\8c\83b\83h\96¼\82ð\83R\83s\81[\82·\82é
+// *************************************************************************
+procedure TGikoDM.NameCopyActionExecute(Sender: TObject);
+var
+       s: string;
+begin
+       s := '';
+       if TObject(GikoForm.GetActiveContent) is TBoard then
+               s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10
+       else if TObject(GikoForm.GetActiveContent) is TThreadItem then
+               s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10;
+       if s <> '' then
+               Clipboard.AsText := s;
+end;
+// *************************************************************************
+// \8c»\8dÝ\95\\8e¦\82µ\82Ä\82¢\82é\83X\83\8c\83b\83h\96¼\82ÆURL\82ð\83R\83s\81[\82·\82é
+// *************************************************************************
+procedure TGikoDM.NameURLCopyActionExecute(Sender: TObject);
+var
+       s: string;
+begin
+       s := '';
+       if TObject(GikoForm.GetActiveContent) is TBoard then
+               s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10 + TBoard(GikoForm.GetActiveContent).URL + #13#10
+       else if TObject(GikoForm.GetActiveContent) is TThreadItem then
+               s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10 + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
+       if s <> '' then
+               Clipboard.AsText := s;
+end;
+// *************************************************************************
+// \95\\8e¦\82³\82ê\82Ä\82¢\82é\83X\83\8c\83b\83h\82ð\83_\83E\83\93\83\8d\81[\83h\82·\82é
+// *************************************************************************
+procedure TGikoDM.ItemReloadActionExecute(Sender: TObject);
+var
+       ThreadItem: TThreadItem;
+       shiftDown: Boolean;
+begin
+       ThreadItem := GikoForm.GetActiveContent;
+       shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
+       if ThreadItem <> nil then
+               GikoForm.DownloadContent(ThreadItem, shiftDown);
+end;
+// *************************************************************************
+// \8c»\8dÝ\8aJ\82¢\82Ä\82¢\82é\83^\83u\82ð\95Â\82\82é
+// *************************************************************************
+procedure TGikoDM.BrowserTabCloseActionExecute(Sender: TObject);
+var
+       idx: Integer;
+begin
+       idx := GikoForm.BrowserTab.TabIndex;
+       if idx <> -1 then begin
+               if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
+                       GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
+               end;
+       end;
+end;
+// *************************************************************************
+// \83^\83u\82ª\82P\82Â\88È\8fã\82 \82ê\82ª\97L\8cø\82É\82·\82éUpdate\83C\83x\83\93\83g
+// *************************************************************************
+procedure TGikoDM.BrowserTabCloseActionUpdate(Sender: TObject);
+begin
+       TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0);
+end;
+// *************************************************************************
+// \8c»\8dÝ\8aJ\82¢\82Ä\82¢\82é\83^\83u\88È\8aO\82ð\95Â\82\82é
+// *************************************************************************
+procedure TGikoDM.NotSelectTabCloseActionExecute(Sender: TObject);
+var
+       i: Integer;
+       idx: Integer;
+begin
+       idx := GikoForm.BrowserTab.TabIndex;
+       if idx = -1 then Exit;
+       GikoForm.BrowserTab.Tabs.BeginUpdate;
+       for i := GikoForm.BrowserTab.Tabs.Count - 1 downto GikoForm.BrowserTab.TabIndex + 1 do begin
+               TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
+               GikoForm.BrowserTab.Tabs.Delete(i);
+       end;
+       if idx > 0 then begin
+               for i := GikoForm.BrowserTab.TabIndex - 1 downto 0 do begin
+                       TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
+                       GikoForm.BrowserTab.Tabs.Delete(i);
+               end;
+       end;
+       GikoForm.BrowserTab.Tabs.EndUpdate;
+end;
+// *************************************************************************
+// \83^\83u\82ª\82Q\82Â\88È\8fã\82 \82ê\82ª\97L\8cø\82É\82·\82éUpdate\83C\83x\83\93\83g
+// *************************************************************************
+procedure TGikoDM.NotSelectTabCloseActionUpdate(Sender: TObject);
+begin
+       TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
+end;
+// *************************************************************************
+// \91S\82Ä\82Ì\83^\83u\82ð\95Â\82\82é
+// *************************************************************************
+procedure TGikoDM.AllTabCloseActionExecute(Sender: TObject);
+var
+       i: Integer;
+begin
+       if GikoSys.Setting.ShowDialogForAllTabClose then
+               if(MessageDlg('\91S\82Ä\82Ì\83^\83u\82ð\95Â\82\82Ä\82æ\82ë\82µ\82¢\82Å\82·\82©\81H', mtConfirmation,[mbOk, mbCancel], 0) = mrCancel ) then
+                       Exit;
+
+       GikoForm.ActiveContent := nil;
+       GikoForm.BrowserNullTab.Thread := nil;
+       GikoForm.BrowserTab.OnChange := nil;
+       GikoForm.BrowserTab.Tabs.BeginUpdate;
+       for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
+               TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
+       end;
+       GikoForm.BrowserTab.Tabs.Clear;
+       GikoForm.BrowserTab.Tabs.EndUpdate;
+       GikoForm.BrowserTab.OnChange := GikoForm.BrowserTabChange;
+       GikoForm.SetContent(GikoForm.BrowserNullTab);
+       GikoForm.Caption := CAPTION_NAME ;
+end;
+// *************************************************************************
+// \8c»\8dÝ\8aJ\82¢\82Ä\82¢\82é\83^\83u\82Ì\83X\83\8c\83b\83h\82ð\8dí\8f\9c\82·\82é
+// *************************************************************************
+procedure TGikoDM.ActiveLogDeleteActionExecute(Sender: TObject);
+const
+       DEL_MSG = '\81g^0\81h\82Ì\83\8d\83O\82ð\8dí\8f\9c\82µ\82Ü\82·\81B\82æ\82ë\82µ\82¢\82Å\82·\82©\81H';
+       DEL_TITLE = '\8dí\8f\9c\8am\94F';
+var
+       idx: Integer;
+       ThreadItem: TThreadItem;
+begin
+       idx := GikoForm.BrowserTab.TabIndex;
+       if idx <> -1 then begin
+               if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
+                       ThreadItem := TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]).Thread;
+                       if GikoSys.Setting.DeleteMsg then
+                               if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
+                                       if MsgBox(GikoForm.Handle, StringReplace( DEL_MSG, '^0', ThreadItem.Title, [rfReplaceAll] ) , DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
+                                               Exit;
+                       GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
+                       ThreadItem.DeleteLogFile;
+                       if ThreadItem.ParentBoard = GikoForm.ActiveList then
+                               GikoForm.ListView.Refresh;
+               end;
+       end;
+end;
+// *************************************************************************
+// \88ê\94Ô\8d\82Ì\83^\83u\82ð\91I\91ð\82·\82é
+// *************************************************************************
+procedure TGikoDM.LeftmostTabSelectActionExecute(Sender: TObject);
+begin
+       if GikoForm.BrowserTab.Tabs.Count > 0 then begin
+               GikoForm.BrowserTab.TabIndex := 0;
+               GikoForm.BrowserTab.OnChange(nil);
+       end;
+end;
+// *************************************************************************
+// \83^\83u\82Ì\90\94\82ª\82P\88È\8fã\82Å\81A\83^\83u\82Ì\83C\83\93\83f\83b\83N\83X\82ª\82O\88È\8aO\82Å\97L\8cø\82É\82È\82éUpdate\83C\83x\83\93\83g
+// *************************************************************************
+procedure TGikoDM.LeftmostTabSelectActionUpdate(Sender: TObject);
+begin
+       TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
+                                                               and (GikoForm.BrowserTab.TabIndex <> 0);
+end;
+// *************************************************************************
+// \8d\82Ì\83^\83u\82ð\91I\91ð\82·\82é
+// *************************************************************************
+procedure TGikoDM.LeftTabSelectActionExecute(Sender: TObject);
+begin
+       if GikoForm.BrowserTab.Tabs.Count > 0 then begin
+               if GikoForm.BrowserTab.TabIndex = -1 then begin
+                       GikoForm.BrowserTab.TabIndex := 0;
+                       GikoForm.BrowserTab.OnChange(nil);
+               end else if GikoForm.BrowserTab.TabIndex > 0 then begin
+                       GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex - 1;
+                       GikoForm.BrowserTab.OnChange(nil);
+               end;
+       end;
+end;
+// *************************************************************************
+// \89E\82Ì\83^\83u\82ð\91I\91ð\82·\82é
+// *************************************************************************
+procedure TGikoDM.RightTabSelectActionExecute(Sender: TObject);
+begin
+       if GikoForm.BrowserTab.Tabs.Count > 0 then begin
+               if GikoForm.BrowserTab.TabIndex = -1 then begin
+                       GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
+                       GikoForm.BrowserTab.OnChange(nil);
+               end else if GikoForm.BrowserTab.TabIndex < (GikoForm.BrowserTab.Tabs.Count - 1) then begin
+                       GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex + 1;
+                       GikoForm.BrowserTab.OnChange(nil);
+               end;
+       end;
+end;
+// *************************************************************************
+// \83^\83u\82Ì\90\94\82ª\82P\88È\8fã\82Å\81A\83^\83u\82ª\89E\92[\88È\8aO\82Å\97L\8cø\82É\82È\82éUpdate\83C\83x\83\93\83g
+// *************************************************************************
+procedure TGikoDM.RightTabSelectActionUpdate(Sender: TObject);
+begin
+       TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
+                                                               and (GikoForm.BrowserTab.TabIndex <> GikoForm.BrowserTab.Tabs.Count - 1);
+end;
+// *************************************************************************
+// \88ê\94Ô\89E\82Ì\83^\83u\82ð\91I\91ð\82·\82é
+// *************************************************************************
+procedure TGikoDM.RightmostTabSelectActionExecute(Sender: TObject);
+begin
+       if GikoForm.BrowserTab.Tabs.Count > 0 then begin
+               GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
+               GikoForm.BrowserTab.OnChange(nil);
+       end;
+end;
+// *************************************************************************
+// \91I\91ð\82³\82ê\82Ä\82¢\82é\83X\83\8c\83b\83h\82ð\82¨\8bC\82É\93ü\82è\82É\92Ç\89Á
+// *************************************************************************
+procedure TGikoDM.ThreadFavoriteAddActionExecute(Sender: TObject);
+begin
+       if TObject(GikoForm.ListView.Selected.Data) is TThreadItem then
+               GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
+end;
+// *************************************************************************
+// \83X\83\8c\83b\83h\88ê\97\97\82Å\81A\83X\83\8c\82ª\82P\82Â\88È\8fã\91I\91ð\82³\82ê\82Ä\82¢\82é\97L\8cø\82É\82È\82éUpdate\83C\83x\83\93\83g
+// *************************************************************************
+procedure TGikoDM.ThreadFavoriteAddActionUpdate(Sender: TObject);
+begin
+       TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
+                                                                       and (GikoForm.ListView.SelCount > 0);
+end;
+// *************************************************************************
+// \83\8c\83X\82Ì\93à\97e\82ð\8di\82è\8d\9e\82Þ
+// *************************************************************************
+procedure TGikoDM.SelectResActionExecute(Sender: TObject);
+var
+       Dlg: TListSelectDialog;
+       FilterList : TStringList;
+       idx : Integer;
+begin
+       Dlg := TListSelectDialog.Create(Self);
+       try
+               Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
+               Dlg.SelectComboBox.Text := GikoForm.SelectResWord;
+               Dlg.ShowModal;
+               if Dlg.ModalResult = mrOK then begin
+                       SelectResAction.Checked := True;
+                       if Length( Dlg.SelectComboBox.Text ) = 0 then begin
+                               // \8bó\93ü\97Í\82Å OK \82Í\8di\82è\8d\9e\82Ý\89ð\8f\9c\82Æ\93¯\88Ó\8b`
+                               ResRangeAction.Execute;
+                       end else begin
+                               GikoSys.ResRange := Ord( grrSelect );
+
+                               // \8dÅ\8cã\82É\90Ý\92è\82µ\82½\82à\82Ì\82ð\8ao\82¦\82Ä\82¨\82­
+                               GikoForm.SelectResWord := Dlg.SelectComboBox.Text;
+
+                               // \8c\9f\8dõ\97\9a\97ð\82Ì\8dX\90V
+                               idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
+                               if idx <> -1 then
+                                       GikoSys.Setting.SelectTextList.Delete(idx);
+                               GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
+                               while Dlg.SelectComboBox.Items.Count > 100 do begin
+                                       Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
+                               end;
+
+                               try
+                                       if GikoForm.SelectComboBoxPanel.Visible then
+                                               GikoForm.SelectComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
+                               except
+                               end;
+
+                               // \83t\83B\83\8b\83^\82Ì\90Ý\92è
+                               FilterList := TStringList.Create;
+                               try
+                                       GikoSys.FSelectResFilter.Reverse := True;
+                                       FilterList.Delimiter := ' '; //\8bæ\90Ø\82è\8eq\82ð\94¼\8ap\83X\83y\81[\83X\82É\90Ý\92è
+                                       FilterList.DelimitedText := Dlg.SelectComboBox.Text;
+
+                                       GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
+                               finally
+                                       FilterList.Free;
+                               end;
+                               GikoForm.RepaintAllTabsBrowser();
+                       end;
+               end else begin
+                       // \83L\83\83\83\93\83Z\83\8b
+                       if GikoSys.ResRange <> Ord( grrSelect ) then
+                               ResRangeAction.Execute;
+               end;
+       finally
+               Dlg.Release;
+       end;
+
+end;
+// *************************************************************************
+// \91S\82Ä\82Ì\83\8c\83X\82ð\95\\8e¦\82·\82é
+// *************************************************************************
+procedure TGikoDM.AllResActionExecute(Sender: TObject);
+var
+       FilterList : TStringList;
+begin
+       if(GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil )
+               and (GikoForm.ActiveContent.Browser.Busy) then Exit;
+
+       GikoForm.ResRangeMenuSelect     := Ord( grrAll );
+       AllResAction.Checked            := True;
+
+       if GikoSys.ResRange <> Ord( grrAll ) then begin
+               GikoSys.ResRange := Ord( grrAll );
+
+               // \83t\83B\83\8b\83^\95\8e\9a\97ñ\82ð\8bó\82É\82·\82é
+               FilterList := TStringList.Create;
+               try
+                       GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
+                       GikoSys.FSelectResFilter.Reverse := False;
+               finally
+                       FilterList.Free;
+               end;
+
+               GikoForm.SelectResWord := '';
+
+               GikoForm.RepaintAllTabsBrowser();
+       end;
+end;
+// *************************************************************************
+// \83\8c\83X\82Ì\95\\8e¦\94Í\88Í\82ð\90Ý\92è
+// *************************************************************************
+procedure TGikoDM.ResRangeActionExecute(Sender: TObject);
+begin
+       case GikoForm.ResRangeMenuSelect of
+       Ord( grrAll ):  AllResAction.Execute;
+       Ord( grrKoko ): OnlyKokoResAction.Execute;
+       Ord( grrNew ):  OnlyNewResAction.Execute;
+       100:                    OnlyAHundredResAction.Execute;
+       end;
+
+end;
+// *************************************************************************
+// \82±\82Ì\83X\83\8c\83b\83h\82ð\8aÜ\82Þ\83X\83\8c\83b\83h\88ê\97\97\82ð\95\\8e¦
+// *************************************************************************
+procedure TGikoDM.UpBoardActionExecute(Sender: TObject);
+begin
+       GikoForm.SelectTreeNode( GikoForm.GetActiveContent.ParentBoard, True );
+end;
+// *************************************************************************
+// \8ew\92è\82µ\82½\94Ô\8d\86\82Ì\83\8c\83X\82É\94ò\82Ô
+// *************************************************************************
+procedure TGikoDM.JumpToNumOfResActionExecute(Sender: TObject);
+var
+       str: string;
+       res: integer;
+begin
+       str := '1';
+       if( InputQuery('\8ew\92è\82µ\82½\94Ô\8d\86\82Ì\83\8c\83X\82É\94ò\82Ô', '\94Ô\8d\86\82ð\93ü\97Í\82µ\82Ä\82­\82¾\82³\82¢', str) ) then begin
+               str := ZenToHan(str);
+               res := StrToIntDef(str, -1);
+               if (res > 0) and (res <= GikoForm.GetActiveContent.Count) then begin
+                       GikoForm.BrowserMovement(IntToStr(res), GikoForm.ActiveContent);
+                       SetFocusForBrowserAction.Execute;
+               end else if res > GikoForm.GetActiveContent.Count then begin
+                       GikoForm.BrowserMovement(IntToStr(GikoForm.GetActiveContent.Count), GikoForm.ActiveContent);
+                       SetFocusForBrowserAction.Execute;
+               end;
+       end;
+end;
+// *************************************************************************
+// \83A\83N\83e\83B\83u\82È\83^\83u\82æ\82è\89E\82ð\95Â\82\82é
+// *************************************************************************
+procedure TGikoDM.RightTabCloseActionExecute(Sender: TObject);
+var
+       i: Integer;
+       idx: Integer;
+begin
+       idx := GikoForm.BrowserTab.TabIndex;
+       if idx = -1 then Exit;
+       GikoForm.BrowserTab.Tabs.BeginUpdate;
+       for i := GikoForm.BrowserTab.Tabs.Count - 1 downto idx + 1 do begin
+               TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
+               GikoForm.BrowserTab.Tabs.Delete(i);
+       end;
+       GikoForm.BrowserTab.Tabs.EndUpdate;
+end;
+// *************************************************************************
+// \83^\83u\82Ì\90\94\82ª\82Q\88È\8fã\82Å\97L\8cø\82ÈUpdate\83C\83x\83\93\83g
+// *************************************************************************
+procedure TGikoDM.RightTabCloseActionUpdate(Sender: TObject);
+begin
+       TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
+end;
+// *************************************************************************
+// \83A\83N\83e\83B\83u\82È\83^\83u\82æ\82è\8d\82ð\95Â\82\82é
+// *************************************************************************
+procedure TGikoDM.LeftTabCloseActionExecute(Sender: TObject);
+var
+       i: Integer;
+       idx: Integer;
+begin
+       idx := GikoForm.BrowserTab.TabIndex;
+       if idx = -1 then Exit;
+       GikoForm.BrowserTab.Tabs.BeginUpdate;
+       if idx > 0 then begin
+               for i := idx - 1 downto 0 do begin
+                       TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
+                       GikoForm.BrowserTab.Tabs.Delete(i);
+               end;
+       end;
+       GikoForm.BrowserTab.Tabs.EndUpdate;
+end;
+////////////////////////////////\83X\83\8c\83b\83h\82Ü\82Å\82¨\82µ\82Ü\82¢/////////////////////
 end.