Commit Graph

38 Commits

Author SHA1 Message Date
Gerald Combs 67b069e544 Qt: Add address conversion convenience routines
Add address_to_qstring and address_to_display_qstring, which wrap
address_to_string and address_to_display respectively and return
QStrings. Convert most of the instances in ui/qt to the new routines.

Fix a some memory leaks in the process.

Change-Id: Icda80bbfe0b2df723d54c8da84355255f819af89
Reviewed-on: https://code.wireshark.org/review/6848
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-01-29 22:51:43 +00:00
Michael Mann 55de46f317 Replace ep_address_to_str with address_to_str.
Change-Id: I4f1078b20f41800f72a751612703ad0d4c2ae87b
Reviewed-on: https://code.wireshark.org/review/6323
Reviewed-by: Michael Mann <mmann78@netscape.net>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-01-06 07:38:18 +00:00
Gerald Combs 91e4330394 Qt: Convert more dialog titles.
Change-Id: I9c3e3471a92b7af9347a541bece3d9405d37dce0
Reviewed-on: https://code.wireshark.org/review/6193
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-12-31 22:48:17 +00:00
Dario Lombardo 9b7ee18f8b Typos in source code and in README.qt
Change-Id: I5aef31ef7ad604352f6e108835f0e9c2d10cdf8a
Reviewed-on: https://code.wireshark.org/review/4706
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2014-10-15 16:43:14 +00:00
Gerald Combs a5cb72fe9e Add a Qt I/O Graph dialog.
For each graph you can set:
- Its visibility
- A name
- A display filter
- Color, from a fixed list
- Plot style: Line, Impulse, Bar, Stacked Bar, Dot, Square, Diamond
- Basic Y Axes (packets/s, bytes/s, bits/s)
- Computed Y Axes (SUM, MIN, AVG, MAX)
- Smoothing

You can pan and zoom using the mouse and keyboard. Clicking on a graph
selects the last packet for that interval. If all graphs have the same Y
axis a single label is shown, otherwise a legend is shown.

The time scale (X axis) can be toggled between relative seconds and the
time of day.

Graphs can be saved as PDF, PNG, BMP, and JPEG. Settings are "sticky"
via the io_graphs UAT.

To do:
- Minimize graph drawing delays.
- Figure out why smoothing differs from GTK+
- Everything else at the top of io_graph_dialog.cpp
- Fix empty resets.

A fair amount of code was copied from TCPStreamDialog. We might want to
subclass QCustomPlot and place the shared code there.

Move common syntax checking to SyntaxLineEdit.

Move some common code from ui/gtk/io_stat.c to ui/io_graph_item.[ch] and
use it in both GTK+ and Qt.

Make the io_graph_item_t array allocation in io_stat.c static. The
behavior should be identical and this gives us additional compile-time
checks.

Change-Id: I9a3d544469b7048f0761fdbf7bcf20f44ae76577
Reviewed-on: https://code.wireshark.org/review/435
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Tested-by: Gerald Combs <gerald@wireshark.org>
2014-04-07 20:56:42 +00:00
Alexis La Goutte 296591399f Remove all $Id$ from top of file
(Using sed : sed -i '/^ \* \$Id\$/,+1 d')

Fix manually some typo (in export_object_dicom.c and crc16-plain.c)

Change-Id: I4c1ae68d1c4afeace8cb195b53c715cf9e1227a8
Reviewed-on: https://code.wireshark.org/review/497
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-03-04 14:27:33 +00:00
Gerald Combs 79ef36a5f0 Fix some scan-build warnings.
Fix a modeline while we're at it.

Change-Id: Ief6d5edbe33456170059cfab4f436f0844de32a1
Reviewed-on: https://code.wireshark.org/review/440
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-03-01 19:15:38 +00:00
Alexis La Goutte 7bd14675b2 Fix Called C++ object pointer is null found by Clang
Change-Id: I2263b4ac16945be6d87eaa8c963f7b03e437d724
Reviewed-on: https://code.wireshark.org/review/319
Reviewed-by: Evan Huus <eapache@gmail.com>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2014-02-24 17:47:19 +00:00
Gerald Combs fc93c3a7c0 Sequence / flow diagram updates.
Add "Save As..." Add a context menu and keyboard shortcuts. Add a
tooltip.

svn path=/trunk/; revision=53263
2013-11-12 01:08:08 +00:00
Gerald Combs 7a2de9f471 More sequence dialog updates.
Draw item labels and port numbers.  Update the hint text. Make items
selectable.  Resize fonts similar to the GTK+ version.  Add scrollbars.
Update the cursor.  Use pango_layout_set_ellipsize() in the GTK+ code.
Fixup comments.

svn path=/trunk/; revision=52855
2013-10-25 23:16:56 +00:00
Gerald Combs 1a4033b63b Initial and woefully incomplete flow graph support.
Copy common code from ui/gtk/flow_graph.c and ui/gtk/graph_analysis.[ch]
to ui/tap-sequence-analysis.[ch]. Start using the name "sequence" in
places.

svn path=/trunk/; revision=52824
2013-10-24 22:52:30 +00:00
Gerald Combs 945901af70 address_equal → addresses_equal. Switch from address macros to functions
in the Qt code.

svn path=/trunk/; revision=52108
2013-09-16 21:33:26 +00:00
Gerald Combs f36c727fb0 Add stream information to the hint label. Update our hint more often.
Add a "to do" list.

svn path=/trunk/; revision=52102
2013-09-16 17:28:42 +00:00
Gerald Combs 29b63a71e6 Make sure we don't tap our packets twice. Give the graph has focus after
we redraw it.

svn path=/trunk/; revision=52095
2013-09-16 02:04:52 +00:00
Gerald Combs 0f6baaa805 Fix graph type selection.
svn path=/trunk/; revision=52094
2013-09-16 01:19:14 +00:00
Gerald Combs 6b251c7219 Another attempt at axis scaling. Tweak the appearance a little.
svn path=/trunk/; revision=52093
2013-09-16 00:50:23 +00:00
Gerald Combs 98479b0b17 When caclulating throughput, only subtract what we've added. Try to fix
axis scaling.

svn path=/trunk/; revision=52092
2013-09-15 23:55:51 +00:00
Gerald Combs dd88e1ab26 Make sure the RTT behavior matches the GTK+ port. Make sure we properly
select a graph type.

svn path=/trunk/; revision=52083
2013-09-15 20:44:57 +00:00
Gerald Combs 7b03b59598 Mis-use error bars to draw segments.
svn path=/trunk/; revision=52029
2013-09-13 23:34:34 +00:00
Gerald Combs 7f92257af8 More TCP stream graph updates.
Scan our segment list (and the capture file) once per stream. Switch the
stream selection control to a QSpinBox. Add graph type selection
actions. The context menu + shortcuts should now be complete. Add the
intitial tcptrace graph. Only ACKs and RWINs so far. A bunch of other
updates and fixes.

svn path=/trunk/; revision=52027
2013-09-13 22:29:05 +00:00
Gerald Combs 1ad683594d Add a context menu to the TCP stream graph which includes all of our
keyboard shortcuts.

svn path=/trunk/; revision=51996
2013-09-12 23:46:56 +00:00
Jörg Mayer 2e9cd19c9c == has higher precedence than &
http://en.wikipedia.org/wiki/Operators_in_C_and_C++

svn path=/trunk/; revision=51990
2013-09-12 21:53:53 +00:00
Gerald Combs 07c3d057b8 Add previous/next stream navigation to the TCP stream graph dialog.
Add get_tcp_stream_count() to the TCP dissector and modify
graph_segment_list_get() to allow matching based solely on a stream.

Use text instead of icons for the mouse click behavior buttons. Remove
their PNG resources since we aren't using them any more. Fix setting the
cursor in the graph widget.

svn path=/trunk/; revision=51989
2013-09-12 21:37:47 +00:00
Gerald Combs 829c1ed25e Add the TCP window scaling graph. Add zoom selections.
Rename some methods. Add the ability to toggle time and sequence number
origins. Add more keyboard shortcuts. Comment out abs_secs abs_usecs in
the segment struct since it looks like we aren't using them. Make sure
we stay in the same TCP stream.

svn path=/trunk/; revision=51856
2013-09-09 01:40:06 +00:00
Evan Huus 720935ca04 Fix "seq_base could be used unitialized" warning. We should probably enable
-Werror for the qt code...

svn path=/trunk/; revision=51839
2013-09-08 15:05:08 +00:00
Gerald Combs abdac5bfac Add the TCP RTT graph.
Show the time values in ms instead of s. Add a button and keyboard
shortcut to switch the connection direction. Move more code to
tap-tcp-stream.c. Update our axis labels.

svn path=/trunk/; revision=51832
2013-09-08 01:25:27 +00:00
Gerald Combs 2dca89e7a3 Only add data points to the throughput graph if our time window has
advanced. Add a reset button.

svn path=/trunk/; revision=51811
2013-09-07 03:51:27 +00:00
Gerald Combs f9a9753d01 Fix PacketList::goToPacket work correctly. Minor screen graph
improvements.

svn path=/trunk/; revision=51808
2013-09-07 00:33:41 +00:00
Gerald Combs 297d1994f8 Switch from a 20 segment moving average to a 1 second MA. Add a #define
to allow switching back to the old behavior.

Note that goToPacket can jump to the wrong packet if we have a display
filter applied.

svn path=/trunk/; revision=51801
2013-09-06 19:07:57 +00:00
Gerald Combs df6f3412dd Adjust titles and labels.
svn path=/trunk/; revision=51797
2013-09-06 02:00:14 +00:00
Gerald Combs 29e03fe9d6 Make graph movement pixel-based to match the GTK+ version.
svn path=/trunk/; revision=51796
2013-09-06 00:48:21 +00:00
Gerald Combs 6003d3b2f6 Throughput graph usability updates.
Make the stream graph dialog modeless and let the user open multiple
instances. The dangling dialog behaves similar to the GTK+ version. Add
a setDissectedCaptureFile signal to MainWindow (currently unused).
Properly transform yAxis2 and simplify resetAxes while we're at it.
Other bug fixes.

svn path=/trunk/; revision=51795
2013-09-06 00:41:07 +00:00
Gerald Combs 03fd39d7f0 Throughput graph updates.
GTK+: Fix what appears to be an off-by-one error in the MA period (21
segments instead of 20). Throw away our initial segment length instead
of subtracting it from the moving sum, which skews the sum.

Qt: Add the througput graph. Use bits/s for the throughput y axis. Let
the user switch between graph types. The dialog hangs when doing this. I
haven't been able to track down the cause. Remove some unused code.

Both: Tell the user that we're using a 20 segment moving average. Move
more routines to tap-tcp-stream.[ch].

svn path=/trunk/; revision=51759
2013-09-04 23:15:59 +00:00
Gerald Combs 01f7a0425b Implement "Save As..." in the TCP stream graph dialog. We currently
support PDF, PNG, BMP, and JPEG.

svn path=/trunk/; revision=51607
2013-08-30 23:01:03 +00:00
Gerald Combs 1d27c70838 Add an item tracer to the TCP stream graph. Enable packet selection.
QCustomPlot data sets are made up of keys (x axis by default) and values
(y axis). It looks like we can have multiple values for a given key
(i.e. we can show multiple sequence numbers for a given timestamp) but
QCPItemTracers can only be positioned by a key and not a key+value pair.
This makes our graph selection behavior a bit different compared to the
GTK+ version. We can only select one segment for a give timestamp but
our selection targets are much larger (the height of the graph).

Add a map for segment data so we don't have to iterate to find them. Use
UTF8_RIGHTWARDS_ARROW where appropriate. Set a window title. Tell the
user what will happen if he or she clicks. Disable graph selection.

svn path=/trunk/; revision=51604
2013-08-30 21:15:24 +00:00
Gerald Combs 25392c73f4 Let the QCustomPlot widget have focus.
svn path=/trunk/; revision=51555
2013-08-28 00:23:01 +00:00
Gerald Combs 66b8223688 Add initial mouse and keyboard controls. QCustomPlot uses different
mouse interactions than the GTK+ version, but they seem to match modern
UI conventions better. The keyboard shortcuts have been changed to match
modern UI conventions as well, but I'll try to support the old shortcuts
as much as possible.

svn path=/trunk/; revision=51554
2013-08-27 23:28:35 +00:00
Gerald Combs 6d731a3e79 Add TCP sequence number (Stevens-style) graphs.
Add the QCustomPlot widget. Thanks to Emanuel Eichhammer for granting a
license change. Move some common code from ui/gtk/tcp_graph.c to
ui/tap-tcp-stream.[ch]. Get rid of tcp_graph_selected_packet_enabled().
It was only used in the menu code and didn't match what we were doing
elsewhere.

Still quite a bit of work to do but it's a promising start.

svn path=/trunk/; revision=51538
2013-08-27 18:13:20 +00:00