-rw-r--r-- | noncore/net/wellenreiter/gui/scanlist.cpp | 39 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/scanlist.h | 8 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/wellenreiter.cpp | 18 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/wellenreiter.h | 2 |
4 files changed, 66 insertions, 1 deletions
diff --git a/noncore/net/wellenreiter/gui/scanlist.cpp b/noncore/net/wellenreiter/gui/scanlist.cpp index 809d0bd..085eec4 100644 --- a/noncore/net/wellenreiter/gui/scanlist.cpp +++ b/noncore/net/wellenreiter/gui/scanlist.cpp | |||
@@ -22,4 +22,6 @@ | |||
22 | #include <qtextstream.h> | 22 | #include <qtextstream.h> |
23 | #include <qpopupmenu.h> | ||
23 | 24 | ||
24 | #ifdef QWS | 25 | #ifdef QWS |
26 | #include <qpe/qpeapplication.h> | ||
25 | #include <opie/odevice.h> | 27 | #include <opie/odevice.h> |
@@ -76,2 +78,10 @@ MScanListView::MScanListView( QWidget* parent, const char* name ) | |||
76 | setAllColumnsShowFocus( true ); | 78 | setAllColumnsShowFocus( true ); |
79 | |||
80 | connect( this, SIGNAL( rightButtonClicked(QListViewItem*,const QPoint&,int) ), | ||
81 | this, SLOT( contextMenuRequested(QListViewItem*,const QPoint&,int) ) ); | ||
82 | |||
83 | #ifdef QWS | ||
84 | QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold ); | ||
85 | #endif | ||
86 | |||
77 | }; | 87 | }; |
@@ -319,2 +329,23 @@ void MScanListView::identify( const OMacAddress& macaddr, const QString& ip ) | |||
319 | 329 | ||
330 | void MScanListView::contextMenuRequested( QListViewItem* item, const QPoint&, int col ) | ||
331 | { | ||
332 | if ( !item ) return; | ||
333 | |||
334 | MScanListItem* itm = static_cast<MScanListItem*>( item ); | ||
335 | |||
336 | qDebug( "contextMenuRequested on item '%s' (%s) in column: '%d'", | ||
337 | (const char*) itm->text(0), (const char*) itm->type, col ); | ||
338 | |||
339 | if ( itm->type == "adhoc" || itm->type == "managed" ) | ||
340 | { | ||
341 | QString entry = QString().sprintf( "&Join %s Net '%s'...", (const char*) itm->type, (const char*) itm->essid() ); | ||
342 | |||
343 | QPopupMenu m( this ); | ||
344 | m.insertItem( entry, 37773, 0 ); | ||
345 | int result = m.exec( QCursor::pos() ); | ||
346 | if ( result == 37773 ) | ||
347 | emit joinNetwork( itm->type, itm->essid(), itm->channel(), itm->macaddr() ); | ||
348 | } | ||
349 | } | ||
350 | |||
320 | //============================================================ | 351 | //============================================================ |
@@ -347,2 +378,10 @@ MScanListItem::MScanListItem( QListViewItem* parent, QString type, QString essid | |||
347 | 378 | ||
379 | const QString& MScanListItem::essid() const | ||
380 | { | ||
381 | if ( type == "network" ) | ||
382 | return _essid; | ||
383 | else | ||
384 | return ( (MScanListItem*) parent() )->essid(); | ||
385 | } | ||
386 | |||
348 | OListViewItem* MScanListItem::childFactory() | 387 | OListViewItem* MScanListItem::childFactory() |
diff --git a/noncore/net/wellenreiter/gui/scanlist.h b/noncore/net/wellenreiter/gui/scanlist.h index 253c166..5aba0d2 100644 --- a/noncore/net/wellenreiter/gui/scanlist.h +++ b/noncore/net/wellenreiter/gui/scanlist.h | |||
@@ -49,2 +49,8 @@ class MScanListView: public OListView | |||
49 | 49 | ||
50 | void contextMenuRequested( QListViewItem* item, const QPoint&, int ); | ||
51 | |||
52 | signals: | ||
53 | void rightButtonClicked(QListViewItem*,const QPoint&,int); | ||
54 | void joinNetwork( const QString&, const QString&, int, const QString& ); | ||
55 | |||
50 | protected: | 56 | protected: |
@@ -84,3 +90,3 @@ class MScanListItem: public OListViewItem | |||
84 | //const QString& type() { return _type; }; | 90 | //const QString& type() { return _type; }; |
85 | const QString& essid() { return _essid; }; | 91 | const QString& essid() const; |
86 | const QString& macaddr() { return _macaddr; }; | 92 | const QString& macaddr() { return _macaddr; }; |
diff --git a/noncore/net/wellenreiter/gui/wellenreiter.cpp b/noncore/net/wellenreiter/gui/wellenreiter.cpp index 2f26702..8a9e55d 100644 --- a/noncore/net/wellenreiter/gui/wellenreiter.cpp +++ b/noncore/net/wellenreiter/gui/wellenreiter.cpp | |||
@@ -30,2 +30,3 @@ | |||
30 | #include <opie/odevice.h> | 30 | #include <opie/odevice.h> |
31 | #include <qpe/qcopenvelope_qws.h> | ||
31 | using namespace Opie; | 32 | using namespace Opie; |
@@ -83,2 +84,4 @@ Wellenreiter::Wellenreiter( QWidget* parent ) | |||
83 | netview->setColumnWidthMode( 1, QListView::Manual ); | 84 | netview->setColumnWidthMode( 1, QListView::Manual ); |
85 | connect( netview, SIGNAL( joinNetwork(const QString&,const QString&,int,const QString&) ), | ||
86 | this, SLOT( joinNetwork(const QString&,const QString&,int,const QString&) ) ); | ||
84 | pcap = new OPacketCapturer(); | 87 | pcap = new OPacketCapturer(); |
@@ -490 +493,16 @@ void Wellenreiter::doAction( const QString& action, const QString& protocol, OPa | |||
490 | 493 | ||
494 | void Wellenreiter::joinNetwork(const QString& type, const QString& essid, int channel, const QString& macaddr) | ||
495 | { | ||
496 | qDebug( "joinNetwork() - %s, %s, %d, %s", | ||
497 | (const char*) type, | ||
498 | (const char*) essid, | ||
499 | channel, | ||
500 | (const char*) macaddr ); | ||
501 | |||
502 | // TODO: Stop scanning here | ||
503 | |||
504 | QCopEnvelope msg( "QPE/Application/networksettings", "wlan(QString,QString,QString)" ); | ||
505 | msg << "test" << "test" << "test"; | ||
506 | |||
507 | } | ||
508 | |||
diff --git a/noncore/net/wellenreiter/gui/wellenreiter.h b/noncore/net/wellenreiter/gui/wellenreiter.h index f23ca4d..e1062df 100644 --- a/noncore/net/wellenreiter/gui/wellenreiter.h +++ b/noncore/net/wellenreiter/gui/wellenreiter.h | |||
@@ -61,2 +61,4 @@ class Wellenreiter : public WellenreiterBase { | |||
61 | 61 | ||
62 | void joinNetwork(const QString&,const QString&,int,const QString&); | ||
63 | |||
62 | signals: | 64 | signals: |