Add Alias List column to the playlist table (#2436)

Co-authored-by: tsinmw <tsinmw2@gmail.com>
This commit is contained in:
TimmySheff
2026-07-11 03:25:20 -04:00
committed by GitHub
parent 75fa495c99
commit cf0737ed90

View File

@@ -440,7 +440,7 @@ public class ChannelEditor extends SplitPane implements IFilterProcessor, IAlias
TableColumn<Channel,Boolean> autoStartColumn = new TableColumn<>("Auto-Start");
autoStartColumn.setCellValueFactory(new PropertyValueFactory<>("autoStart"));
autoStartColumn.setPrefWidth(95);
autoStartColumn.setPrefWidth(85);
autoStartColumn.setCellFactory(param -> {
TableCell<Channel,Boolean> tableCell = new TableCell<>()
{
@@ -476,7 +476,7 @@ public class ChannelEditor extends SplitPane implements IFilterProcessor, IAlias
TableColumn nameColumn = new TableColumn("Name");
nameColumn.setCellValueFactory(new PropertyValueFactory<>("name"));
nameColumn.setPrefWidth(200);
nameColumn.setPrefWidth(175);
TableColumn frequencyColumn = new TableColumn("Frequency");
frequencyColumn.setCellValueFactory(new FrequencyCellValueFactory());
@@ -486,8 +486,12 @@ public class ChannelEditor extends SplitPane implements IFilterProcessor, IAlias
protocolColumn.setCellValueFactory(new ProtocolCellValueFactory());
protocolColumn.setPrefWidth(100);
TableColumn aliaslistColumn = new TableColumn("Alias List");
aliaslistColumn.setCellValueFactory(new AliasListCellValueFactory());
aliaslistColumn.setPrefWidth(150);
mChannelTableView.getColumns().addAll(systemColumn, siteColumn, nameColumn, frequencyColumn, protocolColumn,
playingColumn, autoStartColumn);
playingColumn, autoStartColumn, aliaslistColumn);
mChannelTableView.setPlaceholder(getPlaceholderLabel());
//Sorting and filtering for the table
@@ -712,6 +716,36 @@ public class ChannelEditor extends SplitPane implements IFilterProcessor, IAlias
}
}
/**
* Alias List value factory
*/
public class AliasListCellValueFactory implements Callback<TableColumn.CellDataFeatures<Channel, String>,
ObservableValue<String>>
{
private SimpleStringProperty mAliasList = new SimpleStringProperty();
@Override
public ObservableValue<String> call(TableColumn.CellDataFeatures<Channel, String> param)
{
Channel alist = param.getValue();
if(alist != null)
{
mAliasList.set((alist != null && alist.getAliasListName() != null)
? alist.getAliasListName().toString()
: null);
}
else
{
mAliasList.set(null);
}
return mAliasList;
}
}
/**
* Filter predicate for a filtered channel list
*/