From e6428d30a5dc90ed3ec6ca7e1cb3f92c81437cc0 Mon Sep 17 00:00:00 2001 From: mickeyl Date: Wed, 30 Apr 2003 18:50:47 +0000 Subject: - autoscrolling for hex- and logwindow - revamped statistics window --- (limited to 'noncore/net') diff --git a/noncore/net/wellenreiter/README b/noncore/net/wellenreiter/README index 291f1fe..ec621b9 100644 --- a/noncore/net/wellenreiter/README +++ b/noncore/net/wellenreiter/README @@ -2,11 +2,11 @@ /* W e l l e n r e i t e r I I /* =============================== /* -/* Version: ALPHA-2-April +/* Version: April BETA /************************************************************************ ---------------------------------------------------- -Release Notes for Opie-ALPHA Version April 2003 +Release Notes for Opie-Wellenreiter Version BETA April 2003 ---------------------------------------------------- ===================== diff --git a/noncore/net/wellenreiter/gui/hexwindow.cpp b/noncore/net/wellenreiter/gui/hexwindow.cpp index 8b17285..2f011ca 100644 --- a/noncore/net/wellenreiter/gui/hexwindow.cpp +++ b/noncore/net/wellenreiter/gui/hexwindow.cpp @@ -21,16 +21,15 @@ MHexWindow::MHexWindow( QWidget * parent, const char * name, WFlags f ) { ledit = new QMultiLineEdit( this ); ledit->setFont( QFont( "fixed", 10 ) ); - - // FIXME: Set properties( font, read-only, etc...) - + ledit->setReadOnly( true ); }; -void MHexWindow::log( QString text ) +void MHexWindow::log( const QString& text ) { - - ledit->append( text ); - + int col; + int row; + ledit->getCursorPosition( &col, &row ); + ledit->insertAt( text, col, row ); }; const QString MHexWindow::getLog() const diff --git a/noncore/net/wellenreiter/gui/hexwindow.h b/noncore/net/wellenreiter/gui/hexwindow.h index f2f870c..3d4ec0f 100644 --- a/noncore/net/wellenreiter/gui/hexwindow.h +++ b/noncore/net/wellenreiter/gui/hexwindow.h @@ -26,11 +26,11 @@ class MHexWindow: public QVBox public: MHexWindow( QWidget * parent = 0, const char * name = "MHexWindow", WFlags f = 0 ); - - void log( QString text ); + + void log( const QString& text ); const QString getLog() const; void clear(); - + protected: QMultiLineEdit* ledit; diff --git a/noncore/net/wellenreiter/gui/logwindow.cpp b/noncore/net/wellenreiter/gui/logwindow.cpp index 55e2ccb..12f74fd 100644 --- a/noncore/net/wellenreiter/gui/logwindow.cpp +++ b/noncore/net/wellenreiter/gui/logwindow.cpp @@ -21,26 +21,29 @@ MLogWindow::MLogWindow( QWidget * parent, const char * name, WFlags f ) :QVBox( parent, name, f ) { ledit = new QMultiLineEdit( this ); - - // FIXME: Set properties( font, read-only, etc...) - + ledit->setReadOnly( true ); } + void MLogWindow::log( QString text ) { QTime time = QTime::currentTime(); QString line; - line.sprintf( "[%s] %s", (const char*) time.toString(), (const char*) text ); - ledit->append( line ); + line.sprintf( "[%s] %s\n", (const char*) time.toString(), (const char*) text ); + int col; + int row; + ledit->getCursorPosition( &col, &row ); + ledit->insertAt( line, col, row ); qDebug( line ); - } + void MLogWindow::clear() { ledit->clear(); } + const QString MLogWindow::getLog() const { return ledit->text(); diff --git a/noncore/net/wellenreiter/gui/statwindow.cpp b/noncore/net/wellenreiter/gui/statwindow.cpp index 07d34ef..2c8c774 100644 --- a/noncore/net/wellenreiter/gui/statwindow.cpp +++ b/noncore/net/wellenreiter/gui/statwindow.cpp @@ -14,32 +14,30 @@ **********************************************************************/ #include "statwindow.h" -#include +#include MStatWindow::MStatWindow( QWidget * parent, const char * name, WFlags f ) :QVBox( parent, name, f ) { - ledit = new QMultiLineEdit( this ); - ledit->setFont( QFont( "fixed", 10 ) ); - - // FIXME: Set properties( font, read-only, etc...) - + table = new OListView( this ); + table->addColumn( "Protocol" ); + table->addColumn( "Count" ); + table->setItemMargin( 2 ); }; -void MStatWindow::log( QString text ) -{ - - ledit->append( text ); - -}; - -const QString MStatWindow::getLog() const -{ - return ledit->text(); -} -void MStatWindow::clear() +void MStatWindow::updateCounter( const QString& protocol, int counter ) { - ledit->clear(); + QListViewItemIterator it( table ); + for ( ; it.current(); ++it ) + { + if ( it.current()->text( 0 ) == protocol ) + { + it.current()->setText( 1, QString::number( counter ) ); + return; + } + } + + new OListViewItem( table, protocol, QString::number( counter ) ); } diff --git a/noncore/net/wellenreiter/gui/statwindow.h b/noncore/net/wellenreiter/gui/statwindow.h index bbdf777..0ab4b50 100644 --- a/noncore/net/wellenreiter/gui/statwindow.h +++ b/noncore/net/wellenreiter/gui/statwindow.h @@ -19,20 +19,23 @@ #include class QString; -class QMultiLineEdit; +class OListView; class MStatWindow: public QVBox { + Q_OBJECT public: MStatWindow( QWidget * parent = 0, const char * name = "MStatWindow", WFlags f = 0 ); - + void log( QString text ); const QString getLog() const; void clear(); - + + void updateCounter( const QString&, int ); + protected: - QMultiLineEdit* ledit; + OListView* table; }; diff --git a/noncore/net/wellenreiter/gui/wellenreiter.cpp b/noncore/net/wellenreiter/gui/wellenreiter.cpp index 0105e09..5ec9ee4 100644 --- a/noncore/net/wellenreiter/gui/wellenreiter.cpp +++ b/noncore/net/wellenreiter/gui/wellenreiter.cpp @@ -32,6 +32,7 @@ using namespace Opie; #include #include +#include #include #include #include @@ -257,23 +258,8 @@ void Wellenreiter::stopClicked() emit( stoppedSniffing() ); // print out statistics - statwindow->log( "-----------------------------------------" ); - statwindow->log( "- Wellenreiter II Capturing Statistic -" ); - statwindow->log( "-----------------------------------------" ); - statwindow->log( "Packet Type | Receive Count" ); - for( QMap::ConstIterator it = pcap->statistics().begin(); it != pcap->statistics().end(); ++it ) - { - QString left; - left.sprintf( "%s", (const char*) it.key() ); - left = left.leftJustify( 20 ); - left.append( '|' ); - QString right; - right.sprintf( "%d", it.data() ); - right = right.rightJustify( 7 ); - statwindow->log( left + right ); - } - + statwindow->updateCounter( it.key(), it.data() ); } diff --git a/noncore/net/wellenreiter/makedist.sh b/noncore/net/wellenreiter/makedist.sh index 1795ae5..cfb0b16 100755 --- a/noncore/net/wellenreiter/makedist.sh +++ b/noncore/net/wellenreiter/makedist.sh @@ -1,4 +1,4 @@ -VERSION=2-alpha2 +VERSION=2-beta TGZDIR=$PWD -- cgit v0.9.0.2