diff --git a/mainwindow.cpp b/mainwindow.cpp index 69fcd07..0be271f 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -44,7 +44,6 @@ MainWindow::MainWindow() createActions(); // Connect dock inputs - connect(dock->sampleRate, SIGNAL(textChanged(QString)), this, SLOT(setSampleRate(QString))); connect(dock, &SpectrogramControls::fftSizeChanged, plots, &PlotView::setFFTSize); connect(dock->powerMaxSlider, SIGNAL(valueChanged(int)), plots, SLOT(setPowerMax(int))); connect(dock->powerMinSlider, SIGNAL(valueChanged(int)), plots, SLOT(setPowerMin(int))); @@ -61,6 +60,8 @@ MainWindow::MainWindow() void MainWindow::createActions() { + QSettings settings; + QToolBar *fileToolBar = addToolBar(tr("File")); const QIcon openIcon = QIcon::fromTheme("document-open"); QAction *openAct = new QAction(openIcon, tr("&Open..."), this); @@ -68,6 +69,14 @@ void MainWindow::createActions() connect(openAct, &QAction::triggered, this, &MainWindow::fileOpenButtonClicked); fileToolBar->addAction(openAct); + sampleRate = new QLineEdit(); + connect(sampleRate, &QLineEdit::textChanged, this, static_cast(&MainWindow::setSampleRate)); + int savedSampleRate = settings.value("SampleRate", 8000000).toInt(); + sampleRate->setText(QString::number(savedSampleRate)); + sampleRate->setValidator(new QIntValidator(this)); + fileToolBar->addWidget(new QLabel(tr("Sample rate: "))); + fileToolBar->addWidget(sampleRate); + QToolBar *zoomToolBar = addToolBar(tr("Zoom")); const QIcon zoomInIcon = QIcon::fromTheme("zoom-in"); QAction *zoomInAct = new QAction(zoomInIcon, tr("Zoom in"), this); @@ -171,5 +180,5 @@ void MainWindow::setSampleRate(QString rate) void MainWindow::setSampleRate(int rate) { - dock->sampleRate->setText(QString::number(rate)); + sampleRate->setText(QString::number(rate)); } diff --git a/mainwindow.h b/mainwindow.h index 6077eb7..3fc3387 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -43,4 +43,5 @@ private: SpectrogramControls *dock; PlotView *plots; InputSource *input; + QLineEdit *sampleRate; }; diff --git a/spectrogramcontrols.cpp b/spectrogramcontrols.cpp index f0fffc4..fe4b167 100644 --- a/spectrogramcontrols.cpp +++ b/spectrogramcontrols.cpp @@ -32,10 +32,6 @@ SpectrogramControls::SpectrogramControls(const QString & title, QWidget * parent widget = new QWidget(this); layout = new QFormLayout(widget); - sampleRate = new QLineEdit(); - sampleRate->setValidator(new QIntValidator(this)); - layout->addRow(new QLabel(tr("Sample rate:")), sampleRate); - // Spectrogram settings layout->addRow(new QLabel()); // TODO: find a better way to add an empty row? layout->addRow(new QLabel(tr("Spectrogram"))); @@ -102,8 +98,6 @@ void SpectrogramControls::setDefaults() cursorSymbolsSpinBox->setValue(1); - int savedSampleRate = settings.value("SampleRate", 8000000).toInt(); - sampleRate->setText(QString::number(savedSampleRate)); powerMaxSlider->setValue(settings.value("PowerMax", 0).toInt()); powerMinSlider->setValue(settings.value("PowerMin", -100).toInt()); } diff --git a/spectrogramcontrols.h b/spectrogramcontrols.h index ce517fe..31d81bd 100644 --- a/spectrogramcontrols.h +++ b/spectrogramcontrols.h @@ -54,7 +54,6 @@ private: public: QPushButton *fileOpenButton; - QLineEdit *sampleRate; QSlider *fftSizeSlider; QSlider *powerMaxSlider; QSlider *powerMinSlider;