| 2184 |
// TBBS は保持している TCategory, TBoard, TThreadItem すべてを開放する |
// TBBS は保持している TCategory, TBoard, TThreadItem すべてを開放する |
| 2185 |
// TBoard, TThreadItem のデストラクタはプラグインに破棄を伝えるので |
// TBoard, TThreadItem のデストラクタはプラグインに破棄を伝えるので |
| 2186 |
// BoardPluteIns の開放より先に行うこと |
// BoardPluteIns の開放より先に行うこと |
| 2187 |
|
for i := Length(BoardGroups) - 1 downto 0 do begin |
| 2188 |
|
BoardGroups[i].Clear; |
| 2189 |
|
end; |
| 2190 |
|
|
| 2191 |
try |
try |
| 2192 |
for i := Length( BBSs ) - 1 downto 0 do begin |
for i := Length( BBSs ) - 1 downto 0 do begin |
| 2193 |
if BBSs[ i ] <> nil then |
if BBSs[ i ] <> nil then |
| 2197 |
except |
except |
| 2198 |
end; |
end; |
| 2199 |
|
|
|
for i := Length(BoardGroups) - 1 downto 0 do begin |
|
|
BoardGroups[i].Clear; |
|
|
end; |
|
| 2200 |
|
|
| 2201 |
try |
try |
| 2202 |
for i := Length( BoardPlugIns ) - 1 downto 0 do begin |
for i := Length( BoardPlugIns ) - 1 downto 0 do begin |
| 2604 |
|
|
| 2605 |
ListView.Items.Count := 0; |
ListView.Items.Count := 0; |
| 2606 |
ListView.Items.Clear; |
ListView.Items.Clear; |
| 2607 |
{ |
|
| 2608 |
case GikoForm.ViewType of |
{case GikoForm.ViewType of |
| 2609 |
gvtAll: ListView.Items.Count := Board.Count; |
gvtAll: ListView.Items.Count := Board.Count; |
| 2610 |
gvtLog: ListView.Items.Count := Board.GetLogThreadCount; |
gvtLog: ListView.Items.Count := Board.GetLogThreadCount; |
| 2611 |
gvtNew: ListView.Items.Count := Board.GetNewThreadCount; |
gvtNew: ListView.Items.Count := Board.GetNewThreadCount; |
| 2618 |
gvtNew: ListView.Items.Count := Board.NewThreadCount; |
gvtNew: ListView.Items.Count := Board.NewThreadCount; |
| 2619 |
gvtUser: ListView.Items.Count := Board.UserThreadCount; |
gvtUser: ListView.Items.Count := Board.UserThreadCount; |
| 2620 |
end; |
end; |
| 2621 |
|
|
| 2622 |
ListNameLabel.Caption := Board.Title; |
ListNameLabel.Caption := Board.Title; |
| 2623 |
FolderImage.Picture := nil; |
FolderImage.Picture := nil; |
| 2624 |
ItemIcon16.GetBitmap(5, FolderImage.Picture.Bitmap); |
ItemIcon16.GetBitmap(5, FolderImage.Picture.Bitmap); |
| 2749 |
ListView.StateImages := StateIconImageList |
ListView.StateImages := StateIconImageList |
| 2750 |
else |
else |
| 2751 |
ListView.StateImages := nil; |
ListView.StateImages := nil; |
| 2752 |
|
|
| 2753 |
case GikoForm.ViewType of |
case GikoForm.ViewType of |
| 2754 |
gvtAll: BoardCnt := Board.Count; |
gvtAll: BoardCnt := Board.Count; |
| 2755 |
gvtLog: BoardCnt := Board.LogThreadCount; |
gvtLog: BoardCnt := Board.LogThreadCount; |
| 2758 |
else |
else |
| 2759 |
BoardCnt := 0; |
BoardCnt := 0; |
| 2760 |
end; |
end; |
| 2761 |
|
{ |
| 2762 |
|
case GikoForm.ViewType of |
| 2763 |
|
gvtAll: BoardCnt := Board.Count; |
| 2764 |
|
gvtLog: BoardCnt := Board.GetLogThreadCount; |
| 2765 |
|
gvtNew: BoardCnt := Board.GetNewThreadCount; |
| 2766 |
|
gvtUser: BoardCnt := Board.GetUserThreadCount; |
| 2767 |
|
else |
| 2768 |
|
BoardCnt := 0; |
| 2769 |
|
end; |
| 2770 |
|
} |
| 2771 |
// if Board = nil then Exit; |
// if Board = nil then Exit; |
| 2772 |
if (BoardCnt <= 0) or (Item = nil) or (Item.Index > BoardCnt) |
if (BoardCnt <= 0) or (Item = nil) or (Item.Index > BoardCnt) |
| 2773 |
or (ListView.Items.Count = 0) or (not (Board.Items[Item.Index] is TThreadItem)) then Exit; |
or (ListView.Items.Count = 0) or (not (Board.Items[Item.Index] is TThreadItem)) then Exit; |
| 2774 |
|
|
| 2775 |
|
//改善すべきブロック///////////////////////////////////////////////////// |
| 2776 |
ThreadItem := nil; |
ThreadItem := nil; |
| 2777 |
case GikoForm.ViewType of |
case GikoForm.ViewType of |
| 2778 |
gvtAll: if Item.Index >= Board.Count then Exit else |
gvtAll: if Item.Index >= Board.Count then Exit else |
| 2779 |
ThreadItem := TThreadItem(Board.Items[Item.Index]); |
ThreadItem := TThreadItem(Board.Items[Item.Index]); |
| 2780 |
gvtLog: ThreadItem := Board.GetLogThread(Item.Index); |
gvtLog: ThreadItem := Board.GetLogThread(Item.Index); |
| 2781 |
gvtNew: ThreadItem := Board.GetNewThread(Item.Index); |
gvtNew: ThreadItem := Board.GetNewThread(Item.Index); |
| 2782 |
gvtUser: ThreadItem := Board.GetUserThread(Item.Index); |
gvtUser: ThreadItem := Board.GetUserThread(Item.Index); |
| 2783 |
end; |
end; |
| 2784 |
|
////////////////////////////////////////////////////////////////////////// |
| 2785 |
|
|
| 2786 |
if ThreadItem = nil then Exit; |
if ThreadItem = nil then Exit; |
| 2787 |
|
|
| 2788 |
RepStr := CustomStringReplace(ThreadItem.Title, '<', '<' ); |
RepStr := CustomStringReplace(ThreadItem.Title, '<', '<' ); |
| 4113 |
gvtNew: Board.NewThreadCount := Board.GetNewThreadCount; |
gvtNew: Board.NewThreadCount := Board.GetNewThreadCount; |
| 4114 |
gvtUser: Board.UserThreadCount:= Board.GetUserThreadCount; |
gvtUser: Board.UserThreadCount:= Board.GetUserThreadCount; |
| 4115 |
end; |
end; |
| 4116 |
|
|
| 4117 |
SetActiveList(Board); |
SetActiveList(Board); |
| 4118 |
// |
// |
| 4119 |
//SetThreadListItem(Board); //SetActiveList内で呼ばれるから2重に呼び出す必要なし |
//SetThreadListItem(Board); //SetActiveList内で呼ばれるから2重に呼び出す必要なし |