Label1: TLabel;
MessageMemo: TMemo;
UpdateButton: TButton;
- CloseButton: TButton;
+ CloseButton: TButton;
Indy: TIdHTTP;
IdAntiFreeze: TIdAntiFreeze;
StopButton: TButton;
- Label2: TLabel;
- BoardURLComboBox: TComboBox;
- Label13: TLabel;
+ BoardURLComboBox: TComboBox;
+ Label13: TLabel;
+ EditIgnoreListsButton: TButton;
+ Label2: TLabel;
procedure UpdateButtonClick(Sender: TObject);
procedure StopButtonClick(Sender: TObject);
procedure CloseButtonClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
+ procedure EditIgnoreListsButtonClick(Sender: TObject);
+ procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private \90é\8c¾ }
+ IgnoreLists : TStringList;
FAbort: Boolean;
function BoardDownload: TNewBoardItem;
procedure UpdateURL(s: string);
+ procedure SetIgnoreCategory(b: boolean);
+ procedure EditIgnoreList(Sender: TObject);
+ procedure UpdateIgnoreList(Sender: TObject);
public
{ Public \90é\8c¾ }
end;
var
NewBoardDialog: TNewBoardDialog;
+
implementation
uses Giko, IdHeaderList;
UpdateButton.Enabled := False;
StopButton.Enabled := True;
CloseButton.Enabled := False;
+ EditIgnoreListsButton.Enabled := False;
Item := BoardDownload;
StopButton.Enabled := False;
if FAbort then
Exit;
if Item.FContent <> '' then begin
+ GikoForm.TabsSaveAction.Tag := 1;
+ GikoForm.TabsOpenAction.Tag := 1;
+ GikoForm.TabsSaveAction.Execute;
UpdateURL(Item.FContent);
GikoForm.ReloadBBS;
+ GikoForm.TabsSaveAction.Tag := 0;
+ GikoForm.TabsOpenAction.Tag := 0;
end else
MessageMemo.Lines.Add('\83_\83E\83\93\83\8d\81[\83h\82ª\8e¸\94s\82µ\82Ü\82µ\82½[' + IntToStr(Item.FResponseCode) + ']');
finally
UpdateButton.Enabled := True;
StopButton.Enabled := False;
CloseButton.Enabled := True;
+ EditIgnoreListsButton.Enabled := True;
end;
end;
procedure TNewBoardDialog.UpdateURL(s: string);
var
i: Integer;
+// j: Integer;
idx: Integer;
idx1: Integer;
idx2: Integer;
cate: string;
Board: TBoard;
Change: Boolean;
+ Ignore: Boolean;
ini: TMemIniFile;
- oldURLs : TStringList;
- newURLs : TStringList;
+ oldURLs : TStringList;
+ newURLs : TStringList;
begin
Change := False;
MessageMemo.Lines.Add('\90V\94Â\81A\94ÂURL\95Ï\8dX\83`\83F\83b\83N\82ð\8aJ\8en\82µ\82Ü\82·');
s := CustomStringReplace(s, '</A', '</a', true);
cate := '';
- oldURLs := TStringList.Create;
- newURLs := TStringList.Create;
+ oldURLs := TStringList.Create;
+ newURLs := TStringList.Create;
try
tmp := Copy(s, idx1, (idx - idx1) + 4);
tmp := CustomStringReplace(tmp, '<b>', '');
tmp := CustomStringReplace(tmp, '</b>', '');
-
+ Ignore := false;
+ for i := 0 to IgnoreLists.Count - 1 do begin
+ if tmp = Trim(IgnoreLists[i]) then begin
+ cate := '';
+ s := Copy(s, idx + 5, Length(s));
+ Ignore := True;
+ break;
+ end;
+ end;
+ if Ignore then
+ Continue;
+ {
if (tmp = '\82¨\82·\82·\82ß') or
(tmp = '\93Á\95Ê\8aé\89æ') or
(tmp = '\82Ü\82¿\82a\82a\82r') or
(tmp = '\83`\83\83\83b\83g') or
(tmp = '\82¨\8aG\82©\82«') or
- (tmp = '\89^\89c') or
+ (tmp = '\89^\89c\88Ä\93à') or
(tmp = '\83c\81[\83\8b\97Þ') or
(tmp = '\91¼\82Ì\83T\83C\83g') then begin
cate := '';
s := Copy(s, idx + 5, Length(s));
Continue;
end;
+ }
s := Copy(s, idx + 5, Length(s));
cate := tmp;
end else begin
tmp := Copy(s, idx2, (idx - idx2) + 4);
tmp := CustomStringReplace(tmp, '<a href=', '');
tmp := CustomStringReplace(tmp, '</a>', '');
+ tmp := CustomStringReplace(tmp, 'TARGET=_blank', '');
i := AnsiPos('>', tmp);
if i <> 0 then begin
URL := Copy(tmp, 1, i - 1);
Title := Copy(tmp, i + 1, Length(tmp));
- Board := BBSs[ 0 ].FindBoardFromTitle(Title);
- if Board = nil then begin
- MessageMemo.Lines.Add('\90V\94Â\92Ç\89Á\81u' + Title + '(' + URL + ')\81v');
- ini.WriteString(cate, Title, URL);
- Change := True;
- end else begin
- if Board.URL <> URL then begin
- MessageMemo.Lines.Add('URL\95Ï\8dX\81u' + Board.Title + '(' + URL +')\81v');
- ini.WriteString(cate, Title, URL);
+ Board := BBSs[ 0 ].FindBoardFromTitle(Title);
+ if Board = nil then begin
+ MessageMemo.Lines.Add('\90V\94Â\92Ç\89Á\81u' + Title + '(' + URL + ')\81v');
+ ini.WriteString(cate, Title, URL);
+ Change := True;
+ end else begin
+ if Board.URL <> URL then begin
+ MessageMemo.Lines.Add('URL\95Ï\8dX\81u' + Board.Title + '(' + URL +')\81v');
+ ini.WriteString(cate, Title, URL);
oldURLs.Add(Board.URL);
- newURLs.Add(URL);
- Change := True;
- end else begin
- ini.WriteString(cate, Title, URL);
- end;
- end;
+ newURLs.Add(URL);
+ Change := True;
+ end else begin
+ ini.WriteString(cate, Title, URL);
+ end;
+ end;
end else begin
s := Copy(s, idx2 + 2, Length(s));
Continue;
MessageMemo.Lines.Add('');
if Change then begin
GikoForm.FavoritesURLReplace(oldURLs, newURLs);
+ GikoForm.RoundListURLReplace(oldURLs, newURLs);
+ GikoForm.TabFileURLReplace(oldURLs, newURLs);
MessageMemo.Lines.Add('\90V\94Â\81A\94ÂURL\95Ï\8dX\83`\83F\83b\83N\82ª\8a®\97¹\82µ\82Ü\82µ\82½');
MessageMemo.Lines.Add('\81u\95Â\82¶\82é\81v\83{\83^\83\93\82ð\89\9f\82µ\82Ä\82\82¾\82³\82¢');
end else
finally
oldURLs.Free;
newURLs.Free;
- end;
+ end;
end;
procedure TNewBoardDialog.FormCreate(Sender: TObject);
begin
StopButton.Enabled := False;
- BoardURLComboBox.Clear;
- BoardURLComboBox.Items.AddStrings(GikoSys.Setting.BoardURLs);
- try
- BoardURLComboBox.ItemIndex := GikoSys.Setting.BoardURLSelected - 1;
- except
- BoardURLComboBox.ItemIndex := 0;
- end;
+ BoardURLComboBox.Clear;
+ BoardURLComboBox.Items.AddStrings(GikoSys.Setting.BoardURLs);
+ try
+ BoardURLComboBox.ItemIndex := GikoSys.Setting.BoardURLSelected - 1;
+ except
+ BoardURLComboBox.ItemIndex := 0;
+ end;
+ SetIgnoreCategory(false);
+end;
+//\94Â\8dX\90V\82Ì\8f\9c\8aO\83J\83e\83S\83\8a\83\8a\83X\83g\82Ì\93o\98^
+{['\82¨\82·\82·\82ß', '\93Á\95Ê\8aé\89æ', '\82Ü\82¿\82a\82a\82r', '\83`\83\83\83b\83g', '\82¨\8aG\82©\82«', '\89^\89c\88Ä\93à', '\83c\81[\83\8b\97Þ', '\91¼\82Ì\83T\83C\83g']}
+procedure TNewBoardDialog.SetIgnoreCategory(b: boolean);
+begin
+ IgnoreLists := TStringList.Create;
+ if not( FileExists(GikoSys.Setting.GetIgnoreFileName) ) or ( b )then begin
+ IgnoreLists.Add('\82¨\82·\82·\82ß');
+ IgnoreLists.Add('\93Á\95Ê\8aé\89æ');
+ IgnoreLists.Add('\82Ü\82¿\82a\82a\82r');
+ IgnoreLists.Add('\83`\83\83\83b\83g');
+ IgnoreLists.Add('\82¨\8aG\82©\82«');
+ IgnoreLists.Add('\89^\89c\88Ä\93à');
+ IgnoreLists.Add('\83c\81[\83\8b\97Þ');
+ IgnoreLists.Add('\91¼\82Ì\83T\83C\83g');
+ end else begin
+ try
+ IgnoreLists.LoadFromFile(GikoSys.Setting.GetIgnoreFileName);
+ except
+ IgnoreLists.Free;
+ SetIgnoreCategory(true);
+ end;
+ end;
+end;
+
+procedure TNewBoardDialog.EditIgnoreListsButtonClick(Sender: TObject);
+begin
+ EditIgnoreList(Sender);
+ EditIgnoreListsButton.OnClick := UpdateIgnoreList;
+end;
+procedure TNewBoardDialog.EditIgnoreList(Sender: TObject);
+var
+ i: Integer;
+begin
+ EditIgnoreListsButton.Caption := '\8f\9c\8aO\83J\83e\83S\83\8a\81[\8dX\90V';
+ Label2.Caption := '\8ae\82P\8ds\82É\83J\83e\83S\83\8a\96¼\82ð\8bL\93ü\82µ\82Ä\82\82¾\82³\82¢\81B\81i\89ü\8ds\82ÍCtrl+Enter\81j';
+ UpdateButton.Enabled := false;
+ //MessageMemo.ReadOnly := false;
+ MessageMemo.Clear;
+ for i := 0 to IgnoreLists.Count - 1 do
+ MessageMemo.Lines.Add(IgnoreLists[i]);
+end;
+procedure TNewBoardDialog.UpdateIgnoreList(Sender: TObject);
+var
+ i: Integer;
+begin
+ Label2.Caption := '';
+ UpdateButton.Enabled := true;
+ EditIgnoreListsButton.Caption := '\8f\9c\8aO\83J\83e\83S\83\8a\81[\95Ò\8fW';
+ IgnoreLists.Clear;
+ for i := 0 to MessageMemo.Lines.Count - 1 do
+ IgnoreLists.Add(MessageMemo.Lines[i]);
+ IgnoreLists.SaveToFile(GikoSys.Setting.GetIgnoreFileName);
+ IgnoreLists.Free;
+ SetIgnoreCategory(false);
+ //MessageMemo.ReadOnly := true;
+ MessageMemo.Clear;
+ EditIgnoreListsButton.OnClick := EditIgnoreListsButtonClick;
+end;
+
+procedure TNewBoardDialog.FormClose(Sender: TObject;
+ var Action: TCloseAction);
+begin
+ IgnoreLists.Free;
end;
end.