From c183377e4571b4ab5e8ce121c29803b7a6804159 Mon Sep 17 00:00:00 2001 From: h677 Date: Wed, 22 Feb 2006 17:21:22 +0000 Subject: [PATCH] =?utf8?q?dat=E8=90=BD=E3=81=A1=E3=82=B9=E3=83=AC=E3=81=AE?= =?utf8?q?=E5=8C=BA=E5=88=A5=E3=82=92=E8=BF=BD=E5=8A=A0=E3=81=97=E3=81=9F?= =?utf8?q?=E3=81=AE=E3=81=A7=E3=80=81=E3=82=B9=E3=83=AC=E3=83=83=E3=83=89?= =?utf8?q?=E4=B8=80=E8=A6=A7=E3=82=92=E3=81=9D=E3=82=8C=E3=81=A7=E7=B5=9E?= =?utf8?q?=E3=82=8A=E8=BE=BC=E3=82=81=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= =?utf8?q?=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- BoardGroup.pas | 130 ++++++++++++++++++++++++++++++++++++++++++++++- Gesture.pas | 1 - Giko.dfm | 146 +++++++++++++++++++++++++++++------------------------ Giko.pas | 39 +++++++++++--- GikoDataModule.dfm | 145 +++++++++++++++++++++++++++++----------------------- GikoDataModule.pas | 72 ++++++++++++++++++++------ GikoSystem.pas | 6 +-- ItemDownload.pas | 6 +-- ListViewUtils.pas | 65 ++++++++++++++++-------- Setting.pas | 2 +- Sort.pas | 92 +++++++++++++++++++++------------ ToolBarUtil.pas | 4 +- gikoNavi.res | Bin 4292 -> 4292 bytes 13 files changed, 492 insertions(+), 216 deletions(-) diff --git a/BoardGroup.pas b/BoardGroup.pas index 9f757b0..3301a85 100644 --- a/BoardGroup.pas +++ b/BoardGroup.pas @@ -8,7 +8,7 @@ uses type //ƒŠƒXƒg‚Ì•\Ž¦ƒAƒCƒeƒ€‘I‘ð - TGikoViewType = (gvtAll, gvtLog, gvtNew, gvtUser); + TGikoViewType = (gvtAll, gvtLog, gvtNew, gvtLive, gvtArch, gvtUser); //ƒŠƒXƒg‚̏グ‰º‚° TGikoAgeSage = (gasNone, gasAge, gasSage, gasNew, gasArch, gasNull); @@ -138,7 +138,8 @@ type FNewThreadCount: Integer; //V’…ƒXƒŒƒbƒh‚̐” FLogThreadCount: Integer; //ƒƒO—L‚èƒXƒŒƒbƒh‚̐” FUserThreadCount: Integer; //H - + FLiveThreadCount: Integer; //¶‘¶ƒXƒŒƒbƒh” + FArchiveThreadCount: Integer; //DAT—Ž‚¿ƒXƒŒƒbƒh” function GetThreadItem(index: integer): TThreadItem; procedure SetThreadItem(index: integer; value: TThreadItem); procedure SetRound(b: Boolean); @@ -200,10 +201,14 @@ type function GetNewThreadCount: Integer; function GetLogThreadCount: Integer; + function GetArchiveThreadCount: Integer; + function GetLiveThreadCount: Integer; function GetUserThreadCount: Integer; function GetNewThread(Index: Integer): TThreadItem; function GetLogThread(Index: Integer): TThreadItem; overload; function GetLogThread(Index: Integer; Base: Integer): TThreadItem; overload; + function GetArchiveThread(Index: Integer): TThreadItem; + function GetLiveThread(Index: Integer): TThreadItem; function GetUserThread(Index: Integer): TThreadItem; procedure BeginUpdate; @@ -225,6 +230,9 @@ type property NewThreadCount: Integer read FNewThreadCount write FNewThreadCount; //V’…ƒXƒŒƒbƒh‚̐” property LogThreadCount: Integer read FLogThreadCount write FLogThreadCount; //ƒƒO—L‚èƒXƒŒƒbƒh‚̐” property UserThreadCount: Integer read FUserThreadCount write FUserThreadCount; //H + property LiveThreadCount: Integer read FLiveThreadCount write FLiveThreadCount; + property ArchiveThreadCount: Integer read FArchiveThreadCount write FArchiveThreadCount; + property Cookie: string read FCookie write FCookie; property Expires: TDateTime read FExpires write FExpires; end; @@ -1399,7 +1407,125 @@ begin inc(Result); end; end; +function TBoard.GetArchiveThreadCount: Integer; +var + i: Integer; +begin + Result := 0; + if Length( ParentCategory.ParenTBBS.ShortSelectText ) = 0 then + begin + for i := 0 to Count - 1 do begin + if Items[i].AgeSage = gasArch then + inc(Result); + end; + end else begin + for i := 0 to Count - 1 do begin + if Items[i].AgeSage = gasArch then + begin + if Items[i].ShortTitle = '' then + Items[i].ShortTitle := CustomStringReplace(ZenToHan(Items[i].Title), ' ', ''); + if AnsiPos(ParentCategory.ParenTBBS.ShortSelectText, Items[i].ShortTitle) <> 0 then + inc(Result); + end; + end; + end; +end; +function TBoard.GetLiveThreadCount: Integer; +var + i: Integer; +begin + Result := 0; + if Length( ParentCategory.ParenTBBS.ShortSelectText ) = 0 then + begin + for i := 0 to Count - 1 do begin + if Items[i].AgeSage <> gasArch then + inc(Result); + end; + end else begin + for i := 0 to Count - 1 do begin + if Items[i].AgeSage <> gasArch then + begin + if Items[i].ShortTitle = '' then + Items[i].ShortTitle := CustomStringReplace(ZenToHan(Items[i].Title), ' ', ''); + if AnsiPos(ParentCategory.ParenTBBS.ShortSelectText, Items[i].ShortTitle) <> 0 then + inc(Result); + end; + end; + end; +end; +function TBoard.GetArchiveThread(Index: Integer): TThreadItem; +var + i: Integer; + Cnt: Integer; +begin + Result := nil; + Cnt := 0; + if Length( ParentCategory.ParenTBBS.ShortSelectText ) = 0 then + begin + for i := 0 to Count - 1 do begin + if Items[i].AgeSage = gasArch then + begin + if Index = Cnt then begin + Result := Items[i]; + Exit; + end; + inc(Cnt); + end; + end; + end else begin + for i := 0 to Count - 1 do begin + if Items[i].AgeSage = gasArch then + begin + if Items[i].ShortTitle = '' then + Items[i].ShortTitle := CustomStringReplace(ZenToHan(Items[i].Title), ' ', ''); + if AnsiPos(ParentCategory.ParenTBBS.ShortSelectText, Items[i].ShortTitle) <> 0 then begin + if Index = Cnt then begin + Result := Items[i]; + Exit; + end; + inc(Cnt); + end; + end; + end; + end; +end; +function TBoard.GetLiveThread(Index: Integer): TThreadItem; +var + i: Integer; + Cnt: Integer; +begin + Result := nil; + Cnt := 0; + if Length( ParentCategory.ParenTBBS.ShortSelectText ) = 0 then + begin + for i := 0 to Count - 1 do begin + if Items[i].AgeSage <> gasArch then + begin + if Index = Cnt then begin + Result := Items[i]; + Exit; + end; + inc(Cnt); + end; + end; + end else begin + for i := 0 to Count - 1 do begin + if Items[i].AgeSage <> gasArch then + begin + if Items[i].ShortTitle = '' then + Items[i].ShortTitle := CustomStringReplace(ZenToHan(Items[i].Title), ' ', ''); + if AnsiPos(ParentCategory.ParenTBBS.ShortSelectText, Items[i].ShortTitle) <> 0 then begin + if Index = Cnt then begin + Result := Items[i]; + Exit; + end; + inc(Cnt); + end; + end; + end; + end; +end; function TBoard.GetNewThread(Index: Integer): TThreadItem; var i: Integer; diff --git a/Gesture.pas b/Gesture.pas index f258269..de4caa8 100644 --- a/Gesture.pas +++ b/Gesture.pas @@ -106,7 +106,6 @@ var dp: TPoint; sp: TPoint; hwnd: THandle; - r: LongBool; begin Result := False; case Message of diff --git a/Giko.dfm b/Giko.dfm index 5cd19cc..107312f 100644 --- a/Giko.dfm +++ b/Giko.dfm @@ -4469,7 +4469,7 @@ object GikoForm: TGikoForm Left = 4 Top = 244 Bitmap = { - 494C010136003B00040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 + 494C010138003B00040010001000FFFFFFFFFF00FFFFFFFFFFFFFFFF424D3600 000000000000360000002800000040000000F0000000010020000000000000F0 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -4605,126 +4605,126 @@ object GikoForm: TGikoForm 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000FF000000000000000000000000000000000080808000FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C0C0C0000000 0000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000FF000000FF000000FF000000FF000000FF000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000042840000428400004284000042840000428400004284000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000C0C0C000C0C0 + C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000000000000000 + 00000000FF000000FF000000FF0000000000000000000000000080808000FFFF + FF00FF000000FF000000FF000000FF000000FF000000FFFFFF00C0C0C0000000 0000000000000000000000000000000000000000000000000000000000000000 00000000FF000000FF000084840000000000C6C6C600C6C6C600848484000000 FF000000FF000000000084848400000000000000000000000000000000000000 0000004284004284E7004284E7004284E7004284E7004284E7004284E7000042 - 8400000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 8400000000000000000000000000000000000000000000000000C0C0C000FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C0C0C000000000000000 + 0000000000000000FF000000000000000000000000000000000080808000FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C0C0C0000000 0000000000000000000000000000000000000000000000000000000000000000 FF00000000000000FF008484840084848400FFFFFF00FFFFFF00848484000000 0000000000000000FF0000000000000000000000000000000000000000000042 84004284E7000000000000000000000000000000000000000000000000000000 - 0000004284000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 0000004284000000000000000000000000000000000000000000C0C0C000FFFF + FF00C0C0C000C0C0C000C0C0C000C0C0C000FFFFFF00C0C0C000000000000000 + 0000000000000000FF000000000000000000000000000000000080808000FFFF + FF00FF000000FF000000FF000000FF000000FF000000FFFFFF00C0C0C0000000 00000000000000000000000000000000000000000000000000000000FF000000 0000008484000000FF000000FF00C6C6C600FFFFFF00FFFFFF00848484000000 000084848400000000000000FF00000000000000000000000000004284004284 E7004284E7000000000000000000FFFFFF00FFFFFF00FFFFFF004284E7000000 0000000000000042840000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000080808000FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000FF000084 840000FFFF00FFFFFF000000FF000000FF00FFFFFF00FFFFFF00848484000000 000000000000000000000000FF000000000000000000004284004284E7004284 E7004284E7000000000000000000FFFFFF004284E7004284E7004284E7000000 - 0000000000004284E70000428400000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000004284E7000042840000000000000000000000000080808000C0C0 + C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000000000000000 + 000000000000000000000000000000000000000000000000000080808000FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C0C0C000FFFFFF00808080000000 000000000000000000000000000000000000000000000000FF008484840000FF FF00FFFFFF0000FFFF00000000000000FF000000FF00FFFFFF00848484000000 00000000000000000000000000000000FF0000000000004284004284E7004284 E7004284E7000000000000000000FFFFFF004284E7004284E7004284E7000000 - 0000000000004284E70000428400000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000004284E7000042840000000000000000000000000080808000FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C0C0C000000000000000 + 00000000000000E000000000000000000000000000000000000080808000FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C0C0C00080808000000000000000 000000000000000000000000000000000000008484000000FF00C6C6C600FFFF FF0000FFFF00FFFFFF0000000000848484000000FF000000FF00848484000000 00008484840084848400848484000000FF0000000000004284004284E7004284 E7004284E7000000000000000000000000000000000000000000000000000000 - 00004284E7004284E70000428400000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 00004284E7004284E7000042840000000000000000000000000080808000FFFF + FF00FF000000FF000000FF000000FF000000FFFFFF00C0C0C000000000000000 + 000000E0000000E0000000E00000000000000000000000000000808080008080 + 8000808080008080800080808000808080008080800000000000000000000000 000000000000000000000000000000000000008484000000FF00C6C6C60000FF FF00FFFFFF0000FFFF0000000000C6C6C600000000000000FF000000FF000000 00000000000000000000000000000000FF0000000000004284004284E7004284 E7004284E7000000000000000000FFFFFF00FFFFFF00FFFFFF00000000004284 - E7004284E7004284E70000428400000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + E7004284E7004284E7000042840000000000000000000000000080808000FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C0C0C000000000000000 + 00000000000000E0000000000000000000000000000000000000000000000000 + 00000000000000FFFF0000000000000000000000000000000000000000000000 000000000000000000000000000000000000008484000000FF00C6C6C600FFFF FF0000FFFF00FFFFFF000000000000000000FFFFFF00FFFFFF000000FF000000 FF000000000000000000000000000000FF0000000000004284004284E7004284 E7004284E7000000000000000000FFFFFF004284E7004284E700000000000000 - 00004284E7004284E70000428400000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 00004284E7004284E7000042840000000000000000000000000080808000FFFF + FF00FF000000FF000000FF000000FF000000FFFFFF00C0C0C000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000FFFF0000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000008484000000FF0000FF FF00FFFFFF0000FFFF0000000000C6C6C600FFFFFF00FFFFFF00848484000000 FF000000FF00000000000000FF000000000000000000004284004284E7004284 E7004284E7000000000000000000FFFFFF004284E7004284E700000000000000 - 00004284E7004284E70000428400000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 00004284E7004284E7000042840000000000000000000000000080808000FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C0C0C000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000FFFF0000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000FF000084 840000FFFF00FFFFFF0000000000C6C6C600FFFFFF00FFFFFF00848484000000 00000000FF000000FF000000FF00000000000000000000000000004284004284 E7004284E7000000000000000000FFFFFF00FFFFFF00FFFFFF00000000000000 - 00004284E7000042840000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 00004284E700004284000000000000000000000000000000000080808000FFFF + FF00FF000000FF000000FF000000FF000000FFFFFF00C0C0C000000000000000 + 0000000000000000FF0000000000000000000000000000000000000000000000 + 00000000000000FFFF0000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 FF000084840000FFFF008484840084848400C6C6C600FFFFFF00848484000000 0000000000000000FF0084848400000000000000000000000000000000000042 84004284E7000000000000000000000000000000000000000000000000004284 - E700004284000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + E70000428400000000000000000000000000000000000000000080808000FFFF + FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000 + 0000000000000000FF00000000000000000000000000000000000000000000FF + FF0000FFFF0000FFFF0000FFFF0000FFFF000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 00000000FF000000FF0000FFFF0000000000C6C6C600C6C6C600000000000000 FF000000FF000000000000000000000000000000000000000000000000000000 0000004284004284E7004284E7004284E7004284E7004284E7004284E7000042 - 8400000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 840000000000000000000000000000000000000000000000000080808000FFFF + FF00FFFFFF00FFFFFF00FFFFFF00C0C0C000FFFFFF0080808000000000000000 + 00000000FF000000FF000000FF00000000000000000000000000000000000000 + 00000000000000FFFF0000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000FF000000FF000000FF000000FF000000FF000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000042840000428400004284000042840000428400004284000000 + 000000000000000000000000000000000000000000000000000080808000FFFF + FF00FFFFFF00FFFFFF00FFFFFF00C0C0C0008080800000000000000000000000 + 0000000000000000FF0000000000000000000000000000000000000000000000 + 00000000000000FFFF0000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000808080008080 + 8000808080008080800080808000808080000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -6397,11 +6397,11 @@ object GikoForm: TGikoForm 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000FE7FFFFF00000000FC1FF81F00000000 - F005F00F00000000E01BE00700000000C015C00300000000801D800100000000 - 001E8001000000000010800100000000001E800100000000000E800100000000 - 8005800100000000C011C00300000000E019E00700000000F027F00F00000000 - FC1FF81F00000000FE7FFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFC003 + 00000000000000000000000000000000FE7FFFFFC01BC00FFC1FF81FC011C00F + F005F00FC01BC00FE01BE007C01BC00FC015C003C01FC00F801D8001C01FC01F + 001E8001C01BC03F00108001C011C07F001E8001C01BFBFF000E8001C01FFBFF + 80058001C01FFBFFC011C003C01BFBFFE019E007C01BE0FFF027F00FC031FBFF + FC1FF81FC07BFBFFFE7FFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC003 FFFFFFFFFFFFC003FC01803FFC01C003FC01803C3C01C003FC01803C3C01C003 FC01803C3C01C003FC01803C3C01C003FC01803C3C01C003C00180000001C003 C00180000001C003C00180000001C003C00180000001C003FFFFFFFC3FFFC003 @@ -6453,8 +6453,7 @@ object GikoForm: TGikoForm 00000000C003FFFF0000000080017FFF0000000080013F7F0000000000000E3F 000000000000861F800000000000C20FC00100000000E007F81F00000000F043 F00F00000000F861E00700008001FC70C003803F8001FEFCF81FC07FC003FFFE - F81FE0FFE007FFFFF83FFFFFF81FFFFF00000000000000000000000000000000 - 000000000000} + F81FE0FFE007FFFFF83FFFFFF81FFFFF} end object ItemImageList: TImageList Left = 4 @@ -7211,7 +7210,7 @@ object GikoForm: TGikoForm Left = 4 Top = 308 Bitmap = { - 494C01010400090004000B001000FFFFFFFFFF00FFFFFFFFFFFFFFFF424D3600 + 494C01010400090004000B001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 00000000000036000000280000002C0000003000000001002000000000000021 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -7491,7 +7490,8 @@ object GikoForm: TGikoForm FFFFFFFFF0700000FFFFFFFFF0700000E0FFFFEFE0300000E0E003C7E0300000 80200383E030000080300701F070000080380E00F0700000803C1C007DF00000 803E3C007FF00000E0FF7FFFFFF00000E0FFFFFFFFF00000FFFFFFFFFFF00000 - FFFFFFFFFFF00000FFFFFFFFFFF00000} + FFFFFFFFFFF00000FFFFFFFFFFF0000000000000000000000000000000000000 + 000000000000} end object AddressImageList: TImageList Left = 4 @@ -7883,6 +7883,14 @@ object GikoForm: TGikoForm GroupIndex = 1 RadioItem = True end + object N76: TMenuItem + Action = GikoDM.LiveItemAction + GroupIndex = 1 + end + object DAT3: TMenuItem + Action = GikoDM.ArchiveItemAction + GroupIndex = 1 + end object S2: TMenuItem Action = GikoDM.SelectItemAction AutoCheck = True @@ -8712,6 +8720,12 @@ object GikoForm: TGikoForm Action = GikoDM.NewItemAction AutoCheck = True end + object N75: TMenuItem + Action = GikoDM.LiveItemAction + end + object DAT2: TMenuItem + Action = GikoDM.ArchiveItemAction + end object N68: TMenuItem Caption = '-' end diff --git a/Giko.pas b/Giko.pas index ec2e81d..91224d7 100644 --- a/Giko.pas +++ b/Giko.pas @@ -404,6 +404,10 @@ type GikoApplicationEvents: TApplicationEvents; N22: TMenuItem; N42: TMenuItem; + DAT2: TMenuItem; + N75: TMenuItem; + DAT3: TMenuItem; + N76: TMenuItem; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure BrowserStatusTextChange(Sender: TObject; @@ -1000,6 +1004,16 @@ begin GikoDM.NewItemAction.Checked := True; ViewType := gvtNew; end; + gtrLive: + begin + GikoDM.LiveItemAction.Checked := True; + ViewType := gvtLive; + end; + gtrArch: + begin + GikoDM.ArchiveItemAction.Checked := True; + ViewType := gvtArch; + end; end; @@ -2279,7 +2293,6 @@ var s: string; boardPlugIn : TBoardPlugIn; i: Integer; - browserRec : TBrowserRecord; Res : TResRec; begin try @@ -2332,15 +2345,12 @@ begin end; if GikoSys.Setting.BrowserTabVisible then begin if GetActiveContent = Item.ThreadItem then - browserRec := InsertBrowserTab(Item.ThreadItem) + InsertBrowserTab(Item.ThreadItem) else if (ListView.Selected <> nil ) and ( TObject(ListView.Selected.Data) is TThreadItem ) and ( Item.ThreadItem = TThreadItem(ListView.Selected.Data)) then - browserRec := InsertBrowserTab(Item.ThreadItem, True) + InsertBrowserTab(Item.ThreadItem, True) else - browserRec := InsertBrowserTab(Item.ThreadItem, False); -// if browserRec.Thread = BrowserNullTab.Thread then begin -// browserRec.Move(BrowserNullTab.Movement); -// BrowserNullTab.Movement := ''; -// end; + InsertBrowserTab(Item.ThreadItem, False); + end else begin if (GetActiveContent = Item.ThreadItem) or (FActiveContent = nil) or(FActiveContent.Browser = BrowserNullTab.Browser) then InsertBrowserTab(Item.ThreadItem); @@ -2377,6 +2387,8 @@ begin gvtAll: ListView.Items.Count := TBoard(ActiveList).Count; gvtLog: ListView.Items.Count := TBoard(ActiveList).LogThreadCount; gvtNew: ListView.Items.Count := TBoard(ActiveList).NewThreadCount; + gvtArch: ListView.Items.Count := TBoard(ActiveList).ArchiveThreadCount; + gvtLive: ListView.Items.Count := TBoard(ActiveList).LiveThreadCount; gvtUser: ListView.Items.Count := TBoard(ActiveList).UserThreadCount; end; end; @@ -2860,7 +2872,10 @@ begin //gvtAll: ListView.Items.Count := Board.Count; gvtLog: Board.LogThreadCount := Board.GetLogThreadCount; gvtNew: Board.NewThreadCount := Board.GetNewThreadCount; + gvtArch: Board.ArchiveThreadCount := Board.GetArchiveThreadCount; + gvtLive: Board.LiveThreadCount := Board.GetLiveThreadCount; gvtUser: Board.UserThreadCount:= Board.GetUserThreadCount; + end; SetActiveList(Board); @@ -2892,6 +2907,14 @@ begin ListView.Canvas.Font.Color := clGreen; s := '‚±‚̃rƒ…[‚ɂ͐V’…ƒAƒCƒeƒ€‚ª‚ ‚è‚Ü‚¹‚ñB'; end; + gvtArch: begin + ListView.Canvas.Font.Color := clFuchsia; + s := '‚±‚̃rƒ…[‚É‚ÍDAT—Ž‚¿ƒAƒCƒeƒ€‚ª‚ ‚è‚Ü‚¹‚ñB'; + end; + gvtLive: begin + ListView.Canvas.Font.Color := clMaroon; + s := '‚±‚̃rƒ…[‚ɂ͐¶‘¶ƒAƒCƒeƒ€‚ª‚ ‚è‚Ü‚¹‚ñB'; + end; gvtUser: begin ListView.Canvas.Font.Color := clNavy; s := '‚±‚̃rƒ…[‚ɂ̓^ƒCƒgƒ‹‚ªu%sv‚ðŠÜ‚ÞƒAƒCƒeƒ€‚ª‚ ‚è‚Ü‚¹‚ñB'; diff --git a/GikoDataModule.dfm b/GikoDataModule.dfm index ae617b9..715d2a5 100644 --- a/GikoDataModule.dfm +++ b/GikoDataModule.dfm @@ -339,6 +339,24 @@ object GikoDM: TGikoDM OnExecute = NewItemActionExecute OnUpdate = DependActiveListTBoardActionUpdate end + object ArchiveItemAction: TAction + Category = #26495 + Caption = 'DAT'#33853#12385#12473#12524#12483#12489#34920#31034'(&D)' + GroupIndex = 1 + Hint = 'DAT'#33853#12385#12473#12524#12483#12489#12398#12415#34920#31034#12377#12427 + ImageIndex = 55 + OnExecute = ArchiveItemActionExecute + OnUpdate = DependActiveListTBoardActionUpdate + end + object LiveItemAction: TAction + Category = #26495 + Caption = #29983#23384#12473#12524#12483#12489#34920#31034'(&S)' + GroupIndex = 1 + Hint = #29983#23384#12375#12390#12356#12427#12473#12524#12483#12489#12398#12415#12434#34920#31034#12377#12427 + ImageIndex = 54 + OnExecute = LiveItemActionExecute + OnUpdate = DependActiveListTBoardActionUpdate + end object ThreadRangeAction: TAction Category = #26495 AutoCheck = True @@ -1219,7 +1237,7 @@ object GikoDM: TGikoDM Left = 44 Top = 60 Bitmap = { - 494C010136003B00040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 + 494C010138003B00040010001000FFFFFFFFFF00FFFFFFFFFFFFFFFF424D3600 000000000000360000002800000040000000F0000000010020000000000000F0 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1355,126 +1373,126 @@ object GikoDM: TGikoDM 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000004C4C4C000000000000000000000000000000000080808000FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C0C0C0000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000008484000000000084848400000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000008484840084848400848484008484840084848400848484000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000C0C0C000C0C0 + C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000000000000000 + 00004C4C4C004C4C4C004C4C4C0000000000000000000000000080808000FFFF + FF001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C00FFFFFF00C0C0C0000000 0000000000000000000000000000000000000000000000000000000000000000 000000000000000000000084840000000000C6C6C600C6C6C600848484000000 0000000000000000000084848400000000000000000000000000000000000000 000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484 - 8400000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 8400000000000000000000000000000000000000000000000000C0C0C000FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C0C0C000000000000000 + 0000000000004C4C4C000000000000000000000000000000000080808000FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C0C0C0000000 0000000000000000000000000000000000000000000000000000000000000000 000000000000008484008484840084848400FFFFFF00FFFFFF00848484000000 0000000000008484840000000000000000000000000000000000000000008484 8400C6C6C6000000000000000000000000000000000000000000000000000000 - 0000848484000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 0000848484000000000000000000000000000000000000000000C0C0C000FFFF + FF00C0C0C000C0C0C000C0C0C000C0C0C000FFFFFF00C0C0C000000000000000 + 0000000000004C4C4C000000000000000000000000000000000080808000FFFF + FF001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C00FFFFFF00C0C0C0000000 0000000000000000000000000000000000000000000000000000000000000000 00000084840000FFFF0000000000C6C6C600FFFFFF00FFFFFF00848484000000 000084848400000000000000000000000000000000000000000084848400C6C6 C600C6C6C6000000000000000000FFFFFF00FFFFFF00FFFFFF00C6C6C6000000 0000000000008484840000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000080808000FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000084 840000FFFF00FFFFFF0000000000C6C6C600FFFFFF00FFFFFF00848484000000 0000000000000000000000000000000000000000000084848400C6C6C600C6C6 C600C6C6C6000000000000000000FFFFFF00C6C6C600C6C6C600C6C6C6000000 - 000000000000C6C6C60084848400000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000C6C6C6008484840000000000000000000000000080808000C0C0 + C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000000000000000 + 000000000000000000000000000000000000000000000000000080808000FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C0C0C000FFFFFF00808080000000 00000000000000000000000000000000000000000000008484008484840000FF FF00FFFFFF0000FFFF000000000000000000FFFFFF00FFFFFF00848484000000 0000000000000000000000000000000000000000000084848400C6C6C600C6C6 C600C6C6C6000000000000000000FFFFFF00C6C6C600C6C6C600C6C6C6000000 - 000000000000C6C6C60084848400000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000C6C6C6008484840000000000000000000000000080808000FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C0C0C000000000000000 + 000000000000848484000000000000000000000000000000000080808000FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C0C0C00080808000000000000000 0000000000000000000000000000000000000084840000FFFF00C6C6C600FFFF FF0000FFFF00FFFFFF00000000008484840000000000FFFFFF00848484000000 0000848484008484840084848400848484000000000084848400C6C6C600C6C6 C600C6C6C6000000000000000000000000000000000000000000000000000000 - 0000C6C6C600C6C6C60084848400000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 0000C6C6C600C6C6C6008484840000000000000000000000000080808000FFFF + FF001C1C1C001C1C1C001C1C1C001C1C1C00FFFFFF00C0C0C000000000000000 + 0000848484008484840084848400000000000000000000000000808080008080 + 8000808080008080800080808000808080008080800000000000000000000000 0000000000000000000000000000000000000084840000FFFF00C6C6C60000FF FF00FFFFFF0000FFFF0000000000C6C6C60000000000FFFFFF00848484000000 0000000000000000000000000000000000000000000084848400C6C6C600C6C6 C600C6C6C6000000000000000000FFFFFF00FFFFFF00FFFFFF0000000000C6C6 - C600C6C6C600C6C6C60084848400000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + C600C6C6C600C6C6C6008484840000000000000000000000000080808000FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C0C0C000000000000000 + 0000000000008484840000000000000000000000000000000000000000000000 + 000000000000E2E2E20000000000000000000000000000000000000000000000 00000000000000000000000000000000000000848400FFFFFF00C6C6C600FFFF FF0000FFFF00FFFFFF000000000000000000FFFFFF00FFFFFF00848484000000 0000000000000000000000000000000000000000000084848400C6C6C600C6C6 C600C6C6C6000000000000000000FFFFFF00C6C6C600C6C6C600000000000000 - 0000C6C6C600C6C6C60084848400000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 0000C6C6C600C6C6C6008484840000000000000000000000000080808000FFFF + FF001C1C1C001C1C1C001C1C1C001C1C1C00FFFFFF00C0C0C000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000E2E2E20000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000008484000084840000FF FF00FFFFFF0000FFFF0000000000C6C6C600FFFFFF00FFFFFF00848484000000 0000848484000000000000000000000000000000000084848400C6C6C600C6C6 C600C6C6C6000000000000000000FFFFFF00C6C6C600C6C6C600000000000000 - 0000C6C6C600C6C6C60084848400000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 0000C6C6C600C6C6C6008484840000000000000000000000000080808000FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C0C0C000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000E2E2E20000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000084 840000FFFF00FFFFFF0000000000C6C6C600FFFFFF00FFFFFF00848484000000 000000000000848484000000000000000000000000000000000084848400C6C6 C600C6C6C6000000000000000000FFFFFF00FFFFFF00FFFFFF00000000000000 - 0000C6C6C6008484840000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 0000C6C6C600848484000000000000000000000000000000000080808000FFFF + FF001C1C1C001C1C1C001C1C1C001C1C1C00FFFFFF00C0C0C000000000000000 + 0000000000004C4C4C0000000000000000000000000000000000000000000000 + 000000000000E2E2E20000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 00000084840000FFFF008484840084848400C6C6C600FFFFFF00848484000000 0000000000000000000084848400000000000000000000000000000000008484 8400C6C6C600000000000000000000000000000000000000000000000000C6C6 - C600848484000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + C60084848400000000000000000000000000000000000000000080808000FFFF + FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000 + 0000000000004C4C4C000000000000000000000000000000000000000000E2E2 + E200E2E2E200E2E2E200E2E2E200E2E2E2000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000084840000FFFF0000000000C6C6C600C6C6C600000000000000 0000000000000000000000000000000000000000000000000000000000000000 000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484 - 8400000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 840000000000000000000000000000000000000000000000000080808000FFFF + FF00FFFFFF00FFFFFF00FFFFFF00C0C0C000FFFFFF0080808000000000000000 + 00004C4C4C004C4C4C004C4C4C00000000000000000000000000000000000000 + 000000000000E2E2E20000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000848400848484000000000084848400000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000008484840084848400848484008484840084848400848484000000 + 000000000000000000000000000000000000000000000000000080808000FFFF + FF00FFFFFF00FFFFFF00FFFFFF00C0C0C0008080800000000000000000000000 + 0000000000004C4C4C0000000000000000000000000000000000000000000000 + 000000000000E2E2E20000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000808080008080 + 8000808080008080800080808000808080000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -3147,11 +3165,11 @@ object GikoDM: TGikoDM 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000FE7FFFFF00000000FC3FF81F00000000 - F81DF00F00000000F01BE00700000000E017C00300000000801F800100000000 - 001F8001000000000010800100000000001F800100000000001F800100000000 - 8017800100000000E01BC00300000000F01DE00700000000F83FF00F00000000 - FC3FF81F00000000FE7FFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFC003 + 00000000000000000000000000000000FE7FFFFFC01BC00FFC3FF81FC011C00F + F81DF00FC01BC00FF01BE007C01BC00FE017C003C01FC00F801F8001C01FC01F + 001F8001C01BC03F00108001C011C07F001F8001C01BFBFF001F8001C01FFBFF + 80178001C01FFBFFE01BC003C01BFBFFF01DE007C01BE0FFF83FF00FC031FBFF + FC3FF81FC07BFBFFFE7FFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC003 FFFFFFFFFFFFC003FC01803FFC01C003FC01803C3C01C003FC01803C3C01C003 FC01803C3C01C003FC01803C3C01C003FC01803C3C01C003C00180000001C003 C00180000001C003C00180000001C003C00180000001C003FFFFFFFC3FFFC003 @@ -3203,8 +3221,7 @@ object GikoDM: TGikoDM 00000000C003FFFF0000000080017FFF0000000080013F7F0000000000000E3F 000000000000861F800000000000C20FC00100000000E007F81F00000000F043 F00F00000000F861E00700008001FC70C003803F8001FEFCF81FC07FC003FFFE - F81FE0FFE007FFFFF83FFFFFF81FFFFF00000000000000000000000000000000 - 000000000000} + F81FE0FFE007FFFFF83FFFFFF81FFFFF} end object SaveDialog: TSaveDialog Left = 48 diff --git a/GikoDataModule.pas b/GikoDataModule.pas index d71fbee..cada351 100644 --- a/GikoDataModule.pas +++ b/GikoDataModule.pas @@ -215,6 +215,8 @@ type ThreadSizeCalcForFileAction: TAction; SetInputAssistAction: TAction; OpenFindDialogAction: TAction; + ArchiveItemAction: TAction; + LiveItemAction: TAction; procedure EditNGActionExecute(Sender: TObject); procedure ReloadActionExecute(Sender: TObject); procedure GoFowardActionExecute(Sender: TObject); @@ -399,6 +401,8 @@ type procedure ThreadSizeCalcForFileActionExecute(Sender: TObject); procedure SetInputAssistActionExecute(Sender: TObject); procedure OpenFindDialogActionExecute(Sender: TObject); + procedure ArchiveItemActionExecute(Sender: TObject); + procedure LiveItemActionExecute(Sender: TObject); private { Private éŒ¾ } procedure ClearResFilter; @@ -411,6 +415,7 @@ type procedure SelectThreadSaveToFile(dat: Boolean); function GetSortProperties(List: TObject;var vSortOrder: Boolean): Boolean; procedure RecalcThreadSize(limit : Integer); + procedure ClearSelectComboBox; public { Public éŒ¾ } procedure RepaintStatusBar; @@ -2488,6 +2493,17 @@ begin end; end; // ************************************************************************* +//! SelectComboBox‚Ì’l‚ðƒNƒŠƒA‚·‚é +// ************************************************************************* +procedure TGikoDM.ClearSelectComboBox; +begin + if GikoForm.SelectComboBoxPanel.Visible then begin + GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME; + GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR; + GikoForm.ListView.SetFocus; + end; +end; +// ************************************************************************* //! ƒXƒŒƒbƒh‚ð‚·‚×‚Ä•\Ž¦‚·‚é // ************************************************************************* procedure TGikoDM.AllItemActionExecute(Sender: TObject); @@ -2500,11 +2516,7 @@ begin // SelectComboBox ‚Ì—š—ð‚ðXV‚µ‚Ä‚¨‚­ GikoForm.ModifySelectList; // SelectComboBox ‚Ì’l‚ðƒNƒŠƒA - if GikoForm.SelectComboBoxPanel.Visible then begin - GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME; - GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR; - GikoForm.ListView.SetFocus; - end; + ClearSelectComboBox; except end; end; @@ -2521,11 +2533,7 @@ begin // SelectComboBox ‚Ì—š—ð‚ðXV‚µ‚Ä‚¨‚­ GikoForm.ModifySelectList; // SelectComboBox ‚Ì’l‚ðƒNƒŠƒA - if GikoForm.SelectComboBoxPanel.Visible then begin - GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME; - GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR; - GikoForm.ListView.SetFocus; - end; + ClearSelectComboBox; except end; end; @@ -2543,14 +2551,45 @@ begin // SelectComboBox ‚Ì—š—ð‚ðXV‚µ‚Ä‚¨‚­ GikoForm.ModifySelectList; // SelectComboBox ‚Ì’l‚ðƒNƒŠƒA - if GikoForm.SelectComboBoxPanel.Visible then begin - GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME; - GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR; - GikoForm.ListView.SetFocus; - end; + ClearSelectComboBox; + except + end; +end; +// ************************************************************************* +//! DAT—Ž‚¿ƒXƒŒƒbƒh‚Ì‚Ý•\Ž¦‚·‚é +// ************************************************************************* +procedure TGikoDM.ArchiveItemActionExecute(Sender: TObject); +begin + try + if GikoForm.ViewType <> gvtArch then + GikoForm.SetListViewType(gvtArch); + GikoSys.Setting.ThreadRange := gtrArch; + ArchiveItemAction.Checked := True; + // SelectComboBox ‚Ì—š—ð‚ðXV‚µ‚Ä‚¨‚­ + GikoForm.ModifySelectList; + // SelectComboBox ‚Ì’l‚ðƒNƒŠƒA + ClearSelectComboBox; + except + end; +end; +// ************************************************************************* +//! ¶‘¶ƒXƒŒƒbƒh‚Ì‚Ý•\Ž¦‚·‚é +// ************************************************************************* +procedure TGikoDM.LiveItemActionExecute(Sender: TObject); +begin + try + if GikoForm.ViewType <> gvtLive then + GikoForm.SetListViewType(gvtLive); + GikoSys.Setting.ThreadRange := gtrLive; + LiveItemAction.Checked := True; + // SelectComboBox ‚Ì—š—ð‚ðXV‚µ‚Ä‚¨‚­ + GikoForm.ModifySelectList; + // SelectComboBox ‚Ì’l‚ðƒNƒŠƒA + ClearSelectComboBox; except end; end; + // ************************************************************************* //! ƒXƒŒƒbƒh‚Ì•\Ž¦”͈͂ðÝ’è // ************************************************************************* @@ -2560,6 +2599,8 @@ begin gtrAll: AllItemAction.Execute; gtrLog: LogItemAction.Execute; gtrNew: NewItemAction.Execute; + gtrArch: ArchiveItemAction.Execute; + gtrLive: LiveItemAction.Execute; end; end; // ************************************************************************* @@ -3818,5 +3859,6 @@ begin end; end; + end. diff --git a/GikoSystem.pas b/GikoSystem.pas index 7895d53..a30b6b5 100644 --- a/GikoSystem.pas +++ b/GikoSystem.pas @@ -890,9 +890,9 @@ begin sl.Add(FOLDER_INDEX_VERSION); // ƒXƒŒ”ԍ†•Û‘¶‚Ì‚½‚߃\[ƒg - Sort.SortNoFlag := true; - Sort.SortOrder := true; - Sort.SortIndex := 0; + Sort.SetSortNoFlag(true); + Sort.SetSortOrder(true); + Sort.SetSortIndex(0); //Sort.SortNonAcquiredCountFlag := GikoSys.Setting.NonAcquiredCount; Board.CustomSort(ThreadItemSortProc); diff --git a/ItemDownload.pas b/ItemDownload.pas index 4b06cac..c229d17 100644 --- a/ItemDownload.pas +++ b/ItemDownload.pas @@ -981,9 +981,9 @@ begin //dat—Ž‚¿ƒXƒŒ‚̃\[ƒg‡‚ðŒˆ’è‚·‚邽‚߂Ƀ\[ƒg‚·‚é if GikoSys.Setting.DatOchiSortIndex >= 0 then begin - Sort.SortNoFlag := true; - Sort.SortOrder := GikoSys.Setting.DatOchiSortOrder; - Sort.SortIndex := GikoSys.Setting.DatOchiSortIndex; + Sort.SetSortNoFlag(true); + Sort.SetSortOrder(GikoSys.Setting.DatOchiSortOrder); + Sort.SetSortIndex(GikoSys.Setting.DatOchiSortIndex); //Sort.SortNonAcquiredCountFlag := GikoSys.Setting.NonAcquiredCount; Board.CustomSort(ThreadItemSortProc); end; diff --git a/ListViewUtils.pas b/ListViewUtils.pas index 68e1c9c..dfe415c 100644 --- a/ListViewUtils.pas +++ b/ListViewUtils.pas @@ -80,9 +80,9 @@ begin // ƒLƒƒƒrƒlƒbƒg•\Ž¦‘O‚ɍă\[ƒg if ( GikoSys.Setting.BBSSortIndex <> 0 ) or ( GikoSys.Setting.BBSSortOrder <> true ) then begin - Sort.SortOrder := true; - Sort.SortIndex := 0; - Sort.SortNoFlag := true; + Sort.SetSortOrder(true); + Sort.SetSortIndex(0); + Sort.SetSortNoFlag(true); inBBS.Sort(CategorySortProc); end; @@ -99,9 +99,9 @@ begin // ƒLƒƒƒrƒlƒbƒg•\Ž¦‘O‚ɍă\[ƒg if ( GikoSys.Setting.CategorySortIndex <> 0 ) or ( GikoSys.Setting.CategorySortOrder <> true ) then begin - Sort.SortOrder := true; - Sort.SortIndex := 0; - Sort.SortNoFlag := true; + Sort.SetSortOrder(true); + Sort.SetSortIndex(0); + Sort.SetSortNoFlag(true); Category.CustomSort(BoardSortProc); end; @@ -221,31 +221,31 @@ begin ListView.Column[ idx ].ImageIndex := ITEM_ICON_SORT2; - Sort.SortNoFlag := NumberVisible; + Sort.SetSortNoFlag(NumberVisible); if TObject( GikoForm.ActiveList ) is TBBS then begin wkBBS := TBBS( GikoForm.ActiveList ); orderList := GikoSys.Setting.BBSColumnOrder; - Sort.SortOrder := vSortOrder; - Sort.SortIndex := Integer( orderList[ idx ] ); - GikoSys.Setting.BBSSortIndex := Sort.SortIndex; - GikoSys.Setting.BBSSortOrder := Sort.SortOrder; + Sort.SetSortOrder(vSortOrder); + Sort.SetSortIndex(Integer( orderList[ idx ] )); + GikoSys.Setting.BBSSortIndex := Sort.GetSortIndex; + GikoSys.Setting.BBSSortOrder := Sort.GetSortOrder; wkBBS.Sort(Sort.CategorySortProc); end else if TObject( GikoForm.ActiveList ) is TCategory then begin wkCategory := TCategory( GikoForm.ActiveList ); orderList := GikoSys.Setting.CategoryColumnOrder; - Sort.SortOrder := vSortOrder; - Sort.SortIndex := Integer( orderList[ idx ] ); - GikoSys.Setting.CategorySortIndex := Sort.SortIndex; - GikoSys.Setting.CategorySortOrder := Sort.SortOrder; + Sort.SetSortOrder(vSortOrder); + Sort.SetSortIndex(Integer( orderList[ idx ] )); + GikoSys.Setting.CategorySortIndex := Sort.GetSortIndex; + GikoSys.Setting.CategorySortOrder := Sort.GetSortOrder; wkCategory.CustomSort(BoardSortProc); end else if TObject( GikoForm.ActiveList ) is TBoard then begin wkBoard := TBoard( GikoForm.ActiveList ); orderList := GikoSys.Setting.BoardColumnOrder; - Sort.SortOrder := vSortOrder; - Sort.SortIndex := Integer( orderList[ idx ] ); - GikoSys.Setting.BoardSortIndex := Sort.SortIndex; - GikoSys.Setting.BoardSortOrder := Sort.SortOrder; + Sort.SetSortOrder(vSortOrder); + Sort.SetSortIndex(Integer( orderList[ idx ] )); + GikoSys.Setting.BoardSortIndex := Sort.GetSortIndex; + GikoSys.Setting.BoardSortOrder := Sort.GetSortOrder; wkBoard.CustomSort(ThreadItemSortProc); end; @@ -405,6 +405,16 @@ begin Board.NewThreadCount := Board.GetNewThreadCount; ListView.Items.Count := Board.NewThreadCount; end; + gvtArch: + begin + Board.ArchiveThreadCount := Board.GetArchiveThreadCount; + ListView.Items.Count := Board.ArchiveThreadCount; + end; + gvtLive: + begin + Board.LiveThreadCount := Board.GetLiveThreadCount; + ListView.Items.Count := Board.LiveThreadCount; + end; gvtUser: begin Board.UserThreadCount:= Board.GetUserThreadCount; @@ -555,6 +565,8 @@ begin gvtAll: BoardCnt := Board.Count; gvtLog: BoardCnt := Board.LogThreadCount; gvtNew: BoardCnt := Board.NewThreadCount; + gvtArch: BoardCnt := Board.ArchiveThreadCount; + gvtLive: BoardCnt := Board.LiveThreadCount; gvtUser: BoardCnt := Board.UserThreadCount; else BoardCnt := 0; @@ -570,6 +582,8 @@ begin ThreadItem := TThreadItem(Board.Items[Item.Index]); gvtLog: ThreadItem := Board.GetLogThread(Item.Index); gvtNew: ThreadItem := Board.GetNewThread(Item.Index); + gvtArch: ThreadItem := Board.GetArchiveThread(Item.Index); + gvtLive: ThreadItem := Board.GetLiveThread(Item.Index); gvtUser: ThreadItem := Board.GetUserThread(Item.Index); end; ////////////////////////////////////////////////////////////////////////// @@ -659,7 +673,11 @@ begin Item.SubItems[ idx ] := FormatDateTime('yyyy/mm/dd hh:mm:ss', Thread.LastModified); gbcVigor: begin - spanday := DaySpan(Sort.GetSortDate, Thread.CreateDate); + if (Thread.AgeSage <> gasArch) then begin + spanday := DaySpan(Sort.GetSortDate, Thread.CreateDate); + end else begin + spanday := DaySpan(Thread.LastModified, Thread.CreateDate); + end; if (spanday > 0) then begin Item.SubItems[ idx ] := Format('%f', [Thread.AllResCount / spanday]); end else begin @@ -701,7 +719,12 @@ begin Item.SubItems[ idx ] := ''; gbcVigor: begin - spanday := DaySpan(Sort.GetSortDate, Thread.CreateDate); + if (Thread.AgeSage <> gasArch) then begin + spanday := DaySpan(Sort.GetSortDate, Thread.CreateDate); + end else begin + spanday := DaySpan(Thread.LastModified, Thread.CreateDate); + end; + if (spanday > 0) then begin Item.SubItems[ idx ] := Format('%f', [Thread.AllResCount / spanday]); end else begin diff --git a/Setting.pas b/Setting.pas index beb2a6c..32eafd8 100644 --- a/Setting.pas +++ b/Setting.pas @@ -32,7 +32,7 @@ type TGikoResRange = (grrAll, grrSelect, grrKoko, grrNew); /// ƒXƒŒƒbƒhˆê——•\Ž¦”ÍˆÍ - TGikoThreadRange = (gtrAll, gtrSelect, gtrLog, gtrNew); + TGikoThreadRange = (gtrAll, gtrSelect, gtrLog, gtrNew, gtrLive, gtrArch); //! ƒXƒpƒ€ƒtƒBƒ‹ƒ^[ƒAƒ‹ƒSƒŠƒYƒ€ TGikoSpamFilterAlgorithm = ( diff --git a/Sort.pas b/Sort.pas index a795b36..d013076 100644 --- a/Sort.pas +++ b/Sort.pas @@ -14,14 +14,60 @@ uses function CompareDate(Item1, Item2: TDateTime): Integer; procedure SetSortDate(Date: TDateTime); function GetSortDate(): TDateTime; -var - SortOrder: Boolean; - SortIndex: Integer; - SortNoFlag: Boolean; + procedure SetSortOrder(Order: Boolean); + function GetSortOrder: Boolean; + procedure SetSortIndex(Index: Integer); + function GetSortIndex: Integer; + procedure SetSortNoFlag(Flag: Boolean); + function GetSortNoFlag: Boolean; implementation + var FSortDate: TDateTime; + FSortOrder: Boolean; + FSortIndex: Integer; + FSortNoFlag: Boolean; + +function CaclVigor(Thread: TThreadItem): Double; +var + span : Double; +begin + if (Thread.AgeSage <> gasArch) then begin + span := DaySpan(Sort.GetSortDate, Thread.CreateDate); + end else begin + span := DaySpan(Thread.LastModified, Thread.CreateDate); + end; + if (span > 0) then begin + Result := Thread.AllResCount / span; + end else begin + Result := 0; + end; +end; +procedure SetSortOrder(Order: Boolean); +begin + FSortOrder := Order; +end; +function GetSortOrder: Boolean; +begin + Result := FSortOrder; +end; +procedure SetSortIndex(Index: Integer); +begin + FSortIndex := Index; +end; +function GetSortIndex: Integer; +begin + Result := FSortIndex; +end; +procedure SetSortNoFlag(Flag: Boolean); +begin + FSortNoFlag := Flag; +end; +function GetSortNoFlag: Boolean; +begin + Result := FSortNoFlag; +end; function CategorySortProc(Item1, Item2: Pointer): integer; var @@ -31,9 +77,9 @@ begin CategoryItem1 := TCategory(Item1); CategoryItem2 := TCategory(Item2); - case TGikoBBSColumnID( SortIndex ) of + case TGikoBBSColumnID( FSortIndex ) of gbbscTitle: - if SortNoFlag then + if FSortNoFlag then Result := CompareInt(CategoryItem1.No, CategoryItem2.No) else Result := AnsiCompareText(CategoryItem1.Title, CategoryItem2.Title); @@ -41,7 +87,7 @@ begin Result := CompareInt(CategoryItem1.No, CategoryItem2.No) end; - if not SortOrder then + if not FSortOrder then Result := Result * -1; end; @@ -52,9 +98,9 @@ var begin BoardItem1 := TBoard(List.Objects[Item1]); BoardItem2 := TBoard(List.Objects[Item2]); - case TGikoCategoryColumnID( SortIndex ) of + case TGikoCategoryColumnID( FSortIndex ) of gccTitle: - if SortNoFlag then + if FSortNoFlag then Result := CompareInt(BoardItem1.No, BoardItem2.No) else Result := AnsiCompareText(BoardItem1.Title, BoardItem2.Title); @@ -68,7 +114,7 @@ begin Result := CompareInt(BoardItem1.No, BoardItem2.No) end; - if not SortOrder then + if not FSortOrder then Result := Result * -1; end; @@ -76,14 +122,13 @@ function ThreadItemSortProc(List: TStringList; Item1, Item2: Integer): integer; var ThreadItem1: TThreadItem; ThreadItem2: TThreadItem; - SpanDay1, SpanDay2: Double; begin ThreadItem1 := TThreadItem(List.Objects[ Item1 ]); ThreadItem2 := TThreadItem(List.Objects[ Item2 ]); - case TGikoBoardColumnID( SortIndex ) of + case TGikoBoardColumnID( FSortIndex ) of gbcTitle: begin - if SortNoFlag then + if FSortNoFlag then Result := CompareInt(ThreadItem1.No, ThreadItem2.No) else Result := AnsiCompareText(ThreadItem1.Title, ThreadItem2.Title) @@ -109,22 +154,7 @@ begin gbcRoundDate: Result := CompareDateTime(ThreadItem1.RoundDate, ThreadItem2.RoundDate); {gbcLastModified:} gbcCreated: Result := CompareDateTime(ThreadItem1.CreateDate, ThreadItem2.CreateDate); gbcLastModified: Result := CompareDateTime(ThreadItem1.LastModified, ThreadItem2.LastModified); {gbcLastModified:} - gbcVigor: - begin - SpanDay1 := DaySpan(FSortDate, ThreadItem1.CreateDate); - SpanDay2 := DaySpan(FSortDate, ThreadItem2.CreateDate); - if (SpanDay1 > 0) and (SpanDay2 > 0) then begin - Result := CompareValue( - ThreadItem1.AllResCount / SpanDay1, - ThreadItem2.AllResCount / SpanDay2); - end else if (SpanDay1 > 0) then begin - Result := 1; - end else if (SpanDay2 > 0) then begin - Result := -1; - end else begin - Result := 0; - end; - end; + gbcVigor: Result := CompareValue(CaclVigor(ThreadItem1), CaclVigor(ThreadItem2)); else Result := 0; end; @@ -142,12 +172,12 @@ begin else Result := CompareDate(ThreadItem1.LastModified, ThreadItem2.LastModified); } - if not SortOrder then + if not FSortOrder then Result := Result * -1; // ƒ\[ƒg•]‰¿‚ª“¯‚¶ê‡‚́A‘æ1ƒJƒ‰ƒ€‚̏¸‡‚Ƀ\[ƒg if Result = 0 then begin - if SortNoFlag then + if FSortNoFlag then Result := CompareInt(ThreadItem1.No, ThreadItem2.No) else Result := AnsiCompareText(ThreadItem1.Title, ThreadItem2.Title) diff --git a/ToolBarUtil.pas b/ToolBarUtil.pas index 743477b..3640177 100644 --- a/ToolBarUtil.pas +++ b/ToolBarUtil.pas @@ -22,13 +22,15 @@ const 'MuteAction', 'BeLogInOutAction'); //ƒŠƒXƒgƒc[ƒ‹ƒo[ƒfƒtƒHƒ‹ƒg - DEF_LIST: array[0..16] of string = ('ListNumberVisibleAction', + DEF_LIST: array[0..18] of string = ('ListNumberVisibleAction', 'IconStyle', 'UpFolderAction', '', 'AllItemAction', 'LogItemAction', 'NewItemAction', + 'LiveItemAction', + 'ArchiveItemAction', 'SelectItemAction', '', 'ThreadEditorAction', diff --git a/gikoNavi.res b/gikoNavi.res index 12ccdc63d63b098f11ae9690da406c2c4944f34e..41c045ce4e940919035854afcfa038c0618e32ee 100644 GIT binary patch delta 28 kcmX@2ctml-8(z+KCI$u*21bVV$zOT@GMaDx%y*Fy0FJZ@5&!@I delta 28 kcmX@2ctml-8(z*fCI$u*21bUq$zOT@GMa7v%y*Fy0FI6d4*&oF -- 2.11.0