• R/O
  • HTTP
  • SSH
  • HTTPS

コミット

タグ
未設定

よく使われているワード(クリックで追加)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

ギコナビ


コミットメタ情報

リビジョン14eb15e5f0007500f7121006c9942ab634126878 (tree)
日時2006-08-06 23:37:45
作者cvs2git <cvs2git>
コミッターcvs2git

ログメッセージ

This commit was manufactured by cvs2svn to create tag 'v1_54_0_674'.

変更サマリ

差分

--- a/AbonUnit.pas
+++ b/AbonUnit.pas
@@ -883,8 +883,11 @@ begin
883883 Dec(ps);
884884
885885 //ƒVƒŠƒAŒêƒuƒ‰ƒNƒ‰‚Ì‚Å‚È‚¢
886- if (icode <1792) or (icode > 1871) then
887- Result := Result + Copy(AString, 1, ps - PChar(AString) + 1);
886+ if ( icode < 1758) or
887+ ((icode > 1871) and (icode < 1958)) or
888+ (icode > 1968) then begin
889+ Result := Result + Copy(AString, 1, ps - PChar(AString) + 1);
890+ end;
888891
889892 Delete(AString, 1, ps - PChar(AString) + 1);
890893 end else begin
--- a/Giko.dfm
+++ b/Giko.dfm
@@ -159,7 +159,7 @@ object GikoForm: TGikoForm
159159 object ToolBar1: TToolBar
160160 Left = 2
161161 Top = 4
162- Width = 15
162+ Width = 16
163163 Height = 18
164164 Align = alNone
165165 AutoSize = True
@@ -971,7 +971,7 @@ object GikoForm: TGikoForm
971971 OnResize = AddressToolBarResize
972972 object AddressComboBox: TComboBox
973973 Left = 0
974- Top = 0
974+ Top = 1
975975 Width = 177
976976 Height = 20
977977 DropDownCount = 20
@@ -4520,6 +4520,12 @@ object GikoForm: TGikoForm
45204520 object N61: TMenuItem
45214521 Caption = '-'
45224522 end
4523+ object N77: TMenuItem
4524+ Action = GikoDM.StoredTaskTrayAction
4525+ end
4526+ object N78: TMenuItem
4527+ Caption = '-'
4528+ end
45234529 object ExitMenu: TMenuItem
45244530 Action = GikoDM.ExitAction
45254531 end
--- a/Giko.pas
+++ b/Giko.pas
@@ -18,7 +18,8 @@ uses
1818 Editor, RoundData, GikoPanel, Favorite, HTMLDocumentEvent,
1919 HintWindow, GikoCoolBar, GikoListView, Search, ExternalBoardManager,
2020 ExternalBoardPlugInMain, StdActns, Variants, ExtActns,IdTCPConnection,
21- IdBaseComponent, IdTCPClient, AppEvnts, BrowserRecord;
21+ IdBaseComponent, IdTCPClient, AppEvnts, BrowserRecord, MoveHistoryItem,
22+ ShellAPI;
2223
2324 const
2425 NGWORDNAME_PANEL = 3;
@@ -409,6 +410,8 @@ type
409410 DAT3: TMenuItem;
410411 N76: TMenuItem;
411412 FavoriteTreeItemNameCopyPopupMenu: TMenuItem;
413+ N77: TMenuItem;
414+ N78: TMenuItem;
412415 procedure FormCreate(Sender: TObject);
413416 procedure FormDestroy(Sender: TObject);
414417 procedure BrowserStatusTextChange(Sender: TObject;
@@ -594,6 +597,7 @@ type
594597 FOrigenCaption: String; //‚¨‹C‚É“ü‚èƒcƒŠ[‚̃AƒCƒeƒ€•ÒWŽž‚̕ҏW‘O‚Ì•¶Žš—ñ
595598 FPreviewBrowserRect: TRect; ///< ƒvƒŒƒrƒ…[‚Ì•\Ž¦ˆÊ’u‚ð‹L‰¯‚·‚é
596599 FActionListGroupIndexes: array of Integer; ///<GikoDMã‚̃AƒNƒVƒ‡ƒ“ƒŠƒXƒg‚ÌŠeƒAƒNƒVƒ‡ƒ“‚ɐݒ肳‚ꂽGroupIndex‚ð•Û‘¶‚·‚é”z—ñ
600+
597601 procedure DownloadEnd(Sender: TObject; Item: TDownloadItem);
598602 procedure DownloadMsg(Sender: TObject; Item: TDownloadItem; Msg: string; Icon: TGikoMessageIcon);
599603 procedure WorkBegin(Sender: TObject; AWorkMode: TWorkMode; const AWorkCountMax: Integer; Number: Integer; const AWorkTitle: string);
@@ -665,6 +669,8 @@ type
665669 procedure RefreshListView(Thread: TThreadItem);
666670 //! ƒXƒŒƒbƒhˆê——‚Ì•\Ž¦”͈͐ݒèƒ`ƒFƒbƒNƒNƒŠƒA
667671 procedure ClearThreadRengeAction;
672+ //! ƒ^ƒXƒNƒgƒŒƒC‚̃AƒCƒRƒ“íœ•ƒtƒH[ƒ€•\Ž¦
673+ procedure UnStoredTaskTray;
668674 protected
669675 procedure CreateParams(var Params: TCreateParams); override;
670676 procedure WndProc(var Message: TMessage); override;
@@ -677,6 +683,7 @@ type
677683 LastRoundTime: TDateTime;
678684 BrowserNullTab: TBrowserRecord;
679685 FControlThread: TThreadControl;
686+ FIconData : TNotifyIconData;
680687 procedure MoveToURL(const inURL: string);
681688 function InsertBrowserTab(ThreadItem: TThreadItem; ActiveTab: Boolean = True) : TBrowserRecord;
682689 procedure ReloadBBS;
@@ -788,6 +795,11 @@ type
788795 //! ƒc[ƒ‹ƒo[‚ɃXƒŒiž‚݃Rƒ“ƒ{ƒ{ƒbƒNƒX‚ðÝ’è‚·‚é
789796 procedure SetSelectComboBox();
790797
798+ //! ƒ^ƒXƒNƒgƒŒƒC‚ÉŠi”[‚µ‚½ƒAƒCƒRƒ“‚ðƒNƒŠƒbƒN‚µ‚½‚Æ‚«‚̏ˆ—
799+ procedure TaskTrayIconMessage(var Msg : TMsg); message WM_USER + 2010;
800+ //! ƒ^ƒXƒNƒgƒŒƒC‚ɃAƒCƒRƒ““o˜^•ƒtƒH[ƒ€‰B‚µ
801+ procedure StoredTaskTray;
802+
791803 published
792804 property EnabledCloseButton: Boolean read FEnabledCloseButton write SetEnabledCloseButton;
793805 end;
@@ -820,7 +832,7 @@ implementation
820832
821833 uses
822834 GikoUtil, IndividualAbon, Math, Kotehan, KeySetting,
823- YofUtils, ShellAPI, ToolBarUtil, ToolBarSetting,
835+ YofUtils, ToolBarUtil, ToolBarSetting,
824836 GikoXMLDoc, RoundName, IniFiles, FavoriteAdd,
825837 FavoriteArrange, AddressHistory, Preview, Gesture,
826838 About, Option, Round, Splash, Sort, ListSelect, Imm,
@@ -843,6 +855,7 @@ const
843855 USER_MINIMIZED = WM_USER + 2002;
844856 USER_SETLINKBAR = WM_USER + 2003;
845857 USER_DOCUMENTCOMPLETE = WM_USER + 2004; ///< wParam : TWebBrowser
858+ USER_TASKTRAY = WM_USER + 2010;
846859 {$R *.DFM}
847860
848861 procedure TGikoForm.CreateParams(var Params: TCreateParams);
@@ -889,7 +902,8 @@ begin
889902 GetGroupIndex(GikoDM.GikoFormActionList);
890903 FSearchDialog := nil;
891904 CreateBrowsers(BROWSER_COUNT);
892-
905+ FIconData.uID := 0;
906+
893907 //ƒƒjƒ…[ƒtƒHƒ“ƒg
894908 SetMenuFont;
895909
@@ -1287,6 +1301,7 @@ begin
12871301
12881302 //“ü—̓AƒVƒXƒg‹@\‚̏‰Šú‰»
12891303 InputAssistDM.Init(GikoSys.GetInputAssistFileName);
1304+
12901305 end;
12911306
12921307 // CoolBar ‚̐ݒè‚ð•Ï”‚É•Û‘¶
@@ -3884,15 +3899,17 @@ var
38843899 wkIntTo: Integer;
38853900 BNum, BRes: string;
38863901 threadItem: TThreadItem;
3902+ aElement : IHTMLElement;
38873903 begin
3888-
38893904 Cancel := True;
3890- if (IHTMLDocument2(TWebBrowser(Sender).Document).activeElement <> nil) then begin
3891- Text := IHTMLDocument2(TWebBrowser(Sender).Document).activeElement.Get_outerText;
3892- Html := IHTMLDocument2(TWebBrowser(Sender).Document).activeElement.Get_outerHTML;
3905+ aElement := IHTMLDocument2(TWebBrowser(Sender).Document).activeElement;
3906+ if ( aElement <> nil) then begin
3907+ Text := aElement.Get_outerText;
3908+ Html := aElement.Get_outerHTML;
38933909 if(AnsiPos('>>', Text) = 1) or (AnsiPos('>', Text) = 1)
38943910 or (AnsiPos('„„', Text) = 1) or (AnsiPos('„', Text) = 1) then begin
38953911 if GikoSys.Setting.ResAnchorJamp then begin
3912+
38963913 Text := ZenToHan(Trim(Text));
38973914
38983915 if(AnsiPos('>>', Text) = 1) then begin
@@ -3915,6 +3932,7 @@ begin
39153932
39163933 if wkIntSt <> 0 then begin
39173934 FActiveContent.IDAnchorPopup('');
3935+ MoveHisotryManager.pushItem(FActiveContent);
39183936 BrowserMovement(IntToStr(wkIntSt));
39193937 end;
39203938
@@ -3948,6 +3966,7 @@ begin
39483966 AddressComboBox.Items.Insert(0, URL);
39493967 end;
39503968 end;
3969+ MoveHisotryManager.pushItem(FActiveContent);
39513970 MoveToURL( URL );
39523971 end;
39533972 end;
@@ -4830,7 +4849,13 @@ begin
48304849 USER_RESIZED:
48314850 OnResized;
48324851 USER_MINIMIZED:
4833- OnMinimized;
4852+ begin
4853+ if (GikoSys.Setting.StoredTaskTray) then begin
4854+ // ƒ^ƒXƒNƒgƒŒƒC‚ɃAƒCƒRƒ“‚ð’ljÁ‚·‚é
4855+ StoredTaskTray;
4856+ end;
4857+ OnMinimized;
4858+ end;
48344859 USER_SETLINKBAR:
48354860 SetLinkBar;
48364861 USER_DOCUMENTCOMPLETE:
@@ -7696,6 +7721,52 @@ begin
76967721 end;
76977722 end;
76987723
7724+procedure TGikoForm.TaskTrayIconMessage(var Msg: TMsg);
7725+begin
7726+ // ¶ƒNƒŠƒbƒN‚È‚ç•œŒ³‚·‚é
7727+ if (Msg.wParam = WM_LBUTTONUP) then begin
7728+ UnStoredTaskTray;
7729+ end;
7730+end;
7731+//! ƒ^ƒXƒNƒgƒŒƒC‚ɃAƒCƒRƒ““o˜^•ƒtƒH[ƒ€‰B‚µ
7732+procedure TGikoForm.StoredTaskTray;
7733+begin
7734+ try
7735+ if (FIconData.uID = 0) then begin
7736+ FIconData.cbSize := SizeOf(TNotifyIconData);
7737+ FIconData.uID := Self.Handle;
7738+ FIconData.Wnd := Handle;
7739+ FIconData.uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP;
7740+ FIconData.uCallbackMessage := USER_TASKTRAY;
7741+ FIconData.hIcon := Application.Icon.Handle; {ƒAƒCƒRƒ“Žw’è}
7742+ FIconData.szTip := 'ƒMƒRƒiƒr'; {ƒqƒ“ƒg•¶Žš—ñ}
7743+ Shell_NotifyIcon(NIM_ADD, @FIconData);
7744+ ShowWindow(Self.Handle, SW_HIDE);
7745+ end;
7746+ except
7747+ end;
7748+end;
7749+//! ƒ^ƒXƒNƒgƒŒƒC‚̃AƒCƒRƒ“íœ•ƒtƒH[ƒ€•\Ž¦
7750+procedure TGikoForm.UnStoredTaskTray;
7751+begin
7752+ try
7753+ try
7754+ Shell_NotifyIcon(NIM_DELETE, @FIconData);
7755+ SetForegroundWindow(Application.Handle);
7756+ except
7757+ end;
7758+ finally
7759+ FIconData.uID := 0;
7760+ // Action‚©‚çŠi”[‚µ‚½‚Æ‚«‚ÍTag‚Ì’l‚Í0ˆÈŠO
7761+ if (GikoDM.StoredTaskTrayAction.Tag = 0) then begin
7762+ ShowWindow(Self.Handle, SW_RESTORE);
7763+ end else begin
7764+ ShowWindow(Self.Handle, SW_SHOW);
7765+ end;
7766+ GikoDM.StoredTaskTrayAction.Tag := 0;
7767+ end;
7768+end;
7769+
76997770 initialization
77007771 OleInitialize(nil);
77017772 finalization
--- a/GikoDataModule.dfm
+++ b/GikoDataModule.dfm
@@ -1235,6 +1235,56 @@ object GikoDM: TGikoDM
12351235 OnExecute = CloseAllEditorActionExecute
12361236 OnUpdate = CloseAllEditorActionUpdate
12371237 end
1238+ object PrevMoveHistory: TAction
1239+ Category = #25805#20316
1240+ Caption = #12522#12531#12463#23653#27508#12434#25147#12427
1241+ Hint = #12522#12531#12463#23653#27508#12434#25147#12427
1242+ OnExecute = PrevMoveHistoryExecute
1243+ OnUpdate = PrevMoveHistoryUpdate
1244+ end
1245+ object NextMoveHistory: TAction
1246+ Category = #25805#20316
1247+ Caption = #12522#12531#12463#23653#27508#12434#36914#12416
1248+ Hint = #12522#12531#12463#23653#27508#12434#36914#12416
1249+ OnExecute = NextMoveHistoryExecute
1250+ OnUpdate = NextMoveHistoryUpdate
1251+ end
1252+ object ClickActiveElementAction: TAction
1253+ Category = #12473#12524#12483#12489
1254+ Caption = #12450#12463#12486#12451#12502#12394#35201#32032#12434#12463#12522#12483#12463#12377#12427
1255+ Hint = #12450#12463#12486#12451#12502#12394#35201#32032#12434#12463#12522#12483#12463#12377#12427
1256+ OnExecute = ClickActiveElementActionExecute
1257+ end
1258+ object VKDownAction: TAction
1259+ Category = #25805#20316
1260+ Caption = #19979#30690#21360#12461#12540#25276#19979
1261+ Hint = #19979#30690#21360#12461#12540#25276#19979
1262+ OnExecute = VKDownActionExecute
1263+ end
1264+ object VKUpAction: TAction
1265+ Category = #25805#20316
1266+ Caption = #19978#30690#21360#12461#12540#25276#19979
1267+ Hint = #19978#30690#21360#12461#12540#25276#19979
1268+ OnExecute = VKUpActionExecute
1269+ end
1270+ object VKRightAction: TAction
1271+ Category = #25805#20316
1272+ Caption = #21491#30690#21360#12461#12540#25276#19979
1273+ Hint = #21491#30690#21360#12461#12540#25276#19979
1274+ OnExecute = VKRightActionExecute
1275+ end
1276+ object VKLeftAction: TAction
1277+ Category = #25805#20316
1278+ Caption = #24038#30690#21360#12461#12540#25276#19979
1279+ Hint = #24038#30690#21360#12461#12540#25276#19979
1280+ OnExecute = VKLeftActionExecute
1281+ end
1282+ object StoredTaskTrayAction: TAction
1283+ Category = #25805#20316
1284+ Caption = #12479#12473#12463#12488#12524#12452#12395#26684#32013#12377#12427
1285+ Hint = #12479#12473#12463#12488#12524#12452#12395#26684#32013#12377#12427
1286+ OnExecute = StoredTaskTrayActionExecute
1287+ end
12381288 end
12391289 object ToobarImageList: TImageList
12401290 Left = 44
--- a/GikoDataModule.pas
+++ b/GikoDataModule.pas
@@ -12,7 +12,7 @@ uses
1212 MSHTML_TLB,
1313 {$IFEND}
1414 ComCtrls, BrowserRecord, Graphics, Messages, Setting, Dialogs,
15- ActiveX;
15+ ActiveX, MoveHistoryItem;
1616
1717 const
1818 CAPTION_NAME: string = 'ƒMƒRƒiƒr';
@@ -219,6 +219,14 @@ type
219219 LiveItemAction: TAction;
220220 FavoriteTreeViewItemNameCopyAction: TAction;
221221 CloseAllEditorAction: TAction;
222+ PrevMoveHistory: TAction;
223+ NextMoveHistory: TAction;
224+ ClickActiveElementAction: TAction;
225+ VKDownAction: TAction;
226+ VKUpAction: TAction;
227+ VKRightAction: TAction;
228+ VKLeftAction: TAction;
229+ StoredTaskTrayAction: TAction;
222230 procedure EditNGActionExecute(Sender: TObject);
223231 procedure ReloadActionExecute(Sender: TObject);
224232 procedure GoFowardActionExecute(Sender: TObject);
@@ -406,6 +414,16 @@ type
406414 procedure FavoriteTreeViewItemNameCopyActionExecute(Sender: TObject);
407415 procedure CloseAllEditorActionExecute(Sender: TObject);
408416 procedure CloseAllEditorActionUpdate(Sender: TObject);
417+ procedure PrevMoveHistoryUpdate(Sender: TObject);
418+ procedure PrevMoveHistoryExecute(Sender: TObject);
419+ procedure NextMoveHistoryUpdate(Sender: TObject);
420+ procedure NextMoveHistoryExecute(Sender: TObject);
421+ procedure ClickActiveElementActionExecute(Sender: TObject);
422+ procedure VKDownActionExecute(Sender: TObject);
423+ procedure VKUpActionExecute(Sender: TObject);
424+ procedure VKRightActionExecute(Sender: TObject);
425+ procedure VKLeftActionExecute(Sender: TObject);
426+ procedure StoredTaskTrayActionExecute(Sender: TObject);
409427 private
410428 { Private éŒ¾ }
411429 procedure ClearResFilter;
@@ -421,6 +439,8 @@ type
421439 procedure ClearSelectComboBox;
422440 procedure ClearMailAllEditor();
423441 procedure ClearNameTextAllEditor();
442+ procedure MoveURLWithHistory(URL : String);
443+ procedure BackToHistory(item: TMoveHistoryItem);
424444 public
425445 { Public éŒ¾ }
426446 procedure RepaintStatusBar;
@@ -554,24 +574,10 @@ end;
554574 //! ƒAƒhƒŒƒXƒo[‚É•\Ž¦‚µ‚Ä‚¢‚éƒAƒhƒŒƒX‚ÖˆÚ“®‚·‚é
555575 // *************************************************************************
556576 procedure TGikoDM.MoveToActionExecute(Sender: TObject);
557-var
558- URL: string;
559- idx: Integer;
560577 begin
561578 //ƒAƒhƒŒƒXƒRƒ“ƒ{ƒ{ƒbƒNƒX‚©‚çURL‚ðŽæ“¾
562- URL := Trim(GikoForm.AddressComboBox.Text);
563579 //URL‚Ɉړ®
564- GikoForm.MoveToURL(URL);
565- //ˆÈ‰ºA—š—ð‚̏ˆ—
566- idx := GikoForm.AddressComboBox.Items.IndexOf(URL);
567- if idx = -1 then begin
568- GikoForm.AddressComboBox.Items.Insert(0, URL);
569- if GikoForm.AddressComboBox.Items.Count > GikoSys.Setting.AddressHistoryCount then
570- GikoForm.AddressComboBox.Items.Delete(GikoForm.AddressComboBox.Items.Count - 1);
571- end else begin
572- GikoForm.AddressComboBox.Items.Delete(idx);
573- GikoForm.AddressComboBox.Items.Insert(0, URL);
574- end;
580+ MoveURLWithHistory( Trim(GikoForm.AddressComboBox.Text) );
575581 end;
576582 // *************************************************************************
577583 //! ‚¨‹C‚É“ü‚è‚̒ljÁƒ_ƒCƒAƒƒO‚ðŠJ‚­
@@ -2235,7 +2241,8 @@ begin
22352241 URLs.Free;
22362242 end;
22372243
2238- if (GikoForm.BrowserTab.Tabs.Count = 0) then begin
2244+ if (GikoForm.BrowserTab.Tabs.Count = 0) and
2245+ (TabsOpenAction.Tag <> 1) then begin
22392246 ShowMessage('•\Ž¦‚·‚éƒ^ƒu‚ª‚ ‚è‚Ü‚¹‚ñB');
22402247 end;
22412248 end;
@@ -3685,7 +3692,7 @@ end;
36853692 // *************************************************************************
36863693 procedure TGikoDM.SetFocusForBrowserActionExecute(Sender: TObject);
36873694 begin
3688- GikoForm.ActiveContent.Browser.SetFocus;
3695+ GikoForm.ActiveContent.Browser.SetFocus;
36893696 end;
36903697 // *************************************************************************
36913698 //! ƒuƒ‰ƒEƒU‚ɃtƒH[ƒJƒX‚ð“–‚Ä‚éUpdateƒCƒxƒ“ƒg
@@ -4038,5 +4045,137 @@ begin
40384045 end;
40394046 end;
40404047
4048+// *************************************************************************
4049+//! ƒŠƒ“ƒN—š—ð‚ð–ß‚é‚̍XVˆ—
4050+// *************************************************************************
4051+procedure TGikoDM.PrevMoveHistoryUpdate(Sender: TObject);
4052+begin
4053+ PrevMoveHistory.Enabled :=
4054+ (MoveHisotryManager.HisotryIndex > 0)
4055+end;
4056+// *************************************************************************
4057+//! ƒŠƒ“ƒN—š—ð‚ð–ß‚é
4058+// *************************************************************************
4059+procedure TGikoDM.PrevMoveHistoryExecute(Sender: TObject);
4060+begin
4061+ if ( GikoForm.BrowserTab.TabIndex >= 0 ) then begin
4062+ BackToHistory(MoveHisotryManager.getPrevItem
4063+ (TBrowserRecord(GikoForm.BrowserTab.Tabs
4064+ .Objects[GikoForm.BrowserTab.TabIndex])));
4065+ end else begin
4066+ BackToHistory(MoveHisotryManager.getPrevItem( nil ) );
4067+ end;
4068+end;
4069+//! ƒŠƒ“ƒN—š—ðˆ—
4070+procedure TGikoDM.BackToHistory(item: TMoveHistoryItem);
4071+var
4072+ browser : TWebBrowser;
4073+ doc : OleVariant;
4074+begin
4075+ if ( item <> nil ) then begin
4076+ if ( GikoForm.GetActiveContent = item.ThreadItem ) then begin
4077+ browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4078+ .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4079+ if (browser <> nil) then begin
4080+ try
4081+ doc := Idispatch( olevariant(browser.ControlInterface).Document) as IHTMLDocument2;
4082+ doc.Body.ScrollTop := item.ScrollTop;
4083+ except
4084+ end;
4085+ end;
4086+ end else begin
4087+ //URL‚Ɉړ®
4088+ MoveURLWithHistory(item.ThreadItem.URL);
4089+ end;
4090+ end;
4091+end;
4092+//! —š—ðˆ—‚‚«URLˆÚ“®
4093+procedure TGikoDM.MoveURLWithHistory(URL : String);
4094+var
4095+ idx : Integer;
4096+begin
4097+ //URL‚Ɉړ®
4098+ GikoForm.MoveToURL(URL);
4099+ //ˆÈ‰ºA—š—ð‚̏ˆ—
4100+ idx := GikoForm.AddressComboBox.Items.IndexOf(URL);
4101+ if idx = -1 then begin
4102+ GikoForm.AddressComboBox.Items.Insert(0, URL);
4103+ if GikoForm.AddressComboBox.Items.Count > GikoSys.Setting.AddressHistoryCount then
4104+ GikoForm.AddressComboBox.Items.Delete(GikoForm.AddressComboBox.Items.Count - 1);
4105+ end else begin
4106+ GikoForm.AddressComboBox.Items.Delete(idx);
4107+ GikoForm.AddressComboBox.Items.Insert(0, URL);
4108+ end;
4109+end;
4110+// *************************************************************************
4111+//! ƒŠƒ“ƒN—š—ð‚ði‚ނ̍XVˆ—
4112+// *************************************************************************
4113+procedure TGikoDM.NextMoveHistoryUpdate(Sender: TObject);
4114+begin
4115+ NextMoveHistory.Enabled :=
4116+ (MoveHisotryManager.HisotryIndex < MoveHisotryManager.Count - 1);
4117+end;
4118+// *************************************************************************
4119+//! ƒŠƒ“ƒN—š—ð‚ði‚Þ
4120+// *************************************************************************
4121+procedure TGikoDM.NextMoveHistoryExecute(Sender: TObject);
4122+begin
4123+ BackToHistory(MoveHisotryManager.getNextItem);
4124+end;
4125+// *************************************************************************
4126+//! ƒAƒNƒeƒBƒu—v‘f‚̃NƒŠƒbƒN
4127+// *************************************************************************
4128+procedure TGikoDM.ClickActiveElementActionExecute(Sender: TObject);
4129+var
4130+ browser : TWebBrowser;
4131+ elem : IHTMLElement;
4132+begin
4133+ if (GikoForm.GetActiveContent <> nil) then begin
4134+ if (GikoForm.BrowserTab.Tabs.Count > 0) and
4135+ (GikoForm.BrowserTab.TabIndex >= 0) then begin
4136+ browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4137+ .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4138+ if (browser <> nil) then begin
4139+ try
4140+ elem := IHTMLDocument2(browser.Document).activeElement;
4141+ elem.click;
4142+ except
4143+ end;
4144+ end;
4145+
4146+ end;
4147+ end;
4148+end;
4149+//! «ƒL[‚̃Gƒ~ƒ…ƒŒ[ƒgƒAƒNƒVƒ‡ƒ“
4150+procedure TGikoDM.VKDownActionExecute(Sender: TObject);
4151+begin
4152+ keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY, 0);
4153+ keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4154+end;
4155+//! ªƒL[‚̃Gƒ~ƒ…ƒŒ[ƒgƒAƒNƒVƒ‡ƒ“
4156+procedure TGikoDM.VKUpActionExecute(Sender: TObject);
4157+begin
4158+ keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY, 0);
4159+ keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4160+end;
4161+//! ¨ƒL[‚̃Gƒ~ƒ…ƒŒ[ƒgƒAƒNƒVƒ‡ƒ“
4162+procedure TGikoDM.VKRightActionExecute(Sender: TObject);
4163+begin
4164+ keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4165+ keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4166+end;
4167+//! ©ƒL[‚̃Gƒ~ƒ…ƒŒ[ƒgƒAƒNƒVƒ‡ƒ“
4168+procedure TGikoDM.VKLeftActionExecute(Sender: TObject);
4169+begin
4170+ keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4171+ keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4172+end;
4173+//! ƒ^ƒXƒNƒgƒŒƒC‚ÉŠi”[‚·‚é
4174+procedure TGikoDM.StoredTaskTrayActionExecute(Sender: TObject);
4175+begin
4176+ GikoForm.StoredTaskTray;
4177+ StoredTaskTrayAction.Tag := -1;
4178+end;
4179+
40414180 end.
40424181
--- a/GikoSystem.pas
+++ b/GikoSystem.pas
@@ -256,7 +256,7 @@ const
256256 ZERO_DATE: Integer = 25569;
257257 BETA_VERSION_NAME_E = 'beta';
258258 BETA_VERSION_NAME_J = 'ÊÞÀ';
259- BETA_VERSION = 53;
259+ BETA_VERSION = 54;
260260 BETA_VERSION_BUILD = ''; //!< debug”Å‚È‚Ç
261261 APP_NAME = 'gikoNavi';
262262 BE_PHP_URL = 'http://be.2ch.net/test/p.php?i=';
--- a/KuroutSetting.dfm
+++ b/KuroutSetting.dfm
@@ -395,6 +395,35 @@ object KuroutOption: TKuroutOption
395395 TabOrder = 0
396396 end
397397 end
398+ object GroupBox3: TGroupBox
399+ Left = 16
400+ Top = 126
401+ Width = 473
402+ Height = 51
403+ Caption = #12522#12531#12463#31227#21205#23653#27508
404+ TabOrder = 1
405+ object Label10: TLabel
406+ Left = 8
407+ Top = 20
408+ Width = 84
409+ Height = 12
410+ Caption = #23653#27508#26368#22823#20445#25345#25968
411+ end
412+ object Label11: TLabel
413+ Left = 227
414+ Top = 20
415+ Width = 158
416+ Height = 12
417+ Caption = #65288#12487#12501#12457#12523#12488'=20 '#20877#36215#21205#24460#26377#21177#65289
418+ end
419+ object MoveHistoryMaxEdit: TEdit
420+ Left = 112
421+ Top = 16
422+ Width = 105
423+ Height = 20
424+ TabOrder = 0
425+ end
426+ end
398427 end
399428 end
400429 object OkBotton: TButton
--- a/KuroutSetting.pas
+++ b/KuroutSetting.pas
@@ -61,6 +61,10 @@ type
6161 Label8: TLabel;
6262 FixedCookieEdit: TEdit;
6363 Label9: TLabel;
64+ GroupBox3: TGroupBox;
65+ Label10: TLabel;
66+ MoveHistoryMaxEdit: TEdit;
67+ Label11: TLabel;
6468 procedure OkBottonClick(Sender: TObject);
6569 procedure FormCreate(Sender: TObject);
6670 procedure CDeleteButtonClick(Sender: TObject);
@@ -123,6 +127,8 @@ begin
123127 RemoteTrapAtt.Checked := GikoSys.Setting.RemoteTrapAtt;
124128 // Cookie
125129 FixedCookieEdit.Text := GikoSys.Setting.FixedCookie;
130+ // ƒŠƒ“ƒNˆÚ“®—š—ð
131+ MoveHistoryMaxEdit.Text := IntToStr( GikoSys.Setting.MoveHistorySize );
126132 end;
127133
128134 procedure TKuroutOption.SaveSetting;
@@ -150,6 +156,9 @@ begin
150156 // Cookie
151157 GikoSys.Setting.FixedCookie := FixedCookieEdit.Text;
152158
159+ // ƒŠƒ“ƒNˆÚ“®—š—ð
160+ GikoSys.Setting.MoveHistorySize :=
161+ StrToIntDef( MoveHistoryMaxEdit.Text, 20 );
153162
154163 GikoSys.Setting.KuroutSettingTabIndex := PageControl1.ActivePageIndex;
155164 end;
--- /dev/null
+++ b/MoveHistoryItem.pas
@@ -0,0 +1,182 @@
1+unit MoveHistoryItem;
2+
3+interface
4+
5+uses
6+ SysUtils, Classes, BoardGroup, BrowserRecord,
7+{$IF Defined(DELPRO) }
8+ SHDocVw,
9+ MSHTML,
10+{$ELSE}
11+ SHDocVw_TLB,
12+ MSHTML_TLB,
13+{$IFEND}
14+ OleCtrls, ActiveX;
15+type
16+
17+ TMoveHistoryItem = class(TObject)
18+ private
19+ FThreadItem : TThreadItem;
20+ FScrollTop : Integer;
21+ public
22+ property ThreadItem : TThreadItem read FThreadItem write FThreadItem;
23+ property ScrollTop : Integer read FScrollTop write FScrollTop;
24+ end;
25+
26+ TMoveHistory = class(TList)
27+ private
28+ FHistoryMax : Integer;
29+ FIndex : Integer;
30+ {
31+ \brief ƒŠƒ“ƒNˆÚ“®—š—ðÅ‘å•ÛŽ”‚ðÝ’è‚·‚éB
32+ \param AVal •ÛŽ”
33+ }
34+ procedure SetHistoryMax(AVal: Integer);
35+ {
36+ \brief ƒŠƒ“ƒNˆÚ“®—š—ðÅ‘å•ÛŽ”‚ðŽæ“¾‚·‚éB
37+ \return •ÛŽ”( > 0 )
38+ }
39+ function GetHistoryMax: Integer;
40+ public
41+ constructor Create( max : Integer ); overload;
42+ function pushItem( item: TMoveHistoryItem): Integer; overload;
43+ function pushItem( item: TBrowserRecord): Integer; overload;
44+ function getPrevItem( item: TBrowserRecord): TMoveHistoryItem;
45+ function getNextItem: TMoveHistoryItem;
46+ procedure clear; override;
47+ property HistoryMax : Integer read GetHistoryMax write SetHistoryMax;
48+ property HisotryIndex: Integer read FIndex;
49+ end;
50+
51+var
52+ MoveHisotryManager : TMoveHistory;
53+
54+implementation
55+
56+uses
57+ GikoSystem;
58+
59+
60+//! ƒRƒ“ƒXƒgƒ‰ƒNƒ^
61+constructor TMoveHistory.Create( max : Integer );
62+begin
63+ inherited Create;
64+
65+ FIndex := 0;
66+
67+ SetHistoryMax( GikoSys.Setting.MoveHistorySize );
68+end;
69+//! ˆÚ“®—š—ð‚̃AƒCƒeƒ€’ljÁ
70+function TMoveHistory.pushItem( item: TMoveHistoryItem): Integer;
71+var
72+ i : Integer;
73+ top: TMoveHistoryItem;
74+begin
75+ Result := -1;
76+ if (Self.Count > 0) then begin
77+ top := TMoveHistoryItem( Self.Items[Self.Count - 1] );
78+ if (top.FThreadItem = item.FThreadItem) and
79+ (top.FScrollTop = item.FScrollTop) then begin
80+ Exit;
81+ end;
82+ end;
83+ // •ÛŽ”‚̍őå’l‚ð’´‚¦‚éê‡æ“ª‚ðíœ
84+ if (FIndex + 1 > FHistoryMax) then begin
85+ if ( Self.Items[0] <> nil ) then begin
86+ TMoveHistoryItem( Self.Items[0] ).Free;
87+ end;
88+ Self.Delete(0);
89+ Dec(Findex);
90+ end;
91+ // FIndex‚æ‚èŒã‚ë‚̃AƒCƒeƒ€‚ðíœ‚·‚é
92+ for i := Self.Count - 1 downto Findex do begin
93+ if (Self.Items [i] <> nil) then begin
94+ TMoveHistoryItem( Self.Items[i] ).Free;
95+ end;
96+ Self.Delete(i);
97+ end;
98+ Inc(FIndex);
99+ Result := Self.Add( item );
100+end;
101+//! ˆÚ“®—š—ð‚̃AƒCƒeƒ€’ljÁ
102+function TMoveHistory.pushItem( item: TBrowserRecord): Integer;
103+var
104+ history : TMoveHistoryItem;
105+ doc : OleVariant;
106+begin
107+ Result := -1;
108+ if ( item <> nil ) and ( item.Thread <> nil )
109+ and ( item.Browser <> nil) then begin
110+ history := TMoveHistoryItem.Create;
111+ history.FThreadItem := item.Thread;
112+ doc := Idispatch( olevariant(item.Browser.ControlInterface).Document) as IHTMLDocument2;
113+ history.ScrollTop := doc.Body.ScrollTop;
114+
115+ Result := pushItem( history );
116+ end;
117+end;
118+//! ˆê‚‘O‚Ì—š—ðƒAƒCƒeƒ€Žæ“¾
119+function TMoveHistory.getPrevItem(item: TBrowserRecord): TMoveHistoryItem;
120+begin
121+ Result := nil;
122+ if (FIndex = Self.Count) and (item <> nil) then begin
123+ pushItem( item );
124+ Dec(FIndex);
125+ end;
126+ if ( FIndex > 0 ) then begin
127+ Dec( FIndex );
128+ Result := TMoveHistoryItem( Self.items[ FIndex ] );
129+ end;
130+end;
131+//! ˆê‚ÂŒã‚ë‚Ì—š—ðƒAƒCƒeƒ€Žæ“¾
132+function TMoveHistory.getNextItem: TMoveHistoryItem;
133+begin
134+ Result := nil;
135+ if ( FIndex < Self.Count - 1 ) then begin
136+ Inc( FIndex );
137+ Result := TMoveHistoryItem( Self.items[ FIndex ] );
138+ end;
139+end;
140+//! —š—ð‚Ì‘SÁ‹Ž
141+procedure TMoveHistory.clear;
142+var
143+ i : Integer;
144+begin
145+ // ƒAƒCƒeƒ€‚ðíœ‚·‚é
146+ for i := Self.Count - 1 downto 0 do begin
147+ if (Self.Items [i] <> nil) then begin
148+ TMoveHistoryItem( Self.Items[i] ).Free;
149+ end;
150+ Self.Delete(i);
151+ end;
152+ Self.Capacity := 0;
153+ FIndex := 0;
154+ inherited;
155+end;
156+
157+procedure TMoveHistory.SetHistoryMax(AVal: Integer);
158+begin
159+ // —š—ð‚̃TƒCƒY‚Í0‚æ‚è‘å‚«‚­‚È‚¢‚Æ‚¢‚¯‚È‚¢
160+ if ( AVal > 0 ) then begin
161+ if ((AVal + 1) <> FHistoryMax) then begin
162+ Self.clear;
163+ // ˆÚ“®‚µ‚½Û‚ɁA–߂郊ƒ“ƒN‚ð1‚‘«‚·‚Ì‚Å
164+ FHistoryMax := AVal + 1;
165+ end;
166+ end;
167+end;
168+function TMoveHistory.GetHistoryMax: Integer;
169+begin
170+ // ˆÚ“®‚µ‚½Û‚ɁA–߂郊ƒ“ƒN‚ð1‚‘«‚·‚Ì‚Å
171+ Result := FHistoryMax - 1;
172+end;
173+initialization
174+ MoveHisotryManager := TMoveHistory.Create( 20 );
175+
176+finalization
177+ if MoveHisotryManager <> nil then begin
178+ MoveHisotryManager.clear;
179+ MoveHisotryManager.Free;
180+ MoveHisotryManager := nil;
181+ end;
182+end.
--- a/Option.dfm
+++ b/Option.dfm
@@ -61,9 +61,9 @@ object OptionDialog: TOptionDialog
6161 Top = 4
6262 Width = 509
6363 Height = 389
64- ActivePage = TabSheet3
64+ ActivePage = TabSheet4
6565 MultiLine = True
66- TabIndex = 3
66+ TabIndex = 7
6767 TabOrder = 3
6868 OnChange = OptionTabChange
6969 object ConnectSheet: TTabSheet
@@ -1207,9 +1207,9 @@ object OptionDialog: TOptionDialog
12071207 end
12081208 end
12091209 object GroupBox19: TGroupBox
1210- Left = 11
1210+ Left = 12
12111211 Top = 74
1212- Width = 465
1212+ Width = 473
12131213 Height = 49
12141214 Caption = #23653#27508
12151215 TabOrder = 1
@@ -1238,6 +1238,22 @@ object OptionDialog: TOptionDialog
12381238 OnExit = MaxRecordCountEditExit
12391239 end
12401240 end
1241+ object GroupBox21: TGroupBox
1242+ Left = 11
1243+ Top = 133
1244+ Width = 473
1245+ Height = 52
1246+ Caption = #26368#23567#21270#26178#12479#12473#12463#12488#12524#12452
1247+ TabOrder = 2
1248+ object StoredTaskTrayCB: TCheckBox
1249+ Left = 11
1250+ Top = 24
1251+ Width = 118
1252+ Height = 17
1253+ Caption = #26377#21177#12395#12377#12427
1254+ TabOrder = 0
1255+ end
1256+ end
12411257 end
12421258 object SoundSheet: TTabSheet
12431259 Caption = #12469#12454#12531#12489
--- a/Option.pas
+++ b/Option.pas
@@ -205,6 +205,8 @@ type
205205 GroupBox20: TGroupBox;
206206 AutoSortCheckBox: TCheckBox;
207207 Label24: TLabel;
208+ GroupBox21: TGroupBox;
209+ StoredTaskTrayCB: TCheckBox;
208210 procedure FormCreate(Sender: TObject);
209211 procedure FormDestroy(Sender: TObject);
210212 procedure ApplyButtonClick(Sender: TObject);
@@ -864,6 +866,8 @@ begin
864866 BeAutoLoginCheckBox.Checked := GikoSys.Setting.BeAutoLogin;
865867 //—š—ð‚̍őå•Û‘¶”
866868 MaxRecordCountEdit.Text := IntToStr(GikoSys.Setting.MaxRecordCount);
869+ // Å¬‰»Žž‚Ƀ^ƒXƒNƒgƒŒƒC‚ÉŠi”[‚·‚é‚©
870+ StoredTaskTrayCB.Checked := GikoSys.Setting.StoredTaskTray;
867871 end;
868872
869873 procedure TOptionDialog.SaveSetting;
@@ -1151,6 +1155,7 @@ begin
11511155 GikoSys.Setting.BeAutoLogin := BeAutoLoginCheckBox.Checked;
11521156 //—š—ð‚̍őå•Û‘¶”
11531157 GikoSys.Setting.MaxRecordCount := Max(StrToInt64Def(MaxRecordCountEdit.Text,100),1);
1158+ GikoSys.Setting.StoredTaskTray := StoredTaskTrayCB.Checked;
11541159 end;
11551160
11561161 procedure TOptionDialog.SettingApply;
--- a/Setting.pas
+++ b/Setting.pas
@@ -430,9 +430,12 @@ type
430430 FInputAssistFormWidth: Integer;
431431 FInputAssistFormHeight: Integer;
432432
433- // Cookie‚É•t‰Á‚·‚éŒÅ’èƒR[ƒh
433+ //! Cookie‚É•t‰Á‚·‚éŒÅ’èƒR[ƒh
434434 FFixedCookie: String;
435-
435+ //! ƒŠƒ“ƒNˆÚ“®—š—ð‚Ì•ÛŽ”
436+ FMoveHistorySize : Integer;
437+ //! Å¬‰»‚µ‚½‚Æ‚«‚Ƀ^ƒXƒNƒgƒŒƒC‚ÉŠi”[‚·‚é‚©
438+ FStoredTaskTray : Boolean;
436439 function GetMainCoolSet(Index: Integer): TCoolSet;
437440 function GetBoardCoolSet(Index: Integer): TCoolSet;
438441 function GetBrowserCoolSet(Index: Integer): TCoolSet;
@@ -503,6 +506,11 @@ type
503506 function GetEditorKeyFileName: String;
504507 procedure WriteLogFolder(AVal : String);
505508 function GetInputAssistFileName : String;
509+ {
510+ \brief ƒŠƒ“ƒN—š—ð‚Ì•ÛŽƒTƒCƒY‚Ìsetter
511+ \param AVal Ý’è‚·‚éƒTƒCƒY( >0)
512+ }
513+ procedure SetMoveHistorySize(AVal : Integer);
506514 //ŽóMƒoƒbƒtƒ@ƒTƒCƒY
507515 property RecvBufferSize: Integer read FRecvBufferSize write FRecvBufferSize;
508516 //HTTP1.1Žg—p
@@ -758,7 +766,10 @@ type
758766 property InputAssistFormHeight: Integer read FInputAssistFormHeight write FInputAssistFormHeight;
759767 //! Cookie‚É•t‰Á‚·‚éŒÅ’èƒR[ƒh
760768 property FixedCookie: String read FFixedCookie write FFixedCookie;
761-
769+ //! ƒŠƒ“ƒNˆÚ“®—š—ð‚Ì•ÛŽ”
770+ property MoveHistorySize : Integer read FMoveHistorySize write SetMoveHistorySize;
771+ //! Å¬‰»Žž‚Ƀ^ƒXƒNƒgƒŒƒC‚ÉŠi”[‚·‚é‚©
772+ property StoredTaskTray : Boolean read FStoredTaskTray write FStoredTaskTray;
762773 end;
763774
764775
@@ -1381,6 +1392,11 @@ begin
13811392 // Cookie‚É•t‰Á‚·‚éŒÅ’èƒR[ƒh
13821393 FFixedCookie := ini.ReadString('Cookie', 'fixedString', FIXED_COOKIE);
13831394
1395+ // ƒŠƒ“ƒNˆÚ“®—š—ð‚̍őå•ÛŽ”
1396+ FMoveHistorySize := ini.ReadInteger('MoveHisotry', 'Max', 20);
1397+
1398+ FStoredTaskTray := ini.ReadBool('Function', 'StroedTaskTray', false);
1399+
13841400 ini.UpdateFile;
13851401 finally
13861402 ini.Free;
@@ -1752,6 +1768,11 @@ begin
17521768 // ŒÅ’è‚ÌCookie•¶Žš—ñ
17531769 ini.WriteString('Cookie', 'fixedString', FFixedCookie);
17541770
1771+ // ƒŠƒ“ƒNˆÚ“®—š—ð‚̍őå•ÛŽ”
1772+ ini.WriteInteger('MoveHisotry', 'Max', FMoveHistorySize);
1773+
1774+ ini.WriteBool('Function', 'StroedTaskTray', FStoredTaskTray);
1775+
17551776 ini.UpdateFile;
17561777 finally
17571778 ini.Free;
@@ -2225,7 +2246,12 @@ function TSetting.GetInputAssistFileName : String;
22252246 begin
22262247 Result := GetConfigDir + INPUTASSIST_FILE_NAME;
22272248 end;
2228-
2249+procedure TSetting.SetMoveHistorySize(AVal : Integer);
2250+begin
2251+ if (AVal > 0) then begin
2252+ FMoveHistorySize := AVal;
2253+ end;
2254+end;
22292255 end.
22302256
22312257
--- a/Trip.pas
+++ b/Trip.pas
@@ -33,6 +33,16 @@ function get_2ch_trip(
3333 const pw : PChar
3434 ) : string;
3535
36+{!
37+\brief ƒgƒŠƒbƒv‚̐¶¬‚É•K—v‚Èsalt‚̐¶¬
38+\parm pw salt‚ÌŒ³‚É‚È‚éƒpƒXƒ[ƒh
39+\param salt ¶¬‚µ‚½salt‚ªŠi”[‚³‚ê‚é (array[0..2] of char)
40+}
41+procedure get_salt(
42+ const pw : PChar;
43+ salt : PChar
44+);
45+
3646 const
3747 kCryptInitialTr : CryptOrdering = ( o_data: (
3848 #58,#50,#42,#34,#26,#18,#10, #2,#60,#52,#44,#36,#28,#20,#12, #4,
@@ -413,18 +423,30 @@ function get_2ch_trip(
413423 var
414424 s : CryptData;
415425 salt : array [0..2] of char;
416-
417- i : Integer;
418- len : Integer;
419426 begin
420427
421- salt[ 0 ] := #0;
422428 if pw[ 0 ] = #0 then
423429 begin
424430 Result := '';
425431 Exit;
426432 end;
427433
434+ get_salt( pw, salt );
435+
436+
437+ Result := Copy( crypt_r( pw, salt, s ), 4, 100 );
438+
439+end;
440+
441+procedure get_salt(
442+ const pw : PChar;
443+ salt : PChar
444+);
445+var
446+ i, len : Integer;
447+begin
448+ salt[ 0 ] := #0;
449+
428450 if pw[ 1 ] <> #0 then
429451 begin
430452 if pw[ 2 ] <> #0 then
@@ -438,8 +460,11 @@ begin
438460 else
439461 salt[ i ] := '.';
440462
441- if Pos( salt[ i ], ':;<=>?@[\\]^_`' ) > 0 then
442- salt[ i ] := Char( Integer( salt[ i ] ) + 7 );
463+ if Pos ( salt[ i ], ':;<=>?@' ) > 0 then begin
464+ salt[ i ] := Char( Integer( salt[ i ] ) + 7 );
465+ end else if Pos( salt[ i ], '[\\]^_`' ) > 0 then begin
466+ salt[ i ] := Char( Integer( salt[ i ] ) + 6 );
467+ end;
443468 end;
444469 if len = 1 then
445470 salt[ 1 ] := 'H';
@@ -448,9 +473,6 @@ begin
448473 salt[ 0 ] := 'H';
449474 salt[ 1 ] := '.';
450475 end;
451-
452- Result := Copy( crypt_r( pw, salt, s ), 4, 100 );
453-
454476 end;
455477
456478 end.
--- a/gikoNavi.dpr
+++ b/gikoNavi.dpr
@@ -72,7 +72,8 @@ uses
7272 GikoMessage in 'GikoMessage.pas',
7373 InputAssist in 'InputAssist.pas' {InputAssistForm},
7474 InputAssistDataModule in 'InputAssistDataModule.pas' {InputAssistDM: TDataModule},
75- DefaultFileManager in 'DefaultFileManager.pas';
75+ DefaultFileManager in 'DefaultFileManager.pas',
76+ MoveHistoryItem in 'MoveHistoryItem.pas';
7677
7778 {$R *.RES}
7879 {$R gikoResource.res}
Binary files a/gikoNavi.res and b/gikoNavi.res differ
--- a/readme/readme.txt
+++ b/readme/readme.txt
@@ -1,4 +1,4 @@
1-¡ƒMƒRƒiƒr Version1.00 ÊÞÀ53 Readme.txt
1+¡ƒMƒRƒiƒr Version1.00 ÊÞÀ54 Readme.txt
22
33
44 ------------------------------
@@ -50,7 +50,7 @@
5050 ------------------------------
5151 ƒoƒO‚â—v–]‚́AƒMƒRƒiƒrƒXƒŒƒbƒh‚Ŏ󂯕t‚¯‚Ä‚¨‚è‚Ü‚·B
5252 ƒMƒRƒiƒrƒTƒCƒgFhttp://gikonavi.sourceforge.jp/
53-ƒMƒRƒiƒrƒXƒŒFhttp://pc7.2ch.net/test/read.cgi/software/1149268313/l50
53+ƒMƒRƒiƒrƒXƒŒFhttp://pc7.2ch.net/test/read.cgi/software/1151728347/l50
5454
5555 ------------------------------
5656 “]Ú‚ɂ‚¢‚Ä
@@ -107,7 +107,12 @@ LICENSE
107107 ------------------------------
108108 —š—ð
109109 ------------------------------
110-2006/XX/XX
110+2006/12/XX
111+ Version ÊÞÀ54
112+@ƒXƒŒƒbƒh“à‚ł̃Šƒ“ƒN‚ňړ®‚µ‚½‚Æ‚«‚Ì—š—ð‚ð’H‚ê‚é‹@”\‚ð’ljÁ
113+@ƒ^ƒXƒNƒgƒŒƒC‚ÉŠi”[‚·‚é‹@”\‚ð’ljÁiƒIƒvƒVƒ‡ƒ“‚ōŏ¬‰»Žž‚àj
114+
115+2006/08/07
111116 Version ÊÞÀ53
112117 @IE7(beta)‚ðƒCƒ“ƒXƒg[ƒ‹‚·‚é‚ƃŒƒXƒAƒ“ƒJ[‚̃|ƒbƒvƒAƒbƒv‚Å•\Ž¦‚³‚ê‚È‚¢•s‹ï‡‚̏C³
113118 @‚µ‚½‚ç‚ÎJBBS”XV‚ªA“®ì‚µ‚È‚¢•s‹ï‡‚̏C³
@@ -116,8 +121,8 @@ LICENSE
116121 @„‰ñ—\–ñ–¼‚̕ύX‚ª”½‰f‚³‚ê‚È‚¢•s‹ï‡‚̏C³
117122 @—š—ðíœ‚É”º‚¤•s‹ï‡‚̏C³
118123 @ƒJƒ“ƒ}‚ŘA‘±‚·‚郌ƒXƒAƒ“ƒJ[‚ɃŠƒ“ƒN‚ªÝ’肳‚ê‚È‚¢•s‹ï‡‚̏C³
119-@
120-
124+@ƒfƒtƒHƒ‹ƒg‚̐ݒèƒtƒ@ƒCƒ‹‚̈µ‚¢‚𓝈ê
125+@ƒŒƒXƒGƒfƒBƒ^‚̃vƒŒƒrƒ…[‚Å•\Ž¦‚³‚ê‚éƒgƒŠƒbƒvƒL[‚ÆŽÀÛ‚̃gƒŠƒbƒvƒL[‚ªˆÙ‚È‚é•s‹ï‡‚̏C³
121126
122127 2006/06/18
123128 Version ÊÞÀ52
--- a/res/default/Samba.default
+++ b/res/default/Samba.default
@@ -3,15 +3,14 @@ aa5=30
33 academy4=30
44 anime=45
55 book3=30
6-bubble4=120
6+bubble4=30
77 comic6=30
88 etc3=30
99 etc4=30
1010 ex9=15
1111 ex11=15
12-ex12=15
13-ex13=15
14-ex14=15
12+ex13=120
13+ex16=15
1514 food6=30
1615 game9=30
1716 game10=30
@@ -22,29 +21,31 @@ life7=30
2221 live14=10
2322 live19=10
2423 live22x=10
24+live23=10
2525 love3=30
2626 money4=30
27-music4=30
2827 music5=30
28+music6=30
2929 news18=30
3030 news19=120
31+news20=120
3132 off3=30
3233 pc7=30
3334 pc8=30
3435 qa=30
35-qb5=30
36+qb5=120
3637 qb6=30
3738 school5=30
3839 science4=30
3940 society3=30
4041 sports9=60
4142 that4=30
42-tmp5=45
43-travel2=30
43+tmp6=45
44+travel2=120
4445 tv7=30
45-tv8=60
46-pie=30
46+tv8=120
4747 idol=30
48+pie=30
4849 sakura01=30
4950 sakura02=30
50-sakura03=30
51+sakura03=120