Fixing the status message disappearing from the status bar
Change-Id: I16925a5a8ad6ac929e1c4da8e36e3cf8fa29db84
Reviewed-on: https://code.wireshark.org/review/35084
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
Currently push pop is propagated by a massive load of signals
which partly are also propagated through parent objects.
This moves the status handling to WiresharkApplication, also
pathlining future moves to move status to different classes or
use additional methods of status information
Change-Id: Ibcb2c98688f1adf40dce1483f336596ef992bb06
Reviewed-on: https://code.wireshark.org/review/35071
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>
If a display filter is applied, but the display filter bar
has been cleared by deleting the context (either by setting a
space or backspacing over the filter), it is not clearly indicated
that the filter is still being applied.
Bug: 12438
Change-Id: Ibd4c48b094467182ed51e9859e0d5fad770000c7
Reviewed-on: https://code.wireshark.org/review/35070
Petri-Dish: Roland Knall <rknall@gmail.com>
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
If the display filter is cleared, because it is emptied, the
new display filter ("") is not yet applied. This is not signaled
properly, as the user get's the expression, that no filter is applied,
although the old one still is. Visible is this by displaying
the placeholder text and removing the clear button
With this patch, in such a case, the placeholder text is empty
and the clear button still visible, until really an empty filter
is being applied.
Bug: 12438
Change-Id: I45128ebf2bc1854da5a4055d3980d913d0139a28
Reviewed-on: https://code.wireshark.org/review/35045
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Reviewed-by: Roland Knall <rknall@gmail.com>
Signals/Slots should be initialized by the utilizing class not
the parent class. That way the utilizing class can be changed
without interfering with the parent
Change-Id: I5d538b4c487d3092f0f76bc2b54bc63fbc3ba547
Reviewed-on: https://code.wireshark.org/review/35015
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
Put the DisplayFilter Context Menu in the correct order and fix
a null-assignement issue
Change-Id: If39c7a7ebe9bab0c6cfb790cc255d369a0055cb3
Reviewed-on: https://code.wireshark.org/review/35014
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
Fix travis linux builds.
../ui/qt/widgets/display_filter_edit.cpp:130:56: error: no matching function for call to ‘QAction::QAction(QString)’
QAction * na = new QAction(tr("Left align buttons"));
^
In file included from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qactiongroup.h:37,
from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QActionGroup:1,
from ../ui/qt/widgets/display_filter_edit.h:14,
from ../ui/qt/widgets/display_filter_edit.cpp:20:
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qaction.h:174:5: note: candidate: ‘QAction::QAction(QActionPrivate&, QObject*)’
QAction(QActionPrivate &dd, QObject *parent);
^~~~~~~
Change-Id: I03be478bc17296cc6adca6df82cdd41bcc0504b4
Reviewed-on: https://code.wireshark.org/review/34995
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
Better aling buttons in the DisplayFilterEdit and make loading
less artifact-prone
Change-Id: Ic5a5b0214185ed193e4b2290295225f54842c632
Reviewed-on: https://code.wireshark.org/review/35000
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
Fix CPU usage by removing unused function, which lead to a loop
of paintEvents for the DisplayFilterEdit
Change-Id: Ib325a16fa2d90d668e21917bc07e806d11d1fbf9
Reviewed-on: https://code.wireshark.org/review/34993
Reviewed-by: Roland Knall <rknall@gmail.com>
Buttons can be left-aligned in the display filter edit bar, by selecting
the corresponding option from the context menu
Bug: 14123
Change-Id: I18b48bb0ea43a598b2e309dcad9210463be06414
Reviewed-on: https://code.wireshark.org/review/34980
Reviewed-by: Roland Knall <rknall@gmail.com>
Move CaptureFilterEdit to FilterListModel and do cleanup
Change-Id: I9fdd37fda5698a3389f9bc4e550f2e56077675ec
Reviewed-on: https://code.wireshark.org/review/34959
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
Odering differed from the manage filter expression. Also, managing
filter expressions is called "Filter Button Preferences.." throughout
other functions. And finally it did not properly update the information
about the selected filter, if a new filter was saved or an existing
filter removed.
Change-Id: I005028cd0b741587f4c5f2f39612e36d5d7d6c25
Reviewed-on: https://code.wireshark.org/review/34958
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
Make the mimetype for the display filter more generic, so that external
programs can attach to Wireshark and users can drag and drop display
filters to the program
Change-Id: Id78b4dff7883e3dab879a31aad07f577d8cc4ee3
Reviewed-on: https://code.wireshark.org/review/34936
Reviewed-by: Roland Knall <rknall@gmail.com>
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Fix dragging and dropping of filter texts
Change-Id: I14a36051846b5cd8eb5ac466aed4e93710c5b5f8
Reviewed-on: https://code.wireshark.org/review/34935
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
Allow filterbuttons to be dragged to the display filter
bar
Change-Id: I25e87d0ca86fc7437a20994800bec164ccffef27
Reviewed-on: https://code.wireshark.org/review/34838
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Show the dialogs asynchronously so no new event loops are created. This
not only simplifies stack traces (reduces the nesting level) but also
prevents hard to debug problems (eg. Bug 15743) from happening.
Change-Id: I85821a1403839a5baca504b40efce0ede2f1e0cb
Reviewed-on: https://code.wireshark.org/review/34646
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>
The spelling error for "Desription" in the context menu was very
obvious. The others were found by scanning the output of:
grep -Po '<source>\K.*(?=</source>)' wireshark_en.ts
Change-Id: I4b95236c82f76828a115d59d7c8e0b853eae1d26
Reviewed-on: https://code.wireshark.org/review/34582
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Fix compile warnings due to incorrect conversions.
Change-Id: Ia24e9cb6ef5ed9ca1391dd005ed1eb95db1b0d30
Reviewed-on: https://code.wireshark.org/review/34553
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
Upgrade the internal version of QCustomPlot to 2.0.1
Change-Id: I1eb372d8e6a2f6c1bbdde4c74596785bf2d405c2
Reviewed-on: https://code.wireshark.org/review/17980
Reviewed-by: Roland Knall <rknall@gmail.com>
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Change-Id: Iba1eb865eac1d22d1490769ae9509b1389594a09
Reviewed-on: https://code.wireshark.org/review/34418
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
Using a simple (type *) cast on g_list_next results in a warning
with modern compilers "old-style cast"
Adding a warning for g_list_next and data access to avoid the warning
A good overview why reinterpret_cast has been used can be found here:
https://stackoverflow.com/questions/332030/when-should-static-cast-dynamic-cast-const-cast-and-reinterpret-cast-be-used
It is a 1:1 replacement in this case, but does not use any of the new
cast styles and therefore should be used with caution.
Change-Id: I989f237afc39aaf40133a788b1c0bbd7a51bf974
Reviewed-on: https://code.wireshark.org/review/34284
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
The filterbutton context menu allows for appending the filter
button expression to an already existing display filter and
copying the filterbutton filter expression to the clipboard
Bug: 15980
Change-Id: I7b24007e597b9a9800729339926378d0ff264c73
Reviewed-on: https://code.wireshark.org/review/34394
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
Move the CopyFromProfile implementation from a menu to a button
to ease integration in existing code
Change-Id: I4fb4e952e89665eda99d162e891ac6d3516a6f02
Reviewed-on: https://code.wireshark.org/review/34266
Reviewed-by: Roland Knall <rknall@gmail.com>
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
The title names of each section are not presented correctly
Bug: 15977
Change-Id: I68ab0fb6fc7131f9d2af67fa38c509ed6808c7d3
Reviewed-on: https://code.wireshark.org/review/34218
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
This patchset ensures a 1:1 replacement of the old 3.0 version of the profiles
dialog. It is a major bugfix for the new version in case of handling creating/
deleting and adding profiles.
Delete can be performed on multiple profiles now, by selecting the profiles
which need to be deleted.
Import/Export functionality has been overhauled to follow these rules:
* No imports while changes are pending, due to datamodel sanity
* Export for Default Profile and Global Profiles is not possible
* Either all personal profiles can be selected or individually choosen ones
* Use last directory and store it properly
* Imports can be cancelled
* Only one import is allowed at a time (but it can contain as many profiles as needed)
Change-Id: Ie2fccd397202ec06976d764734437284f464409a
Reviewed-on: https://code.wireshark.org/review/34123
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Reviewed-by: Roland Knall <rknall@gmail.com>
Change the Profile types from User/System to Personal/Global in UI
to match the terminology used in About Wireshark -> Folders.
This reverts commit 40af4aa93e.
This reverts commit f0cde7ca34.
This reverts commit c37cabe900.
Change-Id: I9012db6385707754e26a2dadb57f6003f8112f9b
Reviewed-on: https://code.wireshark.org/review/34134
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
It's called system profiles in UI so update function names and
variables to use the same name. This will increase code readability.
Change-Id: I048e9ea85bd6ebab4a2c3ed1c685487ac8f7e40e
Reviewed-on: https://code.wireshark.org/review/34116
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
Did not properly parse available profiles
Change-Id: I978a5294c40a389eeb9c8e3b3143541713b4a527
Reviewed-on: https://code.wireshark.org/review/34091
Petri-Dish: Roland Knall <rknall@gmail.com>
Reviewed-by: Roland Knall <rknall@gmail.com>
Change all wireshark.org URLs to use https.
Fix some broken links while we're at it.
Change-Id: I161bf8eeca43b8027605acea666032da86f5ea1c
Reviewed-on: https://code.wireshark.org/review/34089
Reviewed-by: Guy Harris <guy@alum.mit.edu>
../ui/qt/widgets/copy_from_profile_menu.cpp:52:30: error: no matching function for call to 'QAction::QAction(QString&)'
pa = new QAction(name);
^
../ui/qt/widgets/copy_from_profile_menu.cpp:52:30: note: candidates are:
In file included from /usr/include/qt5/QtWidgets/qmenu.h:40:0,
from /usr/include/qt5/QtWidgets/QMenu:1,
from ../ui/qt/widgets/copy_from_profile_menu.h:16,
from ../ui/qt/widgets/copy_from_profile_menu.cpp:10:
/usr/include/qt5/QtWidgets/qaction.h:174:5: note: QAction::QAction(QActionPrivate&, QObject*)
QAction(QActionPrivate &dd, QObject *parent);
Change-Id: Ib7cb7cf522f1a95d5f4c16b1dc8f2ada8e46793c
Reviewed-on: https://code.wireshark.org/review/34081
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
Interface resembles the old interface
Change-Id: I7301f8bb6e00d30c20d7e5fdc9252a6a1765ff97
Reviewed-on: https://code.wireshark.org/review/34054
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
It stopped working after moving to the ProfileModel
Change-Id: I20d095ece8ce842e9ded4489fd8e062b35ffc968
Reviewed-on: https://code.wireshark.org/review/34030
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
Key navigation is now possible again
Change-Id: I5e19235a94c5a36a10cc07adf1de01d9c3fb04ff
Reviewed-on: https://code.wireshark.org/review/34031
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
- Fixing the fact, that the profile did not allways switch to the active profile
when pressing the OK button.
- Adding a new profile can be repeated, if the name "New Profile" is already in
use, a number is incremented and added to subsequently new profiles.
- Copying a profile multiple times, creates individual names each time
- Global profiles should come last in the statusbar popup
- Global profiles should be called "System profiles"
- Fix null-pointer that could happen while querying "DATA_IS_SELECTED"
- Renaming an existing profile was not correctly indicated
- Renaming the currently selected profile works now
Change-Id: Ifa47fd672a6976c07d3e80741cfd61b548a5e1f8
Reviewed-on: https://code.wireshark.org/review/33921
Petri-Dish: Roland Knall <rknall@gmail.com>
Reviewed-by: Roland Knall <rknall@gmail.com>
Delete lead to an issue with the sort model, where indeces where
no longer correctly associated with the source model.
Copy did not check if the name already existed in the dialog
Change-Id: I3668dffb1e1956f04a5b9e21c3fcdac266e0cc0c
Reviewed-on: https://code.wireshark.org/review/33911
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
Remove the profile.? specific implementation and move both
functions to profile model, makeing the class the single
source for profile related parsing
Change-Id: I61ecc2fc1f294e4e3943a00bb8522258c8ff8ec5
Reviewed-on: https://code.wireshark.org/review/33880
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Move the profile dialog to a model/view based concept. Display and
ordering works now, but nothing much else.
Add possibility to filter for profiles, as well as group filters.
Change-Id: I4740ad5aa10feeb31192f8131fb1204f5dca7232
Reviewed-on: https://code.wireshark.org/review/25141
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Exporting the model for the packetlist via a function prohibits implementing
further models (sorting) inside the packetlist
Change-Id: Ica159fc8f242ae1a5b657507a26e33827c366bee
Reviewed-on: https://code.wireshark.org/review/33834
Reviewed-by: Roland Knall <rknall@gmail.com>
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
General code cleanup
Change-Id: Ic99fc24b8f8c6142a7ec46f535f8d5b896236390
Reviewed-on: https://code.wireshark.org/review/33769
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Potential functional changes:
- rect_on_screen: the new function no longer subtracts the space needed
for the dock, task bar, etc.
- fontMetrics().width(text) -> fontMetrics.boundingRect(text).width():
the bounding box width could be larger than horizontalAdvance(text).
For the bytes view, they should be the same due to monospace font.
The display filter field calculation was made more accurate (it
assumes that textMargins() is 0 which is the default).
Change-Id: I70b7937f9215d3bef278befdac7c36a023ffff84
Reviewed-on: https://code.wireshark.org/review/33770
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Add ColorUtils::themeLinkBrush, which returns a readable link color in
dark mode. Use it in place of existing ...palette().link() calls.
Add ColorUtils::themeLinkStyle, which produces an HTML <style/> block
that lightens the link foreground color in dark mode. Use this to style
links in the about box and in elided labels.
Catch ApplicationPaletteChange events where needed.
Add dark theme / dark mode notes to the WSDG.
Ping-Bug: 15511
Change-Id: I92925bd997f97b155491f55a8c818f03549bc7f4
Reviewed-on: https://code.wireshark.org/review/33704
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Update our various welcome page style sheets when we receive an
ApplicationPaletteChange event.
It looks like ApplicationPaletteChange is the proper way to detect a
system-wide theme change, since we can infinitely recurse if we hold
things wrong inside a regular PaletteChange event (I'm guessing setting
CSS background and foreground colors were the culprits in this case).
Switch from PaletteChange to ApplicationPaletteChange everywhere.
Ping-Bug: 15511
Change-Id: I6e7aa627d9ca1d1d3872ab31620ea5c579061191
Reviewed-on: https://code.wireshark.org/review/33703
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
The capture and display filter widgets set their dropdown arrow icons
using CSS, which means we can't use a template icon without a
significant amount of hackery. This is the only instance where we set an
icon using CSS, so split it into dark and light versions and use them as
appropriate.
Ping-Bug: 15511
Change-Id: I699ddc327d8eb109129e60bcb5036b14e6e34414
Reviewed-on: https://code.wireshark.org/review/33696
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>