Skip to content

Commit 3f5cc58

Browse files
committed
Separate seeds/peers columns for subs/search results
1 parent a0c2630 commit 3f5cc58

File tree

7 files changed

+196
-0
lines changed

7 files changed

+196
-0
lines changed

core/src/com/biglybt/core/subs/util/SearchSubsResultBase.java

+3
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@
4444
public int
4545
getNbSeeds();
4646

47+
public int
48+
getNbPeers();
49+
4750
public String
4851
getSeedsPeers();
4952

core/src/com/biglybt/internat/MessagesBundle.properties

+8
Original file line numberDiff line numberDiff line change
@@ -4530,6 +4530,10 @@ SubscriptionResults.column.rank=Rank
45304530
SubscriptionResults.column.seeds_peers=Seeds/Peers
45314531
SubscriptionResults.column.type={label.type}
45324532
SubscriptionResults.column.ratings=Ratings
4533+
SubscriptionResults.column.seeds={TableColumn.header.seeds}
4534+
SubscriptionResults.column.seeds.info=
4535+
SubscriptionResults.column.peers={TableColumn.header.peers}
4536+
SubscriptionResults.column.peers.info=
45334537

45344538
SubscriptionResults.filter.min_size=Min Size (MB)
45354539
SubscriptionResults.filter.max_size=Max Size (MB)
@@ -4562,6 +4566,10 @@ SearchResults.column.seeds_peers={SubscriptionResults.column.seeds_peers}
45624566
SearchResults.column.type={SubscriptionResults.column.type}
45634567
SearchResults.column.ratings={SubscriptionResults.column.ratings}
45644568
SearchResults.column.site=Site
4569+
SearchResults.column.seeds={TableColumn.header.seeds}
4570+
SearchResults.column.seeds.info=
4571+
SearchResults.column.peers={TableColumn.header.peers}
4572+
SearchResults.column.peers.info=
45654573

45664574
ConfigView.section.style.searchsubs=Search && Subscriptions
45674575
ConfigView.section.style.searchsubs.row.height=Row height for native views
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
/*
2+
* Copyright (C) Azureus Software, Inc, All Rights Reserved.
3+
*
4+
* This program is free software; you can redistribute it and/or
5+
* modify it under the terms of the GNU General Public License
6+
* as published by the Free Software Foundation; either version 2
7+
* of the License, or (at your option) any later version.
8+
* This program is distributed in the hope that it will be useful,
9+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+
* GNU General Public License for more details.
12+
* You should have received a copy of the GNU General Public License
13+
* along with this program; if not, write to the Free Software
14+
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
15+
*
16+
*/
17+
18+
package com.biglybt.ui.swt.columns.searchsubs;
19+
20+
21+
import com.biglybt.core.subs.util.SearchSubsResultBase;
22+
import com.biglybt.pif.ui.tables.*;
23+
24+
25+
public class ColumnSearchSubResultPeers
26+
implements TableCellRefreshListener, TableColumnExtraInfoListener
27+
{
28+
public static String COLUMN_ID = "peers";
29+
30+
31+
@Override
32+
public void fillTableColumnInfo(TableColumnInfo info) {
33+
info.addCategories(new String[] {
34+
TableColumn.CAT_ESSENTIAL,
35+
});
36+
info.setProficiency(TableColumnInfo.PROFICIENCY_BEGINNER);
37+
}
38+
39+
/** Default Constructor */
40+
public ColumnSearchSubResultPeers(TableColumn column) {
41+
column.initialize(TableColumn.ALIGN_CENTER, TableColumn.POSITION_INVISIBLE, 60 );
42+
column.setRefreshInterval(TableColumn.INTERVAL_INVALID_ONLY);
43+
column.addListeners(this);
44+
}
45+
46+
@Override
47+
public void refresh(TableCell cell) {
48+
SearchSubsResultBase result = (SearchSubsResultBase) cell.getDataSource();
49+
50+
long num = result.getNbPeers();
51+
52+
if ( !cell.setSortValue(num) && cell.isValid()){
53+
54+
return;
55+
}
56+
57+
if (!cell.isShown()) {
58+
return;
59+
}
60+
61+
cell.setText( String.valueOf( num ));
62+
63+
return;
64+
65+
}
66+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
/*
2+
* Copyright (C) Azureus Software, Inc, All Rights Reserved.
3+
*
4+
* This program is free software; you can redistribute it and/or
5+
* modify it under the terms of the GNU General Public License
6+
* as published by the Free Software Foundation; either version 2
7+
* of the License, or (at your option) any later version.
8+
* This program is distributed in the hope that it will be useful,
9+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+
* GNU General Public License for more details.
12+
* You should have received a copy of the GNU General Public License
13+
* along with this program; if not, write to the Free Software
14+
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
15+
*
16+
*/
17+
18+
package com.biglybt.ui.swt.columns.searchsubs;
19+
20+
21+
import com.biglybt.core.subs.util.SearchSubsResultBase;
22+
import com.biglybt.pif.ui.tables.*;
23+
24+
25+
public class ColumnSearchSubResultSeeds
26+
implements TableCellRefreshListener, TableColumnExtraInfoListener
27+
{
28+
public static String COLUMN_ID = "seeds";
29+
30+
31+
@Override
32+
public void fillTableColumnInfo(TableColumnInfo info) {
33+
info.addCategories(new String[] {
34+
TableColumn.CAT_ESSENTIAL,
35+
});
36+
info.setProficiency(TableColumnInfo.PROFICIENCY_BEGINNER);
37+
}
38+
39+
/** Default Constructor */
40+
public ColumnSearchSubResultSeeds(TableColumn column) {
41+
column.initialize(TableColumn.ALIGN_CENTER, TableColumn.POSITION_INVISIBLE, 60 );
42+
column.setRefreshInterval(TableColumn.INTERVAL_INVALID_ONLY);
43+
column.addListeners(this);
44+
}
45+
46+
@Override
47+
public void refresh(TableCell cell) {
48+
SearchSubsResultBase result = (SearchSubsResultBase) cell.getDataSource();
49+
50+
long num = result.getNbSeeds();
51+
52+
if ( !cell.setSortValue(num) && cell.isValid()){
53+
54+
return;
55+
}
56+
57+
if (!cell.isShown()) {
58+
return;
59+
}
60+
61+
cell.setText( String.valueOf( num ));
62+
63+
return;
64+
65+
}
66+
}

uis/src/com/biglybt/ui/swt/search/SBC_SearchResult.java

+9
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
private final String seeds_peers;
4747
private final long seeds_peers_sort;
4848
private final int seed_count;
49+
private final int peer_count;
4950
private final long votes_comments_sort;
5051
private final String votes_comments;
5152

@@ -88,6 +89,7 @@
8889
}
8990

9091
seed_count = seeds<0?0:seeds;
92+
peer_count = leechers<0?0:leechers;
9193

9294
seeds_peers = (seeds<0?"--":String.valueOf(seeds)) + "/" + (leechers<0?"--":String.valueOf(leechers));
9395

@@ -187,6 +189,13 @@
187189
return( seed_count );
188190
}
189191

192+
@Override
193+
public int
194+
getNbPeers()
195+
{
196+
return( peer_count );
197+
}
198+
190199
@Override
191200
public String
192201
getSeedsPeers()

uis/src/com/biglybt/ui/swt/search/SBC_SearchResultsView.java

+22
Original file line numberDiff line numberDiff line change
@@ -1009,6 +1009,28 @@ public void tableColumnCreated(TableColumn column) {
10091009
}
10101010
});
10111011

1012+
tableManager.registerColumn(
1013+
SBC_SearchResult.class,
1014+
ColumnSearchSubResultSeeds.COLUMN_ID,
1015+
new TableColumnCreationListener() {
1016+
1017+
@Override
1018+
public void tableColumnCreated(TableColumn column) {
1019+
new ColumnSearchSubResultSeeds(column);
1020+
}
1021+
});
1022+
1023+
tableManager.registerColumn(
1024+
SBC_SearchResult.class,
1025+
ColumnSearchSubResultPeers.COLUMN_ID,
1026+
new TableColumnCreationListener() {
1027+
1028+
@Override
1029+
public void tableColumnCreated(TableColumn column) {
1030+
new ColumnSearchSubResultPeers(column);
1031+
}
1032+
});
1033+
10121034
tableManager.registerColumn(
10131035
SBC_SearchResult.class,
10141036
ColumnSearchSubResultRatings.COLUMN_ID,

uis/src/com/biglybt/ui/swt/subscriptions/SBC_SubscriptionResultsView.java

+22
Original file line numberDiff line numberDiff line change
@@ -910,6 +910,28 @@ public void tableColumnCreated(TableColumn column) {
910910
}
911911
});
912912

913+
tableManager.registerColumn(
914+
SubscriptionResultFilterable.class,
915+
ColumnSearchSubResultSeeds.COLUMN_ID,
916+
new TableColumnCreationListener() {
917+
918+
@Override
919+
public void tableColumnCreated(TableColumn column) {
920+
new ColumnSearchSubResultSeeds(column);
921+
}
922+
});
923+
924+
tableManager.registerColumn(
925+
SubscriptionResultFilterable.class,
926+
ColumnSearchSubResultPeers.COLUMN_ID,
927+
new TableColumnCreationListener() {
928+
929+
@Override
930+
public void tableColumnCreated(TableColumn column) {
931+
new ColumnSearchSubResultPeers(column);
932+
}
933+
});
934+
913935
tableManager.registerColumn(
914936
SubscriptionResultFilterable.class,
915937
ColumnSearchSubResultRatings.COLUMN_ID,

0 commit comments

Comments
 (0)