X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=Giko.pas;h=c57e798d7c635a00ffd831190cd64cc260ce3988;hb=refs%2Fheads%2FBb62;hp=2b5ac3e2d05c4d316ed4fa9ab2360e317488f7f9;hpb=c8d738e3caf18f861cc7b756118b96f955a42e9e;p=gikonavigoeson%2Fgikonavi.git diff --git a/Giko.pas b/Giko.pas index 2b5ac3e..c57e798 100644 --- a/Giko.pas +++ b/Giko.pas @@ -425,6 +425,7 @@ type URL2: TMenuItem; URLPATHINFO1: TMenuItem; URLQUERYSTRING1: TMenuItem; + N86: TMenuItem; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure SaveSettingAll(); @@ -692,7 +693,7 @@ type //! ‚à‚Á‚Æ‚àŒÃ‚¢Browser‚ÌŠJ•ú procedure ReleaseOldestBrowser; //! ƒAƒNƒeƒBƒu‚ȃ^ƒu‚Æ“¯‚¶”‚̊J‚¢‚Ä‚¢‚éƒXƒŒƒbƒh‚ðƒƒjƒ…[ƒAƒCƒeƒ€‚ɒljÁ - procedure AddMenuSameBoardThread; + procedure AddMenuSameBoardThread(MenuItem: TMenuItem); //! ƒAƒNƒeƒBƒu‚ȃ^ƒu‚Æ“¯‚¶”‚̊J‚¢‚Ä‚¢‚éƒXƒŒƒbƒhƒNƒŠƒbƒNƒCƒxƒ“ƒg procedure SameBoardThreadSubItemOnClick(Sender: TObject); //! ƒ|ƒbƒvƒAƒbƒvƒuƒ‰ƒEƒUì¬ @@ -705,6 +706,8 @@ type procedure UpdateListView(); //! ƒAƒCƒRƒ““ǂݍž‚Ý procedure LoadIcon(); + //! ƒ|ƒbƒvƒAƒbƒvƒƒjƒ…[“ǂݍž‚Ý + procedure LoadPopupMenu(); protected procedure CreateParams(var Params: TCreateParams); override; procedure WndProc(var Message: TMessage); override; @@ -717,7 +720,7 @@ type BrowserNullTab: TBrowserRecord; FControlThread: TThreadControl; FIconData : TNotifyIconData; - procedure MoveToURL(const inURL: string); + procedure MoveToURL(const inURL: string; KeyMask: Boolean = False); function InsertBrowserTab(ThreadItem: TThreadItem; ActiveTab: Boolean = True) : TBrowserRecord; procedure ReloadBBS; function GetHttpState: Boolean; @@ -877,7 +880,7 @@ uses About, Option, Round, Splash, Sort, ListSelect, Imm, NewBoard, MojuUtils, Clipbrd, GikoBayesian,Y_TextConverter, HTMLCreate, ListViewUtils, GikoDataModule, GikoMessage, - InputAssistDataModule, Types, ReplaceDataModule; + InputAssistDataModule, Types, ReplaceDataModule, PopupMenuUtil; const BLANK_HTML: string = 'about:blank'; @@ -1313,9 +1316,10 @@ begin GikoDM.RepaintStatusBar; StatusBarResize(Sender); - dummy1.Caption := ItemReservPMenu.Caption; - dummy1.Hint := ItemReservPMenu.Hint; - +// dummy1.Caption := ItemReservPMenu.Caption; +// dummy1.Hint := ItemReservPMenu.Hint; + // ƒuƒ‰ƒEƒUƒ|ƒbƒvƒAƒbƒvƒƒjƒ…[‚̏‰Šú‰» + PopupMenuUtil.ReadSetting(GikoDM.GikoFormActionList, BrowserTabPopupMenu); // ƒ}ƒEƒXƒWƒFƒXƒ`ƒƒ[ MouseGesture := TMouseGesture.Create; @@ -1331,7 +1335,8 @@ begin if GikoSys.Setting.AutoLogin then GikoDM.LoginAction.Execute; - GikoSys.Setting.BeLogin := GikoSys.Setting.BeAutoLogin; + if GikoSys.Setting.BeAutoLogin then + GikoDM.BeLogInOutAction.Execute; //ƒLƒƒƒvƒVƒ‡ƒ“‚ªã‘‚«‚³‚ê‚Ä‚µ‚Ü‚¤‚̂ŁA‚±‚±‚ōĐݒè FavoriteAddToolButton.Caption := '’ljÁ...'; @@ -1349,10 +1354,16 @@ begin // D&D‚ðŽó‚¯Žæ‚é DragAcceptFiles(ListView.Handle, True); + // ‰Šú‰»‚ÉŽ¸”s‚µ‚½ƒ‚ƒWƒ…[ƒ‹ƒ`ƒFƒbƒN if (FavoriteDM.AbEnd) then begin - GikoUtil.MsgBox(Self.Handle, '‚¨‹C‚É“ü‚è‚̏‰Šú‰»‚ÉŽ¸”s‚µ‚Ü‚µ‚½BƒMƒRƒiƒr‚ðI—¹‚µ‚Ü‚·B', + GikoUtil.MsgBox(Self.Handle, + '‚¨‹C‚É“ü‚è‚̏‰Šú‰»‚ÉŽ¸”s‚µ‚Ü‚µ‚½BƒMƒRƒiƒr‚ðI—¹‚µ‚Ü‚·B'#13#10 + + 'ƒMƒRƒiƒrƒtƒHƒ‹ƒ_‚ðŠJ‚«‚Ü‚·Aconfig/' + Favorite.FAVORITE_FILE_NAME + + ' ‚ð config/~' + Favorite.FAVORITE_FILE_NAME + '(‘O‰ñ‹N“®Žž‚Ì‚¨‹C‚É“ü‚è)‚Å'#13#10 + + '’u‚«Š·‚¦‚鎖‚Å’¼‚é‰Â”\«‚ª‚ ‚è‚Ü‚·B', '‰Šú‰»ˆÙí'); + GikoDM.GikoFolderOpenAction.Execute; Self.Close; end; @@ -1624,7 +1635,8 @@ begin GikoSys.Setting.WriteWindowSettingFile; // –¼‘O‚ƃ[ƒ‹‚Ì•Û‘¶‚Ȃ̂ŃGƒfƒBƒ^‚ª•Â‚¶‚½Œã‚È‚ç‚¢‚Â‚Å‚à‚¢‚¢ GikoSys.Setting.WriteNameMailSettingFile; - + // –`Œ¯‚̏‘‚Ì•Û‘¶ + GikoSys.Setting.WriteBoukenSettingFile; //“ü—̓AƒVƒXƒg‹@\‚̐ݒè‚Ì•Û‘¶ InputAssistDM.SaveToFile(GikoSys.GetInputAssistFileName); @@ -3859,6 +3871,7 @@ begin TreeSelectFavoriteAddPupupMenu.Visible := False; TreeSelectLogDeleteSeparator.Visible := False; TreeSelectLogDeletePopupMenu.Visible := False; + SearchBoardName.Visible := False; end else if TObject(FClickNode.Data) is TBoard then begin TreeSelectThreadPupupMenu.Visible := False; TreeSelectBoardPupupMenu.Visible := True; @@ -3869,6 +3882,7 @@ begin TreeSelectFavoriteAddPupupMenu.Visible := True; TreeSelectLogDeleteSeparator.Visible := False; TreeSelectLogDeletePopupMenu.Visible := False; + SearchBoardName.Visible := True; end else if TObject(FClickNode.Data) is TFavoriteBoardItem then begin TreeSelectThreadPupupMenu.Visible := False; TreeSelectBoardPupupMenu.Visible := True; @@ -3879,6 +3893,7 @@ begin TreeSelectFavoriteAddPupupMenu.Visible := True; TreeSelectLogDeleteSeparator.Visible := False; TreeSelectLogDeletePopupMenu.Visible := False; + SearchBoardName.Visible := False; end else if (TObject(FClickNode.Data) is TThreadItem) then begin TreeSelectThreadPupupMenu.Visible := True; TreeSelectBoardPupupMenu.Visible := False; @@ -3889,6 +3904,7 @@ begin TreeSelectFavoriteAddPupupMenu.Visible := True; TreeSelectLogDeleteSeparator.Visible := True; TreeSelectLogDeletePopupMenu.Visible := True; + SearchBoardName.Visible := False; end else if (TObject(FClickNode.Data) is TFavoriteThreadItem) then begin TreeSelectThreadPupupMenu.Visible := True; TreeSelectBoardPupupMenu.Visible := False; @@ -3899,6 +3915,7 @@ begin TreeSelectFavoriteAddPupupMenu.Visible := True; TreeSelectLogDeleteSeparator.Visible := True; TreeSelectLogDeletePopupMenu.Visible := True; + SearchBoardName.Visible := False; end else if (TObject(FClickNode.Data) is TCategory) then begin TreeSelectThreadPupupMenu.Visible := False; TreeSelectBoardPupupMenu.Visible := False; @@ -3909,6 +3926,7 @@ begin TreeSelectFavoriteAddPupupMenu.Visible := False; TreeSelectLogDeleteSeparator.Visible := False; TreeSelectLogDeletePopupMenu.Visible := False; + SearchBoardName.Visible := True; end else if FClickNode.IsFirstNode then begin TreeSelectThreadPupupMenu.Visible := False; TreeSelectBoardPupupMenu.Visible := False; @@ -3919,6 +3937,7 @@ begin TreeSelectFavoriteAddPupupMenu.Visible := False; TreeSelectLogDeleteSeparator.Visible := False; TreeSelectLogDeletePopupMenu.Visible := False; + SearchBoardName.Visible := True; end else begin TreeSelectThreadPupupMenu.Visible := False; TreeSelectBoardPupupMenu.Visible := False; @@ -3929,6 +3948,7 @@ begin TreeSelectFavoriteAddPupupMenu.Visible := False; TreeSelectLogDeleteSeparator.Visible := False; TreeSelectLogDeletePopupMenu.Visible := False; + SearchBoardName.Visible := False; end; end; @@ -4384,7 +4404,7 @@ procedure TGikoForm.SetSelectItemRound(RoundFlag: Boolean; RoundName: string; Pa var threadItem : TThreadItem; begin - if ParentName <> 'dummy1' then begin + if ParentName <> 'RoundItem' then begin SetSelectItemRound(RoundFlag, RoundName); end else begin threadItem := GetActiveContent; @@ -4701,7 +4721,7 @@ begin end; end; -procedure TGikoForm.MoveToURL(const inURL: string); +procedure TGikoForm.MoveToURL(const inURL: string; KeyMask: Boolean = False); var protocol, host, path, document, port, bookmark : string; URL, protocol2, host2, path2, document2, port2, bookmark2 : string; @@ -4718,17 +4738,18 @@ begin GikoSys.ParseURI( inURL, protocol, host, path, document, port, bookmark ); GikoSys.Parse2chURL( inURL, path, document, BBSID, BBSKey ); - - - shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001); - ctrlDown := GetAsyncKeyState(VK_CONTROL) = Smallint($8001); - if shiftDown then begin - GikoSys.OpenBrowser(inURL, gbtUserApp); - Exit; - end else if ctrlDown then begin - GikoSys.OpenBrowser(inURL, gbtIE); - Exit; - end; + // ƒAƒNƒVƒ‡ƒ“‚©‚çŒÄ‚΂ê‚é‚Æshift/ctrl‚Í‚¨‚µ‚Á‚ς̏ꍇ‚ª‚Ù‚Æ‚ñ‚ǂȂ̂Ń}ƒXƒN‚·‚é + if not KeyMask then begin + shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001); + ctrlDown := GetAsyncKeyState(VK_CONTROL) = Smallint($8001); + if shiftDown then begin + GikoSys.OpenBrowser(inURL, gbtUserApp); + Exit; + end else if ctrlDown then begin + GikoSys.OpenBrowser(inURL, gbtIE); + Exit; + end; + end; //===== ƒvƒ‰ƒOƒCƒ“ try @@ -6489,17 +6510,24 @@ end; procedure TGikoForm.BrowserTabPopupMenuPopup(Sender: TObject); +var + i:Integer; begin - AddRoundNameMenu(dummy1); - AddMenuSameBoardThread; + for i := 0 to BrowserTabPopupMenu.Items.Count - 1 do begin + if (BrowserTabPopupMenu.Items[i].Name='RoundItem') then begin + AddRoundNameMenu(BrowserTabPopupMenu.Items[i]); + end else if (BrowserTabPopupMenu.Items[i].Name='BoardThreadItem') then begin + AddMenuSameBoardThread(BrowserTabPopupMenu.Items[i]) + end; + end; end; //! ƒAƒNƒeƒBƒu‚ȃ^ƒu‚Æ“¯‚¶”‚̊J‚¢‚Ä‚¢‚éƒXƒŒƒbƒh‚ðƒƒjƒ…[ƒAƒCƒeƒ€‚ɒljÁ -procedure TGikoForm.AddMenuSameBoardThread; +procedure TGikoForm.AddMenuSameBoardThread(MenuItem: TMenuItem); var i: Integer; Item: TMenuItem; begin - SameBoardThreadItem.Clear; + MenuItem.Clear; for i := 0 to BrowserTab.Tabs.Count - 1 do begin // “¯‚¶”‚©‚Ç‚¤‚© if (FActiveContent.Thread.ParentBoard = @@ -6509,23 +6537,23 @@ begin TBrowserRecord(BrowserTab.Tabs.Objects[i]).Thread then begin Item := TMenuItem.Create(Self); Item.Caption := TBrowserRecord(BrowserTab.Tabs.Objects[i]).Thread.Title; + Item.Hint := TBrowserRecord(BrowserTab.Tabs.Objects[i]).Thread.URL; Item.OnClick := SameBoardThreadSubItemOnClick; - SameBoardThreadItem.Add(Item); + MenuItem.Add(Item); end; end; end; // ‰½‚à–³‚¢‚È‚çŽg—p‚Å‚«‚È‚¢‚悤‚É‚·‚é - SameBoardThreadItem.Enabled := SameBoardThreadItem.Count > 0; + MenuItem.Enabled := MenuItem.Count > 0; end; //! ƒAƒNƒeƒBƒu‚ȃ^ƒu‚Æ“¯‚¶”‚̊J‚¢‚Ä‚¢‚éƒXƒŒƒbƒhƒNƒŠƒbƒNƒCƒxƒ“ƒg procedure TGikoForm.SameBoardThreadSubItemOnClick(Sender: TObject); var - i, j: Integer; + i: Integer; MenuItem: TMenuItem; begin if Sender is TMenuItem then begin try - j := 0; MenuItem := TMenuItem(Sender); for i := 0 to BrowserTab.Tabs.Count - 1 do begin // “¯‚¶”‚©‚Ç‚¤‚© @@ -6533,12 +6561,11 @@ begin TBrowserRecord(BrowserTab.Tabs.Objects[i]).Thread.ParentBoard) then begin if FActiveContent.Thread <> TBrowserRecord(BrowserTab.Tabs.Objects[i]).Thread then begin - if (SameBoardThreadItem.Items[j] = MenuItem) then begin - MoveToURL( TBrowserRecord(BrowserTab.Tabs.Objects[i]) - .Thread.URL); + if (MenuItem.Hint = TBrowserRecord(BrowserTab.Tabs.Objects[i]) + .Thread.URL) then begin + MoveToURL( MenuItem.Hint); Exit; end; - Inc(j); end; end; end; @@ -8069,6 +8096,12 @@ begin GikoSys.Setting.GetAppDir + ICONTOOL, clPurple); end; end; +//! ƒ|ƒbƒvƒAƒbƒvƒƒjƒ…[“ǂݍž‚Ý +procedure TGikoForm.LoadPopupMenu(); +begin + + +end; initialization OleInitialize(nil);