Summary:
Due to filesize concerns, we optimized the Volna wallpaper to be JPEG compressed at 90% quality.
JPEGs seems like the right way to go, but at 90% there is a noticeable loss of sharpness and JPEG artifacts appear, both of which are more prominent the smaller the resolution.
I used the same tool (squoosh) to generate more high quality JPEGs, paying attention to how each resolution responded to a certain quality setting.
In the end I had to use values between 94 and 98 in order to ensure there is no noticeable difference with the original PNGs.
This brings up the total file size to 17.4 MiB, which I think is still fine, especially given that this is our default wallpaper for an LTS release.
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D27045
Summary:
Because of the issue described in T12611, changing the filetype of the Next wallpaper is
problematic and will cause a black screen on upgrade.
This terrible horrible patch works around the issue by using the .png filename extension
even though this is not accurate. That way, the file names are the same as the old
versions of the Next wallpaper and will be loaded correctly. Using the wrong filename
extension does not actually cause any problems, it's just inaccurate. a `README` file is
placed next to the images to explain this.
I'm sorry.
Long-term, we should investigate T12611.
Test Plan:
Have previous Next wallpaper (Ice Cold) installed
Replace it on disk with Volna in original JPEG form
restart plasmashell -> black screen
Try the above again with this patch
restart plasmashell -> new wallpaper visible
Reviewers: davidedmundson, #plasma, ognarb
Reviewed By: ognarb
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D26972
Summary: Volna won the wallpaper competition, so time to add it to Breeze as the new default!
Test Plan: Apply patch, compile, and restart plasmashell
Reviewers: #vdg, #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: raveomelette, IlyaBizyaev, Luwx, ndavis, broulik, rikmills, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D26953
Summary:
center only the drawing of the components but never modify the
subcontrolrects (and hit targets)
BUG: 416348
FIXED-IN: 5.18.0
Test Plan:
now the handle activates immediately without one single pixel
margin
Reviewers: #vdg, hpereiradacosta, ndavis
Reviewed By: #vdg, ndavis
Subscribers: ngraham, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D26783
Summary:
This look makes listviews look way better, not having the selected
items look truncated into nothingness.
Always display "big" handles, due to the numerous complaints of the slim handles not being obvious
Test Plan:
Before:
{F7882628}
After:
{F7882624}
Reviewers: #plasma, #breeze, #vdg, ngraham, hpereiradacosta
Reviewed By: #vdg, ngraham, hpereiradacosta
Subscribers: ndavis, ahiemstra, hpereiradacosta, mthw, plasma-devel
Tags: #plasma
Maniphest Tasks: T9126
Differential Revision: https://phabricator.kde.org/D26655
Summary:
Second part of D26655, removes the thin scrollbar and makes it always thick
to implement the desired design
BUG: 396747
FIXED-IN: 5.18.0
Test Plan: {F7884060}
Reviewers: #plasma, #vdg, #breeze, ngraham, ndavis
Reviewed By: #vdg, #breeze, ngraham, ndavis
Subscribers: plasma-devel
Tags: #plasma
Maniphest Tasks: T9126
Differential Revision: https://phabricator.kde.org/D26685
Summary: If the widget has an item view parent, use the View Background color. Otherwise, use Window Background.
Test Plan: {F7881597, size=full}
Reviewers: #vdg, #breeze, hpereiradacosta, ngraham
Reviewed By: #vdg, hpereiradacosta
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D26639
Summary:
QQC2/Kirigami checkboxes and radio buttons can turn invisible when rendered over a selected item because their background isn't rendered and they don't have any hacks to detect when they're being rendered over a selected list item.
While the problem isn't technically a Breeze QStyle problem and a hack could be made for QQC2/Kirigami, I don't think there's any great style benefit to not rendering a background for the checkbox. I suppose there is a performance benefit to not rendering a checkbox background except for when the background is different from normal. In my testing with GammaRay's paint analyzer, the checkbox background has a cost less than 5%. The radiobutton background has a cost of 15-20% (maybe it can be improved?).
Reviewers: #vdg, #breeze, #plasma, hpereiradacosta, ngraham
Reviewed By: #vdg, hpereiradacosta, ngraham
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D26572
Summary: This patch reduces the amount of duplicate code and makes every part of the helper functions use the correct frame radius.
Reviewers: #breeze, #plasma, hpereiradacosta, ngraham
Reviewed By: hpereiradacosta
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D26225
Summary:
The following functions have deprecation warnings: QTime::start(), QTime::restart(), QTime::elapsed() and recommend that QElapsedTimer be used instead of QTime.
_clock.isNull() had to be changed to !_clock.isValid() since QElapsedTimer does not have isNull().
QTime::isNull() is also invalid, so behavior shouldn't change.
Reviewers: #breeze, #plasma, hpereiradacosta
Reviewed By: hpereiradacosta
Subscribers: hpereiradacosta, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D26268
Summary:
According to an article by @cfeck [1], QFontMetrics::width() gave the horizontal advance, which doesn't necessarily include every pixel that the text might use.
He suggested that boundingRect().width() might be what most people actually want.
- [1] https://kdepepo.wordpress.com/2019/08/05/about-deprecation-of-qfontmetricswidth/
Reviewers: #breeze, #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: hpereiradacosta, cfeck, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D26270
Summary:
The replaced numbers are directly related to the width of the pen.
This patch likely doesn't replace all of the numbers that could be replaced.
It just replaces the ones I'm currently certain of being related to pen width.
The goal is to make the code show the intent of the designer.
Reviewers: #breeze, #plasma, hpereiradacosta, ngraham
Reviewed By: #breeze, hpereiradacosta, ngraham
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D26217
Summary:
This reverts commit c9aa535863.
Also makes the small down arrow pixel perfect. I will make the other arrows pixel perfect in a separate patch.
After D19890 (27bcd1be9c) was reopened, there was some discussion about the reason it was reverted and the problems it introduced. It is possible that an icon could partially cover this arrow, but it seemed uncommon enough that ignoring the problem was deemed acceptable. The type of control that this arrow is used for is also pretty uncommon because it does not feel very good to use with a mouse or touchpad.
Reviewers: #vdg, #breeze, #plasma, hpereiradacosta, ngraham
Reviewed By: #vdg, #breeze, ngraham
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D26139
Summary:
This patch makes other helper functions reuse more code by calling these shadow rendering functions instead of defining their own shadows.
The shadows are perfectly shaped, tested up to 8x scaling.
Without this patch, the radius of the shadows for checkboxes is slighly too wide and there is a gap between the inside edge of the radio button shadow and the outside edge of the radio button.
Shadow rendering performance has also been improved a bit.
Test Plan:
run `QT_SCALE_FACTOR=8 oxygen-demo5` and examine the shadows. You can try higher scaling levels, but that's overkill.
8x scaling
before: {F7824689, size=full} {F7824691, size=full}
after: {F7824692, size=full} {F7824693, size=full}
Reviewers: #breeze, hpereiradacosta, #plasma
Reviewed By: hpereiradacosta
Subscribers: ngraham, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D26094
Summary:
Before this patch, the outline of the rubberband selection control was down and to the right half a pixel too far.
This wasn't visible at 1x scaling because of the lack of antialiasing, but resulted in the top/left being too thin and bottom/right being too thick on high DPI displays.
To fix the issue, I enabled antialiasing and moved all sides inwards by half a pixel so that the outline would be pixel perfect.
I also added a function to get a QRectF with the correct size and position for rectangles with pen strokes.
Test Plan:
- Open dolphin and make a selection with the mouse
- Go to a Folder View Plasma widget and make a selection with the mouse
2x scaling
before: {F7818498, size=full}
after: {F7818500, size=full}
3x scaling
before: {F7818484}
after: {F7818483}
Reviewers: #vdg, #breeze, #plasma, hpereiradacosta, broulik
Reviewed By: hpereiradacosta
Subscribers: broulik, plasma-devel
Tags: #plasma, #breeze, #vdg
Differential Revision: https://phabricator.kde.org/D26001
Summary:
This allows devs to run: "make clang-format" and format all files easily
using the preset KDE clang format style
This patch adds support so devs can easily test the intended formatting
now, it doesn't change the code yet.
Doing an initial run to commit everything will happen later.
Test Plan:
Ran script
git diff was full of amazingly cleaned code
See D25134