Change Stream Config Dialog inputs

This is the first of many commits that lays the foundation for -
  * Editing multiple streams without exiting the dialog
  * Triggering the dialog when a new stream is added instead of add+edit
This commit is contained in:
Srivats P 2017-09-16 12:30:00 +05:30
parent db77563466
commit 509e9d5398
4 changed files with 25 additions and 13 deletions

View File

@ -94,15 +94,15 @@ public:
{ return QString().fromStdString(d.notes()); } { return QString().fromStdString(d.notes()); }
const QString userName() const const QString userName() const
{ return QString().fromStdString(d.user_name()); } { return QString().fromStdString(d.user_name()); }
AdminStatus adminStatus() AdminStatus adminStatus() const
{ return (d.is_enabled()?AdminEnable:AdminDisable); } { return (d.is_enabled()?AdminEnable:AdminDisable); }
bool hasExclusiveControl() bool hasExclusiveControl() const
{ return d.is_exclusive_control(); } { return d.is_exclusive_control(); }
OstProto::TransmitMode transmitMode() OstProto::TransmitMode transmitMode() const
{ return d.transmit_mode(); } { return d.transmit_mode(); }
double averagePacketRate() double averagePacketRate() const
{ return avgPacketsPerSec_; } { return avgPacketsPerSec_; }
double averageBitRate() double averageBitRate() const
{ return avgBitsPerSec_; } { return avgBitsPerSec_; }
//void setAdminEnable(AdminStatus status) { mAdminStatus = status; } //void setAdminEnable(AdminStatus status) { mAdminStatus = status; }

View File

@ -314,7 +314,10 @@ void PortsWindow::on_tvStreamList_activated(const QModelIndex & index)
qDebug("%s: invalid index", __FUNCTION__); qDebug("%s: invalid index", __FUNCTION__);
return; return;
} }
scd = new StreamConfigDialog(plm->port(currentPort), index.row(), this);
QList<Stream*> streams;
streams.append(plm->port(currentPort).mutableStreamByIndex(index.row()));
scd = new StreamConfigDialog(streams, plm->port(currentPort), this);
qDebug("stream list activated\n"); qDebug("stream list activated\n");
ret = scd->exec(); ret = scd->exec();

View File

@ -39,13 +39,20 @@ int StreamConfigDialog::lastProtocolDataIndex = 0;
static const uint kEthFrameOverHead = 20; static const uint kEthFrameOverHead = 20;
StreamConfigDialog::StreamConfigDialog(Port &port, uint streamIndex, StreamConfigDialog::StreamConfigDialog(
QWidget *parent) : QDialog (parent), mPort(port) QList<Stream*> &streamList,
const Port &port,
QWidget *parent)
: QDialog (parent), streamList_(streamList), mPort(port)
{ {
OstProto::Stream s; OstProto::Stream s;
mCurrentStreamIndex = streamIndex; mCurrentStreamIndex = 0;
// FIXME: temporary till we support a list
Q_ASSERT(streamList_.size() == 1);
mpStream = new Stream; mpStream = new Stream;
mPort.streamByIndex(mCurrentStreamIndex)->protoDataCopyInto(s); streamList_.at(mCurrentStreamIndex)->protoDataCopyInto(s);
mpStream->protoDataCopyFrom(s); mpStream->protoDataCopyFrom(s);
_iter = mpStream->createProtocolListIterator(); _iter = mpStream->createProtocolListIterator();
isUpdateInProgress = false; isUpdateInProgress = false;
@ -1222,7 +1229,7 @@ void StreamConfigDialog::on_pbOk_clicked()
// Copy the data from the "local working copy of stream" to "actual stream" // Copy the data from the "local working copy of stream" to "actual stream"
mpStream->protoDataCopyInto(s); mpStream->protoDataCopyInto(s);
mPort.mutableStreamByIndex(mCurrentStreamIndex)->protoDataCopyFrom(s); streamList_[mCurrentStreamIndex]->protoDataCopyFrom(s);
qDebug("stream stored"); qDebug("stream stored");

View File

@ -43,7 +43,8 @@ class StreamConfigDialog : public QDialog, public Ui::StreamConfigDialog
{ {
Q_OBJECT Q_OBJECT
public: public:
StreamConfigDialog(Port &port, uint streamIndex, QWidget *parent = 0); StreamConfigDialog(QList<Stream*> &streamList, const Port &port,
QWidget *parent = 0);
~StreamConfigDialog(); ~StreamConfigDialog();
private: private:
@ -72,7 +73,8 @@ private:
QStringListModel *mpAvailableProtocolsModel; QStringListModel *mpAvailableProtocolsModel;
QStringListModel *mpSelectedProtocolsModel; QStringListModel *mpSelectedProtocolsModel;
Port& mPort; QList<Stream*> streamList_;
const Port& mPort;
uint mCurrentStreamIndex; uint mCurrentStreamIndex;
Stream *mpStream; Stream *mpStream;