lately the highlight color of plasma became a very
washed-out blue, (since it switched to use the
global system colors) that was because it actually
taken the highlight color (and highlightedText)
from the wrong source.
there is a correct color group in kcolorscheme for
that, that is Selection, take those two colors
from that (also means highlight and highlightedtext
always be the same in all plasma::theme::colorgroups
but that's not a problem)
update test to reflect that
REVIEW:127842
ConfigModel may contain ConfigCategory for both QML pages and KCM pages.
The source property will be empty for KCM pages. This fixes correctly
returning empty source for KCM pages.
Also return the same value from get().
REVIEW: 127702
Currently, the "name" key is deleted from plasmarc when you select the
default theme (breeze) in the desktop theme KCM.
This leads to unexpected behaviour: If you set e.g. oxygen as look&feel,
and then set breeze as desktop theme, Plasma actually uses Air (the
default desktop theme in the oxygen l&f) on next login instead of
breeze. In other words, it is impossible to configure breeze as desktop
theme when using a different look&feel as breeze.
This fixes the problem by removing the check whether the default theme
is selected and always writes the "name" config key to plasmarc.
REVIEW: 127698
add named colors for positive (usually green)
neutral(usually yellow) negative(usually red)
foreground objects, such as text or parts of
svg icons/themes
REVIEW:127696
Change-Id: I646306339f1684cdc062da3d3af1489af6092372
we have a color in the Plasma theme "highlight" that is basically
an accent color used around.. but one of the uses is to use it as
a background, such as highlighted text. in that case we don't know
what color would be safe for contrasting on top of it for things
like the highlighted text color (plasma style used the background
color for that, which is incorrect)
REVIEW:127637
Summary:
Avoids a crash and a bogus menu entry.
Current code does not properly handle any resetting, which results
in Applet::hasValidAssociatedApplication() still returning true
when urls have been set to an empty list and the application name
to an empty string.
Also are connections to the "destroyed" signal collected on
repeated set calls.
This patch fixes that.
This fixes "Run the Associated Application" menu entry showing up with widgets.
It also prevents the crash in associatedapplicationmanager.cpp:76, which assumes
url lists to be non-empty:
const QString mimeType = mimeDb.mimeTypeForUrl(i.value().first()).name();
Not happy yet with the signal/slot connection management,
improvement proposals welcome.
Reviewers: mart
Reviewed By: mart
Subscribers: plasma-devel
Projects: #plasma
Differential Revision: https://phabricator.kde.org/D1372
KIconLoader::global()->theme() might return null. Thus we need to
guard for this case (happens e.g. on build.kde.org).
This results in iconThemeMetadataPath not being set, which is fine
as that condition is handled later on.
CCMAIL: notmart@gmail.com
Reviewed-By: Bhushan Shah
This removes some old cruft that is not really used and serves
basically only as a bool property for checking if it's null and
wheter it equals the last activated date.
This can be done without it by simply resetting the current selected
date (another property) to "today".
REVIEW: 127455
BUG: 360683
Plasma::Theme emits the applicationPaletteChanged signal after it has fetched the
colors from KColorScheme and scheduled the caches to be nuked. There's no need to do
the same exact thing from every single Svg out there.
This speeds up Plasma picking up color scheme changes significantly and is now
on a par with other opened applications.
REVIEW: 127426
This sets the states before showing the window and is a proper fix
for the linked bug.
Needs e4cea305ed2ba3c9f580bf9d16c59a1048af0e8a from qtbase - Qt 5.6.1
CCBUG: 332024
REVIEW: 127422
both the comic and weather applet have to pick out the
_plasma_graphicsObject to access the AppletInterface
object just to set the busy property on it.
this reintroduces the busy proeprty in Applet too,
both setting it to Applet or AppletInterface
will keep them in sync
REVIEW:127411
Makes it possible for plasmoids to test themselves in the different shells
by providing API to extract the object that will test the plasmoid
instance.
REVIEW: 127345
so much for removing sytray-related hacks.. :/
when the widgets are locked, must be possible to add/remove
widgets in the sytemtray anyways, as their creation/destruction
can depend from dbus activation (or the first time you launch
plasma with the new systray and it must be populated)
Change-Id: I8095ebf831ae57e1306a4d623b253c2a10ef219f
REVIEW:127373
When we show a Qt window it resets all wm_states, including the
SKIP_TASKBAR state that Qt doesn't support see
QXcbWindow::setNetWmStates
In order to set the flag we need to do it after Qt has mapped the
window.
This was previously done using ExposeEvent which will happen after show,
but by it being a separate event the task manager will get notified in
the meantime.
By merging into the same event we can make sure the flag is set before
the task manager processes it.
BUG: 332024
REVIEW: 127374
We have a lot of reusable singletons that are just hidden when not needed, such
as the OSD. IconItem, however, will always fade from the previous state, even if
the previous action happened minutes ago.
This fixes for example changing the volume and then later changing the brightness
where you could see the OSD animating from the volume icon.
REVIEW: 122859
Changing the color group of an Svg emits repaintNeeded which will then
cause it to schedule a pixmap update anyway. Includes a unittest.
REVIEW: 127313
make it possible to set icon and title from
the Applet subclass, making appletInterface (so plasmoid obj)
notice about the change and relay the notify signal
source should always return the same value as it was assigned.
Also removed duplicated code (empty sourceString is now handled
as if the source couldn't be converted to any type).
REVIEW: 127282
IconItem handled both QOixmaps and QImages as a source.
QVariant(somePixmap).canConvert<QImage>() returns true so one of the
two code paths isn't executed. Given converting between the two is
practically free, we don't need two code paths.
REVIEW: 127270
PluginLoader::loadApplet works both by passing a simple plugin
name and a full path of a plasmoid package.
However, when loading the optional C++ plugin, we have to look
in the standard plasmoid plugin path, so only consider the
tail of the path name, as is guaranteed that part is equal to
the plugin name.
BUG:359902
Change-Id: Ic7300b7c12d7693bcb5590e29de780109a8ff81c
unbreak api of Applet::SetConfigurationRequired + add bindings to
appletInterface as properties.
new properties configurationRequired and configurationRequiredReason
Change-Id: I18ff01df94c1a0c5fac79ff801bfa76714c9f986
REVIEW:127218
Applet contains the menu actions, therefore reloading the menu should
happen in Applet not AppletInterface. With AppletInterface being a dumb
wrapper.
This exposes functionality to anyone who overrides Applet, but also will
also allows system tray to emit this signal without having to use
private API.
Change-Id: I95e65de315744a78a82ebba2a954e4f3ae1bd7b2
REVIEW: 127217
Add some tests for IconItem.
Also found one issue in animation when quickly changing source, first frame
will be rendered with wrong icon.
REVIEW: 127103
Unset mainItem and set it back only after changing of tooltip contents
is completed. This improves behavior of morphingpopups effect (popups
animates from/to incorrect values).
REVIEW: 127118
svgElementsCache may be created on render thread and deleted
on main thread, which will make KSharedConfig crash because
it uses per-thread storage.
BUG: 359539
REVIEW: 127112
This prevents the tooltip from showing up if hideTooltip was called
before it was shown.
BUG: 358894
Differential Revision: https://phabricator.kde.org/D959