aboutsummaryrefslogtreecommitdiffstats
path: root/ui/qt/wireshark_dialog.h
AgeCommit message (Collapse)AuthorFilesLines
2024-05-18Qt: Add a getter for fileClosed in WiresharkDialogJohn Thacker1-4/+6
It is sometimes useful for other widgets to know if a tap dialog's data is frozen because it refers to a closed file.
2024-05-11Qt: Fix a crash when retapping I/O GraphsJohn Thacker1-1/+8
Have retapping in updateStatistics occur on a single shot timer. This allows the graph to be drawn as retapping occurs, and also enables updateStatistics calls not done through the timer to return. This is especially important from modelDataChanged, where taking too long to return because of a tap in progress can cause crashes related trying to edit a different part of the dialog. Only tap if we're not currently tapping. If we are currently tapping, queue the tap request and do it later. What we really want to do is restart the tapping, but process_specified_records won't let us do that, because it doesn't distinguish whether cf->read_lock is true because of something that can be restarted (like tapping) or something that cannot (like printing or saving.) Always update the legend immediately before a replot takes place, as that's what we want to do. Fix #15815
2024-04-03ui: Convert our remaining UI code to C99 typesGerald Combs1-1/+1
Ping #19116
2022-06-10tap: Adding flags for tap_packetRoland Knall1-3/+3
This allows flags to be passed by the registering listener to the collection of information
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.
2021-01-11Qt framework: Dialogs are correctly notified when capture file was closedJirka Novak1-1/+10
The patch reintroduces WiresharkDialog::captureFileClosed() method and calls captureFileClosing() and captureFileClosed() in right order. Both methods call updateWidgets() at its end. All dialogs were reviewed and captureFileClosing/Closed methods updated when appropriate. captureEvent() method in multiple dialogs changed to captureFileClosing/Closed as it does same actions - looks like old style of detecting of capture file closing.
2019-10-08Qt: Simplify Wireshark Dialog classRoland Knall1-9/+6
Simplify class handling and clear up some names Change-Id: I8a3dd80c0b4dd97aee6164d94ca9cf60068f427b Reviewed-on: https://code.wireshark.org/review/34730 Petri-Dish: Roland Knall <rknall@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
2019-01-01Add a "failed" return for tap packet routines.Guy Harris1-1/+3
This allows taps that can fail to report an error and fail; a failed tap's packet routine won't be called again, so they don't have to keep track of whether they've failed themselves. We make the return value from the packet routine an enum. Don't have a separate type for the per-packet routine for "follow" taps; they're expected to act like tap packet routines, so just use the type for tap packet routines. One tap packet routine returned -1; that's not a valid return value, and wasn't one before this change (the return value was a boolean), so presume the intent was "don't redraw". Another tap routine's early return, without doing any work, returned TRUE; this is presumably an error (no work done, no need to redraw), so presumably it should be "don't redraw". Clean up some white space while we're at it. Change-Id: Ia7d2b717b2cace4b13c2b886e699aa4d79cc82c8 Reviewed-on: https://code.wireshark.org/review/31283 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-17Qt: Fix memory leak for CaptureEventRoland Knall1-1/+1
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-15Bugfix VoipCallsDialog tap handlingMichael Mann1-2/+2
voip's special tap unregistering should be happening when WiresharkDialog unregisters its taps. Change-Id: I8f28b1ed31617b47870cb7a429d43f52fb8c4a86 Reviewed-on: https://code.wireshark.org/review/25294 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-12-27Apply new CaptureEvents to statistics dialogs.Michael Mann1-4/+3
Refactoring from If366d42b07dc822636404ac44ba2306ec4418b4e ignored dialogs outside of the main window. Searched for removed signals from CaptureFile class and applied new CaptureEvent handling. Change-Id: I9e0aaa0dc1c702ce04810d27c8f9273997f7ca30 Reviewed-on: https://code.wireshark.org/review/25007 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
2016-06-26Qt: Try to fix un-maximize behavior on OS X.Gerald Combs1-1/+1
On OS X, create dialogs with valid parents so that we don't trigger QTBUG-46701. Document QDialog's "on top", maximize, and minimize behaviors. Bug: 12544 Change-Id: I32c0ef01dba3f7132e5fd0cd61f9feb654b92009 Reviewed-on: https://code.wireshark.org/review/16127 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-04-06Qt: Follow stream performance improvements.Gerald Combs1-1/+7
Make FollowStreamText a subclass of QPlainTextEdit instead of QTextEdit. For large amounts of text, the former should be less unbearably slow than the latter. Increase the maximum stream size to 500MB. This isn't perfect but it's much more usable than 2MB and much easier than the next step, which is to write our own text display widget. Process UI events while we fill in the stream data. This gives us behavior similar to the GTK+ UI and is similar to what we do in other dialogs. Switch from g_memdup+g_free to a QByteArray in the Qt UI and GByteArray in the GTK+ UI. Don't call readStream twice. Make sure we free all of our stream data in the Qt UI. This fixes a serious memory leak. Ping-Bug: 11777 Change-Id: Ibad9bde86692ae07a80660566d1e661ab8b64601 Reviewed-on: https://code.wireshark.org/review/14271 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-02-28Qt: Add dialog geometry restoreStig Bjørlykke1-4/+4
Add GeometryStateDialog class to handle load and save dialog geometry. The QDialog class name will be used as window name. For shared classes the UAT name or the statistics title or abbr will be used. Change-Id: I5a019598307fb3861518f41e733de834788184d8 Reviewed-on: https://code.wireshark.org/review/14139 Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2015-12-09Qt: various fixes to VoIP calls / RTP player windowsPascal Quantin1-1/+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-10-27Qt: Protect against unintentional "no capture file" window statusMichal Labedzki1-0/+1
If capture file was closed and we have some WiresharkDialogs opened, then we still need to know filename of capture file related to specific dialog. Change-Id: I15f0e5176b87713bf747eead64021619d0bdf039 Reviewed-on: https://code.wireshark.org/review/11025 Petri-Dish: Michal Labedzki <michal.labedzki@tieto.com> Reviewed-by: Gerald Combs <gerald@wireshark.org> Tested-by: Gerald Combs <gerald@wireshark.org>
2015-08-27More retapping fixups.Gerald Combs1-5/+10
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/+77
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-24Try deleting WiresharkDialog when we close it.Gerald Combs1-0/+3
QDialog::accept and ::reject hide the dialog but don't delete it. In the case of WiresharkDialog and its subclasses we might leak memory or leave files open. Call deleteLater when we close the dialog. Change-Id: Ie0b848a7deeeee4667925b0d886e498f13a86bfc Reviewed-on: https://code.wireshark.org/review/9781 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-03Add ServiceResponseTimeDialog.Gerald Combs1-1/+1
Add ServiceResponseTimeDialog as a subclass of TapParameterDialog, similar to StatsTreeDialog. Add initial plumbing for statistics menu items and command line invocation. Don't append "..." to menu item names. Don't add menu icons. In each case this avoids repetitive UI clutter. Change-Id: I463b95c93090160bb81d2e80b16aad389dc0bd6c Reviewed-on: https://code.wireshark.org/review/8864 Reviewed-by: Gerald Combs <gerald@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-02-14Qt: Fix side effects of recent WiresharkDialog changes.Gerald Combs1-1/+0
Quit the application when the main window closes. This cleans up any other top-level windows that might be open. Don't dereference a NULL pointer when opening the sequence dialog from the VoIP calls dialog. Change-Id: I9902d40ead1c5f2e541b6d79f3d957228e4e9687 Reviewed-on: https://code.wireshark.org/review/7107 Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-02-13Qt: Try to make some dialogs behave like windows.Gerald Combs1-1/+1
Initialize WiresharkDialog with a NULL parent. This should make its subclasses behave like independent windows. Change-Id: If84609eeba53a92780c0873a1243888998d2b26b Reviewed-on: https://code.wireshark.org/review/7094 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2015-01-30Qt: Add the RTP Streams dialog.Gerald Combs1-0/+1
Add keyboard shortcuts. Note that not all of the buttons made it from GTK+. Add a "Go to setup frame" option. Move rtp_streams.c from ui/gtk to ui. Add a help URL for RTP analysis (which needs to be split into streams + analysis). Fix RTP stream packet marking. Change-Id: Ifb8192ff701a933422509233d76461a46e459f4f Reviewed-on: https://code.wireshark.org/review/6852 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-12-30Qt: More WiresharkDialog conversions.Gerald Combs1-1/+1
Convert the Follow Stream and Export Objects dialogs. Change-Id: I8a4dda634f2f0475a24cf09601f76fb52069fe50 Reviewed-on: https://code.wireshark.org/review/6126 Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-12-29Wireshark Dialog (Qt): Add Modelines infoAlexis La Goutte1-0/+13
Change-Id: I6689f5a95c6dc051d660198fd58ae96967f3468f Reviewed-on: https://code.wireshark.org/review/6116 Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-12-29Qt: Add a WiresharkDialog convenience class.Gerald Combs1-0/+61
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>