summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/scanlist.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/noncore/net/wellenreiter/gui/scanlist.cpp b/noncore/net/wellenreiter/gui/scanlist.cpp
index 1ef24d2..a8cadd8 100644
--- a/noncore/net/wellenreiter/gui/scanlist.cpp
+++ b/noncore/net/wellenreiter/gui/scanlist.cpp
@@ -1,365 +1,365 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Opie Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14**********************************************************************/ 14**********************************************************************/
15 15
16#include "scanlist.h" 16#include "scanlist.h"
17#include "configwindow.h" 17#include "configwindow.h"
18 18
19#include <assert.h> 19#include <assert.h>
20#include "manufacturers.h" 20#include "manufacturers.h"
21#include <qdatetime.h> 21#include <qdatetime.h>
22#include <qtextstream.h> 22#include <qtextstream.h>
23 23
24#ifdef QWS 24#ifdef QWS
25#include <opie/odevice.h> 25#include <opie/odevice.h>
26using namespace Opie; 26using namespace Opie;
27#endif 27#endif
28 28
29 29
30#ifdef QWS 30#ifdef QWS
31#include <qpe/resource.h> 31#include <qpe/resource.h>
32#else 32#else
33#include "resource.h" 33#include "resource.h"
34#endif 34#endif
35 35
36const int col_type = 0; 36const int col_type = 0;
37const int col_essid = 0; 37const int col_essid = 0;
38const int col_sig = 1; 38const int col_sig = 1;
39const int col_ap = 2; 39const int col_ap = 2;
40const int col_channel = 3; 40const int col_channel = 3;
41const int col_wep = 4; 41const int col_wep = 4;
42const int col_traffic = 5; 42const int col_traffic = 5;
43const int col_manuf = 6; 43const int col_manuf = 6;
44const int col_firstseen = 7; 44const int col_firstseen = 7;
45const int col_lastseen = 8; 45const int col_lastseen = 8;
46 46
47MScanListView::MScanListView( QWidget* parent, const char* name ) 47MScanListView::MScanListView( QWidget* parent, const char* name )
48 :OListView( parent, name ), _manufacturerdb( 0 ) 48 :OListView( parent, name ), _manufacturerdb( 0 )
49{ 49{
50 50
51 setFrameShape( QListView::StyledPanel ); 51 setFrameShape( QListView::StyledPanel );
52 setFrameShadow( QListView::Sunken ); 52 setFrameShadow( QListView::Sunken );
53 53
54 addColumn( tr( "Net/Station" ) ); 54 addColumn( tr( "Net/Station" ) );
55 setColumnAlignment( 0, AlignLeft || AlignVCenter ); 55 setColumnAlignment( 0, AlignLeft || AlignVCenter );
56 addColumn( tr( "B" ) ); 56 addColumn( tr( "B" ) );
57 setColumnAlignment( 1, AlignCenter ); 57 setColumnAlignment( 1, AlignCenter );
58 addColumn( tr( "AP" ) ); 58 addColumn( tr( "AP" ) );
59 setColumnAlignment( 2, AlignCenter ); 59 setColumnAlignment( 2, AlignCenter );
60 addColumn( tr( "Chn" ) ); 60 addColumn( tr( "Chn" ) );
61 setColumnAlignment( 3, AlignCenter ); 61 setColumnAlignment( 3, AlignCenter );
62 addColumn( tr( "W" ) ); 62 addColumn( tr( "W" ) );
63 setColumnAlignment( 4, AlignCenter ); 63 setColumnAlignment( 4, AlignCenter );
64 addColumn( tr( "T" ) ); 64 addColumn( tr( "T" ) );
65 setColumnAlignment( 5, AlignCenter ); 65 setColumnAlignment( 5, AlignCenter );
66 addColumn( tr( "Manufacturer" ) ); 66 addColumn( tr( "Manufacturer" ) );
67 setColumnAlignment( 6, AlignCenter ); 67 setColumnAlignment( 6, AlignCenter );
68 addColumn( tr( "First Seen" ) ); 68 addColumn( tr( "First Seen" ) );
69 setColumnAlignment( 7, AlignCenter ); 69 setColumnAlignment( 7, AlignCenter );
70 addColumn( tr( "Last Seen" ) ); 70 addColumn( tr( "Last Seen" ) );
71 setColumnAlignment( 8, AlignCenter ); 71 setColumnAlignment( 8, AlignCenter );
72 setRootIsDecorated( true ); 72 setRootIsDecorated( true );
73 setAllColumnsShowFocus( true ); 73 setAllColumnsShowFocus( true );
74}; 74};
75 75
76MScanListView::~MScanListView() 76MScanListView::~MScanListView()
77{ 77{
78}; 78};
79 79
80OListViewItem* MScanListView::childFactory() 80OListViewItem* MScanListView::childFactory()
81{ 81{
82 return new MScanListItem( this ); 82 return new MScanListItem( this );
83} 83}
84 84
85void MScanListView::serializeTo( QDataStream& s) const 85void MScanListView::serializeTo( QDataStream& s) const
86{ 86{
87 qDebug( "serializing MScanListView" ); 87 qDebug( "serializing MScanListView" );
88 OListView::serializeTo( s ); 88 OListView::serializeTo( s );
89} 89}
90 90
91void MScanListView::serializeFrom( QDataStream& s) 91void MScanListView::serializeFrom( QDataStream& s)
92{ 92{
93 qDebug( "serializing MScanListView" ); 93 qDebug( "serializing MScanListView" );
94 OListView::serializeFrom( s ); 94 OListView::serializeFrom( s );
95} 95}
96 96
97void MScanListView::setManufacturerDB( ManufacturerDB* manufacturerdb ) 97void MScanListView::setManufacturerDB( ManufacturerDB* manufacturerdb )
98{ 98{
99 _manufacturerdb = manufacturerdb; 99 _manufacturerdb = manufacturerdb;
100} 100}
101 101
102void MScanListView::addNewItem( QString type, QString essid, QString macaddr, bool wep, int channel, int signal ) 102void MScanListView::addNewItem( QString type, QString essid, QString macaddr, bool wep, int channel, int signal )
103{ 103{
104 // FIXME: scanlistitem needs a proper encapsulation and not such a damn dealing with text(...) 104 // FIXME: scanlistitem needs a proper encapsulation and not such a damn dealing with text(...)
105 105
106 qDebug( "MScanList::addNewItem( %s / %s / %s [%d]", 106 qDebug( "MScanList::addNewItem( %s / %s / %s [%d]",
107 (const char*) type, 107 (const char*) type,
108 (const char*) essid, 108 (const char*) essid,
109 (const char*) macaddr, 109 (const char*) macaddr,
110 channel ); 110 channel );
111 111
112 // search, if we already have seen this net 112 // search, if we already have seen this net
113 113
114 QString s; 114 QString s;
115 MScanListItem* network; 115 MScanListItem* network;
116 MScanListItem* item = static_cast<MScanListItem*> ( firstChild() ); 116 MScanListItem* item = static_cast<MScanListItem*> ( firstChild() );
117 117
118 while ( item && ( item->text( 0 ) != essid ) ) 118 while ( item && ( item->text( 0 ) != essid ) )
119 { 119 {
120 qDebug( "itemtext: %s", (const char*) item->text( 0 ) ); 120 qDebug( "itemtext: %s", (const char*) item->text( 0 ) );
121 item = static_cast<MScanListItem*> ( item->itemBelow() ); 121 item = static_cast<MScanListItem*> ( item->itemBelow() );
122 } 122 }
123 if ( item ) 123 if ( item )
124 { 124 {
125 // animate the item 125 // animate the item
126 126
127 /* 127 /*
128 128
129 const QPixmap* pixmap = item->pixmap( 0 ); 129 const QPixmap* pixmap = item->pixmap( 0 );
130 const QPixmap* nextpixmap = ani2; 130 const QPixmap* nextpixmap = ani2;
131 if ( pixmap == ani1 ) 131 if ( pixmap == ani1 )
132 nextpixmap = ani2; 132 nextpixmap = ani2;
133 else if ( pixmap == ani2 ) 133 else if ( pixmap == ani2 )
134 nextpixmap = ani3; 134 nextpixmap = ani3;
135 else if ( pixmap == ani3 ) 135 else if ( pixmap == ani3 )
136 nextpixmap = ani4; 136 nextpixmap = ani4;
137 else if ( pixmap == ani4 ) 137 else if ( pixmap == ani4 )
138 nextpixmap = ani1; 138 nextpixmap = ani1;
139 item->setPixmap( 0, *nextpixmap ); */ 139 item->setPixmap( 0, *nextpixmap ); */
140 140
141 //qDebug( "current pixmap %d, next %d", pixmap, nextpixmap ); 141 //qDebug( "current pixmap %d, next %d", pixmap, nextpixmap );
142 142
143 // we have already seen this net, check all childs if MAC exists 143 // we have already seen this net, check all childs if MAC exists
144 144
145 network = item; 145 network = item;
146 146
147 item = static_cast<MScanListItem*> ( item->firstChild() ); 147 item = static_cast<MScanListItem*> ( item->firstChild() );
148 assert( item ); // this shouldn't fail 148 assert( item ); // this shouldn't fail
149 149
150 while ( item && ( item->text( 2 ) != macaddr ) ) 150 while ( item && ( item->text( 2 ) != macaddr ) )
151 { 151 {
152 qDebug( "subitemtext: %s", (const char*) item->text( 2 ) ); 152 qDebug( "subitemtext: %s", (const char*) item->text( 2 ) );
153 item = static_cast<MScanListItem*> ( item->itemBelow() ); 153 item = static_cast<MScanListItem*> ( item->itemBelow() );
154 } 154 }
155 155
156 if ( item ) 156 if ( item )
157 { 157 {
158 // we have already seen this item, it's a dupe 158 // we have already seen this item, it's a dupe
159 #ifdef DEBUG 159 #ifdef DEBUG
160 qDebug( "%s is a dupe - ignoring...", (const char*) macaddr ); 160 qDebug( "%s is a dupe - ignoring...", (const char*) macaddr );
161 #endif 161 #endif
162 item->receivedBeacon(); 162 item->receivedBeacon();
163 return; 163 return;
164 } 164 }
165 } 165 }
166 else 166 else
167 { 167 {
168 s.sprintf( "(i) new network: '%s'", (const char*) essid ); 168 s.sprintf( "(i) new network: '%s'", (const char*) essid );
169 network = new MScanListItem( this, "networks", essid, QString::null, 0, 0, 0 ); 169 network = new MScanListItem( this, "network", essid, QString::null, 0, 0, 0 );
170 } 170 }
171 171
172 172
173 // insert new station as child from network 173 // insert new station as child from network
174 174
175 // no essid to reduce clutter, maybe later we have a nick or stationname to display!? 175 // no essid to reduce clutter, maybe later we have a nick or stationname to display!?
176 176
177 qDebug( "inserting new station %s", (const char*) macaddr ); 177 qDebug( "inserting new station %s", (const char*) macaddr );
178 178
179 MScanListItem* station = new MScanListItem( network, type, "", macaddr, wep, channel, signal ); 179 MScanListItem* station = new MScanListItem( network, type, "", macaddr, wep, channel, signal );
180 if ( _manufacturerdb ) 180 if ( _manufacturerdb )
181 station->setManufacturer( _manufacturerdb->lookup( macaddr ) ); 181 station->setManufacturer( _manufacturerdb->lookup( macaddr ) );
182 182
183 if ( type == "managed" ) 183 if ( type == "managed" )
184 { 184 {
185 s.sprintf( "(i) new AP in '%s' [%d]", (const char*) essid, channel ); 185 s.sprintf( "(i) new AP in '%s' [%d]", (const char*) essid, channel );
186 } 186 }
187 else 187 else
188 { 188 {
189 s.sprintf( "(i) new adhoc station in '%s' [%d]", (const char*) essid, channel ); 189 s.sprintf( "(i) new adhoc station in '%s' [%d]", (const char*) essid, channel );
190 } 190 }
191 191
192} 192}
193 193
194void MScanListView::traffic( QString type, QString from, QString to, QString via, QString additional ) 194void MScanListView::traffic( QString type, QString from, QString to, QString via, QString additional )
195{ 195{
196 if ( type != "toDS" ) return; 196 if ( type != "toDS" ) return;
197 197
198 qDebug( "MScanList::traffic( [%s] | %s -> %s (via %s)", 198 qDebug( "MScanList::traffic( [%s] | %s -> %s (via %s)",
199 (const char*) type, (const char*) from, 199 (const char*) type, (const char*) from,
200 (const char*) to, (const char*) via ); 200 (const char*) to, (const char*) via );
201 201
202 QString s; 202 QString s;
203 MScanListItem* network; 203 MScanListItem* network;
204 204
205 QListViewItemIterator it( this ); 205 QListViewItemIterator it( this );
206 while ( it.current() && it.current()->text( col_ap ) != via ) ++it; 206 while ( it.current() && it.current()->text( col_ap ) != via ) ++it;
207 207
208 MScanListItem* item = static_cast<MScanListItem*>( it.current() ); 208 MScanListItem* item = static_cast<MScanListItem*>( it.current() );
209 209
210 if ( item ) // AP has been shown up, so just add our new "from" - station 210 if ( item ) // AP has been shown up, so just add our new "from" - station
211 { 211 {
212 network = static_cast<MScanListItem*>( item->parent() ); 212 network = static_cast<MScanListItem*>( item->parent() );
213 MScanListItem* subitem = static_cast<MScanListItem*>( network->firstChild() ); 213 MScanListItem* subitem = static_cast<MScanListItem*>( network->firstChild() );
214 214
215 while ( subitem && ( subitem->text( col_ap ) != from ) ) 215 while ( subitem && ( subitem->text( col_ap ) != from ) )
216 { 216 {
217 qDebug( "subitemtext: %s", (const char*) subitem->text( col_ap ) ); 217 qDebug( "subitemtext: %s", (const char*) subitem->text( col_ap ) );
218 subitem = static_cast<MScanListItem*> ( subitem->itemBelow() ); 218 subitem = static_cast<MScanListItem*> ( subitem->itemBelow() );
219 } 219 }
220 220
221 if ( subitem ) 221 if ( subitem )
222 { 222 {
223 // we have already seen this item, it's a dupe 223 // we have already seen this item, it's a dupe
224 #ifdef DEBUG 224 #ifdef DEBUG
225 qDebug( "%s is a dupe - ignoring...", (const char*) from ); 225 qDebug( "%s is a dupe - ignoring...", (const char*) from );
226 #endif 226 #endif
227 subitem->receivedBeacon(); //FIXME: sent data bit 227 subitem->receivedBeacon(); //FIXME: sent data bit
228 return; 228 return;
229 } 229 }
230 230
231 // Hey, it seems to be a new item :-D 231 // Hey, it seems to be a new item :-D
232 MScanListItem* station = new MScanListItem( item->parent(), "adhoc", /* network->text( col_essid ) */ "", from, false, -1, -1 ); 232 MScanListItem* station = new MScanListItem( item->parent(), "adhoc", /* network->text( col_essid ) */ "", from, false, -1, -1 );
233 if ( _manufacturerdb ) 233 if ( _manufacturerdb )
234 station->setManufacturer( _manufacturerdb->lookup( from ) ); 234 station->setManufacturer( _manufacturerdb->lookup( from ) );
235 } 235 }
236 else 236 else
237 { 237 {
238 qDebug( "D'Oh! Station without AP... ignoring for now... will handle this in alpha-4 version :-D" ); 238 qDebug( "D'Oh! Station without AP... ignoring for now... will handle this in alpha-4 version :-D" );
239 } 239 }
240} 240}
241 241
242//============================================================ 242//============================================================
243// MScanListItem 243// MScanListItem
244//============================================================ 244//============================================================
245 245
246MScanListItem::MScanListItem( QListView* parent, QString type, QString essid, QString macaddr, 246MScanListItem::MScanListItem( QListView* parent, QString type, QString essid, QString macaddr,
247 bool wep, int channel, int signal ) 247 bool wep, int channel, int signal )
248 :OListViewItem( parent, essid, QString::null, macaddr, QString::null, QString::null ), 248 :OListViewItem( parent, essid, QString::null, macaddr, QString::null, QString::null ),
249 _type( type ), _essid( essid ), _macaddr( macaddr ), _wep( wep ), 249 _type( type ), _essid( essid ), _macaddr( macaddr ), _wep( wep ),
250 _channel( channel ), _signal( signal ), _beacons( 1 ) 250 _channel( channel ), _signal( signal ), _beacons( 1 )
251{ 251{
252 qDebug( "creating scanlist item" ); 252 qDebug( "creating scanlist item" );
253 if ( WellenreiterConfigWindow::instance() && type == "networks" ) 253 if ( WellenreiterConfigWindow::instance() && type == "network" )
254 playSound( WellenreiterConfigWindow::instance()->soundOnNetwork() ); 254 playSound( WellenreiterConfigWindow::instance()->soundOnNetwork() );
255 decorateItem( type, essid, macaddr, wep, channel, signal ); 255 decorateItem( type, essid, macaddr, wep, channel, signal );
256} 256}
257 257
258MScanListItem::MScanListItem( QListViewItem* parent, QString type, QString essid, QString macaddr, 258MScanListItem::MScanListItem( QListViewItem* parent, QString type, QString essid, QString macaddr,
259 bool wep, int channel, int signal ) 259 bool wep, int channel, int signal )
260 :OListViewItem( parent, essid, QString::null, macaddr, QString::null, QString::null ) 260 :OListViewItem( parent, essid, QString::null, macaddr, QString::null, QString::null )
261{ 261{
262 qDebug( "creating scanlist item" ); 262 qDebug( "creating scanlist item" );
263 decorateItem( type, essid, macaddr, wep, channel, signal ); 263 decorateItem( type, essid, macaddr, wep, channel, signal );
264} 264}
265 265
266OListViewItem* MScanListItem::childFactory() 266OListViewItem* MScanListItem::childFactory()
267{ 267{
268 return new MScanListItem( this ); 268 return new MScanListItem( this );
269} 269}
270 270
271void MScanListItem::serializeTo( QDataStream& s ) const 271void MScanListItem::serializeTo( QDataStream& s ) const
272{ 272{
273 qDebug( "serializing MScanListItem" ); 273 qDebug( "serializing MScanListItem" );
274 OListViewItem::serializeTo( s ); 274 OListViewItem::serializeTo( s );
275 275
276 s << _type; 276 s << _type;
277 s << (Q_UINT8) ( _wep ? 'y' : 'n' ); 277 s << (Q_UINT8) ( _wep ? 'y' : 'n' );
278} 278}
279 279
280void MScanListItem::serializeFrom( QDataStream& s ) 280void MScanListItem::serializeFrom( QDataStream& s )
281{ 281{
282 qDebug( "serializing MScanListItem" ); 282 qDebug( "serializing MScanListItem" );
283 OListViewItem::serializeFrom( s ); 283 OListViewItem::serializeFrom( s );
284 284
285 char wep; 285 char wep;
286 s >> _type; 286 s >> _type;
287 s >> (Q_UINT8) wep; 287 s >> (Q_UINT8) wep;
288 _wep = (wep == 'y'); 288 _wep = (wep == 'y');
289 289
290 QString name; 290 QString name;
291 name.sprintf( "wellenreiter/%s", (const char*) _type ); 291 name.sprintf( "wellenreiter/%s", (const char*) _type );
292 setPixmap( col_type, Resource::loadPixmap( name ) ); 292 setPixmap( col_type, Resource::loadPixmap( name ) );
293 if ( _wep ) 293 if ( _wep )
294 setPixmap( col_wep, Resource::loadPixmap( "wellenreiter/cracked" ) ); //FIXME: rename the pixmap! 294 setPixmap( col_wep, Resource::loadPixmap( "wellenreiter/cracked" ) ); //FIXME: rename the pixmap!
295 listView()->triggerUpdate(); 295 listView()->triggerUpdate();
296} 296}
297 297
298void MScanListItem::decorateItem( QString type, QString essid, QString macaddr, bool wep, int channel, int signal ) 298void MScanListItem::decorateItem( QString type, QString essid, QString macaddr, bool wep, int channel, int signal )
299{ 299{
300 qDebug( "decorating scanlist item %s / %s / %s [%d]", 300 qDebug( "decorating scanlist item %s / %s / %s [%d]",
301 (const char*) type, 301 (const char*) type,
302 (const char*) essid, 302 (const char*) essid,
303 (const char*) macaddr, 303 (const char*) macaddr,
304 channel ); 304 channel );
305 305
306 // set icon for managed or adhoc mode 306 // set icon for managed or adhoc mode
307 QString name; 307 QString name;
308 name.sprintf( "wellenreiter/%s", (const char*) type ); 308 name.sprintf( "wellenreiter/%s", (const char*) type );
309 setPixmap( col_type, Resource::loadPixmap( name ) ); 309 setPixmap( col_type, Resource::loadPixmap( name ) );
310 310
311 // set icon for wep (wireless encryption protocol) 311 // set icon for wep (wireless encryption protocol)
312 if ( wep ) 312 if ( wep )
313 setPixmap( col_wep, Resource::loadPixmap( "wellenreiter/cracked" ) ); //FIXME: rename the pixmap! 313 setPixmap( col_wep, Resource::loadPixmap( "wellenreiter/cracked" ) ); //FIXME: rename the pixmap!
314 314
315 // set channel and signal text 315 // set channel and signal text
316 316
317 if ( signal != -1 ) 317 if ( signal != -1 )
318 setText( col_sig, QString::number( signal ) ); 318 setText( col_sig, QString::number( signal ) );
319 if ( channel != -1 ) 319 if ( channel != -1 )
320 setText( col_channel, QString::number( channel ) ); 320 setText( col_channel, QString::number( channel ) );
321 321
322 setText( col_firstseen, QTime::currentTime().toString() ); 322 setText( col_firstseen, QTime::currentTime().toString() );
323 //setText( col_lastseen, QTime::currentTime().toString() ); 323 //setText( col_lastseen, QTime::currentTime().toString() );
324 324
325 listView()->triggerUpdate(); 325 listView()->triggerUpdate();
326 326
327 this->type = type; 327 this->type = type;
328 _type = type; 328 _type = type;
329 _essid = essid; 329 _essid = essid;
330 _macaddr = macaddr; 330 _macaddr = macaddr;
331 _channel = channel; 331 _channel = channel;
332 _beacons = 1; 332 _beacons = 1;
333 _signal = 0; 333 _signal = 0;
334} 334}
335 335
336 336
337void MScanListItem::setManufacturer( const QString& manufacturer ) 337void MScanListItem::setManufacturer( const QString& manufacturer )
338{ 338{
339 setText( col_manuf, manufacturer ); 339 setText( col_manuf, manufacturer );
340} 340}
341 341
342 342
343void MScanListItem::playSound( const QString& sound ) const 343void MScanListItem::playSound( const QString& sound ) const
344{ 344{
345 #ifdef QWS 345 #ifdef QWS
346 if ( sound == "Ignore" ) return; 346 if ( sound == "Ignore" ) return;
347 else if ( sound == "Touch" ) ODevice::inst()->touchSound(); 347 else if ( sound == "Touch" ) ODevice::inst()->touchSound();
348 else if ( sound == "Key" ) ODevice::inst()->keySound(); 348 else if ( sound == "Key" ) ODevice::inst()->keySound();
349 else if ( sound == "Alarm" ) ODevice::inst()->alarmSound(); 349 else if ( sound == "Alarm" ) ODevice::inst()->alarmSound();
350 #endif 350 #endif
351} 351}
352 352
353 353
354void MScanListItem::receivedBeacon() 354void MScanListItem::receivedBeacon()
355{ 355{
356 _beacons++; 356 _beacons++;
357 #ifdef DEBUG 357 #ifdef DEBUG
358 qDebug( "MScanListItem %s: received beacon #%d", (const char*) _macaddr, _beacons ); 358 qDebug( "MScanListItem %s: received beacon #%d", (const char*) _macaddr, _beacons );
359 #endif 359 #endif
360 setText( col_sig, QString::number( _beacons ) ); 360 setText( col_sig, QString::number( _beacons ) );
361 setText( col_lastseen, QTime::currentTime().toString() ); 361 setText( col_lastseen, QTime::currentTime().toString() );
362 if ( WellenreiterConfigWindow::instance() ) 362 if ( WellenreiterConfigWindow::instance() )
363 playSound( WellenreiterConfigWindow::instance()->soundOnBeacon() ); 363 playSound( WellenreiterConfigWindow::instance()->soundOnBeacon() );
364} 364}
365 365