Qt 6 no longer allows exporting gadgets with an uppercase name. Namespaces
work just as well here, but we unfortunately have this problem also in
other places where the solution is less straightforward.
Track the selected GTK theme in the model only. This fixes setting to default when the GTK pages was never opened
Override isSaveNeeded instead of calling setNeedsSave, this fixes the apply button enablement
The intention of this code appears to be finding system tray applets, since the systemtray is a containment within another applet/containment
However the code causes an infinit recursion since we are calling addContainment on the same containment again
The recursion also is unnecessary since corona->containments() already lists the system tray containment, so we don't need to find it by recursing through the panel's children
This fixes that the titlebar does not update its accent color when
switching from transparent to another color.
Test: choose From current color scheme, apply and then choose From
wallpaper, apply.
Use the proper DBus signal to notify the change of
accentColorFromWallpaper.
applyScheme needs the latest accentColor but when it's called from `KCMColors::saveColors()`,
the accent color in kdeglobals is still old, that's why the hack works
by saving the value before `ManagedConfigModule::save()`. Therefore we
can pass the latest accent color value to applyScheme to fix it and
remove the ugly hack.
The current wallpaper image can be set by a Plasma script. In that case,
the wallpaper is not added to the list, so also check the current image
is already added after opening the config dialog.
BUG: 458364
FIXED-IN: 5.26
This avoids showing paths like /tmp/somefile as "500 GiB Internal
Hard Drive/tmp/somefile", or "Root/tmp/somefile".
It's more sensible to show the actual path in this case.
It still look far too alien comparing to a native PlasmaDialog style due
to the positioning, fractional scaling sizing issues and background
differences. This commit brings them somehow closer to each other.
ba44b69abf added logic to handle apps that
use an absolute path in their .desktop file to define their icon, which
works. However in the process it introduced a subtle bug: if the icon is
not an absolute path and it's just a normal icon name, when
QFileInfo::exists() checks for the existence of that string, it will
treat it as a relative file path and therefore look for it in the
current working directory, which is typically the user's homedir. If it
finds something, it will go down the wrong code path and end up
returning a blank QIcon. This can be verified by adding a folder with
the name of an app icon into ~ and restarting plasmashell; that app in
Kickoff will have a blank icon.
To fix this, the icon loading code now first checks whether the icon
returned by m_service->icon() is actually an absolute path. If not, it
skips the logic to look for it on disk and goes straight to the
codepath that looks for an icon with that name in the icon theme.
To minimize disk reads, it checks for absolute-file-path-ness by
inspecting the string returned by m_service->icon() rather than using
QFileInfo::isAbsolute(), because this is a hot code path and most icons
will not have relative paths, so checking the disk for every one of
them would be a waste of resources.
BUG: 457965
FIXED-IN: 5.24.7
Press-and-hold is fairly common on touch UIs, but click-and-hold is a
very rare interaction. As a result, the user is much more likely to
enter Edit Mode accidentally while trying to drag something on the
desktop than they are to know that click-and-hold works here and do
it intentionally.
Let's disable click-and-hold and only enter Edit Mode with a
press-and-hold using a touch device. For pointing device users, there
are already multiple context menus items that will let them enter Edit
Mode.
BUG: 457979
FIXED-IN: 5.26