From 7977422e347b564b705178cc891b932bef380a10 Mon Sep 17 00:00:00 2001 From: h677 Date: Fri, 18 Nov 2005 15:51:03 +0000 Subject: [PATCH] =?utf8?q?=E3=83=84=E3=83=AA=E3=83=BC=E3=83=9D=E3=83=83?= =?utf8?q?=E3=83=97=E3=82=A2=E3=83=83=E3=83=97=E3=81=BE=E3=81=A7=E7=A7=BB?= =?utf8?q?=E6=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- Giko.pas | 29 ++-- GikoDataModule.dfm | 15 ++ GikoDataModule.pas | 408 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 427 insertions(+), 25 deletions(-) diff --git a/Giko.pas b/Giko.pas index efe4073..fcca352 100644 --- a/Giko.pas +++ b/Giko.pas @@ -994,18 +994,10 @@ type function SaveTabURLs : Boolean; /// ƒ^ƒu“ǂݏo‚µ function LoadTabURLs : Boolean; - /// ƒoƒ“ƒh•‚ðÄŒvŽZEÄÝ’è‚·‚é - procedure ResetBandInfo( bar : TGikoCoolBar; band : TToolBar ); /// ListColumnPopupMenu ƒAƒCƒeƒ€‚̃NƒŠƒbƒNƒCƒxƒ“ƒg procedure ListColumnPopupMenuOnClick( Sender : TObject ); // BrowserRecord‚ɂ‚¢‚Ä‚¢‚éFBrowser‚ðŠO‚· procedure ReleaseBrowser( BRecord: TBrowserRecord); - //! ƒ}ƒEƒXƒWƒFƒXƒ`ƒƒ[ŠJŽn - procedure OnGestureStart(Sender: TObject); - //! ƒ}ƒEƒXƒWƒFƒXƒ`ƒƒ[’† - procedure OnGestureMove(Sender: TObject); - //! ƒ}ƒEƒXƒWƒFƒXƒ`ƒƒ[I—¹ - procedure OnGestureEnd(Sender: TObject); //! i‚荞‚Ý•¶Žš—ñÝ’è procedure SetSelectWord( const text : string ); protected @@ -1035,11 +1027,14 @@ 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 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; + property SelectResWord : string read FSelectResWord write FSelectResWord; + property BrowserSizeWidth: Integer read FBrowserSizeWidth write FBrowserSizeWidth; + property BrowserSizeHeight: Integer read FBrowserSizeHeight write FBrowserSizeHeight; + property SearchDialog: TSearchDialog read FSearchDialog write FSearchDialog; + property ToolBarSettingSender : TToolBarSettingSenderType + read FToolBarSettingSender write FToolBarSettingSender; procedure SetContent(inThread: TBrowserRecord); function GetActiveContent: TThreadItem; function GetActiveList: TObject; @@ -1098,8 +1093,16 @@ type //Žw’肵‚½ƒuƒ‰ƒEƒU‚ðƒXƒNƒ[ƒ‹ procedure BrowserMovement(const AName: string; BrowserRecord: TBrowserRecord); overload; //Application‚ÌMainForm‚ðŽæ“¾‚·‚é - function GetMainForm(): TComponent; + function GetMainForm(): TComponent; procedure SelectTreeNode(Item: TObject; CallEvent: Boolean); + //! ƒ}ƒEƒXƒWƒFƒXƒ`ƒƒ[ŠJŽn + procedure OnGestureStart(Sender: TObject); + //! ƒ}ƒEƒXƒWƒFƒXƒ`ƒƒ[’† + procedure OnGestureMove(Sender: TObject); + //! ƒ}ƒEƒXƒWƒFƒXƒ`ƒƒ[I—¹ + procedure OnGestureEnd(Sender: TObject); + /// ƒoƒ“ƒh•‚ðÄŒvŽZEÄÝ’è‚·‚é + procedure ResetBandInfo( bar : TGikoCoolBar; band : TToolBar ); published property EnabledCloseButton: Boolean read FEnabledCloseButton write SetEnabledCloseButton; //TAction‚ÅGetActiveContent‚ªnilˆÈŠO‚Å—LŒø‚É‚È‚é diff --git a/GikoDataModule.dfm b/GikoDataModule.dfm index f08a245..75626af 100644 --- a/GikoDataModule.dfm +++ b/GikoDataModule.dfm @@ -1,5 +1,6 @@ object GikoDM: TGikoDM OldCreateOrder = False + OnCreate = DataModuleCreate Left = 573 Top = 362 Height = 336 @@ -83,6 +84,7 @@ object GikoDM: TGikoDM Hint = #12525#12464#26908#32034#12480#12452#12450#12525#12464#12434#34920#31034#12377#12427 ImageIndex = 34 ShortCut = 16454 + OnExecute = SearchActionExecute end object GikoNaviWebPageAction: TAction Category = #12504#12523#12503 @@ -315,12 +317,14 @@ object GikoDM: TGikoDM Category = #12484#12540#12523 Caption = #12458#12503#12471#12519#12531'(&O)...' Hint = #12458#12503#12471#12519#12531#12480#12452#12450#12525#12464#12434#34920#31034#12377#12427 + OnExecute = OptionActionExecute end object RoundAction: TAction Category = #12484#12540#12523 Caption = #24033#22238#12434#23455#34892'(&R)...' Hint = #24033#22238#12480#12452#12450#12525#12464#12434#34920#31034#12377#12427 ImageIndex = 0 + OnExecute = RoundActionExecute end object BrowserMaxAction: TAction Category = #12473#12524#12483#12489 @@ -513,18 +517,21 @@ object GikoDM: TGikoDM Category = #12484#12522#12540#12509#12483#12503#12450#12483#12503 Caption = #12473#12524#12483#12489#19968#35239#12480#12454#12531#12525#12540#12489'(&D)' Hint = #12473#12524#12483#12489#19968#35239#12434#12480#12454#12531#12525#12540#12489#12377#12427 + OnExecute = TreeSelectBoradReloadExecute end object TreeSelectThreadReload: TAction Tag = -1 Category = #12484#12522#12540#12509#12483#12503#12450#12483#12503 Caption = #36984#25246#12473#12524#12483#12489#12480#12454#12531#12525#12540#12489'(&E)' Hint = #36984#25246#12373#12428#12383#12473#12524#12483#12489#12434#12480#12454#12531#12525#12540#12489#12377#12427 + OnExecute = TreeSelectThreadReloadExecute end object TreeSelectURLCopy: TAction Tag = -1 Category = #12484#12522#12540#12509#12483#12503#12450#12483#12503 Caption = 'URL'#12434#12467#12500#12540'(&C)' Hint = #36984#25246#12373#12428#12383#26495#12398'URL'#12434#12467#12500#12540#12377#12427 + OnExecute = TreeSelectURLCopyExecute end object SelectReservAction: TAction Category = #26495 @@ -546,6 +553,7 @@ object GikoDM: TGikoDM Category = #12484#12540#12523 Caption = #12461#12540#35373#23450'(&K)...' Hint = #12461#12540#35373#23450#12480#12452#12450#12525#12464#12434#38283#12367 + OnExecute = KeySettingActionExecute end object ArrangeAction: TAction Category = #34920#31034 @@ -567,6 +575,7 @@ object GikoDM: TGikoDM Category = #12484#12522#12540#12509#12483#12503#12450#12483#12503 Caption = #21517#21069#12392'URL'#12434#12467#12500#12540'(&N)' Hint = #36984#25246#12373#12428#12383#26495#12398#21517#21069#12392'URL'#12434#12467#12500#12540#12377#12427 + OnExecute = TreeSelectNameURLCopyExecute end object PaneInitAction: TAction Category = #34920#31034 @@ -629,6 +638,7 @@ object GikoDM: TGikoDM Category = #12484#12522#12540#12509#12483#12503#12450#12483#12503 Caption = #12362#27671#12395#20837#12426#12395#36861#21152'(&F)...' Hint = #12362#27671#12395#20837#12426#12395#36861#21152#12377#12427 + OnExecute = TreeSelectFavoriteAddActionExecute end object FavoriteArrangeAction: TAction Category = #12362#27671#12395#20837#12426 @@ -688,11 +698,13 @@ object GikoDM: TGikoDM Category = #12484#12540#12523 Caption = #12467#12486#12495#12531#35373#23450'(&H)...' Hint = #12467#12486#12495#12531#35373#23450#12480#12452#12450#12525#12464#12434#38283#12367 + OnExecute = KotehanActionExecute end object ToolBarSettingAction: TAction Category = #12484#12540#12523 Caption = #12484#12540#12523#12496#12540#35373#23450'(&T)...' Hint = #12484#12540#12523#12496#12540#35373#23450#12480#12452#12450#12525#12464#12434#38283#12367 + OnExecute = ToolBarSettingActionExecute end object SelectResAction: TAction Category = #12473#12524#12483#12489 @@ -743,6 +755,7 @@ object GikoDM: TGikoDM Category = #12484#12522#12540#12509#12483#12503#12450#12483#12503 Caption = #26495#21517#26908#32034 Hint = #26495#21517#26908#32034 + OnExecute = TreeSelectSearchBoardNameExecute end object FavoriteTreeViewRenameAction: TAction Tag = -1 @@ -860,6 +873,7 @@ object GikoDM: TGikoDM Category = #12484#12522#12540#12509#12483#12503#12450#12483#12503 Caption = #21517#21069#12434#12467#12500#12540'(&Y)' Hint = #36984#25246#12373#12428#12383#26495#12398#21517#21069#12434#12467#12500#12540#12377#12427 + OnExecute = TreeSelectNameCopyExecute end object SetFocusForBrowserAction: TAction Category = #34920#31034 @@ -1025,6 +1039,7 @@ object GikoDM: TGikoDM Caption = #12511#12517#12540#12488 Hint = #12511#12517#12540#12488 ImageIndex = 52 + OnExecute = MuteActionExecute end object SortActiveColumnAction: TAction Category = #26495 diff --git a/GikoDataModule.pas b/GikoDataModule.pas index 782eaa4..dbbabe9 100644 --- a/GikoDataModule.pas +++ b/GikoDataModule.pas @@ -18,7 +18,7 @@ type StdToolBarVisibleAction: TAction; AddressBarVisibleAction: TAction; LinkBarVisibleAction: TAction; - ListToolBarVisibleAction: TAction; + ListToolBarVisibleAction: TAction; SearchAction: TAction; GikoNaviWebPageAction: TAction; MonazillaWebPageAction: TAction; @@ -38,7 +38,7 @@ type CabinetBBSAction: TAction; CabinetHistoryAction: TAction; OnlyNewResAction: TAction; - CabinetFavoriteAction: TAction; + CabinetFavoriteAction: TAction; CabinetVisibleAction: TAction; ListNumberVisibleAction: TAction; UpFolderAction: TAction; @@ -58,7 +58,7 @@ type StopAction: TAction; OptionAction: TAction; RoundAction: TAction; - BrowserMaxAction: TAction; + BrowserMaxAction: TAction; BrowserMinAction: TAction; ScrollTopAction: TAction; ScrollLastAction: TAction; @@ -78,7 +78,7 @@ type SelectItemNameCopyAction: TAction; SelectItemNameURLCopyAction: TAction; SelectListReloadAction: TAction; - SelectThreadReloadAction: TAction; + SelectThreadReloadAction: TAction; BrowserTabCloseAction: TAction; NotSelectTabCloseAction: TAction; AllTabCloseAction: TAction; @@ -98,7 +98,7 @@ type PaneInitAction: TAction; LeftmostTabSelectAction: TAction; LeftTabSelectAction: TAction; - RightTabSelectAction: TAction; + RightTabSelectAction: TAction; RightmostTabSelectAction: TAction; FavoriteAddAction: TAction; BoardFavoriteAddAction: TAction; @@ -118,7 +118,7 @@ type SelectResAction: TAction; AllResAction: TAction; EditNGAction: TAction; - ReloadAction: TAction; + ReloadAction: TAction; GoFowardAction: TAction; GoBackAction: TAction; TreeSelectSearchBoardName: TAction; @@ -138,7 +138,7 @@ type UpBoardAction: TAction; KoreCopy: TAction; TreeSelectNameCopy: TAction; - SetFocusForBrowserAction: TAction; + SetFocusForBrowserAction: TAction; SetFocusForThreadListAction: TAction; SetFocusForCabinetAction: TAction; FileRun1: TFileRun; @@ -158,7 +158,7 @@ type RightTabCloseAction: TAction; LeftTabCloseAction: TAction; SameIDResAnchorAction: TAction; - IndividualAbon1Action: TAction; + IndividualAbon1Action: TAction; IndividualAbon0Action: TAction; AntiIndividualAbonAction: TAction; AntiIndividualAbonDlgAction: TAction; @@ -178,7 +178,7 @@ type procedure GoBackActionExecute(Sender: TObject); procedure MoveToActionExecute(Sender: TObject); procedure FavoriteAddActionExecute(Sender: TObject); - procedure FavoriteArrangeActionExecute(Sender: TObject); + procedure FavoriteArrangeActionExecute(Sender: TObject); procedure FavoriteTreeViewCollapseActionExecute(Sender: TObject); procedure FavoriteTreeViewRenameActionExecute(Sender: TObject); procedure FavoriteTreeViewNewFolderActionExecute(Sender: TObject); @@ -198,7 +198,7 @@ type procedure ScrollTopActionExecute(Sender: TObject); procedure ScrollLastActionExecute(Sender: TObject); procedure ScrollNewActionExecute(Sender: TObject); - procedure ScrollKokoActionExecute(Sender: TObject); + procedure ScrollKokoActionExecute(Sender: TObject); procedure ScrollKokoActionUpdate(Sender: TObject); procedure EditorActionExecute(Sender: TObject); procedure IEActionExecute(Sender: TObject); @@ -218,7 +218,7 @@ type procedure LeftmostTabSelectActionUpdate(Sender: TObject); procedure LeftTabSelectActionExecute(Sender: TObject); procedure RightTabSelectActionExecute(Sender: TObject); - procedure RightTabSelectActionUpdate(Sender: TObject); + procedure RightTabSelectActionUpdate(Sender: TObject); procedure RightmostTabSelectActionExecute(Sender: TObject); procedure ThreadFavoriteAddActionExecute(Sender: TObject); procedure ThreadFavoriteAddActionUpdate(Sender: TObject); @@ -230,6 +230,21 @@ type procedure RightTabCloseActionExecute(Sender: TObject); procedure RightTabCloseActionUpdate(Sender: TObject); procedure LeftTabCloseActionExecute(Sender: TObject); + procedure DataModuleCreate(Sender: TObject); + procedure SearchActionExecute(Sender: TObject); + procedure OptionActionExecute(Sender: TObject); + procedure RoundActionExecute(Sender: TObject); + procedure KeySettingActionExecute(Sender: TObject); + procedure KotehanActionExecute(Sender: TObject); + procedure ToolBarSettingActionExecute(Sender: TObject); + procedure MuteActionExecute(Sender: TObject); + procedure TreeSelectBoradReloadExecute(Sender: TObject); + procedure TreeSelectThreadReloadExecute(Sender: TObject); + procedure TreeSelectURLCopyExecute(Sender: TObject); + procedure TreeSelectNameURLCopyExecute(Sender: TObject); + procedure TreeSelectFavoriteAddActionExecute(Sender: TObject); + procedure TreeSelectSearchBoardNameExecute(Sender: TObject); + procedure TreeSelectNameCopyExecute(Sender: TObject); private { Private éŒ¾ } public @@ -253,7 +268,9 @@ uses Windows, Math, Messages, Dialogs, Clipbrd, Giko, GikoSystem, GikoUtil, BoardGroup, FavoriteArrange, Favorite, Setting, MojuUtils, - Editor, ListSelect; + Editor, ListSelect, Search, Option, Round, + KeySetting, Gesture, Kotehan, ToolBarSetting, + ToolBarUtil; const @@ -1425,5 +1442,372 @@ begin GikoForm.BrowserTab.Tabs.EndUpdate; end; ////////////////////////////////ƒXƒŒƒbƒh‚Ü‚Å‚¨‚µ‚Ü‚¢///////////////////// +procedure TGikoDM.DataModuleCreate(Sender: TObject); +begin + +end; +// ************************************************************************* +// ƒƒOŒŸõƒ_ƒCƒAƒƒO‚ð•\Ž¦‚·‚é +// ************************************************************************* +procedure TGikoDM.SearchActionExecute(Sender: TObject); +var + chk: TObject; +begin + + if GikoForm.SearchDialog = nil then begin + if (GikoForm.GetActiveList is TCategory) or (GikoForm.GetActiveList is TBoard) then + chk := GikoForm.GetActiveList + else + chk := nil; + + GikoForm.SearchDialog := TSearchDialog.Create(Self, chk); + GikoForm.SearchDialog.SearchComboBox.Items.Assign( GikoSys.Setting.SelectTextList ); + end; + + try + GikoForm.SearchDialog.Show; + except + end; +end; +// ************************************************************************* +// ƒIƒvƒVƒ‡ƒ“ƒ_ƒCƒAƒƒO‚ð•\Ž¦‚·‚é +// ************************************************************************* +procedure TGikoDM.OptionActionExecute(Sender: TObject); +var + Dlg: TOptionDialog; +begin + Dlg := TOptionDialog.Create(Self); + try + Dlg.ShowModal; + finally + Dlg.Release; + end; +end; +// ************************************************************************* +// „‰ñƒ_ƒCƒAƒƒO‚ð•\Ž¦‚·‚é +// ************************************************************************* +procedure TGikoDM.RoundActionExecute(Sender: TObject); +var + Dlg: TRoundDialog; +begin + Dlg := TRoundDialog.Create(Self); + try + Dlg.ShowModal; + finally + Dlg.Release; + end; +end; +// ************************************************************************* +// ƒL[Ý’èƒ_ƒCƒAƒƒO‚ðŠJ‚­ +// ************************************************************************* +procedure TGikoDM.KeySettingActionExecute(Sender: TObject); +var + Dlg: TKeySettingForm; +begin + Dlg := TKeySettingForm.Create(Self); + try + if Dlg.ShowModal = mrOk then begin + GikoSys.SaveKeySetting(GikoFormActionList); + GikoSys.SaveEditorKeySetting(Dlg.EditorForm.ActionList); + GikoSys.Setting.Gestures.SaveGesture( GikoSys.Setting.GetGestureFileName ); + end; + + finally + Dlg.Release; + MouseGesture.UnHook; + MouseGesture.OnGestureStart := GikoForm.OnGestureStart; + MouseGesture.OnGestureMove := GikoForm.OnGestureMove; + MouseGesture.OnGestureEnd := GikoForm.OnGestureEnd; + if GikoSys.Setting.GestureEnabled then begin + GikoSys.Setting.Gestures.ClearGesture; + GikoSys.Setting.Gestures.LoadGesture( + GikoSys.Setting.GetGestureFileName, GikoFormActionList ); + MouseGesture.SetHook( GikoForm.Handle ); + end; + end; +end; +// ************************************************************************* +// ƒL[Ý’èƒ_ƒCƒAƒƒO‚ðŠJ‚­ +// ************************************************************************* +procedure TGikoDM.KotehanActionExecute(Sender: TObject); +var + Dlg: TKotehanDialog; +begin + Dlg := TKotehanDialog.Create(Self); + try + Dlg.ShowModal; + finally + Dlg.Release; + end; +end; +// ************************************************************************* +// ƒc[ƒ‹ƒo[Ý’èƒ_ƒCƒAƒƒO‚ðŠJ‚­ +// ************************************************************************* +procedure TGikoDM.ToolBarSettingActionExecute(Sender: TObject); +var + Dlg: TToolBarSettingDialog; + i: Integer; + //Component: TComponent; + ToolButton : TToolButton; +begin + Dlg := TToolBarSettingDialog.Create(GikoForm, GikoFormActionList); + try + Dlg.AddToolBar(GikoForm.StdToolBar, gttStandard); + Dlg.AddToolBar(GikoForm.ListToolBar, gttList); + Dlg.AddToolBar(GikoForm.BrowserToolBar, gttBrowser); + case GikoForm.ToolBarSettingSender of + tssMain: Dlg.ToolBarIndex := 0; + tssList: Dlg.ToolBarIndex := 1; + tssBrowser: Dlg.ToolBarIndex := 2; + end; + if Dlg.ShowModal = mrOK then begin + GikoForm.SetToolBarPopup; + + //Å“K•‚ðÄÝ’è‚·‚邽‚ß‚É“K“–‚ȃvƒƒpƒeƒB‚ð‚¢‚¶‚­‚é + for i := 0 to GikoForm.MainCoolBar.Bands.Count - 1 do begin + GikoForm.MainCoolBar.Bands[i].MinWidth := + GikoForm.MainCoolBar.Bands[i].MinWidth + 1; + GikoForm.MainCoolBar.Bands[i].MinWidth := + GikoForm.MainCoolBar.Bands[i].MinWidth - 1; + end; + for i := 0 to GikoForm.ListCoolBar.Bands.Count - 1 do begin + GikoForm.ListCoolBar.Bands[i].MinWidth := + GikoForm.ListCoolBar.Bands[i].MinWidth + 1; + GikoForm.ListCoolBar.Bands[i].MinWidth := + GikoForm.ListCoolBar.Bands[i].MinWidth - 1; + end; + for i := 0 to GikoForm.BrowserCoolBar.Bands.Count - 1 do begin + GikoForm.BrowserCoolBar.Bands[i].MinWidth := + GikoForm.BrowserCoolBar.Bands[i].MinWidth + 1; + GikoForm.BrowserCoolBar.Bands[i].MinWidth := + GikoForm.BrowserCoolBar.Bands[i].MinWidth - 1; + end; + + SaveToolBarSetting(GikoForm.StdToolBar); + SaveToolBarSetting(GikoForm.ListToolBar); + //ListToolBar‚É‚¢‚é‚©‚à‚µ‚ê‚È‚¢iž‚ÝComboBox‚ð”z’u + GikoForm.SelectComboBoxPanel.Visible := False; + try + for i := GikoForm.ListToolBar.ControlCount - 1 downto 0 do + begin + if GikoForm.ListToolBar.Controls[ i ].Action = SelectItemAction then + begin + GikoForm.SelectComboBoxPanel.Left := + GikoForm.ListToolBar.Controls[ i ].Left; + GikoForm.SelectComboBoxPanel.Width := + GikoSys.Setting.SelectComboBoxWidth; + GikoForm.SelectComboBoxPanel.Parent := + GikoForm.ListToolBar; + GikoForm.SelectComboBoxPanel.Visible := True; + + GikoForm.SelectComboBox.Left := 0; + GikoForm.SelectComboBox.Top := 0; + GikoForm.SelectComboBox.Height := + GikoForm.SelectComboBoxPanel.ClientHeight; + GikoForm.SelectComboBox.Width := + GikoForm.SelectComboBoxPanel.Width - + GikoForm.SelectComboBoxSplitter.Width; + + + //ˆê‚ÂŒ©‚¦‚È‚¢ƒ{ƒ^ƒ“‚ð“Ë‚Áž‚Þ + ToolButton := TToolButton(GikoForm.ListToolBar.FindComponent('SelectComboBoxDummy')); + if ToolButton <> nil then begin + ToolButton.Parent := nil; + end else begin + ToolButton := TToolButton.Create(GikoForm.ListToolBar); + ToolButton.Name := 'SelectComboBoxDummy'; + end; + + ToolButton.Style := tbsSeparator; + ToolButton.Width := 0; + ToolButton.Left := GikoForm.ListToolBar.Controls[ i ].Left; + GikoForm.ListToolBar.InsertControl(ToolButton); + ToolButton.Visible := False; + + // ƒXƒŒƒbƒhiž‚ׂ̗ɃZƒpƒŒ[ƒ^‚ª‚ ‚éê‡‚͉B‚· + if (i + 1) < GikoForm.ListToolBar.ControlCount then + if GikoForm.ListToolBar.Controls[ i + 1 ] is TToolButton then + if TToolButton( GikoForm.ListToolBar.Controls[ i + 1 ] ).Style = tbsSeparator then + GikoForm.ListToolBar.Controls[ i + 1 ].Visible := False; + + + // ƒXƒŒƒbƒhižƒ{ƒ^ƒ“‚ð‰B‚· + GikoForm.ListToolBar.Controls[ i ].Visible := False; + + break; + end; + end; + except + end; + GikoForm.ResetBandInfo( GikoForm.ListCoolBar, GikoForm.ListToolBar ); + SaveToolBarSetting(GikoForm.BrowserToolBar); + end; + finally + Dlg.Release; + GikoForm.ToolBarSettingSender := tssNone; + end; +end; +// ************************************************************************* +// ƒ~ƒ…[ƒg +// ************************************************************************* +procedure TGikoDM.MuteActionExecute(Sender: TObject); +begin + GikoSys.Setting.Mute := not GikoSys.Setting.Mute; +end; +////////////////////////////////ƒc[ƒ‹‚Ü‚Å‚¨‚µ‚Ü‚¢///////////////////// +// ************************************************************************* +// ƒXƒŒƒbƒhˆê——‚ðƒ_ƒEƒ“ƒ[ƒh‚·‚é +// ************************************************************************* +procedure TGikoDM.TreeSelectBoradReloadExecute(Sender: TObject); +var + Board: TBoard; + TmpTreeNode: TTreeNode; +begin + TmpTreeNode := GikoForm.ClickNode; + GikoForm.TreeView.Selected := GikoForm.ClickNode; + Board := nil; + + if TObject(TmpTreeNode.Data) is TBoard then + Board := TBoard(TmpTreeNode.Data) + else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then + Board := TFavoriteBoardItem(TmpTreeNode.Data).Item; + + if Board <> nil then + GikoForm.DownloadList(Board); +end; +// ************************************************************************* +// ‘I‘ð‚³‚ê‚½ƒXƒŒƒbƒh‚ðƒ_ƒEƒ“ƒ[ƒh‚·‚é +// ************************************************************************* +procedure TGikoDM.TreeSelectThreadReloadExecute(Sender: TObject); +var + ThreadItem: TThreadItem; + TmpTreeNode: TTreeNode; +begin + TmpTreeNode := GikoForm.ClickNode; + GikoForm.TreeView.Selected := GikoForm.ClickNode; + ThreadItem := nil; + + if TObject(TmpTreeNode.Data) is TThreadItem then + ThreadItem := TThreadItem(TmpTreeNode.Data) + else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then + ThreadItem := TFavoriteThreadItem(TmpTreeNode.Data).Item; + + if ThreadItem <> nil then + GikoForm.DownloadContent(ThreadItem); +end; +// ************************************************************************* +// ‘I‘ð‚³‚ê‚½”‚ÌURL‚ðƒRƒs[‚·‚é +// ************************************************************************* +procedure TGikoDM.TreeSelectURLCopyExecute(Sender: TObject); +var + TmpTreeNode: TTreeNode; + s: string; +begin + TmpTreeNode := GikoForm.ClickNode; + GikoForm.TreeView.Selected := GikoForm.ClickNode; + if TObject(TmpTreeNode.Data) is TBoard then begin + s := TBoard(TmpTreeNode.Data).URL + #13#10; + end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin + s := TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10; + end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin + s := TThreadItem(TmpTreeNode.Data).URL + #13#10; + end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin + s := TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10; + end; + Clipboard.AsText := s; +end; +// ************************************************************************* +// ‘I‘ð‚³‚ê‚½”‚̖¼‘O‚ÆURL‚ðƒRƒs[‚·‚é +// ************************************************************************* +procedure TGikoDM.TreeSelectNameURLCopyExecute(Sender: TObject); +var + TmpTreeNode: TTreeNode; + s: string; +begin + TmpTreeNode := GikoForm.ClickNode; + GikoForm.TreeView.Selected := GikoForm.ClickNode; + if TObject(TmpTreeNode.Data) is TBoard then begin + s := TBoard(TmpTreeNode.Data).Title + #13#10 + TBoard(TmpTreeNode.Data).URL + #13#10; + end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin + s := TFavoriteBoardItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10; + end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin + s := TThreadItem(TmpTreeNode.Data).Title + #13#10 + TThreadItem(TmpTreeNode.Data).URL + #13#10; + end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin + s := TFavoriteThreadItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10; + end; + Clipboard.AsText := s; +end; +// ************************************************************************* +// ‚¨‹C‚É“ü‚è‚ɒljÁ‚·‚é +// ************************************************************************* +procedure TGikoDM.TreeSelectFavoriteAddActionExecute(Sender: TObject); +begin + GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ClickNode.Data)); +end; +// ************************************************************************* +// ”–¼ŒŸõ +// ************************************************************************* +procedure TGikoDM.TreeSelectSearchBoardNameExecute(Sender: TObject); +var + s : String; + msg : String; + CurItem : TTreeNode; + next : boolean; +begin + if InputQuery('”–¼ŒŸõ','”–¼‚Ì“ü—Í',s) then begin + next := true; + while next do begin + if GikoForm.TreeView.Selected = nil then + CurItem := GikoForm.TreeView.Items.GetFirstNode + else begin + CurItem := GikoForm.TreeView.Selected.GetNext; + if CurItem = nil then + CurItem := GikoForm.TreeView.Items.GetFirstNode; + end; + while CurItem <> nil do begin + if (CurItem.ImageIndex <> 2) and (VaguePos(s,CurItem.Text) <> 0) then begin + break; + end; + CurItem := CurItem.GetNext; + end; + try + if CurItem = nil then begin + msg := 'æ“ª‚É–ß‚è‚Ü‚·‚©H'; + if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin + CurItem := GikoForm.TreeView.Items.GetFirstNode; + end else begin + Exit; + end; + GikoForm.TreeView.Select(CurItem); + GikoForm.TreeView.SetFocus; + end else begin + GikoForm.TreeView.Select(CurItem); + GikoForm.TreeView.SetFocus; + msg := 'ŽŸ‚ɍs‚«‚Ü‚·‚©H'; + if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin + next := true; + end else begin + next := false; + end; + end; + + except + Exit; + end; + end; + end; +end; +// ************************************************************************* +// ‘I‘ð‚³‚ê‚½”‚̖¼‘O‚ðƒRƒs[‚·‚é +// ************************************************************************* +procedure TGikoDM.TreeSelectNameCopyExecute(Sender: TObject); +var + s: string; +begin + GikoForm.TreeView.Selected := GikoForm.ClickNode; + s := GikoForm.ClickNode.Text; + Clipboard.AsText := s; +end; +////////////////////////////////ƒcƒŠ[ƒ|ƒbƒvƒAƒbƒv‚Ü‚Å‚¨‚µ‚Ü‚¢///////////////////// end. -- 2.11.0