From 4151cc12a6c37cbec4bb6883204703eec2fb8648 Mon Sep 17 00:00:00 2001 From: harlekin Date: Fri, 25 Oct 2002 18:48:25 +0000 Subject: added data bits and stop bits --- (limited to 'noncore/apps/opie-console/serialconfigwidget.cpp') diff --git a/noncore/apps/opie-console/serialconfigwidget.cpp b/noncore/apps/opie-console/serialconfigwidget.cpp index 5c6d975..3edf723 100644 --- a/noncore/apps/opie-console/serialconfigwidget.cpp +++ b/noncore/apps/opie-console/serialconfigwidget.cpp @@ -50,6 +50,8 @@ void SerialConfigWidget::load( const Profile& prof ) { int rad_flow = prof.readNumEntry("Flow"); int rad_parity = prof.readNumEntry("Parity"); int speed = prof.readNumEntry("Speed"); + int dbits = prof.readNumEntry("DataBits"); + int sbits = prof.readNumEntry("StopBits"); if (rad_flow == 1) { m_base->setFlow( IOLayerBase::Hardware ); @@ -86,6 +88,24 @@ void SerialConfigWidget::load( const Profile& prof ) { break; } + if ( dbits == 5) { + m_base->setData( IOLayerBase::Data_Five ); + } else if (rad_flow == 6) { + m_base->setData( IOLayerBase::Data_Six ); + } else if (rad_flow == 7) { + m_base->setData( IOLayerBase::Data_Seven ); + } else { + m_base->setData( IOLayerBase::Data_Eight ); + } + + if ( sbits == 2) { + m_base->setStop( IOLayerBase::Stop_Two ); + } else if ( sbits == 15 ) { + m_base->setStop( IOLayerBase::Stop_OnePointFive ); + } else { + m_base->setStop( IOLayerBase::Stop_One ); + } + if ( prof.readEntry("Device").isEmpty() ) return; setCurrent( prof.readEntry("Device"), m_deviceCmb ); @@ -96,8 +116,8 @@ void SerialConfigWidget::load( const Profile& prof ) { * parity */ void SerialConfigWidget::save( Profile& prof ) { - int flow, parity, speed ; - flow = parity = speed = 0; + int flow, parity, speed, data, stop; + flow = parity = speed = data = stop = 0; prof.writeEntry("Device", m_deviceCmb->currentText() ); switch( m_base->flow() ) { @@ -143,7 +163,36 @@ void SerialConfigWidget::save( Profile& prof ) { break; } + switch( m_base->data() ) { + case IOLayerBase::Data_Five: + data = 5; + break; + case IOLayerBase::Data_Six: + data = 6; + break; + case IOLayerBase::Data_Seven: + data = 7; + break; + case IOLayerBase::Data_Eight: + data = 8; + break; + } + + switch( m_base->stop() ) { + case IOLayerBase::Stop_One: + stop = 1; + break; + case IOLayerBase::Stop_OnePointFive: + stop = 15; + break; + case IOLayerBase::Stop_Two: + stop = 2; + break; + } + prof.writeEntry("Flow", flow); prof.writeEntry("Parity", parity); prof.writeEntry("Speed", speed); + prof.writeEntry("DataBits", data); + prof.writeEntry("StopBits", stop); } -- cgit v0.9.0.2