Added our "classic" color schemes back in. More tuning needed but a good

start.
monitor
Elliott Liggett 2022-08-22 17:57:54 -07:00
rodzic 6f7f1f84ec
commit da1cd8b14f
3 zmienionych plików z 75 dodań i 135 usunięć

Wyświetl plik

@ -57,13 +57,13 @@ wfmain::wfmain(const QString serialPortCL, const QString hostCL, const QString s
setSerialDevicesUI();
setDefaultColors();
setDefPrefs();
getSettingsFilePath(settingsFile);
setupPlots();
setDefaultColorPresets();
setDefaultColors();
loadSettings(); // Look for saved preferences
@ -1059,9 +1059,6 @@ void wfmain::setUIToPrefs()
ui->fullScreenChk->setChecked(prefs.useFullScreen);
on_fullScreenChk_clicked(prefs.useFullScreen);
ui->useDarkThemeChk->setChecked(prefs.useDarkMode);
on_useDarkThemeChk_clicked(prefs.useDarkMode);
ui->useSystemThemeChk->setChecked(prefs.useSystemTheme);
on_useSystemThemeChk_clicked(prefs.useSystemTheme);
@ -1298,9 +1295,9 @@ void wfmain::setupKeyShortcuts()
void wfmain::setDefPrefs()
{
defPrefs.useFullScreen = false;
defPrefs.useDarkMode = true;
defPrefs.useSystemTheme = false;
defPrefs.drawPeaks = true;
defPrefs.currentColorPresetNumber = 0;
defPrefs.underlayMode = underlayNone;
defPrefs.underlayBufferSize = 64;
defPrefs.wfAntiAlias = false;
@ -1345,7 +1342,6 @@ void wfmain::loadSettings()
// UI: (full screen, dark theme, draw peaks, colors, etc)
settings->beginGroup("Interface");
prefs.useFullScreen = settings->value("UseFullScreen", defPrefs.useFullScreen).toBool();
prefs.useDarkMode = settings->value("UseDarkMode", defPrefs.useDarkMode).toBool();
prefs.useSystemTheme = settings->value("UseSystemTheme", defPrefs.useSystemTheme).toBool();
prefs.wftheme = settings->value("WFTheme", defPrefs.wftheme).toInt();
prefs.plotFloor = settings->value("plotFloor", defPrefs.plotFloor).toInt();
@ -1419,40 +1415,6 @@ void wfmain::loadSettings()
settings->endArray();
settings->endGroup();
// Load color schemes:
// Per this bug: https://forum.qt.io/topic/24725/solved-qvariant-will-drop-alpha-value-when-save-qcolor/5
// the alpha channel is dropped when converting raw qvariant of QColor. Therefore, we are storing as unsigned int and converting back.
settings->beginGroup("DarkColors");
prefs.colorScheme.Dark_PlotBackground = QColor::fromRgba(settings->value("Dark_PlotBackground", defaultColors.Dark_PlotBackground.rgba()).toUInt());
prefs.colorScheme.Dark_PlotAxisPen = QColor::fromRgba(settings->value("Dark_PlotAxisPen", defaultColors.Dark_PlotAxisPen.rgba()).toUInt());
prefs.colorScheme.Dark_PlotLegendTextColor = QColor::fromRgba(settings->value("Dark_PlotLegendTextColor", defaultColors.Dark_PlotLegendTextColor.rgba()).toUInt());
prefs.colorScheme.Dark_PlotLegendBorderPen = QColor::fromRgba(settings->value("Dark_PlotLegendBorderPen", defaultColors.Dark_PlotLegendBorderPen.rgba()).toUInt());
prefs.colorScheme.Dark_PlotLegendBrush = QColor::fromRgba(settings->value("Dark_PlotLegendBrush", defaultColors.Dark_PlotLegendBrush.rgba()).toUInt());
prefs.colorScheme.Dark_PlotTickLabel = QColor::fromRgba(settings->value("Dark_PlotTickLabel", defaultColors.Dark_PlotTickLabel.rgba()).toUInt());
prefs.colorScheme.Dark_PlotBasePen = QColor::fromRgba(settings->value("Dark_PlotBasePen", defaultColors.Dark_PlotBasePen.rgba()).toUInt());
prefs.colorScheme.Dark_PlotTickPen = QColor::fromRgba(settings->value("Dark_PlotTickPen", defaultColors.Dark_PlotTickPen.rgba()).toUInt());
prefs.colorScheme.Dark_PeakPlotLine = QColor::fromRgba(settings->value("Dark_PeakPlotLine", defaultColors.Dark_PeakPlotLine.rgba()).toUInt());
prefs.colorScheme.Dark_TuningLine = QColor::fromRgba(settings->value("Dark_TuningLine", defaultColors.Dark_TuningLine.rgba()).toUInt());
settings->endGroup();
settings->beginGroup("LightColors");
prefs.colorScheme.Light_PlotBackground = QColor::fromRgba(settings->value("Light_PlotBackground", defaultColors.Light_PlotBackground.rgba()).toUInt());
prefs.colorScheme.Light_PlotAxisPen = QColor::fromRgba(settings->value("Light_PlotAxisPen", defaultColors.Light_PlotAxisPen.rgba()).toUInt());
prefs.colorScheme.Light_PlotLegendTextColor = QColor::fromRgba(settings->value("Light_PlotLegendTextColo", defaultColors.Light_PlotLegendTextColor.rgba()).toUInt());
prefs.colorScheme.Light_PlotLegendBorderPen = QColor::fromRgba(settings->value("Light_PlotLegendBorderPen", defaultColors.Light_PlotLegendBorderPen.rgba()).toUInt());
prefs.colorScheme.Light_PlotLegendBrush = QColor::fromRgba(settings->value("Light_PlotLegendBrush", defaultColors.Light_PlotLegendBrush.rgba()).toUInt());
prefs.colorScheme.Light_PlotTickLabel = QColor::fromRgba(settings->value("Light_PlotTickLabel", defaultColors.Light_PlotTickLabel.rgba()).toUInt());
prefs.colorScheme.Light_PlotBasePen = QColor::fromRgba(settings->value("Light_PlotBasePen", defaultColors.Light_PlotBasePen.rgba()).toUInt());
prefs.colorScheme.Light_PlotTickPen = QColor::fromRgba(settings->value("Light_PlotTickPen", defaultColors.Light_PlotTickPen.rgba()).toUInt());
prefs.colorScheme.Light_PeakPlotLine = QColor::fromRgba(settings->value("Light_PeakPlotLine", defaultColors.Light_PeakPlotLine.rgba()).toUInt());
prefs.colorScheme.Light_TuningLine = QColor::fromRgba(settings->value("Light_TuningLine", defaultColors.Light_TuningLine.rgba()).toUInt());
settings->endGroup();
// Radio and Comms: C-IV addr, port to use
settings->beginGroup("Radio");
prefs.radioCIVAddr = (unsigned char)settings->value("RigCIVuInt", defPrefs.radioCIVAddr).toInt();
@ -1911,7 +1873,6 @@ void wfmain::saveSettings()
settings->beginGroup("Interface");
settings->setValue("UseFullScreen", prefs.useFullScreen);
settings->setValue("UseSystemTheme", prefs.useSystemTheme);
settings->setValue("UseDarkMode", prefs.useDarkMode);
settings->setValue("DrawPeaks", prefs.drawPeaks);
settings->setValue("underlayMode", prefs.underlayMode);
settings->setValue("underlayBufferSize", prefs.underlayBufferSize);
@ -2026,51 +1987,6 @@ void wfmain::saveSettings()
settings->endArray();
settings->endGroup();
// Note: X and Y get the same colors. See setPlotTheme() function
settings->beginGroup("DarkColors");
settings->setValue("Dark_PlotBackground", prefs.colorScheme.Dark_PlotBackground.rgba());
settings->setValue("Dark_PlotAxisPen", prefs.colorScheme.Dark_PlotAxisPen.rgba());
settings->setValue("Dark_PlotLegendTextColor", prefs.colorScheme.Dark_PlotLegendTextColor.rgba());
settings->setValue("Dark_PlotLegendBorderPen", prefs.colorScheme.Dark_PlotLegendBorderPen.rgba());
settings->setValue("Dark_PlotLegendBrush", prefs.colorScheme.Dark_PlotLegendBrush.rgba());
settings->setValue("Dark_PlotTickLabel", prefs.colorScheme.Dark_PlotTickLabel.rgba());
settings->setValue("Dark_PlotBasePen", prefs.colorScheme.Dark_PlotBasePen.rgba());
settings->setValue("Dark_PlotTickPen", prefs.colorScheme.Dark_PlotTickPen.rgba());
settings->setValue("Dark_PeakPlotLine", prefs.colorScheme.Dark_PeakPlotLine.rgba());
settings->setValue("Dark_TuningLine", prefs.colorScheme.Dark_TuningLine.rgba());
settings->endGroup();
settings->beginGroup("LightColors");
settings->setValue("Light_PlotBackground", prefs.colorScheme.Light_PlotBackground.rgba());
settings->setValue("Light_PlotAxisPen", prefs.colorScheme.Light_PlotAxisPen.rgba());
settings->setValue("Light_PlotLegendTextColor", prefs.colorScheme.Light_PlotLegendTextColor.rgba());
settings->setValue("Light_PlotLegendBorderPen", prefs.colorScheme.Light_PlotLegendBorderPen.rgba());
settings->setValue("Light_PlotLegendBrush", prefs.colorScheme.Light_PlotLegendBrush.rgba());
settings->setValue("Light_PlotTickLabel", prefs.colorScheme.Light_PlotTickLabel.rgba());
settings->setValue("Light_PlotBasePen", prefs.colorScheme.Light_PlotBasePen.rgba());
settings->setValue("Light_PlotTickPen", prefs.colorScheme.Light_PlotTickPen.rgba());
settings->setValue("Light_PeakPlotLine", prefs.colorScheme.Light_PeakPlotLine.rgba());
settings->setValue("Light_TuningLine", prefs.colorScheme.Light_TuningLine.rgba());
settings->endGroup();
// This is a reference to see how the preference file is encoded.
settings->beginGroup("StandardColors");
settings->setValue("white", QColor(Qt::white).rgba());
settings->setValue("black", QColor(Qt::black).rgba());
settings->setValue("red_opaque", QColor(Qt::red).rgba());
settings->setValue("red_translucent", QColor(255,0,0,128).rgba());
settings->setValue("green_opaque", QColor(Qt::green).rgba());
settings->setValue("green_translucent", QColor(0,255,0,128).rgba());
settings->setValue("blue_opaque", QColor(Qt::blue).rgba());
settings->setValue("blue_translucent", QColor(0,0,255,128).rgba());
settings->setValue("cyan", QColor(Qt::cyan).rgba());
settings->setValue("magenta", QColor(Qt::magenta).rgba());
settings->setValue("yellow", QColor(Qt::yellow).rgba());
settings->endGroup();
settings->beginGroup("Server");
settings->setValue("ServerEnabled", serverConfig.enabled);
@ -2655,14 +2571,6 @@ void wfmain::showStatusBarText(QString text)
ui->statusBar->showMessage(text, 5000);
}
void wfmain::on_useDarkThemeChk_clicked(bool checked)
{
//setAppTheme(checked);
setPlotTheme(wf, checked);
setPlotTheme(plot, checked);
prefs.useDarkMode = checked;
}
void wfmain::on_useSystemThemeChk_clicked(bool checked)
{
setAppTheme(!checked);
@ -2696,31 +2604,65 @@ void wfmain::setAppTheme(bool isCustom)
void wfmain::setDefaultColors()
{
defaultColors.Dark_PlotBackground = QColor(0,0,0,255);
defaultColors.Dark_PlotAxisPen = QColor(75,75,75,255);
defaultColors.Dark_PlotLegendTextColor = QColor(255,255,255,255);
defaultColors.Dark_PlotLegendBorderPen = QColor(255,255,255,255);
defaultColors.Dark_PlotLegendBrush = QColor(0,0,0,200);
defaultColors.Dark_PlotTickLabel = QColor(Qt::white);
defaultColors.Dark_PlotBasePen = QColor(Qt::white);
defaultColors.Dark_PlotTickPen = QColor(Qt::white);
defaultColors.Dark_PeakPlotLine = QColor(Qt::yellow);
defaultColors.Dark_TuningLine = QColor(Qt::cyan);
// These are some intended built-in color schemes.
// They can be user-modified and may be restored simply
// by removing the relevent color preset preference file entries.
defaultColors.Light_PlotBackground = QColor(255,255,255,255);
defaultColors.Light_PlotAxisPen = QColor(200,200,200,255);
defaultColors.Light_PlotLegendTextColor = QColor(0,0,0,255);
defaultColors.Light_PlotLegendBorderPen = QColor(0,0,0,255);
defaultColors.Light_PlotLegendBrush = QColor(255,255,255,200);
defaultColors.Light_PlotTickLabel = QColor(Qt::black);
defaultColors.Light_PlotBasePen = QColor(Qt::black);
defaultColors.Light_PlotTickPen = QColor(Qt::black);
defaultColors.Light_PeakPlotLine = QColor(Qt::blue);
defaultColors.Light_TuningLine = QColor(Qt::blue);
colorPrefsType *pDark = &colorPreset[0];
colorPrefsType *pLight = &colorPreset[1];
// Dark:
pDark->presetName->clear();
pDark->presetName->append("Dark");
pDark->plotBackground = QColor(0,0,0,255);
pDark->axisColor = QColor(Qt::white);
pDark->textColor = QColor(255,255,255,255);
pDark->gridColor = QColor("transparent");
pDark->spectrumFill = QColor("transparent");
pDark->spectrumLine = QColor(Qt::yellow);
pDark->underlayLine = QColor(20+200/4.0*1,70*(1.6-1/4.0), 150, 150).lighter(200);
pDark->underlayFill = QColor(20+200/4.0*1,70*(1.6-1/4.0), 150, 150);
pDark->tuningLine = QColor(Qt::cyan);
pDark->meterLevel = QColor("#148CD2").darker();
pDark->meterAverage = QColor("#3FB7CD");
pDark->meterPeak = QColor("#3CA0DB").lighter();
pDark->meterLowerLine = QColor("#eff0f1");
pDark->meterLowText = QColor("#eff0f1");
pDark->wfBackground = QColor(Qt::black);
pDark->wfAxis = QColor(Qt::white);
pDark->wfGrid = QColor("transparent");
pDark->wfText = QColor(Qt::white);
// Bright:
pLight->presetName->clear();
pLight->presetName->append("Bright");
pLight->plotBackground = QColor(Qt::white);
pLight->axisColor = QColor(200,200,200,255);
pLight->gridColor = QColor("transparent");
pLight->textColor = QColor(Qt::black);
pLight->spectrumFill = QColor("transparent");
pLight->spectrumLine = QColor(Qt::black);
pLight->underlayLine = QColor(Qt::blue);
pLight->tuningLine = QColor(Qt::darkBlue);
pLight->meterAverage = QColor("#3FB7CD");
pLight->meterPeak = QColor("#3CA0DB");
pLight->meterLowerLine = QColor(Qt::black);
pLight->meterLowText = QColor(Qt::black);
pLight->wfBackground = QColor(Qt::white);
pLight->wfAxis = QColor(200,200,200,255);
pLight->wfGrid = QColor("transparent");
pLight->wfText = QColor(Qt::black);
}
void wfmain::setPlotTheme(QCustomPlot *plot, bool isDark)
{
// TODO: Remove this function
/*
if(isDark)
{
plot->setBackground(prefs.colorScheme.Dark_PlotBackground);
@ -2767,6 +2709,7 @@ void wfmain::setPlotTheme(QCustomPlot *plot, bool isDark)
plot->graph(0)->setPen(prefs.colorScheme.Light_PeakPlotLine);
freqIndicatorLine->setPen(prefs.colorScheme.Light_TuningLine);
}
*/
}
void wfmain::doCmd(commandtype cmddata)
@ -6909,3 +6852,11 @@ void wfmain::on_colorEditMeterText_editingFinished()
// ---------- End color UI slots ----------//
void wfmain::on_colorRevertPresetBtn_clicked()
{
// revert to default colors:
// TODO: Add arguments to setDefaultColors()
//int pn = ui->colorPresetCombo->currentIndex();
//setDefaultColors();
}

Wyświetl plik

@ -329,14 +329,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();
@ -385,7 +379,6 @@ private slots:
void on_saveSettingsBtn_clicked();
void on_debugBtn_clicked();
void on_pttEnableChk_clicked(bool checked);
@ -634,6 +627,8 @@ private slots:
void on_colorRenamePresetBtn_clicked();
void on_colorRevertPresetBtn_clicked();
private:
Ui::wfmain *ui;
void closeEvent(QCloseEvent *event);
@ -649,6 +644,7 @@ private:
QCPItemLine * freqIndicatorLine;
//commHandler *comm;
void setAppTheme(bool isCustom);
// TODO: Remove this function
void setPlotTheme(QCustomPlot *plot, bool isDark);
void prepareWf();
void prepareWf(unsigned int wfLength);
@ -839,6 +835,8 @@ private:
datekind datesetpoint;
freqMemory mem;
// TODO: Remove colorScheme in favor of colorPreset
struct colors {
QColor Dark_PlotBackground;
QColor Dark_PlotAxisPen;
@ -868,7 +866,6 @@ private:
struct preferences {
bool useFullScreen;
bool useDarkMode;
bool useSystemTheme;
bool drawPeaks;
underlay_t underlayMode = underlayNone;
@ -886,7 +883,6 @@ private:
bool enableLAN;
bool enableRigCtlD;
quint16 rigCtlPort;
colors colorScheme;
int currentColorPresetNumber = 0;
QString virtualSerialPort;
unsigned char localAFgain;
@ -910,7 +906,7 @@ private:
audioSetup rxSetup;
audioSetup txSetup;
// TODO: Remove
colors defaultColors;
void setDefaultColors(); // populate with default values

Wyświetl plik

@ -2847,13 +2847,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">
@ -2865,16 +2858,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>