Diffstat (limited to 'noncore/net/wellenreiter/gui/scanlist.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/wellenreiter/gui/scanlist.cpp | 39 |
1 files changed, 39 insertions, 0 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 | |||
@@ -21,6 +21,8 @@ | |||
21 | #include <qdatetime.h> | 21 | #include <qdatetime.h> |
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> |
26 | using namespace Opie; | 28 | using namespace Opie; |
@@ -75,4 +77,12 @@ MScanListView::MScanListView( QWidget* parent, const char* name ) | |||
75 | setRootIsDecorated( true ); | 77 | setRootIsDecorated( true ); |
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 | }; |
78 | 88 | ||
@@ -318,4 +328,25 @@ void MScanListView::identify( const OMacAddress& macaddr, const QString& ip ) | |||
318 | 328 | ||
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 | //============================================================ |
321 | // MScanListItem | 352 | // MScanListItem |
@@ -346,4 +377,12 @@ MScanListItem::MScanListItem( QListViewItem* parent, QString type, QString essid | |||
346 | } | 377 | } |
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() |
349 | { | 388 | { |