summaryrefslogtreecommitdiff
path: root/noncore/net/wellenreiter/gui/packetview.cpp
authormickeyl <mickeyl>2004-08-24 11:53:43 (UTC)
committer mickeyl <mickeyl>2004-08-24 11:53:43 (UTC)
commitb06390cb17114692a9fd5233d77620b385252480 (patch) (side-by-side diff)
tree91de2ed5b0eb6ed739eb6bd0126e2ad004d6a9bd /noncore/net/wellenreiter/gui/packetview.cpp
parent94611edc1942717faa15861adef25418e40ea626 (diff)
downloadopie-b06390cb17114692a9fd5233d77620b385252480.zip
opie-b06390cb17114692a9fd5233d77620b385252480.tar.gz
opie-b06390cb17114692a9fd5233d77620b385252480.tar.bz2
apply megapatch courtesy Holger 'Zecke' Freyther:
- bump version to 1.0.3-cvs - fix compile warnings - fix PacketViewer not to scroll, when watching in "real time" - fix appending text to log view - update statistics when tab is getting activated
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
@@ -68,29 +68,40 @@ PacketView::PacketView( QWidget * parent, const char * name, WFlags f )
clear();
}
void PacketView::add( const OPacket* p, int size )
{
+ /*
+ * don't scroll away when somebody views packages
+ * while scanning
+ */
+ int value = _number->value();
+ bool last = (value == static_cast<int>( _packets.count() ) );
+
odebug << "PacketView::add() size = " << size << oendl;
if ( size == -1 ) // unlimited buffer
{
_packets.append( p );
}
else
{ // limited buffer, limit = size
- while ( _packets.count() >= size )
+ while ( _packets.count() >= static_cast<uint>( size ) )
{
_packets.removeFirst();
+ --value;
}
+
+ /* check if we lost our packet */
+ last = ( value < 1 );
_packets.append( p );
}
_number->setMinValue( 1 );
_number->setMaxValue( _packets.count() );
- _number->setValue( _packets.count() );
+ _number->setValue( last ? _packets.count() : value );
}
void PacketView::showPacket( int number )
{
_list->clear();
_hex->setText("");
@@ -136,12 +147,13 @@ void PacketView::_doHexPacket( const OPacket* p )
else
_hex->setText( p->dump( 8 ) );
}
const QString PacketView::getLog() const
{
+ return QString::null;
}
void PacketView::clear()
{
_packets.clear();
_number->setMinValue( 0 );