Diffstat (limited to 'noncore/apps/opie-console/btconfigwidget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/apps/opie-console/btconfigwidget.cpp | 45 |
1 files changed, 38 insertions, 7 deletions
diff --git a/noncore/apps/opie-console/btconfigwidget.cpp b/noncore/apps/opie-console/btconfigwidget.cpp index 7673d0b..6246f92 100644 --- a/noncore/apps/opie-console/btconfigwidget.cpp +++ b/noncore/apps/opie-console/btconfigwidget.cpp | |||
@@ -1,83 +1,94 @@ | |||
1 | #include <qlabel.h> | 1 | #include <qlabel.h> |
2 | #include <qlayout.h> | 2 | #include <qlayout.h> |
3 | #include <qlineedit.h> | 3 | #include <qlineedit.h> |
4 | #include <qcombobox.h> | 4 | #include <qcombobox.h> |
5 | #include <qhbox.h> | ||
6 | #include <qradiobutton.h> | ||
5 | 7 | ||
6 | #include "iolayerbase.h" | 8 | #include "iolayerbase.h" |
7 | #include "btconfigwidget.h" | 9 | #include "btconfigwidget.h" |
8 | 10 | ||
9 | namespace { | 11 | namespace { |
10 | void setCurrent( const QString& str, QComboBox* bo ) { | 12 | void setCurrent( const QString& str, QComboBox* bo ) { |
11 | uint b = bo->count(); | 13 | uint b = bo->count(); |
12 | for (uint i = 0; i < bo->count(); i++ ) { | 14 | for (uint i = 0; i < bo->count(); i++ ) { |
13 | if ( bo->text(i) == str ) { | 15 | if ( bo->text(i) == str ) { |
14 | bo->setCurrentItem( i ); | 16 | bo->setCurrentItem( i ); |
15 | return; | 17 | return; |
16 | } | 18 | } |
17 | } | 19 | } |
18 | bo->insertItem( str ); | 20 | bo->insertItem( str ); |
19 | bo->setCurrentItem( b ); | 21 | bo->setCurrentItem( b ); |
20 | } | 22 | } |
21 | } | 23 | } |
22 | 24 | ||
23 | BTConfigWidget::BTConfigWidget( const QString& name, | 25 | BTConfigWidget::BTConfigWidget( const QString& name, |
24 | QWidget* parent, | 26 | QWidget* parent, |
25 | const char* na ) | 27 | const char* na ) |
26 | : ProfileDialogConnectionWidget( name, parent, na ) { | 28 | : ProfileDialogConnectionWidget( name, parent, na ) { |
27 | 29 | ||
28 | m_lay = new QVBoxLayout(this ); | 30 | m_lay = new QVBoxLayout( this ); |
29 | m_device = new QLabel(tr("Device"), this ); | 31 | |
30 | m_deviceCmb = new QComboBox(this ); | 32 | m_device = new QLabel( tr( "Device" ), this ); |
33 | QHBox *deviceBox = new QHBox( this ); | ||
34 | m_devRadio = new QRadioButton( deviceBox ); | ||
35 | connect( m_devRadio, SIGNAL( toggled( bool ) ), this, SLOT( slotDevRadio( bool ) ) ); | ||
36 | m_deviceCmb = new QComboBox( deviceBox ); | ||
31 | m_deviceCmb->setEditable( TRUE ); | 37 | m_deviceCmb->setEditable( TRUE ); |
32 | 38 | ||
33 | QLabel *macLabel = new QLabel( this ); | 39 | QLabel *macLabel = new QLabel( this ); |
34 | macLabel->setText( tr("Enter peer mac address here:") ); | 40 | macLabel->setText( tr( "Or peer mac address" ) ); |
35 | m_mac = new QLineEdit( this ); | 41 | QHBox *macBox = new QHBox( this ); |
42 | m_macRadio = new QRadioButton( macBox ); | ||
43 | connect( m_macRadio, SIGNAL( toggled( bool ) ), this, SLOT( slotMacRadio( bool ) ) ); | ||
44 | m_mac = new QLineEdit( macBox ); | ||
36 | 45 | ||
37 | m_base = new IOLayerBase(this, "base"); | 46 | m_base = new IOLayerBase(this, "base"); |
38 | 47 | ||
39 | m_lay->addWidget( m_device ); | 48 | m_lay->addWidget( m_device ); |
40 | m_lay->addWidget( m_deviceCmb ); | 49 | m_lay->addWidget( deviceBox ); |
41 | m_lay->addWidget( macLabel ); | 50 | m_lay->addWidget( macLabel ); |
42 | m_lay->addWidget( m_mac ); | 51 | m_lay->addWidget( macBox ); |
43 | m_lay->addWidget( m_base ); | 52 | m_lay->addWidget( m_base ); |
44 | 53 | ||
45 | m_deviceCmb->insertItem( "/dev/ttyU0" ); | 54 | m_deviceCmb->insertItem( "/dev/ttyU0" ); |
46 | m_deviceCmb->insertItem( "/dev/ttyU1" ); | 55 | m_deviceCmb->insertItem( "/dev/ttyU1" ); |
47 | } | 56 | } |
48 | 57 | ||
49 | BTConfigWidget::~BTConfigWidget() { | 58 | BTConfigWidget::~BTConfigWidget() { |
50 | 59 | ||
51 | } | 60 | } |
52 | void BTConfigWidget::load( const Profile& prof ) { | 61 | void BTConfigWidget::load( const Profile& prof ) { |
53 | int rad_flow = prof.readNumEntry("Flow"); | 62 | int rad_flow = prof.readNumEntry("Flow"); |
54 | int rad_parity = prof.readNumEntry("Parity"); | 63 | int rad_parity = prof.readNumEntry("Parity"); |
55 | int speed = prof.readNumEntry("Speed"); | 64 | int speed = prof.readNumEntry("Speed"); |
56 | QString mac = prof.readEntry("Mac"); | 65 | QString mac = prof.readEntry("Mac"); |
57 | 66 | ||
58 | if (!mac.isEmpty() ) { | 67 | if (!mac.isEmpty() ) { |
59 | m_mac->setText( mac ); | 68 | m_mac->setText( mac ); |
69 | } else { | ||
70 | m_devRadio->setChecked( true ); | ||
60 | } | 71 | } |
61 | 72 | ||
62 | if (rad_flow == 1) { | 73 | if (rad_flow == 1) { |
63 | m_base->setFlow( IOLayerBase::Hardware ); | 74 | m_base->setFlow( IOLayerBase::Hardware ); |
64 | } else if (rad_flow == 2) { | 75 | } else if (rad_flow == 2) { |
65 | m_base->setFlow( IOLayerBase::Software ); | 76 | m_base->setFlow( IOLayerBase::Software ); |
66 | } else if (rad_flow == 0) { | 77 | } else if (rad_flow == 0) { |
67 | m_base->setFlow( IOLayerBase::None ); | 78 | m_base->setFlow( IOLayerBase::None ); |
68 | } | 79 | } |
69 | 80 | ||
70 | if (rad_parity == 1) { | 81 | if (rad_parity == 1) { |
71 | m_base->setParity( IOLayerBase::Even ); | 82 | m_base->setParity( IOLayerBase::Even ); |
72 | } else if ( rad_parity == 2 ) { | 83 | } else if ( rad_parity == 2 ) { |
73 | m_base->setParity( IOLayerBase::Odd ); | 84 | m_base->setParity( IOLayerBase::Odd ); |
74 | } else { | 85 | } else { |
75 | m_base->setParity( IOLayerBase::NonePar ); | 86 | m_base->setParity( IOLayerBase::NonePar ); |
76 | } | 87 | } |
77 | 88 | ||
78 | switch( speed ) { | 89 | switch( speed ) { |
79 | case 115200: | 90 | case 115200: |
80 | m_base->setSpeed(IOLayerBase::Baud_115200 ); | 91 | m_base->setSpeed(IOLayerBase::Baud_115200 ); |
81 | break; | 92 | break; |
82 | case 57600: | 93 | case 57600: |
83 | m_base->setSpeed( IOLayerBase::Baud_57600 ); | 94 | m_base->setSpeed( IOLayerBase::Baud_57600 ); |
@@ -134,24 +145,44 @@ void BTConfigWidget::save( Profile& prof ) { | |||
134 | 145 | ||
135 | switch( m_base->speed() ) { | 146 | switch( m_base->speed() ) { |
136 | case IOLayerBase::Baud_115200: | 147 | case IOLayerBase::Baud_115200: |
137 | speed = 115200; | 148 | speed = 115200; |
138 | break; | 149 | break; |
139 | case IOLayerBase::Baud_57600: | 150 | case IOLayerBase::Baud_57600: |
140 | speed = 57600; | 151 | speed = 57600; |
141 | break; | 152 | break; |
142 | case IOLayerBase::Baud_38400: | 153 | case IOLayerBase::Baud_38400: |
143 | speed = 38400; | 154 | speed = 38400; |
144 | break; | 155 | break; |
145 | case IOLayerBase::Baud_19200: | 156 | case IOLayerBase::Baud_19200: |
146 | speed = 19200; | 157 | speed = 19200; |
147 | break; | 158 | break; |
148 | case IOLayerBase::Baud_9600: | 159 | case IOLayerBase::Baud_9600: |
149 | speed = 9600; | 160 | speed = 9600; |
150 | break; | 161 | break; |
151 | } | 162 | } |
152 | 163 | ||
153 | prof.writeEntry("Flow", flow); | 164 | prof.writeEntry("Flow", flow); |
154 | prof.writeEntry("Parity", parity); | 165 | prof.writeEntry("Parity", parity); |
155 | prof.writeEntry("Speed", speed); | 166 | prof.writeEntry("Speed", speed); |
156 | prof.writeEntry("Mac", m_mac->text() ); | 167 | prof.writeEntry("Mac", m_mac->text() ); |
157 | } | 168 | } |
169 | |||
170 | void BTConfigWidget::slotMacRadio( bool on ) { | ||
171 | if ( on ) { | ||
172 | m_devRadio->setChecked( false ); | ||
173 | m_deviceCmb->setEnabled( false ); | ||
174 | m_mac->setEnabled( true ); | ||
175 | } else { | ||
176 | m_devRadio->setChecked( true ); | ||
177 | } | ||
178 | } | ||
179 | |||
180 | void BTConfigWidget::slotDevRadio( bool on ) { | ||
181 | if ( on ) { | ||
182 | m_macRadio->setChecked( false ); | ||
183 | m_deviceCmb->setEnabled( true ); | ||
184 | m_mac->setEnabled( false ); | ||
185 | } else { | ||
186 | m_macRadio->setChecked( true ); | ||
187 | } | ||
188 | } | ||