-rw-r--r-- | noncore/net/wellenreiter/gui/configwindow.cpp | 27 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/configwindow.h | 2 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/packetview.cpp | 68 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/packetview.h | 12 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/wellenreiter.cpp | 2 |
5 files changed, 76 insertions, 35 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 @@ -39,5 +39,6 @@ using namespace Opie::Net; #include <qpushbutton.h> +#include <qradiobutton.h> +#include <qspinbox.h> #include <qtabwidget.h> #include <qtoolbutton.h> -#include <qspinbox.h> #include <qtextstream.h> @@ -114,3 +115,3 @@ void WellenreiterConfigWindow::performAutodetection() - odebug << "WellenreiterConfigWindow::performAutodetection()" << oendl; + odebug << "WellenreiterConfigWindow::performAutodetection()" << oendl; @@ -135,3 +136,3 @@ void WellenreiterConfigWindow::performAutodetection() _guess = devicetype; - odebug << "Wellenreiter: guessed device type to be #" << devicetype << "" << oendl; + odebug << "Wellenreiter: guessed device type to be #" << devicetype << "" << oendl; } @@ -239,3 +240,3 @@ void WellenreiterConfigWindow::getCaptureFileNameClicked() QString name = ( (WellenreiterMainWindow*) qApp->mainWidget() )->getFileName(true); - odebug << "name = " << name << "" << oendl; + odebug << "name = " << name << "" << oendl; if ( !name.isEmpty() ) @@ -314,3 +315,3 @@ void WellenreiterConfigWindow::performAction( const QString& type, { - owarn << "WellenreiterConfigWindow::performAction(): unknown type '" << type << "'" << oendl; + owarn << "WellenreiterConfigWindow::performAction(): unknown type '" << type << "'" << oendl; return; @@ -318,3 +319,3 @@ void WellenreiterConfigWindow::performAction( const QString& type, - odebug << "for event '" << (const char*) type << "' I'm going to perform action " << action << " (script='" << script << "')" << oendl; + odebug << "for event '" << (const char*) type << "' I'm going to perform action " << action << " (script='" << script << "')" << oendl; @@ -343,5 +344,5 @@ void WellenreiterConfigWindow::performAction( const QString& type, - odebug << "going to call script '" << script << "'" << oendl; + odebug << "going to call script '" << script << "'" << oendl; ::system( script ); - odebug << "script returned." << oendl; + odebug << "script returned." << oendl; return; @@ -359,3 +360,3 @@ void WellenreiterConfigWindow::load() #else - odebug << "loading configuration settings..." << oendl; + odebug << "loading configuration settings..." << oendl; @@ -437,3 +438,3 @@ void WellenreiterConfigWindow::save() #else - odebug << "saving configuration settings..." << oendl; + odebug << "saving configuration settings..." << oendl; @@ -476 +477,7 @@ void WellenreiterConfigWindow::save() } + + +int WellenreiterConfigWindow::hexViewBuffer() const +{ + return hexViewBufferUnlimited->isChecked() ? -1 : hexViewBufferSize->value(); +} 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 @@ -60,2 +60,4 @@ class WellenreiterConfigWindow : public WellenreiterConfigBase + int hexViewBuffer() const; + public slots: 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 @@ -21,2 +21,3 @@ #include <opie2/olistview.h> +#include <opie2/oapplication.h> @@ -40,6 +41,4 @@ PacketView::PacketView( QWidget * parent, const char * name, WFlags f ) _number = new QSpinBox( this ); - _number->setPrefix( "Packet # " ); + _number->setPrefix( "Pkt# " ); _label = new QLabel( this ); - _label->setText( "eth0 2004/03/08 - 00:00:21" ); - _list = new OListView( this ); @@ -51,4 +50,5 @@ PacketView::PacketView( QWidget * parent, const char * name, WFlags f ) _list->setFont( QFont( "Fixed", 8 ) ); - + _hex = new QTextView( this ); + _hex->setMargin( 0 ); _hex->setFont( QFont( "Fixed", 8 ) ); @@ -57,16 +57,33 @@ PacketView::PacketView( QWidget * parent, const char * name, WFlags f ) QHBoxLayout* hb = new QHBoxLayout( vb, 2 ); - hb->addWidget( _label ); - hb->addWidget( _number ); - vb->addWidget( _list ); - vb->addWidget( _hex ); + hb->addWidget( _label, 5 ); + hb->addWidget( _number, 2 ); + vb->addWidget( _list, 3 ); + vb->addWidget( _hex, 4 ); // allow a bit (4/3) more space _packets.setAutoDelete( true ); - + connect( _number, SIGNAL( valueChanged( int ) ), this, SLOT( showPacket( int ) ) ); + connect( parent, SIGNAL( currentChanged( QWidget *) ), this, SLOT( activated( QWidget* ) ) ); + + clear(); + } -void PacketView::add( const OPacket* p ) +void PacketView::add( const OPacket* p, int size ) { - _packets.append( p ); - // Add Circular Buffer and check for number of elements here + odebug << "PacketView::add() size = " << size << oendl; + if ( size == -1 ) // unlimited buffer + { + _packets.append( p ); + } + else + // limited buffer, limit = size + if ( _packets.count() < size ) + { + _packets.append( p ); + } + + _number->setMinValue( 1 ); + _number->setMaxValue( _packets.count() ); + _number->setValue( _packets.count() ); } @@ -77,4 +94,4 @@ void PacketView::showPacket( int number ) _hex->setText(""); - const OPacket* p = _packets.at( number ); - + const OPacket* p = _packets.at( number-1 ); + if ( p ) @@ -83,2 +100,4 @@ void PacketView::showPacket( int number ) _doHexPacket( p ); + QDateTime dt; dt.setTime_t( p->timeval().tv_sec ); + _label->setText( dt.toString() + QString().sprintf( " Len=%d", p->len() ) ); } @@ -86,3 +105,11 @@ void PacketView::showPacket( int number ) { - odebug << "D'oh! No packet!" << oendl; + odebug << "D'oh! No packet!" << oendl; + } +} + +void PacketView::activated( QWidget* w ) +{ + if ( ( this == w ) && _packets.count() ) + { + _number->setValue( 1 ); } @@ -100,7 +127,10 @@ void PacketView::_doSubPackets( QObjectList* l, int counter ) } -} +} void PacketView::_doHexPacket( const OPacket* p ) -{ - _hex->setText( p->dump( 16 ) ); +{ + if ( oApp->desktop()->width() > 320 ) + _hex->setText( p->dump( 16 ) ); + else + _hex->setText( p->dump( 8 ) ); } @@ -118,3 +148,3 @@ void PacketView::clear() _list->clear(); - _hex->setText( " <i>-- no Packet available --</i> " ); + _hex->setText( " <center><i>-- no Packet available --</i></center> " ); } 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 @@ -23,2 +23,3 @@ +class QWidget; class QLabel; @@ -33,4 +34,4 @@ class PacketView: public QFrame { - Q_OBJECT - + Q_OBJECT + public: @@ -38,8 +39,9 @@ class PacketView: public QFrame - void add( const Opie::Net::OPacket* p ); + void add( const Opie::Net::OPacket* p, int size ); const QString getLog() const; void clear(); - + public slots: void showPacket( int number ); + void activated( QWidget* ); @@ -51,3 +53,3 @@ class PacketView: public QFrame QList<const Opie::Net::OPacket> _packets; - + protected: 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 @@ -415,3 +415,3 @@ void Wellenreiter::receivePacket( OPacket* p ) { - hexWindow()->add( p ); + hexWindow()->add( p, configwindow->hexViewBuffer() ); |