Collect packet numbers when following streams so that we can correlate
text positions with packets. Add a FollowStreamText class so that we can
track mouse events. Add a hint label that shows the packet under the
cursor along with packet counts and the number of "turns".
Add the packet number to the C array dump. Note that dumping to YAML
might be useful for Scapy users.
svn path=/trunk/; revision=53314
Create a new dialog each time the user follows a stream. A lot of the
follow code seems to assume one and only one dialog so there are likely
outstanding bugs.
Don't use the global cfile (should we deprecate its usage?). We want to
move closer to multiple documents, not further away.
Clean up after ourselves. Free our payload list and unlink our temp
file. Make a bunch of gchar*s QStrings. Make sure our destructor gets
called and use it.
Make member variable and method names more consistent.
svn path=/trunk/; revision=53306
Plumb some controls. Adjust dialog layout. Make sure sequence
information is allocated and freed correctly. Remove a debugging
statement.
svn path=/trunk/; revision=53260
subtypes, e.g. Network Monitor version 1 and Network Monitor version 2
are separate "file types", even though they both come from Network
Monitor.
Rename various functions, #defines, and variables appropriately.
svn path=/trunk/; revision=53166
.cap, for example, doesn't refer to a particular file type - a whole
bunch of file types use .cap.
Also offer, in addition to "All Files", "All Capture Files", which
matches all the extensions we know about.
svn path=/trunk/; revision=53156
In the current Qt startup sequence the main window + splash screen is
displayed before the main preferences are loaded which means we can't
immediately apply the correct geometry. For now, use an animation to
morph from the default to the saved geometry after the prefs are loaded.
Get rid of main_do_quit() (Qt) and main_window_exit() (Qt+GTK). It looks
like they were unused.
Add wsApp->isInitialized() and use it to see if we should exit() when
the main window is closed. Otherwise we won't shut the application down
and clean up properly.
svn path=/trunk/; revision=52988
SVN rev 50525 tried to fix out-of-source-tree builds, but did so by
writing the .rcc.cpp files to the source tree. This was noticed when
running `make distcheck`. This patch reverts that behavior, and creates
the image/ directory to fix out-of-tree builds.
In other words, fix things so "make distcheck" with Qt works in out-of-tree
builds too.
svn path=/trunk/; revision=52926
Use integer coordinates for the arrows and text. Add smooth_font_size()
to qt_ui_utils which will hopefully adjust the size on Windows to
something more readable.
svn path=/trunk/; revision=52906
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
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
the C++ stuff.
ui/qt/CMakeLists.txt adds -Wno-shorten-64-to-32 on 64-bit systems but it
doesn't seem necessary on Fedora 18 (64-bit). Leaving it out for now--let's
see what others say...
svn path=/trunk/; revision=52673
not finding it, I finally found it in column_info.h
Renamed column_info.h to column-info.h to have consistency
with the column*h files.
svn path=/trunk/; revision=52667
resizable. Get rid of the group box -- the OS X and Windows HIGs
discourage its use and I'm not sure if it fits the GNOME HIG in this
case either. Make the stream contents monospace. Set the cursor to the
beginning of the text when we follow a stream.
Continue the War On Unnecessary Dialogs. Move "Find"ing from a pop-up
window to the main Follow dialog. Wrap back to the beginning as needed.
Add a "Cancel" button. Make sure it and the escape key work as expected.
svn path=/trunk/; revision=52607
time in order to fill in their respective context menus. R52386 broke
that. Fix it and add comments about handling reparenting. Fixes bug
9265.
svn path=/trunk/; revision=52600
Move the declaration of set_last_open_dir() to ui/util.h. It still
has separate GTK+ and Qt implemenations. We might want to move it to
ui/util.c at some point. Remove a lot of unnecessary GTK+ includes.
Remove most of the references to the global cfile while we're at it.
svn path=/trunk/; revision=52542
Make extra_split_ a member variable again. Make it and master_split_
full-on values. Set various parent/child relationships at startup
so that each widget is associated with a layout (which appears to be
the actual fix).
Make the throttled startup delay huge so that it's easier to browse
using GammaRay.
[1] https://github.com/KDAB/GammaRay
svn path=/trunk/; revision=52386
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
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
follow_stream_dialog.cpp. Remove the ones that we don't use. Use
QMessageBox in place of simple_dialog.
Move IP6OPT_HOME_ADDRESS and related definitions to packet-ipv6.c. It
looks like we only use it there and it conflicts with WinPcap.
Mark some items unused.
svn path=/trunk/; revision=51951
(autotools, CMake, nmake, qmake). Throw something at qmake in the hopes
of letting it use GnuTLS in the "follow SSL stream" code.
svn path=/trunk/; revision=51915
when the paint takes a long time (for very large windows, or on older machines)
that doesn't cause every single event to paint (which slows the whole thing to
a crawl). Drop the splash timer to 15ms, since we're no longer counting paints
this seems like a more appropriate value. The old value of 50ms would causing
the splash to only paint once or twice during startup.
svn path=/trunk/; revision=51914
Add TCP/UDP/SSL Follow feature to QtShark
Known issue :
* Duplicate code with GTK (function need follow_info_t struct but in GTK there is some GWidget variable in struct)
* Sometimes TCP Follow fail...
svn path=/trunk/; revision=51883
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
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
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
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
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
QWidget::setWindowModified: The window title does not contain a '[*]' placeholder
a) Add [*] to the window title.
b) Also set the window title before calling setWindowModified
Not really understanding what I'm doing here, just following the hints
given in http://qt-project.org/forums/viewthread/2108
Original logmessages when closing Wireshark while running a capture.
17:23:39.652 Capture Msg Capture stopped!
17:23:39.653 Main Dbg Callback: capture update finished
QWidget::setWindowModified: The window title does not contain a '[*]' placeholder
FIX: packet list heading menu sensitivity
17:23:39.653 Dbg FIX: capture_info_ui_destroy
17:23:39.653 Main Dbg Callback: Closing
FIX: packet list heading menu sensitivity
17:23:39.655 Main Dbg Callback: Closed
svn path=/trunk/; revision=51722
splitters they're actually layed out in. This should let us reorganize the
splitters at will (when the prefs change) without reconstructing the panes.
svn path=/trunk/; revision=51718
panes, not yet which data goes in which pane).
You currently have to restart for the change to take effect. I also had to move
the preferences-reading (and thus the epan_init) call to before the main window
instantiation so that the preference was actually available for use. This means
that the progress-bar doesn't show up for very long any more, since most of the
work is already done by the time it appears.
I'm sure there is a way to delay just the layout setup until later, but I kept
getting slot errors I couldn't figure out...
svn path=/trunk/; revision=51647
immediately from the CLI. Get rid of the comment concerning multi-pass parsing
of the options, it only applied to the GTK version.
svn path=/trunk/; revision=51640
(yet) and it is getting in the way while I try and add some argument parsing.
It's still in the GTK version if we want it.
svn path=/trunk/; revision=51639
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
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
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
deletes the interface list, which in turn kills off the dumpcap process
it may be running. This should hopefully keep us from leaving dumpcap
processes running in the background on Windows. (Am I the only one
running QtShark on that platform?)
svn path=/trunk/; revision=51485
Add CaptureFilterCombo and CaptureFilterEdit classes, similar to their
display filter counterparts. Add a CaptureFilterSyntaxWorker class which
runs a syntax check in a background thread similar to the threaded code
in capture_dlg.c. Add a bunch of related signal and slot plumbing. Other
minor fixups.
svn path=/trunk/; revision=51200
Original (read from file) comments can be accessed by pkthdr->opt_comment
Keep user comments in seperated BST, add new method for epan session to get it.
svn path=/trunk/; revision=51090
addition to a "global" list. Store all of those lists in the recent
file. Maintain the lists in ui/recent.c, rather than attaching them to
widgets; have the code that populates the combo boxes get the lists from
the ui/recent.c code.
This makes a little more of the code GUI-toolkit-independent, and should
fix bug 7278.
#BACKPORT 1.10, 1.8
svn path=/trunk/; revision=50956
ui/qt/uat_dialog.cpp: In member function ‘void UatDialog::stringPrefTextChanged(const QString&)’:
ui/qt/uat_dialog.cpp:371:10: error: variable ‘enable_ok’ set but not used [-Werror=unused-but-set-variable]
And remove a tabs
svn path=/trunk/; revision=50906
C++-ize the UAT headers.
Add an ElidedLabel widget. Use it in the File Set, Profile, and UAT
dialogs.
Update the Qt README.
svn path=/trunk/; revision=50896