# HG changeset patch # User Hasan Yavuz ÖZDERYA # Date 2017-04-30 12:59:48 # Node ID 5a149e78656847a08c1e7d138a3a63c434a3edce # Parent 1c69ffd0aa9d29c5f69b9facabe9ccda170e3ba9 fix for snapshot x axis being 0-1 at first display and glitch at later displays diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -139,7 +139,7 @@ MainWindow::MainWindow(QWidget *parent) this, &MainWindow::onNumOfSamplesChanged); connect(&plotControlPanel, &PlotControlPanel::numOfSamplesChanged, - plotMan, &PlotManager::onNumOfSamplesChanged); + plotMan, &PlotManager::setNumOfSamples); connect(&plotControlPanel, &PlotControlPanel::yScaleChanged, plotMan, &PlotManager::setYAxis); @@ -221,7 +221,7 @@ MainWindow::MainWindow(QWidget *parent) plotControlPanel.yMin(), plotControlPanel.yMax()); plotMan->setXAxis(plotControlPanel.xAxisAsIndex(), plotControlPanel.xMin(), plotControlPanel.xMax()); - plotMan->onNumOfSamplesChanged(numOfSamples); + plotMan->setNumOfSamples(numOfSamples); // Init sps (sample per second) counter spsLabel.setText("0sps"); diff --git a/src/plotmanager.cpp b/src/plotmanager.cpp --- a/src/plotmanager.cpp +++ b/src/plotmanager.cpp @@ -508,7 +508,7 @@ void PlotManager::flashSnapshotOverlay() } } -void PlotManager::onNumOfSamplesChanged(unsigned value) +void PlotManager::setNumOfSamples(unsigned value) { _numOfSamples = value; for (auto plot : plotWidgets) diff --git a/src/plotmanager.h b/src/plotmanager.h --- a/src/plotmanager.h +++ b/src/plotmanager.h @@ -73,7 +73,7 @@ public slots: /// Display an animation for snapshot void flashSnapshotOverlay(); /// Should be called to update zoom base - void onNumOfSamplesChanged(unsigned value); + void setNumOfSamples(unsigned value); private: bool isMulti; diff --git a/src/snapshotview.cpp b/src/snapshotview.cpp --- a/src/snapshotview.cpp +++ b/src/snapshotview.cpp @@ -1,5 +1,5 @@ /* - Copyright © 2015 Hasan Yavuz Özderya + Copyright © 2017 Hasan Yavuz Özderya This file is part of serialplot. @@ -29,17 +29,19 @@ SnapshotView::SnapshotView(QWidget *pare ui->setupUi(this); - plotMan = new PlotManager(ui->plotArea, snapshot->infoModel()); + plotMan = new PlotManager(ui->plotArea, snapshot->infoModel(), this); ui->menuSnapshot->insertAction(ui->actionClose, snapshot->deleteAction()); this->setWindowTitle(snapshot->displayName()); // initialize curves unsigned numOfChannels = snapshot->data.size(); + unsigned numOfSamples = snapshot->data[0].size(); for (unsigned ci = 0; ci < numOfChannels; ci++) { plotMan->addCurve(snapshot->channelName(ci), snapshot->data[ci]); } + plotMan->setNumOfSamples(numOfSamples); renameDialog.setWindowTitle("Rename Snapshot"); renameDialog.setLabelText("Enter new name:"); @@ -62,6 +64,7 @@ SnapshotView::~SnapshotView() { delete curve; } + delete plotMan; delete ui; }