From 9e0afca3d13b268d397388e5005b070d673a13f6 Mon Sep 17 00:00:00 2001 From: Dennis Sheirer Date: Sun, 5 Nov 2023 06:56:49 -0500 Subject: [PATCH] #1653 Playlist channel edits with applied filter doesn't produce error --- .../channel/AMConfigurationEditor.java | 4 +-- .../channel/ChannelConfigurationEditor.java | 22 +++++++++---- .../ChannelConfigurationEditorFactory.java | 31 ++++++++++--------- .../gui/playlist/channel/ChannelEditor.java | 25 +++++++++++++-- .../channel/DMRConfigurationEditor.java | 4 +-- .../playlist/channel/IFilterProcessor.java | 30 ++++++++++++++++++ .../channel/LTRConfigurationEditor.java | 11 +++---- .../channel/LTRNetConfigurationEditor.java | 12 +++---- .../channel/MPT1327ConfigurationEditor.java | 11 +++---- .../channel/NBFMConfigurationEditor.java | 10 +++--- .../channel/P25P1ConfigurationEditor.java | 11 +++---- .../channel/P25P2ConfigurationEditor.java | 11 +++---- .../channel/PassportConfigurationEditor.java | 11 +++---- .../channel/UnknownConfigurationEditor.java | 6 ++-- 14 files changed, 127 insertions(+), 72 deletions(-) create mode 100644 src/main/java/io/github/dsheirer/gui/playlist/channel/IFilterProcessor.java diff --git a/src/main/java/io/github/dsheirer/gui/playlist/channel/AMConfigurationEditor.java b/src/main/java/io/github/dsheirer/gui/playlist/channel/AMConfigurationEditor.java index 93a4e65bb..4baab1684 100644 --- a/src/main/java/io/github/dsheirer/gui/playlist/channel/AMConfigurationEditor.java +++ b/src/main/java/io/github/dsheirer/gui/playlist/channel/AMConfigurationEditor.java @@ -92,9 +92,9 @@ public class AMConfigurationEditor extends ChannelConfigurationEditor * @param userPreferences for preferences */ public AMConfigurationEditor(PlaylistManager playlistManager, TunerManager tunerManager, - UserPreferences userPreferences) + UserPreferences userPreferences, IFilterProcessor filterProcessor) { - super(playlistManager, tunerManager, userPreferences); + super(playlistManager, tunerManager, userPreferences, filterProcessor); getTitledPanesBox().getChildren().add(getSourcePane()); getTitledPanesBox().getChildren().add(getDecoderPane()); getTitledPanesBox().getChildren().add(getEventLogPane()); diff --git a/src/main/java/io/github/dsheirer/gui/playlist/channel/ChannelConfigurationEditor.java b/src/main/java/io/github/dsheirer/gui/playlist/channel/ChannelConfigurationEditor.java index 12a8c193c..b07f10f82 100644 --- a/src/main/java/io/github/dsheirer/gui/playlist/channel/ChannelConfigurationEditor.java +++ b/src/main/java/io/github/dsheirer/gui/playlist/channel/ChannelConfigurationEditor.java @@ -1,6 +1,6 @@ /* * ***************************************************************************** - * Copyright (C) 2014-2022 Dennis Sheirer + * Copyright (C) 2014-2023 Dennis Sheirer * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -38,6 +38,8 @@ import io.github.dsheirer.source.config.SourceConfiguration; import io.github.dsheirer.source.tuner.manager.TunerManager; import io.github.dsheirer.util.ThreadPool; +import java.util.Optional; +import java.util.function.Predicate; import javafx.application.Platform; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; @@ -69,9 +71,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.Optional; -import java.util.function.Predicate; - /** * Channel configuration editor */ @@ -100,6 +99,7 @@ public abstract class ChannelConfigurationEditor extends Editor private IconNode mPlayGraphicNode; private IconNode mStopGraphicNode; private ChannelProcessingMonitor mChannelProcessingMonitor = new ChannelProcessingMonitor(); + private IFilterProcessor mFilterProcessor; /** * Constructs an instance @@ -108,11 +108,12 @@ public abstract class ChannelConfigurationEditor extends Editor * @param userPreferences for preferences */ public ChannelConfigurationEditor(PlaylistManager playlistManager, TunerManager tunerManager, - UserPreferences userPreferences) + UserPreferences userPreferences, IFilterProcessor filterProcessor) { mPlaylistManager = playlistManager; mTunerManager = tunerManager; mUserPreferences = userPreferences; + mFilterProcessor = filterProcessor; setMaxWidth(Double.MAX_VALUE); @@ -689,7 +690,16 @@ private Button getSaveButton() mSaveButton.setMaxWidth(Double.MAX_VALUE); mSaveButton.disableProperty().bind(modifiedProperty().not()); mSaveButton.setOnAction(event -> { - save(); + if(mFilterProcessor != null) + { + mFilterProcessor.clearFilter(); + save(); + mFilterProcessor.restoreFilter(); + } + else + { + save(); + } if(getItem().isProcessing()) { diff --git a/src/main/java/io/github/dsheirer/gui/playlist/channel/ChannelConfigurationEditorFactory.java b/src/main/java/io/github/dsheirer/gui/playlist/channel/ChannelConfigurationEditorFactory.java index d4992fe37..c71a77f41 100644 --- a/src/main/java/io/github/dsheirer/gui/playlist/channel/ChannelConfigurationEditorFactory.java +++ b/src/main/java/io/github/dsheirer/gui/playlist/channel/ChannelConfigurationEditorFactory.java @@ -1,6 +1,6 @@ /* * ***************************************************************************** - * Copyright (C) 2014-2022 Dennis Sheirer + * Copyright (C) 2014-2023 Dennis Sheirer * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -23,11 +23,10 @@ import io.github.dsheirer.playlist.PlaylistManager; import io.github.dsheirer.preference.UserPreferences; import io.github.dsheirer.source.tuner.manager.TunerManager; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import java.util.ArrayList; import java.util.List; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Provides access to channel configuration editors for various decoder types. @@ -41,31 +40,35 @@ public class ChannelConfigurationEditorFactory * Constructs an editor for the specified decoder type * @param decoderType to create * @param playlistManager for the editor + * @param tunerManager for tuners + * @param userPreferences for preferences + * @param filterProcessor to be notified to clear and restore any applied filters. * @return constructed editor */ public static ChannelConfigurationEditor getEditor(DecoderType decoderType, PlaylistManager playlistManager, - TunerManager tunerManager, UserPreferences userPreferences) + TunerManager tunerManager, UserPreferences userPreferences, + IFilterProcessor filterProcessor) { switch(decoderType) { case AM: - return new AMConfigurationEditor(playlistManager, tunerManager, userPreferences); + return new AMConfigurationEditor(playlistManager, tunerManager, userPreferences, filterProcessor); case DMR: - return new DMRConfigurationEditor(playlistManager, tunerManager, userPreferences); + return new DMRConfigurationEditor(playlistManager, tunerManager, userPreferences, filterProcessor); case NBFM: - return new NBFMConfigurationEditor(playlistManager, tunerManager, userPreferences); + return new NBFMConfigurationEditor(playlistManager, tunerManager, userPreferences, filterProcessor); case LTR_NET: - return new LTRNetConfigurationEditor(playlistManager, tunerManager, userPreferences); + return new LTRNetConfigurationEditor(playlistManager, tunerManager, userPreferences, filterProcessor); case LTR: - return new LTRConfigurationEditor(playlistManager, tunerManager, userPreferences); + return new LTRConfigurationEditor(playlistManager, tunerManager, userPreferences, filterProcessor); case MPT1327: - return new MPT1327ConfigurationEditor(playlistManager, tunerManager, userPreferences); + return new MPT1327ConfigurationEditor(playlistManager, tunerManager, userPreferences, filterProcessor); case PASSPORT: - return new PassportConfigurationEditor(playlistManager, tunerManager, userPreferences); + return new PassportConfigurationEditor(playlistManager, tunerManager, userPreferences, filterProcessor); case P25_PHASE1: - return new P25P1ConfigurationEditor(playlistManager, tunerManager, userPreferences); + return new P25P1ConfigurationEditor(playlistManager, tunerManager, userPreferences, filterProcessor); case P25_PHASE2: - return new P25P2ConfigurationEditor(playlistManager, tunerManager, userPreferences); + return new P25P2ConfigurationEditor(playlistManager, tunerManager, userPreferences, filterProcessor); default: if(decoderType != null && !mLoggedUnrecognizedTypes.contains(decoderType)) { diff --git a/src/main/java/io/github/dsheirer/gui/playlist/channel/ChannelEditor.java b/src/main/java/io/github/dsheirer/gui/playlist/channel/ChannelEditor.java index fc5c35974..d52615f42 100644 --- a/src/main/java/io/github/dsheirer/gui/playlist/channel/ChannelEditor.java +++ b/src/main/java/io/github/dsheirer/gui/playlist/channel/ChannelEditor.java @@ -72,7 +72,7 @@ /** * JavaFX editor for managing channel configurations. */ -public class ChannelEditor extends SplitPane +public class ChannelEditor extends SplitPane implements IFilterProcessor { private final static Logger mLog = LoggerFactory.getLogger(ChannelEditor.class); private PlaylistManager mPlaylistManager; @@ -105,7 +105,8 @@ public ChannelEditor(PlaylistManager playlistManager, TunerManager tunerManager, mPlaylistManager = playlistManager; mTunerManager = tunerManager; mUserPreferences = userPreferences; - mUnknownConfigurationEditor = new UnknownConfigurationEditor(mPlaylistManager, mTunerManager, userPreferences); + mUnknownConfigurationEditor = new UnknownConfigurationEditor(mPlaylistManager, mTunerManager, + userPreferences, this); HBox channelsBox = new HBox(); channelsBox.setSpacing(10.0); @@ -202,7 +203,7 @@ private void setChannel(Channel channel) if(editor == null) { editor = ChannelConfigurationEditorFactory.getEditor(channelDecoderType, mPlaylistManager, - mTunerManager, mUserPreferences); + mTunerManager, mUserPreferences, this); if(editor != null) { @@ -373,6 +374,24 @@ else if(getPlayingToggleButton().isSelected()) mChannelFilteredList.setPredicate(mChannelListFilter); } + /** + * Temporarily clear the filter when the channel configuration editor is applying changes. + */ + @Override + public void clearFilter() + { + mChannelFilteredList.setPredicate(null); + } + + /** + * Restore the filter once the channel configuration editor has completed applying changes. + */ + @Override + public void restoreFilter() + { + mChannelFilteredList.setPredicate(mChannelListFilter); + } + private TableView getChannelTableView() { if(mChannelTableView == null) diff --git a/src/main/java/io/github/dsheirer/gui/playlist/channel/DMRConfigurationEditor.java b/src/main/java/io/github/dsheirer/gui/playlist/channel/DMRConfigurationEditor.java index c0bfbc787..0b060da74 100644 --- a/src/main/java/io/github/dsheirer/gui/playlist/channel/DMRConfigurationEditor.java +++ b/src/main/java/io/github/dsheirer/gui/playlist/channel/DMRConfigurationEditor.java @@ -99,9 +99,9 @@ public class DMRConfigurationEditor extends ChannelConfigurationEditor * @param userPreferences for preferences */ public DMRConfigurationEditor(PlaylistManager playlistManager, TunerManager tunerManager, - UserPreferences userPreferences) + UserPreferences userPreferences, IFilterProcessor filterProcessor) { - super(playlistManager, tunerManager, userPreferences); + super(playlistManager, tunerManager, userPreferences, filterProcessor); getTitledPanesBox().getChildren().add(getSourcePane()); getTitledPanesBox().getChildren().add(getDecoderPane()); getTitledPanesBox().getChildren().add(getEventLogPane()); diff --git a/src/main/java/io/github/dsheirer/gui/playlist/channel/IFilterProcessor.java b/src/main/java/io/github/dsheirer/gui/playlist/channel/IFilterProcessor.java new file mode 100644 index 000000000..1a856a498 --- /dev/null +++ b/src/main/java/io/github/dsheirer/gui/playlist/channel/IFilterProcessor.java @@ -0,0 +1,30 @@ +/* + * ***************************************************************************** + * Copyright (C) 2014-2023 Dennis Sheirer + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see + * **************************************************************************** + */ + +package io.github.dsheirer.gui.playlist.channel; + +/** + * Interface for a processor that implements a filtering mechanism and can be commanded by an external controller to + * temporarily clear a filter and then restore the filter. + */ +public interface IFilterProcessor +{ + void clearFilter(); + void restoreFilter(); +} diff --git a/src/main/java/io/github/dsheirer/gui/playlist/channel/LTRConfigurationEditor.java b/src/main/java/io/github/dsheirer/gui/playlist/channel/LTRConfigurationEditor.java index c6b1fa091..e2da48a9c 100644 --- a/src/main/java/io/github/dsheirer/gui/playlist/channel/LTRConfigurationEditor.java +++ b/src/main/java/io/github/dsheirer/gui/playlist/channel/LTRConfigurationEditor.java @@ -1,6 +1,6 @@ /* * ***************************************************************************** - * Copyright (C) 2014-2022 Dennis Sheirer + * Copyright (C) 2014-2023 Dennis Sheirer * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -37,6 +37,8 @@ import io.github.dsheirer.record.config.RecordConfiguration; import io.github.dsheirer.source.config.SourceConfiguration; import io.github.dsheirer.source.tuner.manager.TunerManager; +import java.util.ArrayList; +import java.util.List; import javafx.geometry.HPos; import javafx.geometry.Insets; import javafx.scene.control.Label; @@ -50,9 +52,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.ArrayList; -import java.util.List; - /** * LTR (standard) channel configuration editor */ @@ -77,9 +76,9 @@ public class LTRConfigurationEditor extends ChannelConfigurationEditor * @param userPreferences for preferences */ public LTRConfigurationEditor(PlaylistManager playlistManager, TunerManager tunerManager, - UserPreferences userPreferences) + UserPreferences userPreferences, IFilterProcessor filterProcessor) { - super(playlistManager, tunerManager, userPreferences); + super(playlistManager, tunerManager, userPreferences, filterProcessor); getTitledPanesBox().getChildren().add(getSourcePane()); getTitledPanesBox().getChildren().add(getDecoderPane()); getTitledPanesBox().getChildren().add(getAuxDecoderPane()); diff --git a/src/main/java/io/github/dsheirer/gui/playlist/channel/LTRNetConfigurationEditor.java b/src/main/java/io/github/dsheirer/gui/playlist/channel/LTRNetConfigurationEditor.java index 7204187fb..e681d6e4c 100644 --- a/src/main/java/io/github/dsheirer/gui/playlist/channel/LTRNetConfigurationEditor.java +++ b/src/main/java/io/github/dsheirer/gui/playlist/channel/LTRNetConfigurationEditor.java @@ -1,6 +1,6 @@ /* * ***************************************************************************** - * Copyright (C) 2014-2022 Dennis Sheirer + * Copyright (C) 2014-2023 Dennis Sheirer * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -37,6 +37,8 @@ import io.github.dsheirer.record.config.RecordConfiguration; import io.github.dsheirer.source.config.SourceConfiguration; import io.github.dsheirer.source.tuner.manager.TunerManager; +import java.util.ArrayList; +import java.util.List; import javafx.geometry.HPos; import javafx.geometry.Insets; import javafx.scene.control.Label; @@ -50,9 +52,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.ArrayList; -import java.util.List; - /** * LTR-Net channel configuration editor */ @@ -76,9 +75,10 @@ public class LTRNetConfigurationEditor extends ChannelConfigurationEditor * @param tunerManager for tuners * @param userPreferences for preferences */ - public LTRNetConfigurationEditor(PlaylistManager playlistManager, TunerManager tunerManager, UserPreferences userPreferences) + public LTRNetConfigurationEditor(PlaylistManager playlistManager, TunerManager tunerManager, + UserPreferences userPreferences, IFilterProcessor filterProcessor) { - super(playlistManager, tunerManager, userPreferences); + super(playlistManager, tunerManager, userPreferences, filterProcessor); getTitledPanesBox().getChildren().add(getSourcePane()); getTitledPanesBox().getChildren().add(getDecoderPane()); getTitledPanesBox().getChildren().add(getAuxDecoderPane()); diff --git a/src/main/java/io/github/dsheirer/gui/playlist/channel/MPT1327ConfigurationEditor.java b/src/main/java/io/github/dsheirer/gui/playlist/channel/MPT1327ConfigurationEditor.java index 79658d5c1..58885d72a 100644 --- a/src/main/java/io/github/dsheirer/gui/playlist/channel/MPT1327ConfigurationEditor.java +++ b/src/main/java/io/github/dsheirer/gui/playlist/channel/MPT1327ConfigurationEditor.java @@ -1,6 +1,6 @@ /* * ***************************************************************************** - * Copyright (C) 2014-2022 Dennis Sheirer + * Copyright (C) 2014-2023 Dennis Sheirer * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -38,6 +38,8 @@ import io.github.dsheirer.record.config.RecordConfiguration; import io.github.dsheirer.source.config.SourceConfiguration; import io.github.dsheirer.source.tuner.manager.TunerManager; +import java.util.ArrayList; +import java.util.List; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.geometry.HPos; @@ -56,9 +58,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.ArrayList; -import java.util.List; - import static io.github.dsheirer.module.decode.config.DecodeConfiguration.CALL_TIMEOUT_MAXIMUM; import static io.github.dsheirer.module.decode.config.DecodeConfiguration.CALL_TIMEOUT_MINIMUM; @@ -87,9 +86,9 @@ public class MPT1327ConfigurationEditor extends ChannelConfigurationEditor * @param userPreferences for preferences */ public MPT1327ConfigurationEditor(PlaylistManager playlistManager, TunerManager tunerManager, - UserPreferences userPreferences) + UserPreferences userPreferences, IFilterProcessor filterProcessor) { - super(playlistManager, tunerManager, userPreferences); + super(playlistManager, tunerManager, userPreferences, filterProcessor); getTitledPanesBox().getChildren().add(getSourcePane()); getTitledPanesBox().getChildren().add(getDecoderPane()); getTitledPanesBox().getChildren().add(getEventLogPane()); diff --git a/src/main/java/io/github/dsheirer/gui/playlist/channel/NBFMConfigurationEditor.java b/src/main/java/io/github/dsheirer/gui/playlist/channel/NBFMConfigurationEditor.java index aca8c2e7e..8bb156e3d 100644 --- a/src/main/java/io/github/dsheirer/gui/playlist/channel/NBFMConfigurationEditor.java +++ b/src/main/java/io/github/dsheirer/gui/playlist/channel/NBFMConfigurationEditor.java @@ -27,7 +27,6 @@ import io.github.dsheirer.gui.playlist.source.FrequencyEditor; import io.github.dsheirer.gui.playlist.source.SourceConfigurationEditor; import io.github.dsheirer.module.decode.DecoderType; -import io.github.dsheirer.module.decode.analog.DecodeConfigAnalog; import io.github.dsheirer.module.decode.config.AuxDecodeConfiguration; import io.github.dsheirer.module.decode.config.DecodeConfiguration; import io.github.dsheirer.module.decode.nbfm.DecodeConfigNBFM; @@ -41,6 +40,8 @@ import io.github.dsheirer.record.config.RecordConfiguration; import io.github.dsheirer.source.config.SourceConfiguration; import io.github.dsheirer.source.tuner.manager.TunerManager; +import java.util.ArrayList; +import java.util.List; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import javafx.collections.ListChangeListener; @@ -58,9 +59,6 @@ import org.controlsfx.control.SegmentedButton; import org.controlsfx.control.ToggleSwitch; -import java.util.ArrayList; -import java.util.List; - /** * Narrow-Band FM channel configuration editor */ @@ -95,9 +93,9 @@ public class NBFMConfigurationEditor extends ChannelConfigurationEditor * @param userPreferences for preferences */ public NBFMConfigurationEditor(PlaylistManager playlistManager, TunerManager tunerManager, - UserPreferences userPreferences) + UserPreferences userPreferences, IFilterProcessor filterProcessor) { - super(playlistManager, tunerManager, userPreferences); + super(playlistManager, tunerManager, userPreferences, filterProcessor); getTitledPanesBox().getChildren().add(getSourcePane()); getTitledPanesBox().getChildren().add(getDecoderPane()); getTitledPanesBox().getChildren().add(getAuxDecoderPane()); diff --git a/src/main/java/io/github/dsheirer/gui/playlist/channel/P25P1ConfigurationEditor.java b/src/main/java/io/github/dsheirer/gui/playlist/channel/P25P1ConfigurationEditor.java index 5fac522ab..adb045677 100644 --- a/src/main/java/io/github/dsheirer/gui/playlist/channel/P25P1ConfigurationEditor.java +++ b/src/main/java/io/github/dsheirer/gui/playlist/channel/P25P1ConfigurationEditor.java @@ -1,6 +1,6 @@ /* * ***************************************************************************** - * Copyright (C) 2014-2022 Dennis Sheirer + * Copyright (C) 2014-2023 Dennis Sheirer * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -36,6 +36,8 @@ import io.github.dsheirer.record.config.RecordConfiguration; import io.github.dsheirer.source.config.SourceConfiguration; import io.github.dsheirer.source.tuner.manager.TunerManager; +import java.util.ArrayList; +import java.util.List; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import javafx.geometry.HPos; @@ -54,9 +56,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.ArrayList; -import java.util.List; - /** * P25 Phase 1 channel configuration editor */ @@ -83,9 +82,9 @@ public class P25P1ConfigurationEditor extends ChannelConfigurationEditor * @param userPreferences for preferences */ public P25P1ConfigurationEditor(PlaylistManager playlistManager, TunerManager tunerManager, - UserPreferences userPreferences) + UserPreferences userPreferences, IFilterProcessor filterProcessor) { - super(playlistManager, tunerManager, userPreferences); + super(playlistManager, tunerManager, userPreferences, filterProcessor); getTitledPanesBox().getChildren().add(getSourcePane()); getTitledPanesBox().getChildren().add(getDecoderPane()); getTitledPanesBox().getChildren().add(getEventLogPane()); diff --git a/src/main/java/io/github/dsheirer/gui/playlist/channel/P25P2ConfigurationEditor.java b/src/main/java/io/github/dsheirer/gui/playlist/channel/P25P2ConfigurationEditor.java index 54bc37707..a9a2759ad 100644 --- a/src/main/java/io/github/dsheirer/gui/playlist/channel/P25P2ConfigurationEditor.java +++ b/src/main/java/io/github/dsheirer/gui/playlist/channel/P25P2ConfigurationEditor.java @@ -1,6 +1,6 @@ /* * ***************************************************************************** - * Copyright (C) 2014-2022 Dennis Sheirer + * Copyright (C) 2014-2023 Dennis Sheirer * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -37,6 +37,8 @@ import io.github.dsheirer.record.config.RecordConfiguration; import io.github.dsheirer.source.config.SourceConfiguration; import io.github.dsheirer.source.tuner.manager.TunerManager; +import java.util.ArrayList; +import java.util.List; import javafx.geometry.HPos; import javafx.geometry.Insets; import javafx.scene.control.Label; @@ -46,9 +48,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.ArrayList; -import java.util.List; - /** * P25 Phase 2 channel configuration editor */ @@ -72,9 +71,9 @@ public class P25P2ConfigurationEditor extends ChannelConfigurationEditor * @param userPreferences */ public P25P2ConfigurationEditor(PlaylistManager playlistManager, TunerManager tunerManager, - UserPreferences userPreferences) + UserPreferences userPreferences, IFilterProcessor filterProcessor) { - super(playlistManager, tunerManager, userPreferences); + super(playlistManager, tunerManager, userPreferences, filterProcessor); getTitledPanesBox().getChildren().add(getSourcePane()); getTitledPanesBox().getChildren().add(getDecoderPane()); getTitledPanesBox().getChildren().add(getEventLogPane()); diff --git a/src/main/java/io/github/dsheirer/gui/playlist/channel/PassportConfigurationEditor.java b/src/main/java/io/github/dsheirer/gui/playlist/channel/PassportConfigurationEditor.java index a95f5dd7a..48cb819aa 100644 --- a/src/main/java/io/github/dsheirer/gui/playlist/channel/PassportConfigurationEditor.java +++ b/src/main/java/io/github/dsheirer/gui/playlist/channel/PassportConfigurationEditor.java @@ -1,6 +1,6 @@ /* * ***************************************************************************** - * Copyright (C) 2014-2022 Dennis Sheirer + * Copyright (C) 2014-2023 Dennis Sheirer * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -36,6 +36,8 @@ import io.github.dsheirer.record.config.RecordConfiguration; import io.github.dsheirer.source.config.SourceConfiguration; import io.github.dsheirer.source.tuner.manager.TunerManager; +import java.util.ArrayList; +import java.util.List; import javafx.geometry.Insets; import javafx.scene.control.Label; import javafx.scene.control.TitledPane; @@ -43,9 +45,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.ArrayList; -import java.util.List; - /** * Passport channel configuration editor */ @@ -68,9 +67,9 @@ public class PassportConfigurationEditor extends ChannelConfigurationEditor * @param userPreferences */ public PassportConfigurationEditor(PlaylistManager playlistManager, TunerManager tunerManager, - UserPreferences userPreferences) + UserPreferences userPreferences, IFilterProcessor filterProcessor) { - super(playlistManager, tunerManager, userPreferences); + super(playlistManager, tunerManager, userPreferences, filterProcessor); getTitledPanesBox().getChildren().add(getSourcePane()); getTitledPanesBox().getChildren().add(getDecoderPane()); getTitledPanesBox().getChildren().add(getAuxDecoderPane()); diff --git a/src/main/java/io/github/dsheirer/gui/playlist/channel/UnknownConfigurationEditor.java b/src/main/java/io/github/dsheirer/gui/playlist/channel/UnknownConfigurationEditor.java index 5d661aff6..5648e0875 100644 --- a/src/main/java/io/github/dsheirer/gui/playlist/channel/UnknownConfigurationEditor.java +++ b/src/main/java/io/github/dsheirer/gui/playlist/channel/UnknownConfigurationEditor.java @@ -1,6 +1,6 @@ /* * ***************************************************************************** - * Copyright (C) 2014-2022 Dennis Sheirer + * Copyright (C) 2014-2023 Dennis Sheirer * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -45,9 +45,9 @@ public class UnknownConfigurationEditor extends ChannelConfigurationEditor * @param aliasModel */ public UnknownConfigurationEditor(PlaylistManager playlistManager, TunerManager tunerManager, - UserPreferences userPreferences) + UserPreferences userPreferences, IFilterProcessor filterProcessor) { - super(playlistManager, tunerManager, userPreferences); + super(playlistManager, tunerManager, userPreferences, filterProcessor); getTitledPanesBox().getChildren().add(getDecoderPane()); }