Commit Graph

38 Commits

Author SHA1 Message Date
Stig Bjørlykke bd857b6a9c Qt: Use the text "Initializing external capture plugins"
Change-Id: Ic46dc0220722bf6ae3af857dcdac83d451772262
Reviewed-on: https://code.wireshark.org/review/25301
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2018-01-13 18:12:54 +00:00
Dario Lombardo e80b40adbe extcap: remove conditional compilation.
Change-Id: Ia54bba388755cf27a343fe6d69d244bf1ab897f9
Reviewed-on: https://code.wireshark.org/review/25186
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-01-08 05:50:15 +00:00
Gerald Combs 9761e27939 Qt: Process our event loop less often at startup.
Add back info_update_freq_ and use it to skip event loop processing.

Change-Id: Id36b4786c5ff1458abbf12f4e9ded13c56e14d57
Reviewed-on: https://code.wireshark.org/review/24876
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-12-18 04:25:34 +00:00
Gerald Combs 99ea13988d Qt: Speed up the splash overlay.
Instead of blurring the main welcome screen during startup, draw a dark
band under the progress bar. This reduces the startup time a bit here.

Port over a date check from the GTK+ UI.

Change-Id: I997d0fd2e4320702fe85ee2aea02ce835a423df9
Reviewed-on: https://code.wireshark.org/review/24711
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-12-06 00:46:38 +00:00
Gerald Combs ac1d52aff5 Register protocols and handoffs in separate threads.
Instead of interleaving protocol registrations and status callbacks in
the main thread, move protocol registrations to a worker thread. Do the
same with protocol handoffs. This *should* be safe since the status
callbacks only update the UI.

This reduces startup time by about 200ms on my laptop:

Run     OS    Thread?    Time
  1   macOS      N      340 ms
  2   macOS      N      260 ms
  3   macOS      N      252 ms
  4   macOS      Y      147 ms
  5   macOS      Y      146 ms
  6   macOS      Y      142 ms
  7   Win 7      N       80 samples
  8   Win 7      N       56 samples
  9   Win 7      N       75 samples
 10   Win 7      Y       31 samples
 11   Win 7      Y        2 samples
 12   Win 7      Y        0 samples

macOS was sampled using Instruments. Windows 7 was sampled using the
Visual Studio 2015 profiler.

We should do the same thing with our capture and tap event loops, but
that will likely require quite a bit more work.

Change-Id: Iac9a81d8f71668f5979b524744a03f6d80aee893
Reviewed-on: https://code.wireshark.org/review/24447
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-11-16 06:11:55 +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
Gerald Combs 912aaf0304 Adjust startup count for extcap.
The number of extcap splash items is the number of extcap binaries plus
RA_EXTCAP.

Change-Id: I9702da5a94e244ddd95a845a67da9302ee41c826
Reviewed-on: https://code.wireshark.org/review/19981
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>
2017-02-07 05:15:59 +00:00
Guy Harris 29aa8893ea Do RA_DISSECTORS in the Qt UI.
It looks as if a fair bit of work is done under RA_DISSECTORS before we
register any individual items, so add it to the splash screen update
with the Qt UI - it's used in the GTK+ UI.

Update a comment to explicitly indicate what action transactions are
being counted (other than the individual-item ones, where we have to
call routines that give us a count of items).

Change-Id: I3ec5e5fbfdcf523d693bcf1b0f0ffbe0d05d61ae
Reviewed-on: https://code.wireshark.org/review/19553
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-01-05 04:04:19 +00:00
Guy Harris 229f573846 Remove RA_CONFIGURATION.
It's not used at all in the Qt UI, and the point at which it's used in
the GTK+ UI doesn't involve reading configuration files - between it and
RA_INTERFACES, some mostly quick command-line argument processing is
done.

Change-Id: Ib4de97c8b6dba658a6e9d8f596b551f7c45739d2
Reviewed-on: https://code.wireshark.org/review/19551
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-01-05 02:46:00 +00:00
Guy Harris 26430ff647 Include extcap binaries in the count of things to point out during startup.
The GTK+ version, at least, crashes if there are more "doing XXX..."
items put up than the calculated count, so, now that we're putting up
items for extcap binaries, we need to count the extcap binaries.

Clean up some stuff we found doing this (indentation, a _U_ on something
that's used).

Change-Id: I1f88042b64ce4b9ae352de37689677c694e3770b
Reviewed-on: https://code.wireshark.org/review/19549
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-01-04 22:10:48 +00:00
AndersBroman 9e7e30e674 Add a startup message for Initializing extcap.
Change-Id: I06262e98bb4a55ee1eacd7a36b938b45eaffaf76
Reviewed-on: https://code.wireshark.org/review/19535
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-01-04 12:46:46 +00:00
Dario Lombardo 5f69a2fa53 Qt: add initializer (CID 1159360).
Change-Id: I0ade3925497022d5ac16e66c02727be7fd9f4aa5
Reviewed-on: https://code.wireshark.org/review/16274
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2016-07-04 04:48:32 +00:00
Gerald Combs 4addfc67b4 Add an RA_INTERFACES register action.
Add RA_INTERFACES between RA_PREFERENCES and RA_CONFIGURATION. Wireshark
was spending a suspiciously long time loading module preferences here.
(Now we just need to find out why that section of the code is slow.)

Change-Id: Iecbe55e8e10c8844bcb151a13e383cb13a3f6eb1
Reviewed-on: https://code.wireshark.org/review/16133
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-26 06:22:46 +00:00
Gerald Combs e6a65afd3e Qt: Try to speed up SplashOverlay
Limit the amount of event processing SplashOverlay does. Let QWidget
take care of painting.

Change-Id: I9176baeba2cc9203e50c02029d85689f8908daba
Reviewed-on: https://code.wireshark.org/review/14771
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-04-02 00:03:23 +00:00
João Valverde c00420efa2 Move utf8_entities.h to wsutil
Change-Id: I6298b3de5f0a1cb988014ff16082eaf8c2a3c3c0
Reviewed-on: https://code.wireshark.org/review/10786
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-10-05 14:34:53 +00:00
Gerald Combs 43b77aeebf Qt: Add an event processing timer.
When updating the progress dialog (which happens each time we read a
packet) the GTK+ UI processes application events every 100ms. Do the
same in the Qt UI.

Ping-Bug: 11515
Change-Id: Ic53eade05c0b82bf436c08618f28506c5fcdbc94
Reviewed-on: https://code.wireshark.org/review/10554
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-09-17 20:25:14 +00:00
Stig Bjørlykke ecc4f756bd Added Reload Lua plugins.
This is initial support for reloading Lua plugins without
restarting the application.

Still todo:
- Deregister FileHandlers
- Support deregister ProtoField with existing abbrev (same_name_hfinfo)
- Add a progress dialog when reloading many plugins
- Search for memory leakages in wslua functions

Change-Id: I48870d8741251705ca15ffe1068613fcb0cb18c1
Reviewed-on: https://code.wireshark.org/review/5028
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2015-08-11 12:09:07 +00:00
Gerald Combs 4bba83bd9c Reset the splash timer after processing events.
Change-Id: Id71a3ac5e8f04df6a19e92021e47ea64728c2595
Reviewed-on: https://code.wireshark.org/review/9936
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-08-09 00:03:47 +00:00
Gerald Combs 240105eaec Fixup the Qt splash overlay progress calculations.
Fix a couple of issues in the way we calculate the splash overlay
progress.

Avoid unnecessary repaints.

Change-Id: I1f4800b2c2836b67ca9ff3d6d24af150f4379ba9
Reviewed-on: https://code.wireshark.org/review/9916
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-08-07 20:23:07 +00:00
Stig Bjørlykke c90fcba042 Lua: Count Lua plugins in splash screen
This will avoid slow startup when having many Lua plugins.

Change-Id: I67b5f38108a5c500682bc727734375da5fa762c8
Reviewed-on: https://code.wireshark.org/review/9910
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>
2015-08-07 16:17:41 +00:00
Gerald Combs 6d33c124d5 Add display_is_remote.
Add a display_is_remote function and use it instead of get_conn_cfilter
to check for remoteness.

Change-Id: Ia93d113afec36ede55daf7dc8394b2dc0d8c9abf
Reviewed-on: https://code.wireshark.org/review/9659
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-07-16 16:17:33 +00:00
Joerg Mayer 21754f43e1 Starting to get rid of Q_UNUSED declarations for unused function parameters.
The official C++ way is to leave out the variable name instead. This has the
advantage to be reliable: In one case a variable declared unused was later
used.

Change-Id: I1c96636f7fa7a621d1594d1e9cacaec75c561faa
Reviewed-on: https://code.wireshark.org/review/9532
Reviewed-by: Jörg Mayer <jmayer@loplof.de>
2015-07-07 06:29:31 +00:00
Martin Kaiser 534d1d5eae Qt: use <> for including the generated ui_*.h files
this should make Visual Studio pick up the generated include files
from the build directory instead of the source directory (which may
contain lefovers from an in-tree build)

Change-Id: Ie3de4cdd85a2865e203118a42ab10f443372f03b
Reviewed-on: https://code.wireshark.org/review/9129
Petri-Dish: Martin Kaiser <wireshark@kaiser.cx>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-06-25 17:11:19 +00:00
Stig Bjørlykke 0347ff9d06 Remove unused RA_PYTHON_REGISTER and RA_PYTHON_HANDOFF.
Change-Id: Ia2bccb46be79a934dce447ec04dd81e12df9e131
Reviewed-on: https://code.wireshark.org/review/5021
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2014-10-31 12:10:59 +00:00
Dario Lombardo 9b7ee18f8b Typos in source code and in README.qt
Change-Id: I5aef31ef7ad604352f6e108835f0e9c2d10cdf8a
Reviewed-on: https://code.wireshark.org/review/4706
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2014-10-15 16:43:14 +00:00
Gerald Combs b5aa0d2a4f Qt: Try to reduce the initialization time.
Change-Id: I4f7e9abee9ebb7ecc862e2122bc47ec65252c3ec
Reviewed-on: https://code.wireshark.org/review/4410
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-10-01 22:03:45 +00:00
Jeff Morriss f113306e0e More Python-bindings removal.
Change-Id: I4d82175781e65c73179f4c8e737a7900cb050bce
Reviewed-on: https://code.wireshark.org/review/2283
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
2014-06-16 23:14:05 +00:00
Alexis La Goutte 296591399f Remove all $Id$ from top of file
(Using sed : sed -i '/^ \* \$Id\$/,+1 d')

Fix manually some typo (in export_object_dicom.c and crc16-plain.c)

Change-Id: I4c1ae68d1c4afeace8cb195b53c715cf9e1227a8
Reviewed-on: https://code.wireshark.org/review/497
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-03-04 14:27:33 +00:00
Gerald Combs c37cd6b66f Fix the white-rectangle-at-startup artifact with the help of GammaRay[1].
Make extra_split_ a member variable again. Make it and master_split_
full-on values. Set various parent/child relationships at startup
so that each widget is associated with a layout (which appears to be
the actual fix).

Make the throttled startup delay huge so that it's easier to browse
using GammaRay.

[1] https://github.com/KDAB/GammaRay

svn path=/trunk/; revision=52386
2013-10-05 22:39:49 +00:00
Evan Huus fca3bb6ad4 Restart the splash timer *after* the paint has completed, so that in situations
when the paint takes a long time (for very large windows, or on older machines)
that doesn't cause every single event to paint (which slows the whole thing to
a crawl). Drop the splash timer to 15ms, since we're no longer counting paints
this seems like a more appropriate value. The old value of 50ms would causing
the splash to only paint once or twice during startup.

svn path=/trunk/; revision=51914
2013-09-10 01:08:07 +00:00
Alexis La Goutte bba1a7a599 Add Some missing text to translate
svn path=/trunk/; revision=47182
2013-01-20 18:33:06 +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 091aabbd6c Check for a remote connection and change our update frequency accordingly,
similar to the GTK version.

svn path=/trunk/; revision=45941
2012-11-05 22:43:15 +00:00
Gerald Combs 4244e4480e Fix a variable name.
svn path=/trunk/; revision=45939
2012-11-05 22:25:06 +00:00
Gerald Combs a2ddc6acc4 Enable the splash screen blur on OSes other than OS X.
svn path=/trunk/; revision=45935
2012-11-05 19:58:06 +00:00
Gerald Combs 64c6710857 Have InterfaceTree wait until the application is initialized to start
gathering statistics. This fixes behavior broken by the recent startup
changes.

Enable and disable the SplashOverlay delay via a #define.

svn path=/trunk/; revision=45934
2012-11-05 19:11:11 +00:00
Gerald Combs dc4ebc3f47 Comment out an include.
svn path=/trunk/; revision=45933
2012-11-05 16:36:34 +00:00
Gerald Combs 56546f1b91 Move the MWOverlay code into its own class, SplashOverlay. Use it to
implement a splash screen.

svn path=/trunk/; revision=45912
2012-11-05 03:54:21 +00:00