Merge branch 'master' into audiometer

monitor
Roeland Jansen 2022-08-24 18:17:57 +02:00
commit be95896205
9 zmienionych plików z 1809 dodań i 301 usunięć

38
colorprefs.h 100644
Wyświetl plik

@ -0,0 +1,38 @@
#ifndef COLORPREFS_H
#define COLORPREFS_H
#include <QColor>
#include <QString>
struct colorPrefsType{
int presetNum = -1;
QString *presetName = Q_NULLPTR;
// Spectrum line plot:
QColor gridColor;
QColor axisColor;
QColor textColor;
QColor spectrumLine;
QColor spectrumFill;
QColor underlayLine;
QColor underlayFill;
QColor plotBackground;
QColor tuningLine;
// Waterfall:
QColor wfBackground;
QColor wfGrid;
QColor wfAxis;
QColor wfText;
// Meters:
QColor meterLevel;
QColor meterAverage;
QColor meterPeakLevel;
QColor meterPeakScale;
QColor meterLowerLine;
QColor meterLowText;
};
#endif // COLORPREFS_H

Wyświetl plik

@ -48,6 +48,26 @@ meter::meter(QWidget *parent) : QWidget(parent)
}
void meter::setColors(QColor current, QColor peakScale, QColor peakLevel,
QColor average, QColor lowLine,
QColor lowText)
{
currentColor = current;
peakColor = peakLevel; // color for the peak level indicator
highLineColor = peakScale; // color for the red side of the scale
highTextColor = peakScale; // color for the red side of the scale's text
averageColor = average;
midScaleColor = QColor(Qt::yellow);
centerTuningColor = QColor(Qt::green);
lowLineColor = lowLine;
lowTextColor = lowText;
this->update();
}
void meter::clearMeterOnPTTtoggle()
{
// When a meter changes type, such as the fixed S -- TxPo meter,
@ -270,7 +290,7 @@ void meter::paintEvent(QPaintEvent *)
void meter::drawLabel(QPainter *qp)
{
qp->setPen(lowLineColor);
qp->setPen(lowTextColor);
qp->drawText(0,scaleTextYstart, label );
}
@ -332,9 +352,8 @@ void meter::drawScaleRaw(QPainter *qp)
// Line: X1, Y1 -->to--> X2, Y2
qp->drawLine(mXstart,scaleLineYstart,peakRedLevel+mXstart,scaleLineYstart);
qp->setPen(Qt::red);
qp->setPen(highLineColor);
qp->drawLine(peakRedLevel+mXstart,scaleLineYstart,255+mXstart,scaleLineYstart);
}
void meter::drawScale_dBFs(QPainter *qp)
@ -393,7 +412,7 @@ void meter::drawScaleVd(QPainter *qp)
// Line: X1, Y1 -->to--> X2, Y2
qp->drawLine(mXstart,scaleLineYstart,peakRedLevel+mXstart,scaleLineYstart);
qp->setPen(Qt::red);
qp->setPen(highLineColor);
qp->drawLine(peakRedLevel+mXstart,scaleLineYstart,255+mXstart,scaleLineYstart);
}
@ -404,7 +423,7 @@ void meter::drawScaleCenter(QPainter *qp)
qp->setPen(lowLineColor);
qp->drawText(60+mXstart,scaleTextYstart, QString("-"));
qp->setPen(Qt::green);
qp->setPen(centerTuningColor);
// Attempt to draw the zero at the actual center
qp->drawText(128-2+mXstart,scaleTextYstart, QString("0"));
@ -415,7 +434,7 @@ void meter::drawScaleCenter(QPainter *qp)
qp->setPen(lowLineColor);
qp->drawLine(mXstart,scaleLineYstart,128-32+mXstart,scaleLineYstart);
qp->setPen(Qt::green);
qp->setPen(centerTuningColor);
qp->drawLine(128-32+mXstart,scaleLineYstart,128+32+mXstart,scaleLineYstart);
qp->setPen(lowLineColor);
@ -449,7 +468,7 @@ void meter::drawScalePo(QPainter *qp)
//qDebug() << "meter i: " << i;
dnPerWatt = (213-143.0f) / 50.0f; // 1.4 dn per watt
// P=5 here.
qp->setPen(Qt::yellow);
qp->setPen(midScaleColor);
int k=0;
for(i=mXstart+143; i<mXstart+213; i+=(5*dnPerWatt))
{
@ -459,7 +478,7 @@ void meter::drawScalePo(QPainter *qp)
}
// Now we're out past 100:
qp->setPen(Qt::red);
qp->setPen(highTextColor);
for(i=mXstart+213; i<mXstart+255; i+=(10*dnPerWatt))
{
@ -473,7 +492,7 @@ void meter::drawScalePo(QPainter *qp)
// Line: X1, Y1 -->to--> X2, Y2
qp->drawLine(mXstart,scaleLineYstart,213+mXstart,scaleLineYstart);
qp->setPen(Qt::red);
qp->setPen(highLineColor);
qp->drawLine(213+mXstart,scaleLineYstart,255+mXstart,scaleLineYstart);
(void)qp;
@ -499,7 +518,7 @@ void meter::drawScaleALC(QPainter *qp)
alc +=20;
}
qp->setPen(Qt::red);
qp->setPen(highTextColor);
for(; i<mXstart+120; i+=(int)(10*i))
{
@ -510,7 +529,7 @@ void meter::drawScaleALC(QPainter *qp)
qp->setPen(lowLineColor);
qp->drawLine(mXstart,scaleLineYstart,100+mXstart,scaleLineYstart);
qp->setPen(Qt::red);
qp->setPen(highLineColor);
qp->drawLine(100+mXstart,scaleLineYstart,255+mXstart,scaleLineYstart);
(void)qp;
@ -550,7 +569,7 @@ void meter::drawScaleComp(QPainter *qp)
// Line: X1, Y1 -->to--> X2, Y2
qp->drawLine(mXstart,scaleLineYstart,peakRedLevel+mXstart,scaleLineYstart);
qp->setPen(Qt::red);
qp->setPen(highLineColor);
qp->drawLine(peakRedLevel+mXstart,scaleLineYstart,255+mXstart,scaleLineYstart);
}
@ -562,27 +581,29 @@ void meter::drawScaleSWR(QPainter *qp)
// 0080=SWR2.0,
// 0120=SWR3.0
qp->setPen(lowTextColor);
qp->drawText(mXstart,scaleTextYstart, QString("1.0"));
qp->drawText(24+mXstart,scaleTextYstart, QString("1.3"));
qp->drawText(48+mXstart,scaleTextYstart, QString("1.5"));
qp->drawText(80+mXstart,scaleTextYstart, QString("2.0"));
qp->drawText(100+mXstart,scaleTextYstart, QString("2.5"));
qp->setPen(highTextColor);
qp->drawText(120+mXstart,scaleTextYstart, QString("3.0"));
qp->setPen(lowLineColor);
qp->drawLine( 0+mXstart,scaleTextYstart, 0+mXstart, scaleTextYstart+5);
qp->drawLine( 24+mXstart,scaleTextYstart, 24+mXstart, scaleTextYstart+5);
qp->drawLine( 48+mXstart,scaleTextYstart, 48+mXstart, scaleTextYstart+5);
qp->drawLine( 80+mXstart,scaleTextYstart, 80+mXstart, scaleTextYstart+5);
qp->drawLine(100+mXstart,scaleTextYstart,100+mXstart, scaleTextYstart+5); // does not draw?
qp->setPen(highLineColor);
qp->drawLine(120+mXstart,scaleTextYstart,120+mXstart, scaleTextYstart+5);
qp->setPen(lowLineColor);
qp->drawLine(mXstart,scaleLineYstart,100+mXstart,scaleLineYstart);
qp->setPen(Qt::red);
qp->setPen(highLineColor);
qp->drawLine(100+mXstart,scaleLineYstart,255+mXstart,scaleLineYstart);
}
void meter::drawScaleId(QPainter *qp)
@ -620,7 +641,7 @@ void meter::drawScaleId(QPainter *qp)
// Line: X1, Y1 -->to--> X2, Y2
qp->drawLine(mXstart,scaleLineYstart,peakRedLevel+mXstart,scaleLineYstart);
qp->setPen(Qt::red);
qp->setPen(highLineColor);
qp->drawLine(peakRedLevel+mXstart,scaleLineYstart,255+mXstart,scaleLineYstart);
}
@ -649,7 +670,7 @@ void meter::drawScaleS(QPainter *qp)
s = 20;
i+=20;
qp->setPen(Qt::red);
qp->setPen(highTextColor);
for(; i<mXstart+255; i+=40)
{
@ -659,9 +680,7 @@ void meter::drawScaleS(QPainter *qp)
}
qp->setPen(lowLineColor);
qp->drawLine(mXstart,scaleLineYstart,peakRedLevel+mXstart,scaleLineYstart);
qp->setPen(Qt::red);
qp->setPen(highLineColor);
qp->drawLine(peakRedLevel+mXstart,scaleLineYstart,255+mXstart,scaleLineYstart);
}

Wyświetl plik

@ -31,6 +31,9 @@ public slots:
void setMeterShortString(QString);
QString getMeterShortString();
meterKind getMeterType();
void setColors(QColor current, QColor peakScale, QColor peakLevel,
QColor average, QColor lowLine,
QColor lowText);
private:
@ -86,6 +89,9 @@ private:
QColor highTextColor;
QColor highLineColor;
QColor midScaleColor;
QColor centerTuningColor;
};
#endif // METER_H

Wyświetl plik

@ -6,12 +6,14 @@ static const QString greenSS = QString("color: white;border-radius: %1;backgroun
static const QString redSS = QString("color: white;border-radius: %1;background-color: qlineargradient(spread:pad, x1:0.145, y1:0.16, x2:0.92, y2:0.988636, stop:0 rgba(255, 12, 12, 255), stop:0.869347 rgba(103, 0, 0, 255));").arg(SIZE / 2);
static const QString orangeSS = QString("color: white;border-radius: %1;background-color: qlineargradient(spread:pad, x1:0.232, y1:0.272, x2:0.98, y2:0.959773, stop:0 rgba(255, 113, 4, 255), stop:1 rgba(91, 41, 7, 255))").arg(SIZE / 2);
static const QString blueSS = QString("color: white;border-radius: %1;background-color: qlineargradient(spread:pad, x1:0.04, y1:0.0565909, x2:0.799, y2:0.795, stop:0 rgba(203, 220, 255, 255), stop:0.41206 rgba(0, 115, 255, 255), stop:1 rgba(0, 49, 109, 255));").arg(SIZE / 2);
static const QString blankSS = QString("color: white;border-radius: %1;background-color: qlineargradient(spread:pad, x1:0.04, y1:0.0565909, x2:0.799, y2:0.795, stop:0 rgba(203, 220, 255, 0), stop:0.41206 rgba(0, 115, 255, 0), stop:1 rgba(0, 49, 109, 0));").arg(SIZE / 2);
QLedLabel::QLedLabel(QWidget* parent) :
QLabel(parent)
{
//Set to ok by default
setState(StateOkBlue);
baseColor = QColor(0, 115, 255, 255);
setFixedSize(SIZE, SIZE);
}
@ -29,6 +31,11 @@ void QLedLabel::setState(State state)
setStyleSheet(redSS);
break;
case StateOkBlue:
setStyleSheet(blueSS);
break;
case StateBlank:
setStyleSheet(blankSS);
break;
default:
setStyleSheet(blueSS);
break;
@ -38,4 +45,62 @@ void QLedLabel::setState(State state)
void QLedLabel::setState(bool state)
{
setState(state ? StateOk : StateError);
}
}
void QLedLabel::setColor(QColor customColor, bool applyGradient=true)
{
QColor top,middle,bottom;
this->baseColor = customColor;
if(applyGradient)
{
top = customColor.lighter(200);
middle = customColor;
bottom = customColor.darker(200);
} else {
top = customColor;
middle = customColor;
bottom = customColor;
}
// Stop 0 is the upper corner color, white-ish
// Stop 0.4 is the middle color
// Stop 1 is the bottom-right corner, darker.
QString colorSS = QString("color: white;\
border-radius: %1;background-color: \
qlineargradient(spread:pad, x1:0.04, \
y1:0.0565909, x2:0.799, y2:0.795, \
stop:0 \
rgba(%2, %3, %4, %5), \
stop:0.41206 \
rgba(%6, %7, %8, %9), \
stop:1 \
rgba(%10, %11, %12, %13));").arg(SIZE / 2)
.arg(top.red()).arg(top.green()).arg(top.blue()).arg(top.alpha())
.arg(middle.red()).arg(middle.green()).arg(middle.blue()).arg(middle.alpha())
.arg(bottom.red()).arg(bottom.green()).arg(bottom.blue()).arg(bottom.alpha());
setStyleSheet(colorSS);
}
void QLedLabel::setColor(QString colorString, bool applyGradient=true)
{
QColor c = QColor(colorString);
setColor(c, applyGradient);
}
void QLedLabel::setColor(QColor c)
{
this->setColor(c, true);
}
void QLedLabel::setColor(QString s)
{
this->setColor(s, true);
}
QColor QLedLabel::getColor()
{
return baseColor;
}

Wyświetl plik

@ -13,7 +13,8 @@ public:
StateOk,
StateOkBlue,
StateWarning,
StateError
StateError,
StateBlank
};
@ -22,6 +23,14 @@ signals:
public slots:
void setState(State state);
void setState(bool state);
void setColor(QColor customColor, bool applyGradient);
void setColor(QString colorString, bool applyGradient);
void setColor(QColor c);
void setColor(QString s);
QColor getColor();
private:
QColor baseColor;
};
#endif // QLEDLABEL_H

1087
wfmain.cpp

Plik diff jest za duży Load Diff

160
wfmain.h
Wyświetl plik

@ -16,6 +16,8 @@
#include <QMetaType>
#include <QMutex>
#include <QMutexLocker>
#include <QColorDialog>
#include <QColor>
#include "logcategories.h"
#include "commhandler.h"
@ -35,6 +37,7 @@
#include "rigctld.h"
#include "aboutbox.h"
#include "selectradio.h"
#include "colorprefs.h"
#include <qcustomplot.h>
#include <qserialportinfo.h>
@ -49,6 +52,7 @@
#include "rtaudio/RtAudio.h"
#endif
#define numColorPresetsTotal (5)
namespace Ui {
class wfmain;
@ -298,8 +302,6 @@ private slots:
void on_clearPeakBtn_clicked();
void on_drawPeakChk_clicked(bool checked);
void on_fullScreenChk_clicked(bool checked);
void on_goFreqBtn_clicked();
@ -328,14 +330,8 @@ private slots:
void on_scopeEdgeCombo_currentIndexChanged(int index);
// void on_modeSelectCombo_currentIndexChanged(int index);
void on_useDarkThemeChk_clicked(bool checked);
void on_modeSelectCombo_activated(int index);
// void on_freqDial_actionTriggered(int action);
void on_freqDial_valueChanged(int value);
void on_band6mbtn_clicked();
@ -384,7 +380,6 @@ private slots:
void on_saveSettingsBtn_clicked();
void on_debugBtn_clicked();
void on_pttEnableChk_clicked(bool checked);
@ -427,7 +422,6 @@ private slots:
void on_dataModeBtn_toggled(bool checked);
void on_transmitBtn_clicked();
void on_adjRefBtn_clicked();
@ -556,6 +550,92 @@ private slots:
void on_underlayAverageBuffer_toggled(bool checked);
void on_colorSetBtnGrid_clicked();
void on_colorSetBtnPlotBackground_clicked();
void on_colorSetBtnText_clicked();
void on_colorSetBtnSpecLine_clicked();
void on_colorSetBtnSpecFill_clicked();
void on_colorEditPlotBackground_editingFinished();
void on_colorPopOutBtn_clicked();
void on_colorPresetCombo_currentIndexChanged(int index);
void on_colorEditSpecLine_editingFinished();
void on_colorEditGrid_editingFinished();
void on_colorEditText_editingFinished();
void on_colorEditSpecFill_editingFinished();
void on_colorSetBtnAxis_clicked();
void on_colorEditAxis_editingFinished();
void on_colorSetBtnUnderlayLine_clicked();
void on_colorEditUnderlayLine_editingFinished();
void on_colorSetBtnUnderlayFill_clicked();
void on_colorEditUnderlayFill_editingFinished();
void on_colorSetBtnwfBackground_clicked();
void on_colorEditWfBackground_editingFinished();
void on_colorSetBtnWfGrid_clicked();
void on_colorEditWfGrid_editingFinished();
void on_colorSetBtnWfAxis_clicked();
void on_colorEditWfAxis_editingFinished();
void on_colorSetBtnWfText_clicked();
void on_colorEditWfText_editingFinished();
void on_colorSetBtnTuningLine_clicked();
void on_colorEditTuningLine_editingFinished();
void on_colorSetBtnMeterLevel_clicked();
void on_colorEditMeterLevel_editingFinished();
void on_colorSetBtnMeterAvg_clicked();
void on_colorEditMeterAvg_editingFinished();
void on_colorSetBtnMeterScale_clicked();
void on_colorEditMeterScale_editingFinished();
void on_colorSetBtnMeterText_clicked();
void on_colorEditMeterText_editingFinished();
void on_colorRenamePresetBtn_clicked();
void on_colorRevertPresetBtn_clicked();
void on_colorSetBtnMeterPeakLevel_clicked();
void on_colorEditMeterPeakLevel_editingFinished();
void on_colorSetBtnMeterPeakScale_clicked();
void on_colorEditMeterPeakScale_editingFinished();
void on_colorSavePresetBtn_clicked();
private:
Ui::wfmain *ui;
void closeEvent(QCloseEvent *event);
@ -569,11 +649,11 @@ private:
QCustomPlot *plot; // line plot
QCustomPlot *wf; // waterfall image
QCPItemLine * freqIndicatorLine;
//commHandler *comm;
void setAppTheme(bool isCustom);
void setPlotTheme(QCustomPlot *plot, bool isDark);
void prepareWf();
void prepareWf(unsigned int wfLength);
void preparePlasma();
bool plasmaPrepared = false;
void computePlasma();
void showHideSpectrum(bool show);
void getInitialRigState();
@ -673,7 +753,6 @@ private:
QVector <QByteArray> spectrumPlasma;
unsigned int spectrumPlasmaSize = 64;
underlay_t underlayMode = underlayNone;
bool drawPlasma = true;
QMutex plasmaMutex;
void resizePlasmaBuffer(int newSize);
@ -688,7 +767,6 @@ private:
unsigned int wfLengthMax;
bool onFullscreen;
bool drawPeaks;
bool freqTextSelected;
void checkFreqSel();
@ -761,34 +839,11 @@ private:
datekind datesetpoint;
freqMemory mem;
struct colors {
QColor Dark_PlotBackground;
QColor Dark_PlotAxisPen;
QColor Dark_PlotLegendTextColor;
QColor Dark_PlotLegendBorderPen;
QColor Dark_PlotLegendBrush;
QColor Dark_PlotTickLabel;
QColor Dark_PlotBasePen;
QColor Dark_PlotTickPen;
QColor Dark_PeakPlotLine;
QColor Dark_TuningLine;
QColor Light_PlotBackground;
QColor Light_PlotAxisPen;
QColor Light_PlotLegendTextColor;
QColor Light_PlotLegendBorderPen;
QColor Light_PlotLegendBrush;
QColor Light_PlotTickLabel;
QColor Light_PlotBasePen;
QColor Light_PlotTickPen;
QColor Light_PeakPlotLine;
QColor Light_TuningLine;
} colorScheme;
colorPrefsType colorPreset[numColorPresetsTotal];
struct preferences {
bool useFullScreen;
bool useDarkMode;
bool useSystemTheme;
bool drawPeaks;
underlay_t underlayMode = underlayNone;
@ -806,7 +861,7 @@ private:
bool enableLAN;
bool enableRigCtlD;
quint16 rigCtlPort;
colors colorScheme;
int currentColorPresetNumber = 0;
QString virtualSerialPort;
unsigned char localAFgain;
unsigned int wflength;
@ -829,13 +884,34 @@ private:
audioSetup rxSetup;
audioSetup txSetup;
void setDefaultColors(int presetNumber); // populate with default values
colors defaultColors;
void setDefaultColors(); // populate with default values
void useColors(); // set the plot up
void setDefPrefs(); // populate default values to default prefs
void setTuningSteps();
void setColorElement(QColor color, QLedLabel *led, QLabel *label);
void setColorElement(QColor color, QLedLabel *led, QLineEdit *lineText);
void setColorElement(QColor color, QLedLabel *led, QLabel *label, QLineEdit *lineText);
QColor getColorFromPicker(QColor initialColor);
void getSetColor(QLedLabel *led, QLabel *label);
void getSetColor(QLedLabel *led, QLineEdit *line);
QString setColorFromString(QString aarrggbb, QLedLabel *led);
void setDefaultColorPresets();
void loadColorPresetToUIandPlots(int presetNumber);
void useColorPreset(colorPrefsType *cp);
void useCurrentColorPreset();
void setEditAndLedFromColor(QColor c, QLineEdit *e, QLedLabel *d);
void setColorButtonOperations(QColor *colorStore, QLineEdit *e, QLedLabel *d);
void setColorLineEditOperations(QColor *colorStore, QLineEdit *e, QLedLabel *d);
void detachSettingsTab();
void reattachSettingsTab();
void prepareSettingsWindow();
QWidget *settingsWidgetWindow;
QWidget *settingsTab;
QGridLayout *settingsWidgetLayout;
QTabWidget *settingsWidgetTab;
bool settingsTabisAttached = true;
quint64 roundFrequency(quint64 frequency, unsigned int tsHz);
quint64 roundFrequencyWithStep(quint64 oldFreq, int steps,\

681
wfmain.ui
Wyświetl plik

@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>1002</width>
<width>1032</width>
<height>569</height>
</rect>
</property>
@ -18,7 +18,7 @@
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>3</number>
<number>0</number>
</property>
<widget class="QWidget" name="mainTab">
<attribute name="title">
@ -931,6 +931,9 @@
<height>80</height>
</size>
</property>
<property name="toolTip">
<string>Sets the floor for the waterfall and spectrum displays</string>
</property>
<property name="maximum">
<number>160</number>
</property>
@ -2820,13 +2823,6 @@
<layout class="QVBoxLayout" name="verticalLayout_24">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_21">
<item>
<widget class="QCheckBox" name="drawPeakChk">
<property name="text">
<string>Draw Peaks</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="tuningFloorZerosChk">
<property name="text">
@ -2854,13 +2850,6 @@
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_22">
<item>
<widget class="QCheckBox" name="useDarkThemeChk">
<property name="text">
<string>Waterfall Dark Theme</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="wfInterpolateChk">
<property name="text">
@ -2872,16 +2861,16 @@
</widget>
</item>
<item>
<widget class="QCheckBox" name="useSystemThemeChk">
<widget class="QCheckBox" name="wfAntiAliasChk">
<property name="text">
<string>Use System Theme</string>
<string>Anti-Alias Waterfall</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="wfAntiAliasChk">
<widget class="QCheckBox" name="useSystemThemeChk">
<property name="text">
<string>Anti-Alias Waterfall</string>
<string>Use System Theme</string>
</property>
</widget>
</item>
@ -2930,6 +2919,9 @@
</item>
<item>
<widget class="QRadioButton" name="underlayNone">
<property name="toolTip">
<string>No underlay graphics</string>
</property>
<property name="text">
<string>None</string>
</property>
@ -2943,6 +2935,9 @@
</item>
<item>
<widget class="QRadioButton" name="underlayPeakHold">
<property name="toolTip">
<string>Indefinite peak hold</string>
</property>
<property name="text">
<string>Peak Hold</string>
</property>
@ -2953,6 +2948,9 @@
</item>
<item>
<widget class="QRadioButton" name="underlayPeakBuffer">
<property name="toolTip">
<string>Peak value within the buffer</string>
</property>
<property name="text">
<string>Peak</string>
</property>
@ -2963,6 +2961,9 @@
</item>
<item>
<widget class="QRadioButton" name="underlayAverageBuffer">
<property name="toolTip">
<string>Average value within the buffer</string>
</property>
<property name="text">
<string>Average</string>
</property>
@ -2974,7 +2975,7 @@
<item>
<widget class="QLabel" name="label_42">
<property name="text">
<string>Uneerlay Buffer Size:</string>
<string>Underlay Buffer Size:</string>
</property>
</widget>
</item>
@ -2986,6 +2987,9 @@
<height>16777215</height>
</size>
</property>
<property name="toolTip">
<string>Size of buffer for spectrum data. Shorter values are more responsive.</string>
</property>
<property name="minimum">
<number>8</number>
</property>
@ -3017,6 +3021,29 @@
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_28">
<item>
<widget class="QCheckBox" name="pttEnableChk">
<property name="text">
<string>Enable PTT Controls</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_30">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="secondaryMeterSelectionLabel">
<property name="text">
@ -3067,14 +3094,108 @@
<number>0</number>
</property>
<item>
<widget class="QCheckBox" name="pttEnableChk">
<widget class="QLabel" name="label_43">
<property name="text">
<string>Enable PTT Controls</string>
<string>Color scheme</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_14">
<widget class="QLabel" name="colorPresetLabel">
<property name="text">
<string>Preset:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="colorPresetCombo">
<property name="minimumSize">
<size>
<width>90</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>90</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip">
<string>Select a color preset here.</string>
</property>
<item>
<property name="text">
<string>1</string>
</property>
</item>
<item>
<property name="text">
<string>2</string>
</property>
</item>
<item>
<property name="text">
<string>3</string>
</property>
</item>
<item>
<property name="text">
<string>4</string>
</property>
</item>
<item>
<property name="text">
<string>5</string>
</property>
</item>
</widget>
</item>
<item>
<widget class="QPushButton" name="colorSavePresetBtn">
<property name="toolTip">
<string>Saves the current preset to the settings file.</string>
</property>
<property name="text">
<string>Save Preset</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="colorRevertPresetBtn">
<property name="toolTip">
<string>Revert the selected color preset to the default.</string>
</property>
<property name="text">
<string>Revert</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="colorRenamePresetBtn">
<property name="toolTip">
<string>Rename the selected color preset. Max length is 10 characters.</string>
</property>
<property name="text">
<string>Rename Preset</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="colorPopOutBtn">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Pop out (or pop back in) the entire Settings tab. &lt;/p&gt;&lt;p&gt;NOTE: Press this button again to re-insert the tab when finished. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Pop-Out</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_29">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@ -3088,6 +3209,508 @@
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="groupBox_9">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>1</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>250</height>
</size>
</property>
<property name="baseSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="title">
<string>User-defined Color Editor</string>
</property>
<layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="0">
<widget class="QScrollArea" name="scrollArea">
<property name="sizeAdjustPolicy">
<enum>QAbstractScrollArea::AdjustToContents</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>767</width>
<height>582</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="19" column="2">
<widget class="QLedLabel" name="colorSwatchMeterText" native="true"/>
</item>
<item row="7" column="1">
<widget class="QLineEdit" name="colorEditUnderlayLine">
<property name="maximumSize">
<size>
<width>90</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>#AARRGGBB</string>
</property>
</widget>
</item>
<item row="6" column="2">
<widget class="QLedLabel" name="colorSwatchSpecFill" native="true"/>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="colorEditText">
<property name="maximumSize">
<size>
<width>90</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>#AARRGGBB</string>
</property>
</widget>
</item>
<item row="10" column="0">
<widget class="QPushButton" name="colorSetBtnWfGrid">
<property name="text">
<string>Waterfall Grid</string>
</property>
</widget>
</item>
<item row="4" column="2">
<widget class="QLedLabel" name="colorSwatchPlotBackground" native="true"/>
</item>
<item row="6" column="0">
<widget class="QPushButton" name="colorSetBtnSpecFill">
<property name="text">
<string>Spectrum Fill</string>
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QPushButton" name="colorSetBtnUnderlayFill">
<property name="text">
<string>Underlay Fill</string>
</property>
</widget>
</item>
<item row="7" column="2">
<widget class="QLedLabel" name="colorSwatchUnderlayLine" native="true"/>
</item>
<item row="15" column="0">
<widget class="QPushButton" name="colorSetBtnMeterAvg">
<property name="text">
<string>Meter Average</string>
</property>
</widget>
</item>
<item row="17" column="0">
<widget class="QPushButton" name="colorSetBtnMeterPeakScale">
<property name="text">
<string>Meter High Scale</string>
</property>
</widget>
</item>
<item row="14" column="1">
<widget class="QLineEdit" name="colorEditMeterLevel">
<property name="maximumSize">
<size>
<width>90</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>#AARRGGBB</string>
</property>
</widget>
</item>
<item row="11" column="2">
<widget class="QLedLabel" name="colorSwatchWfAxis" native="true"/>
</item>
<item row="9" column="0">
<widget class="QPushButton" name="colorSetBtnwfBackground">
<property name="text">
<string>Waterfall Back</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QPushButton" name="colorSetBtnPlotBackground">
<property name="text">
<string>Plot Background</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="colorEditGrid">
<property name="maximumSize">
<size>
<width>90</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip">
<string>Color text format is #AARRGGBB, where AA is the &quot;alpha&quot; channel, and value &quot;00&quot; is totally transparent, and &quot;ff&quot; is totally opaque.</string>
</property>
<property name="text">
<string>#AARRGGBB</string>
</property>
</widget>
</item>
<item row="9" column="1">
<widget class="QLineEdit" name="colorEditWfBackground">
<property name="maximumSize">
<size>
<width>90</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>#AARRGGBB</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QLineEdit" name="colorEditSpecFill">
<property name="maximumSize">
<size>
<width>90</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>#AARRGGBB</string>
</property>
</widget>
</item>
<item row="12" column="0">
<widget class="QPushButton" name="colorSetBtnWfText">
<property name="text">
<string>Waterfall Text</string>
</property>
</widget>
</item>
<item row="8" column="2">
<widget class="QLedLabel" name="colorSwatchUnderlayFill" native="true"/>
</item>
<item row="2" column="0">
<widget class="QPushButton" name="colorSetBtnAxis">
<property name="text">
<string>Axis</string>
</property>
</widget>
</item>
<item row="10" column="2">
<widget class="QLedLabel" name="colorSwatchWfGrid" native="true"/>
</item>
<item row="2" column="2">
<widget class="QLedLabel" name="colorSwatchAxis" native="true"/>
</item>
<item row="11" column="0">
<widget class="QPushButton" name="colorSetBtnWfAxis">
<property name="text">
<string>Waterfall Axis</string>
</property>
</widget>
</item>
<item row="15" column="2">
<widget class="QLedLabel" name="colorSwatchMeterAverage" native="true"/>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="colorSetBtnGrid">
<property name="text">
<string>Grid</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QLedLabel" name="colorSwatchText" native="true"/>
</item>
<item row="13" column="2">
<widget class="QLedLabel" name="colorSwatchTuningLine" native="true"/>
</item>
<item row="14" column="2">
<widget class="QLedLabel" name="colorSwatchMeterLevel" native="true"/>
</item>
<item row="13" column="0">
<widget class="QPushButton" name="colorSetBtnTuningLine">
<property name="text">
<string>Tuning Line</string>
</property>
</widget>
</item>
<item row="19" column="1">
<widget class="QLineEdit" name="colorEditMeterText">
<property name="maximumSize">
<size>
<width>90</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>#AARRGGBB</string>
</property>
</widget>
</item>
<item row="12" column="1">
<widget class="QLineEdit" name="colorEditWfText">
<property name="maximumSize">
<size>
<width>90</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>#AARRGGBB</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QPushButton" name="colorSetBtnText">
<property name="text">
<string>Text</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="colorEditSpecLine">
<property name="maximumSize">
<size>
<width>90</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>#AARRGGBB</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="colorEditAxis">
<property name="maximumSize">
<size>
<width>90</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>#AARRGGBB</string>
</property>
</widget>
</item>
<item row="10" column="1">
<widget class="QLineEdit" name="colorEditWfGrid">
<property name="maximumSize">
<size>
<width>90</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>#AARRGGBB</string>
</property>
</widget>
</item>
<item row="16" column="1">
<widget class="QLineEdit" name="colorEditMeterPeakLevel">
<property name="maximumSize">
<size>
<width>90</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>#AARRGGBB</string>
</property>
</widget>
</item>
<item row="12" column="2">
<widget class="QLedLabel" name="colorSwatchWfText" native="true"/>
</item>
<item row="13" column="1">
<widget class="QLineEdit" name="colorEditTuningLine">
<property name="maximumSize">
<size>
<width>90</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>#AARRGGBB</string>
</property>
</widget>
</item>
<item row="5" column="2">
<widget class="QLedLabel" name="colorSwatchSpecLine" native="true"/>
</item>
<item row="9" column="2">
<widget class="QLedLabel" name="colorSwatchWfBackground" native="true"/>
</item>
<item row="15" column="1">
<widget class="QLineEdit" name="colorEditMeterAvg">
<property name="maximumSize">
<size>
<width>90</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>#AARRGGBB</string>
</property>
</widget>
</item>
<item row="16" column="0">
<widget class="QPushButton" name="colorSetBtnMeterPeakLevel">
<property name="text">
<string>Meter Peak Level</string>
</property>
</widget>
</item>
<item row="18" column="2">
<widget class="QLedLabel" name="colorSwatchMeterScale" native="true"/>
</item>
<item row="17" column="1">
<widget class="QLineEdit" name="colorEditMeterPeakScale">
<property name="maximumSize">
<size>
<width>90</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>#AARRGGBB</string>
</property>
</widget>
</item>
<item row="17" column="2">
<widget class="QLedLabel" name="colorSwatchMeterPeakScale" native="true"/>
</item>
<item row="18" column="1">
<widget class="QLineEdit" name="colorEditMeterScale">
<property name="maximumSize">
<size>
<width>90</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>#AARRGGBB</string>
</property>
</widget>
</item>
<item row="16" column="2">
<widget class="QLedLabel" name="colorSwatchMeterPeakLevel" native="true"/>
</item>
<item row="8" column="1">
<widget class="QLineEdit" name="colorEditUnderlayFill">
<property name="maximumSize">
<size>
<width>90</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>#AARRGGBB</string>
</property>
</widget>
</item>
<item row="1" column="3">
<spacer name="horizontalSpacer_14">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="11" column="1">
<widget class="QLineEdit" name="colorEditWfAxis">
<property name="maximumSize">
<size>
<width>90</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>#AARRGGBB</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="colorEditPlotBackground">
<property name="maximumSize">
<size>
<width>90</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>#AARRGGBB</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QPushButton" name="colorSetBtnSpecLine">
<property name="text">
<string>Spectrum Line</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QLedLabel" name="colorSwatchGrid" native="true"/>
</item>
<item row="19" column="0">
<widget class="QPushButton" name="colorSetBtnMeterText">
<property name="text">
<string>Meter Text</string>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QPushButton" name="colorSetBtnUnderlayLine">
<property name="text">
<string>Underlay Line</string>
</property>
</widget>
</item>
<item row="18" column="0">
<widget class="QPushButton" name="colorSetBtnMeterScale">
<property name="text">
<string>Meter Scale</string>
</property>
</widget>
</item>
<item row="14" column="0">
<widget class="QPushButton" name="colorSetBtnMeterLevel">
<property name="text">
<string>Meter Level</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
@ -3096,7 +3719,7 @@
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
<height>20</height>
</size>
</property>
</spacer>
@ -4006,7 +4629,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>1002</width>
<width>1032</width>
<height>21</height>
</rect>
</property>
@ -4024,6 +4647,12 @@
<header>meter.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>QLedLabel</class>
<extends>QWidget</extends>
<header>qledlabel.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources/>
<connections/>

Wyświetl plik

@ -176,6 +176,7 @@ SOURCES += main.cpp\
aboutbox.cpp
HEADERS += wfmain.h \
colorprefs.h \
commhandler.h \
rigcommander.h \
freqmemory.h \