• R/O
  • HTTP
  • SSH
  • HTTPS

gikonavi: Commit


Commit MetaInfo

Revisionfdfb2b9396234d6ccae59fff603bceb25df12654 (tree)
Time2007-01-22 02:43:47
Authorcvs2git <cvs2git>
Commitercvs2git

Log Message

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

Change Summary

Incremental Difference

--- 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- //ブラウザがデータの読み込み中の時は読み込みを待つ
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 //マウスジェスチャーの対象と違うときは、開放する
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- //今マウスをキャプチャーしているのを得る
143- hwnd := GetCapture;
144- //マウスジェスチャーの対象と違うときは、開放する
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 //ジェスチャーじゃなかった場合、マウスDOWN,UPをエミュレート
@@ -241,7 +228,7 @@ begin
241228 end;
242229
243230 //ジェスチャーをクリアする
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; //ヒストリリスト
572+ FHistoryList: TList; //ヒストリリスト
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の閾値(pixcel)
849853 //プレビューファイル名
850854 HTML_FILE_NAME = 'temp_preview.html';
855+ ITEM_ICON_THREADLOG1 = 6; //スレアイコン(ログあり)
856+ ITEM_ICON_THREADLOG2 = 7; //スレアイコン(ログあり)
851857 //メッセージID
852858 USER_TREECLICK = WM_USER + 2000;
853859 USER_RESIZED = WM_USER + 2001;
@@ -1132,11 +1138,10 @@ begin
11321138
11331139
11341140 // ヒストリリスト(LoadHistory よりも先に行うこと)
1135- FHistoryList := THistoryList.Create;
1141+ FHistoryList := TList.Create;
11361142
11371143 // 履歴読み込み
1138- FHistoryList.LoadFromFile(GikoSys.GetConfigDir + 'History.xml',
1139- TreeView, FTreeType);
1144+ LoadHistory;
11401145
11411146 //お気に入り読み込み
11421147 FavoriteDM.SetFavTreeView(FavoriteTreeView);
@@ -1611,12 +1616,12 @@ begin
16111616
16121617 //ヒストリリスト保存
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 //履歴の保存と破棄
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 //お気に入り読み込み
18211825 FavoriteDM.ReadFavorite;
@@ -1886,13 +1890,7 @@ begin
18861890 FActiveContent := nil;
18871891 Exit;
18881892 end;
1889- // 前回と同じ場合終了
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 のチェックを行わない
3079+ // ※favItem.Item プロパティは dat の読み込みを必要とする
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+ // キャビネットに履歴が表示されていたら、
3097+ // キャビネット内のアイテムも削除する。
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 は今のところ使っていない
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 := '履歴リスト';
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 のチェックを行わない
3413+ // ※Item.Item プロパティは dat の読み込みを必要とする
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 //キーアップは無視する KeyDownと合わせて2回呼ばれるから
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 = 'ギコナビ';
@@ -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 = 'エラー';
@@ -4305,36 +4301,6 @@ begin
43054301 end;
43064302 end;
43074303 end;
4308-{
4309-\brief アドレスバーにフォーカスを当てる
4310-\param Sender イベントの発生元
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を取得するダイアグラムを表示する
4320-}
4321-procedure TGikoDM.NewBoardSearchActionExecute(Sender: TObject);
4322-var
4323- form : TNewBoardURLForm;
4324- Msg: string;
4325-begin
4326- if (EditorFormExists) then begin
4327- Msg := 'レスエディタを全て閉じてください';
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/HTMLCreate.pas
+++ b/HTMLCreate.pas
@@ -67,7 +67,7 @@ type
6767 dat : boolean; var s : String) : string;
6868 function getNumberString(const str: String;var index :Integer; var dbCharlen: Boolean;
6969 sLen :Integer): String;
70- function isOutsideRange(item: TThreadItem; index: Integer ): Boolean;
70+
7171 public
7272 { Public 宣言 }
7373 procedure AddAnchorTag(PRes: PResRec);
@@ -637,6 +637,7 @@ begin
637637 PRes.FBody := PRes.FBody + res;
638638
639639 end;
640+
640641 //Pluginを利用するBoardのスレッドのHTMLを作成してdocに書き込む
641642 procedure THTMLCreate.CreateUsePluginHTML(html:TBufferedWebBrowser; ThreadItem: TThreadItem; var sTitle: string);
642643 var
@@ -659,9 +660,17 @@ begin
659660 // 1 は必ず表示
660661 if i <> 0 then begin
661662 // 表示範囲を限定
662- if (isOutsideRange(ThreadItem, i)) then begin
663- Continue;
664- end;
663+ case GikoSys.ResRange of
664+ Ord( grrKoko ):
665+ if ThreadItem.Kokomade > (i + 1) then
666+ Continue;
667+ Ord( grrNew ):
668+ if NewReceiveNo > (i + 1) then
669+ Continue;
670+ 10..65535:
671+ if (threadItem.Count - i) > GikoSys.ResRange then
672+ Continue;
673+ end;
665674 end;
666675
667676 // 新着マーク
@@ -756,9 +765,17 @@ begin
756765 // 1 は必ず表示
757766 if i <> 0 then begin
758767 // 表示範囲を限定
759- if (isOutsideRange(ThreadItem, i)) then begin
760- Continue;
761- end;
768+ case GikoSys.ResRange of
769+ Ord( grrKoko ):
770+ if ThreadItem.Kokomade > (i + 1) then
771+ Continue;
772+ Ord( grrNew ):
773+ if NewReceiveNo > (i + 1) then
774+ Continue;
775+ 10..65535:
776+ if (threadItem.Count - i) > GikoSys.ResRange then
777+ Continue;
778+ end;
762779 end;
763780
764781 // 新着マーク
@@ -845,10 +862,18 @@ begin
845862 for i := 0 to ReadList.Count - 1 do begin
846863 // 1 は必ず表示
847864 if i <> 0 then begin
848- // 表示範囲を限定
849- if (isOutsideRange(ThreadItem, i)) then begin
850- Continue;
851- end;
865+ // 表示範囲を限定
866+ case GikoSys.ResRange of
867+ Ord( grrKoko ):
868+ if ThreadItem.Kokomade > (i + 1) then
869+ Continue;
870+ Ord( grrNew ):
871+ if NewReceiveNo > (i + 1) then
872+ Continue;
873+ 10..65535:
874+ if (threadItem.Count - i) > GikoSys.ResRange then
875+ Continue;
876+ end;
852877 end;
853878
854879 if (NewReceiveNo = (i + 1)) or ((NewReceiveNo = 0) and (i = 0)) then begin
@@ -907,9 +932,17 @@ begin
907932 // 1 は必ず表示
908933 if i <> 0 then begin
909934 // 表示範囲を限定
910- if (isOutsideRange(ThreadItem, i)) then begin
911- Continue;
912- end;
935+ case GikoSys.ResRange of
936+ Ord( grrKoko ):
937+ if ThreadItem.Kokomade > (i + 1) then
938+ Continue;
939+ Ord( grrNew ):
940+ if NewReceiveNo > (i + 1) then
941+ Continue;
942+ 10..65535:
943+ if (threadItem.Count - i) > GikoSys.ResRange then
944+ Continue;
945+ end;
913946 end;
914947
915948 if (NewReceiveNo = (i + 1)) or ((NewReceiveNo = 0) and (i = 0)) then begin
@@ -1584,31 +1617,6 @@ begin
15841617 Result := Result + '</BODY></HTML>';
15851618
15861619 end;
1587-{
1588-\brief 表示範囲外レス番号判定処理
1589-\param item 表示スレッド
1590-\param index レス番号
1591-\return ture:表示範囲外 false:表示範囲内
1592-}
1593-function THTMLCreate.isOutsideRange( item: TThreadItem; index: Integer ): Boolean;
1594-begin
1595- Result := False;
1596- // 表示範囲を限定
1597- case GikoSys.ResRange of
1598- Ord( grrKoko ):
1599- if item.Kokomade > (index + 1) then
1600- Result := True;
1601- Ord( grrNew ):
1602- if item.NewReceive > (index + 1) then
1603- Result := True;
1604- 10..65535:
1605- if (GikoSys.Setting.HeadResCount) < (index + 1) then begin
1606- if (item.Count - index) > GikoSys.ResRange then begin
1607- Result := True;
1608- end;
1609- end;
1610- end;
1611-end;
16121620 constructor TBufferedWebBrowser.Create(Browser: TWebBrowser; BuffSize: Integer);
16131621 begin
16141622 inherited Create;
--- 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; //スレアイコン(ログあり)
34- ITEM_ICON_THREADLOG2 = 7; //スレアイコン(ログあり)
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 のチェックを行わない
87- // ※favItem.Item プロパティは dat の読み込みを必要とする
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- // キャビネットに履歴が表示されていたら、
106- // キャビネット内のアイテムも削除する。
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 は今のところ使っていない
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 のチェックを行わない
251- // ※Item.Item プロパティは dat の読み込みを必要とする
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/KuroutSetting.dfm
+++ b/KuroutSetting.dfm
@@ -1,6 +1,6 @@
11 object KuroutOption: TKuroutOption
2- Left = 319
3- Top = 169
2+ Left = 285
3+ Top = 132
44 Width = 525
55 Height = 457
66 Caption = #35443#32048#35373#23450
@@ -21,8 +21,8 @@ object KuroutOption: TKuroutOption
2121 Top = 0
2222 Width = 517
2323 Height = 393
24- ActivePage = KakikomiTabSheet
25- TabIndex = 2
24+ ActivePage = TabSheet1
25+ TabIndex = 0
2626 TabOrder = 0
2727 object TabSheet1: TTabSheet
2828 Caption = #35443#32048#35373#23450#65297
@@ -422,40 +422,6 @@ object KuroutOption: TKuroutOption
422422 Width = 105
423423 Height = 20
424424 TabOrder = 0
425- OnExit = MoveHistoryMaxEditExit
426- end
427- end
428- object AHandredGroupBox: TGroupBox
429- Left = 16
430- Top = 192
431- Width = 465
432- Height = 65
433- Caption = '100'#12524#12473#34920#31034#35373#23450
434- TabOrder = 2
435- object AHandredLabeledEdit: TLabeledEdit
436- Left = 96
437- Top = 24
438- Width = 73
439- Height = 20
440- EditLabel.Width = 81
441- EditLabel.Height = 12
442- EditLabel.Caption = #20808#38957#34920#31034#12524#12473#25968
443- LabelPosition = lpLeft
444- LabelSpacing = 3
445- TabOrder = 0
446- Text = '1'
447- OnExit = AHandredLabeledEditExit
448- end
449- object UpDown1: TUpDown
450- Left = 169
451- Top = 24
452- Width = 15
453- Height = 20
454- Associate = AHandredLabeledEdit
455- Min = 1
456- Position = 1
457- TabOrder = 1
458- Wrap = False
459425 end
460426 end
461427 end
--- a/KuroutSetting.pas
+++ b/KuroutSetting.pas
@@ -4,7 +4,7 @@ interface
44
55 uses
66 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
7- Dialogs, StdCtrls, ComCtrls, GikoSystem, GikoUtil, ExtCtrls;
7+ Dialogs, StdCtrls, ComCtrls, GikoSystem, GikoUtil;
88
99 type
1010 TKuroutOption = class(TForm)
@@ -65,9 +65,6 @@ type
6565 Label10: TLabel;
6666 MoveHistoryMaxEdit: TEdit;
6767 Label11: TLabel;
68- AHandredGroupBox: TGroupBox;
69- AHandredLabeledEdit: TLabeledEdit;
70- UpDown1: TUpDown;
7168 procedure OkBottonClick(Sender: TObject);
7269 procedure FormCreate(Sender: TObject);
7370 procedure CDeleteButtonClick(Sender: TObject);
@@ -78,8 +75,6 @@ type
7875 procedure CDownButtonClick(Sender: TObject);
7976 procedure BUpButtonClick(Sender: TObject);
8077 procedure BDownButtonClick(Sender: TObject);
81- procedure MoveHistoryMaxEditExit(Sender: TObject);
82- procedure AHandredLabeledEditExit(Sender: TObject);
8378 private
8479 { Private 宣言 }
8580 procedure SetValue;
@@ -134,8 +129,6 @@ begin
134129 FixedCookieEdit.Text := GikoSys.Setting.FixedCookie;
135130 // リンク移動履歴
136131 MoveHistoryMaxEdit.Text := IntToStr( GikoSys.Setting.MoveHistorySize );
137- // 先頭表示レス数
138- AHandredLabeledEdit.Text := IntToStr( GikoSys.Setting.HeadResCount );
139132 end;
140133
141134 procedure TKuroutOption.SaveSetting;
@@ -167,10 +160,6 @@ begin
167160 GikoSys.Setting.MoveHistorySize :=
168161 StrToIntDef( MoveHistoryMaxEdit.Text, 20 );
169162
170- // 先頭表示レス数
171- GikoSys.Setting.HeadResCount :=
172- StrToIntDef( AHandredLabeledEdit.Text , 1);
173-
174163 GikoSys.Setting.KuroutSettingTabIndex := PageControl1.ActivePageIndex;
175164 end;
176165
@@ -200,9 +189,7 @@ procedure TKuroutOption.OkBottonClick(Sender: TObject);
200189 begin
201190 RecvBufferSizeExit(Sender);
202191 PostTimeEditExit(Sender);
203- MoveHistoryMaxEditExit(Sender);
204- AHandredLabeledEditExit(Sender);
205- PostColumnData();
192+ PostColumnData();
206193 SaveSetting;
207194 end;
208195
@@ -398,22 +385,5 @@ begin
398385 //スレ一覧の描画の更新
399386 GikoForm.SetActiveList(GikoForm.ActiveList);
400387 end;
401-// リンク移動履歴の編集後の設定文字列チェック
402-procedure TKuroutOption.MoveHistoryMaxEditExit(Sender: TObject);
403-begin
404- if not GikoSys.IsNumeric(MoveHistoryMaxEdit.Text) then
405- MoveHistoryMaxEdit.Text := '20';
406- if StrToInt(MoveHistoryMaxEdit.Text) < 1 then
407- MoveHistoryMaxEdit.Text := '1';
408-end;
409-// 先頭表示レス数の編集後の設定文字列チェック
410-procedure TKuroutOption.AHandredLabeledEditExit(Sender: TObject);
411-begin
412- if not GikoSys.IsNumeric(AHandredLabeledEdit.Text) then
413- AHandredLabeledEdit.Text := '1';
414- if StrToInt(AHandredLabeledEdit.Text) < 1 then
415- AHandredLabeledEdit.Text := '1';
416-
417-end;
418388
419389 end.
--- 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-//! コンストラクタ
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
@@ -253,7 +253,7 @@ object OptionDialog: TOptionDialog
253253 Top = 43
254254 Width = 417
255255 Height = 20
256- ItemHeight = 0
256+ ItemHeight = 12
257257 TabOrder = 0
258258 Text = 'BoardURLComboBox'
259259 end
@@ -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 // ブラウザタブの移動でループを許可するか
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 //! マウスジェスチャーを使用するかどうか
400400 FGestureEnabled : Boolean;
401- //! マウスジェスチャーをコンテキスト等の上で無効
402- FGestureIgnoreContext : Boolean;
401+
403402 //フシアナトラップ設定
404403 FLocalTrapAtt : Boolean;
405404 FRemoteTrapAtt : Boolean;
@@ -439,8 +438,6 @@ type
439438 FStoredTaskTray : Boolean;
440439 //! タブの移動でループを許可する
441440 FLoopBrowserTabs : Boolean;
442- //! 100レス表示の先頭表示レス数
443- FHeadResCount : Integer;
444441 function GetMainCoolSet(Index: Integer): TCoolSet;
445442 function GetBoardCoolSet(Index: Integer): TCoolSet;
446443 function GetBrowserCoolSet(Index: Integer): TCoolSet;
@@ -756,7 +753,6 @@ type
756753 property Gestures : TGestureModel read FGestures write FGestures;
757754 //! マウスジェスチャーを使用するかどうか
758755 property GestureEnabled : Boolean read FGestureEnabled write FGestureEnabled;
759- property GestureIgnoreContext : Boolean read FGestureIgnoreContext write FGestureIgnoreContext;
760756 //フシアナトラップ設定
761757 property LocalTrapAtt : Boolean read FLocalTrapAtt write FLocalTrapAtt;
762758 property RemoteTrapAtt : Boolean read FRemoteTrapAtt write FRemoteTrapAtt;
@@ -788,8 +784,6 @@ type
788784 property StoredTaskTray : Boolean read FStoredTaskTray write FStoredTaskTray;
789785 //! ブラウザタブのループを許可する
790786 property LoopBrowserTabs : Boolean read FLoopBrowserTabs write FLoopBrowserTabs;
791- //! 100レス表示の先頭表示レス数
792- property HeadResCount : Integer read FHeadResCount write FHeadResCount;
793787 end;
794788
795789
@@ -1088,7 +1082,6 @@ begin
10881082 else
10891083 FResRange := ini.ReadInteger( 'Thread', 'ResRange', Ord( grrAll ) );
10901084 FResRangeHold := ini.ReadBool( 'Thread', 'ResRangeHold', False );
1091- FHeadResCount := ini.ReadInteger('Thread', 'HeadResCount', 1);
10921085 // スレッド一覧表示範囲
10931086 FThreadRange := TGikoThreadRange( ini.ReadInteger('ThreadList', 'ThreadRange', Ord( gtrAll )) );
10941087 //非アクティブ時レスポップアップ表示
@@ -1225,7 +1218,7 @@ begin
12251218
12261219 // マウスジェスチャー
12271220 FGestureEnabled := ini.ReadBool( 'Guesture', 'Enabled', False );
1228- FGestureIgnoreContext := ini.ReadBool( 'Guesture', 'IgnoreContext', False );
1221+
12291222 //2ch言語サポ
12301223 F2chSupport := ini.ReadBool('2chSupport', 'Support', False);
12311224
@@ -1262,7 +1255,7 @@ begin
12621255
12631256 FStoredTaskTray := ini.ReadBool('Function', 'StroedTaskTray', false);
12641257 FLoopBrowserTabs := ini.ReadBool('Function', 'LoopBrowserTabs', false);
1265-
1258+
12661259 ini.UpdateFile;
12671260 finally
12681261 ini.Free;
@@ -1451,7 +1444,6 @@ begin
14511444 ini.DeleteKey( 'Thread', 'OnlyAHundredRes' ); // 古い設定の削除
14521445 ini.WriteInteger('Thread', 'ResRange', FResRange);
14531446 ini.WriteBool('Thread', 'ResRangeHold', FResRangeHold);
1454- ini.WriteInteger('Thread', 'HeadResCount', FHeadResCount);
14551447 // スレッド一覧表示範囲
14561448 ini.WriteInteger('ThreadList', 'ThreadRange', Ord( FThreadRange ));
14571449 //ログ削除確認
@@ -1614,7 +1606,7 @@ begin
16141606
16151607 // マウスジェスチャーを使用するかどうか
16161608 ini.WriteBool( 'Guesture', 'Enabled', FGestureEnabled );
1617- ini.WriteBool( 'Guesture', 'IgnoreContext', FGestureIgnoreContext );
1609+
16181610 //FusianaTrap
16191611 ini.WriteBool('Trap', 'LocalTrap', FLocalTrapAtt);
16201612 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  スレッド内でのリンクで移動したときの履歴を辿れる機能を追加
113113  タスクトレイに格納する機能を追加(オプションで最小化時も)
114114  Samba24対策で板ごとに設定可能に拡張
115- 右クリックのコンテキストメニューでのマウスジェスチャーでハングする不具合の回避オプションを追加
116- (Win9x系用)
117115
118116 2006/08/07
119117 Version バタ53
Show on old repository browser