Diffstat (limited to 'noncore/net/wellenreiter/gui/scanlist.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/wellenreiter/gui/scanlist.cpp | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/noncore/net/wellenreiter/gui/scanlist.cpp b/noncore/net/wellenreiter/gui/scanlist.cpp index 6d032aa..ab19701 100644 --- a/noncore/net/wellenreiter/gui/scanlist.cpp +++ b/noncore/net/wellenreiter/gui/scanlist.cpp @@ -15,21 +15,48 @@ #include "scanlist.h" #include "scanlistitem.h" #include <assert.h> +#include "manufacturers.h" + MScanListView::MScanListView( QWidget* parent, const char* name ) - :QListView( parent, name ) + :QListView( parent, name ), _manufacturerdb( 0 ) { + + setFrameShape( QListView::StyledPanel ); + setFrameShadow( QListView::Sunken ); + + addColumn( tr( "Net/Station" ) ); + setColumnAlignment( 0, AlignLeft || AlignVCenter ); + addColumn( tr( "B" ) ); + setColumnAlignment( 1, AlignCenter ); + addColumn( tr( "AP" ) ); + setColumnAlignment( 2, AlignCenter ); + addColumn( tr( "Chn" ) ); + setColumnAlignment( 3, AlignCenter ); + addColumn( tr( "W" ) ); + setColumnAlignment( 4, AlignCenter ); + addColumn( tr( "T" ) ); + setColumnAlignment( 5, AlignCenter ); + addColumn( tr( "Manufacturer" ) ); + setColumnAlignment( 6, AlignCenter ); + setRootIsDecorated( true ); + setAllColumnsShowFocus( true ); }; MScanListView::~MScanListView() { }; +void MScanListView::setManufacturerDB( ManufacturerDB* manufacturerdb ) +{ + _manufacturerdb = manufacturerdb; +} + void MScanListView::addNewItem( QString type, QString essid, QString macaddr, bool wep, int channel, int signal ) { // FIXME: scanlistitem needs a proper encapsulation and not such a damn dealing with text(...) qDebug( "MScanList::addNewItem( %s / %s / %s [%d]", (const char*) type, @@ -81,13 +108,16 @@ void MScanListView::addNewItem( QString type, QString essid, QString macaddr, bo item = static_cast<MScanListItem*> ( item->itemBelow() ); } if ( item ) { // we have already seen this item, it's a dupe + #ifdef DEBUG qDebug( "%s is a dupe - ignoring...", (const char*) macaddr ); + #endif + item->receivedBeacon(); return; } } else { s.sprintf( "(i) new network: '%s'", (const char*) essid ); @@ -99,13 +129,15 @@ void MScanListView::addNewItem( QString type, QString essid, QString macaddr, bo // insert new station as child from network // no essid to reduce clutter, maybe later we have a nick or stationname to display!? qDebug( "inserting new station %s", (const char*) macaddr ); - new MScanListItem( network, type, "", macaddr, wep, channel, signal ); + MScanListItem* station = new MScanListItem( network, type, "", macaddr, wep, channel, signal ); + if ( _manufacturerdb ) + station->setManufacturer( _manufacturerdb->lookup( macaddr ) ); if ( type == "managed" ) { s.sprintf( "(i) new AP in '%s' [%d]", (const char*) essid, channel ); } else |