summaryrefslogtreecommitdiff
path: root/noncore/net/wellenreiter/gui/packetview.cpp
Unidiff
Diffstat (limited to 'noncore/net/wellenreiter/gui/packetview.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/packetview.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/noncore/net/wellenreiter/gui/packetview.cpp b/noncore/net/wellenreiter/gui/packetview.cpp
index 69438fa..d71111f 100644
--- a/noncore/net/wellenreiter/gui/packetview.cpp
+++ b/noncore/net/wellenreiter/gui/packetview.cpp
@@ -72,4 +72,11 @@ PacketView::PacketView( QWidget * parent, const char * name, WFlags f )
72void PacketView::add( const OPacket* p, int size ) 72void PacketView::add( const OPacket* p, int size )
73{ 73{
74 /*
75 * don't scroll away when somebody views packages
76 * while scanning
77 */
78 int value = _number->value();
79 bool last = (value == static_cast<int>( _packets.count() ) );
80
74 odebug << "PacketView::add() size = " << size << oendl; 81 odebug << "PacketView::add() size = " << size << oendl;
75 if ( size == -1 ) // unlimited buffer 82 if ( size == -1 ) // unlimited buffer
@@ -79,8 +86,12 @@ void PacketView::add( const OPacket* p, int size )
79 else 86 else
80 { // limited buffer, limit = size 87 { // limited buffer, limit = size
81 while ( _packets.count() >= size ) 88 while ( _packets.count() >= static_cast<uint>( size ) )
82 { 89 {
83 _packets.removeFirst(); 90 _packets.removeFirst();
91 --value;
84 } 92 }
93
94 /* check if we lost our packet */
95 last = ( value < 1 );
85 _packets.append( p ); 96 _packets.append( p );
86 } 97 }
@@ -88,5 +99,5 @@ void PacketView::add( const OPacket* p, int size )
88 _number->setMinValue( 1 ); 99 _number->setMinValue( 1 );
89 _number->setMaxValue( _packets.count() ); 100 _number->setMaxValue( _packets.count() );
90 _number->setValue( _packets.count() ); 101 _number->setValue( last ? _packets.count() : value );
91} 102}
92 103
@@ -140,4 +151,5 @@ void PacketView::_doHexPacket( const OPacket* p )
140const QString PacketView::getLog() const 151const QString PacketView::getLog() const
141{ 152{
153 return QString::null;
142} 154}
143 155