Commit Graph

59 Commits

Author SHA1 Message Date
Alexis La Goutte 41174fa490 if display_filter is NULL, qtshark crash...
svn path=/trunk/; revision=51882
2013-09-09 19:30:19 +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
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 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
Evan Huus 259ebc5269 Respect the other layout preference in qtshark: which pane goes in which spot.
svn path=/trunk/; revision=51723
2013-09-03 16:06:20 +00:00
Evan Huus a795048300 Correctly update the pane layout whenever the preferences are changed, you no
longer need to restart for that to take effect. Hopefully I got all the slot
ordering right.

svn path=/trunk/; revision=51720
2013-09-03 13:29:09 +00:00
Evan Huus 785c1a5310 Respect the layout preference (just the horizontal/vertical splitting of the
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
2013-09-02 16:03:13 +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 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
Gerald Combs 79454ef9fa Add initial capture filter support.
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
2013-08-08 00:26:57 +00:00
Alexis La Goutte c68f439baa From Thomas ERSFELD (GSoC13) Apply changes of revision 50107 to qtshark man pages sorted and added capinfos & reordercap
svn path=/trunk/; revision=50826
2013-07-23 10:32:02 +00:00
Alexis La Goutte 6cff72548d From Thomas ERSFELD (GSoC13) Qtshark : Columns in the packet list table are not updated when you add one on preference menu
svn path=/trunk/; revision=50818
2013-07-23 08:56:20 +00:00
Gerald Combs 946b736de2 Set the menuRole for actionCaptureOptions to NoRole similar to
actionEditConfigurationProfiles. This keeps it from being converted to
the default preferences item on OS X.

Remove a hack where we stored the text for
actionEditConfigurationProfiles in its iconText in order to keep it from
clobbering actionEditPreferences. It doesn't seem to be necessary.

svn path=/trunk/; revision=50636
2013-07-15 20:17:17 +00:00
Alexis La Goutte 43c3cb4884 From Thomas ERSFELD (GSOC13) via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8710 QtShark doesn't have a statistics summary window
Add Summary Statistics to qtshark (Statistics => Summary)
Now, use tabs to split summary display (File Capture details, Capture Statistics)

Add also Comment Summary tab (to replace Statistics => Comments Summary)

From me :
Fix order of summary files in Qtshark.pro

svn path=/trunk/; revision=50470
2013-07-09 18:08:40 +00:00
Luis Ontanon 24a5467228 Propagate the main_window_update change of few commits ago into the qt client
:wq



svn path=/trunk/; revision=50198
2013-06-27 19:24:39 +00:00
Guy Harris 70bb111bab Turn "packet_is_ssl()" into a general "does the packet whose dissection
is in this epan_dissect_t contain the field whose name is passed as an
argument" routine in libwireshark, and use it where we used
packet_is_ssl().  (We should check to see if anything *else* could use
it.)

svn path=/trunk/; revision=49530
2013-05-22 23:02:19 +00:00
Guy Harris 5bc8bdc40e More capture_options -> capture_session fixes.
svn path=/trunk/; revision=49510
2013-05-22 11:49:36 +00:00
Guy Harris 8af092c98f More capture_options -> capture_session fixes.
svn path=/trunk/; revision=49509
2013-05-22 11:09:00 +00:00
Alexis La Goutte 1ceed4fc38 Fix Typo about filename
svn path=/trunk/; revision=49455
2013-05-20 18:56:56 +00:00
Alexis La Goutte 36495e5e98 From report of mot990-8omk7tp8mio8ro via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8469 QtShark (wireshark-qt) doesn't use the saved preferences
Detail about this issue :
Bug is reproduced when accessing Preferences Dialog before QtShark start-up is finished,
specifically before preferences loading is completed which comes very late in the initialization process.

Fix from Richard Turner :
Patch to fix problems arising from users interacting with main interface before initialization is complete

Introduced a new slot function in main window for the locking of features before
init complete and for the unlocking of features after all systems good to go.

svn path=/trunk/; revision=49453
2013-05-20 18:56:33 +00:00
Alexis La Goutte a80ad2f9f2 Add Some missing text to translate
svn path=/trunk/; revision=49271
2013-05-13 20:23:46 +00:00
Guy Harris 3fd4767110 Only enable Edit->Packet Comment... if we can save the file without
losing the packet comments, just as we now do in the GTK+ version.

svn path=/trunk/; revision=48699
2013-04-02 16:05:25 +00:00
Guy Harris 2deedfb1e1 Add a setTitlebarForCaptureInProgress() method to MainWindow, and use it
to set the title when we have a capture in progress.

svn path=/trunk/; revision=48688
2013-04-01 17:57:47 +00:00
Guy Harris 6c5c65b486 Add a setTitlebarForCaptureFile() and have it set the titlebar and the
"modified" indicator.  For some reason, it's not getting called in all
the right places.

svn path=/trunk/; revision=48682
2013-03-31 22:59:56 +00:00
Guy Harris 78ab71cc9d Rename set_display_filename() to set_titlebar_for_capture_file(), as
it affects more than just the file name, it also affects whatever "you
have unsaved changes" indicator the UI provides.

Put a comment in the Qt code as a reminder of how to set the "you have
unsaved changes" indicator.

svn path=/trunk/; revision=48680
2013-03-31 22:17:43 +00:00
Guy Harris e2eabbc883 Make the menu item for importing a hex dump text file be "Import from
Hex Dump", to clarify that it's not some sort of "generic" import
function, just one that can read a hex dump file.  ("Import from Hex
Dump Text" is another possibility.)  Use that string in the dialog title
as well.

svn path=/trunk/; revision=48665
2013-03-31 04:17:47 +00:00
Gerald Combs dcb3a4a8a5 Add support for software updates. Remove qtshark.rc and use
image/wireshark.rc (which contains resources needed by WinSparkle)
instead.

svn path=/trunk/; revision=48147
2013-03-06 22:04:17 +00:00
Gerald Combs 1c0deb0fc8 Add Filter Expressions^WButton^WShortcut^WBookmark preferences.
Add comments noting that

- We might want to do something different when the bookmark button is
  pressed.
- The display filters (dfilters file) and gui.filter_expressions
  preferences should be merged.
- Many buttons on Qt4 + OS X + unifiedTitleAndToolBarOnMac makes the
  main window really wide.

Add a qstring_strdup convenience routine. Add "disabled" display filter
edit icons. Fix up whitespace and descriptions in a couple of places.

svn path=/trunk/; revision=47522
2013-02-06 18:22:54 +00:00
Gerald Combs 469232d062 Update our column information even if we don't have a capture file loaded.
svn path=/trunk/; revision=47232
2013-01-23 19:28:08 +00:00
Gerald Combs 21e66f0c6f Add column preferences.
svn path=/trunk/; revision=47231
2013-01-23 19:04:36 +00:00
Gerald Combs 4a3342e4ba Break out preference type names, type descriptions, string
representations, and default status out of write_prefs and into their
own routines. Split the corresponding custom preference write callbacks.
Fix an apparent memory leak in the hidden column callback.

Add an initial preferences dialog to the Qt port. Use the new preference
routines to implement an "Adavanced" page similar to the "about:config"
page available in many web browsers. Standard pages will hopefully follow
soon.

Remove some QDebug includes and make sure our QTreeWidgets have uniform
row heights set.

svn path=/trunk/; revision=46942
2013-01-05 02:30:58 +00:00
Gerald Combs 5bd252c44f Remove some duplicate code from ui/profile.c and move in more code from
ui/gtk/profile_dialog.c. Use the correct profile list in
profile_dialog.c so that deletion works.

Add a profile dialog to the Qt port. For some reason it crashes when
changing configuration profiles, which might be related to bug 7722.
Move the Qt configuration profile initialization from main.cpp to
wireshark_application.cpp. Make sure QMenuBar doesn't grab the
configuration profiles action on OS X. Add more role color names to
tango_colors.h.

svn path=/trunk/; revision=46834
2012-12-29 01:39:02 +00:00
Gerald Combs a5d5162826 Qt: Implement packet comments. Fix packet detail updates.
GTK+: Shorten the packet comment menu item name.  Remove a couple of
unneeded includes.

Both: Add an arbitrary 20 MB limit when fetching all packet comments.
Use a color from the Tango palette for comments.

svn path=/trunk/; revision=46709
2012-12-23 04:37:58 +00:00
Gerald Combs d6d3b1b676 Enable and disable the time shift menu action as needed.
svn path=/trunk/; revision=46683
2012-12-21 18:49:44 +00:00
Gerald Combs 962b4f08f7 Move common time shifting code to ui/time_shift.[ch]. Change the
shifting routines to return an error message on failure or NULL on
success.  Prettify and simplify the layout of the GTK+ time shift
dialog. Make the cancel button work as expected.

Add a time shift dialog to the Qt port. I used a Mad Lib (sentence)
layout. Hopefully that won't make translation too difficult.  For some
reason time shifts aren't immediately shown in the packet detail. This
appears to be a bug in the packet list / packet detail code.

Add warning role color definitions to tango_colors.h and use them.

svn path=/trunk/; revision=46680
2012-12-21 17:37:57 +00:00
Gerald Combs 7cf5334332 Add an AccordionFrame class which can animate showing and hiding (except
when we detect a remote connection). Use it for the "go to" and search
frames. Properly detect remote connections in the splash overlay.

svn path=/trunk/; revision=46591
2012-12-18 17:21:20 +00:00
Gerald Combs 77e6140ba9 Implement the frame mark, ignore, and time reference actions. Update the
text of a few menu items.

svn path=/trunk/; revision=46576
2012-12-17 23:03:21 +00:00
Gerald Combs 5c2c5aed87 Rename the search type menu items to more accurately reflect what we're
actually doing and what users are likely to want to do.  Rename the
search enum values and functions to reflect what we're actually doing
and add a comment explaining why making searches more correct might make
searching worse.  Add a search bar to the Qt main window, thus
continuing the War On Gratuitous Dialogs.

Clear out any previous temporary label stack items before adding a new one.

svn path=/trunk/; revision=46541
2012-12-15 01:04:39 +00:00
Gerald Combs c9d4240196 Add a context menu to the packet list and fill in the
apply/match-related actions. Have matchSelectedFilter figure out our
filter strings, which lets us remove duplicate code in the apply/match
action slots. Remove some leftover code from an experiment.

Adjust the temporary message colors in the status bar and label stack.

Add a NULL check to construct_match_selected_string.

svn path=/trunk/; revision=46449
2012-12-07 20:08:00 +00:00
Gerald Combs 59cd52b5ca Implement the items under "Edit→Copy", "Analyze→Apply as Filter" and
"Analyze→Prepare a Filter". Add a context menu to the protocol tree and
fill in the items we've implemented so far.

Add an "applyAllPreferences" method and corresponding
"preferencesUpdated" signal to wsApp. Use it to set the maximum display
filter combo count.

Move the packet filtering code from the display filter edit to the main
window (which makes more sense and matches what we're doing in the GTK+
version and gets rid of more global cfile references). Try to center the
display filter edit button images.

Use a different "close" button in the main toolbar. It looks better but
is still wrong (on OS X at least).

svn path=/trunk/; revision=46434
2012-12-07 01:46:20 +00:00
Gerald Combs 874c87610b Fix some C++ abuses that Guy found via LLVM.
svn path=/trunk/; revision=46408
2012-12-05 19:04:59 +00:00
Gerald Combs 9e67335ea8 Update the interface list to reflect the recent interface name changes.
Allow multiple interface selections. Make sure we update the packet list
properly in a couple of places.

Use the right callback+signal to update capture statistics in the status
bar. Remove the global cfile from the main_statusbar.cpp

Add the version to the main window.

svn path=/trunk/; revision=46350
2012-12-03 19:58:55 +00:00
Gerald Combs 5b2890e573 Move the main window creation to the top of main() in anticipation of a
splash pane.

Add an "initialized" state to WiresharkApplication and set it when we're
done calling our init routines. Handle FileOpen events. Wait until we're
initialized to try to open the files. On OS X

    open -a /path/to/qtshark.app /path/to/some/file.pcap
    
now works as expected, and

    osascript -e 'tell application "qtshark" to open posix file "'"/path/to/some/file.pcap"'"'
    
works but returns "missing value". 

svn path=/trunk/; revision=45885
2012-11-03 22:48:29 +00:00
Gerald Combs 2e6f4fafd4 Allow a display filter to be specified in openCaptureFile().
svn path=/trunk/; revision=45883
2012-11-03 18:02:01 +00:00
Gerald Combs 66b13e2961 Enable and disable the File→Print and Go menu items as needed. Have the
print dialog cancel itself if we don't hand it a capture file.

svn path=/trunk/; revision=45863
2012-11-01 22:12:57 +00:00
Gerald Combs e7c47148ea Add a print dialog to the Qt UI. Add support for null page element
callbacks in print.c. Clean up some other issues in print.c.

svn path=/trunk/; revision=45860
2012-11-01 20:57:45 +00:00
Gerald Combs 0a28fb8f6a Update the Qt byte view widget to reflect the recent changes in the GTK+
byte view.

Move the packet_char_enc enum from packet.h to frame_data.h. Make the
encoding flag a packet_char_enc and make it one bit.

Get rid of the "cfile" global in a few places. C++-ize some of the font
code. Clean up some variable names.

svn path=/trunk/; revision=45838
2012-10-30 19:21:24 +00:00
Gerald Combs 97fa2f2a5f Show the object export dialog in accordance with the Qt
documentation. Remove our tap listener and clean up after ourselves.

svn path=/trunk/; revision=45648
2012-10-18 21:51:38 +00:00
Gerald Combs 576b24c96e Move ui-independent object export routines to the common ui directory.
Implement DICOM, HTTP, and SMB object exports. Rename the GTK+ export
files. C++-ize epan/tap.h. Fix an apparent memory leak in
eo_save_all_clicked_cb.

The Qt dialog has an indeterminate progress bar. I tried adding
something similar to the GTK+ dialog but event processing led down a
rabbit hole.

svn path=/trunk/; revision=45647
2012-10-18 21:14:43 +00:00