Commit Graph

54 Commits

Author SHA1 Message Date
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
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
Guy Harris 5bc8bdc40e More capture_options -> capture_session fixes.
svn path=/trunk/; revision=49510
2013-05-22 11:49:36 +00:00
Guy Harris d78bbae6a7 More capture_options -> capture_session fixes.
svn path=/trunk/; revision=49506
2013-05-22 10:09:07 +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
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 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 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 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 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 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 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 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
Gerald Combs 403e6dc86a Move common SSL key export routines to ui/ssl_key_export.[ch]. Make the
exported keys a gchar *. Implement SSL key exports in the Qt UI. Remove
some no-longer-necessary packet-ssl*.h includes.

Change lastOpenDir().absolutePath() to .canonicalPath(). Get rid of the
"Export As PostScript" action.

svn path=/trunk/; revision=45589
2012-10-16 18:14:16 +00:00
Gerald Combs 677c913f42 Add "Export Packet Bytes".
svn path=/trunk/; revision=45567
2012-10-16 00:01:23 +00:00
Gerald Combs cfa22deaae Add a packet format group box, similar to the packet range group box.
Use it in the new "Export Packet Dissections" dialog.

I'm omitting PostScript exports on purpose. If you *really* need that
feature you can probably get better results than we produce using text +
enscript or print-to-PDF + pdf2ps/pdftops or PSML/PDML + XSL + ...

The Windows code is untested. I'll check in any needed fixes shortly.

svn path=/trunk/; revision=45513
2012-10-12 23:40:29 +00:00
Gerald Combs 445148ac0e Add a PacketRangeGroupBox widget. Use it to implement "Export Selected
Packets". Not yet tested on Windows. "Ignore Packet" hasn't been
implemented so we can't test that either.

Create a SyntaxLineEdit widget from the QLineEdit code in
DisplayFilterEdit. Use it in the file import and export dialogs and the
PacketRangeGroupBox widget. This lets us provide instant feedback
instead of popping up an error dialog.

Expand the Tango color list based on
http://emilis.info/other/extended_tango .

Rearrange QtShark.pro to (hopefully) work better with Qt Creator.

svn path=/trunk/; revision=45405
2012-10-08 20:01:59 +00:00
Gerald Combs 409b405d7c Move the main window slots to main_window_slots.cpp.
svn path=/trunk/; revision=45259
2012-10-02 18:47:05 +00:00
Gerald Combs d02a2328ef Implement file sets.
Replace the original file set code with a UI form. Use more consistent
file names. List the files using a QTreeWidget instead of a grid.
fileset_is_file_in_set is only used in fileset.c so make it static.

In main_window.cpp reduce our usage of the global cfile variable.

svn path=/trunk/; revision=45243
2012-10-01 22:40:20 +00:00
Gerald Combs 068815cc67 Implement "Save" and "Save As".
svn path=/trunk/; revision=45156
2012-09-26 19:52:53 +00:00
Alexis La Goutte 3738ed7370 Use "common help_url function" for qtshark
Add links to Manual Pages...

svn path=/trunk/; revision=45139
2012-09-25 20:08:11 +00:00
Gerald Combs 3069f22bd1 Add a text import dialog. Use libui.
svn path=/trunk/; revision=44956
2012-09-17 23:40:53 +00:00
Gerald Combs 2bda67e82e Implement File→Merge.
The GTK+ and native Win32 versions are slightly different. The GTK+
version lets you select an output file type and the Win32 version uses
the existing capture filetype. We do the latter for now.

Start documenting significant UI changes in README.qt. This might be
better handled on the wiki.

svn path=/trunk/; revision=44797
2012-09-06 22:58:39 +00:00
Alexis La Goutte 42ace71553 Add modelines for Qtshark file
svn path=/trunk/; revision=44766
2012-09-04 08:18:31 +00:00
Gerald Combs cf4ac2931e Fix compilation on Windows.
The moc man page says "The moc does not expand #include or #define,
it simply skips any preprocessor directives it encounters." This means
our signals and slots have to exist everywhere, even if they're empty
on some platforms.

Remove some duplicate definitions.

svn path=/trunk/; revision=44716
2012-08-31 23:13:43 +00:00
Gerald Combs 5c715fcc19 It ain't Wireshark unless we can capture.
Implement basic capture start and stop. Add a lot of menu items and
enable and disable them when appropriate. Rename a few variables.

Next step: Let the user select an interface (we just use the default for
now).

svn path=/trunk/; revision=44714
2012-08-31 22:25:51 +00:00
Alexis La Goutte 070ccb3d5a File => Open (Ctrl+O) on Qtshark (broke with last change...)
Use Qt:Autoconnect SLOT/Signal

svn path=/trunk/; revision=44708
2012-08-31 07:56:24 +00:00
Gerald Combs fa0a6beb0e Catch key events where needed and direct them to the display filter
QLineEdit. Use Tango colors for syntax highlighting. Rename a few
variables.

svn path=/trunk/; revision=44620
2012-08-23 02:59:31 +00:00
Gerald Combs 16518aff46 Restore the previous focus when we're done going to a packet.
svn path=/trunk/; revision=44601
2012-08-20 21:22:01 +00:00
Gerald Combs 2f9b5d31e4 Basic "Go to Packet" implementation.
svn path=/trunk/; revision=44594
2012-08-20 04:34:23 +00:00
Gerald Combs c12c712d9c More welcome screen layout updates. Instantiate the welcome screen
automatically. Try to make the sparklines resolution independent.

svn path=/trunk/; revision=44555
2012-08-17 19:37:18 +00:00
Gerald Combs 2fe5163ec3 Lay out the welcome screen using Qt Designer.
svn path=/trunk/; revision=44547
2012-08-17 00:58:50 +00:00
Gerald Combs e0fcd7c21f Add a "View" menu along with actions+slots for expanding and collapsing
packet details. Connect the "Go" menu actions directly to their
corresponding packet list slots.

svn path=/trunk/; revision=44483
2012-08-14 04:12:56 +00:00
Gerald Combs 09242a83bf Minor cleanup: Get rid of unnecessary signal+slot customization and mark
functions protected.

svn path=/trunk/; revision=44481
2012-08-14 00:25:42 +00:00
Gerald Combs 603787f0ad Add keyboard shortcuts for the packet list.
svn path=/trunk/; revision=44462
2012-08-13 01:50:14 +00:00
Alexis La Goutte dece67951b Add some link (URL) to Help Menu in QtShark
* Use QtAutoconnect feature
* no (yet ?) use help_dlg.* function (topic_action, topic_online_url...)


svn path=/trunk/; revision=43987
2012-07-25 11:53:44 +00:00