• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

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

ギコナビ


Commit MetaInfo

Revision3152aa5e4a757007e33ef6117a609cd1885f80cd (tree)
Time2008-07-06 13:14:54
Authorh677 <h677>
Commiterh677

Log Message

タブに表示されているスレッドの一覧をスレッド一覧に表示する機能を作成
それようにSpecialBBSなどを追加

Change Summary

Incremental Difference

--- a/BoardGroup.pas
+++ b/BoardGroup.pas
@@ -334,6 +334,12 @@ type
334334 property BoardPlugIn : TBoardPlugIn read FBoardPlugIn write FBoardPlugIn;
335335 end;
336336
337+ // “ÁŽê—p“r—pTBoard
338+ TSpecialBoard = class(TBoard)
339+ public
340+ function Add(item: TThreadItem): integer; overload;
341+ procedure Clear; overload;
342+ end;
337343
338344 function BBSsFindBoardFromBBSID( inBBSID : string ) : TBoard;
339345 function BBSsFindBoardFromURL( inURL : string ) : TBoard;
@@ -341,10 +347,13 @@ type
341347 function BBSsFindThreadFromURL(const inURL : string ) : TThreadItem;
342348 function ConvertDateTimeString( inDateTimeString : string) : TDateTime;
343349
350+ procedure DestorySpecialBBS( inBBS : TBBS );
351+
344352 var
345353 BBSs : array of TBBS;
346354 BoardGroups : array of TBoardGroup;
347-
355+ SpecialBBS : TBBS;
356+
348357 implementation
349358
350359 uses
@@ -529,6 +538,28 @@ begin
529538 end;
530539
531540 end;
541+{!
542+\brief “ÁŽê—p“rBBSíœ
543+\param bbs íœ‚·‚é“ÁŽê—p“rBBS
544+}
545+procedure DestorySpecialBBS( inBBS : TBBS );
546+var
547+ sCategory : TCategory;
548+ sBoard : TSpecialBoard;
549+begin
550+ if inBBS <> nil then begin
551+ sCategory := inBBS.Items[0];
552+ if sCategory <> nil then begin
553+ sBoard := TSpecialBoard(sCategory.Items[0]);
554+ if sBoard <> nil then begin
555+ sBoard.Modified := False;
556+ sBoard.Clear;
557+ FreeAndNil(sBoard);
558+ end;
559+ end;
560+ FreeAndNil(inBBS);
561+ end;
562+end;
532563
533564 (*************************************************************************
534565 *‹@”\–¼FTBBSƒRƒ“ƒXƒgƒ‰ƒNƒ^
@@ -1830,6 +1861,19 @@ begin
18301861
18311862 end;
18321863
1864+function TSpecialBoard.Add(item: TThreadItem): integer;
1865+begin
1866+ Result := inherited AddObject(Item.URL, Item);
1867+end;
1868+
1869+procedure TSpecialBoard.Clear;
1870+var
1871+ i: integer;
1872+begin
1873+ for i := Count - 1 downto 0 do
1874+ DeleteList(i);
1875+ Capacity := 0;
1876+end;
18331877
18341878 end.
18351879
--- a/Giko.pas
+++ b/Giko.pas
@@ -1739,6 +1739,7 @@ begin
17391739 BBSs[ i ].Free;
17401740 BBSs[ i ] := nil;
17411741 end;
1742+ DestorySpecialBBS(BoardGroup.SpecialBBS);
17421743 except
17431744 end;
17441745
@@ -3084,6 +3085,9 @@ begin
30843085 BBSs[i].SelectText := SelectText;
30853086 BBSs[i].KubetsuChk := KubetsuChk;
30863087 end;
3088+ BoardGroup.SpecialBBS.SelectText := SelectText;
3089+ BoardGroup.SpecialBBS.KubetsuChk := KubetsuChk;
3090+
30873091 ViewType := AViewType;
30883092 if ActiveList is TBoard then begin
30893093 Board := TBoard(ActiveList);
--- a/GikoDataModule.dfm
+++ b/GikoDataModule.dfm
@@ -1,8 +1,8 @@
11 object GikoDM: TGikoDM
22 OldCreateOrder = False
33 OnCreate = DataModuleCreate
4- Left = 516
5- Top = 172
4+ Left = 518
5+ Top = 174
66 Height = 336
77 Width = 286
88 object GikoFormActionList: TActionList
@@ -538,7 +538,7 @@ object GikoDM: TGikoDM
538538 Hint = #29694#22312#34920#31034#12375#12390#12356#12427#26495#12434#12502#12521#12454#12470#12391#34920#31034#12377#12427
539539 ImageIndex = 27
540540 OnExecute = BoardIEActionExecute
541- OnUpdate = DependActiveListTBoardActionUpdate
541+ OnUpdate = BoardIEActionUpdate
542542 end
543543 object SelectItemURLCopyAction: TAction
544544 Category = #26495
@@ -1363,6 +1363,12 @@ object GikoDM: TGikoDM
13631363 OnExecute = ExtractSameIDActionExecute
13641364 OnUpdate = DependActiveCntentLogActionUpdate
13651365 end
1366+ object ShowTabListAction: TAction
1367+ Category = #34920#31034
1368+ Caption = #12479#12502#19968#35239#34920#31034
1369+ Hint = #12479#12502#19968#35239#34920#31034
1370+ OnExecute = ShowTabListActionExecute
1371+ end
13661372 end
13671373 object ToobarImageList: TImageList
13681374 Left = 44
--- a/GikoDataModule.pas
+++ b/GikoDataModule.pas
@@ -240,6 +240,7 @@ type
240240 AddIDtoNGWord0Action: TAction;
241241 AddIDtoNGWord1Action: TAction;
242242 ExtractSameIDAction: TAction;
243+ ShowTabListAction: TAction;
243244 procedure EditNGActionExecute(Sender: TObject);
244245 procedure ReloadActionExecute(Sender: TObject);
245246 procedure GoFowardActionExecute(Sender: TObject);
@@ -450,6 +451,8 @@ type
450451 procedure AddIDtoNGWord0ActionExecute(Sender: TObject);
451452 procedure AddIDtoNGWord1ActionExecute(Sender: TObject);
452453 procedure ExtractSameIDActionExecute(Sender: TObject);
454+ procedure ShowTabListActionExecute(Sender: TObject);
455+ procedure BoardIEActionUpdate(Sender: TObject);
453456 private
454457 { Private éŒ¾ }
455458 procedure ClearResFilter;
@@ -2637,7 +2640,8 @@ end;
26372640 // *************************************************************************
26382641 procedure TGikoDM.UpFolderActionUpdate(Sender: TObject);
26392642 begin
2640- UpFolderAction.Enabled := not (GikoForm.GetActiveList is TBBS);
2643+ UpFolderAction.Enabled := not (GikoForm.GetActiveList is TBBS) and
2644+ (GikoForm.GetActiveList <> BoardGroup.SpecialBBS.Items[0].Items[0]);
26412645 end;
26422646 // *************************************************************************
26432647 //! •\Ž¦@•\Ž¦ƒŠƒXƒg‚̃‚[ƒh•ÏX
@@ -3000,9 +3004,10 @@ procedure TGikoDM.SelectListReloadActionUpdate(Sender: TObject);
30003004 begin
30013005 if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
30023006 TAction(Sender).Enabled := True
3003- else if GikoForm.GetActiveList is TBoard then
3004- TAction(Sender).Enabled := True
3005- else
3007+ else if GikoForm.GetActiveList is TBoard then begin
3008+ TAction(Sender).Enabled :=
3009+ (GikoForm.GetActiveList <> BoardGroup.SpecialBBS.Items[0].Items[0]);
3010+ end else
30063011 TAction(Sender).Enabled := False;
30073012 end;
30083013 // *************************************************************************
@@ -4463,6 +4468,27 @@ begin
44634468 end;
44644469 end;
44654470 end;
4471+//! ƒ^ƒu‚̃XƒŒƒbƒhˆê——‚ð•\Ž¦‚·‚é
4472+procedure TGikoDM.ShowTabListActionExecute(Sender: TObject);
4473+var
4474+ i, j : Integer;
4475+ sBoard : TSpecialBoard;
4476+begin
4477+ sBoard := TSpecialBoard(SpecialBBS.Items[0].Items[0]);
4478+ sBoard.Clear;
4479+ for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
4480+ sBoard.Add(
4481+ TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Thread);
4482+ end;
4483+ GikoForm.SelectTreeNode(sBoard , True );
4484+end;
4485+//! TBoard‚©‚“ÁŽê—p“r”‚łȂ¢
4486+procedure TGikoDM.BoardIEActionUpdate(Sender: TObject);
4487+begin
4488+ TAction(Sender).Enabled :=
4489+ (GikoForm.GetActiveList is TBoard) and
4490+ (GikoForm.GetActiveList <> BoardGroup.SpecialBBS.Items[0].Items[0]);
4491+end;
44664492
44674493 end.
44684494
--- a/GikoSystem.pas
+++ b/GikoSystem.pas
@@ -2509,6 +2509,8 @@ procedure TGikoSys.ListBoardFile;
25092509 var
25102510 boardFileList : TStringList;
25112511 i, l : Integer;
2512+ sCategory : TCategory;
2513+ sBoard : TBoard;
25122514 begin
25132515 // BBS ‚ÌŠJ•ú
25142516 try
@@ -2551,6 +2553,19 @@ begin
25512553 BoardFileList.Free;
25522554 end;
25532555 end;
2556+
2557+ // “ÁŽê—p“rBBS¶¬
2558+ // Šù‚É‘¶Ý‚·‚éê‡‚͍폜‚·‚é
2559+ DestorySpecialBBS(BoardGroup.SpecialBBS);
2560+ SpecialBBS := TBBS.Create('');
2561+ SpecialBBS.Title := '“ÁŽê—p“r(”ñ•\Ž¦)';
2562+ sCategory := TCategory.Create;
2563+ sCategory.No := 1;
2564+ sCategory.Title := '“ÁŽê—p“r(”ñ•\Ž¦)';
2565+ SpecialBBS.Add(sCategory);
2566+ sBoard := TSpecialBoard.Create(nil, 'http://localhost/gikonavi/special/index.html');
2567+ sBoard.IsThreadDatRead := True;
2568+ sCategory.Add(sBoard);
25542569 end;
25552570
25562571 {!
Binary files a/gikoNavi.res and b/gikoNavi.res differ