Skip to content

Commit 2352459

Browse files
[Issue GerryFerdinandus#22] Wrong tracker URL format unselected
Wrong tracker URL format from torrent files should be un-selected by default
1 parent 82694b5 commit 2352459

File tree

2 files changed

+15
-16
lines changed

2 files changed

+15
-16
lines changed

source/code/controler_trackerlist_online.pas

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ interface
1212

1313
type
1414

15+
TDefaultChecked = function(const TrackerURL: UTF8String): Boolean of object;
16+
1517
{ TControlerTrackerListOnline }
1618

1719
TControlerTrackerListOnline = class
@@ -20,6 +22,7 @@ TControlerTrackerListOnline = class
2022
FNewTrackon: TNewTrackon;
2123
FTrackerListOnline: TTrackerListOnline;
2224
FTrackerList: TStringList;
25+
FDefaultChecked: TDefaultChecked;
2326

2427
//The collumn must be in this design order.
2528
FSelect, //< 0
@@ -33,7 +36,6 @@ TControlerTrackerListOnline = class
3336
procedure AppendRow(Checked: boolean; Status: TTrackerListOnlineStatus;
3437
const TrackerURL: UTF8String);
3538
public
36-
3739
property Checked[index: integer]: boolean read GetChecked write SetChecked;
3840
function TrackerURL(index: integer): string;
3941
function TrackerStatus(index: integer): TTrackerListOnlineStatus;
@@ -45,7 +47,7 @@ TControlerTrackerListOnline = class
4547

4648
function DownloadTrackers: boolean;
4749

48-
constructor Create(StringGridTorrentURL: TStringGrid; TrackerList: TStringList);
50+
constructor Create(StringGridTorrentURL: TStringGrid; TrackerList: TStringList; DefaultChecked: TDefaultChecked);
4951
destructor Destroy; override;
5052
end;
5153

@@ -65,10 +67,11 @@ function TControlerTrackerListOnline.DownloadTrackers: boolean;
6567
end;
6668

6769
constructor TControlerTrackerListOnline.Create(StringGridTorrentURL: TStringGrid;
68-
TrackerList: TStringList);
70+
TrackerList: TStringList; DefaultChecked: TDefaultChecked);
6971
begin
7072

7173
FTrackerList := TrackerList;
74+
FDefaultChecked := DefaultChecked;
7275

7376
FStringGridTorrentURL := StringGridTorrentURL;
7477
FStringGridTorrentURL.RowCount := 1;
@@ -165,20 +168,16 @@ function TControlerTrackerListOnline.StableTrackers: TStringList;
165168
procedure TControlerTrackerListOnline.UpdateView;
166169
var
167170
tracker: string;
168-
DeafultChecked: boolean;
169171
begin
170172
//Clear all the previeus data in the view
171173
FStringGridTorrentURL.RowCount := FStringGridTorrentURL.FixedRows;
172174

173-
//the default status is is put all the checkox to true. => keep all trackers
174-
DeafultChecked := True;
175-
176175
FStringGridTorrentURL.BeginUpdate;
177176

178177
//Show the TrackerList list in string grid view
179178
for tracker in FTrackerList do
180179
begin
181-
AppendRow(DeafultChecked, FTrackerListOnline.TrackerStatus(tracker), tracker);
180+
AppendRow(FDefaultChecked(tracker), FTrackerListOnline.TrackerStatus(tracker), tracker);
182181
end;
183182

184183
//make sure all text are fit inside the columns

source/code/main.pas

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@ TFormTrackerModify = class(TForm)
150150
FTreeNodeRoot: TTreeNode;
151151
FControlerGridTorrentData: TControlerGridTorrentData;
152152

153+
function TrackerWithURLAndAnnounce(const TrackerURL: UTF8String): boolean;
153154
procedure UpdateTorrent;
154155
procedure ShowHourGlassCursor(HourGlass: boolean);
155156
procedure ViewUpdateBegin(ClearView: boolean = True);
@@ -263,8 +264,7 @@ procedure TFormTrackerModify.FormCreate(Sender: TObject);
263264
//Create view for trackerURL with checkbox
264265
FControlerTrackerListOnline :=
265266
TControlerTrackerListOnline.Create(StringGridTrackerOnline,
266-
FTrackerList.TrackerFromInsideTorrentFilesList);
267-
267+
FTrackerList.TrackerFromInsideTorrentFilesList, @TrackerWithURLAndAnnounce);
268268

269269
//start the program at mimimum visual size. (this is optional)
270270
Width := Constraints.MinWidth;
@@ -376,6 +376,12 @@ procedure TFormTrackerModify.MenuItemOnlineCheckDownloadNewTrackonClick(
376376
end;
377377
end;
378378

379+
function TFormTrackerModify.TrackerWithURLAndAnnounce(
380+
const TrackerURL: UTF8String): boolean;
381+
begin
382+
Result := ValidTrackerURL(TrackerURL) and TrackerURLWithAnnounce(TrackerURL);
383+
end;
384+
379385
procedure TFormTrackerModify.MenuTrackersDeleteTrackersWithStatusClick(
380386
Sender: TObject);
381387

@@ -822,8 +828,6 @@ procedure TFormTrackerModify.ConsoleMode;
822828
begin
823829
//Show all the tracker inside the torrent files.
824830
ShowTrackerInsideFileList;
825-
//Mark all trackers as selected
826-
CheckedOnOffAllTrackers(True);
827831
//Some tracker must be removed. Console and windows mode.
828832
UpdateViewRemoveTracker;
829833
//update torrent
@@ -844,8 +848,6 @@ procedure TFormTrackerModify.ConsoleMode;
844848
begin
845849
//Show all the tracker inside the torrent files.
846850
ShowTrackerInsideFileList;
847-
//Mark all trackers as selected
848-
CheckedOnOffAllTrackers(True);
849851
//Some tracker must be removed. Console and windows mode.
850852
UpdateViewRemoveTracker;
851853
//update torrent
@@ -1730,8 +1732,6 @@ procedure TFormTrackerModify.ViewUpdateEnd;
17301732

17311733
//Show all the tracker inside the torrent files.
17321734
ShowTrackerInsideFileList;
1733-
//Mark all trackers as selected
1734-
CheckedOnOffAllTrackers(True);
17351735
//Some tracker must be removed. Console and windows mode.
17361736
UpdateViewRemoveTracker;
17371737

0 commit comments

Comments
 (0)