summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opietooth/lib/startpanconnection.cpp14
-rw-r--r--noncore/net/opietooth/manager/panpopup.cpp1
2 files changed, 15 insertions, 0 deletions
diff --git a/noncore/net/opietooth/lib/startpanconnection.cpp b/noncore/net/opietooth/lib/startpanconnection.cpp
index e7deede..6e0ab7e 100644
--- a/noncore/net/opietooth/lib/startpanconnection.cpp
+++ b/noncore/net/opietooth/lib/startpanconnection.cpp
@@ -40,29 +40,43 @@ void StartPanConnection::start() {
40 qDebug( "IM START " + m_mac ); 40 qDebug( "IM START " + m_mac );
41 *m_panConnect << "pand" << "--connect" << m_mac; 41 *m_panConnect << "pand" << "--connect" << m_mac;
42 42
43 connect( m_panConnect, SIGNAL( processExited( OProcess* ) ) , 43 connect( m_panConnect, SIGNAL( processExited( OProcess* ) ) ,
44 this, SLOT( slotExited( OProcess* ) ) ); 44 this, SLOT( slotExited( OProcess* ) ) );
45 connect( m_panConnect, SIGNAL( receivedStdout( OProcess*, char*, int ) ), 45 connect( m_panConnect, SIGNAL( receivedStdout( OProcess*, char*, int ) ),
46 this, SLOT( slotStdOut( OProcess*, char*, int ) ) ); 46 this, SLOT( slotStdOut( OProcess*, char*, int ) ) );
47 if (!m_panConnect->start( OProcess::NotifyOnExit, OProcess::AllOutput) ) { 47 if (!m_panConnect->start( OProcess::NotifyOnExit, OProcess::AllOutput) ) {
48 qWarning( "could not start" ); 48 qWarning( "could not start" );
49 delete m_panConnect; 49 delete m_panConnect;
50 } 50 }
51} 51}
52 52
53 53
54void StartPanConnection::slotExited( OProcess* proc ) { 54void StartPanConnection::slotExited( OProcess* proc ) {
55 delete m_panConnect; 55 delete m_panConnect;
56 m_panConnect = 0l;
56} 57}
57 58
58void StartPanConnection::slotStdOut(OProcess* proc, char* chars, int len) 59void StartPanConnection::slotStdOut(OProcess* proc, char* chars, int len)
59{} 60{}
60 61
61 62
62void StartPanConnection::stop() { 63void StartPanConnection::stop() {
63 if ( m_panConnect ) { 64 if ( m_panConnect ) {
64 delete m_panConnect; 65 delete m_panConnect;
65 m_panConnect = 0l; 66 m_panConnect = 0l;
66 } 67 }
68 m_panConnect = new OProcess();
69 qDebug("IM STOP " + m_mac);
70
71 *m_panConnect << "pand" << "--kill" << m_mac;
72
73 connect( m_panConnect, SIGNAL( processExited( OProcess* ) ) ,
74 this, SLOT( slotExited( OProcess* ) ) );
75 connect( m_panConnect, SIGNAL( receivedStdout( OProcess*, char*, int ) ),
76 this, SLOT( slotStdOut( OProcess*, char*, int ) ) );
77 if (!m_panConnect->start( OProcess::NotifyOnExit, OProcess::AllOutput) ) {
78 qWarning( "could not stop" );
79 delete m_panConnect;
80 }
67} 81}
68 82
diff --git a/noncore/net/opietooth/manager/panpopup.cpp b/noncore/net/opietooth/manager/panpopup.cpp
index 695f349..8b05964 100644
--- a/noncore/net/opietooth/manager/panpopup.cpp
+++ b/noncore/net/opietooth/manager/panpopup.cpp
@@ -36,28 +36,29 @@ PanPopup::PanPopup( OpieTooth::BTDeviceItem* item ) : QPopupMenu() {
36 c->addTo( this ); 36 c->addTo( this );
37 connect( c, SIGNAL( activated() ), this, SLOT( slotDisconnect() ) ); 37 connect( c, SIGNAL( activated() ), this, SLOT( slotDisconnect() ) );
38 38
39}; 39};
40 40
41PanPopup::~PanPopup() { 41PanPopup::~PanPopup() {
42 42
43} 43}
44 44
45void PanPopup::slotConnect() { 45void PanPopup::slotConnect() {
46 46
47 m_panconnection = new StartPanConnection( m_item->mac() ); 47 m_panconnection = new StartPanConnection( m_item->mac() );
48 m_panconnection->start(); 48 m_panconnection->start();
49} 49}
50 50
51void PanPopup::slotDisconnect() { 51void PanPopup::slotDisconnect() {
52 if (!m_panconnection) m_panconnection = new StartPanConnection( m_item->mac() );
52 m_panconnection->stop(); 53 m_panconnection->stop();
53} 54}
54 55
55 56
56void PanPopup::slotConnectAndConfig() { 57void PanPopup::slotConnectAndConfig() {
57 slotConnect(); 58 slotConnect();
58 59
59 // more intelligence here later like passing the device ( bnepX ) 60 // more intelligence here later like passing the device ( bnepX )
60 QCopEnvelope e( "QPE/System", "execute(QString)" ); 61 QCopEnvelope e( "QPE/System", "execute(QString)" );
61 e << QString( "networksettings" ); 62 e << QString( "networksettings" );
62 63
63} 64}