summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/btconfigwidget.cpp45
-rw-r--r--noncore/apps/opie-console/btconfigwidget.h6
-rw-r--r--noncore/apps/opie-console/io_bt.cpp38
-rw-r--r--noncore/apps/opie-console/io_serial.cpp1
4 files changed, 71 insertions, 19 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
@@ -3,4 +3,6 @@
#include <qlineedit.h>
#include <qcombobox.h>
+#include <qhbox.h>
+#include <qradiobutton.h>
#include "iolayerbase.h"
@@ -26,19 +28,26 @@ BTConfigWidget::BTConfigWidget( const QString& name,
: ProfileDialogConnectionWidget( name, parent, na ) {
- m_lay = new QVBoxLayout(this );
- m_device = new QLabel(tr("Device"), this );
- m_deviceCmb = new QComboBox(this );
+ m_lay = new QVBoxLayout( this );
+
+ m_device = new QLabel( tr( "Device" ), this );
+ QHBox *deviceBox = new QHBox( this );
+ m_devRadio = new QRadioButton( deviceBox );
+ connect( m_devRadio, SIGNAL( toggled( bool ) ), this, SLOT( slotDevRadio( bool ) ) );
+ m_deviceCmb = new QComboBox( deviceBox );
m_deviceCmb->setEditable( TRUE );
QLabel *macLabel = new QLabel( this );
- macLabel->setText( tr("Enter peer mac address here:") );
- m_mac = new QLineEdit( this );
+ macLabel->setText( tr( "Or peer mac address" ) );
+ QHBox *macBox = new QHBox( this );
+ m_macRadio = new QRadioButton( macBox );
+ connect( m_macRadio, SIGNAL( toggled( bool ) ), this, SLOT( slotMacRadio( bool ) ) );
+ m_mac = new QLineEdit( macBox );
m_base = new IOLayerBase(this, "base");
m_lay->addWidget( m_device );
- m_lay->addWidget( m_deviceCmb );
+ m_lay->addWidget( deviceBox );
m_lay->addWidget( macLabel );
- m_lay->addWidget( m_mac );
+ m_lay->addWidget( macBox );
m_lay->addWidget( m_base );
@@ -58,4 +67,6 @@ void BTConfigWidget::load( const Profile& prof ) {
if (!mac.isEmpty() ) {
m_mac->setText( mac );
+ } else {
+ m_devRadio->setChecked( true );
}
@@ -156,2 +167,22 @@ void BTConfigWidget::save( Profile& prof ) {
prof.writeEntry("Mac", m_mac->text() );
}
+
+void BTConfigWidget::slotMacRadio( bool on ) {
+ if ( on ) {
+ m_devRadio->setChecked( false );
+ m_deviceCmb->setEnabled( false );
+ m_mac->setEnabled( true );
+ } else {
+ m_devRadio->setChecked( true );
+ }
+}
+
+void BTConfigWidget::slotDevRadio( bool on ) {
+ if ( on ) {
+ m_macRadio->setChecked( false );
+ m_deviceCmb->setEnabled( true );
+ m_mac->setEnabled( false );
+ } else {
+ m_macRadio->setChecked( true );
+ }
+}
diff --git a/noncore/apps/opie-console/btconfigwidget.h b/noncore/apps/opie-console/btconfigwidget.h
index ceb13ee..d60d8a2 100644
--- a/noncore/apps/opie-console/btconfigwidget.h
+++ b/noncore/apps/opie-console/btconfigwidget.h
@@ -8,4 +8,5 @@ class QLabel;
class QComboBox;
class QLineEdit;
+class QRadioButton;
class IOLayerBase;
class BTConfigWidget : public ProfileDialogConnectionWidget {
@@ -25,5 +26,10 @@ private:
IOLayerBase* m_base;
QLineEdit* m_mac;
+ QRadioButton *m_macRadio;
+ QRadioButton *m_devRadio;
+private slots:
+ void slotMacRadio( bool on );
+ void slotDevRadio( bool on );
};
diff --git a/noncore/apps/opie-console/io_bt.cpp b/noncore/apps/opie-console/io_bt.cpp
index 0831faf..d71aacc 100644
--- a/noncore/apps/opie-console/io_bt.cpp
+++ b/noncore/apps/opie-console/io_bt.cpp
@@ -18,24 +18,38 @@ void IOBt::close() {
IOSerial::close();
// still need error handling
- delete m_attach;
+ if ( m_attach ) {
+ delete m_attach;
+ m_attach = 0;
+ }
}
bool IOBt::open() {
- // hciattach here
- m_attach = new OProcess();
- *m_attach << "hciattach /dev/ttyS2 any 57600";
+ // only set up bt stuff if mac address was set, otherwise use the device set
+ if ( !m_mac.isEmpty() ) {
- // then start hcid, then rcfomm handling (m_mac)
+ // now it should also be checked, if there is a connection to the device with that mac allready
- connect( m_attach, SIGNAL( processExited( OProcess* ) ),
- this, SLOT( slotExited( OProcess* ) ) );
+ // hciattach here
+ m_attach = new OProcess();
+ *m_attach << "hciattach /dev/ttyS2 any 57600";
- if ( m_attach->start() ) {
- IOSerial::open();
+ // then start hcid, then rcfomm handling (m_mac)
+
+ connect( m_attach, SIGNAL( processExited( OProcess* ) ),
+ this, SLOT( slotExited( OProcess* ) ) );
+
+ if ( m_attach->start() ) {
+ IOSerial::open();
+ } else {
+ qWarning("could not attach to device");
+ delete m_attach;
+ m_attach = 0;
+ }
} else {
- qWarning("could not attach to device");
- delete m_attach;
- m_attach = 0;
+ // directly to the normal serial
+ // TODO: look first if the connection really exists. ( is set up )
+
+ IOSerial::open();
}
}
diff --git a/noncore/apps/opie-console/io_serial.cpp b/noncore/apps/opie-console/io_serial.cpp
index cc63c58..e6d1688 100644
--- a/noncore/apps/opie-console/io_serial.cpp
+++ b/noncore/apps/opie-console/io_serial.cpp
@@ -1,2 +1,3 @@
+
#include <fcntl.h>
#include <termios.h>