Spectrum averaging: set averaging number combo box programmatically

pull/197/head
f4exb 2018-07-01 00:55:30 +02:00
rodzic e9658e0346
commit a23447ed4b
2 zmienionych plików z 37 dodań i 1 usunięć

Wyświetl plik

@ -38,6 +38,7 @@ GLSpectrumGUI::GLSpectrumGUI(QWidget* parent) :
ui->refLevel->addItem(QString("%1").arg(ref));
for(int range = 100; range >= 5; range -= 5)
ui->levelRange->addItem(QString("%1").arg(range));
setAveragingCombo();
}
GLSpectrumGUI::~GLSpectrumGUI()
@ -398,3 +399,36 @@ int GLSpectrumGUI::getAveragingValue(int averagingIndex) const
return x * m;
}
void GLSpectrumGUI::setAveragingCombo()
{
ui->averaging->clear();
ui->averaging->addItem(QString("0"));
for (int i = 0; i <= m_averagingMaxScale; i++)
{
QString s;
int m = pow(10.0, i);
int x = 2*m;
setNumberStr(x, s);
ui->averaging->addItem(s);
x = 5*m;
setNumberStr(x, s);
ui->averaging->addItem(s);
x = 10*m;
setNumberStr(x, s);
ui->averaging->addItem(s);
}
}
void GLSpectrumGUI::setNumberStr(int n, QString& s)
{
if (n < 1000) {
s = tr("%1").arg(n);
} else if (n < 1000000) {
s = tr("%1k").arg(n/1000);
} else if (n < 1000000000) {
s = tr("%1M").arg(n/1000000);
} else {
s = tr("%1G").arg(n/1000000000);
}
}

Wyświetl plik

@ -59,12 +59,14 @@ private:
bool m_invert;
AveragingMode m_averagingMode;
int m_averagingIndex;
int m_averagingMaxScale;
int m_averagingMaxScale; //!< Max power of 10 multiplier to 2,5,10 base ex: 2 -> 2,5,10,20,50,100,200,500,1000
unsigned int m_averagingNb;
void applySettings();
int getAveragingIndex(int averaging) const;
int getAveragingValue(int averagingIndex) const;
void setAveragingCombo();
void setNumberStr(int n, QString& s);
private slots:
void on_fftWindow_currentIndexChanged(int index);