Commit Graph

32 Commits

Author SHA1 Message Date
Michael Mann b0112e60ad Add a model to use for Expert Info dialog.
With the model (and proxy), the following features were added/fixed.
1. Expert severities can be filtered by type
2. Search filter expanded to include summary, protocol and column info
3. Expert info starts with all items collapsed.
4. Context menus for collapse/expand all

Bug: 11753
Bug: 13831
Bug: 13842
Change-Id: I8e89c7be441e1f08e18915ef8805609e5c5d0bd1
Reviewed-on: https://code.wireshark.org/review/22458
Reviewed-by: Michael Mann <mmann78@netscape.net>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
2017-12-13 16:07:07 +00:00
Gerald Combs 847585f938 More QVector fixes.
Change-Id: I710f9c9d5391a8f1252cc02fdd263a8dfedb31f6
Reviewed-on: https://code.wireshark.org/review/24730
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2017-12-08 02:22:00 +00:00
Gerald Combs 683087628b Qt: Fix ByteViewText compilation for Qt < 5.5.
Older versions of Qt don't let you pass a QVector to QVector::append.

Change-Id: I58d62c44aa915d4ffb8319e08db85eee069ecbb2
Reviewed-on: https://code.wireshark.org/review/24729
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2017-12-07 23:27:38 +00:00
Gerald Combs be8a400053 Qt: Use QTextLayout in ByteViewText.
Use QTextLayout to draw each line in ByteViewText instead of drawing
fragments ourselves. Build our pixel-to-byte-offset map when we draw our
first line, which should hopefully make it more accurate. This should
fix layout and hover issues on some systems.

Start moving common code to DataPrinter.

Mark prefs.gui_hex_dump_highlight_style GTK+ only.

Bug: 11844
Change-Id: Ifda16ae7dc1a5ea22570c0bfd0eb20cee621bfc9
Reviewed-on: https://code.wireshark.org/review/24717
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
2017-12-07 19:00:35 +00:00
Roland Knall 1470aeef4c Qt: Remove merge issue from Drag Drop
Remove a remissent merge artefact

Change-Id: I4c53d4b2adef124712091c40efccc1cad3db3301
Reviewed-on: https://code.wireshark.org/review/24521
Reviewed-by: Roland Knall <rknall@gmail.com>
2017-11-21 09:50:39 +00:00
Gerald Combs 23b6028e1d Qt: Remove an unused variable.
Change-Id: Iba1abe66cfa4d39e95cf85b9fc866789151127f9
Reviewed-on: https://code.wireshark.org/review/24517
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2017-11-21 00:23:12 +00:00
Roland Knall 6917ec769e Qt: Fix various smalles issues with drag-drop
Cleanup adding a filter and implement some
sanity checks in the drop code

Change-Id: I1778be16abdea3f93ed11fc610962c4a23f10a2f
Reviewed-on: https://code.wireshark.org/review/24505
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
2017-11-20 14:56:23 +00:00
Roland Knall 58a44aef23 Qt: ToolbarMimeData and display
Implement the mime data for the toolbar in the same fashion as it
has been done for the drag-drop of the field filter.

Change-Id: I2b1ac7f82b637c999f458700c9ab24a9e4dcbcb8
Reviewed-on: https://code.wireshark.org/review/24378
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
2017-11-12 22:17:29 +00:00
Roland Knall e13e2df9a1 Qt: Rename packetSelection to frameSelected
In order to consolidate the interfaces between certain parts of the UI,
the signal emitted after a frame change has occured, has to include the
number of the frame. This led to two signals for frame change, and therefore
packetSelection is to be removed.

Change-Id: I24e0e0890291d2243935b0c48387beb66904bfa3
Reviewed-on: https://code.wireshark.org/review/24377
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
2017-11-12 17:18:44 +00:00
Roland Knall 98ca698a37 Qt: Add Modifier to drop only field
Add a modifier to the drag-drop operation, to only drop the field
name as filter, instead of the complete filter expression

Change-Id: I9da96906575397191e821e3494a42e0f10d51f45
Reviewed-on: https://code.wireshark.org/review/24375
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
2017-11-12 10:49:08 +00:00
Roland Knall 8a6ea0e454 Qt: Further cleanup ByteView
This further separates ByteView and the rest of the system.

Using FieldInformation and DataPrinter, this is the final cleanup
of the ByteViewTab

Change-Id: If41521167527cf5664c2564cdd0d45fea0f3f612
Reviewed-on: https://code.wireshark.org/review/22783
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
2017-11-08 20:20:31 +00:00
Roland Knall 96735846be Qt: Clean Drag-n-Drop Mimetype for toolbar
Cleans up the mime type to use a class instead of a mimetype
string

Change-Id: I122ba9b39de86d8e263f2204715911a2b0ac75cd
Reviewed-on: https://code.wireshark.org/review/24286
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
2017-11-08 07:26:03 +00:00
Roland Knall 4d6454e180 Qt: Drag n Drop Filter expression from Packet Tree
Drag and Drop a field from the packet tree to the displayfilteredit
or the toolbar and drop it there to either apply the filter (or prepare
it by holding down the Shift key) or create a new toolbar button

Change-Id: I42645a02223c71315e91e0d58eb1b54ebab4fd58
Reviewed-on: https://code.wireshark.org/review/24280
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Reviewed-by: Roland Knall <rknall@gmail.com>
2017-11-08 07:25:54 +00:00
Roland Knall 68ead1d025 Qt: Fix drag-n-drop in toolbar
Fixing two crashes in the toolbar, first one only appeared on mac,
the second one happens every time the toolbar is removed or updated

Change-Id: Ic3075a5af1b4a566e09bbce9712c968c053cc727
Reviewed-on: https://code.wireshark.org/review/24244
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
2017-11-05 08:28:10 +00:00
Mikael Kanstrup a17bbc1841 qt: Fix some leaked menu objects
Calling QPushButton.setMenu and QMenu.addMenu does not transfer ownership
of the menu. Fix some leaks by letting "receiving" object act parent
for the menu object.

Bug: 14071
Change-Id: Id4edaf895503ef5dd4597eac99c2cdd6ad09b2ff
Reviewed-on: https://code.wireshark.org/review/23600
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-09-20 05:48:06 +00:00
Mikael Kanstrup 8a25ac7306 qt: Fix leaked style for OverlayScrollBar
The QWidget::setStyle method does not transfer ownership of supplied
style object. Fix leak by letting OverlayScrollBar free styles
created.

Bug: 14071
Change-Id: Ibc14cadfc6d012e8a909be21b4f8974009fa75f5
Reviewed-on: https://code.wireshark.org/review/23601
Reviewed-by: Michael Mann <mmann78@netscape.net>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-09-19 06:44:08 +00:00
Stig Bjørlykke 577671a160 Qt: Don't show text as invalid in disabled widgets
In Interface Toolbar the text widget should not be shown as invalid
when the widget is disabled.

Change-Id: I100a338216b34874064cb9f808a36703157811a4
Reviewed-on: https://code.wireshark.org/review/23549
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2017-09-15 12:51:13 +00:00
Stig Bjørlykke d38197bb67 Qt: Construct QRegExp only once
In Interface Toolbar lineedit the QRegExp only needs to be
constructed once, not for every validity check.

Change-Id: I39e9ab9c57b4ac64a0b9b601fa72646d8c420274
Reviewed-on: https://code.wireshark.org/review/23425
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2017-09-07 16:37:09 +00:00
Jens Kilian e9b8a5839f Qt: Fix errors when compiling for Qt4.
This allows Wireshark to be built on RedHat EL 7.2, with Qt 4.8.5.

Bug: 13909
Change-Id: Ia39a288cc342afa2bd0217cb59dac84c3227086c
Reviewed-on: https://code.wireshark.org/review/23322
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-08-31 12:02:41 +00:00
Jim Young 6f28f1a59e Fix MacOS build
Commit 8d13f14f95 introduced a
preprocessor buglet affecting MacOS builds.  Change #if to #ifdef.

Change-Id: I3d76c83428658abcf382e18066be0e24309ecbba
Reviewed-on: https://code.wireshark.org/review/23317
Petri-Dish: Jim Young <jim.young.ws@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Jim Young <jim.young.ws@gmail.com>
2017-08-31 06:29:25 +00:00
Gerald Combs 8d13f14f95 Qt: Temporarily disable DP scaling on non-macOS systems.
Enable device pixel scaling in QCustomPlot only on macOS. Blind attempt
at diagnosing / fixing bug 14012.

Change-Id: I95e38eaa072d69aef0fe1d642951603800c3a280
Ping-Bug: 14012
Reviewed-on: https://code.wireshark.org/review/23314
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2017-08-30 20:54:05 +00:00
Mikael Kanstrup 8873c7e494 iface_lists: Access all_ifaces member by reference
Change access of all_ifaces elements from by val to by reference.
With this change unnecessary copying of the whole struct is avoided
but even more important is that elements no longer have to be
removed and inserted whenever data is updated.

This change aims to make it more clear that all_ifaces elements
shall never be removed from the array without freeing resources
via the capture_opts_free_interface_t function.

NOTE: Code for GTK UI not updated

Ping-Bug: 13864
Change-Id: I36742cb1d5c8daa136c9d3732a044a7c8e5c7fe7
Reviewed-on: https://code.wireshark.org/review/23201
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-08-28 14:41:43 +00:00
Alexis La Goutte f4781f3655 editor_file_dialog (qt/widgets): fix indent (use 4 spaces)
Change-Id: I507737879c2e24cdca6d305b8e3775967071f1c3
Reviewed-on: https://code.wireshark.org/review/23028
Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-08-09 14:07:14 +00:00
Michael Mann 5b3e3ee587 Use UAT model for I/O graph
Convert from using TreeWidgetItems to UAT model/delegate.  More of the GUI
is "just handled" within the table.
Required to add support for "colors" and "protocol fields" to UAT types.
Also needed to add some hacks for "custom" UAT field handlers for
backwards compatibility with the existing UAT structure used.

Because UAT functionality was switched completely to the model, some
information in the table was "lost in translation" because the UATs
themselves aren't translated to other languages.

TODO:
2. Better "order of operations"?  A bunch of NULL/size checks needed to be added to prevent crashing.
Now with model/"view" should events/functions be reordered?

Bug: 13585
Change-Id: I2bbba78182317c4fada07b927c05d0c6f4cdc0fe
Reviewed-on: https://code.wireshark.org/review/22766
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-08-07 17:25:02 +00:00
Michael Mann ff7a6305a7 Use proper tab order for "file types" in UAT "table".
Directory and File "UAT types" have been using a separately launched
dialog, instead of an "editor", so it breaks "tab rules".  Create and
treat (File) dialog as an editor.

Change-Id: I983728abefb0cdd79899468a800328f1b56e2910
Reviewed-on: https://code.wireshark.org/review/22886
Reviewed-by: Michael Mann <mmann78@netscape.net>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-08-07 04:53:42 +00:00
Alexis La Goutte 32b446d5a8 Define Q_NULLPTR as NULL if not already defined
it is not supported with Qt 4.x

Change-Id: Ie98d5e03d471869e08f5354a509c3317c7c780d7
Reviewed-on: https://code.wireshark.org/review/22831
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-07-30 05:21:37 +00:00
Roland Knall ddfc1d37cc Qt: Move utils to separate utils directory
Following the move for widgets directory, moving utils
to the utils directory. Guidelines for this directory are:

 - Generic use but not a widget
 - Utility functionality used by many classes
 
 Note: additionally all includes affected by this move have been changed
 to absolute path includes, instead of relative ones.

Change-Id: I019ae4b6e6f6d06a5745a63ed195edbd36fb936b
Reviewed-on: https://code.wireshark.org/review/22602
Petri-Dish: Roland Knall <rknall@gmail.com>
Reviewed-by: Roland Knall <rknall@gmail.com>
2017-07-26 10:11:55 +00:00
Peter Wu 4beb7430d4 Qt: refactor UatTreeView into something reusable
UatTreeView had two functions:
 1. Saner navigation functionality when pressing tab.
 2. Start editing when the currently selected item changes.

Since this tab navigation functionality is desired in more places,
extract this functionality. Add more documentation while at it and use
an alternative, declarative style to connect signals.

Move the second functionality to the caller since not all views need it.

Change-Id: Ibe886f2c2763dbe024614203a44b72173fbbce06
Reviewed-on: https://code.wireshark.org/review/22639
Petri-Dish: Michael Mann <mmann78@netscape.net>
Reviewed-by: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-07-16 14:47:01 +00:00
Gerald Combs b0ac5f449d Remove some unneeded includes.
Change-Id: I513936a74fe96211153fdf35f1832608b2cd053d
Reviewed-on: https://code.wireshark.org/review/22617
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>
2017-07-14 04:49:28 +00:00
Roland Knall ee699eb720 Qt: Move all utility widgets to widgets subdirectory
Move all utility widgets to the widgets subdirectory and
add separate source_group for their files

Correct some alphabetization in ui/qt/CMakeLists.txt noticed
during compare.

Change-Id: I2d664edc2b32f126438fb673ea53a5ae94cd43d1
Reviewed-on: https://code.wireshark.org/review/22531
Petri-Dish: Michael Mann <mmann78@netscape.net>
Reviewed-by: Roland Knall <rknall@gmail.com>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-07-11 21:30:29 +00:00
Roland Knall a2fe8be603 Qt: Add convenience function and cleanup
Add a convenience function for the displayfilter combobox
and clean up some code. On Linux, the AltModifier does not work
as it is being used by xDMs to move the window around. Setting
it to Shift.

Change-Id: I1ee9638c1cf37f40dc21f19c4e0860adc4629d4e
Reviewed-on: https://code.wireshark.org/review/22529
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Reviewed-by: Roland Knall <rknall@gmail.com>
2017-07-06 13:21:10 +00:00
Roland Knall 8020be30fd Qt: Drag/Drop Filter buttons to order
Allow the ordering of the filter buttons via drag/drop in
the toolbar

Change-Id: Id8793d6514bae36066a7a23d6890985665e753bd
Reviewed-on: https://code.wireshark.org/review/22422
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Roland Knall <rknall@gmail.com>
2017-06-28 15:09:03 +00:00