QFont::setFontWeight takes an int only - it looks like PyQt accepts a float and
just truncates it. That's the behaviour we actually want here, but let's be
explicit about it.
Setting it to no-3rdparty is a nice idea from a "privacy by default"
perspective, but it also breaks various pages.
In particular, due to what's probably a Qt bug, it breaks the new GMail:
https://bugreports.qt.io/browse/QTBUG-71393
Let's be in line with what other browsers by default here.
Fixes#4281
- `:config-remove-list` command to remove items from a list.
- `:config-remove-dict` command to remove items from a dict.
- Test coverage.
Continues #2794
Made minor changes to the second commit which broke tests out into
success and failure tests taking advantage of pytests.raises.
Additionally updated several grammar issues.
Continues #2794
Made requested changes:
- Separated list add and dict add commands.
- Separated list and dict completion models.
- Created tests for each command.
- Simplified the configmodel options by breaking them into a separate
function to do work that is similar.
- General simplification of both add commands.
Continues #2794
Recent changes in the completion highlighter mandate that
config.val.colors.completion.match be changed from a QssColor to a
QtColor. However, the latter accepts fewer formats. To avoid breaking
configs, this allows QtColors to be specified using all the same formats
as QssColors, excluding gradients.
I separated the QssColor and QtColor tests as the previous approach of
generating the tests made adding tests for QtColor more complicated.
While working on this I discovered that Qt's css parser is potentially
broken around parsing hsv percentages and filed
https://bugreports.qt.io/browse/QTBUG-70897.
For consistency, I made our parser similarly broken.
You can show the bug in qutebrowser right now by noting that the
following have different effects:
```
set colors.completion.odd.bg 'hsv(100%, 100%, 100%)'
set colors.completion.odd.bg 'hsv(358, 255, 255)'
```