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
* Add QStringLiteral et al where appropriate
* Also add override keyword to avoid warnings
* Minor style changes and cleanups
Differential Revision: https://phabricator.kde.org/D10092
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
If a border isn't enabled there's no point in creating a node for itIf a border isn't enabled there's no point in creating a node for it.
Differential Revision: https://phabricator.kde.org/D9121