summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-console/irdaconfigwidget.cpp
authorharlekin <harlekin>2002-10-09 16:33:36 (UTC)
committer harlekin <harlekin>2002-10-09 16:33:36 (UTC)
commit205926ec86ffd582f795b649179291626e504830 (patch) (unidiff)
tree3a5759b98a1a263ade37dfb35cfd529a7bcafde9 /noncore/apps/opie-console/irdaconfigwidget.cpp
parentf696c6248824166f3ac025d23ac66b46c93b440c (diff)
downloadopie-205926ec86ffd582f795b649179291626e504830.zip
opie-205926ec86ffd582f795b649179291626e504830.tar.gz
opie-205926ec86ffd582f795b649179291626e504830.tar.bz2
flow now has mode none too .-), irda config widget and beginning of layer, first sweep, rest later
Diffstat (limited to 'noncore/apps/opie-console/irdaconfigwidget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/irdaconfigwidget.cpp141
1 files changed, 141 insertions, 0 deletions
diff --git a/noncore/apps/opie-console/irdaconfigwidget.cpp b/noncore/apps/opie-console/irdaconfigwidget.cpp
new file mode 100644
index 0000000..1cc041b
--- a/dev/null
+++ b/noncore/apps/opie-console/irdaconfigwidget.cpp
@@ -0,0 +1,141 @@
1#include <qlabel.h>
2#include <qlayout.h>
3#include <qcombobox.h>
4
5#include "iolayerbase.h"
6#include "irdaconfigwidget.h"
7
8namespace {
9 void setCurrent( const QString& str, QComboBox* bo ) {
10 uint b = bo->count();
11 for (uint i = 0; i < bo->count(); i++ ) {
12 if ( bo->text(i) == str ) {
13 bo->setCurrentItem( i );
14 return;
15 }
16 }
17 bo->insertItem( str );
18 bo->setCurrentItem( b );
19 }
20
21
22}
23
24IrdaConfigWidget::IrdaConfigWidget( const QString& name,
25 QWidget* parent,
26 const char* na )
27 : ProfileDialogConnectionWidget( name, parent, na ) {
28
29 m_lay = new QVBoxLayout(this );
30 m_device = new QLabel(tr("Device"), this );
31 m_deviceCmb = new QComboBox(this );
32 m_deviceCmb->setEditable( TRUE );
33
34 m_base = new IOLayerBase(this, "base");
35
36 m_lay->addWidget( m_device );
37 m_lay->addWidget( m_deviceCmb );
38 m_lay->addWidget( m_base );
39
40 m_deviceCmb->insertItem( "/dev/ircomm0" );
41 m_deviceCmb->insertItem( "/dev/ircomm1" );
42}
43
44IrdaConfigWidget::~IrdaConfigWidget() {
45
46}
47void IrdaConfigWidget::load( const Profile& prof ) {
48 int rad_flow = prof.readNumEntry("Flow");
49 int rad_parity = prof.readNumEntry("Parity");
50 int speed = prof.readNumEntry("Speed");
51
52 if (rad_flow == 1) {
53 m_base->setFlow( IOLayerBase::Hardware );
54 } else if (rad_flow == 2) {
55 m_base->setFlow( IOLayerBase::Software );
56 } else if (rad_flow == 0) {
57 m_base->setFlow( IOLayerBase::None );
58 }
59
60 if (rad_parity == 1) {
61 m_base->setParity( IOLayerBase::Even );
62 } else {
63 m_base->setParity( IOLayerBase::Odd );
64 }
65
66 switch( speed ) {
67 case 115200:
68 m_base->setSpeed(IOLayerBase::Baud_115200 );
69 break;
70 case 57600:
71 m_base->setSpeed( IOLayerBase::Baud_57600 );
72 break;
73 case 38400:
74 m_base->setSpeed(IOLayerBase::Baud_38400 );
75 break;
76 case 19200:
77 m_base->setSpeed( IOLayerBase::Baud_19200 );
78 break;
79 case 9600:
80 default:
81 m_base->setSpeed(IOLayerBase::Baud_9600 );
82 break;
83 }
84
85 if ( prof.readEntry("Device").isEmpty() ) return;
86 setCurrent( prof.readEntry("Device"), m_deviceCmb );
87
88}
89/*
90 * save speed,
91 * flow,
92 * parity
93 */
94void IrdaConfigWidget::save( Profile& prof ) {
95 int flow, parity, speed;
96 prof.writeEntry("Device", m_deviceCmb->currentText() );
97
98 switch( m_base->flow() ) {
99 case IOLayerBase::None:
100 flow = 0;
101 break;
102 case IOLayerBase::Software:
103 flow = 2;
104 break;
105 case IOLayerBase::Hardware:
106 flow = 1;
107 break;
108 }
109
110
111 switch( m_base->parity() ) {
112 case IOLayerBase::Odd:
113 parity = 2;
114 break;
115 case IOLayerBase::Even:
116 parity = 1;
117 break;
118 }
119
120 switch( m_base->speed() ) {
121 case IOLayerBase::Baud_115200:
122 speed = 115200;
123 break;
124 case IOLayerBase::Baud_57600:
125 speed = 57600;
126 break;
127 case IOLayerBase::Baud_38400:
128 speed = 38400;
129 break;
130 case IOLayerBase::Baud_19200:
131 speed = 19200;
132 break;
133 case IOLayerBase::Baud_9600:
134 speed = 9600;
135 break;
136 }
137
138 prof.writeEntry("Flow", flow);
139 prof.writeEntry("Parity", parity);
140 prof.writeEntry("Speed", speed);
141}