diff options
author | Kevin Hogan <kwabena@google.com> | 2016-12-22 13:03:03 -0800 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2017-01-04 05:24:30 +0000 |
commit | 3fae1366d1041c3591a919ce91aed27f983715a9 (patch) | |
tree | b660c793fbd69bb3687c732f1da609dbb9b53173 /ui/qt/tcp_stream_dialog.h | |
parent | 15ad25ecb52ed02d293062be0fa6f08743f461ad (diff) |
Qt: add SACK graphs to tcptrace graph
Primarily, this adds visual indication of SACK blocks to tcptrace.
In addition:
- cleaned up focus behavior for graph selector and spinboxes
- added time-delay update to streamNumber spinBox
(similar to behavior of maWindow spinBox)
- changed ACK selection to select only SACKed responses
(rather than all ACKs - SACKs seemed more useful to look at)
Change-Id: I47d9e98d54f14e4955008ecea791b77f805c8ba9
Reviewed-on: https://code.wireshark.org/review/19388
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'ui/qt/tcp_stream_dialog.h')
-rw-r--r-- | ui/qt/tcp_stream_dialog.h | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/ui/qt/tcp_stream_dialog.h b/ui/qt/tcp_stream_dialog.h index 980a3ef4f5..012b865d81 100644 --- a/ui/qt/tcp_stream_dialog.h +++ b/ui/qt/tcp_stream_dialog.h @@ -78,6 +78,8 @@ private: QCPGraph *tput_graph_; QCPGraph *seg_graph_; QCPGraph *ack_graph_; + QCPGraph *sack_graph_; + QCPGraph *sack2_graph_; QCPGraph *rwin_graph_; QCPItemTracer *tracer_; QRectF axis_bounds_; @@ -87,7 +89,24 @@ private: QRubberBand *rubber_band_; QPoint rb_origin_; QMenu ctx_menu_; - QTimer *graph_update_timer_; + + class GraphUpdater { + public: + GraphUpdater(TCPStreamDialog *dialog) : + dialog_(dialog), + graph_update_timer_(NULL), + reset_axes_(false) {} + void triggerUpdate(int timeout, bool reset_axes = false); + void clearPendingUpdate(); + void doUpdate(); + bool hasPendingUpdate() { return graph_update_timer_ != NULL; } + private: + TCPStreamDialog *dialog_; + QTimer *graph_update_timer_; + bool reset_axes_; + }; + friend class GraphUpdater; + GraphUpdater graph_updater_; int num_dsegs_; int num_acks_; @@ -123,9 +142,10 @@ private slots: void on_graphTypeComboBox_currentIndexChanged(int index); void on_resetButton_clicked(); void on_streamNumberSpinBox_valueChanged(int new_stream); + void on_streamNumberSpinBox_editingFinished(); void on_maWindowSizeSpinBox_valueChanged(double new_ma_size); void on_maWindowSizeSpinBox_editingFinished(); - void on_selectAcksCheckBox_stateChanged(int state); + void on_selectSACKsCheckBox_stateChanged(int state); void on_otherDirectionButton_clicked(); void on_dragRadioButton_toggled(bool checked); void on_zoomRadioButton_toggled(bool checked); |