summaryrefslogtreecommitdiff
path: root/noncore/net/opietooth/manager/panpopup.cpp
Side-by-side diff
Diffstat (limited to 'noncore/net/opietooth/manager/panpopup.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opietooth/manager/panpopup.cpp70
1 files changed, 70 insertions, 0 deletions
diff --git a/noncore/net/opietooth/manager/panpopup.cpp b/noncore/net/opietooth/manager/panpopup.cpp
new file mode 100644
index 0000000..d3d1347
--- a/dev/null
+++ b/noncore/net/opietooth/manager/panpopup.cpp
@@ -0,0 +1,70 @@
+#include <qpe/qcopenvelope_qws.h>
+
+#include <qtimer.h>
+
+#include "panpopup.h"
+
+using namespace OpieTooth;
+
+/*
+ * c'tor init the QAction
+ */
+PanPopup::PanPopup( OpieTooth::BTDeviceItem* item ) : QPopupMenu() {
+
+ qWarning("PanPopup c'tor");
+
+ m_item = item;
+ m_panconnect = 0l;
+ QAction *a, *b;
+
+ /* connect action */
+ a = new QAction( ); // so it's get deleted
+ a->setText( "connect" );
+ a->addTo( this );
+ connect( a, SIGNAL( activated() ), this, SLOT( slotConnect() ) );
+
+ b = new QAction();
+ b->setText( "connect+conf" );
+ b->addTo( this );
+ connect( b, SIGNAL( activated() ), this, SLOT( slotConnectAndConfig() ) );
+};
+
+PanPopup::~PanPopup() {
+ delete m_panconnect;
+}
+
+void PanPopup::slotConnect() {
+
+
+ // SHOULD move to lib
+ // before pand must be in "pand --listen --role panu" mode ( client )
+
+ m_panconnect = new OProcess();
+ *m_panconnect << "pand" << "--connect" << m_item->mac();
+
+ connect( m_panconnect, SIGNAL( processExited( OProcess* ) ) ,
+ this, SLOT( slotConnectExited( OProcess* ) ) );
+ connect( m_panconnect, SIGNAL( receivedStdout( OProcess*, char*, int ) ),
+ this, SLOT( slotConnectOut( OProcess*, char*, int ) ) );
+ if (!m_panconnect->start( OProcess::NotifyOnExit, OProcess::AllOutput) ) {
+ qWarning( "could not start" );
+ delete m_panconnect;
+ }
+}
+
+void PanPopup::slotExited( OProcess* proc ) {
+ delete m_panconnect;
+}
+
+void PanPopup::slotStdOut(OProcess* proc, char* chars, int len)
+{}
+
+
+void PanPopup::slotConnectAndConfig() {
+ slotConnect();
+
+ // more intelligence here later like passing the device ( bnepX )
+ QCopEnvelope e( "QPE/System", "execute(QString)" );
+ e << QString( "networksetup" );
+
+}