From 71b60aedc5a614a59d7827cb3359acf74d80d550 Mon Sep 17 00:00:00 2001 From: h677 Date: Mon, 17 Jul 2006 13:29:33 +0000 Subject: [PATCH] =?utf8?q?=E3=83=AC=E3=82=B9=E3=82=A8=E3=83=87=E3=82=A3?= =?utf8?q?=E3=82=BF=E3=82=92=E9=96=8B=E3=81=84=E3=81=9F=E3=81=BE=E3=81=BE?= =?utf8?q?=E3=81=AB=E3=81=97=E3=81=A6=E7=B5=82=E4=BA=86=E3=81=99=E3=82=8B?= =?utf8?q?=E3=81=A8AcessViolation=E3=81=8C=E7=99=BA=E7=94=9F=E3=81=99?= =?utf8?q?=E3=82=8B=E5=A0=B4=E5=90=88=E3=81=8C=20=E3=81=82=E3=82=8B?= =?utf8?q?=E4=B8=8D=E5=85=B7=E5=90=88=E3=81=AE=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- Giko.pas | 61 ++++++----------------------------- GikoDataModule.dfm | 7 ++++ GikoDataModule.pas | 93 +++++++++++++++++++++++++++++++++++++++++++++++++---- gikoNavi.res | Bin 4292 -> 4292 bytes 4 files changed, 104 insertions(+), 57 deletions(-) diff --git a/Giko.pas b/Giko.pas index f3ffdcd..6f2d43f 100644 --- a/Giko.pas +++ b/Giko.pas @@ -775,12 +775,6 @@ type procedure OnGestureEnd(Sender: TObject); /// ƒoƒ“ƒh•‚ðÄŒvŽZEÄÝ’è‚·‚é procedure ResetBandInfo( bar : TGikoCoolBar; band : TToolBar ); - //ƒXƒNƒŠ[ƒ“ã‚ÉEditorForm‚ª‚¢‚é‚© - function EditorFormExists(): boolean; - //ƒXƒNƒŠ[ƒ“ã‚É‚¢‚é‚·‚ׂĂÌEditorForm‚©‚ç–¼‘O—š—ð‚ðíœ‚·‚é - procedure AllEditroFormNameTextClearClear(); - //ƒXƒNƒŠ[ƒ“ã‚É‚¢‚é‚·‚ׂĂÌEditorForm‚©‚烁[ƒ‹—š—ð‚ðíœ‚·‚é - procedure AllEditroFormMailTextClearClear(); //ListView‚Å‘I‘ð‚³‚ê‚Ä‚¢‚éƒAƒCƒeƒ€‚ðŽæ“¾‚·‚é procedure SelectListItem(List: TList); /// ƒ^ƒu•Û‘¶ @@ -1487,11 +1481,10 @@ begin SearchDialog := nil; end; end; - { //2chŒ¾Œȩ̂²ÙFree - if GikoSys.Setting.Gengo <> nil then begin - GikoSys.Setting.Gengo.Free; - end; - } + + //ƒXƒNƒŠ[ƒ“ã‚Ì‘S‚ẴtƒH[ƒ€‚©‚çAEditorForm‚ð•Â‚¶‚é + GikoDM.CloseAllEditorAction.Execute; + Application.UnhookMainWindow(Hook); Application.Terminate; end; @@ -1646,6 +1639,12 @@ begin finally FControlThread.Free; end; + // ƒvƒ‰ƒOƒCƒ“‚É‚æ‚Á‚ĒljÁ‚³‚ꂽƒƒjƒ…[‚ðŠJ•ú‚·‚é + for i := GikoForm.PlugInMenu.Count - 1 downto 0 do begin + GikoForm.PlugInMenu.items[i].Free; + end; + GikoForm.PlugInMenu.Clear; + // TBBS ‚Í•ÛŽ‚µ‚Ä‚¢‚é TCategory, TBoard, TThreadItem ‚·‚ׂĂðŠJ•ú‚·‚é // TBoard, TThreadItem ‚̃fƒXƒgƒ‰ƒNƒ^‚̓vƒ‰ƒOƒCƒ“‚É”jŠü‚ð“`‚¦‚é‚Ì‚Å @@ -7525,46 +7524,6 @@ begin Screen.Cursor := Cursor; end; // ************************************************************************* -//! ƒXƒNƒŠ[ƒ“ã‚ÉEditorForm‚ª‚¢‚é‚© -// ************************************************************************* -function TGikoForm.EditorFormExists(): boolean; -var - i : Integer; -begin - Result := false; - //ƒXƒNƒŠ[ƒ“ã‚Ì‘S‚ẴtƒH[ƒ€‚©‚çAEditorForm‚ð’T‚· - for i := 0 to Screen.CustomFormCount - 1 do begin - if TObject(Screen.CustomForms[i]) is TEditorForm then begin - Result := true; - Break; - end; - end; -end; -// ************************************************************************* -//! ƒXƒNƒŠ[ƒ“ã‚É‚¢‚é‚·‚ׂĂÌEditorForm‚©‚ç–¼‘O‚Ì—š—ð‚ðíœ‚·‚é -// ************************************************************************* -procedure TGikoForm.AllEditroFormNameTextClearClear(); -var - i : Integer; -begin - for i := 0 to Screen.CustomFormCount - 1 do begin - if TObject(Screen.CustomForms[i]) is TEditorForm then - TEditorForm(Screen.CustomForms[i]).NameComboBox.Items.Clear; - end; -end; -// ************************************************************************* -//! ƒXƒNƒŠ[ƒ“ã‚É‚¢‚é‚·‚ׂĂÌEditorForm‚©‚烁[ƒ‹—š—ð‚ðíœ‚·‚é -// ************************************************************************* -procedure TGikoForm.AllEditroFormMailTextClearClear(); -var - i : Integer; -begin - for i := 0 to Screen.CustomFormCount - 1 do begin - if TObject(Screen.CustomForms[i]) is TEditorForm then - TEditorForm(Screen.CustomForms[i]).MailComboBox.Items.Clear; - end; -end; -// ************************************************************************* //! ƒLƒƒƒrƒlƒbƒg‚ð•Â‚¶‚é~ƒ{ƒ^ƒ“‚̃NƒŠƒbƒNƒCƒxƒ“ƒg // ************************************************************************* procedure TGikoForm.CabinetCloseSpeedButtonClick(Sender: TObject); diff --git a/GikoDataModule.dfm b/GikoDataModule.dfm index bddd411..a3e7c91 100644 --- a/GikoDataModule.dfm +++ b/GikoDataModule.dfm @@ -1240,6 +1240,13 @@ object GikoDM: TGikoDM Hint = #34920#31034#12375#12390#12356#12427#21517#21069#12434#12463#12522#12483#12503#12508#12540#12489#12395#12467#12500#12540#12377#12427 OnExecute = FavoriteTreeViewItemNameCopyActionExecute end + object CloseAllEditorAction: TAction + Category = #12473#12524#12483#12489 + Caption = #12377#12409#12390#12398#12524#12473#12456#12487#12451#12479#12434#38281#12376#12427 + Hint = #12377#12409#12390#12398#12524#12473#12456#12487#12451#12479#12434#38281#12376#12427 + OnExecute = CloseAllEditorActionExecute + OnUpdate = CloseAllEditorActionUpdate + end end object ToobarImageList: TImageList Left = 44 diff --git a/GikoDataModule.pas b/GikoDataModule.pas index 6691488..d9162b2 100644 --- a/GikoDataModule.pas +++ b/GikoDataModule.pas @@ -220,6 +220,7 @@ type ArchiveItemAction: TAction; LiveItemAction: TAction; FavoriteTreeViewItemNameCopyAction: TAction; + CloseAllEditorAction: TAction; procedure EditNGActionExecute(Sender: TObject); procedure ReloadActionExecute(Sender: TObject); procedure GoFowardActionExecute(Sender: TObject); @@ -407,6 +408,8 @@ type procedure ArchiveItemActionExecute(Sender: TObject); procedure LiveItemActionExecute(Sender: TObject); procedure FavoriteTreeViewItemNameCopyActionExecute(Sender: TObject); + procedure CloseAllEditorActionExecute(Sender: TObject); + procedure CloseAllEditorActionUpdate(Sender: TObject); private { Private éŒ¾ } procedure ClearResFilter; @@ -420,9 +423,12 @@ type function GetSortProperties(List: TObject;var vSortOrder: Boolean): Boolean; procedure RecalcThreadSize(limit : Integer); procedure ClearSelectComboBox; + procedure ClearMailAllEditor(); + procedure ClearNameTextAllEditor(); public { Public éŒ¾ } procedure RepaintStatusBar; + function EditorFormExists(): boolean; published { Published éŒ¾ } //! TAction‚ÅGetActiveContent‚ªnilˆÈŠO‚Å—LŒø‚É‚È‚é @@ -449,11 +455,11 @@ uses GikoBayesian, About, ShellAPI, RoundName, RoundData, Menus, ListViewUtils, ThreadControl, GikoMessage, InputAssist, - DefaultFileManager; + DefaultFileManager, Forms; const MSG_ERROR : string = 'ƒGƒ‰['; - + {$R *.dfm} // ************************************************************************* //! TAction‚ÅGetActiveContent‚ªnilˆÈŠO‚Å—LŒø‚É‚È‚é @@ -1915,7 +1921,7 @@ var Dlg: TNewBoardDialog; Msg: string; begin - if GikoForm.EditorFormExists then begin + if (EditorFormExists) then begin Msg := 'ƒŒƒXƒGƒfƒBƒ^‚ð‘S‚ĕ‚¶‚Ä‚­‚¾‚³‚¢'; MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP); Exit; @@ -2014,7 +2020,7 @@ begin if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then Exit; GikoSys.Setting.NameList.Clear; - GikoForm.AllEditroFormNameTextClearClear; + ClearNameTextAllEditor end; // ************************************************************************* //! ƒŒƒXƒGƒfƒBƒ^‚̃[ƒ‹—š—ð‚ðÁ‹Ž‚·‚é @@ -2028,7 +2034,7 @@ begin if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then Exit; GikoSys.Setting.MailList.Clear; - GikoForm.AllEditroFormMailTextClearClear; + ClearMailAllEditor; end; // ************************************************************************* //! ƒMƒRƒiƒr‚ðI—¹‚·‚é @@ -3826,7 +3832,9 @@ begin GikoForm.ProgressBar.Position := 0; ShowMessage('ŒvŽZI—¹‚µ‚Ü‚µ‚½B'); end; +// ************************************************************************* //! “ü—̓AƒVƒXƒg‚̐ݒèƒtƒH[ƒ€‚ðŒÄ‚яo‚· +// ************************************************************************* procedure TGikoDM.SetInputAssistActionExecute(Sender: TObject); var form : TInputAssistForm; @@ -3839,7 +3847,9 @@ begin form.Release; end; end; -// WebBrowser‚ÌŒŸõƒ_ƒCƒAƒƒO‚ðŒÄ‚яo‚· +// ************************************************************************* +//! WebBrowser‚ÌŒŸõƒ_ƒCƒAƒƒO‚ðŒÄ‚яo‚· +// ************************************************************************* procedure OpenFindDialog(Browser: TWebbrowser); const CGID_WebBrowser: TGUID = '{ED016940-BD5B-11cf-BA4E-00C04FD70816}'; @@ -3866,7 +3876,10 @@ begin Dispose(PtrGUID); end; end; + +// ************************************************************************* //! Œ»Ý•\Ž¦‚µ‚Ä‚¢‚éƒXƒŒƒbƒh‚ÌŒŸõƒ_ƒCƒAƒƒO‚ð•\Ž¦‚·‚é +// ************************************************************************* procedure TGikoDM.OpenFindDialogActionExecute(Sender: TObject); begin if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) then begin @@ -3886,5 +3899,73 @@ begin GikoForm.ClickNode.Text + #13#10; end; +// ************************************************************************* +//! •\Ž¦‚³‚ê‚Ä‚¢‚é‚·‚ׂẴŒƒXƒGƒfƒBƒ^‚ð•Â‚¶‚é +// ************************************************************************* +procedure TGikoDM.CloseAllEditorActionExecute(Sender: TObject); +var + i : Integer; +begin + if ( EditorFormExists ) then begin + //ƒXƒNƒŠ[ƒ“ã‚Ì‘S‚ẴtƒH[ƒ€‚©‚çAEditorForm‚ð•Â‚¶‚é + for i := Screen.CustomFormCount - 1 downto 0 do begin + if TObject(Screen.CustomForms[i]) is TEditorForm then begin + TEditorForm(Screen.CustomForms[i]).Close; + end; + end; + end; +end; +// ************************************************************************* +//! ƒXƒNƒŠ[ƒ“ã‚ɃŒƒXƒGƒfƒBƒ^‚ª‚¢‚½ê‡C—LŒø‚É‚È‚é +// ************************************************************************* +procedure TGikoDM.CloseAllEditorActionUpdate(Sender: TObject); +begin + if (Sender is TAction) then begin + TAction(Sender).Enabled := EditorFormExists; + end; +end; +// ************************************************************************* +//! ƒXƒNƒŠ[ƒ“ã‚ÉEditorForm‚ª‚¢‚é‚© +// ************************************************************************* +function TGikoDM.EditorFormExists(): boolean; +var + i : Integer; +begin + Result := false; + //ƒXƒNƒŠ[ƒ“ã‚Ì‘S‚ẴtƒH[ƒ€‚©‚çAEditorForm‚ð’T‚· + for i := Screen.CustomFormCount - 1 downto 0 do begin + if (Screen.CustomForms[i] is TEditorForm) then begin + Result := true; + Break; + end; + end; +end; + +// ************************************************************************* +//! ƒXƒNƒŠ[ƒ“ã‚É‚¢‚é‚·‚ׂĂÌEditorForm‚©‚ç–¼‘O‚Ì—š—ð‚ðíœ‚·‚é +// ************************************************************************* +procedure TGikoDM.ClearNameTextAllEditor(); +var + i : Integer; +begin + for i := 0 to Screen.CustomFormCount - 1 do begin + if (Screen.CustomForms[i] is TEditorForm) then begin + TEditorForm(Screen.CustomForms[i]).NameComboBox.Items.Clear; + end; + end; +end; +// ************************************************************************* +//! ƒXƒNƒŠ[ƒ“ã‚É‚¢‚é‚·‚ׂĂÌEditorForm‚©‚烁[ƒ‹—š—ð‚ðíœ‚·‚é +// ************************************************************************* +procedure TGikoDM.ClearMailAllEditor(); +var + i : Integer; +begin + for i := 0 to Screen.CustomFormCount - 1 do begin + if TObject(Screen.CustomForms[i]) is TEditorForm then + TEditorForm(Screen.CustomForms[i]).MailComboBox.Items.Clear; + end; +end; + end. diff --git a/gikoNavi.res b/gikoNavi.res index 660ccab1cfc824a70d1f6cb21c15e3588abe3fca..fc257a5c026ae3043ccef41a7c513fe90fae6db8 100644 GIT binary patch delta 28 kcmX@2ctml-8(z-YObiUB42%r3Cx7Mr%V@s&Gv7r<0FgurI{*Lx delta 28 kcmX@2ctml-8(z*?ObiUB42%r3CV%Dq%V@UwGv7r<0FfRFH~;_u -- 2.11.0