• R/O
  • HTTP
  • SSH
  • HTTPS

提交

標籤
無標籤

Frequently used words (click to add to your profile)

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

ギコナビ


Commit MetaInfo

修訂9a626807cc5cdf0e284a6a7fc1a0bf673ff722f0 (tree)
時間2007-01-22 02:43:48
作者cvs2git <cvs2git>
Commitercvs2git

Log Message

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

Change Summary

差異

--- a/BrowserRecord.pas
+++ b/BrowserRecord.pas
@@ -162,34 +162,20 @@ var
162162 PtrGUID: PGUID;
163163 begin
164164 if (Self.Browser <> nil) and (Self.Browser.Document <> nil) then begin
165- //ƒuƒ‰ƒEƒU‚ªƒf[ƒ^‚̓ǂݍž‚Ý’†‚ÌŽž‚͓ǂݍž‚Ý‚ð‘Ò‚Â
166- while (Self.Browser.ReadyState <> READYSTATE_COMPLETE) and
167- (Self.Browser.ReadyState <> READYSTATE_INTERACTIVE) do begin
168- Sleep(1);
169- Application.ProcessMessages;
170- end;
171- vaIn := 0;
172- vaOut := 0;
173165 New(PtrGUID);
174166 PtrGUID^ := CGID_WebBrowser;
175- try
176- try
177- if Self.Browser.Document
178- .QueryInterface(IOleCommandTarget, CmdTarget)
179- = S_OK then begin
180- if CmdTarget <> nil then begin
181- try
182- CmdTarget.Exec(PtrGUID, HTMLID_FIND, 0, vaIn, vaOut);
183- finally
184- CmdTarget._Release;
185- end;
186- end;
187- end;
188- except
189- end;
190- finally
191- Dispose(PtrGUID);
192- end;
167+ try
168+ Self.Browser.Document.QueryInterface(IOleCommandTarget, CmdTarget);
169+ if CmdTarget <> nil then begin
170+ try
171+ CmdTarget.Exec(PtrGUID, HTMLID_FIND, 0, vaIn, vaOut);
172+ finally
173+ CmdTarget._Release;
174+ end;
175+ end;
176+ except
177+ end;
178+ Dispose(PtrGUID);
193179 end;
194180 end;
195181
--- a/Editor.pas
+++ b/Editor.pas
@@ -1757,7 +1757,6 @@ var
17571757 Action: TAction;
17581758 begin
17591759 s := MouseGesture.GetGestureStr;
1760- MouseGesture.Clear;
17611760 Action := GikoSys.Setting.Gestures.GetGestureAction(s);
17621761 if Action <> nil then
17631762 Action.Execute;
--- a/Gesture.pas
+++ b/Gesture.pas
@@ -25,6 +25,7 @@ type
2525 function CheckAction(Message: Integer; x, y: Integer): Boolean;
2626 procedure AddAction(sx, sy: Integer);
2727 function AddGesture(Item: string): Integer;
28+ procedure ClearGesture;
2829 function Get(Index: integer): string;
2930 procedure Put(Index: integer; Item: string);
3031 public
@@ -36,7 +37,6 @@ type
3637 property GestureCount: Integer read GetGestureCount;
3738 property Margin: Integer read FMargin write FMargin;
3839 function GetGestureStr: string;
39- procedure Clear;
4040 property OnGestureStart: TNotifyEvent read FOnGestureStart write FOnGestureStart;
4141 property OnGestureMove: TNotifyEvent read FOnGestureMove write FOnGestureMove;
4242 property OnGestureEnd: TNotifyEvent read FOnGestureEnd write FOnGestureEnd;
@@ -49,9 +49,6 @@ var
4949
5050 implementation
5151
52-uses
53- GikoSystem;
54-
5552 constructor TMouseGesture.Create;
5653 begin
5754 inherited;
@@ -65,7 +62,7 @@ end;
6562 destructor TMouseGesture.Destroy;
6663 begin
6764 UnHook;
68- Clear;
65+ ClearGesture;
6966 FGestureItemList.Free;
7067 inherited;
7168 end;
@@ -119,8 +116,8 @@ begin
119116 //ƒ}ƒEƒXƒWƒFƒXƒ`ƒƒ[‚̑ΏۂƈႤ‚Æ‚«‚́AŠJ•ú‚·‚é
120117 if (hwnd <> 0) and (hwnd <> FHandle) then begin
121118 ReleaseCapture;
122- SetCapture(FHandle);
123119 end;
120+ SetCapture(FHandle);
124121 dp := Point(x - FLastPoint.X, y - FLastPoint.Y);
125122 sp := Point(Sign(dp.X), Sign(dp.Y));
126123 if (dp.X * dp.X + dp.Y * dp.Y) > (FMargin * FMargin) then begin
@@ -133,19 +130,11 @@ begin
133130 FLastTime := GetTickCount;
134131 FLastPoint := Point(x, y);
135132 end;
136- Result := True;
137- end;
133+ Result := True;
134+ end;
138135 end;
139136 WM_RBUTTONDOWN: begin
140- if (not FCancelMode) then begin
141- if ( GikoSys.Setting.GestureIgnoreContext ) then begin
142- //¡ƒ}ƒEƒX‚ðƒLƒƒƒvƒ`ƒƒ[‚µ‚Ä‚¢‚é‚̂𓾂é
143- hwnd := GetCapture;
144- //ƒ}ƒEƒXƒWƒFƒXƒ`ƒƒ[‚̑ΏۂƈႤ‚Æ‚«‚́AŠJ•ú‚·‚é
145- if (hwnd <> 0) and (hwnd <> FHandle) then begin
146- Exit;
147- end;
148- end;
137+ if not FCancelMode then begin
149138 FBeginGesture := True;
150139 FLastTime := 0;
151140 FLastPoint := Point(x, y);
@@ -161,11 +150,9 @@ begin
161150 FBeginGesture := False;
162151 ReleaseCapture;
163152 if FGestureItemList.Count <> 0 then begin
164- if Assigned(FOnGestureEnd) then begin
153+ if Assigned(FOnGestureEnd) then
165154 FOnGestureEnd(Self);
166- end else begin
167- Clear;
168- end;
155+ ClearGesture;
169156 end else begin
170157 FCancelMode := True;
171158 //ƒWƒFƒXƒ`ƒƒ[‚¶‚á‚È‚©‚Á‚½ê‡Aƒ}ƒEƒXDOWN,UP‚ðƒGƒ~ƒ…ƒŒ[ƒg
@@ -241,7 +228,7 @@ begin
241228 end;
242229
243230 //ƒWƒFƒXƒ`ƒƒ[‚ðƒNƒŠƒA‚·‚é
244-procedure TMouseGesture.Clear;
231+procedure TMouseGesture.ClearGesture;
245232 begin
246233 FGestureItemList.Clear;
247234 end;
--- a/Giko.dfm
+++ b/Giko.dfm
@@ -4478,9 +4478,6 @@ object GikoForm: TGikoForm
44784478 object B4: TMenuItem
44794479 Action = GikoDM.NewBoardAction
44804480 end
4481- object N80: TMenuItem
4482- Action = GikoDM.NewBoardSearchAction
4483- end
44844481 object N7: TMenuItem
44854482 Caption = '-'
44864483 end
--- a/Giko.pas
+++ b/Giko.pas
@@ -19,14 +19,14 @@ uses
1919 HintWindow, GikoCoolBar, GikoListView, Search, ExternalBoardManager,
2020 ExternalBoardPlugInMain, StdActns, Variants, ExtActns,IdTCPConnection,
2121 IdBaseComponent, IdTCPClient, AppEvnts, BrowserRecord, MoveHistoryItem,
22- ShellAPI,Preview, HistoryList;
22+ ShellAPI,Preview;
2323
2424 const
2525 NGWORDNAME_PANEL = 3;
2626 THREADSIZE_PANEL = 2;
2727
2828 type
29-
29+ TGikoTreeType = (gttNone, gtt2ch, gttHistory, gttFavorite);
3030 TToolBarSettingSenderType = (tssNone, tssMain, tssList, tssBrowser);
3131 TMinimizeType = (mtNone, mtMinimizing, mtMinimized);
3232 TResizeType = (rtNone, rtResizing);
@@ -416,7 +416,6 @@ type
416416 N79: TMenuItem;
417417 HTML1: TMenuItem;
418418 DAT4: TMenuItem;
419- N80: TMenuItem;
420419 procedure FormCreate(Sender: TObject);
421420 procedure FormDestroy(Sender: TObject);
422421 procedure BrowserStatusTextChange(Sender: TObject;
@@ -570,7 +569,7 @@ type
570569 FActiveList: TObject;
571570 FActiveContent: TBrowserRecord; //
572571 FActiveBBS : TBBS;
573- FHistoryList: THistoryList; //ƒqƒXƒgƒŠƒŠƒXƒg
572+ FHistoryList: TList; //ƒqƒXƒgƒŠƒŠƒXƒg
574573 FTreeType: TGikoTreeType;
575574 FWorkCount: Integer;
576575 FNameCookie: string;
@@ -723,9 +722,14 @@ type
723722 procedure SetListViewType(AViewType: TGikoViewType); overload;
724723 procedure SetListViewType(AViewType: TGikoViewType; SelectText: string; KubetsuChk: Boolean); overload;
725724 procedure PlaySound(SoundEventName: string);
725+ function AddHistory( FavItem: TFavoriteThreadItem ): Boolean;
726+ procedure ClearHistory;
727+ procedure SaveHistory;
728+ procedure LoadHistory;
726729 procedure ShowBBSTree( inBBS : TBBS );
727730 procedure ShowBBSTreeOld( inBBS : TBBS );
728731 procedure ShowHistoryTree;
732+ procedure SetHistoryTreeNode;
729733 procedure AddMessageList(ACaption: string; AObject: TObject; Icon: TGikoMessageIcon);
730734 procedure SetBrowserTabState;
731735 procedure SetToolBarPopup;
@@ -848,6 +852,8 @@ const
848852 DandD_THRESHOLD = 5; //D&D‚Ì臒lipixcel)
849853 //ƒvƒŒƒrƒ…[ƒtƒ@ƒCƒ‹–¼
850854 HTML_FILE_NAME = 'temp_preview.html';
855+ ITEM_ICON_THREADLOG1 = 6; //ƒXƒŒƒAƒCƒRƒ“iƒƒO‚ ‚èj
856+ ITEM_ICON_THREADLOG2 = 7; //ƒXƒŒƒAƒCƒRƒ“iƒƒO‚ ‚èj
851857 //ƒƒbƒZ[ƒWID
852858 USER_TREECLICK = WM_USER + 2000;
853859 USER_RESIZED = WM_USER + 2001;
@@ -1132,11 +1138,10 @@ begin
11321138
11331139
11341140 // ƒqƒXƒgƒŠƒŠƒXƒg(LoadHistory ‚æ‚è‚àæ‚ɍs‚¤‚±‚Æ)
1135- FHistoryList := THistoryList.Create;
1141+ FHistoryList := TList.Create;
11361142
11371143 // —š—ð“ǂݍž‚Ý
1138- FHistoryList.LoadFromFile(GikoSys.GetConfigDir + 'History.xml',
1139- TreeView, FTreeType);
1144+ LoadHistory;
11401145
11411146 //‚¨‹C‚É“ü‚è“ǂݍž‚Ý
11421147 FavoriteDM.SetFavTreeView(FavoriteTreeView);
@@ -1611,12 +1616,12 @@ begin
16111616
16121617 //ƒqƒXƒgƒŠƒŠƒXƒg•Û‘¶
16131618 try
1614- FHistoryList.SaveToFile(GikoSys.GetConfigDir + 'History.xml');
1619+ SaveHistory;
16151620 except
16161621 end;
16171622 try
16181623 try
1619- FHistoryList.Clear;
1624+ ClearHistory;
16201625 except
16211626 end;
16221627 finally
@@ -1762,8 +1767,8 @@ begin
17621767
17631768 //—š—ð‚Ì•Û‘¶‚Æ”jŠü
17641769 try
1765- FHistoryList.SaveToFile(GikoSys.GetConfigDir + 'History.xml');
1766- FHistoryList.Clear;
1770+ SaveHistory;
1771+ ClearHistory;
17671772 except
17681773 end;
17691774
@@ -1814,8 +1819,7 @@ begin
18141819 ShowBBSTree( BBSs[ 0 ] );
18151820
18161821 // —š—ð“ǂݍž‚Ý
1817- FHistoryList.LoadFromFile(GikoSys.GetConfigDir + 'History.xml',
1818- TreeView, FTreeType);
1822+ LoadHistory;
18191823
18201824 //‚¨‹C‚É“ü‚è“ǂݍž‚Ý
18211825 FavoriteDM.ReadFavorite;
@@ -1886,13 +1890,7 @@ begin
18861890 FActiveContent := nil;
18871891 Exit;
18881892 end;
1889- // ‘O‰ñ‚Æ“¯‚¶ê‡I—¹
1890- if (StatusBar.Panels[1].Text = Text2) then begin
1891- {$IFDEF DEBUG}
1892- Writeln('Status Text is not changed!');
1893- {$ENDIF}
1894- Exit;
1895- end;
1893+
18961894 StatusBar.Panels[1].Text := Text2;
18971895
18981896 if FHint <> nil then begin
@@ -1906,8 +1904,6 @@ begin
19061904 if not GikoForm.Active then
19071905 Exit;
19081906
1909-
1910-
19111907 //file:///C:/Borland/Projects/gikoNavi/test/read.cgi/qa/990576336/10
19121908 //file:///C:/Borland/Projects/gikoNavi/test/read.cgi/qa/990576336/10-15
19131909
@@ -2543,7 +2539,7 @@ begin
25432539 FBrowsers.Move(BROWSER_COUNT - 1, 0);
25442540 end;
25452541 favItem := TFavoriteThreadItem.Create(ThreadItem.URL, ThreadItem.Title );
2546- if not FHistoryList.AddHistory( favItem, TreeView, FTreeType ) then
2542+ if not AddHistory( favItem ) then
25472543 favItem.Free;
25482544
25492545 for i := 0 to BrowserTab.Tabs.Count - 1 do begin
@@ -3023,10 +3019,209 @@ begin
30233019 end;
30243020 end;
30253021
3026-//—š—ð‚©‚çíœ
3022+function TGikoForm.AddHistory( favItem : TFavoriteThreadItem ): Boolean;
3023+var
3024+ i: Integer;
3025+ Item: TFavoriteThreadItem;
3026+ Node: TTreeNode;
3027+begin
3028+// Result := False;
3029+// if (GetActiveContent = ThreadItem) and
3030+// (ThreadItem.Count <= ThreadItem.Kokomade) then
3031+// Exit;
3032+// if GetActiveContent = ThreadItem then
3033+// Exit;
3034+
3035+ Result := True;
3036+ if FTreeType = gttHistory then
3037+ TreeView.Selected := nil;
3038+
3039+ for i := 0 to FHistoryList.Count - 1 do begin
3040+ if TObject(FHistoryList[i]) is TFavoriteThreadItem then begin
3041+ Item := TFavoriteThreadItem(FHistoryList[i]);
3042+ if Item.URL = favItem.URL then begin
3043+// SetContent(ThreadItem);
3044+ FHistoryList.Move(i, 0);
3045+ if FTreeType = gttHistory then
3046+ if TreeView.Items.GetFirstNode <> TreeView.Items[ i ] then
3047+ TreeView.Items[ i ].MoveTo( TreeView.Items.GetFirstNode, naInsert );
3048+ Result := false;
3049+ Exit;
3050+ end;
3051+ end;
3052+ end;
3053+
3054+ if FHistoryList.Count > 0 then
3055+ FHistoryList.Insert( 0, favItem )
3056+ else
3057+ FHistoryList.Add( favItem );
3058+// SetContent(ThreadItem);
3059+// while GikoSys.Setting.AddressHistoryCount < FHistoryList.Count do begin
3060+ while GikoSys.Setting.MaxRecordCount < FHistoryList.Count do begin
3061+ i := FHistoryList.Count - 1;
3062+ TObject( FHistoryList.Items[ i ] ).Free;
3063+ FHistoryList.Delete( i );
3064+ end;
3065+
3066+ if FTreeType = gttHistory then begin
3067+ Node := TreeView.Items.Add( nil, favItem.Title );
3068+ Node.MoveTo( TreeView.Items.GetFirstNode, naInsert );
3069+ {
3070+ if favItem.NewArrival then begin
3071+ Node.ImageIndex := ITEM_ICON_THREADNEW1;
3072+ Node.SelectedIndex := ITEM_ICON_THREADNEW2;
3073+ end else begin
3074+ Node.ImageIndex := ITEM_ICON_THREADLOG1;
3075+ Node.SelectedIndex := ITEM_ICON_THREADLOG2;
3076+ end;
3077+ }
3078+ // •‰‰×‚ð‚©‚¯‚½‚­‚È‚¢‚Ì‚Å NewArrival ‚̃`ƒFƒbƒN‚ðs‚í‚È‚¢
3079+ // ¦favItem.Item ƒvƒƒpƒeƒB‚Í dat ‚̓ǂݍž‚Ý‚ð•K—v‚Æ‚·‚é
3080+ Node.ImageIndex := ITEM_ICON_THREADLOG1;
3081+ Node.SelectedIndex := ITEM_ICON_THREADLOG2;
3082+ Node.Data := favItem;
3083+ //while GikoSys.Setting.AddressHistoryCount < TreeView.Items.Count do begin
3084+ while GikoSys.Setting.MaxRecordCount < TreeView.Items.Count do begin
3085+ i := TreeView.Items.Count - 1;
3086+ TreeView.Items.Item[ i ].Delete;
3087+ end;
3088+ end;
3089+end;
3090+
30273091 procedure TGikoForm.DeleteHistory( threadItem: TThreadItem );
3092+var
3093+ i: Integer;
3094+ node: TTreeNode;
3095+begin
3096+ // ƒLƒƒƒrƒlƒbƒg‚É—š—ð‚ª•\Ž¦‚³‚ê‚Ä‚¢‚½‚çA
3097+ // ƒLƒƒƒrƒlƒbƒg“à‚̃AƒCƒeƒ€‚àíœ‚·‚éB
3098+ if (FTreeType = gttHistory) then begin
3099+ node := TreeView.Items.GetFirstNode;
3100+ while (node <> nil) do begin
3101+ if ( TFavoriteThreadItem(node.Data).Item = threadItem ) then begin
3102+ TreeView.Items.Delete(node);
3103+ TreeView.Refresh;
3104+ node := nil;
3105+ end else begin
3106+ node := node.GetNext;
3107+ end;
3108+ end;
3109+ end;
3110+ for i := 0 to FHistoryList.Count - 1 do begin
3111+ if threadItem = TFavoriteThreadItem( FHistoryList.Items[i] ).Item then begin
3112+ TFavoriteThreadItem( FHistoryList.Items[ i ] ).Free;
3113+ FHistoryList.Delete(i);
3114+ FHistoryList.Capacity := FHistoryList.Count;
3115+ Break;
3116+ end;
3117+ end;
3118+end;
3119+
3120+procedure TGikoForm.ClearHistory;
3121+var
3122+ i : Integer;
30283123 begin
3029- FHistoryList.DeleteHistory( threadItem, TreeView, TreeType );
3124+ //FHistoryList.Clear;
3125+
3126+ try
3127+ for i := FHistoryList.Count - 1 downto 0 do begin
3128+ if TObject(FHistoryList[ i ]) is TFavoriteThreadItem then
3129+ TFavoriteThreadItem(FHistoryList[ i ]).Free
3130+ else if TObject(FHistoryList[ i ]) is TFavoriteBoardItem then
3131+ TFavoriteBoardItem(FHistoryList[ i ]).Free;
3132+
3133+ //FHistoryList.Delete(i);
3134+ end;
3135+ except
3136+ end;
3137+
3138+ FHistoryList.Clear;
3139+ FHistoryList.Capacity := FHistoryList.Count;
3140+
3141+end;
3142+
3143+procedure TGikoForm.SaveHistory;
3144+var
3145+ i, bound : Integer;
3146+ saveList : TstringList;
3147+begin
3148+
3149+ saveList := TStringList.Create;
3150+ try
3151+ FHistoryList.Pack;
3152+ FHistoryList.Capacity := FHistoryList.Count;
3153+ saveList.Add('<?xml version="1.0" encoding="Shift_JIS" standalone="yes"?>');
3154+ saveList.Add('<address>');
3155+ bound := FHistoryList.Count - 1;
3156+ for i := bound downto 0 do begin
3157+ // title ‚͍¡‚Ì‚Æ‚±‚ëŽg‚Á‚Ä‚¢‚È‚¢
3158+ saveList.Add(
3159+ '<history url="' + HtmlEncode( TFavoriteThreadItem( FHistoryList[ i ] ).URL ) + '"' +
3160+ ' title="' + HtmlEncode( MojuUtils.Sanitize(TFavoriteThreadItem( FHistoryList[ i ] ).Title )) + '"/>');
3161+ end;
3162+ saveList.Add('</address>');
3163+ saveList.SaveToFile( GikoSys.GetConfigDir + 'History.xml' );
3164+ finally
3165+ saveList.Free;
3166+ end;
3167+
3168+end;
3169+
3170+procedure TGikoForm.LoadHistory;
3171+var
3172+ i, bound : Integer;
3173+ fileName : string;
3174+ XMLDoc : IXMLDocument;
3175+ XMLNode : IXMLNode;
3176+ HistoryNode : IXMLNode;
3177+ s : string;
3178+ favItem : TFavoriteThreadItem;
3179+{$IFDEF DEBUG}
3180+ st, rt : Cardinal;
3181+{$ENDIF}
3182+begin
3183+{$IFDEF DEBUG}
3184+ st := GetTickCount;
3185+{$ENDIF}
3186+
3187+ fileName := GikoSys.GetConfigDir + 'History.xml';
3188+
3189+ if FileExists( fileName ) then begin
3190+ try
3191+ XMLDoc := IXMLDocument.Create;
3192+ //XMLDoc := LoadXMLDocument(FileName);
3193+ LoadXMLDocument(FileName, XMLDoc);
3194+ try
3195+ XMLNode := XMLDoc.DocumentElement;
3196+
3197+ if XMLNode.NodeName = 'address' then begin
3198+ bound := XMLNode.ChildNodes.Count - 1;
3199+ for i := 0 to bound do begin
3200+ HistoryNode := XMLNode.ChildNodes[i];
3201+ if HistoryNode.NodeName = 'history' then begin
3202+ //if FReadCount >= sl.Count then begin
3203+ s := Trim(HistoryNode.Attributes['url']);
3204+ if s <> '' then begin
3205+ favItem := TFavoriteThreadItem.Create(
3206+ s, MojuUtils.UnSanitize(HistoryNode.Attributes[ 'title' ]) );
3207+ if not AddHistory( favItem ) then
3208+ favItem.Free;
3209+ end;
3210+ //end;
3211+ end;
3212+ end;
3213+ end;
3214+ finally
3215+ XMLDoc.Free;
3216+ end;
3217+ except
3218+ end;
3219+ end;
3220+{$IFDEF DEBUG}
3221+ rt := GetTickCount - st;
3222+ Writeln('Runtime(Load Histroy) : ' + IntToStr(rt) + ' ms');
3223+{$ENDIF}
3224+
30303225 end;
30313226
30323227 procedure TGikoForm.ShowBBSTreeOld(
@@ -3188,11 +3383,43 @@ begin
31883383 FTreeType := gttHistory;
31893384 HistoryToolBar.Show;
31903385 FavoriteToolBar.Hide;
3191- FHistoryList.SetTreeNode( TreeView );
3386+ SetHistoryTreeNode;
31923387 CabinetSelectToolButton.Caption := '—š—ðƒŠƒXƒg';
31933388 end;
31943389 end;
31953390
3391+procedure TGikoForm.SetHistoryTreeNode;
3392+var
3393+ i: Integer;
3394+ Node: TTreeNode;
3395+ Item: TFavoriteThreadItem;
3396+begin
3397+ TreeView.Items.BeginUpdate;
3398+ try
3399+ TreeView.Items.Clear;
3400+ for i := 0 to FHistoryList.Count - 1 do begin
3401+ Item := TFavoriteThreadItem(FHistoryList[i]);
3402+ Node := TreeView.Items.Add(nil, Item.Title);
3403+ {
3404+ if Item.Item.NewArrival then begin
3405+ Node.ImageIndex := ITEM_ICON_THREADNEW1;
3406+ Node.SelectedIndex := ITEM_ICON_THREADNEW2;
3407+ end else begin
3408+ Node.ImageIndex := ITEM_ICON_THREADLOG1;
3409+ Node.SelectedIndex := ITEM_ICON_THREADLOG2;
3410+ end;
3411+ }
3412+ // •‰‰×‚ð‚©‚¯‚½‚­‚È‚¢‚Ì‚Å NewArrival ‚̃`ƒFƒbƒN‚ðs‚í‚È‚¢
3413+ // ¦Item.Item ƒvƒƒpƒeƒB‚Í dat ‚̓ǂݍž‚Ý‚ð•K—v‚Æ‚·‚é
3414+ Node.ImageIndex := ITEM_ICON_THREADLOG1;
3415+ Node.SelectedIndex := ITEM_ICON_THREADLOG2;
3416+ Node.Data := Item;
3417+ end;
3418+ finally
3419+ TreeView.Items.EndUpdate;
3420+ end;
3421+end;
3422+
31963423 procedure TGikoForm.SelectTreeNode(Item: TObject; CallEvent: Boolean);
31973424 var
31983425 ChangeEvent: TTVChangedEvent;
@@ -3943,7 +4170,6 @@ procedure TGikoForm.BrowserTabDragDrop(Sender, Source: TObject; X,
39434170 var
39444171 idx: Integer;
39454172 begin
3946- FDragWFirst := False;
39474173 idx := BrowserTab.IndexOfTabAt(X, Y);
39484174 if idx <> -1 then
39494175 BrowserTab.Tabs.Move(BrowserTab.TabIndex, idx);
@@ -3958,11 +4184,14 @@ begin
39584184
39594185 TabIdx := BrowserTab.IndexOfTabAt(x, y);
39604186
3961- if ( ssLeft in Shift ) then begin
3962- if (FDragWFirst) then begin
4187+ if ( ssLeft in Shift ) and ( BrowserTab.Style = tsTabs ) then begin
4188+ if FDragWFirst = false then begin
4189+ FDragWFirst := true;
4190+ end else begin
39634191 BrowserTab.EndDrag(false);
39644192 BrowserTab.BeginDrag(false, DandD_THRESHOLD);
3965- end;
4193+ FDragWFirst := false;
4194+ end;
39664195 end else begin
39674196 BrowserTab.EndDrag(false);
39684197 FDragWFirst := false;
@@ -4844,6 +5073,7 @@ begin
48445073 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
48455074 if MsgBox(Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
48465075 Exit;
5076+ ClearHistory;
48475077 FHistoryList.Clear;
48485078 TreeView.Items.Clear;
48495079 end;
@@ -6054,18 +6284,24 @@ end;
60546284 procedure TGikoForm.BrowserTabMouseUp(Sender: TObject;
60556285 Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
60566286 begin
6057- if FDragWFirst = true then
6287+ if FDragWFirst <> true then begin
60586288 FDragWFirst := false;
6059-
6060- if GikoSys.Setting.ListOrientation = gloHorizontal then begin
6061- if GikoSys.Setting.ListWidthState = glsMin then begin
6062- GikoDM.BrowserMaxAndFocusAction.Execute;
6063- end;
6064- end else begin
6065- if GikoSys.Setting.ListHeightState = glsMin then begin
6066- GikoDM.BrowserMaxAndFocusAction.Execute;
6067- end;
6068- end;
6289+{
6290+ end else if (abs( X - FMouseDownPos.X ) < Mouse.DragThreshold)
6291+ and (abs( Y - FMouseDownPos.Y ) < Mouse.DragThreshold) then begin
6292+(*}
6293+ end else begin
6294+//*)
6295+ if GikoSys.Setting.ListOrientation = gloHorizontal then begin
6296+ if GikoSys.Setting.ListWidthState = glsMin then begin
6297+ GikoDM.BrowserMaxAndFocusAction.Execute;
6298+ end;
6299+ end else begin
6300+ if GikoSys.Setting.ListHeightState = glsMin then begin
6301+ GikoDM.BrowserMaxAndFocusAction.Execute;
6302+ end;
6303+ end;
6304+ end;
60696305 end;
60706306
60716307 procedure TGikoForm.LinkToolBarDragOver(Sender, Source: TObject; X,
@@ -6790,7 +7026,6 @@ var
67907026 Action: TAction;
67917027 begin
67927028 s := MouseGesture.GetGestureStr;
6793- MouseGesture.Clear;
67947029 Action := GikoSys.Setting.Gestures.GetGestureAction(s);
67957030 if Action <> nil then
67967031 Action.Execute;
@@ -7139,9 +7374,7 @@ begin
71397374 WM_KEYFIRST..WM_KEYLAST :
71407375 begin
71417376 //ƒL[ƒAƒbƒv‚Í–³Ž‹‚·‚é@KeyDown‚ƍ‡‚킹‚Ä‚Q‰ñŒÄ‚΂ê‚é‚©‚ç
7142- if (Msg.message <> WM_KEYUP)
7143- and (Msg.message <> WM_CHAR)
7144- and (Msg.message <> WM_SYSKEYUP) then begin
7377+ if (Msg.message <> WM_KEYUP) and (Msg.message <> WM_CHAR) then begin
71457378 wmMsg.Msg := Msg.message;
71467379 wmMsg.CharCode := Word(Msg.wParam);
71477380 wmMsg.KeyData := Msg.lParam;
--- a/GikoDataModule.dfm
+++ b/GikoDataModule.dfm
@@ -1,7 +1,7 @@
11 object GikoDM: TGikoDM
22 OldCreateOrder = False
33 OnCreate = DataModuleCreate
4- Left = 514
4+ Left = 660
55 Top = 170
66 Height = 336
77 Width = 286
@@ -1299,18 +1299,6 @@ object GikoDM: TGikoDM
12991299 OnExecute = NewImageLinkToClipBoardActionExecute
13001300 OnUpdate = DependActiveCntentLogActionUpdate
13011301 end
1302- object SetForcusForAddresBarAction: TAction
1303- Category = #12450#12489#12524#12473#12496#12540
1304- Caption = #12450#12489#12524#12473#12496#12540#12395#12501#12457#12540#12459#12473#12434#24403#12390#12427
1305- Hint = #12450#12489#12524#12473#12496#12540#12395#12501#12457#12540#12459#12473#12434#24403#12390#12427
1306- OnExecute = SetForcusForAddresBarActionExecute
1307- end
1308- object NewBoardSearchAction: TAction
1309- Category = #12501#12449#12452#12523
1310- Caption = #31227#36578#26495#26908#32034
1311- Hint = #31227#36578#12375#12390#12356#12427#26495#12398'URL'#12434#26908#32034#12377#12427
1312- OnExecute = NewBoardSearchActionExecute
1313- end
13141302 end
13151303 object ToobarImageList: TImageList
13161304 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, MoveHistoryItem, HistoryList;
15+ ActiveX, MoveHistoryItem;
1616
1717 const
1818 CAPTION_NAME: string = 'ƒMƒRƒiƒr';
@@ -229,8 +229,6 @@ type
229229 StoredTaskTrayAction: TAction;
230230 AllImageLinkToClipbordAction: TAction;
231231 NewImageLinkToClipBoardAction: TAction;
232- SetForcusForAddresBarAction: TAction;
233- NewBoardSearchAction: TAction;
234232 procedure EditNGActionExecute(Sender: TObject);
235233 procedure ReloadActionExecute(Sender: TObject);
236234 procedure GoFowardActionExecute(Sender: TObject);
@@ -432,8 +430,6 @@ type
432430 procedure RightmostTabSelectActionUpdate(Sender: TObject);
433431 procedure NewImageLinkToClipBoardActionExecute(Sender: TObject);
434432 procedure AllImageLinkToClipbordActionExecute(Sender: TObject);
435- procedure SetForcusForAddresBarActionExecute(Sender: TObject);
436- procedure NewBoardSearchActionExecute(Sender: TObject);
437433 private
438434 { Private éŒ¾ }
439435 procedure ClearResFilter;
@@ -486,7 +482,7 @@ uses
486482 GikoBayesian, About, ShellAPI,
487483 RoundName, RoundData, Menus, ListViewUtils,
488484 ThreadControl, GikoMessage, InputAssist,
489- DefaultFileManager, Forms, NewBoardURL;
485+ DefaultFileManager, Forms;
490486
491487 const
492488 MSG_ERROR : string = 'ƒGƒ‰[';
@@ -4305,36 +4301,6 @@ begin
43054301 end;
43064302 end;
43074303 end;
4308-{
4309-\brief ƒAƒhƒŒƒXƒo[‚ɃtƒH[ƒJƒX‚ð“–‚Ä‚é
4310-\param Sender ƒCƒxƒ“ƒg‚Ì”­¶Œ³
4311-}
4312-procedure TGikoDM.SetForcusForAddresBarActionExecute(Sender: TObject);
4313-begin
4314- if ( GikoForm.AddressToolBar.Visible ) then begin
4315- GikoForm.AddressComboBox.SetFocus;
4316- end
4317-end;
4318-{
4319-\brief ˆÚ“]‚µ‚½”‚ÌURL‚ðŽæ“¾‚·‚éƒ_ƒCƒAƒOƒ‰ƒ€‚ð•\Ž¦‚·‚é
4320-}
4321-procedure TGikoDM.NewBoardSearchActionExecute(Sender: TObject);
4322-var
4323- form : TNewBoardURLForm;
4324- Msg: string;
4325-begin
4326- if (EditorFormExists) then begin
4327- Msg := 'ƒŒƒXƒGƒfƒBƒ^‚ð‘S‚ĕ‚¶‚Ä‚­‚¾‚³‚¢';
4328- MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
4329- Exit;
4330- end;
4331- form := TNewBoardURLForm.Create(Self);
4332- try
4333- form.ShowModal;
4334- finally
4335- form.Release;
4336- end;
4337-end;
43384304
43394305 end.
43404306
--- a/HistoryList.pas
+++ /dev/null
@@ -1,261 +0,0 @@
1-unit HistoryList;
2-
3-interface
4-
5-uses
6- Windows, Messages, SysUtils, Classes, Graphics, Controls,
7- BoardGroup, Favorite, ComCtrls, GikoXMLDoc;
8-
9-type
10- TGikoTreeType = (gttNone, gtt2ch, gttHistory, gttFavorite);
11-
12- THistoryList = class(TList)
13- public
14- function AddHistory( favItem : TFavoriteThreadItem; TreeView : TTreeView;
15- TreeType: TGikoTreeType): Boolean;
16- procedure DeleteHistory( threadItem: TThreadItem; TreeView : TTreeView;
17- TreeType: TGikoTreeType );
18- procedure Clear; override;
19- procedure SaveToFile(const FileName: String);
20- procedure LoadFromFile(const FileName: String;
21- TreeView : TTreeView; TreeType: TGikoTreeType);
22- procedure SetTreeNode( TreeView : TTreeView );
23-
24- end;
25-
26-
27-implementation
28-
29-uses
30- Giko, GikoSystem, Setting, YofUtils, MojuUtils;
31-
32-const
33- ITEM_ICON_THREADLOG1 = 6; //ƒXƒŒƒAƒCƒRƒ“iƒƒO‚ ‚èj
34- ITEM_ICON_THREADLOG2 = 7; //ƒXƒŒƒAƒCƒRƒ“iƒƒO‚ ‚èj
35-
36-
37-function THistoryList.AddHistory(
38- favItem : TFavoriteThreadItem; TreeView : TTreeView;
39- TreeType: TGikoTreeType ): Boolean;
40-var
41- i: Integer;
42- Item: TFavoriteThreadItem;
43- Node: TTreeNode;
44-begin
45- Result := True;
46- if TreeType = gttHistory then
47- TreeView.Selected := nil;
48-
49- for i := 0 to Self.Count - 1 do begin
50- if TObject(Self[i]) is TFavoriteThreadItem then begin
51- Item := TFavoriteThreadItem(Self[i]);
52- if Item.URL = favItem.URL then begin
53- Self.Move(i, 0);
54- if TreeType = gttHistory then
55- if TreeView.Items.GetFirstNode <> TreeView.Items[ i ] then
56- TreeView.Items[ i ].MoveTo( TreeView.Items.GetFirstNode, naInsert );
57- Result := false;
58- Exit;
59- end;
60- end;
61- end;
62-
63- if Self.Count > 0 then
64- Self.Insert( 0, favItem )
65- else
66- Self.Add( favItem );
67-
68- while GikoSys.Setting.MaxRecordCount < Self.Count do begin
69- i := Self.Count - 1;
70- TObject( Self.Items[ i ] ).Free;
71- Self.Delete( i );
72- end;
73-
74- if TreeType = gttHistory then begin
75- Node := TreeView.Items.Add( nil, favItem.Title );
76- Node.MoveTo( TreeView.Items.GetFirstNode, naInsert );
77- {
78- if favItem.NewArrival then begin
79- Node.ImageIndex := ITEM_ICON_THREADNEW1;
80- Node.SelectedIndex := ITEM_ICON_THREADNEW2;
81- end else begin
82- Node.ImageIndex := ITEM_ICON_THREADLOG1;
83- Node.SelectedIndex := ITEM_ICON_THREADLOG2;
84- end;
85- }
86- // •‰‰×‚ð‚©‚¯‚½‚­‚È‚¢‚Ì‚Å NewArrival ‚̃`ƒFƒbƒN‚ðs‚í‚È‚¢
87- // ¦favItem.Item ƒvƒƒpƒeƒB‚Í dat ‚̓ǂݍž‚Ý‚ð•K—v‚Æ‚·‚é
88- Node.ImageIndex := ITEM_ICON_THREADLOG1;
89- Node.SelectedIndex := ITEM_ICON_THREADLOG2;
90- Node.Data := favItem;
91- //while GikoSys.Setting.AddressHistoryCount < TreeView.Items.Count do begin
92- while GikoSys.Setting.MaxRecordCount < TreeView.Items.Count do begin
93- i := TreeView.Items.Count - 1;
94- TreeView.Items.Item[ i ].Delete;
95- end;
96- end;
97-end;
98-
99-procedure THistoryList.DeleteHistory( threadItem: TThreadItem;
100- TreeView : TTreeView; TreeType: TGikoTreeType );
101-var
102- i: Integer;
103- node: TTreeNode;
104-begin
105- // ƒLƒƒƒrƒlƒbƒg‚É—š—ð‚ª•\Ž¦‚³‚ê‚Ä‚¢‚½‚çA
106- // ƒLƒƒƒrƒlƒbƒg“à‚̃AƒCƒeƒ€‚àíœ‚·‚éB
107- if (TreeType = gttHistory) then begin
108- node := TreeView.Items.GetFirstNode;
109- while (node <> nil) do begin
110- if ( TFavoriteThreadItem(node.Data).Item = threadItem ) then begin
111- TreeView.Items.Delete(node);
112- TreeView.Refresh;
113- node := nil;
114- end else begin
115- node := node.GetNext;
116- end;
117- end;
118- end;
119- for i := 0 to Self.Count - 1 do begin
120- if threadItem = TFavoriteThreadItem( Self.Items[i] ).Item then begin
121- TFavoriteThreadItem( Self.Items[ i ] ).Free;
122- Self.Delete(i);
123- Self.Capacity := Self.Count;
124- Break;
125- end;
126- end;
127-end;
128-
129-procedure THistoryList.Clear;
130-var
131- i : Integer;
132-begin
133- try
134- for i := Self.Count - 1 downto 0 do begin
135- if TObject(Self[ i ]) is TFavoriteThreadItem then
136- TFavoriteThreadItem(Self[ i ]).Free
137- else if TObject(Self[ i ]) is TFavoriteBoardItem then
138- TFavoriteBoardItem(Self[ i ]).Free;
139- end;
140- except
141- end;
142-
143- inherited Clear;
144- Self.Capacity := Self.Count;
145-
146-end;
147-
148-procedure THistoryList.SaveToFile(const FileName: String);
149-var
150- i, bound : Integer;
151- saveList : TstringList;
152-begin
153-
154- saveList := TStringList.Create;
155- try
156- Self.Pack;
157- Self.Capacity := Self.Count;
158- saveList.Add('<?xml version="1.0" encoding="Shift_JIS" standalone="yes"?>');
159- saveList.Add('<address>');
160- bound := Self.Count - 1;
161- for i := bound downto 0 do begin
162- // title ‚͍¡‚Ì‚Æ‚±‚ëŽg‚Á‚Ä‚¢‚È‚¢
163- saveList.Add(
164- '<history url="' + HtmlEncode( TFavoriteThreadItem( Self[ i ] ).URL ) + '"' +
165- ' title="' + HtmlEncode( MojuUtils.Sanitize(TFavoriteThreadItem( Self[ i ] ).Title )) + '"/>');
166- end;
167- saveList.Add('</address>');
168- saveList.SaveToFile( FileName );
169- finally
170- saveList.Free;
171- end;
172-
173-end;
174-
175-procedure THistoryList.LoadFromFile(const FileName: String;
176- TreeView : TTreeView; TreeType: TGikoTreeType);
177-var
178- i, bound : Integer;
179- XMLDoc : IXMLDocument;
180- XMLNode : IXMLNode;
181- HistoryNode : IXMLNode;
182- s : string;
183- favItem : TFavoriteThreadItem;
184-{$IFDEF DEBUG}
185- st, rt : Cardinal;
186-{$ENDIF}
187-begin
188-{$IFDEF DEBUG}
189- st := GetTickCount;
190-{$ENDIF}
191- if FileExists( FileName ) then begin
192- try
193- XMLDoc := IXMLDocument.Create;
194- //XMLDoc := LoadXMLDocument(FileName);
195- LoadXMLDocument(FileName, XMLDoc);
196- try
197- XMLNode := XMLDoc.DocumentElement;
198-
199- if XMLNode.NodeName = 'address' then begin
200- bound := XMLNode.ChildNodes.Count - 1;
201- for i := 0 to bound do begin
202- HistoryNode := XMLNode.ChildNodes[i];
203- if HistoryNode.NodeName = 'history' then begin
204- //if FReadCount >= sl.Count then begin
205- s := Trim(HistoryNode.Attributes['url']);
206- if s <> '' then begin
207- favItem := TFavoriteThreadItem.Create(
208- s, MojuUtils.UnSanitize(HistoryNode.Attributes[ 'title' ]) );
209- if not AddHistory( favItem, TreeView, TreeType ) then
210- favItem.Free;
211- end;
212- //end;
213- end;
214- end;
215- end;
216- finally
217- XMLDoc.Free;
218- end;
219- except
220- end;
221- end;
222-{$IFDEF DEBUG}
223- rt := GetTickCount - st;
224- Writeln('Runtime(Load Histroy) : ' + IntToStr(rt) + ' ms');
225-{$ENDIF}
226-
227-end;
228-procedure THistoryList.SetTreeNode(
229- TreeView : TTreeView );
230-var
231- i: Integer;
232- Node: TTreeNode;
233- Item: TFavoriteThreadItem;
234-begin
235- TreeView.Items.BeginUpdate;
236- try
237- TreeView.Items.Clear;
238- for i := 0 to Self.Count - 1 do begin
239- Item := TFavoriteThreadItem(Self[i]);
240- Node := TreeView.Items.Add(nil, Item.Title);
241- {
242- if Item.Item.NewArrival then begin
243- Node.ImageIndex := ITEM_ICON_THREADNEW1;
244- Node.SelectedIndex := ITEM_ICON_THREADNEW2;
245- end else begin
246- Node.ImageIndex := ITEM_ICON_THREADLOG1;
247- Node.SelectedIndex := ITEM_ICON_THREADLOG2;
248- end;
249- }
250- // •‰‰×‚ð‚©‚¯‚½‚­‚È‚¢‚Ì‚Å NewArrival ‚̃`ƒFƒbƒN‚ðs‚í‚È‚¢
251- // ¦Item.Item ƒvƒƒpƒeƒB‚Í dat ‚̓ǂݍž‚Ý‚ð•K—v‚Æ‚·‚é
252- Node.ImageIndex := ITEM_ICON_THREADLOG1;
253- Node.SelectedIndex := ITEM_ICON_THREADLOG2;
254- Node.Data := Item;
255- end;
256- finally
257- TreeView.Items.EndUpdate;
258- end;
259-end;
260-
261-end.
--- a/KeySetting.pas
+++ b/KeySetting.pas
@@ -358,7 +358,6 @@ end;
358358 procedure TKeySettingForm.OnGestureEnd(Sender: TObject);
359359 begin
360360 GestureEdit.Text := MouseGesture.GetGestureStr;
361- MouseGesture.Clear;
362361 end;
363362
364363 procedure TKeySettingForm.GestureCheckBoxClick(Sender: TObject);
--- a/NewBoard.dfm
+++ b/NewBoard.dfm
@@ -1,6 +1,6 @@
11 object NewBoardDialog: TNewBoardDialog
2- Left = 337
3- Top = 197
2+ Left = 276
3+ Top = 325
44 BorderStyle = bsDialog
55 Caption = #26495#19968#35239#26356#26032
66 ClientHeight = 329
--- a/NewBoard.pas
+++ b/NewBoard.pas
@@ -44,7 +44,6 @@ type
4444 procedure UpdateIgnoreList(Sender: TObject);
4545 public
4646 { Public éŒ¾ }
47- class procedure InitHTTPClient(client : TIdHTTP);
4847 end;
4948
5049 var
@@ -120,8 +119,32 @@ var
120119 s: string;
121120 i: Integer;
122121 begin
123- InitHTTPClient( Indy );
124-
122+ Indy.Request.Clear;
123+ Indy.RecvBufferSize := Gikosys.Setting.RecvBufferSize;
124+ Indy.ProxyParams.BasicAuthentication := False;
125+ if GikoSys.Setting.ReadProxy then begin
126+ if GikoSys.Setting.ProxyProtocol then
127+ Indy.ProtocolVersion := pv1_1
128+ else
129+ Indy.ProtocolVersion := pv1_0;
130+ Indy.ProxyParams.ProxyServer := GikoSys.Setting.ReadProxyAddress;
131+ Indy.ProxyParams.ProxyPort := GikoSys.Setting.ReadProxyPort;
132+ Indy.ProxyParams.ProxyUsername := GikoSys.Setting.ReadProxyUserID;
133+ Indy.ProxyParams.ProxyPassword := GikoSys.Setting.ReadProxyPassword;
134+ if GikoSys.Setting.ReadProxyUserID <> '' then
135+ Indy.ProxyParams.BasicAuthentication := True;
136+ end else begin
137+ if GikoSys.Setting.Protocol then
138+ Indy.ProtocolVersion := pv1_1
139+ else
140+ Indy.ProtocolVersion := pv1_0;
141+ Indy.ProxyParams.ProxyServer := '';
142+ Indy.ProxyParams.ProxyPort := 80;
143+ Indy.ProxyParams.ProxyUsername := '';
144+ Indy.ProxyParams.ProxyPassword := '';
145+ end;
146+ //URL := GikoSys.Setting.BoardURL2ch;
147+ //URL := BoardURLComboBox.Text;
125148 Indy.Request.UserAgent := GikoSys.GetUserAgent;
126149 Indy.Request.Referer := '';
127150 Indy.Request.AcceptEncoding := 'gzip';
@@ -410,33 +433,4 @@ begin
410433 end;
411434 end;
412435 end;
413-
414-class procedure TNewBoardDialog.InitHTTPClient(client : TIdHTTP);
415-begin
416- client.Request.Clear;
417- client.Request.CustomHeaders.Clear;
418- client.RecvBufferSize := Gikosys.Setting.RecvBufferSize;
419- client.ProxyParams.BasicAuthentication := False;
420- if GikoSys.Setting.ReadProxy then begin
421- if GikoSys.Setting.ProxyProtocol then
422- client.ProtocolVersion := pv1_1
423- else
424- client.ProtocolVersion := pv1_0;
425- client.ProxyParams.ProxyServer := GikoSys.Setting.ReadProxyAddress;
426- client.ProxyParams.ProxyPort := GikoSys.Setting.ReadProxyPort;
427- client.ProxyParams.ProxyUsername := GikoSys.Setting.ReadProxyUserID;
428- client.ProxyParams.ProxyPassword := GikoSys.Setting.ReadProxyPassword;
429- if GikoSys.Setting.ReadProxyUserID <> '' then
430- client.ProxyParams.BasicAuthentication := True;
431- end else begin
432- if GikoSys.Setting.Protocol then
433- client.ProtocolVersion := pv1_1
434- else
435- client.ProtocolVersion := pv1_0;
436- client.ProxyParams.ProxyServer := '';
437- client.ProxyParams.ProxyPort := 80;
438- client.ProxyParams.ProxyUsername := '';
439- client.ProxyParams.ProxyPassword := '';
440- end;
441-end;
442436 end.
--- a/NewBoardURL.dfm
+++ /dev/null
@@ -1,84 +0,0 @@
1-object NewBoardURLForm: TNewBoardURLForm
2- Left = 380
3- Top = 187
4- Width = 495
5- Height = 313
6- Caption = #26495#31227#36578#20808#26908#32034
7- Color = clBtnFace
8- Font.Charset = SHIFTJIS_CHARSET
9- Font.Color = clWindowText
10- Font.Height = -12
11- Font.Name = #65325#65331' '#65328#12468#12471#12483#12463
12- Font.Style = []
13- FormStyle = fsStayOnTop
14- OldCreateOrder = False
15- OnCreate = FormCreate
16- PixelsPerInch = 96
17- TextHeight = 12
18- object CategoryLabel: TLabel
19- Left = 24
20- Top = 16
21- Width = 53
22- Height = 12
23- Caption = #12459#12486#12468#12522#21517
24- end
25- object CategoryComboBox: TComboBox
26- Left = 88
27- Top = 13
28- Width = 145
29- Height = 20
30- ItemHeight = 12
31- TabOrder = 0
32- Text = 'CategoryComboBox'
33- end
34- object SearchButton: TButton
35- Left = 256
36- Top = 8
37- Width = 75
38- Height = 25
39- Caption = #26908#32034'(&s)'
40- TabOrder = 1
41- OnClick = SearchButtonClick
42- end
43- object ResultMemo: TMemo
44- Left = 24
45- Top = 48
46- Width = 457
47- Height = 225
48- Lines.Strings = (
49- 'ResultMemo')
50- ScrollBars = ssVertical
51- TabOrder = 2
52- end
53- object CloseButton: TButton
54- Left = 352
55- Top = 8
56- Width = 75
57- Height = 25
58- Caption = #38281#12376#12427
59- ModalResult = 1
60- TabOrder = 3
61- end
62- object IdHTTP: TIdHTTP
63- MaxLineAction = maException
64- AllowCookies = True
65- HandleRedirects = True
66- ProxyParams.BasicAuthentication = False
67- ProxyParams.ProxyPort = 0
68- Request.ContentLength = -1
69- Request.ContentRangeEnd = 0
70- Request.ContentRangeStart = 0
71- Request.Accept = 'text/html, */*'
72- Request.BasicAuthentication = False
73- Request.UserAgent = 'Mozilla/3.0 (compatible; Indy Library)'
74- HTTPOptions = [hoForceEncodeParams]
75- OnRedirect = IdHTTPRedirect
76- Left = 408
77- Top = 16
78- end
79- object IdAntiFreeze: TIdAntiFreeze
80- Active = False
81- Left = 448
82- Top = 16
83- end
84-end
--- a/NewBoardURL.pas
+++ /dev/null
@@ -1,226 +0,0 @@
1-unit NewBoardURL;
2-
3-interface
4-
5-uses
6- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
7- Dialogs, IdAntiFreezeBase, IdAntiFreeze, IdBaseComponent, IdComponent,
8- IdTCPConnection, IdTCPClient, IdHTTP, StdCtrls,
9- BoardGroup;
10-
11-type
12- TNewBoardURLForm = class(TForm)
13- CategoryComboBox: TComboBox;
14- CategoryLabel: TLabel;
15- IdHTTP: TIdHTTP;
16- IdAntiFreeze: TIdAntiFreeze;
17- SearchButton: TButton;
18- ResultMemo: TMemo;
19- CloseButton: TButton;
20- procedure FormCreate(Sender: TObject);
21- procedure SearchButtonClick(Sender: TObject);
22- procedure IdHTTPRedirect(Sender: TObject; var dest: String;
23- var NumRedirect: Integer; var Handled: Boolean;
24- var VMethod: TIdHTTPMethod);
25- private
26- { Private éŒ¾ }
27- function GetRedirectURL(const html: string): string;
28- procedure GetBoardURLs(urls : TStringList);
29- procedure ReplaceURLs(oldurls, newurls: TStringList);
30- public
31- { Public éŒ¾ }
32- end;
33-
34-var
35- NewBoardURLForm: TNewBoardURLForm;
36-
37-implementation
38-
39-uses
40- GikoSystem, NewBoard, Giko, IniFiles, MojuUtils, GikoDataModule;
41-{$R *.dfm}
42-//! ƒRƒ“ƒXƒgƒ‰ƒNƒ^
43-procedure TNewBoardURLForm.FormCreate(Sender: TObject);
44-var
45- i : Integer;
46- ini : TMemIniFile;
47- sec : TStringList;
48-begin
49- sec := TStringList.Create;
50- ini := TMemIniFile.Create(GikoSys.GetBoardFileName);
51- ini.ReadSections(sec);
52-
53- CategoryComboBox.Clear;
54- CategoryComboBox.Items.BeginUpdate;
55- for i := 0 to sec.Count - 1 do begin
56- CategoryComboBox.Items.Add(sec[i]);
57- end;
58- CategoryComboBox.Items.EndUpdate;
59- CategoryComboBox.ItemIndex := 0;
60-
61- ResultMemo.Lines.Clear;
62-end;
63-
64-procedure TNewBoardURLForm.SearchButtonClick(Sender: TObject);
65-var
66- i : Integer;
67- value : string;
68- ResStream: TMemoryStream;
69- URLs : TStringList;
70- oldURLs : TStringList;
71- newURLs : TStringList;
72- oldURL, newURL : string;
73- TabURLs : TStringList;
74-begin
75- ResultMemo.Lines.Clear;
76- URLs := TStringList.Create;
77- Screen.Cursor := crHourGlass;
78- SearchButton.Enabled := False;
79- try
80- GetBoardURLs( URLs );
81- if URLs.Count > 0 then begin
82- ResStream := TMemoryStream.Create;
83- oldURLs := TStringList.Create;
84- newURLs := TStringList.Create;
85-
86- try
87- TNewBoardDialog.InitHTTPClient(IdHTTP);
88- IdHTTP.Request.Referer := '';
89- IdHTTP.Request.AcceptEncoding := 'gzip';
90-
91- IdHTTP.Request.CacheControl := 'no-cache';
92- IdHTTP.Request.CustomHeaders.Add('Pragma: no-cache');
93- IdHTTP.HandleRedirects := false;
94- for i := 0 to URLs.Count - 1 do begin
95- IdAntiFreeze.Active := true;
96- try
97- ResStream.Clear;
98- IdHTTP.Get(URLs[i], ResStream);
99- value := GikoSys.GzipDecompress(ResStream,
100- IdHTTP.Response.ContentEncoding);
101- newURL := GetRedirectURL(value);
102- if (newURL = '') then begin
103- newURL := IdHTTP.Response.Location;
104- end;
105- if (newURL <> '') then begin
106- oldURL := URLs[i];
107- ResultMemo.Lines.Add('URL:' + oldURL + ' -> ' + newURL);
108- if (newURL <> '') then begin
109- oldURLs.Add( oldURL );
110- newURLs.Add( newURL );
111- end;
112- end;
113- except
114- on E: Exception do begin
115- {$IFDEF DEBUG}
116- Writeln(IdHTTP.ResponseText);
117- {$ENDIF}
118- end;
119- end;
120- IdAntiFreeze.Active := false;
121- end;
122-
123- if (newURLs.Count > 0) and (oldURLs.Count > 0) then begin
124- ReplaceURLs(oldURLs, newURLs);
125- GikoForm.FavoritesURLReplace(oldURLs, newURLs);
126- GikoForm.RoundListURLReplace(oldURLs, newURLs);
127- GikoForm.TabFileURLReplace(oldURLs, newURLs);
128- ResultMemo.Lines.Add('”ˆړ]æŒŸõ‚ªŠ®—¹‚µ‚Ü‚µ‚½');
129-
130- TabURLs := TStringList.Create;
131- try
132- GikoDM.GetTabURLs(TabURLs);
133- GikoForm.ReloadBBS;
134- GikoDM.OpenURLs(TabURLs);
135- finally
136- TabURLs.Free;
137- end;
138-
139- end else begin
140- ResultMemo.Lines.Add('ˆÚ“]‚µ‚Ä‚¢‚é”Â‚Í ‚ ‚è‚Ü‚¹‚ñ‚Å‚µ‚½');
141- end;
142- finally
143- ResStream.Clear;
144- ResStream.Free;
145- newURLs.Free;
146- oldURLs.Free;
147- end;
148- end;
149- finally
150- URLs.Free;
151- SearchButton.Enabled := True;
152- Screen.Cursor := crDefault;
153- end;
154-end;
155-function TNewBoardURLForm.GetRedirectURL(const html: string): string;
156-const
157- HEADS = '<head>';
158- HEADE = '</head>';
159- SCRIPT = 'window.location.href="';
160-begin
161- Result := Copy(html, 1,
162- AnsiPos(HEADE, AnsiLowerCase(html)));
163- Result := Copy(Result,
164- AnsiPos(HEADS, AnsiLowerCase(Result)),
165- Length(Result));
166- if AnsiPos(SCRIPT, Result) > 0 then begin
167- Result := Copy(Result, AnsiPos(SCRIPT, Result) + Length(SCRIPT),
168- Length(Result));
169- Result := Copy(Result, 1, AnsiPos('"', Result) - 1);
170- end else begin
171- Result := '';
172- end;
173-
174-end;
175-procedure TNewBoardURLForm.GetBoardURLs(urls : TStringList);
176-var
177- ini : TMemIniFile;
178- sec : string;
179- keys : TStringList;
180- i : Integer;
181-begin
182- urls.Clear;
183- urls.BeginUpdate;
184- if CategoryComboBox.ItemIndex <> -1 then begin
185- sec := CategoryComboBox.Items[CategoryComboBox.itemIndex];
186- keys := TStringList.Create;
187- try
188- ini := TMemIniFile.Create(GikoSys.GetBoardFileName);
189- ini.ReadSection(sec, keys);
190- for i := 0 to keys.Count - 1 do begin
191- urls.Add(ini.ReadString(sec, keys[i], ''));
192- end;
193- finally
194- keys.Free;
195- end;
196- end;
197-end;
198-procedure TNewBoardURLForm.ReplaceURLs(oldurls, newurls: TStringList);
199-var
200- txt : TStringList;
201- i : Integer;
202-begin
203- if oldurls.Count > 0 then begin
204- txt := TStringList.Create;
205- txt.LoadFromFile( GikoSys.GetBoardFileName );
206- try
207- for i := 0 to oldurls.Count - 1 do begin
208- MojuUtils.CustomStringReplace(txt, oldurls[i], newurls[i]);
209- end;
210- txt.SaveToFile( GikoSys.GetBoardFileName );
211- finally
212- txt.Free;
213- end;
214- end;
215-end;
216-
217-procedure TNewBoardURLForm.IdHTTPRedirect(Sender: TObject;
218- var dest: String; var NumRedirect: Integer; var Handled: Boolean;
219- var VMethod: TIdHTTPMethod);
220-begin
221- {$IFDEF DEBUG}
222- ShowMessage(dest);
223- {$ENDIF}
224-end;
225-
226-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 = TabSheet4
64+ ActivePage = CSSTabSheet
6565 MultiLine = True
66- TabIndex = 7
66+ TabIndex = 2
6767 TabOrder = 3
6868 OnChange = OptionTabChange
6969 object ConnectSheet: TTabSheet
@@ -1208,7 +1208,7 @@ object OptionDialog: TOptionDialog
12081208 end
12091209 object GroupBox19: TGroupBox
12101210 Left = 12
1211- Top = 66
1211+ Top = 74
12121212 Width = 473
12131213 Height = 49
12141214 Caption = #23653#27508
@@ -1239,8 +1239,8 @@ object OptionDialog: TOptionDialog
12391239 end
12401240 end
12411241 object GroupBox21: TGroupBox
1242- Left = 12
1243- Top = 125
1242+ Left = 11
1243+ Top = 133
12441244 Width = 473
12451245 Height = 52
12461246 Caption = #26368#23567#21270#26178#12479#12473#12463#12488#12524#12452
@@ -1256,7 +1256,7 @@ object OptionDialog: TOptionDialog
12561256 end
12571257 object GroupBox22: TGroupBox
12581258 Left = 12
1259- Top = 184
1259+ Top = 200
12601260 Width = 473
12611261 Height = 52
12621262 Caption = #12502#12521#12454#12470#12479#12502
@@ -1270,22 +1270,6 @@ object OptionDialog: TOptionDialog
12701270 TabOrder = 0
12711271 end
12721272 end
1273- object GroupBox23: TGroupBox
1274- Left = 12
1275- Top = 246
1276- Width = 473
1277- Height = 52
1278- Caption = #12510#12454#12473#12472#12455#12473#12481#12515#12540
1279- TabOrder = 4
1280- object IgnoreContextCheckBox: TCheckBox
1281- Left = 11
1282- Top = 24
1283- Width = 294
1284- Height = 17
1285- Caption = #12467#12531#12486#12461#12473#12488#19978#12391#12510#12454#12473#12472#12455#12473#12481#12515#12540#12434#28961#21177#12395#12377#12427
1286- TabOrder = 0
1287- end
1288- end
12891273 end
12901274 object SoundSheet: TTabSheet
12911275 Caption = #12469#12454#12531#12489
--- a/Option.pas
+++ b/Option.pas
@@ -209,8 +209,6 @@ type
209209 StoredTaskTrayCB: TCheckBox;
210210 GroupBox22: TGroupBox;
211211 LoopBrowserTabsCB: TCheckBox;
212- GroupBox23: TGroupBox;
213- IgnoreContextCheckBox: TCheckBox;
214212 procedure FormCreate(Sender: TObject);
215213 procedure FormDestroy(Sender: TObject);
216214 procedure ApplyButtonClick(Sender: TObject);
@@ -874,8 +872,6 @@ begin
874872 StoredTaskTrayCB.Checked := GikoSys.Setting.StoredTaskTray;
875873 // ƒuƒ‰ƒEƒUƒ^ƒu‚̈ړ®‚Ń‹[ƒv‚ð‹–‰Â‚·‚é‚©
876874 LoopBrowserTabsCB.Checked := GikoSys.Setting.LoopBrowserTabs;
877- //
878- IgnoreContextCheckBox.Checked := GikoSys.Setting.GestureIgnoreContext;
879875 end;
880876
881877 procedure TOptionDialog.SaveSetting;
@@ -1166,7 +1162,6 @@ begin
11661162 GikoSys.Setting.StoredTaskTray := StoredTaskTrayCB.Checked;
11671163 GikoSys.Setting.LoopBrowserTabs := LoopBrowserTabsCB.Checked;
11681164
1169- GikoSys.Setting.GestureIgnoreContext := IgnoreContextCheckBox.Checked;
11701165 end;
11711166
11721167 procedure TOptionDialog.SettingApply;
--- a/Setting.pas
+++ b/Setting.pas
@@ -398,8 +398,7 @@ type
398398 FGestures : TGestureModel;
399399 //! ƒ}ƒEƒXƒWƒFƒXƒ`ƒƒ[‚ðŽg—p‚·‚é‚©‚Ç‚¤‚©
400400 FGestureEnabled : Boolean;
401- //! ƒ}ƒEƒXƒWƒFƒXƒ`ƒƒ[‚ðƒRƒ“ƒeƒLƒXƒg“™‚̏ã‚Å–³Œø
402- FGestureIgnoreContext : Boolean;
401+
403402 //ƒtƒVƒAƒiƒgƒ‰ƒbƒvÝ’è
404403 FLocalTrapAtt : Boolean;
405404 FRemoteTrapAtt : Boolean;
@@ -756,7 +755,6 @@ type
756755 property Gestures : TGestureModel read FGestures write FGestures;
757756 //! ƒ}ƒEƒXƒWƒFƒXƒ`ƒƒ[‚ðŽg—p‚·‚é‚©‚Ç‚¤‚©
758757 property GestureEnabled : Boolean read FGestureEnabled write FGestureEnabled;
759- property GestureIgnoreContext : Boolean read FGestureIgnoreContext write FGestureIgnoreContext;
760758 //ƒtƒVƒAƒiƒgƒ‰ƒbƒvÝ’è
761759 property LocalTrapAtt : Boolean read FLocalTrapAtt write FLocalTrapAtt;
762760 property RemoteTrapAtt : Boolean read FRemoteTrapAtt write FRemoteTrapAtt;
@@ -1225,7 +1223,7 @@ begin
12251223
12261224 // ƒ}ƒEƒXƒWƒFƒXƒ`ƒƒ[
12271225 FGestureEnabled := ini.ReadBool( 'Guesture', 'Enabled', False );
1228- FGestureIgnoreContext := ini.ReadBool( 'Guesture', 'IgnoreContext', False );
1226+
12291227 //2chŒ¾ŒêƒTƒ|
12301228 F2chSupport := ini.ReadBool('2chSupport', 'Support', False);
12311229
@@ -1614,7 +1612,7 @@ begin
16141612
16151613 // ƒ}ƒEƒXƒWƒFƒXƒ`ƒƒ[‚ðŽg—p‚·‚é‚©‚Ç‚¤‚©
16161614 ini.WriteBool( 'Guesture', 'Enabled', FGestureEnabled );
1617- ini.WriteBool( 'Guesture', 'IgnoreContext', FGestureIgnoreContext );
1615+
16181616 //FusianaTrap
16191617 ini.WriteBool('Trap', 'LocalTrap', FLocalTrapAtt);
16201618 ini.WriteBool('Trap', 'RemoteTrap', FRemoteTrapAtt);
--- a/gikoNavi.dpr
+++ b/gikoNavi.dpr
@@ -74,9 +74,7 @@ uses
7474 InputAssistDataModule in 'InputAssistDataModule.pas' {InputAssistDM: TDataModule},
7575 DefaultFileManager in 'DefaultFileManager.pas',
7676 MoveHistoryItem in 'MoveHistoryItem.pas',
77- SambaTimer in 'SambaTimer.pas',
78- HistoryList in 'HistoryList.pas',
79- NewBoardURL in 'NewBoardURL.pas' {NewBoardURLForm};
77+ SambaTimer in 'SambaTimer.pas';
8078
8179 {$R *.RES}
8280 {$R gikoResource.res}
Binary files a/gikoNavi.res and b/gikoNavi.res differ
--- a/readme/readme.txt
+++ b/readme/readme.txt
@@ -107,13 +107,11 @@ LICENSE
107107 ------------------------------
108108 —š—ð
109109 ------------------------------
110-2007/01/28
110+2006/12/XX
111111 Version ÊÞÀ54
112112 @ƒXƒŒƒbƒh“à‚ł̃Šƒ“ƒN‚ňړ®‚µ‚½‚Æ‚«‚Ì—š—ð‚ð’H‚ê‚é‹@”\‚ð’ljÁ
113113 @ƒ^ƒXƒNƒgƒŒƒC‚ÉŠi”[‚·‚é‹@”\‚ð’ljÁiƒIƒvƒVƒ‡ƒ“‚ōŏ¬‰»Žž‚àj
114114 @Samba24‘΍ô‚Ŕ‚²‚Ƃɐݒè‰Â”\‚ÉŠg’£
115-@‰EƒNƒŠƒbƒN‚̃Rƒ“ƒeƒLƒXƒgƒƒjƒ…[‚ł̃}ƒEƒXƒWƒFƒXƒ`ƒƒ[‚Ńnƒ“ƒO‚·‚é•s‹ï‡‚̉ñ”ðƒIƒvƒVƒ‡ƒ“‚ð’ljÁ
116-@iWin9xŒn—pj
117115
118116 2006/08/07
119117 Version ÊÞÀ53