mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-12 08:37:25 -05:00
Restores context menus for channels in configuration window, channel
processing window, and spectral display window.
This commit is contained in:
@@ -592,7 +592,19 @@ public class LTRNetDecoderState extends DecoderState
|
||||
|
||||
broadcast( new DecoderStateEvent( this, Event.CONTINUATION, State.IDLE ) );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Indicates if the talkgroup is different than the talkgroup specified in
|
||||
* the current call event
|
||||
*/
|
||||
private boolean isDifferentTalkgroup( String talkgroup )
|
||||
{
|
||||
return talkgroup != null &&
|
||||
mCurrentCallEvent != null &&
|
||||
mCurrentCallEvent.getToID() != null &&
|
||||
!mCurrentCallEvent.getToID().contentEquals( talkgroup );
|
||||
}
|
||||
|
||||
private void processCallMessage( LTRNetMessage message )
|
||||
{
|
||||
int group = message.getGroup();
|
||||
@@ -609,11 +621,11 @@ public class LTRNetDecoderState extends DecoderState
|
||||
{
|
||||
String talkgroup = message.getTalkgroupID();
|
||||
|
||||
LTRCallEvent current = getCurrentLTRCallEvent();
|
||||
final LTRCallEvent current = getCurrentLTRCallEvent();
|
||||
|
||||
/* If this is a new call or the talkgroup is different from the current
|
||||
* call, create a new call event */
|
||||
if( current == null || !current.getToID().contentEquals( talkgroup ) )
|
||||
if( current == null || isDifferentTalkgroup( talkgroup ) )
|
||||
{
|
||||
/* Invalidate the current call */
|
||||
if( current != null )
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*******************************************************************************
|
||||
* SDR Trunk
|
||||
* Copyright (C) 2014 Dennis Sheirer
|
||||
* Copyright (C) 2014,2015 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
|
||||
|
||||
@@ -8,10 +8,11 @@ import java.util.List;
|
||||
import javax.swing.JMenu;
|
||||
import javax.swing.JPanel;
|
||||
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
import playlist.PlaylistManager;
|
||||
import settings.SettingsManager;
|
||||
import controller.channel.Channel;
|
||||
@@ -142,9 +143,4 @@ public class ChannelCollectionPanel extends JPanel
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public void addTrafficChannel( Channel channel )
|
||||
{
|
||||
//TODO: add logic to handle traffic channels.
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,6 +36,7 @@ import settings.Setting;
|
||||
import settings.SettingChangeListener;
|
||||
import settings.SettingsManager;
|
||||
import controller.channel.Channel;
|
||||
import controller.channel.ChannelUtils;
|
||||
|
||||
public class ChannelStatePanel extends JPanel
|
||||
implements Listener<ChangedAttribute>, SettingChangeListener
|
||||
@@ -414,90 +415,7 @@ public class ChannelStatePanel extends JPanel
|
||||
|
||||
public JMenu getContextMenu()
|
||||
{
|
||||
JMenu menu = new JMenu( "Channel: " + mChannel.getName() );
|
||||
|
||||
if( mChannel.getEnabled() )
|
||||
{
|
||||
JMenuItem disable = new JMenuItem( "Disable" );
|
||||
disable.addActionListener( new ActionListener()
|
||||
{
|
||||
@Override
|
||||
public void actionPerformed( ActionEvent e )
|
||||
{
|
||||
mChannel.setEnabled( DISABLED, BROADCAST_CHANGE );
|
||||
|
||||
if( mPlaylistManager != null )
|
||||
{
|
||||
mPlaylistManager.save();
|
||||
}
|
||||
}
|
||||
} );
|
||||
|
||||
menu.add( disable );
|
||||
|
||||
menu.add( new JSeparator() );
|
||||
|
||||
JMenuItem actySummaryItem =
|
||||
new JMenuItem( "Activity Summary" );
|
||||
|
||||
actySummaryItem.addActionListener( new ActionListener()
|
||||
{
|
||||
@Override
|
||||
public void actionPerformed( ActionEvent e )
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
for( DecoderState decoderState: mChannel.getProcessingChain().getDecoderStates() )
|
||||
{
|
||||
sb.append( decoderState.getActivitySummary() );
|
||||
}
|
||||
|
||||
new ActivitySummaryFrame( sb.toString(), ChannelStatePanel.this );
|
||||
}
|
||||
} );
|
||||
|
||||
menu.add( actySummaryItem );
|
||||
}
|
||||
else
|
||||
{
|
||||
JMenuItem enable = new JMenuItem( "Enable" );
|
||||
enable.addActionListener( new ActionListener()
|
||||
{
|
||||
@Override
|
||||
public void actionPerformed( ActionEvent e )
|
||||
{
|
||||
mChannel.setEnabled( ENABLED, BROADCAST_CHANGE );
|
||||
|
||||
if( mPlaylistManager != null )
|
||||
{
|
||||
mPlaylistManager.save();
|
||||
}
|
||||
}
|
||||
} );
|
||||
|
||||
menu.add( enable );
|
||||
}
|
||||
|
||||
menu.add( new JSeparator() );
|
||||
|
||||
JMenuItem deleteItem = new JMenuItem( "Delete" );
|
||||
deleteItem.addActionListener( new ActionListener()
|
||||
{
|
||||
@Override
|
||||
public void actionPerformed( ActionEvent e )
|
||||
{
|
||||
dispose();
|
||||
|
||||
if( mPlaylistManager != null )
|
||||
{
|
||||
mPlaylistManager.save();
|
||||
}
|
||||
}
|
||||
} );
|
||||
|
||||
menu.add( deleteItem );
|
||||
|
||||
return menu;
|
||||
return ChannelUtils.getContextMenu( mPlaylistManager, mChannel,
|
||||
ChannelStatePanel.this );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user