Adds non standard DCS code and "Select Tone" placeholder (#2357)

* Add non-standard DCS code D212N

* Add 'Select Tone' default placeholder when adding new DCS identifier
This commit is contained in:
msullivan1993
2026-07-11 03:33:18 -04:00
committed by GitHub
parent cf0737ed90
commit 7cf6974b6b
2 changed files with 38 additions and 5 deletions

View File

@@ -16,13 +16,13 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>
* ****************************************************************************
*/
package io.github.dsheirer.gui.playlist.alias.identifier;
import io.github.dsheirer.alias.id.dcs.Dcs;
import io.github.dsheirer.module.decode.dcs.DCSCode;
import javafx.scene.control.ComboBox;
import javafx.scene.control.Label;
import javafx.scene.control.ListCell;
import javafx.scene.layout.GridPane;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -57,10 +57,17 @@ public class DcsEditor extends IdentifierEditor<Dcs>
public void setItem(Dcs item)
{
super.setItem(item);
if(item.isValid())
{
getDCSCodeComboBox().getSelectionModel().select(item.getDCSCode());
}
else
{
// Clear selection for new/invalid items - shows placeholder
getDCSCodeComboBox().getSelectionModel().clearSelection();
}
modifiedProperty().set(false);
}
@@ -78,7 +85,7 @@ public class DcsEditor extends IdentifierEditor<Dcs>
/**
* Combo-box loaded with DCS codes
* @return
* @return combo box
*/
private ComboBox<DCSCode> getDCSCodeComboBox()
{
@@ -87,12 +94,37 @@ public class DcsEditor extends IdentifierEditor<Dcs>
mDCSCodeComboBox = new ComboBox<>();
mDCSCodeComboBox.getItems().addAll(DCSCode.STANDARD_CODES);
mDCSCodeComboBox.getItems().addAll(DCSCode.INVERTED_CODES);
// Set prompt text shown when nothing is selected
mDCSCodeComboBox.setPromptText("Select Code...");
// Custom cell factory to handle display
mDCSCodeComboBox.setButtonCell(new ListCell<DCSCode>()
{
@Override
protected void updateItem(DCSCode item, boolean empty)
{
super.updateItem(item, empty);
if(empty || item == null)
{
setText("Select Code...");
}
else
{
setText(item.toString());
}
}
});
mDCSCodeComboBox.valueProperty().addListener((observable, oldValue, newValue) -> {
getItem().setDCSCode(getDCSCodeComboBox().getSelectionModel().getSelectedItem());
modifiedProperty().set(true);
if(newValue != null)
{
getItem().setDCSCode(newValue);
modifiedProperty().set(true);
}
});
}
return mDCSCodeComboBox;
}
}
}

View File

@@ -148,6 +148,7 @@ public enum DCSCode
N172(3084240),
N174(2035340),
N205(5278907),
N212(2657965),
N223(6589323),
N226(3442799),
N243(6459089),