aboutsummaryrefslogtreecommitdiffstats
path: root/ui/qt/tcp_stream_dialog.h
diff options
context:
space:
mode:
authorKevin Hogan <kwabena@google.com>2016-12-22 13:03:03 -0800
committerAnders Broman <a.broman58@gmail.com>2017-01-04 05:24:30 +0000
commit3fae1366d1041c3591a919ce91aed27f983715a9 (patch)
treeb660c793fbd69bb3687c732f1da609dbb9b53173 /ui/qt/tcp_stream_dialog.h
parent15ad25ecb52ed02d293062be0fa6f08743f461ad (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.h24
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);