aboutsummaryrefslogtreecommitdiffstats
path: root/ui/qt/capture_file.h
AgeCommit message (Collapse)AuthorFilesLines
2022-06-07Qt: Auto apply "Limit to display filter"Roland Knall1-0/+4
If a display filter had been applied during the opening of the conversation or endpoint dialog, automatically check the entry for "Limit to display filter" to ensure that the filtered result is being shown, as expected by the user.
2021-11-30Add UI header files to DoxygenMoshe Kaplan1-1/+1
Add @file markers for UI header files so that Doxygen will generate documentation for them.
2021-03-08Remove modelines in ui/qt.Gerald Combs1-13/+0
Remove the editor modeline blocks from most of the source files in ui/qt by running perl -i -p0e 's{ \n+ /[ *\n]+ editor \s+ modelines .* shiftwidth= .* \*/ \s+ } {\n}gsix' $( ag -g '\.(cpp|h)' ) then cleaning up the remaining files by hand. This *shouldn't* affect anyone since - All of the source files in ui/qt use 4 space indentation, which matches the default in our top-level .editorconfig - The one notable editor that's likely to be used on these files and *doesn't* support EditorConfig (Qt Creator) defaults to 4 space indentation.
2018-07-06Use the file *base* name for statistics graphs etc..Guy Harris1-0/+8
For example, if the file is foo.pcap, make the default name for a saved PDF of some graph be foo.pdf, as it was prior to 2.6, not foo.pcap.pdf. Change-Id: Ide99c9c7fa1f3d16f829e731f968a209fbb52b8d Reviewed-on: https://code.wireshark.org/review/28624 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-07-04Some fixes.Guy Harris1-12/+28
For filePath() and fileName(), just return a null string if we can't convert from the native encoding to UTF-8 - those aren't used for displaying, those are used for setting the main window's file name and for generating names of files to save based on the capture file name. Have fileDisplayName() just return the display name, without "[closing]"/"[closed]" decoration or a special case for no file being open (just return a null string if there's no file open), and have fileTitle() return the decorated display name. Change-Id: I244f318d5444dcf58527e5d38c4d073c28b73810 Reviewed-on: https://code.wireshark.org/review/28594 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-07-04fileTitle -> fileDisplayName.Guy Harris1-1/+1
That more closely matches the name of the file.h routine that it uses. Change-Id: Ia206fb8331f4f3ad8035da9f6137ad2428d53a49 Reviewed-on: https://code.wireshark.org/review/28589 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-07-04Set the file path for a main window if it's not a temporary file.Guy Harris1-7/+13
That's needed to support the "proxy icon", so it can be dragged. Change-Id: I1ad209cd43a2a6df9c52d076f6513780b0ac51be Reviewed-on: https://code.wireshark.org/review/28587 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-07-03Don't show temporary file names in title bars.Guy Harris1-4/+18
For dialogs and auxiliary windows, if we have a live capture that hasn't yet been saved to a permanent location, there's no good reason to show the temporary file name in the title bar, as: it's a random string that doesn't indicate where the capture was done and that could confuse people (see, for example, the confusion in bug 14929, in which somebody referred to the "Follow TCP Stream" window as the ".pcap dialog" because its title had ".pcap" at the end, due to the capture file being a temporary file and its name showing up in the title bar of that window); it differs from what the main window title bar shows. While we're at it, don't assume that the file name in the capture_file structure is a UTF-8 string - some UN*Xes might not use UTF-8 for file names. Change-Id: I0d3dfd5d7f896ea37533daf7089b688710dbabf0 Reviewed-on: https://code.wireshark.org/review/28581 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-05-01Fix comment end after SPDX identifierStig Bjørlykke1-1/+2
Move */ to a separate line below the SPDX identifier. Change-Id: Id1032215449cfccae0933147b45e04b65e0b727f Reviewed-on: https://code.wireshark.org/review/27211 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-04-18Qt: expose CaptureEvent definition for MOCPeter Wu1-55/+1
All WiresharkDialog instances have a "captureEvent(CaptureEvent)" method that requires the definition of "CaptureEvent" from capture_file.h. By luck, this definition is available for CMake builds due to the generated MOC headers being included in the right order, but this cannot be relied on. On an autotools build with less luck: main_status_bar.moc.cpp: In static member function ‘static void MainStatusBar::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)’: main_status_bar.moc.cpp:241:86: error: invalid use of incomplete type ‘class CaptureEvent’ case 28: _t->captureEventHandler((*reinterpret_cast< CaptureEvent(*)>(_a[1]))); break; Create a new header file to limit exposure of the CaptureFile class. Change-Id: I4ab609f13b9438797e39e7b98f367da35536979b Fixes: v2.9.0rc0-186-g57bf7e4347 ("Qt: Fix memory leak for CaptureEvent") Reviewed-on: https://code.wireshark.org/review/27003 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Reviewed-by: Roland Knall <rknall@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-04-17Qt: Fix memory leak for CaptureEventRoland Knall1-3/+5
Make the argument to the events a non-memory object Change-Id: I46d8c24415aa2bc48b2a2d3b1fccffa6956d08b5 Reviewed-on: https://code.wireshark.org/review/26671 Reviewed-by: Roland Knall <rknall@gmail.com>
2018-02-08replace SPDX identifier GPL-2.0+ with GPL-2.0-or-later.Dario Lombardo1-1/+1
The first is deprecated, as per https://spdx.org/licenses/. Change-Id: I8e21e1d32d09b8b94b93a2dc9fbdde5ffeba6bed Reviewed-on: https://code.wireshark.org/review/25661 Petri-Dish: Anders Broman <a.broman58@gmail.com> Petri-Dish: Dario Lombardo <lomato@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-02-02Qt: use SPDX identifiers.Dario Lombardo1-14/+1
Change-Id: I111945c08f99818c249a868c12d9a7b3a3df64b3 Reviewed-on: https://code.wireshark.org/review/25563 Reviewed-by: Michael Mann <mmann78@netscape.net>
2018-01-04Qt: add conditional compilation in switches.Dario Lombardo1-0/+2
Compiling without pcap, the lack of all the cases causes an error. ../ui/qt/main_window_slots.cpp:756:13: error: enumeration values 'Capture', 'Update', and 'Fixed' not handled in switch [-Werror,-Wswitch] switch (ev->captureContext()) { ^ 1 error generated. Change-Id: I36c0bc854b1d864ebf54ac59ca15743918bc7d2b Reviewed-on: https://code.wireshark.org/review/25127 Reviewed-by: Roland Knall <rknall@gmail.com> Petri-Dish: Roland Knall <rknall@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Dario Lombardo <lomato@gmail.com>
2017-12-27capture_file(.h): fix commas at the end of enumerator lists are a C++11 ↵Alexis La Goutte1-1/+1
extension [-Wc++11-extensions] Change-Id: I64c9fdefcf72add83944a6c38d5aa4e42dbaacb9 Reviewed-on: https://code.wireshark.org/review/25017 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-12-23Qt: Redesign signal/slot concept of capture_fileRoland Knall1-29/+49
This is in preparation to make it easier for other classes to get the right signals from the capture file. Also the decision on what signals to listen to now resides with the final classes, not main window, and it no longer needs to be changed if the statusbar or wsapp needs additional signals. Change-Id: If366d42b07dc822636404ac44ba2306ec4418b4e Reviewed-on: https://code.wireshark.org/review/24941 Petri-Dish: Roland Knall <rknall@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
2017-12-03Use cfile.h to define the capture_file type.Guy Harris1-1/+2
Have cfile-int.h declare the structure, and use it in files that directly access the structure. Have cfile.h just incompletely declare the structure and include it rather than explicitly declaring it in source files or other header files. Never directly refer to struct _capture_file except when typedeffing capture_file. Add #includes as necessary, now that cfile.h doesn't drag in a ton of Change-Id: I7931c8039d75ff7c980b0f2a6e221f20e602a556 Reviewed-on: https://code.wireshark.org/review/24686 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-01-21Qt: Show merge progress.Gerald Combs1-0/+2
Add "file merge" callback plumbing. Use it to display "Merging files" in the main statusbar. Make sure we have a usable window pointer when we merge files. Change-Id: I236b6edb30685f0b06703ab8304bc88ae592f83c Reviewed-on: https://code.wireshark.org/review/19716 Reviewed-by: Gerald Combs <gerald@wireshark.org> Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-09-02Qt: Conversation time column updates.Gerald Combs1-0/+6
Add a checkbox which lets you toggle between absolute and relative start times. Use the local time for now. Fixes bug 11618. Adjust our time precision based on the capture file's time precision. Fixes bug 12803. Update the User's Guide accordingly. Bug: 11618 Bug: 12803 Change-Id: I0049d6db6e4d0b6967bf35e6d056a61bfb4de10f Reviewed-on: https://code.wireshark.org/review/17448 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2016-03-28Qt: Make conversation menu items static.Gerald Combs1-0/+8
Add a ConversationAction and ColorizeAction classes which respectively handle conversation filtering and colorization. Move conversation menu initialization to initConversationMenus and call it once at startup. This keeps us from leaking quite a bit of memory each time we select a packet or proto tree item. Bug: 12044 Change-Id: I32e8cedaba08a419d5da6a7a9db31c910909f450 Reviewed-on: https://code.wireshark.org/review/14516 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-12-09Qt: various fixes to VoIP calls / RTP player windowsPascal Quantin1-0/+1
- Flush any remaining tapped packets before emitting captureFileRetapFinished(). This ensures that all packets have been treated before returning from retapPackets(). - Remove VoIP tap listeners when captureFileRetapFinished() is emitted. This avoid summing stats each time the RTP player is opened, leading to wrong information in VoIP calls window - Change voip_calls_tapinfo_t redraw member from a boolean to bitmap so as to identify which tap should call the tapinfo->tap_draw() callback. This allows fixing a race condition where the RTP player can be empty in Qt UI - Reset some more statistics in voip_calls_reset_all_taps() Change-Id: Ie7681702c81d338185c1813f2d340a437edf3a04 Reviewed-on: https://code.wireshark.org/review/12474 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-08-27More retapping fixups.Gerald Combs1-1/+1
Disable the main file close and reload actions while we're retapping, otherwise many of our dialogs will crash. Disable the TapParameterDialog filter entry while we're retapping. This keeps us from enabling the "Apply" button when we shouldn't. Don't prematurely disconnect our signals in WiresharkDialog. Change-Id: Iaf507eb4503b9c296766f109f2b8c71343263982 Reviewed-on: https://code.wireshark.org/review/10274 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-08-26Rework tapping in Qt dialogs.Gerald Combs1-0/+2
Add cf_cb_file_retap_started and cf_cb_file_retap_finished to file.[ch]. Add their associated signals to CaptureFile. Add registerTapListener and removeTapListeners to WiresharkDialog, which collect and automatically remove tap listeners. Add beginRetapPackets and endRetapPackets, which can be used to wrap critical sections so that we don't delete ourselves while tapping. Don't cancel tapping on close in WiresharkDialog. Use beginRetapPackets and endRetapPackets in WiresharkDialog and FollowStreamDialog. We will likely need to add them elsewhere. Update comments. Change-Id: I1788a6ade0817c31aa3419216df96be5e36b2178 Reviewed-on: https://code.wireshark.org/review/10261 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-07-29Capture file retapping fixups.Gerald Combs1-5/+16
Add CaptureFile::delayedRetapPackets, which starts retapping after the current batch of UI event are processed. Call it in the constructors of various dialogs so that they are shown before tapping starts. This *might* fix a crash found when following large streams from the Conversations dialog. Change-Id: If1b87491621ab7efcc0519f95891d34dcd9d18c1 Reviewed-on: https://code.wireshark.org/review/9818 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-07-07Qt: Add initial Lua support.Gerald Combs1-0/+3
Add a FunnelStatistics class, which is the main interface between the Qt UI and the Funnel API. Add FunnelTextDialog, which implements the text_window, ProgDlg, menu, and other routines. Add FunnelStringDialog, which implements dlg_new. We currently only support "Tools" menu items (MENU_TOOLS_UNSORTED, aka REGISTER_TOOLS_GROUP_UNSORTED). Add a disabled placeholder to the "Tools" menu in case we don't load any scripts. Use "struct progdlg" instead of needlessly casting to funnel_progress_window_t. To do: - Add support for MENU_STAT_UNSORTED, MENU_STAT_GENERIC, etc. - Make the firewall config generator a Lua script? - Add FunnelGraphDialog? It seems like it would be useful to make QCustomPlot accessible to Lua scripts. Ping-Bug: 9845 Change-Id: Iefff02e9032ed1853666f7902509ed08b431e7a7 Reviewed-on: https://code.wireshark.org/review/9523 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-06-23Morph ProgressBar into CaptureProgressFrame.Gerald Combs1-6/+7
Switch from a plain QProgressBar to a QFrame with a QProgressBar and a stop button. Add a stop_flag boolean to the capture_file struct. To do: - Start adding the progress bar to dialogs. - Don't complain so loudly when the user stops a capture. Change-Id: Iedd1d7d79f2044f1a53e4fb22186d25930a3ef03 Reviewed-on: https://code.wireshark.org/review/9029 Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Petri-Dish: Gerald Combs <gerald@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-05-23Qt: Update the status bar when saving.Gerald Combs1-2/+11
Plumb in more capture file callbacks. Add common functions for setting the status bar file information. Add and update code to match the GTK+ status bar behavior. Make sure we update the capture file length when rescanning. Bug: 10943 Change-Id: Ie84c7a57ee421d57ba3477f8dde3847aaafa1cd1 Reviewed-on: https://code.wireshark.org/review/8594 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-05-22Qt: Add a "[closed]" hint to the packet dialog.Gerald Combs1-2/+8
Try to make it more obvious that the file has closed. Ping-Bug: 11044 Change-Id: I76ae5724316c6fd9e7efdd817c39ac268b7d4dd0 Reviewed-on: https://code.wireshark.org/review/8593 Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-05-15Qt: Stop tapping when the I/O Graph dialog closes.Gerald Combs1-0/+7
Add a setCaptureStopFlag function to ProgressBar. Add a stopTapping function and setCaptureStopFlag signal to CaptureFile. Use the new plubming to stop tapping when the IO Graph dialog closes. Bug: 10116 Change-Id: Ic46814eed18933f511d9d1ff37e2e7918741f353 Reviewed-on: https://code.wireshark.org/review/8480 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-04-06Show a count in the status bar for all captures.Guy Harris1-0/+1
(I'd have said "for non-update-list-of-packets-in-real-time captures", but that's too long for the holy Git "first line of the commit message is a summary" rule.) For non-update-list-of-packets-in-real-time captures, show a packet count in the status bar. Change-Id: I31670770e3772e9f772f0c9a6438fc6d053560aa Reviewed-on: https://code.wireshark.org/review/7957 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-02-24Qt: Fix a crash when changing the layout.Gerald Combs1-0/+7
Freeze and thaw the packet list when changing the layout. This has the side effect of clearing the proto tree and byte view, which avoids reading a bad tvb pointer. Note that we might want to add a cleanup callback to free_data_sources. Save and restore the current row. Add CaptureFile::currentRow. Fix a couple of comparisons in PacketList. Change-Id: I26f9b97ae5a7cdb4fb6e5e6e675570884900e995 Reviewed-on: https://code.wireshark.org/review/7337 Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-01-04Fix out-of-tree build includes of config.hGraham Bloice1-1/+1
If a file in the same directory as config.h, e.g. wireshark-qt.cpp has a #include "config.h", or another header it includes also has a #include "config.h", then an out-of-tree build, e.g. CMake will pick up any in-tree config.h and odd things may happen. The correct form is #include <config.h> which will pick up the out-of-tree version. To find this, introduce a deliberate error and then make an out-of-tree build, noting where it fails and fix that file. If that file includes other files that still cause the build to fail, set the compiler to emit the pre-processed version so you can locate the include with the next errant "config.h". Repeat ad nauseum. Possibly all includes of "config.h" should be changed to <config.h> Revert "CMake: Clobber the top-level config.h before we build." This reverts commit 1f3849ce614aeae5fda742beffe5558e7c2a8b71. Ping-Bug: 10301 Change-Id: Ie567e7cc696fd48f3e730fc27032c5d2a7d8f341 Reviewed-on: https://code.wireshark.org/review/6285 Reviewed-by: Graham Bloice <graham.bloice@trihedral.com> Petri-Dish: Graham Bloice <graham.bloice@trihedral.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-12-30Qt: Convert more dialogs to WiresharkDialog.Gerald Combs1-1/+1
Make the Sequence, IO Graph, Statistics Tree, and VoIP Calls dialogs subclasses of WiresharkDialog. Remove "Stats Tree" from Statistics Tree dialog titles. Don't complain if the user opens more than one instance of the dialog. Use the applicationName property in WiresharkApplication instead of a separate variable. Add a preexisting item to the IO Graph bug list (hovering when the file is closed clears the graph). Change-Id: I8411a25305d00b16e0d4a82fa50a9bad5c85b239 Reviewed-on: https://code.wireshark.org/review/6125 Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-12-29capture_file.h (Qt): missing ]Alexis La Goutte1-1/+1
Change-Id: Ibc512f03913d77a6c4f0cdbcf5141efbd94b22f0 Reviewed-on: https://code.wireshark.org/review/6115 Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-12-29Qt: Add a WiresharkDialog convenience class.Gerald Combs1-2/+3
Add WiresharkDialog, a common base class for dialogs centered around capture files. Make it a parent of Capture File Properties, Traffic Table, Conversations, and Endpoints. Rename CaptureFile::read_only_ to file_closed_. Add methods to WiresharkApplication for generating consistent window titles. Change-Id: Idc771556d8192e60f85dddc08fc4757698dee257 Reviewed-on: https://code.wireshark.org/review/6097 Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-12-22Qt: Add methods to CaptureFile and WiresharkApplication.Gerald Combs1-0/+20
Add isValid, fileTitle, and retapPackets methods to CaptureFile. Add application name and title separator convenience methods to WiresharkApplication. Convert traffic tables, conversations, and endpoints to use CaptureFile directly and to let the user know when the capture file is closed. Set the file dialog titles while we're here. Change-Id: I990392786d3833e1e0b3638aa2d34a5ada39fa13 Reviewed-on: https://code.wireshark.org/review/5957 Petri-Dish: Gerald Combs <gerald@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-12-20Qt: Add a CaptureFile class.Gerald Combs1-0/+92
Wrap the capture_file struct in a QObject which translates cf_cb_* and capture_cb_* events into signals. Move the global cfile to capture_file.cpp. Don't use a void pointer for the capture file struct. Change-Id: Ic5d5efb4bb1db64aa0247245890e5669b1da723a Reviewed-on: https://code.wireshark.org/review/5885 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>