-rw-r--r-- | noncore/net/wellenreiter/gui/configwindow.cpp | 9 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/configwindow.h | 2 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/packetview.cpp | 52 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/packetview.h | 4 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/wellenreiter.cpp | 2 |
5 files changed, 55 insertions, 14 deletions
diff --git a/noncore/net/wellenreiter/gui/configwindow.cpp b/noncore/net/wellenreiter/gui/configwindow.cpp index 279b39c..89ed24c 100644 --- a/noncore/net/wellenreiter/gui/configwindow.cpp +++ b/noncore/net/wellenreiter/gui/configwindow.cpp | |||
@@ -16,51 +16,52 @@ | |||
16 | /* LOCAL */ | 16 | /* LOCAL */ |
17 | #include "configwindow.h" | 17 | #include "configwindow.h" |
18 | #include "mainwindow.h" | 18 | #include "mainwindow.h" |
19 | 19 | ||
20 | /* OPIE */ | 20 | /* OPIE */ |
21 | #include <opie2/onetwork.h> | 21 | #include <opie2/onetwork.h> |
22 | #ifdef QWS | 22 | #ifdef QWS |
23 | #include <opie2/oapplication.h> | 23 | #include <opie2/oapplication.h> |
24 | #include <opie2/oconfig.h> | 24 | #include <opie2/oconfig.h> |
25 | #include <opie2/odevice.h> | 25 | #include <opie2/odevice.h> |
26 | #include <opie2/odebug.h> | 26 | #include <opie2/odebug.h> |
27 | using namespace Opie::Core; | 27 | using namespace Opie::Core; |
28 | using namespace Opie::Net; | 28 | using namespace Opie::Net; |
29 | #endif | 29 | #endif |
30 | 30 | ||
31 | /* QT */ | 31 | /* QT */ |
32 | #include <qapplication.h> | 32 | #include <qapplication.h> |
33 | #include <qcheckbox.h> | 33 | #include <qcheckbox.h> |
34 | #include <qcombobox.h> | 34 | #include <qcombobox.h> |
35 | #include <qfile.h> | 35 | #include <qfile.h> |
36 | #include <qlineedit.h> | 36 | #include <qlineedit.h> |
37 | #include <qlayout.h> | 37 | #include <qlayout.h> |
38 | #include <qmap.h> | 38 | #include <qmap.h> |
39 | #include <qpushbutton.h> | 39 | #include <qpushbutton.h> |
40 | #include <qradiobutton.h> | ||
41 | #include <qspinbox.h> | ||
40 | #include <qtabwidget.h> | 42 | #include <qtabwidget.h> |
41 | #include <qtoolbutton.h> | 43 | #include <qtoolbutton.h> |
42 | #include <qspinbox.h> | ||
43 | #include <qtextstream.h> | 44 | #include <qtextstream.h> |
44 | 45 | ||
45 | /* STD */ | 46 | /* STD */ |
46 | #include <assert.h> | 47 | #include <assert.h> |
47 | 48 | ||
48 | WellenreiterConfigWindow* WellenreiterConfigWindow::_instance = 0; | 49 | WellenreiterConfigWindow* WellenreiterConfigWindow::_instance = 0; |
49 | 50 | ||
50 | WellenreiterConfigWindow::WellenreiterConfigWindow( QWidget * parent, const char * name, WFlags f ) | 51 | WellenreiterConfigWindow::WellenreiterConfigWindow( QWidget * parent, const char * name, WFlags f ) |
51 | :WellenreiterConfigBase( parent, name, true, f ) | 52 | :WellenreiterConfigBase( parent, name, true, f ) |
52 | { | 53 | { |
53 | _devicetype[ "cisco" ] = DEVTYPE_CISCO; | 54 | _devicetype[ "cisco" ] = DEVTYPE_CISCO; |
54 | _devicetype[ "wlan-ng" ] = DEVTYPE_WLAN_NG; | 55 | _devicetype[ "wlan-ng" ] = DEVTYPE_WLAN_NG; |
55 | _devicetype[ "hostap" ] = DEVTYPE_HOSTAP; | 56 | _devicetype[ "hostap" ] = DEVTYPE_HOSTAP; |
56 | _devicetype[ "orinoco" ] = DEVTYPE_ORINOCO; | 57 | _devicetype[ "orinoco" ] = DEVTYPE_ORINOCO; |
57 | _devicetype[ "<manual>" ] = DEVTYPE_MANUAL; | 58 | _devicetype[ "<manual>" ] = DEVTYPE_MANUAL; |
58 | _devicetype[ "<file>" ] = DEVTYPE_FILE; | 59 | _devicetype[ "<file>" ] = DEVTYPE_FILE; |
59 | 60 | ||
60 | // gather possible interface names from ONetwork | 61 | // gather possible interface names from ONetwork |
61 | ONetwork* net = ONetwork::instance(); | 62 | ONetwork* net = ONetwork::instance(); |
62 | ONetwork::InterfaceIterator it = net->iterator(); | 63 | ONetwork::InterfaceIterator it = net->iterator(); |
63 | while ( it.current() ) | 64 | while ( it.current() ) |
64 | { | 65 | { |
65 | if ( it.current()->isWireless() ) | 66 | if ( it.current()->isWireless() ) |
66 | interfaceName->insertItem( it.current()->name() ); | 67 | interfaceName->insertItem( it.current()->name() ); |
@@ -453,24 +454,30 @@ void WellenreiterConfigWindow::save() | |||
453 | c->writeEntry( "filename", captureFileName->text() ); | 454 | c->writeEntry( "filename", captureFileName->text() ); |
454 | 455 | ||
455 | c->setGroup( "UI" ); | 456 | c->setGroup( "UI" ); |
456 | c->writeEntry( "lookupVendor", lookupVendor->isChecked() ); | 457 | c->writeEntry( "lookupVendor", lookupVendor->isChecked() ); |
457 | c->writeEntry( "openTree", openTree->isChecked() ); | 458 | c->writeEntry( "openTree", openTree->isChecked() ); |
458 | c->writeEntry( "disablePM", disablePM->isChecked() ); | 459 | c->writeEntry( "disablePM", disablePM->isChecked() ); |
459 | c->writeEntry( "newNetworkAction", newNetworkAction->currentItem() ); | 460 | c->writeEntry( "newNetworkAction", newNetworkAction->currentItem() ); |
460 | c->writeEntry( "newNetworkScript", newNetworkScript->text() ); | 461 | c->writeEntry( "newNetworkScript", newNetworkScript->text() ); |
461 | c->writeEntry( "newClientAction", newClientAction->currentItem() ); | 462 | c->writeEntry( "newClientAction", newClientAction->currentItem() ); |
462 | c->writeEntry( "newClientScript", newClientScript->text() ); | 463 | c->writeEntry( "newClientScript", newClientScript->text() ); |
463 | c->writeEntry( "newStationAction", newStationAction->currentItem() ); | 464 | c->writeEntry( "newStationAction", newStationAction->currentItem() ); |
464 | c->writeEntry( "newStationScript", newStationScript->text() ); | 465 | c->writeEntry( "newStationScript", newStationScript->text() ); |
465 | 466 | ||
466 | c->setGroup( "GPS" ); | 467 | c->setGroup( "GPS" ); |
467 | c->writeEntry( "use", enableGPS->isChecked() ); | 468 | c->writeEntry( "use", enableGPS->isChecked() ); |
468 | c->writeEntry( "host", gpsdHost->currentText() ); | 469 | c->writeEntry( "host", gpsdHost->currentText() ); |
469 | c->writeEntry( "port", gpsdPort->value() ); | 470 | c->writeEntry( "port", gpsdPort->value() ); |
470 | c->writeEntry( "start", startGPS->isChecked() ); | 471 | c->writeEntry( "start", startGPS->isChecked() ); |
471 | c->writeEntry( "command", commandGPS->text() ); | 472 | c->writeEntry( "command", commandGPS->text() ); |
472 | 473 | ||
473 | c->write(); | 474 | c->write(); |
474 | 475 | ||
475 | #endif | 476 | #endif |
476 | } | 477 | } |
478 | |||
479 | |||
480 | int WellenreiterConfigWindow::hexViewBuffer() const | ||
481 | { | ||
482 | return hexViewBufferUnlimited->isChecked() ? -1 : hexViewBufferSize->value(); | ||
483 | } | ||
diff --git a/noncore/net/wellenreiter/gui/configwindow.h b/noncore/net/wellenreiter/gui/configwindow.h index 0a5b3bd..2d478e7 100644 --- a/noncore/net/wellenreiter/gui/configwindow.h +++ b/noncore/net/wellenreiter/gui/configwindow.h | |||
@@ -37,46 +37,48 @@ class WellenreiterConfigWindow; | |||
37 | class WellenreiterConfigWindow : public WellenreiterConfigBase | 37 | class WellenreiterConfigWindow : public WellenreiterConfigBase |
38 | { | 38 | { |
39 | Q_OBJECT | 39 | Q_OBJECT |
40 | 40 | ||
41 | public: | 41 | public: |
42 | WellenreiterConfigWindow( QWidget * parent = 0, const char * name = "WellenreiterConfigWindow", WFlags f = 0 ); | 42 | WellenreiterConfigWindow( QWidget * parent = 0, const char * name = "WellenreiterConfigWindow", WFlags f = 0 ); |
43 | ~WellenreiterConfigWindow(); | 43 | ~WellenreiterConfigWindow(); |
44 | 44 | ||
45 | int driverType() const; | 45 | int driverType() const; |
46 | const QString soundOnNetwork() const { return "";/*netSound->currentText();*/ }; | 46 | const QString soundOnNetwork() const { return "";/*netSound->currentText();*/ }; |
47 | const QString soundOnBeacon() const { return "";/*beaconSound->currentText();*/ }; | 47 | const QString soundOnBeacon() const { return "";/*beaconSound->currentText();*/ }; |
48 | static WellenreiterConfigWindow* instance() { return _instance; }; | 48 | static WellenreiterConfigWindow* instance() { return _instance; }; |
49 | 49 | ||
50 | int hoppingInterval() const; | 50 | int hoppingInterval() const; |
51 | bool usePrismHeader() const; | 51 | bool usePrismHeader() const; |
52 | bool isChannelChecked( int ) const; | 52 | bool isChannelChecked( int ) const; |
53 | 53 | ||
54 | bool useGPS() const; | 54 | bool useGPS() const; |
55 | const QString gpsHost() const; | 55 | const QString gpsHost() const; |
56 | int gpsPort() const; | 56 | int gpsPort() const; |
57 | 57 | ||
58 | void save(); | 58 | void save(); |
59 | void load(); | 59 | void load(); |
60 | 60 | ||
61 | int hexViewBuffer() const; | ||
62 | |||
61 | public slots: | 63 | public slots: |
62 | void changedDeviceType(int); | 64 | void changedDeviceType(int); |
63 | void changedNetworkAction(int t); | 65 | void changedNetworkAction(int t); |
64 | void changedClientAction(int t); | 66 | void changedClientAction(int t); |
65 | void changedStationAction(int t); | 67 | void changedStationAction(int t); |
66 | void getCaptureFileNameClicked(); | 68 | void getCaptureFileNameClicked(); |
67 | void performAutodetection(); | 69 | void performAutodetection(); |
68 | void channelAllClicked(int); | 70 | void channelAllClicked(int); |
69 | void performAction( const QString&, const QString&, const QString&, bool, int, int /* , const GpsLocation& */ ); | 71 | void performAction( const QString&, const QString&, const QString&, bool, int, int /* , const GpsLocation& */ ); |
70 | 72 | ||
71 | protected slots: | 73 | protected slots: |
72 | void synchronizeActionsAndScripts(); | 74 | void synchronizeActionsAndScripts(); |
73 | virtual void accept(); | 75 | virtual void accept(); |
74 | 76 | ||
75 | protected: | 77 | protected: |
76 | QMap<QString, int> _devicetype; | 78 | QMap<QString, int> _devicetype; |
77 | static WellenreiterConfigWindow* _instance; | 79 | static WellenreiterConfigWindow* _instance; |
78 | int _guess; | 80 | int _guess; |
79 | 81 | ||
80 | }; | 82 | }; |
81 | 83 | ||
82 | #endif | 84 | #endif |
diff --git a/noncore/net/wellenreiter/gui/packetview.cpp b/noncore/net/wellenreiter/gui/packetview.cpp index 4df01da..f0f16ff 100644 --- a/noncore/net/wellenreiter/gui/packetview.cpp +++ b/noncore/net/wellenreiter/gui/packetview.cpp | |||
@@ -1,121 +1,151 @@ | |||
1 | /********************************************************************** | 1 | /********************************************************************** |
2 | ** Copyright (C) 2002-2004 Michael 'Mickey' Lauer. All rights reserved. | 2 | ** Copyright (C) 2002-2004 Michael 'Mickey' Lauer. All rights reserved. |
3 | ** | 3 | ** |
4 | ** This file is part of Wellenreiter II. | 4 | ** This file is part of Wellenreiter II. |
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 "packetview.h" | 16 | #include "packetview.h" |
17 | 17 | ||
18 | /* OPIE */ | 18 | /* OPIE */ |
19 | #include <opie2/opcap.h> | 19 | #include <opie2/opcap.h> |
20 | #include <opie2/odebug.h> | 20 | #include <opie2/odebug.h> |
21 | #include <opie2/olistview.h> | 21 | #include <opie2/olistview.h> |
22 | #include <opie2/oapplication.h> | ||
22 | 23 | ||
23 | /* QT */ | 24 | /* QT */ |
24 | #include <qfont.h> | 25 | #include <qfont.h> |
25 | #include <qlabel.h> | 26 | #include <qlabel.h> |
26 | #include <qlayout.h> | 27 | #include <qlayout.h> |
27 | #include <qlist.h> | 28 | #include <qlist.h> |
28 | #include <qlistview.h> | 29 | #include <qlistview.h> |
29 | #include <qobjectlist.h> | 30 | #include <qobjectlist.h> |
30 | #include <qspinbox.h> | 31 | #include <qspinbox.h> |
31 | #include <qtextview.h> | 32 | #include <qtextview.h> |
32 | 33 | ||
33 | using namespace Opie::Net; | 34 | using namespace Opie::Net; |
34 | using namespace Opie::Core; | 35 | using namespace Opie::Core; |
35 | using namespace Opie::Ui; | 36 | using namespace Opie::Ui; |
36 | 37 | ||
37 | PacketView::PacketView( QWidget * parent, const char * name, WFlags f ) | 38 | PacketView::PacketView( QWidget * parent, const char * name, WFlags f ) |
38 | :QFrame( parent, name, f ) | 39 | :QFrame( parent, name, f ) |
39 | { | 40 | { |
40 | _number = new QSpinBox( this ); | 41 | _number = new QSpinBox( this ); |
41 | _number->setPrefix( "Packet # " ); | 42 | _number->setPrefix( "Pkt# " ); |
42 | _label = new QLabel( this ); | 43 | _label = new QLabel( this ); |
43 | _label->setText( "eth0 2004/03/08 - 00:00:21" ); | ||
44 | |||
45 | _list = new OListView( this ); | 44 | _list = new OListView( this ); |
46 | _list->addColumn( "#" ); | 45 | _list->addColumn( "#" ); |
47 | _list->addColumn( "Packet Type" ); | 46 | _list->addColumn( "Packet Type" ); |
48 | _list->setColumnAlignment( 0, Qt::AlignCenter ); | 47 | _list->setColumnAlignment( 0, Qt::AlignCenter ); |
49 | _list->setColumnAlignment( 1, Qt::AlignLeft ); | 48 | _list->setColumnAlignment( 1, Qt::AlignLeft ); |
50 | _list->setAllColumnsShowFocus( true ); | 49 | _list->setAllColumnsShowFocus( true ); |
51 | _list->setFont( QFont( "Fixed", 8 ) ); | 50 | _list->setFont( QFont( "Fixed", 8 ) ); |
52 | 51 | ||
53 | _hex = new QTextView( this ); | 52 | _hex = new QTextView( this ); |
53 | _hex->setMargin( 0 ); | ||
54 | _hex->setFont( QFont( "Fixed", 8 ) ); | 54 | _hex->setFont( QFont( "Fixed", 8 ) ); |
55 | 55 | ||
56 | QVBoxLayout* vb = new QVBoxLayout( this, 2, 2 ); | 56 | QVBoxLayout* vb = new QVBoxLayout( this, 2, 2 ); |
57 | QHBoxLayout* hb = new QHBoxLayout( vb, 2 ); | 57 | QHBoxLayout* hb = new QHBoxLayout( vb, 2 ); |
58 | hb->addWidget( _label ); | 58 | hb->addWidget( _label, 5 ); |
59 | hb->addWidget( _number ); | 59 | hb->addWidget( _number, 2 ); |
60 | vb->addWidget( _list ); | 60 | vb->addWidget( _list, 3 ); |
61 | vb->addWidget( _hex ); | 61 | vb->addWidget( _hex, 4 ); // allow a bit (4/3) more space |
62 | 62 | ||
63 | _packets.setAutoDelete( true ); | 63 | _packets.setAutoDelete( true ); |
64 | 64 | ||
65 | connect( _number, SIGNAL( valueChanged( int ) ), this, SLOT( showPacket( int ) ) ); | 65 | connect( _number, SIGNAL( valueChanged( int ) ), this, SLOT( showPacket( int ) ) ); |
66 | connect( parent, SIGNAL( currentChanged( QWidget *) ), this, SLOT( activated( QWidget* ) ) ); | ||
67 | |||
68 | clear(); | ||
69 | |||
66 | } | 70 | } |
67 | 71 | ||
68 | void PacketView::add( const OPacket* p ) | 72 | void PacketView::add( const OPacket* p, int size ) |
73 | { | ||
74 | odebug << "PacketView::add() size = " << size << oendl; | ||
75 | if ( size == -1 ) // unlimited buffer | ||
76 | { | ||
77 | _packets.append( p ); | ||
78 | } | ||
79 | else | ||
80 | // limited buffer, limit = size | ||
81 | if ( _packets.count() < size ) | ||
69 | { | 82 | { |
70 | _packets.append( p ); | 83 | _packets.append( p ); |
71 | // Add Circular Buffer and check for number of elements here | 84 | } |
85 | |||
86 | _number->setMinValue( 1 ); | ||
87 | _number->setMaxValue( _packets.count() ); | ||
88 | _number->setValue( _packets.count() ); | ||
72 | } | 89 | } |
73 | 90 | ||
74 | void PacketView::showPacket( int number ) | 91 | void PacketView::showPacket( int number ) |
75 | { | 92 | { |
76 | _list->clear(); | 93 | _list->clear(); |
77 | _hex->setText(""); | 94 | _hex->setText(""); |
78 | const OPacket* p = _packets.at( number ); | 95 | const OPacket* p = _packets.at( number-1 ); |
79 | 96 | ||
80 | if ( p ) | 97 | if ( p ) |
81 | { | 98 | { |
82 | _doSubPackets( const_cast<QObjectList*>( p->children() ), 0 ); | 99 | _doSubPackets( const_cast<QObjectList*>( p->children() ), 0 ); |
83 | _doHexPacket( p ); | 100 | _doHexPacket( p ); |
101 | QDateTime dt; dt.setTime_t( p->timeval().tv_sec ); | ||
102 | _label->setText( dt.toString() + QString().sprintf( " Len=%d", p->len() ) ); | ||
84 | } | 103 | } |
85 | else | 104 | else |
86 | { | 105 | { |
87 | odebug << "D'oh! No packet!" << oendl; | 106 | odebug << "D'oh! No packet!" << oendl; |
88 | } | 107 | } |
89 | } | 108 | } |
90 | 109 | ||
110 | void PacketView::activated( QWidget* w ) | ||
111 | { | ||
112 | if ( ( this == w ) && _packets.count() ) | ||
113 | { | ||
114 | _number->setValue( 1 ); | ||
115 | } | ||
116 | } | ||
117 | |||
91 | void PacketView::_doSubPackets( QObjectList* l, int counter ) | 118 | void PacketView::_doSubPackets( QObjectList* l, int counter ) |
92 | { | 119 | { |
93 | if (!l) return; | 120 | if (!l) return; |
94 | QObject* o = l->first(); | 121 | QObject* o = l->first(); |
95 | while ( o ) | 122 | while ( o ) |
96 | { | 123 | { |
97 | new OListViewItem( _list, QString::number( counter++ ), o->name() ); | 124 | new OListViewItem( _list, QString::number( counter++ ), o->name() ); |
98 | _doSubPackets( const_cast<QObjectList*>( o->children() ), counter ); | 125 | _doSubPackets( const_cast<QObjectList*>( o->children() ), counter ); |
99 | o = l->next(); | 126 | o = l->next(); |
100 | } | 127 | } |
101 | } | 128 | } |
102 | 129 | ||
103 | void PacketView::_doHexPacket( const OPacket* p ) | 130 | void PacketView::_doHexPacket( const OPacket* p ) |
104 | { | 131 | { |
132 | if ( oApp->desktop()->width() > 320 ) | ||
105 | _hex->setText( p->dump( 16 ) ); | 133 | _hex->setText( p->dump( 16 ) ); |
134 | else | ||
135 | _hex->setText( p->dump( 8 ) ); | ||
106 | } | 136 | } |
107 | 137 | ||
108 | const QString PacketView::getLog() const | 138 | const QString PacketView::getLog() const |
109 | { | 139 | { |
110 | } | 140 | } |
111 | 141 | ||
112 | void PacketView::clear() | 142 | void PacketView::clear() |
113 | { | 143 | { |
114 | _packets.clear(); | 144 | _packets.clear(); |
115 | _number->setMinValue( 0 ); | 145 | _number->setMinValue( 0 ); |
116 | _number->setMaxValue( 0 ); | 146 | _number->setMaxValue( 0 ); |
117 | _label->setText( "---" ); | 147 | _label->setText( "---" ); |
118 | _list->clear(); | 148 | _list->clear(); |
119 | _hex->setText( " <i>-- no Packet available --</i> " ); | 149 | _hex->setText( " <center><i>-- no Packet available --</i></center> " ); |
120 | } | 150 | } |
121 | 151 | ||
diff --git a/noncore/net/wellenreiter/gui/packetview.h b/noncore/net/wellenreiter/gui/packetview.h index 42e8f5d..bb366c5 100644 --- a/noncore/net/wellenreiter/gui/packetview.h +++ b/noncore/net/wellenreiter/gui/packetview.h | |||
@@ -1,60 +1,62 @@ | |||
1 | /********************************************************************** | 1 | /********************************************************************** |
2 | ** Copyright (C) 2002-2004 Michael 'Mickey' Lauer. All rights reserved. | 2 | ** Copyright (C) 2002-2004 Michael 'Mickey' Lauer. All rights reserved. |
3 | ** | 3 | ** |
4 | ** This file is part of Wellenreiter II. | 4 | ** This file is part of Wellenreiter II. |
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 | #ifndef PACKETVIEW_H | 16 | #ifndef PACKETVIEW_H |
17 | #define PACKETVIEW_H | 17 | #define PACKETVIEW_H |
18 | 18 | ||
19 | #include <qlist.h> | 19 | #include <qlist.h> |
20 | #include <qframe.h> | 20 | #include <qframe.h> |
21 | 21 | ||
22 | #include <opie2/opcap.h> | 22 | #include <opie2/opcap.h> |
23 | 23 | ||
24 | class QWidget; | ||
24 | class QLabel; | 25 | class QLabel; |
25 | class QString; | 26 | class QString; |
26 | class QSpinBox; | 27 | class QSpinBox; |
27 | class QTextView; | 28 | class QTextView; |
28 | class QObjectList; | 29 | class QObjectList; |
29 | namespace Opie {namespace Net {class OPacket;}} | 30 | namespace Opie {namespace Net {class OPacket;}} |
30 | namespace Opie {namespace Ui {class OListView;}} | 31 | namespace Opie {namespace Ui {class OListView;}} |
31 | 32 | ||
32 | class PacketView: public QFrame | 33 | class PacketView: public QFrame |
33 | { | 34 | { |
34 | Q_OBJECT | 35 | Q_OBJECT |
35 | 36 | ||
36 | public: | 37 | public: |
37 | PacketView( QWidget * parent = 0, const char * name = "PacketView", WFlags f = 0 ); | 38 | PacketView( QWidget * parent = 0, const char * name = "PacketView", WFlags f = 0 ); |
38 | 39 | ||
39 | void add( const Opie::Net::OPacket* p ); | 40 | void add( const Opie::Net::OPacket* p, int size ); |
40 | const QString getLog() const; | 41 | const QString getLog() const; |
41 | void clear(); | 42 | void clear(); |
42 | 43 | ||
43 | public slots: | 44 | public slots: |
44 | void showPacket( int number ); | 45 | void showPacket( int number ); |
46 | void activated( QWidget* ); | ||
45 | 47 | ||
46 | protected: | 48 | protected: |
47 | QSpinBox* _number; | 49 | QSpinBox* _number; |
48 | QLabel* _label; | 50 | QLabel* _label; |
49 | Opie::Ui::OListView* _list; | 51 | Opie::Ui::OListView* _list; |
50 | QTextView* _hex; | 52 | QTextView* _hex; |
51 | QList<const Opie::Net::OPacket> _packets; | 53 | QList<const Opie::Net::OPacket> _packets; |
52 | 54 | ||
53 | protected: | 55 | protected: |
54 | void _doSubPackets( QObjectList*, int ); | 56 | void _doSubPackets( QObjectList*, int ); |
55 | void _doHexPacket( const Opie::Net::OPacket* ); | 57 | void _doHexPacket( const Opie::Net::OPacket* ); |
56 | 58 | ||
57 | }; | 59 | }; |
58 | 60 | ||
59 | #endif | 61 | #endif |
60 | 62 | ||
diff --git a/noncore/net/wellenreiter/gui/wellenreiter.cpp b/noncore/net/wellenreiter/gui/wellenreiter.cpp index 12b3978..fe8f22d 100644 --- a/noncore/net/wellenreiter/gui/wellenreiter.cpp +++ b/noncore/net/wellenreiter/gui/wellenreiter.cpp | |||
@@ -392,49 +392,49 @@ bool Wellenreiter::checkDumpPacket( OPacket* p ) | |||
392 | { | 392 | { |
393 | QString name = it.current()->name(); | 393 | QString name = it.current()->name(); |
394 | if ( configwindow->capturePackets->isProtocolChecked( name ) ) | 394 | if ( configwindow->capturePackets->isProtocolChecked( name ) ) |
395 | { | 395 | { |
396 | QString action = configwindow->capturePackets->protocolAction( name ); | 396 | QString action = configwindow->capturePackets->protocolAction( name ); |
397 | odebug << "capturePackets-action for '" << (const char*) name << "' seems to be '" << action << "'" << oendl; | 397 | odebug << "capturePackets-action for '" << (const char*) name << "' seems to be '" << action << "'" << oendl; |
398 | if ( action == "Discard" ) | 398 | if ( action == "Discard" ) |
399 | { | 399 | { |
400 | logwindow->log( QString().sprintf( "(i) dump-discarding of '%s' packet requested.", (const char*) name ) ); | 400 | logwindow->log( QString().sprintf( "(i) dump-discarding of '%s' packet requested.", (const char*) name ) ); |
401 | return false; | 401 | return false; |
402 | } | 402 | } |
403 | } | 403 | } |
404 | else | 404 | else |
405 | { | 405 | { |
406 | odebug << "protocol '" << name << "' not checked in capturePackets." << oendl; | 406 | odebug << "protocol '" << name << "' not checked in capturePackets." << oendl; |
407 | } | 407 | } |
408 | ++it; | 408 | ++it; |
409 | } | 409 | } |
410 | return true; | 410 | return true; |
411 | } | 411 | } |
412 | 412 | ||
413 | 413 | ||
414 | void Wellenreiter::receivePacket( OPacket* p ) | 414 | void Wellenreiter::receivePacket( OPacket* p ) |
415 | { | 415 | { |
416 | hexWindow()->add( p ); | 416 | hexWindow()->add( p, configwindow->hexViewBuffer() ); |
417 | 417 | ||
418 | if ( checkDumpPacket( p ) ) | 418 | if ( checkDumpPacket( p ) ) |
419 | { | 419 | { |
420 | pcap->dump( p ); | 420 | pcap->dump( p ); |
421 | } | 421 | } |
422 | 422 | ||
423 | // check for a management frame | 423 | // check for a management frame |
424 | OWaveLanManagementPacket* manage = static_cast<OWaveLanManagementPacket*>( childIfToParse( p, "802.11 Management" ) ); | 424 | OWaveLanManagementPacket* manage = static_cast<OWaveLanManagementPacket*>( childIfToParse( p, "802.11 Management" ) ); |
425 | if ( manage ) | 425 | if ( manage ) |
426 | { | 426 | { |
427 | handleManagementFrame( p, manage ); | 427 | handleManagementFrame( p, manage ); |
428 | return; | 428 | return; |
429 | } | 429 | } |
430 | 430 | ||
431 | // check for a control frame | 431 | // check for a control frame |
432 | OWaveLanControlPacket* control = static_cast<OWaveLanControlPacket*>( childIfToParse( p, "802.11 Control" ) ); | 432 | OWaveLanControlPacket* control = static_cast<OWaveLanControlPacket*>( childIfToParse( p, "802.11 Control" ) ); |
433 | if ( control ) | 433 | if ( control ) |
434 | { | 434 | { |
435 | handleControlFrame( p, control ); | 435 | handleControlFrame( p, control ); |
436 | return; | 436 | return; |
437 | } | 437 | } |
438 | 438 | ||
439 | OMacAddress source; | 439 | OMacAddress source; |
440 | OMacAddress dest; | 440 | OMacAddress dest; |