ThreadTitle := Thread.Thread.Title;
ThreadPTitle := Thread.Thread.ParentBoard.Title;
//ThreadScrollTop := Thread.Thread.ScrollTop;
+ if Thread.Thread.IsLogFile then begin
+ if not FileExists(Thread.Thread.GetThreadFileName) then begin
+ Thread.Thread.DeleteLogFile;
+ end;
+ end;
+
ThreadIsLog := Thread.Thread.IsLogFile;
ThreadItem := Thread.Thread;
ThreadNewArraical := Thread.Thread.NewArrival;
procedure TGikoForm.BrowserPanelResize(Sender: TObject);
begin
- if (FActiveContent <> nil) and (FActiveContent.Browser <> nil) then begin
- MoveWindow(FActiveContent.Browser.Handle, 0, 0, BrowserPanel.ClientWidth, BrowserPanel.ClientHeight, false);
- end;
-
+ if (FIsMinimize <> mtMinimizing) then begin
+ if (FActiveContent <> nil) and (FActiveContent.Browser <> nil) then begin
+ MoveWindow(FActiveContent.Browser.Handle, 0, 0, BrowserPanel.ClientWidth, BrowserPanel.ClientHeight, false);
+ end;
+ end;
end;
procedure TGikoForm.CoolBarResized(Sender: TObject; CoolBar: TCoolBar);
var
//! \83t\83@\83C\83\8b\83`\83F\83b\83N
function TGikoForm.isValidFile(FileName: String) : boolean;
var
- tmp: String;
- unixtime: Int64;
dt: TDateTime;
begin
Result := True;
usePlugIn : Boolean;
islog : Boolean;
urlHead: String;
+ datFileCheck: Boolean;
{*
FavoThreadItem : TFavoriteThreadItem;
Node: TTreeNode;
*}
+{$IFDEF DEBUG}
+ st, rt: Cardinal;
+{$ENDIF}
begin
+{$IFDEF DEBUG}
+ st := GetTickCount;
+{$ENDIF}
if Board.IsThreadDatRead then
Exit;
Board.Clear;
FileName := Board.GetFolderIndexFileName;
- FileList := TStringList.Create;
- FileList.Sorted := True;
- FileList.BeginUpdate;
- //IsLogFile\97pDAT\83t\83@\83C\83\8b\83\8a\83X\83g
- GetFileList(ExtractFileDir(Board.GetFolderIndexFileName), '*.dat', FileList, False);
- FileList.EndUpdate;
+ //
+ datFileCheck := (Setting.CheckDatFile) or (not FileExists(FileName));
+ if (datFileCheck) then begin
+ FileList := TStringList.Create;
+ FileList.Sorted := True;
+ FileList.BeginUpdate;
+ //IsLogFile\97pDAT\83t\83@\83C\83\8b\83\8a\83X\83g
+ GetFileList(ExtractFileDir(Board.GetFolderIndexFileName), '*.dat', FileList, False);
+ FileList.EndUpdate;
+ end;
// \8fd\95¡\82ð\96h\82®
Board.BeginUpdate;
//\82Q\8ds\96Ú\82©\82ç\81i\82P\8ds\96Ú\82Í\83o\81[\83W\83\87\83\93\81j
for i := sl.Count - 1 downto 1 do begin
Rec := ParseIndexLine(sl[i]);
- islog := FileList.Find( Rec.FFileName, Index );
+ if (datFileCheck) then begin
+ islog := FileList.Find( Rec.FFileName, Index );
+ end else begin
+ islog := (Rec.FSize <> 0) and (Rec.FCount <> 0);
+ end;
if usePlugIn then
ThreadItem := TThreadItem.Create(
Board.BoardPlugIn,
end;
ThreadItem.BeginUpdate;
- if islog then
+ if (datFileCheck) and (islog) then
FileList.Delete( Index );
ThreadItem.No := Rec.FNo;
if UnRead <> Board.UnRead then
Board.UnRead := UnRead;
- //\83C\83\93\83f\83b\83N\83X\82É\96³\82©\82Á\82½\83\8d\83O\82ð\92Ç\89Á\81i\95\85\82ê\83C\83\93\83f\83b\83N\83X\91Î\89\9e\81j
- AddOutofIndexDat(Board, FileList);
+ if (datFileCheck) then begin
+ //\83C\83\93\83f\83b\83N\83X\82É\96³\82©\82Á\82½\83\8d\83O\82ð\92Ç\89Á\81i\95\85\82ê\83C\83\93\83f\83b\83N\83X\91Î\89\9e\81j
+ AddOutofIndexDat(Board, FileList);
+ end;
Board.EndUpdate;
//\91O\89ñ\88Ù\8fí\8fI\97¹\8e\9e\83`\83F\83b\83N
RestoreThreadData( Board );
finally
sl.Free;
- FileList.Free;
+ if (datFileCheck) then begin
+ FileList.Free;
+ end;
Board.Sorted := False;
end;
Board.IsThreadDatRead := True;
+{$IFDEF DEBUG}
+ rt := GetTickCount - st;
+ Writeln('Read Done.' + IntToStr(rt) + ' ms');
+{$ENDIF}
end;
{!
\brief \83C\83\93\83f\83b\83N\83X\82É\82È\82¢dat\81i\82Í\82®\82êdat\81j\82Ì\92Ç\89Á
ThreadItem.NewReceive := ini.ReadInteger(SECTION, 'NewReceive', 0);
ThreadItem.Size := ini.ReadInteger(SECTION, 'Size', 0);
- if(ThreadItem.Size = 0) and (FileExists(ThreadItem.GetThreadFileName)) then begin
+ ThreadItem.IsLogFile := FileExists(ThreadItem.GetThreadFileName);
+ if(ThreadItem.Size = 0) and (ThreadItem.IsLogFile) then begin
try
ThreadItem.Size := GetFileSize(ThreadItem.GetThreadFileName) - ThreadItem.Count;
except
Top = 0
Width = 517
Height = 393
- ActivePage = KakikomiTabSheet
- TabIndex = 2
+ ActivePage = TabSheet2
+ TabIndex = 3
TabOrder = 0
object TabSheet1: TTabSheet
Caption = #35443#32048#35373#23450#65297
TabOrder = 1
end
end
+ object LogGroupBox: TGroupBox
+ Left = 16
+ Top = 160
+ Width = 465
+ Height = 65
+ Caption = #12525#12464
+ TabOrder = 1
+ object CheckDatFileCheckBox: TCheckBox
+ Left = 22
+ Top = 14
+ Width = 369
+ Height = 17
+ Caption = #12473#12524#12483#12489#19968#35239#65288'Folder.idx'#65289#35501#12415#36796#12415#26178#12395'dat'#12501#12449#12452#12523#12434#12481#12455#12483#12463#12377#12427#12290
+ TabOrder = 0
+ end
+ end
end
end
object OkBotton: TButton
Label14: TLabel;
ExtListLabeledEdit: TLabeledEdit;
Label15: TLabel;
+ LogGroupBox: TGroupBox;
+ CheckDatFileCheckBox: TCheckBox;
procedure OkBottonClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure CDeleteButtonClick(Sender: TObject);
ReplaceDatCheckBox.Checked := GikoSys.Setting.ReplaceDat;
SentIniFileSizeUpDown.Position := GikoSys.Setting.SentIniFileSize;
ExtListLabeledEdit.Text := GikoSys.Setting.ExtList;
+ // Folder.idx\93Ç\82Ý\8d\9e\82Ý\8e\9edat\83`\83F\83b\83N
+ CheckDatFileCheckBox.Checked := GikoSys.Setting.CheckDatFile;
end;
procedure TKuroutOption.SaveSetting;
GikoSys.Setting.ReplaceDat := ReplaceDatCheckBox.Checked;
GikoSys.Setting.SentIniFileSize := SentIniFileSizeUpDown.Position;
GikoSys.Setting.ExtList := ExtListLabeledEdit.Text;
+ // Folder.idx\93Ç\82Ý\8d\9e\82Ý\8e\9edat\83`\83F\83b\83N
+ GikoSys.Setting.CheckDatFile := CheckDatFileCheckBox.Checked;
end;
procedure TKuroutOption.RecvBufferSizeExit(Sender: TObject);
FExtList: String;
//! Skin\8aÖ\98A
FSkinFiles: TSkinFiles;
+ //! index\83t\83@\83C\83\8b\82ð\93Ç\82Ý\8e\9e\82Édat\82ð\8c\9f\8dõ\82·\82é
+ FCheckDatFile: Boolean;
function GetMainCoolSet(Index: Integer): TCoolSet;
function GetBoardCoolSet(Index: Integer): TCoolSet;
function GetBrowserCoolSet(Index: Integer): TCoolSet;
property ExtList: String read FExtList write FExtList;
//! Skin\83t\83@\83C\83\8b\8aÇ\97\9d
property SkinFiles: TSkinFiles read FSkinFiles;
-
+ //! \83C\83\93\83f\83b\83N\83X\93Ç\82Ý\8d\9e\82Ý\8e\9edat\83t\83@\83C\83\8b\83`\83F\83b\83N
+ property CheckDatFile: Boolean read FCheckDatFile write FCheckDatFile;
end;
FSentIniFileSize := ini.ReadInteger('Function', 'SentIniFileSize', 3);
FExtList := ini.ReadString('Function', 'ExtList', '*.gif;*.jpg;*.jpeg;*.png;*.zip;*.rar');
+
+ FCheckDatFile := ini.ReadBool('ThreadList', 'CheckDatFile', True);
+
ini.UpdateFile;
finally
ini.Free;
ini.WriteBool('Thread', 'ReplaceDat', FReplaceDat);
ini.WriteInteger('Function', 'SentIniFileSize', FSentIniFileSize);
ini.WriteString('Function', 'ExtList', FExtList);
+ ini.WriteBool('ThreadList', 'CheckDatFile', FCheckDatFile);
ini.UpdateFile;
finally
ini.Free;