Commit Graph

93 Commits

Author SHA1 Message Date
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
Michael Mann dbe9be2f06 Qt: Cleanup cases where QTreeWidgetItem is no longer used
Change-Id: Ib2b6d4f73a6c9f1dacb728f6275a240487a73a02
Reviewed-on: https://code.wireshark.org/review/25149
Petri-Dish: Michael Mann <mmann78@netscape.net>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
2018-01-05 03:26:54 +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
João Valverde a269ae1b6a Rename "ws_version_info.h", also .c
It's not installed so like most other files it doesn't need or benefit
from the prefix.

Change-Id: I01517e06f12b3101fee21b68cba3bc6842bbef5c
Reviewed-on: https://code.wireshark.org/review/23751
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: João Valverde <j@v6e.pt>
2017-09-26 17:32:08 +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
Gerald Combs f155beb094 Qt: Fixup the welcome screen stylesheet.
Pass in a QString argument only when we have a placeholder. Fixes a

    QString::arg: Argument missing: MainWelcome { ...

warning on Windows.

Change-Id: I42dd155252bd9fd4f21f0112b62044c7397c9810
Reviewed-on: https://code.wireshark.org/review/22934
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-08-04 05:56:18 +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 0e0c9a1a7a Qt: Don't clobber the itemview hover behavior on Windows.
Change-Id: I47a8087a1d3303baec9b598135c3f8a3021dadbe
Reviewed-on: https://code.wireshark.org/review/22707
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2017-07-18 23:05:37 +00:00
Gerald Combs 32ec45dc92 Qt: More Main Welcome interface tweaks.
ge036f4a282 didn't ensure that an interface was selected at app startup.

Change-Id: I0b04020a344aaf8e35766a45287fe263d1227c64
Reviewed-on: https://code.wireshark.org/review/22656
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-07-17 00:41:09 +00:00
Stig Bjørlykke 1ed38dc2be Qt: Main Welcome hover text color fix.
Use the default text color for hovered items.  This makes the
selected item look the same as non-selected items when hovering.

Change-Id: Ic9e18323326f088202207ac15f844e7849f7ebc9
Ping-Bug: 12636
Reviewed-on: https://code.wireshark.org/review/22632
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-07-16 19:40:22 +00:00
Peter Wu 569b1d4468 Qt: fix build without libpcap and without extcap
global_capture_opts is only defined when libpcap or extcap are enabled.

Change-Id: If692a7ac365b77d9efc52f589fef1aa906d5d14e
Fixes: v2.5.0rc0-425-ge036f4a282 ("Qt: Main Welcome behavior tweaks.")
Reviewed-on: https://code.wireshark.org/review/22629
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-07-16 02:42:04 +00:00
Gerald Combs e036f4a282 Qt: Main Welcome behavior tweaks.
Update the recent item list and interface tree style sheets so that
hovered items have a different background color. This should make it
more obvious that they can be clicked.

Select the default interface (or failing that, the first interface) at
application startup and focus on the interface tree. This should make it
less likely that the user will start typing in a capture filter with the
wrong (or no) interface selected.  Note that we should probably track
selected interfaces in the recent file instead of forcing the user to
select one via the preferences.

This should hopefully address some of the issues in bug 12636 and do so
without changing the layout (which we can do in another commit).

Change-Id: I96a417973f4270a70f41d04c40c4947a09613bdc
Ping-Bug: 12636
Reviewed-on: https://code.wireshark.org/review/22627
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-07-15 06:22:23 +00:00
Guy Harris 357cfd3b03 A bunch of "{Mac} OS X" -> "macOS" changes.
Avoid anachronisms, however; there was no "macOS 10.0" or even "OS X
10.0", for example.  It was "Mac OS X" until 10.8 (although 10.7 was
sometimes called "OS X" and sometimes called "Mac OS X"), and it was "OS
X" from 10.8 to 10.11.

Change-Id: Ie4a848997dcc6c45c2245c1fb84ec526032375c3
Reviewed-on: https://code.wireshark.org/review/20933
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-04-05 19:16:22 +00:00
Peter Wu 601fe5e351 Qt: propagate selection from main screen to dialog
Ensure that the selection in main screen is updated on refreshing
interfaces (InterfaceFrame::interfaceListChanged). Add additional
patches to ensure that selection changes from the main screen propagate
to the dialog and be careful to avoid infinite recursions.

Life of a signal for InterfaceFrame:

    ui->interfaceTree->selectionModel emits selectionChanged
    -> slot InterfaceFrame::interfaceTreeSelectionChanged
      -> emits InterfaceFrame::itemSelectionChanged
        -> slot MainWelcome::interfaceSelected
           -> emits MainWelcome::interfacesChanged
              -> slot CaptureInterfacesDialog::interfaceSelected
                 (updats dialog selection)

Life of a signal for CaptureInterfacesDialog:

    ui->interfaceTree emits itemSelectionChanged
    -> slot CaptureInterfacesDialog::interfaceSelected
       (emission of next signal because sender is ui->interfaceTree)
       -> emits CaptureInterfacesDialog::interfacesChanged
          -> slot InterfaceFrame::updateSelectedInterfaces
             (updates main screen selection)

This should probably be updated to model/view with shared selection
model in the future.

Change-Id: Ibb32c201a92bd2f1310523b3e6e63b03209c9ce4
Reviewed-on: https://code.wireshark.org/review/20487
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2017-03-29 15:16:56 +00:00
Peter Wu a539036339 Qt: reduce minimum window size requirement
Strip some padding from the main welcome screen and lower the minimum
width to allow the window to be shrinked. Even when a capture file was
open, the minimum dimensions from the main welcome screen would apply.

The minimum dimensions on Arch Linux with Qt 5.8.0-5 and Plasma 5.9.2
(with the default Breeze theme) for a window have changes as follows:
 - main screen/pcap loaded: 746x626 -> 702x590
 - with search bar opened:  826x658 -> 826x622
(These numbers exclude 35x10 window decoration.)

Change-Id: Iccc43ee55803abb8105c0d9664368aab09e8cfcf
Reviewed-on: https://code.wireshark.org/review/20343
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2017-03-03 16:18:56 +00:00
Gerald Combs 414c132458 Qt: Handle retranslation events in the main window.
Update most (but not all) of the main status bar text when the user
changes the language setting.

Try to distinguish between recent preferences and recent captures more
clearly.

Change-Id: I5278a503178fe3620a25b185742688f957dc30f4
Ping-Bug: 11307
Reviewed-on: https://code.wireshark.org/review/9575
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: Michael Mann <mmann78@netscape.net>
2016-11-10 13:25:20 +00:00
Martin Kaiser 44cf0bdccf main_welcome: include QUrl
This fixes compilation with Qt4.

.../main_welcome.cpp: In member function ‘void MainWelcome::on_helpLabel_clicked()’:
.../main_welcome.cpp:509:69: error: invalid use of incomplete type ‘class QUrl’

Change-Id: Ib31a4e28f67a27d3f644e8a8cfd3e6d848e034c4
Reviewed-on: https://code.wireshark.org/review/18388
Reviewed-by: Martin Kaiser <wireshark@kaiser.cx>
2016-10-22 16:11:55 +00:00
Gerald Combs a63b5eb711 Qt: Make "Learn" on the welcome screen clickable.
Make the "Learn" header a ClickableLabel to match "Open" and "Capture".
Link to the docs page for now. Adjust its stylesheet and properties to
match ast well.

Change-Id: Id9c7c05269de8134af28f0f9c1e2820a60442236
Reviewed-on: https://code.wireshark.org/review/18358
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-10-22 06:32:50 +00:00
Roland Knall 961b05315d WelcomeUI: Make Open and Capture clickable
Make the texts "Open" and "Capture" clickable, and have them open
the FileOpen and CaptureOptions dialogs respectively

Change-Id: I2a3efbc4cdf160aa0b4efc6496d09228affbff46
Reviewed-on: https://code.wireshark.org/review/18303
Reviewed-by: Jaap Keuter <jaap.keuter@xs4all.nl>
Petri-Dish: Jaap Keuter <jaap.keuter@xs4all.nl>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-10-20 05:09:58 +00:00
Gerald Combs 41e9bbac91 Qt: Main welcome show/hide interface updates.
Pluralize the text in the main welcome show/hide interfaces button.
Remove the styling, which matches other places we use a pushbutton +
menu.

Change-Id: I7559f98d0c1afbfb2920b09c3885d9b1fbdf76f1
Reviewed-on: https://code.wireshark.org/review/18260
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Reviewed-by: Roland Knall <rknall@gmail.com>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2016-10-18 14:04:05 +00:00
Roland Knall 81904c70a8 InterfaceList: Change Buttons to combobox
Change the buttons to a combobox selector, and move that selector
to the right of the capture filter box.

Bug: 12971
Change-Id: Ib85d51cca128ed76eb08886e92660ede51d5982f
Reviewed-on: https://code.wireshark.org/review/18186
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Roland Knall <rknall@gmail.com>
2016-10-17 14:43:22 +00:00
Roland Knall 99097dd3c6 Interface List: Change display to view/model
This changes the underlying model of the main interface tree.
Because of that, we can resort to a view/model approach, enlisting
the global interfaces list as only data source.

The interface list works identical to the old list, but allows
for filtering of the displayed interfaces by type. Only types, which
are present and whose interfaces are not hidden, are being displayed
for selection.

Change-Id: If8475b227daa026dc0ad3d25bc7fe050d5bf2ac3
Reviewed-on: https://code.wireshark.org/review/17940
Reviewed-by: Roland Knall <rknall@gmail.com>
2016-10-01 13:18:51 +00:00
Stig Bjørlykke 4ed3518c05 Qt: Added option to Remove from recent files list
Change-Id: If87e1bf4796d45582bc2490720683e4072971f56
Reviewed-on: https://code.wireshark.org/review/17804
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2016-09-19 20:49:01 +00:00
Stig Bjørlykke fb7a60e611 Qt: Clear open files list when clear recent menu
Remove all recent files from the main welcome page when clearing
recent files from the menu.

Change-Id: Ic410a729e63d82ee58b6bbb31f7e4a658b17d794
Reviewed-on: https://code.wireshark.org/review/17456
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>
2016-09-02 17:48:10 +00:00
Guy Harris 3f49e897f6 Pull quit_after_cap out of the global capture options.
Really, all the GUI-related options should be pulled out, so they're not
cluttering up dumpcap and tshark.

Change-Id: I0276dee2be48bae3498a819d8c0c2747fe1352e7
Reviewed-on: https://code.wireshark.org/review/16180
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-06-28 00:21:53 +00:00
Gerald Combs 8b6ea372c1 Qt: Make the capture filter read-only only in main welcome.
As noted in gb7897dd, CaptureFilterCombo needs to be read-only until the
app is initialized. Move the code to do so to MainWelcome, otherwise the
capture filter entry in CaptureInterfacesDialog starts out read-only and
stays that way. Disable / enable the entire CaptureFilterCombo instead
of setting its lineEdit read-only status, which provides a stronger
visual indicator.

Change-Id: Ic7bf5b5631b861ecf4dc8cca67beb5bf4ed27510
Reviewed-on: https://code.wireshark.org/review/15859
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-13 13:14:38 +00:00
Gerald Combs 3f48ef41c3 Qt: Add accessible names to main welcome widgets.
Make sure all of the widgets in the main welcome tab loop have their
AccessibleName properties set.

Set AccessibleTextRole for each of the items in the recent file list and
in the interface list.

Ping-Bug: 9284
Change-Id: I247ce7ed68eda82a27a34d98a4bab1bcbed760b5
Reviewed-on: https://code.wireshark.org/review/15405
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2016-05-17 23:52:38 +00:00
Gerald Combs cf66bdb42f Qt: Delete recent items.
QListWidget::takeItem removes an item from the list but doesn't free it.
Call delete instead.

Change-Id: I81b1315d0851518935f542c53455b283e26e5dc5
Reviewed-on: https://code.wireshark.org/review/15474
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: Michael Mann <mmann78@netscape.net>
2016-05-17 11:09:04 +00:00
Gerald Combs 43776d4b73 Qt: Fix a recent files infinite loop.
QListWidget::takeItem does nothing if the row is invalid. This is the
case when we pass it ::count(). Make sure that we remove a valid row and
that our loop will terminate.

Follow-up to g174dc98.

Change-Id: I7e695cc04b2f3b5c28a8cc70af0579d787ff8737
Reviewed-on: https://code.wireshark.org/review/15417
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-05-13 20:07:42 +00:00
João Valverde 3db13a7fc9 Link version code statically again
This allows keeping the code-sharing with the static linking.

This "fixes" a hypothetical ABI mismatch with wsutil and avoids pulling more
external dependencies to wsutil than strictly necessary.

A nice side-effect is that libwsutil no longer depends on version.h.

Follow up to f95976eefc.

Change-Id: I8f0d6a557ab3f7ce6f0e2c269124c89f29d6ad23
Reviewed-on: https://code.wireshark.org/review/15002
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: João Valverde <j@v6e.pt>
2016-04-21 18:59:56 +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 52dd4fb633 Fix building without extcap enabled
Using cmake -DENABLE_EXTCAP=no or ./configure --without-extcap.

Some documentation fixes too.

Change-Id: Iebf9c843d67e10a32de1a62904de8f88b872ec99
Reviewed-on: https://code.wireshark.org/review/14522
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: João Valverde <j@v6e.pt>
2016-03-21 17:10:21 +00:00
João Valverde 4dae247ed2 Qt: Remove unused version.h header
Change-Id: I3f9f38b2077077aca6106e22abe337bf724f33e7
Reviewed-on: https://code.wireshark.org/review/14379
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: João Valverde <j@v6e.pt>
2016-03-07 22:49:28 +00:00
Gerald Combs 070fc33e85 Qt: Update selected interface filter behavior.
Change the selected interface behavior in the main window and the
capture interfaces dialog to better handle multiple selections. Attempt
to document this at the top of interface_tree.cpp.

Move the default capture filter code from CaptureFilterEdit to
MainWelcome. Add a "conflicting filter" check to CaptureEdit which
updates the placeholder text.

Handle conflicting filters in the main welcome screen and the capture
interfaces dialog. Propagate interface selections and filter updates in
the capture interfaces dialog to the main welcome screen.

Consolidate some of the interface handling code in InterfaceTree and
CaptureInterfacesDialog.

Make sure CaptureInterfacesDialog manages the global capture options by
device name instead numeric index.

Start deprecating prefs.capture_devices_filter and
capture_dev_user_cfilter_find.

Change some member function names so that they're hopefully more clear
and consistent.

Ping-Bug: 11886
Change-Id: I63b06dbae29c2c45ee9252092ad54bdcbacae6e6
Reviewed-on: https://code.wireshark.org/review/14129
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2016-02-26 17:28:04 +00:00
Gerald Combs e57bb1919c Make Qt UI capture filter behavior more closely match the GTK+ UI.
If the user enters a capture filter in the Capture Interfaces dialog and
presses "Start", make sure we copy the filter to the main welcome
screen.

Back out capture filter code from g0ce9ac4. Leave out the code that set
the global capture filter. Move the code that set individual capture
filters to the welcome screen.

Fix multiple interface selection in the welcome screen.

Rename allFilterComboBox in the capture interfaces dialog to
captureFilterComboBox to match the main welcome screen.

If the user starts typing in captureFilterComboBox, make sure the
"Capture Filter" column is visible. Update the "Capture Filter" column
as the user types. Conversely, if the user edits the "Capture Filter"
column, update captureFilterComboBox accordingly.

If we're editing a per-interface filter make sure we commit its contents
before starting capture.

Map our device index directly to each tree item instead of using a
separate map which will no longer be valid any time our sort order
changes (which we do right away in our constructor).

Don't set prefs.capture_devices_filter in the Qt UI. The GTK+ UI doesn't
and doing so can lead to surprising behavior. Note that it's mostly
unused.

Note that we don't multiple selected filters very well.

Ping-Bug: 11886
Change-Id: I3c052f4f464411e2fb8fb7d96b218e1ce2bac3fd
Reviewed-on: https://code.wireshark.org/review/13410
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2016-01-27 16:13:19 +00:00
Stig Bjørlykke 720f57d000 ui: Code cleanup
Fixed code layout to use common style in the file.
Mostly whitespace changes.

Change-Id: Id37b57717a9e26248fad07322dff09b1d1f45ac2
Reviewed-on: https://code.wireshark.org/review/13504
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-01-23 23:15:54 +00:00
Peter Wu 174dc98892 Qt: fix infinite loop when gui_recent_files_count_max is negative
Change-Id: I7cfddd865ebe0cd01230e19bf20fee7964c40324
Reviewed-on: https://code.wireshark.org/review/13155
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-01-10 08:07:31 +00:00
Gerald Combs 8a23da3fd2 Revert "Qt: Try to fix Main Welcome Interfaces List Scrollbar"
Instead of calling InterfaceTree::reset (which clears our selection)
when we resize, just pass our resize event to QTreeWidget.

Additionally, select our default interface using setCurrentItem. This
fixes behavior broken in gb152ca3.

This reverts commit 7baac67149.

Bug: 11733
Change-Id: I58855de38561fcb6984273ae3910c0dfcda04e69
Reviewed-on: https://code.wireshark.org/review/13135
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-01-08 22:46:09 +00:00
Gerald Combs 0ce9ac4137 Add a Busy status to SyntaxLineEdit.
For CaptureFilterEdit it's possible to have an indeterminate state while
we're waiting on name resolution. Add a Busy status to SyntaxLineEdit
and set the text color to a mix of the normal foreground and background
colors (gray on most platforms).

Make the Busy state valid so that we don't have to wait on an
annoyingly-long name resolution to start capturing.

Update the global capture option filters using the main welcome capture
filter when we start a capture instead of when we've finished checking
the filter syntax.

Connect the CaptureFilterEdit returnPressed signal no matter what so
that we can start a capture by pressing return in the welcome screen
CaptureFilterEdit.

Add a fake resolution timeout to the CaptureFilterSyntaxWorker debug
code to make testing the different states easier.

Bug: 11950
Change-Id: I0cf01c0fbc0dd8065cdf5a91f1d6b224291b1ce6
Reviewed-on: https://code.wireshark.org/review/13110
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-01-08 17:53:28 +00:00
Roland Knall cfd5457ec0 extcap: Add regular expression validation support
Regular expressions follow the Qt Regex syntax, which is
 formulated after the Perl Regex syntax. A more detailed
 overview of the possible rules can be found at:
 http://doc.qt.io/qt-4.8/qregexp.html

 If a required option is present, even the double-click on
 the interface will first start the options dialog (Qt only)

 Required fields are marked bold and put first in the dialog.
 Additionally if validation failes (which it will if a required
 field is kept empty, but also if a non-required textfield is
 violating the defined regex), the label of the field is marked
 with red.

Change-Id: If04a1146d0dfa778332ab2a39122c7a6ee1e93d2
Reviewed-on: https://code.wireshark.org/review/12914
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>
2016-01-05 14:41:12 +00:00
Michal Labedzki 7baac67149 Qt: Try to fix Main Welcome Interfaces List Scrollbar
Bug: 11733

Change-Id: Ic144634acce7b9e9eb9821ca6452694cb2dcf4dd
Reviewed-on: https://code.wireshark.org/review/12684
Petri-Dish: Michal Labedzki <michal.labedzki@tieto.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Dario Lombardo <lomato@gmail.com>
Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
2015-12-19 12:51:03 +00:00
Stig Bjørlykke e75f74add6 Qt: Check capture filter only once when selecting interface(s)
Changed to only check capture filter once (for each active DLT) when
changing selected interface(s).  This optimizes filter checking and
avoids a "No interfaces selected" error when processing unselected
interfaces before selected.

Added a small optimization fetching device_name outside loop.

Bug: 11671
Change-Id: I01ed7a99a2a9ced9a86774a78bec2ba27b4bb97c
Reviewed-on: https://code.wireshark.org/review/12268
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2015-11-29 19:00:28 +00:00
Stig Bjørlykke b9812a7432 Qt: Preserve selected file in welcome screen.
When closing a capture file the recent files list are updated to put
the most recent opened file on top.  Ensure we preserve the selection
of the closed file instead of having the file in the closed file's
previous position selected.

Change-Id: I14c9edde55b88abf7ca7f1828e269ad49203b1db
Reviewed-on: https://code.wireshark.org/review/12018
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-11-23 05:57:39 +00:00
Gerald Combs 0596575a87 Update the Qt welcome banner.
Make the main welcome message more prominent.

Change-Id: I92d2ed88abbe504af8a0818f9902e39a9fc3d6d5
Reviewed-on: https://code.wireshark.org/review/10969
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
(cherry picked from commit 1f400db73e2bf4685c4a49b1d0898b37ac858d9f)
Reviewed-on: https://code.wireshark.org/review/10988
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-10-14 02:22:54 +00:00
Gerald Combs 7c38002288 Qt: Recent list context menu.
Add a context menu to the main window recent list. Add items that let
the user open each file's containing folder and copy the file path to
the clipboard. When opening the folder on Windows and OS X try to
highlight the file in Explorer or the Finder.

Change-Id: I991e8df8ba9f1f8c6385d1a861eb40223cfdd047
Reviewed-on: https://code.wireshark.org/review/10915
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
2015-10-13 02:44:53 +00:00
Gerald Combs f8daf498a0 Use system highlight+hover colors in the welcome screen.
Don't override the highlight and hover colors in the recent file list in
the main welcome screen. This appears to be a leftover from the
pre-g8b24471 layout.

Change-Id: Ia5239424340632f53f41f7f3067c798c882c069d
Reviewed-on: https://code.wireshark.org/review/10957
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-10-12 19:17:15 +00:00
YFdyh000 be187b99c7 Qt: refine some strings for l10n
Change-Id: I460559c99c79c9fd40f284c750d64210fe5de50b
Reviewed-on: https://code.wireshark.org/review/10813
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: Alexis La Goutte <alexis.lagoutte@gmail.com>
2015-10-06 04:44:41 +00:00
Peter Wu c647faa8a9 Fix various memleaks
Found by starting Wireshark within an empty profile, opening
Preferences, search for Protocol "IEEE 802.11" (because it has radio
buttons), then close everything again.

Many fixes are trivial, but the various recent_read_* functions in
recent.c were changed to return a boolean such that the result can
always be checked even if errno==0.

QButtonGroup leak was hinted by Clang Static Analyzer, all other
memleaks were found using ASAN/LSan.

Change-Id: Ia73f5d4c09d92f22e72377be59e23342f8ad7211
Reviewed-on: https://code.wireshark.org/review/10776
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: Alexis La Goutte <alexis.lagoutte@gmail.com>
2015-10-04 15:45:02 +00:00
Joerg Mayer 51a37b666a Continuing to remove Q_UNUSED
Change-Id: I54bc4a1b7d39abd1bb88ee361b0de5fcbca1efe8
Reviewed-on: https://code.wireshark.org/review/9546
Reviewed-by: Jörg Mayer <jmayer@loplof.de>
2015-07-07 21:50:17 +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