Otherwise colorScope doesn't attach to things like Plasma.Svg.
Also remove superfluous cast as parentItem() returns a QQuickItem *.
Differential Revision: https://phabricator.kde.org/D25887
Summary:
We've ported the SDDM theme to PC3 and now have black labels in PC3 ToolButtons (keyboard and session button).
The SDDM theme uses a complementary color scheme, which is something the PC2 ToolButton respects and turns the labels white.
Therefore I just copy pasted PC2's label color code to its PC3 counterpart.
BUG: 414929
FIXED-IN: 5.66
Test Plan:
```
import QtQuick 2.13
import org.kde.plasma.components 3.0 as PlasmaComponents
import org.kde.plasma.core 2.0 as PlasmaCore
PlasmaCore.ColorScope {
colorGroup: PlasmaCore.Theme.ComplementaryColorGroup
Rectangle {
height: 80
width: 100
color: "red"
PlasmaComponents.ToolButton{
anchors.fill: parent
text: "sup"
}
}
}
```
The label was white instead of black.
Reviewers: #plasma, ngraham, davidedmundson
Reviewed By: #plasma, ngraham, davidedmundson
Subscribers: mart, davidedmundson, fvogt, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D25699
Summary:
Applet is the more proper way to do it (and will make easier porting
to KF6) this also make it possible for the scripting interface to
access userBackgroundHints
Test Plan: everything behaves the same in plasmashell, the background button in the handle works
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D25742
we still need at least for kf5 lifetime to use PackageUrlInterceptor
so use the selector there
this fixes a regression where old plasmoids with javascript in /code/
did break
Summary:
add the ability for the user to override the background hints anddecide
about applets having background or a shadow
A new handle button will be added to manually enable/disable background for
plasmoids that support it
if they don't, the ImmutableBackground flag is set in the hints.
PlasmaCore.ColorScope has been expanded to work more like Kirigami.Theme (which will be replaced by) even if it's oòld behavior still works. This makes the complementary colorscope in applets with shadow actually work (and at the same time gives a clearer porting path for kf6)
Test Plan: Tested the functionality and correct save/restore
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, ndavis, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D25590
Summary:
the wallpaperinterface instance already reacts to wallpaper package
change and loads the current one.
containemtninterface deleted it every time the wallpaper changed
and recreated, effectively loading the wallpaper two times every time
the plugin was changed
Test Plan: switching plugins still works, but it's actually visible faster on slow hardware
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D25217
Summary: When using Dialog or QueryDialog it should be possible to set hideOnWindowDeactivate flag.
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D24825
Summary:
We always want the label to have the width managed by the layout to fill
all available space.
Test Plan:
In tests/components/button3.qml the test
"long text but constrained, should be 150px and elided" now is correctly
elided rather than the text spewing past the end of the button. The text
does not overlap the icon.
Reviewers: #plasma, apol, ngraham
Reviewed By: apol, ngraham
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D24909
Summary:
- Move "Panel Options" context menu items out of submenu
- Rename "Configure Panel..." option
See M144, T10047, T10190. This makes the panel customization options much more discoverable.
Test Plan: Open the panel context menu.
Reviewers: #plasma, #vdg, mart
Reviewed By: #plasma, #vdg, mart
Subscribers: davidedmundson, ngraham, #vdg, kde-frameworks-devel, #plasma
Tags: #frameworks
Maniphest Tasks: T10190, T11094, T10402
Differential Revision: https://phabricator.kde.org/D23951
Summary: needed for the context menu entry
Test Plan: with the p-w- portion the action shows in the context menu
Reviewers: #plasma, #vdg, GB_2, ngraham, davidedmundson
Reviewed By: #plasma, #vdg, ngraham, davidedmundson
Subscribers: davidedmundson, broulik, GB_2, ngraham, kde-frameworks-devel
Tags: #frameworks
Maniphest Tasks: T10190, T11094, T10402
Differential Revision: https://phabricator.kde.org/D24263
Summary:
Allows
* projects linking to Plasma to hide deprecated API up to a
given version or silence deprecation warnings after a given version,
using
* -DPLASMA_DISABLE_DEPRECATED_BEFORE_AND_AT
* -DPLASMA_NO_DEPRECATED
* -DPLASMA_DEPRECATED_WARNINGS_SINCE
* -DPLASMA_NO_DEPRECATED_WARNINGS
* -DPLASMAQUICK_DISABLE_DEPRECATED_BEFORE_AND_AT
* -DPLASMAQUICK_NO_DEPRECATED
* -DPLASMAQUICK_DEPRECATED_WARNINGS_SINCE
* -DPLASMAQUICK_NO_DEPRECATED_WARNINGS
or
* -DKF_DISABLE_DEPRECATED_BEFORE_AND_AT
* -DKF_NO_DEPRECATED
* -DKF_DEPRECATED_WARNINGS_SINCE
* -DKF_NO_DEPRECATED_WARNINGS
Reviewers: #plasma, mart, davidedmundson, apol, mlaurent
Reviewed By: #plasma, mart, mlaurent
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D24678
Summary:
This fixed the background of a checkable PC3 ToolButton not being visible when checked.
The PC3 Button and PC2 ToolButton did not suffer from the issue, but the PC3 one did.
Test Plan:
Checkable PC3 ToolButtons now look checked when checked
No change for non-checkable PC3 ToolButtons
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D24402
Summary:
The plans are to switch on/off the whole plasma shell into edit mode.
For this it needs to be a global corona property, rather then just
containmentInterface.
Plasmashell would expose a dbus call to set it from systemsettings
Test Plan: plasmoid.editMode=true still works
Reviewers: #plasma, #vdg, ngraham
Reviewed By: #vdg, ngraham
Subscribers: ngraham, GB_2, broulik, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D24239
Summary:
right now just a subsection of controls are installed under plasmacomponent3
which makes for random missing stuff, especially any new component added.
it was done to avoid to have things like "applicationwindow" which don't make sense
in plasma, tough those are already available anyways as plain qqc2
install the whole folder avoiding many potential headaches
Test Plan: ieverything still works, all the components are available
Reviewers: #plasma, apol
Reviewed By: apol
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D24072
Summary:
Indicate state, not the action it will have. When the password field is empty it feels like the password will be shown once I start typing. Dolphin has been doing it this way for the "show hidden files" action forever.
Also only show the button when the field contains text or when revealing the password, like in the PolKit dialog.
Test Plan:
Empty field
{F7326288}
{F5697017}
{F5697018}
Dolphin
Show hidden files, files are currently hidden
{F5697031}
Hide hidden files, files are currently shown
{F5697032}
Reviewers: #plasma, #vdg, ngraham, broulik, ndavis
Reviewed By: #vdg, ngraham, ndavis
Subscribers: ndavis, kde-frameworks-devel, rizzitello, elvisangelaccio, ngraham, starbuck, plasma-devel
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D10362
Summary:
Deleting AppletPrivate will delete the ConfigLoader which will cause a
save, which can trigger a configSaved signal.
I think it is correct that the config might emit a signal just before
closing, and not at fault.
AppletPrivate is deleted by this point, but Applet is not so the
connection is still alive.
When we handle the signal, it goes into a Q_PRIVATE_SLOT that crashes.
This disconnect pattern is already used for guarding self config
changes.
BUG: 411221
Test Plan: kquitapp5 plasmashell, no longer crashes
Reviewers: #plasma, alexeymin
Reviewed By: alexeymin
Subscribers: alexeymin, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D23707
Summary:
this makes the toolbutton icons follow a standard size.
Maybe one could make it follow the icon group size props? like icon.width and icon.height if those props are set.
Before patch:
{F7274098}
After patch:
{F7274097}
Reviewers: #plasma, mart, ngraham
Reviewed By: #plasma, mart, ngraham
Subscribers: broulik, apol, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D23367
Summary:
this makes the toolbutton icons follow a standard size.
Maybe one could make it follow the icon group size props? like icon.width and icon.height if those props are set.
Before patch:
{F7274098}
After patch:
{F7274097}
Reviewers: #plasma, mart, ngraham
Reviewed By: ngraham
Subscribers: apol, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D23367
Summary:
with the Plasma style buttons which have an icon look wrong. The icon size is too big and in consecuence the whole button is drawn way too big.
With this patch the icon is set to a standard size and drawn in the button layout, in a way it looks consistent with other button with no icons.
example:
Before path:
{F7270612}
{F7270611}
With patch:
{F7270610}
{F7270609}
BUG: 399952
FIXED-IN: 5.62
Reviewers: #plasma, mart, ngraham
Reviewed By: ngraham
Subscribers: ngraham, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D23352
Summary:
This is needed so that we don't remove the splash till the wallpaper is
loaded, but also allows doing this in a generic way.
Version 2 of the patch using a normal property.
We need to have the virtual so that the containment waits for the
wallpaper.
Test Plan:
Used with wallpaper patch
Added debug to ensure it happened after the stackview in the wallpaper
is pushed
Reviewers: #plasma
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D22852
Summary:
This fixes the incorrect initial positioning of the tabs for vertical
tab bars that persisted until the user switched to another tab
manually.
BUG: 395390
FIXED-IN: 5.62
Reviewers: #plasma, ngraham, hein
Reviewed By: #plasma, ngraham, hein
Subscribers: kde-frameworks-devel
Tags: #frameworks
Maniphest Tasks: T10047
Differential Revision: https://phabricator.kde.org/D23036
Summary:
This fixes the incorrect initial positioning of the tabs for vertical
tab bars that persisted until the user switched to another tab
manually.
BUG: 395390
FIXED-IN: 5.62
Reviewers: #plasma, ngraham, hein
Reviewed By: #plasma, ngraham, hein
Subscribers: kde-frameworks-devel
Tags: #frameworks
Maniphest Tasks: T10047
Differential Revision: https://phabricator.kde.org/D23036
This is a remnant from when we used a full background on hovered ToolButtons
instead of the frame we have now. It broke icon item appearance when hovered
in a custom ColorScope.
Reviewed-By: notmart
Summary:
Match the duration (2 seconds) that was set in D22630.
This style is mainly used by Plasma Mobile, therefore requesting team review from that project as well.
Reviewers: #vdg, #plasma:_mobile, ngraham
Reviewed By: #vdg, ngraham
Subscribers: ngraham, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D22720
Summary: This means they're found by unit tests pre-installation
Test Plan:
Removed installed files
Ran make (but not make install)
ConfigModelTest now passes
Reviewers: #plasma, apol
Reviewed By: apol
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D22682
Summary: Changed Highlight to Button focus so that these SVGs wouldn't use the same color as the selection background.
Reviewers: #vdg, #plasma, #breeze, ngraham
Reviewed By: #vdg, #breeze, ngraham
Subscribers: ngraham, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D22670
Summary:
Some applets use completely the code of another one with the key
X-Plasma-RootPath.
At the moment it doesn't work on applets that have a binary plugin portion
This makes pluginloader load the plugin of the original applet we're using
Test Plan:
an applet that falls back to one that has a binary plugin now works.
ones that fall back to applets without binary plugin still work
normal applets as well
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D22675
Summary: Match the duration (2 seconds) that was set in D22630.
Reviewers: broulik, #vdg
Reviewed By: broulik
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D22646
Summary:
can't be enabled anywhere + not actually doing anything as there is no
backing for it in the cpp + qca isn't even looked for by cmake
Test Plan: none
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D22618
Summary:
These were created but never installed. Was looking into porting krunner
to 3.0 and they were missing.
Test Plan: Used them in the WIP port of KRunner
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D22546
if switchWidth or height changes dinamically,
compactRepresentationCheck has to be ran again, otherwise
it can happen the situation where applets have both rapresentations in
the same view
Summary:
Extend the plasmoid startup cache to DataEngines and ContaimentActions.
Include a cache for script engines. In practice it's always the same, we don't
need to check the file system every time.
Reviewers: #plasma, davidedmundson, mart
Reviewed By: #plasma, davidedmundson, mart
Subscribers: davidedmundson, mart, broulik, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D22258
The CACHE_ID_NATURAL_SIZE adds stuff around the argument string, so explicitly move the ^ and $ outside.
Differential Revision: https://phabricator.kde.org/D22275
Summary: At the moment it was enabled in the PluginLoader but we were not using it anywhere.
Test Plan: See patch in plasma-workspace.
Reviewers: #plasma, #frameworks, mart
Reviewed By: #plasma, mart
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D22267
Summary: This allows us to glide active tabbar indicators on lines, which we cannot do now in Kickoff due to this limitation in the control.
Test Plan:
Before:
{F6936102}
After:
{F6936103}
Reviewers: #vdg, #plasma, ngraham, ndavis
Reviewed By: #vdg, ngraham, ndavis
Subscribers: ndavis, apol, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D22108
Summary:
X-KDE-ParentApp is the key in desktop file to display that given service
or application is part of the another application or extension of other
application. In KDE4 this key was used to mark applets to be used in the
specific application like plasma-desktop, kdevelop, amarok etc.
In KF5 world, none of this applications have applet loading mechanism
apart from plasma*, and there are likely only Plasma applet, containment
or dataengines.
Previous API, when no/empty parentApp was passed would filter out every
application which had something as parentApp. This was to ensure only
compatible plugins are loaded in Plasma. This resulted in applets
getting excluded if they suggested that org.kde.plasmashell is their
parent application. Refine this API to,
- If no/empty parentApp is provided, provide all applets
- If parentApp is provided, filter by applet
This behavior is more filter like instead of other way around.
CHANGELOG: Applet, DataEngine and containment listing methods in
Plasma::PluginLoader no longer filters the plugins with X-KDE-ParentApp
provided when empty string is passed.
Test Plan:
tested that plasma loads properly, plasmaengineexplorer lists
all engines and plasmawindowed works fine. Neverthless requires more testing
Reviewers: mart, apol
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D22049
Summary:
Should ensure that on a new release any existing theme caches are updated
automatically.
Reviewers: #plasma, ltoscano, apol
Reviewed By: apol
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D21767
Summary:
The object tracker was telling me it's notifying the same value it
already got, and reading the code it seems to be already notifying when it
actually changes.
Test Plan: tests pass, plasma runs fine.
Reviewers: #plasma
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D21481
When only a label exists in a toolbutton, without filling the width of the rowlayout, the label is not properly aligned in the center.
Differential Revision: https://phabricator.kde.org/D21415
Summary:
The PC3 Button's Label didn't have `Layout.FillHeight: true` set, so button text was not actually
getting vertically centered in certain circumstances. This patch fixes that.
Found while working on D21503.
Test Plan:
Before: {F6860487, size=full}
After: {F6860486, size=full}
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: broulik, apol, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D21502
This could break old-style connects. Let's keep it as it was until KF6
as discussed in the channel. Thanks frinring for pointing it out.
This reverts commit f631aec33f.
Summary: Instead copy the object, operate it and update it into the object.
Test Plan:
just used plasma shell and ran the tests. I'm not sure who uses this.
Issue found with clazy.
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D21483
Don't pass objects to lambdas that get unused.
Don't connect to lambdas without specifying the target object, if an object
reference is passed to the lambda.
Test Plan: Used in model
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: broulik, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D21419
if the connect is done in containmentinterface only contaiments
will be able to see the rect changing, while applet would access it but
not be able to detect changes
Summary:
It can be unexpected that those are not reset when clearCache() was called.
With the current logic when a theme changes the mask cache not reset also
results in wrong lookups, as the cacheid used as key does not include the
theme name.
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D21172
Summary:
there are a few places which potentially pass a prefix with a trailing -,
e.g. if using directly the value of FrameSvg::prefix() or
FrameSvg::actualPrefix(). Support the assumption in such code, unbreaking
its currently not working behaviour.
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: apol, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D21174
Summary:
d8a1a9eb08 changed the condition from
hasElementPrefix(q->prefix()) to hasElementPrefix(frame->requestedPrefix)
but it is not clear why, as the background is generated from the prefix
data & the requestedPrefix is no-where in effect.
As a result sometimes the background is not rendered for a given
not-existing requestedPrefix which was mapped to an empty prefix instead.
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D21175
Summary:
Needed e.g. to fix the missing update of the mask on changing the size of
the Plasma panel if only listening to mask changes.
Reviewers: #plasma, apol
Reviewed By: apol
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D21201
Summary:
In that method we can assue a high chance that the mask is also affected.
Instead of adding complicated additional code to track if the mask
really changed, we rely on the cached value from FrameSvg.
This method is not too often called in a Plasma session, so that
further optimization work to avoid unneccesary emits seems not yet
worth it.
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D21179
Summary:
The specification for FrameSvg does not require that all borders exist
or that left & right and top & bottom borders have samples with the same
size in the scalable dimension.
The old assumption in the code broke e.g. themes which had special
variants per screen side for the panel-background and left out elements
for the border side which would not be rendered anyway, but only set a
margin-hint. So e.g. for a panel on the east screen edge, without the
left border element set, leftHeight would be 0 and as result also the
right border not be painted due to an empty size.
Reviewers: #plasma, apol
Reviewed By: apol
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D21106
Summary: The Q_PLUGIN_METADATA IID should be the one of the implemented interface.
Reviewers: #plasma, apol
Reviewed By: apol
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D21000
Allows to flag a dialog window as critical notification that should be shown even on top of fullscreen windows
Differential Revision: https://phabricator.kde.org/D20630
Summary: Before this fix, the system tray audio widget would try to use the 32px icons where 22px icons should be used.
Reviewers: #vdg, #plasma, ngraham
Reviewed By: #vdg, ngraham
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D20825
Just because the item is visible doesn't mean the window itself is. Keep track of the window it's in.
Use itemChange instead of connects and move the check for starting to startRedirect so we don't have to check the conditions
for that in every change handler (visible && enabled && window->visible). It also saves three connects in the constructor.
Also, don't unredirect if we didn't redirect in the first place to avoid warnings printed on console.
BUG: 406303
Differential Revision: https://phabricator.kde.org/D20805
Summary: The tooltip for the audio system tray widget and panel edit mode had blurry versions of these icons because the icons were being scaled to fit.
Test Plan:
audio.svg: {F6783458, size=full}
configure.svg: {F6783423, size=full}
distribute.svg: {F6783424, size=full}
Reviewers: #vdg, #plasma, ngraham
Reviewed By: #vdg, ngraham
Subscribers: ngraham, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D20695
Summary:
When just the smooth property is changed, this also results in a call of
QQuickItem::updatePaintNode reimplementations. So always just set the
filtering flag to match the current value of the smooth property.
Reviewers: #plasma, broulik, mart
Reviewed By: #plasma, broulik
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D20579
Summary:
During Pre-Plasma5 the hard-coded height of 20 of the progressbar was
changed to instead be taken from the theme via the "hint-bar-size":
commit cee9c928e3
As fallback for old themes in absence of the hint the default height
since some time later has been derived from the sum of the heights of
the elements "bar-inactive-top" & "bar-inactive-bottom".
Which though for the Air and Oxygen themes results in the small heights
of respective 10 & 4. As a result the visual appearance of the theme
differs from what people remember of the time when the themes were
designed.
Ideally the theme designer would tune the actual value to something they
prefer. Until then setting the hint to restore the visual appearance over
the currently pretty slim or even too slim one should improve things
already.
Reviewers: #plasma, #vdg
Subscribers: broulik, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D20602
Summary: This does the same thing as D20586, but for the Breeze desktop theme. The diff shows a lot of changes because I optimized the SVG.
Test Plan: Looks exactly the same as D20586
Reviewers: #vdg, ngraham
Reviewed By: #vdg, ngraham
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D20597
Summary:
QQuickItem already has a "smooth" property, which was shadowed by the
custom ones with the same name. As the property was not part of public
symbols, but instead is dynamically looked up without the class name part
of the property, we just remove the custom versions and instead switch
all custom code to use the inherited property.
While doing that the code is also fixed to properly update the
textureNodes to the current value of the "smooth" property.
As well as not set the filtering only on the texture, when it is passed
to a texturenode which will set its own filtering state to the texture
right before the bind call and thus wipe any previous direct setting
of the filter mode on the texture.
This also changed the default to smooth=true for SvgItem, though
effectively smooth was always true, as the texturenode was hardcoded
to get a QSGTexture::Linear filtering (which, as said above, is forced
onto its texture, no matter what was otherwise set before).
Reviewers: #plasma, davidedmundson, mart
Reviewed By: #plasma, davidedmundson
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D20510
Summary:
The hands of the clocks still relied on the KDE4 times rule that the
position in y-axis relativ to the clock center would define the relative
rotation point for the hands.
With the default in Plasma 5 being (width/2, width/2) from topleft of the
hand shape, using hints of upcoming Plasma 5.16 allows to override that
again to match the original definition, without the need to enlarge
the pixmaps of the hand shapes.
Reviewers: #plasma, mart, ngraham
Reviewed By: ngraham
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D20496
Summary:
This signal is emitted just before showing the context menu to allow
lazy-loading expensive actions like hasAlternatives.
This emitted by our code whenever we show a context menu from an event
filter, however we want to use this code from a tooltip in D17410
Test Plan:
Hovered over some applets, they correctly enabled/disabled the
alternatives button
Reviewers: #plasma
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D20417
Summary:
The SVG format being based on plain text, storing the SVG in the repository
not as .svgz, but .svg, helps both VCS tools (patching, showing diffs) as
well as allows some developers to edit the SVG directly in any text editor,
not only those which support automatic conversion from/to gzip format.
While most artists will continue (and which shall be okay) to use GUI
editors like inkscape, which might rewrite the complete structure on saving,
using uncompressed format in the repo still allows the occasional direct
edit of the text, .e.g. to change a colour, which then is also easily seen
in the commit diff.
To still keep the svgz format when deployed, a build step is introduced,
which uses gzip to create svgz files in the build dir. This conversion can
be controlled using the option GZIP_DESKTOPTHEME_SVG (default: ON).
Test Plan: Themes are still working (with & without cache removed).
Reviewers: #plasma, #vdg, ngraham
Reviewed By: #vdg, ngraham
Subscribers: bruns, GB_2, ndavis, ngraham, fvogt, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D20166
Summary:
the mobile text selection toolbar uses toolbuttons, which in turn use the
private import. This will make the components loading stuck in dependency
resolution
Test Plan: all loads correctly now
Reviewers: #plasma, hein
Reviewed By: #plasma, hein
Subscribers: hein, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D20428
This reverts commit c72ee78bbb.
Broke PlasmaComponents3. Missing files? Error example:
MenuRepresentation.qml:172:5: Type PlasmaComponents3.TextField unavailable
file:///home/eike/devel/install/lib64/qml/org/kde/plasma/components.3/TextField.qml:27:1: "mobiletextselection": no such directory
CCMAIL:notmart@gmail.com
Summary:
The new icon was just added in D20367. The current icon is semantically and visually incorrect,
and the new one fixes that.
The current text also does not begin with an action verb, and this patch fixes that too.
Test Plan:
Before:
{F6759646, size=full}
After:
{F6759647, size=full}
{F6759649, size=full}
Reviewers: #vdg, #plasma, GB_2, filipf
Reviewed By: #vdg, GB_2, filipf
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D20392
Summary:
This property allows e.g. the Plasma shell to query the shape a panel has
when defining the area for BlurBehind.
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D20202
this avoids a qml type resolution recurtion which can
in some cases stuck the component to loading forever
this was particularly visible in plasma mobile
On plasmashell shutdown when the panels are destroyed, the available screen geometry changes.
When an applet then accesses screenGeometry in response to that change, it crashes because the corona is already gone.
availableScreenRegion() and availableScreenRect() already checked for this but screenGeometry() did not
Differential Revision: https://phabricator.kde.org/D20244
Dialog has this clever way of re-sending a mouse event inside the bounardies of the dialog,
so despite visual padding, the items can be clicked on any corner following Fitt's law.
However, when the mainItem has no size, adjusting the position will adjust it inside the border
since there is no pixel inside the main item, leading to infinite recursion as the event is
processed again and again and again leading to a crash.
Differential Revision: https://phabricator.kde.org/D20200
It casted the QAction to a MenuItem which fails because it isn't such.
Instead, manually find the item with the corresponding action.
Differential Revision: https://phabricator.kde.org/D20199
Uses the one from ColorScope rather than Kirigami.
Kirigami.Theme isn't used in any other Plasma Components 3 and the opacity already changes for when it's disabled
Differential Revision: https://phabricator.kde.org/D20070
Summary:
FrameSvg updates the margins e.g. on a Theme change already in its
internal event handling before the methods of FrameSvgItem are invoked.
Due to that CheckMarginsChange guards before this change could not detect
any changes, and thus missed to trigger an update via the margin objects
to the QtQuick world.
So when changing the theme e.g. in a Plasma shell or in the Plasma Theme
Explorer, existing FrameSvg items are using outdated margins, resulting
in broken display.
By keeping a copy of the last seen margins as part of the item and not only
per method, changes outside the FrameSvgItem items can be properly detected.
Test Plan:
Switch Plasma themes between Air, Breeze & Oxygen, see how different margins
are reflected in the widgets sizes instantly.
Switch Plasma themes in the Plasma Theme Explorer, with "Show Margins"
enabled, see how margins are always correctly updated intead of taking the
value of the last theme used.
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D19743
Summary:
Allows themes to disable the blurring of what is behind panels,
if they either do not need it (being fully opaque) or by design want
non-blurry transparency.
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D19907
Summary:
The old logic results in broken rendering if the sample was bigger than the
area to render, due to normalized texture rect being 0 in the respective
dimansion. As well as stretched mapping of the sample for fractional
relationships between the area to render and the sample size.
Test Plan:
Borders of backgrounds of FluffyBunny theme render properly, no other
regressions seen (but unsure what else might rely on that artifact).
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: apol, sitter, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D19787
Summary:
style elements without type="text/css" were ignored before, but now they act as
if type was set. Set id and style properly to restore the working behaviour.
BUG: 405548
Test Plan:
Installed new files on a system with Qt 5.12.2, wiped the SVG cache
and it looks fine again.
Reviewers: #plasma, rooty
Reviewed By: rooty
Subscribers: acooligan, filipf, heikobecker, falqueto, rooty, Zren, arojas, rikmills, asturmlechner, kde-frameworks-devel, plasma-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D19821
When changing an IconItem from using a local image (e.g. PNG file) to using a Plasma themed icon,
the implicit size wasn't updated since the old image was still loaded in m_imageIcon.
Clearing it when clearing the other icon stores fixes this.
BUG: 405298
Differential Revision: https://phabricator.kde.org/D19674
Summary:
as the implicit height could change when switching to password mode,
use a textmetrics which always computes it from the visible text
BUG:399155
Test Plan: height doesn't change
Reviewers: #plasma, ngraham, rooty
Reviewed By: ngraham, rooty
Subscribers: sitter, rooty, ngraham, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D19599
Plasma Dialog used to change the item's visiblity but this is no longer the case, so it would animate when a window is shown and
the source has changed in the meantime.
Differential Revision: https://phabricator.kde.org/D19421
Summary: Currently it just fails silently.
Test Plan: Loaded a plasmoid with an incompatible plugin, warning is shown.
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: kde-frameworks-devel, plasma-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D19394
Summary: This patch adds new icons for the action buttons modified/added in D18893, and gives the suspend hibernate and switch user icons a makeover.
Test Plan:
{F6621871}
Other..: {F6621331} {F6621867}
List Users: {F6615519} {F6621869}
Reviewers: #vdg, #plasma, ngraham, abetts
Reviewed By: #vdg, ngraham
Subscribers: filipf, trickyricky26, ndavis, broulik, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D19020
Summary:
The old style was weird. When the screen edge feature was enabled for the sides of screens, it looked like a bunch of dots smooshed together. Now it's one smooth bar.
BUG: 391343
FIXED-IN: 5.56
Test Plan:
Before {F6599392} {F6599445, size=full}
After {F6599389} {F6599444, size=full}
Reviewers: #vdg, rooty
Reviewed By: rooty
Subscribers: rooty, rapiteanu, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D18834
When a theme doesn't supply background contrast values, we take an educated guess based on whether it's a dark or light theme.
We didn't update the values when switching only color schemes at runtime (when theme follows it).
This lead to washed out Plasma popup and panel backgrounds. Instead, compute the fallback value at runtime.
Also, while at it, update complimentary colorscheme as well, which was forgotten here.
BUG: 401142
Differential Revision: https://phabricator.kde.org/D18487
Summary:
This patch aims to make the corners of the dialog/notification backgrounds (dialogs/background.svgz) more rounded and more in keeping
with the Breeze window decoration theme.
Test Plan:
Before: {F6568854}
After: {F6568855}
Before (Breeze Dark, no //Background contrast effect//): {F6569235}
After (Breeze Dark, no //Background contrast effect//): {F6569236}
Using the Background Contrast Kwin effect adds a weird dark background to all the dialogs and the corners aren't rounded anymore:
{F6568856} and these strange dots appear instead (a rectangle bleeding through?)
{F6568352}
Reviewers: #vdg, ngraham
Reviewed By: #vdg, ngraham
Subscribers: zzag, davidedmundson, Codezela, filipf, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D18545
Especially since the Theme isn't modified in any way but just used to read some data.
While the Private part of Theme is already shared, creating a Theme instance still has some setup cost.
Differential Revision: https://phabricator.kde.org/D18149
Summary:
This patch gives the clock's hour hand a shadow for the spindle too, since the shadow model we're using should logically have the spindle casting a shadow.
It also also increases the height of the minute hand shadow since its current length is short enough that it sometimes doesn't connect to anything.
CCBUG: 396612
Test Plan:
Before: {F6551256}
After: {F6551257}
There are no visual changes whatsoever because the hour hand shadow is not currently displayed (See D17751 for background)
Reviewers: #vdg, #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D18288
Summary:
This patch turns off light font styles for some headings because they cause visual and legibility issues, as explained in the respective bug report.
BUG: 402730
FIXED-IN: 5.54
Test Plan:
**//Worst case scenario testing//** - font does not have a "light" variant and falls back to using a thinner one such as "hairline"
**Before:**
{F6520036}
{F6520035}
{F6520034}
**After:**
{F6520039}
{F6520038}
{F6520037}
**//Plasma defaults testing//**
**Before**:
{F6520778}
{F6520777}
{F6520776}
**After:**
{F6520781}
{F6520780}
{F6520779}
Reviewers: ngraham, #plasma, #vdg, #frameworks
Reviewed By: ngraham, #vdg
Subscribers: #frameworks, #plasma, #vdg, ngraham, abetts, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D17905
The item's visible property is independent of the window visibility, which can be checked using Window.visible.
Differential Revision: https://phabricator.kde.org/D17543
Otherwise we'll keep piling up custom tooltip items in the dialog. They're invisible but they're still there.
Differential Revision: https://phabricator.kde.org/D17542
This allows for calendar widgets to override the Locale. Users may
want to start the week on a Sunday, Saturday, or Monday without
changing their locale's date formatting.
CCBUG: 390330
Differential Revision: https://phabricator.kde.org/D15321
Summary: It's exactly the same as the regular 32px bluetooth icon in this file, but D17346 needs it.
Reviewers: #vdg, #plasma, broulik, ngraham
Reviewed By: #vdg, #plasma, broulik, ngraham
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D17505
Summary:
Leverages QSharedPointer for the reference counting.
Keeps the last value of the cacheId, as it can change sometimes and crash
the system.
Reviewers: #plasma, #frameworks, zzag
Reviewed By: #plasma, zzag
Subscribers: mart, zzag, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D17052
KPackagePrivate::internalPackage already existed, the re-assignment to a
new value causes a memory leak.
Trace:
Indirect leak of 112 byte(s) in 1 object(s) allocated from:
#0 0x544cc0 in operator new(unsigned long) (/home/kfunk/devel/install/kf5/bin/plasmashell+0x544cc0)
#1 0x7f905829163f in KPackage::Package::Package(KPackage::PackageStructure*) /home/kfunk/devel/src/kf5/kpackage/src/kpackage/package.cpp:51:9
#2 0x7f9058fad786 in Plasma::Package::Package(Plasma::PackageStructure*) /home/kfunk/devel/src/kf5/plasma-framework/src/plasma/package.cpp:66:34
#3 0x7f9058f14dee in Plasma::Corona::package() const /home/kfunk/devel/src/kf5/plasma-framework/src/plasma/corona.cpp:78:13
#4 0x5d9eb9 in ShellCorona::ShellCorona(QObject*) /home/kfunk/devel/src/kf5/plasma-workspace/shell/shellcorona.cpp:132:70
#5 0x65c31d in ShellManager::loadHandlers() /home/kfunk/devel/src/kf5/plasma-workspace/shell/shellmanager.cpp:93:21
When a dataengine failed to load it would ask PackageKit to install it but it's generally not how we want to distribute
plasmoid infrastructure these days and didn't work.
Differential Revision: https://phabricator.kde.org/D16301
Without this, ToolButton.qml (Plasma Components 3) is not installed and
applets like the mediacontroller do not load because they can't find it.
The line has been removed in 6126954816,
and it looks like an unrelated change.
Marco, feel free to revert if the proper solution is different.
CCMAIL: notmart@gmail.com
Summary:
in QQC2 the text selection controls depend upon the style, which has to
implement it by itself
this adds touch based draggable cursor and text selection handles,
alongside a tiny toolbar for cut/copy/paste
the desktop style will need the exact same thing
T10023
Test Plan:
works correctly when in tablet mode, none of this is visible
when in desktop mode where the text fields behave normally
Reviewers: #plasma, bshah
Reviewed By: #plasma, bshah
Subscribers: ngraham, abetts, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D16841
Summary: The current colorschemes included in the breeze-light and breeze-dark Plasma themes do not match the Breeze and BreezeDark colorschemes in the breeze repo. For instance, the breeze-dark Plasma theme used an ugly yellow-green for ForegroundNeutral instead of Beware Orange like in the Breeze and BreezeDark colorschemes. It also used a much harsher red that looked inconsistent with BreezeDark. I've been using the new colorschemes for the past month and the most noticeable changes are just the new orange and red colors.
Test Plan:
Old:
{F6411526, size=full}
{F6411527, size=full}
{F6411875, size=full}
{F6411889, size=full}
New:
{F6411523, size=full}
{F6411525, size=full}
{F6411883, size=full}
{F6411898, size=full}
Reviewers: #vdg, #breeze, #plasma, mart, ngraham
Reviewed By: #vdg, #breeze, #plasma, mart, ngraham
Subscribers: ngraham, mart, broulik, #vdg, kde-frameworks-devel
Tags: #frameworks, #vdg, #breeze, #plasma
Differential Revision: https://phabricator.kde.org/D16810
It is a remnant of the Plasma Active days and didn't even compile.
This patch only removes those ifdefs, it doesn't fix any issues I found during (e.g. double lookups or the fact
that KRun::autoDelete is the default now)
Differential Revision: https://phabricator.kde.org/D16295
Summary:
At the moment we always look at the first fallback and load the original
theme again, rendering moot the fallback look-up.
Reviewers: #plasma, davidedmundson, hein
Reviewed By: #plasma, davidedmundson, hein
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D15970
Summary:
Move the icons from D10937 to plasma-frameworks and combine all the sizes
BUG: 395714
Test Plan: "osd-shutd-screen.svg" does not display correctly for me. I can't find any difference between it and the rest of the icons. Help appreciated.
Reviewers: ngraham, #vdg, broulik
Reviewed By: ngraham, #vdg, broulik
Subscribers: broulik, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D14971
Summary:
support button icons.
if there is no icon or is Qt 5.9, the iconItem will stay invisible
Test Plan: tested with ported mediacontroller to PlasmaComponents3
Reviewers: #plasma
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D15164
Otherwise when the week starts on a day other than Sunday or Monday we access invalid day names.
CHANGELOG: Fixed week names not showing properly in calendar when week starts with a day other than Monday or Sunday
BUG: 390330
Differential Revision: https://phabricator.kde.org/D15309
Summary:
On Wayland, DialogShadows doesn't attach empty tiles for disabled
borders. Yet, it sets offset of 1 for them. This results in visual
artifacts like this
{F6206088, layout=center, size=full}
//KWin thinks that there is 1px tall shadow in the bottom.//
In general we don't need to pass empty shadow tiles for disabled
borders. Thus, that's fine to set 0 offset for them.
Test Plan:
* Started kwin_wayland:
dbus-launch kwin_wayland --windowed --xwayland
* Launched latte-dock and kate:
unset DISPLAY
QT_QPA_PLATFORM=wayland latte-dock &
QT_QPA_PLATFORM=wayland kate
* Opened calendar popup:
{F6206090, layout=center, size=full}
Reviewers: davidedmundson
Reviewed By: davidedmundson
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D14946
Summary:
Problem is identified in https://bugreports.qt.io/browse/QTBUG-70138
with a potential patch for upstream.
With native rendering the alpha is pointlessly also set in the
glBlendFunc despite also being used in the uniform of the shader.
Resulting in a visual bug when used on a window with alpha (such as
Dialog)
It sucks, but we were starting to see people work round it by copying
more invasive workarounds everywhere else which I want to avoid.
BUG: 396813
Test Plan: Looked at a text field
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: ngraham, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D15021
QIcon is rendered through KIconLoader instead of e.g. Plasma::Svg.
This means we need to recreate the pixmap when the icon theme changes.
CCBUG: 397109
Differential Revision: https://phabricator.kde.org/D14990
Turns out this icon had a hardcoded color in it which wasn't the case for the
full size icon used on my high dpi system.
Thanks Sandro Knauß for helping investigate this
BUG: 397441
Summary: This patch makes the text for removal and configuration actions consistent with one another.
Test Plan: {F6191533}
Reviewers: #plasma, #vdg, abetts
Reviewed By: #plasma, #vdg, abetts
Subscribers: abetts, broulik, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D14810
This way tests pass before installation.
Test Plan:
Before patch
Created a broken env by unsetting QML2_IMPORT_PATH
Ran test. It failed
It passes.
Reviewers: #plasma, dfaure
Reviewed By: dfaure
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D14743
Summary:
mirroring the behavior when the applet is created by restorecontents,
invalid applets get immediately uireadyconstraint.
This solves the problem of panels not appearing when the setup js contains an non existent applet,
as the panel was waiting forever for applets to finish loading, which never happens
Test Plan: now js startup scripts with an invalid applet have panels loading correctly.
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D14341
Similar to KPackage's cache this speeds up startup where plugins are repeatedly looked up.
Especially the fallback path of looking in the plugin root directly causes quite some slowdown.
Differential Revision: https://phabricator.kde.org/D14009
source and target were swapped in both the QSGNode::updateState/bind
and in the fragment shader.
When Atlas support was added, the texture position was put the right way
round; which made things backwards so source/target also got swapped
instead of fixed properly.
But this leads a glitch if one texture was in the atlas and one
wasn't (not common)
This puts everything the right way round again.
Reviewed-by: Kai Broulik
Allows disabling all containment actions, such as context menus, middle click paste, wheel desktop switch, etc.
Differential Revision: https://phabricator.kde.org/D14045
Summary:
A FrameSvg can have wrong mask frame if image path has been changed after
the mask frame was generated. Take image path into account when deciding
whether the mask frame should be updated to address that problem.
Depends on D13384
Reviewers: #plasma, #frameworks, mart
Reviewed By: #plasma, mart
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D13496
Summary:
When trying to update the maskFrame, there is a chance that it is already
shared by several instances of FrameSvg. In that case, do not wreck maskFrame
and instead act as follows:
* deref it
* try to lookup a matching frame in the shared frames
* if there is the matching frame, use it
* otherwise create a new one
Reviewers: #plasma, #frameworks, mart
Reviewed By: #plasma, mart
Subscribers: mart, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D13384
Summary:
In some cases, when rendering frame svg background, measures & margins
do not correspond to `enabledBorders`. I.e. `bottomHeight` may be equal to 5,
but the bottom border is disabled. This causes visual artifacts like this
{F5878318, layout=center, size=full}
//Pay close attention to the bottom of the Task switcher. It has a transparent strip at the bottom, which shouldn't be there.//
The cause of this problem is that FrameSVGPrivate::alphaMask doesn't take enabledBorders
into account when it's making decision whether it should update maskFrame.
Just for reference, this is "after"
{F5878319, layout=center, size=full}
BUG: 382324
BUG: 390632
BUG: 391659
Test Plan:
* Triggered the Breeze task switcher (with compositing on and off)
* Didn't see any transparent strips
---
* Tried running FrameSvgTest, still passes
Reviewers: #plasma, #frameworks, mart
Reviewed By: #plasma, mart
Subscribers: abetts, mart, aseigo, broulik, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D13215
Summary:
FrameSVG documentation states
> ... topleft and topright will be ignored if top does not exist,
> and similarly for bottomleft and bottomright ...
Someone would assume that the same behaviour applies to the case
when left(or right) does not exist.
This change makes FrameSVG to comply with such expected behaviour.
### Before
{F5878439, layout=center, size=full}
The bottom border doesn't exist so the bottom-right corner should not
be drawn.
### After
{F5878440, layout=center, size=full}
Reviewers: #plasma, #frameworks, mart
Reviewed By: #plasma, mart
Subscribers: mart, kde-frameworks-devel
Tags: #frameworks, #plasma
Differential Revision: https://phabricator.kde.org/D13218
Summary:
To explicitly confine Task Manager drops to Plasma and avoid accidental
drops on other apps, D13274 makes it store task launcher URLs in a special
internal MIME type instead of the generic text/url one. This change to
processMimeData() adds the necessary conversion back.
Reviewers: davidedmundson, Zren, mart
Subscribers: kde-frameworks-devel, plasma-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D13275
Summary:
There is no need to check whether `cachedBackground` is null, and if
it's null, return a null pixmap.
Reviewers: #plasma, #frameworks, apol
Reviewed By: apol
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D13287
Summary:
QDate from/to JS Date has unexpected results, so use QDateTime to have a
timezone assigned to prevent conversions. That way the date values are
consistent.
The behaviour got changed with Qt 5.11 (see the linked bug report) which
lead to plasma showing the wrong dates in the calendar.
BUG: 394423
Test Plan:
Tested with and without this patch on Qt 5.10.1 and 5.11.0.
Now the correct date is displayed for -0004 and +0001 timezones.
Reviewers: #plasma, #frameworks, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: ngraham, Zren, sharvey, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D13222
Dialogs don't show up in task bar and also don't have window decoration so they're not meant to be minimized.
However, they might still be minimized by external means, such as "Minimize All" plasmoid.
In this case hide the dialog. Also, Qt restores a minimize state when showing again, rendering the dialog inaccessible.
Before showing, always unset the minimized state using new Qt 5.10 API
BUG: 381242
Differential Revision: https://phabricator.kde.org/D12876
This reverts commit 612494e2b2.
This caused a huge regression for some drivers breaking functionality
completely. Better to revert for now, and try again when we have it
fully working.
See 393241
Summary:
Remove outdated calendar.svgz from air & oxygen themes which
still contained only the Plasma4 area calendar elements, but not
the (for now single) Plasma5 one, "event".
Given none of the old elements can be reused for the new element "event",
the complete files are removed for now.
Test Plan:
Selecting Air or Oxygen themes the event markers are now shown on days in
the calendar grid widget.
Reviewers: #plasma, mart, broulik
Reviewed By: #plasma, broulik
Subscribers: #frameworks
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D12680
Summary:
CalendarEvents::EventData (in KDeclarative) has a property isMinor, which is
described as "If set to true, it won't be marked in the calendar grid".
This patch fulfils that promise, by introducing separate roles on the model
which explicitly report the existance of any major or any minor events at a
given day, so that the marker loader can concentrate on the major events.
Test Plan:
Using a plasmacalendar plugin which feeds events with isMinor=true the
widget now only marks days which have major events.
Reviewers: #plasma, broulik, davidedmundson
Reviewed By: #plasma, broulik, davidedmundson
Subscribers: davidedmundson, broulik, #frameworks
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D12438
Summary:
Follows HIG in using verb-based name, also starting the text with the most
important objective first.
As result also consistent with default text for similar action in menu of a
normal app (when using KStandardAction).
Reviewers: #vdg, #plasma, ngraham
Reviewed By: #vdg, ngraham
Subscribers: ngraham, #frameworks
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D12562
Otherwise the Text will never grow below its preferred height as the button grows smaller and will
eventually leak outside at the bottom rather than stay centered.
BUG: 393388
Differential Revision: https://phabricator.kde.org/D12518
Summary:
Dropping some item onto a containment results in a menu which lists widgets
and wallpaper plugins without explicitly telling what will happen onto
activation.
Changing the menu entries into "Add widget" and "Set wallpaper" makes it
more obvious what they will result in.
Reviewers: #vdg, #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: ngraham, #frameworks
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D12247
Opening the toolbox when widgets are locked reveals the widget handles but they're empty as all the actions are unavailable.
Just refuse to enter edit mode then.
Differential Revision: https://phabricator.kde.org/D12379
Summary: Otherwise the flat property is ignored
Test Plan: Tested on KDE Connect port to use PlasmaComponents
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: mart, #frameworks
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D11652
Summary:
add a version of containmentForScreen which it has the activity.
which is correct as the activity id of containments in in libplasma side.
this ensure the correctness of shellCorona createContainmentForActivity
as now it works also for activities different from the current one.
to make multimonitor a tad safer with it, when creating containments for an activity, initialize their lastScreen to the asked screen.
Test Plan: tried with an old plasmashell and is perfectly retrocompatible
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, #frameworks
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D11361
Summary:
The original owner of a graphics item is the declarative applet script which
is owned and deleted by the applet.
Reparenting the containmentquickitem to the containment doesn't really
solve anything useful, we were originally effectively owned by the
containment(an applet subclass) not the view anyway.
This code also accidentally moves the destruction of the applet from being in
::~Applet to being in ::~QObject of the relevant containment. This
causes a big problem if the AppletQuickItem tries to access the applet
in it's own destructor. The applet object still exists, but use of
Applet member variables is not valid.
The new preloading code does this, leading to a crash.
BUG: 391642
Test Plan:
Changed desktop to folder twice
Changed activities twice
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: rikmills, #frameworks
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D12064
This is emitted just before the tooltip is shown and allows the user to defer heavy lifting to when the dialog is actually shown.
Differential Revision: https://phabricator.kde.org/D10381
Blit the contents of the TFP texture to a separate mipmap texture,
and (re)generate the mipmaps on each damage event.
This commit also fixes ARGB thumbnails being rendered as opaque.
Note that this commit only modifies the GLX path.
BUG: 390457
Summary:
Having an anchor is undefined, and emits a warning in Qt5.11
Mostly it's used to vertically centre items. Some cases already had a
Layout.alignment property. In some cases it was added.
Reviewers: #plasma
Subscribers: #frameworks
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D11557
Summary:
Third part of https://phabricator.kde.org/D10627
According to the documentation at http://doc.qt.io/qt-5/qabstractnativeeventfilter.html
The type of event eventType is specific to the platform plugin chosen
at run-time, and can be used to cast message to the right type.
On X11, eventType is set to "xcb_generic_event_t", and the message can
be casted to a xcb_generic_event_t pointer.
The other eventType are "windows_generic_MSG" and "mac_generic_NSEvent".
No other eventType starts with an 'x'.
Reviewers: #frameworks, #plasma, mwolff, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: mwolff, plasma-devel, davidedmundson
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D10670
Summary:
https://cgit.kde.org/plasma-framework.git/commit/?id=a21bc11fe11651f6d211489ebfc8435cef877194 erroneously added `renderType` properties to PlasmaComponents3 ComboBoxes, but QML ComboBoxes don't have this property, which broke Latte Dock's settings. This patch removes it.
BUG: 392026
Test Plan:
- Deployed, added Latte Dock, ran Plasmashell with and without `PLASMA_USE_QT_SCALING=1`, and with and without a HiDPI scale factor
- Opened Latte Dock's settings window. In all cases, Latte Dock's settings window appeared normally and all comboboxes rendered properly
- Opened Folder View settings and verified that all ComboBoxes there looked and worked fine, too
Reviewers: broulik, #plasma, mvourlakos, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: #frameworks
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D11484
Summary:
When `PLASMA_USE_QT_SCALING=1` is set, Plasma uses native Qt scaling. This works fine for integer scale factors, and fixes a lot of bugs (see [[https://bugs.kde.org/show_bug.cgi?id=356446|Bug 356446]]) but it introduces a new one: with non-integer scale factors, text becomes blurry and pixellated because of a bug in `Text.NativeRendering`: https://bugreports.qt.io/browse/QTBUG-67007
QQC2-desktop-style forces the use of `Text.QtRendering` rendering for non-integer scale factors, successfully working around the problem. But PlasmaComponents QML objects don't implement the same workaround, so we see the issue in Plasma. This patch fixes that, and gets us one step closer to being able to use Qt scaling in Plasmashell.
There is no effect when `PLASMA_USE_QT_SCALING=1` is not being used.
FIXED-IN 5.13
BUG: 391691
BUG: 384031
CCBUG: 386216
CCBUG: 391695
CCBUG: 391694
CCBUG: 385547
CCBUG: 391692
CCBUG: 356446
Test Plan:
Before: `PLASMA_USE_QT_SCALING=1` set, 1.2 scale factor: Plasma text looks awful:
{F5749797}
After: `PLASMA_USE_QT_SCALING=1` set, 1.2 scale factor: Plasma text looks amazing!
{F5749798}
Note that we still get sub-pixel anti-aliasing and good kerning. There appear to be no layout regressions.
Without both `PLASMA_USE_QT_SCALING=1` and a non-integer scale factor set, there is no visual change compared to the status quo.
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: mart, broulik, #frameworks
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D11244
Summary:
there were some icons which conveyed meaning solely by color
which is discouraged by the hig
https://community.kde.org/KDE_Visual_Design_Group/HIG/Color
this makes use of the little x corner icons that are already
used somewhere in breeze (like muted microphone)
the exception is wireless off that has a bar, so a stronger
this is disabled message than wireless-disconnected
Depends on D10243
...which should go in asap
Test Plan: they all look readable at 100% zoom
Reviewers: #plasma, #vdg, andreask
Reviewed By: andreask
Subscribers: andreask, #frameworks
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D11390
I don't see why this would be silently discarded.
The input shape has nothing to do with the window mask (e.g. rounded border depending on theme).
Differential Revision: https://phabricator.kde.org/D11102
KDirWatch::self() is a singleton so we would get change events also for other files like plasma-appletsrc needlessly reloading plasmarc all the time.
Differential Revision: https://phabricator.kde.org/D11326
Summary:
We were inconsistent on that and it can get in way with placement on buttons.
Mirrors a change in Breeze icons.
{F5740901}
Reviewers: #frameworks, #plasma, ngraham
Reviewed By: #frameworks, ngraham
Subscribers: ngraham, mart
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D11050
Summary:
Previously IconItem would create icons in new textures for animating. By
keeping them in the atlas not only do we avoid that, but we should
implicitly share the QSGTexture used for non-animating item.
Test Plan:
Moused over icon, it changed correctly
Set core profile, moused over an icon it changed correctly
Reviewers: #plasma
Subscribers: #frameworks
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D11091
Summary:
Currently it asserts. I'm sure it worked at some point.
Fixed to match shaders shipped with Qt.
Test Plan:
Set Core profile
Did crash
Now doesn't
Reviewers: #plasma
Subscribers: #frameworks
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D11090
Summary: The PlasmaComponents TextField makes placeholder text light enough so that it doesn't compete with other UI elements, but the PC3 version does not. This patch fixes that.
Test Plan:
Before:
{F5734041}
After:
{F5734042}
Reviewers: mart, hein, #plasma
Reviewed By: mart, #plasma
Subscribers: #frameworks
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D10922
Summary:
If it didn't make sense to have Headings be 20% transparent because nearby or child textual content would be darker (see D10899), then it //really// doesn't make sense to have Titles be 20% transparent, because then **all** the text is darker than the titles, which is really odd.
As with D10899, this brings Plasma in line with Kirigami, where the large titles are already 100% opaque.
Test Plan:
Widget Explorer title, before:
{F5732725}
Widget Explorer title, after:
{F5732726}
As with D10899, it's a very subtle change, so I don't expect anyone to //consciously// notice. But people's unconscious brains will probably say , "wow, text looks sharper and more readable now!", though they won't be able to articulate why.
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: #frameworks
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D10902
Summary:
We [[https://cgit.kde.org/kirigami.git/commit/?id=95417dc1f9bea79cabffb95fa0a79621167a6106|recently removed Kirigami Headings' slight transparency]], after concluding that it looked inappropriate to have Headings with lighter text than their textual content. `PlasmaExtras.Heading` does the same thing, so we should make the same change here, both based on the inherent merits of the change, and also to maintain consistency with Kirigami.
This also slightly improves matters for people who complain about poor text contrast throughout Plasma.
Test Plan:
Browsed System Settings; headings are now ever so slightly darker (or lighter, for users of Dark themes)
Also, here are some befores-and-afters for a widget I'm working on that uses Headings. Before:
{F5732641}
After:
{F5732643}
It's subtle; you'll need to flip between the two with the arrow keys to see the difference, and may need to also zoom in ({key meta +})
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: #frameworks
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D10899
When an applet is placed on the desktop and already shows its full representation, like Weather applet,
don't create the expander item.
The DefaultCompactApplet shows the dialog when plasmoid.expanded which will be always the case and you end up with an empty
window randomly showing up on startup.
Differential Revision: https://phabricator.kde.org/D10764
Summary:
make svgitem schedule a polish right when it's done loading
ScrollView now forces to layout items as soon is created, to preload items
before the window is shown
remove useless include
Test Plan:
possible to preload (almost) the whole systray with less hacks
on that part (see D10692)
Reviewers: #plasma, davidedmundson, broulik
Reviewed By: #plasma, broulik
Subscribers: davidedmundson, broulik, plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D10722
Summary:
This changes between linear and nearest neighbour filtering.
Docs for QtQuick say:
In Qt Quick 2, this property has minimal impact on performance.
Generally we round to icon size anyway and resize the underlying images
anyway, so this will have no impact.
Reviewers: #plasma, apol
Reviewed By: apol
Subscribers: plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D10653
Summary:
when preloading, preload the expander as well, and reparent the
full representation to it, so we have a scene schanged less.
also do a create() of that window (may be worth to do create()
automatically in every Dialog?)
Test Plan: the first open is visibly a lot faster now
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D10681
Summary:
-- when the combobox isnt inside the main Item
but rather a sub-Item it doesnt inherit the
LayoutMirroring properties. This is a workaround
to handle that behavior.
QTBUG: https://bugreports.qt.io/browse/QTBUG-66446
Test Plan:
checkout that LayoutMirroring works properly in
such case
Reviewers: #plasma, mart, safaalfulaij
Reviewed By: safaalfulaij
Subscribers: safaalfulaij, plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D10592
Summary:
preload popups of some applets after init in the background
based on a value of X-Plasma-PreloadWeight in the desktop file
if present, otherwise some default values based on the applet
type (Provides)
Save the weight in the config, if an applet is never opened,
slowly decrease the weight, when it reaches 0 don't preload it
next start, increase every time it gets opened, so at the moment
it's quite aggressive about preloading, in order to not do it
a lot of plasma startups without touching the applet are needed
Applet with a very big weigth will be preloaded immediately,
therefore having an impact on the time it will take to have
a panel visible and usable, while lesser weigths will preload
after a random number of seconds between 2 and 10, so will load
in the background after everything is started
Test Plan:
Plasma starts up correctly, applets load correctly and can be added
correctly both those expanded or collapsed.
plasmashell appears correctly usable without too big hiccups even
while it's loading things in the background
some numbers:
without preloading, plasma takes around 64 mb of memory after startup
when preloading everything about 94, so it's a cost of about 30 mb
which is not negligible.
don't have precise timing, but if everything gets preloaded immediately,
the time to get an usable desktop appears to be at least doubled,
while the delayed preloading (except just a couple of applets) doesn't
seem to have a big impact on the time needed to get an usable desktop
Reviewers: #plasma
Subscribers: davidedmundson, broulik, apol, ngraham, plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D10512
Ensures the fading node's texture has the same filtering as the regular node,
otherwise during transition the icon could show scaling artefacts.
Differential Revision: https://phabricator.kde.org/D10533
Summary:
On wayland (at least) it's initialized when the window is assigned, so
we need to listen to the itemChanged to adopt it.
Test Plan: manual testing
Reviewers: #plasma, hein
Reviewed By: #plasma, hein
Subscribers: hein, plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D10420
Summary: Much like it is specified by kirigami itself
Test Plan: Now I don't get a warning
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D10225
Check that the sizes of the color channels in the fbconfig match those
in the window visual.
This fixes a 2-10-10-10 fbconfig being choosen for the ARGB32 visual.
Differential Revision: https://phabricator.kde.org/D10173
Signed-off-by: Fredrik Höglund <fredrik@kde.org>
Acked-by: David Edmundson <kde@davidedmundson.co.uk>
Apparently causes background contrast to not work on startup, let's just revert this
and figure out a proper solution later.
BUG: 389352
This reverts commit f3cd5d55fa.
Unset the Label's default height which completely confuses the renderer either shifting the item vertically (e.g. when toggling
system tray popup), or letting it get too wide (e.g. when moving from a two-line tooltip to a one-line tooltip).
Also let the Layouts figure out sizing rather than trying to overrule it with flaky values.
BUG: 386260
BUG: 389371
Differential Revision: https://phabricator.kde.org/D10077
Summary:
for styles in order to work at all they need to import
the latest available qqc2 version installed in the system
or any app using new qqc2 feature will fail to load.
do like in qqc2-desktop-style and set the import version
at build time
Test Plan: all generated files have 2.3 here as version and apps using qqc2 still oload
Reviewers: #plasma, bshah
Reviewed By: #plasma, bshah
Subscribers: plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D10074
Summary:
when the native high dpi scaling is enabled, some things gets scaled two times,
as sizes taken from svgs should *not* be manually scaled by devicePixelRatio
Test Plan:
works correctly on wayland, svg.elementSize will have to be tweaked in x11 to
return a value scaled by scalefactor, to homogenize the behavior compared to
native qt high dpi scaling.
to return a value scaled by scalefactor for this qml code to work there too.
I advise everybody with high dpi laptops to test this on both wayland and x11
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: hein, broulik, plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D9286
Summary:
I found two places in plasma-framework svg.cpp (Plasma::Svg) that were triggering this message.
path variable was not being checked for empty before passing to QFile::exists().
This seems to be one source of the issue reported in [[ https://bugs.kde.org/show_bug.cgi?id=388389 | Bug 388389 ]]
Test Plan: Found that kicker was triggering this message and also plasmashell tooltips.
Reviewers: #frameworks, davidedmundson
Reviewed By: davidedmundson
Subscribers: ngraham, alexeymin, aacid, #frameworks
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D9928
Summary:
Horizontally align the toolbar row to the days/month/etc grid canvas.
(The bar was used to be a few pixels wider)
Test Plan:
Before: {F5514329}
After: {F5514330}
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: aacid, davidedmundson, broulik, plasma-devel, #plasma, #frameworks
Tags: #frameworks, #plasma
Maniphest Tasks: T7499
Differential Revision: https://phabricator.kde.org/D9019
This will have the ConfigModule use the same engine as we do, ensuring we use the correct QtQuick Controls style.
BUG: 388766
Differential Revision: https://phabricator.kde.org/D9785
We have a special case for sources starting with "file://" but a "/" also represents an absolute path and shouldn't
conflict with icon theme names.
Kicker sets a custom image as local path and then we would end up trying to load it as a QIcon::fromTheme eventually.
This will cause the implicit size of the icon item to stay at its default as we only check a custom implicit size
for a source QImage or an SVG. Moreover, this potentially introduces scaling artefacts.
Differential Revision: https://phabricator.kde.org/D9812
Summary:
--PlasmaComponents3.ComboBox now appears correctly
its list items in RTL environments by aligning them
to the right
BUG: 387558
Test Plan:
check the combobox list both in RTL and LTR environments
in order to confirm that the list items are aligned correctly
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: mart, plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D9275
This adds a dedicated, green, task bar progress graphic.
Currently there isn't and as a fallback it uses the hover graphic.
BUG: 368215
Differential Revision: https://phabricator.kde.org/D9324
Summary:
minimize file access during url rewrite
we still need it for accessing stuff under code/
Test Plan: plasma still loads, seems to save ~2%
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, ngraham, apol, plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D9124
This reverts commit 4ce50cc61f.
This caused a regression with toggling compositing, causing SVG reloads
with the same path to switch to opague elements. As this revision was
meant as a performance optimization, it can be reverted with no other
consequence for now.
Summary:
like other platforms, on mobile devices make scrollbars visible only when
dragging/flicking, behavior on desktop unchanged
it introduces a runtime dependency on kirigami, but was already kinda there
but broken as the Settings singleton was already used.
if this can't be done, i'll add something in plasmacore which reads as well the
QT_QUICK_CONTROLS_MOBILE environment variable
Test Plan: scrollbar disappearing with the variable set, normal behavior otherwise
Reviewers: #plasma, bshah, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D9287
Summary:
to minimize metadata lookups, pass the kpackage created in pluginloader
to the applet itself as args. the args structure will be used only by the
internal constructor and applet sublasses will get their args unaltered
Test Plan:
plasma loads correctly, from 3 kpackage instantiation per applet to 2
(last is in the access manager)
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D9123
The style is global per engine, there's no need to set it for every applet created
as the engines are shared.
Since this entire thing is just a hack, just setting a dynamic property to identify
that we've set a style is valid imho.
Also turn it into a plain QtObject since we don't need a fully-fledged Item.
Differential Revision: https://phabricator.kde.org/D4362
Summary:
Setting a window icon is costly enough to be worth avoiding when it's
not actually needed.
This is a resurrection of David's old patch:
https://git.reviewboard.kde.org/r/128484/
The concerns in the old discussion that led to its rejection are no
longer valid today: In the meantime we implemented a way for apps to
announce their .desktop file in a window hint, which KWin (and libtm)
will fall back to to look up an icon if not set. As plasmashell does
this, we can drop the setIcon call here and won't regress.
Test Plan:
The pinned systray popup dialog still gets the Plasma icon in the
Present Windows effect.
Reviewers: #plasma, #frameworks, davidedmundson, graesslin
Subscribers: plasma-devel
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D9209
Summary:
--align selected text correctly for
PlasmaComponents2.ComboBox taking into account
RTL.
BUG: 387415
Test Plan:
use ComboBoxes in RTL and LTR in order
to check a proper behavior
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: broulik, plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D9126
Summary:
Plasma::Svg initializes SvgPrivate::scaleFactor to 1.0. On systems with
a higher value for Units:devicePixelRatio, that means Svg::setScaleFactor
gets called with a different value right after instanciation and a fair
amount of work is done twice.
This patch introduces a static SvgPrivate::s_lastScaleFactor,
initialized to 1.0 but updated in Svg::setScaleFactor.
SvgPrivate::scaleFactor is then initialized to the static every time
its instanciated. That means after the first time Svg::setScaleFactor
is called with e.g. 2.0, subsequent Svg instances get initialized
with 2.0.
This ends up shaving a decent amount of time off of startup on scaled
systems.
Reviewers: #plasma, davidedmundson, broulik
Subscribers: plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D9119
Summary:
When the component completes `FrameSvg::setRepaintBlocked(false)`
is called, which calls `updateFrameData`, which emits
`repaintNeeded`, which is connected to `doUpdate` anyway.
This saves one `doUpdate` per instanciation. The reason for that
is as follows:
* The concept or repaint blocking is implemented in `FrameSvg`,
which inherits from `Svg`.
* The `repaintNeeded` signal connected to `doUpdate` is the one
in `Svg`.
* `Svg` code emits `repaintNeeded` liberally even when repaints
are blocked, since it doesn't know anything about this.
Hence we check if repaints are blocked in doUpdate and abort,
implementing the QQmlParserStatus interface in the right class.
Reviewers: #plasma, davidedmundson, mart
Subscribers: plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D9138
Summary:
Plasma::Svg initializes SvgPrivate::scaleFactor to 1.0. On systems with
a higher value for Units:devicePixelRatio, that means Svg::setScaleFactor
gets called with a different value right after instanciation and a fair
amount of work is done twice.
This patch introduces a static SvgPrivate::s_lastScaleFactor,
initialized to 1.0 but updated in Svg::setScaleFactor.
SvgPrivate::scaleFactor is then initialized to the static every time
its instanciated. That means after the first time Svg::setScaleFactor
is called with e.g. 2.0, subsequent Svg instances get initialized
with 2.0.
This ends up shaving a decent amount of time off of startup on scaled
systems.
Reviewers: #plasma, davidedmundson, broulik
Subscribers: plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D9119