Bug 458181

Summary: Graphic in Filelight is blurry since 22.08
Product: [Applications] filelight Reporter: Sandro <anonymx>
Component: generalAssignee: Unassigned bugs mailing-list <unassigned-bugs>
Severity: normal CC: bizyaev, henry-zhr, martin.sandsmark, nate, sitter
Priority: NOR Keywords: regression
Version: 22.08.0   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In: 22.08.1
Attachments: Blurry graphic

Description Sandro 2022-08-22 20:20:58 UTC
Created attachment 151505 [details]
Blurry graphic

Since the update to 22.08 the graphic that shows the result of a scan in Filelight is very blurry. The text in the center that displays the total size is affected as well.

Operating System: Arch Linux
KDE Plasma Version: 5.25.4
KDE Frameworks Version: 5.97.0
Qt Version: 5.15.5
Kernel Version: 5.19.3-arch1-1 (64-bit)
Graphics Platform: X11
Comment 1 Ilya Bizyaev 2022-08-22 22:14:26 UTC
Same here.

Operating System: openSUSE Leap 15.4
KDE Plasma Version: 5.25.4
KDE Frameworks Version: 5.97.0
Qt Version: 5.15.5
Graphics Platform: X11
Graphics Processor: Mesa Intel® UHD Graphics
Comment 2 Nate Graham 2022-08-23 09:33:09 UTC
Are either of you folks using a scale factor that's not 100%, 200%, or 300%?
Comment 3 Harald Sitter 2022-08-23 09:48:11 UTC
Comment 4 Sandro 2022-08-23 18:30:47 UTC
I do, 125%. I tested it with scale factor set to 100% now and everything looks fine. So seems to be related to scaling.
Comment 5 Ilya Bizyaev 2022-08-23 20:57:01 UTC
Also 125% here.

Don't know if it's relevant, but I tried changing Filelight's scale to an integer with an env var to get a crisp screenshot (QT_SCALE_FACTOR=1 filelight, QT_SCALE_FACTOR=2 filelight) — but the diagram was still blurred.
Comment 6 Harald Sitter 2022-08-25 16:40:56 UTC
Git commit 60d2b736edd00ae4aa0c784355e7fe11fe413d1c by Harald Sitter.
Committed on 25/08/2022 at 14:22.
Pushed by sitter into branch 'master'.

set antializing on the item itself as well

to prevent fuzzyness

M  +3    -0    src/radialMap/item.cpp

Comment 7 Harald Sitter 2022-08-25 16:45:06 UTC
Git commit 5509157bf29cd3fe09022171b4739615e051ebcb by Harald Sitter.
Committed on 25/08/2022 at 16:45.
Pushed by sitter into branch 'release/22.08'.

set antializing on the item itself as well

to prevent fuzzyness

(cherry picked from commit 60d2b736edd00ae4aa0c784355e7fe11fe413d1c)

M  +3    -0    src/radialMap/item.cpp

Comment 8 Henry Zhang 2022-09-09 10:27:58 UTC
22.08.1 doesn't fix the issue, it still looks blurry on my machine.

x11, 150% scaling

e873c3bfa2e6f971e1699a5377a0e46c7e363442 is the first bad commit.
Comment 9 Harald Sitter 2022-09-09 10:29:40 UTC
Screenshot plz
Comment 10 Henry Zhang 2022-09-09 10:30:59 UTC
Created attachment 151947 [details]
Comment 11 Harald Sitter 2022-09-12 09:53:51 UTC
Alas, after some poking I'm not sure we'll get this crisper until a complete port away from qpainter.
Comment 12 Bug Janitor Service 2022-11-21 13:59:54 UTC
A possibly relevant merge request was started @ https://invent.kde.org/utilities/filelight/-/merge_requests/61
Comment 13 Harald Sitter 2022-11-24 10:38:07 UTC
Git commit e06fcc2eb04c7d3b70a4cebaef6aa23b89ad0677 by Harald Sitter.
Committed on 24/11/2022 at 10:35.
Pushed by sitter into branch 'master'.

port painting to qml & add list view

this brings more of the UI into the qml world, this time the rendering
of the filelight map. it is implemented using qtquick shapes of stacking
circles. this also introduces a listview to more reasonably glance,
navigate and manage files inside the current scope (as opposed to the
previous labeling approach inside the map). to ease discoverability the
hover states between map and list are somewhat linked so it becomes
easier to spot which segment is where in the list, and vice versa.

to facilitate all this a huge amount of reshuffling happened:

- item.cpp no longer exists, its functionality moved into either qml or
the map.cpp
- new classes dropperitem (to receive drop events from qml)
contextmenucontext (to implement the c++ side of context menu actions)
filemodel (to model the file objects for the listview)
- File is no longer a QObject, this has been moved up one level in the
architecutre -> Segment now is a QObject and delegates most of the UI
relevant functions from File
- Files are now "linked" to their segment through a uuid string. this
allows the UI code to establish a relationship between entities in the
listview and the mapview. this is intentionally not pointer based to
avoid clashes, confusion, and to prevent the Files from contributing to
the lifetime of Segments (and thus complicate the entire shebang)
- various settings have been retired as they are no longer applicable:
AA is now always on, there is no practical reason why the user would
disable it in 2022, font size (now following system defaults and
sometimes able to scale down if not enough space)
Related: bug 461193, bug 444057, bug 434146

M  +3    -1    src/CMakeLists.txt
M  +0    -8    src/Config.cpp
M  +0    -3    src/Config.h
A  +105  -0    src/contextMenuContext.cpp     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
A  +50   -0    src/contextMenuContext.h     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
M  +0    -82   src/dialog.ui
A  +36   -0    src/dropperItem.cpp     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
A  +25   -0    src/dropperItem.h     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
A  +87   -0    src/fileModel.cpp     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
A  +42   -0    src/fileModel.h     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
M  +19   -1    src/fileTree.h
M  +3    -0    src/main.cpp
M  +34   -12   src/mainContext.cpp
M  +0    -1    src/mainContext.h
A  +76   -0    src/qml/CenterShape.qml     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
M  +400  -37   src/qml/MapPage.qml
A  +76   -0    src/qml/SegmentShape.qml     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
M  +7    -8    src/qml/main.qml
M  +2    -0    src/qml/qml.qrc
D  +0    -876  src/radialMap/item.cpp
D  +0    -111  src/radialMap/item.h
D  +0    -51   src/radialMap/labels.h
M  +97   -150  src/radialMap/map.cpp
M  +76   -19   src/radialMap/map.h
M  +20   -0    src/radialMap/radialMap.cpp
M  +72   -16   src/radialMap/radialMap.h
M  +1    -27   src/settingsDialog.cpp
M  +0    -3    src/settingsDialog.h