diff --git a/sdrbase/dsp/channelmarker.cpp b/sdrbase/dsp/channelmarker.cpp
index 557916b45..8fb0ecd9b 100644
--- a/sdrbase/dsp/channelmarker.cpp
+++ b/sdrbase/dsp/channelmarker.cpp
@@ -38,11 +38,14 @@ ChannelMarker::ChannelMarker(QObject* parent) :
m_movable(true),
m_udpAddress("127.0.0.1"),
m_udpReceivePort(9999),
- m_udpSendPort(9998)
+ m_udpSendPort(9998),
+ m_fScaleDisplayType(FScaleDisplay_freq)
{
++m_nextColor;
if(m_colorTable[m_nextColor] == 0)
m_nextColor = 0;
+ m_displayAddressReceive = QString(tr("%1:%2").arg(getUDPAddress()).arg(getUDPSendPort()));
+ m_displayAddressReceive = QString(tr("%1:%2").arg(getUDPAddress()).arg(getUDPReceivePort()));
}
void ChannelMarker::setTitle(const QString& title)
@@ -102,17 +105,21 @@ void ChannelMarker::setColor(const QColor& color)
void ChannelMarker::setUDPAddress(const QString& udpAddress)
{
m_udpAddress = udpAddress;
+ m_displayAddressReceive = QString(tr("%1:%2").arg(getUDPAddress()).arg(getUDPSendPort()));
+ m_displayAddressReceive = QString(tr("%1:%2").arg(getUDPAddress()).arg(getUDPReceivePort()));
emit changed();
}
void ChannelMarker::setUDPReceivePort(quint16 port)
{
m_udpReceivePort = port;
+ m_displayAddressReceive = QString(tr("%1:%2").arg(getUDPAddress()).arg(getUDPReceivePort()));
emit changed();
}
void ChannelMarker::setUDPSendPort(quint16 port)
{
m_udpSendPort = port;
+ m_displayAddressReceive = QString(tr("%1:%2").arg(getUDPAddress()).arg(getUDPSendPort()));
emit changed();
}
diff --git a/sdrbase/dsp/channelmarker.h b/sdrbase/dsp/channelmarker.h
index 7b0be334d..b3fcb0fab 100644
--- a/sdrbase/dsp/channelmarker.h
+++ b/sdrbase/dsp/channelmarker.h
@@ -18,6 +18,14 @@ public:
vlsb //!< LSB with vestigial USB
} sidebands_t;
+ typedef enum frequencyScaleDisplay_e
+ {
+ FScaleDisplay_freq,
+ FScaleDisplay_title,
+ FScaleDisplay_addressSend,
+ FScaleDisplay_addressReceive,
+ } frequencyScaleDisplay_t;
+
ChannelMarker(QObject* parent = NULL);
void setTitle(const QString& title);
@@ -59,12 +67,19 @@ public:
void setUDPSendPort(quint16 port);
quint16 getUDPSendPort() const { return m_udpSendPort; }
+ void setFrequencyScaleDisplayType(frequencyScaleDisplay_t type) { m_fScaleDisplayType = type; }
+ frequencyScaleDisplay_t getFrequencyScaleDisplayType() const { return m_fScaleDisplayType; }
+
+ const QString& getDisplayAddressSend() const { return m_displayAddressSend; }
+ const QString& getDisplayAddressReceive() const { return m_displayAddressReceive; }
protected:
static QRgb m_colorTable[];
static int m_nextColor;
QString m_title;
+ QString m_displayAddressSend;
+ QString m_displayAddressReceive;
int m_centerFrequency;
int m_bandwidth;
int m_oppositeBandwidth;
@@ -77,6 +92,7 @@ protected:
QString m_udpAddress;
quint16 m_udpReceivePort;
quint16 m_udpSendPort;
+ frequencyScaleDisplay_t m_fScaleDisplayType;
signals:
void changed();
diff --git a/sdrbase/gui/basicchannelsettingsdialog.cpp b/sdrbase/gui/basicchannelsettingsdialog.cpp
index 9741096b5..eb660790e 100644
--- a/sdrbase/gui/basicchannelsettingsdialog.cpp
+++ b/sdrbase/gui/basicchannelsettingsdialog.cpp
@@ -74,5 +74,7 @@ void BasicChannelSettingsDialog::accept()
m_channelMarker->setUDPSendPort(udpPort);
+ m_channelMarker->setFrequencyScaleDisplayType((ChannelMarker::frequencyScaleDisplay_t) ui->fScaleDisplayType->currentIndex());
+
QDialog::accept();
}
diff --git a/sdrbase/gui/basicchannelsettingsdialog.ui b/sdrbase/gui/basicchannelsettingsdialog.ui
index 1e5f5f524..dba382185 100644
--- a/sdrbase/gui/basicchannelsettingsdialog.ui
+++ b/sdrbase/gui/basicchannelsettingsdialog.ui
@@ -70,6 +70,50 @@
+ -
+
+
+ FScale
+
+
+
+ -
+
+
-
+
+ Freq
+
+
+ -
+
+ Title
+
+
+ -
+
+ AdSnd
+
+
+ -
+
+ AdRcv
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
-
diff --git a/sdrbase/gui/glspectrum.cpp b/sdrbase/gui/glspectrum.cpp
index 3f11108c5..57c8145d8 100644
--- a/sdrbase/gui/glspectrum.cpp
+++ b/sdrbase/gui/glspectrum.cpp
@@ -1472,7 +1472,25 @@ void GLSpectrum::applyChanges()
int shift;
//ChannelMarker::sidebands_t sidebands = dv->m_channelMarker->getSidebands();
xc = m_centerFrequency + dv->m_channelMarker->getCenterFrequency(); // marker center frequency
- QString ftext = QString::number((m_centerFrequency + dv->m_channelMarker->getCenterFrequency())/1e6, 'f', 6);
+ QString ftext;
+ switch (dv->m_channelMarker->getFrequencyScaleDisplayType())
+ {
+ case ChannelMarker::FScaleDisplay_freq:
+ ftext = QString::number((m_centerFrequency + dv->m_channelMarker->getCenterFrequency())/1e6, 'f', 6); // TODO
+ break;
+ case ChannelMarker::FScaleDisplay_title:
+ ftext = dv->m_channelMarker->getTitle();
+ break;
+ case ChannelMarker::FScaleDisplay_addressSend:
+ ftext = dv->m_channelMarker->getDisplayAddressSend();
+ break;
+ case ChannelMarker::FScaleDisplay_addressReceive:
+ ftext = dv->m_channelMarker->getDisplayAddressReceive();
+ break;
+ default:
+ ftext = QString::number((m_centerFrequency + dv->m_channelMarker->getCenterFrequency())/1e6, 'f', 6);
+ break;
+ }
if (dv->m_channelMarker->getCenterFrequency() < 0) { // left half of scale
ftext = " " + ftext;
shift = 0;