diff --git a/src/abstractreader.cpp b/src/abstractreader.cpp --- a/src/abstractreader.cpp +++ b/src/abstractreader.cpp @@ -30,13 +30,6 @@ void AbstractReader::pause(bool enabled) paused = enabled; } -unsigned AbstractReader::numChannels() const -{ - // TODO: an alternative is to never set _numChannels to '0' - // do not allow '0' - return _numChannels == 0 ? 1 : _numChannels; -} - void AbstractReader::enable(bool enabled) { if (enabled) diff --git a/src/abstractreader.h b/src/abstractreader.h --- a/src/abstractreader.h +++ b/src/abstractreader.h @@ -49,8 +49,6 @@ public: /// None of the current readers support X channel at the moment bool hasX() const final { return false; }; - unsigned numChannels() const; - signals: // TODO: should we keep this? void numOfChannelsChanged(unsigned); @@ -67,7 +65,6 @@ public slots: protected: QIODevice* _device; bool paused; - unsigned _numChannels; protected slots: /// all derived readers has to override this function diff --git a/src/asciireader.cpp b/src/asciireader.cpp --- a/src/asciireader.cpp +++ b/src/asciireader.cpp @@ -58,6 +58,13 @@ QWidget* AsciiReader::settingsWidget() return &_settingsWidget; } +unsigned AsciiReader::numChannels() const +{ + // TODO: an alternative is to never set _numChannels to '0' + // do not allow '0' + return _numChannels == 0 ? 1 : _numChannels; +} + void AsciiReader::enable(bool enabled) { if (enabled) diff --git a/src/asciireader.h b/src/asciireader.h --- a/src/asciireader.h +++ b/src/asciireader.h @@ -32,6 +32,7 @@ class AsciiReader : public AbstractReade public: explicit AsciiReader(QIODevice* device, QObject *parent = 0); QWidget* settingsWidget(); + unsigned numChannels() const; void enable(bool enabled); /// Stores settings into a `QSettings` void saveSettings(QSettings* settings); @@ -40,6 +41,7 @@ public: private: AsciiReaderSettings _settingsWidget; + unsigned _numChannels; /// number of channels will be determined from incoming data unsigned autoNumOfChannels; QChar delimiter; ///< selected column delimiter diff --git a/src/binarystreamreader.cpp b/src/binarystreamreader.cpp --- a/src/binarystreamreader.cpp +++ b/src/binarystreamreader.cpp @@ -57,6 +57,11 @@ QWidget* BinaryStreamReader::settingsWid return &_settingsWidget; } +unsigned BinaryStreamReader::numChannels() const +{ + return _numChannels; +} + void BinaryStreamReader::onNumberFormatChanged(NumberFormat numberFormat) { switch(numberFormat) diff --git a/src/binarystreamreader.h b/src/binarystreamreader.h --- a/src/binarystreamreader.h +++ b/src/binarystreamreader.h @@ -36,6 +36,7 @@ class BinaryStreamReader : public Abstra public: explicit BinaryStreamReader(QIODevice* device, QObject *parent = 0); QWidget* settingsWidget(); + unsigned numChannels() const; /// Stores settings into a `QSettings` void saveSettings(QSettings* settings); /// Loads settings from a `QSettings`. @@ -43,6 +44,7 @@ public: private: BinaryStreamReaderSettings _settingsWidget; + unsigned _numChannels; unsigned sampleSize; bool skipByteRequested; bool skipSampleRequested; diff --git a/src/demoreader.cpp b/src/demoreader.cpp --- a/src/demoreader.cpp +++ b/src/demoreader.cpp @@ -57,6 +57,11 @@ void DemoReader::enable(bool enabled) } } +unsigned DemoReader::numChannels() const +{ + return _numChannels; +} + void DemoReader::setNumChannels(unsigned value) { _settingsWidget.setNumChannels(value); diff --git a/src/demoreader.h b/src/demoreader.h --- a/src/demoreader.h +++ b/src/demoreader.h @@ -42,6 +42,7 @@ public: explicit DemoReader(QIODevice* device, QObject* parent = 0); QWidget* settingsWidget(); + unsigned numChannels() const; void enable(bool enabled = true); public slots: @@ -50,6 +51,7 @@ public slots: private: DemoReaderSettings _settingsWidget; + unsigned _numChannels; QTimer timer; int count; diff --git a/src/framedreader.cpp b/src/framedreader.cpp --- a/src/framedreader.cpp +++ b/src/framedreader.cpp @@ -67,6 +67,11 @@ QWidget* FramedReader::settingsWidget() return &_settingsWidget; } +unsigned FramedReader::numChannels() const +{ + return _numChannels; +} + void FramedReader::onNumberFormatChanged(NumberFormat numberFormat) { switch(numberFormat) diff --git a/src/framedreader.h b/src/framedreader.h --- a/src/framedreader.h +++ b/src/framedreader.h @@ -35,6 +35,7 @@ class FramedReader : public AbstractRead public: explicit FramedReader(QIODevice* device, QObject *parent = 0); QWidget* settingsWidget(); + unsigned numChannels() const; /// Stores settings into a `QSettings` void saveSettings(QSettings* settings); /// Loads settings from a `QSettings`. @@ -50,6 +51,7 @@ private: // settings related members FramedReaderSettings _settingsWidget; + unsigned _numChannels; unsigned sampleSize; unsigned settingsInvalid; /// settings are all valid if this is 0, if not no reading is done QByteArray syncWord;