The K_EXPORT_PLASMA_DATAENGINE_WITH_JSON expects a JSON file. But
considering that nobody complained about this and it has been broken for
years we can get rid of it.
The context property version is slower to access and won't be supported
in Qt6. Let's port away from it and use the singleton version instead.
Here was my full process for making this change:
1. Made the change with `find . -name '*.qml' | xargs perl -pi -e 's/units\./PlasmaCore\.Units\./g'`
2. Verified no more occurrences with `grep -r " units."`
3. Made sure this didn't change any comments in a silly way by inspecting the output of `git diff | grep "+ " | grep "//"`
4. Manually inspected the full git diff to make sure there were no other unintentional or silly changes (there were none)
5. verified that all changed files have the PlasmaCore import with the correct name with `for FILE in `git status | grep modified | cut -d ":" -f 3`; do grep -q "as PlasmaCore" $FILE || echo "$FILE needs the PlasmaCore import"; done` (one needed the import)
In commit c709076d9c the SVG got somehow
broken leading to black rectangles in all cases where it was used.
This commit reverts to the last working version, then reapplies the
"thick margin" from the change.
A test is supplied to show all our frameSVGs to hopefully make this
easier to spot if it happens again.
BUG: 430390
Also add disabled buttons to the PC3 Button test
The minimum size test didn't make any sense. You don't normally set the implicitWidth of a button to Layout.minimumWidth in a Layout.
Updated the tests so that you can see if the aspect ratio is correct.
Made an animated transition for when `control.running` is false.
Removed the code that updates the RotationAnimator when control.running changes since it didn't work.
Set padding to 0 (see comment).
BUG: 425504
For the following reasons:
- It can break and look bad on Plasma Mobile which uses the Plasma style
- It makes buttons with icons and short text look visually unbalanced
- QStyle and QML desktop style buttons do not do this so it's a source
of inconsistency
Tests are adjusted to all pass. Stuff looks better to my eye.
Since a checkbox is a subclass of AbstractButton, it can be given an
icon. QWidgets checkboxes will faithfully display this icon, but
PlasmaComponents3 ones will not. They should. :)
I will submit a similar change for the QQC2 checkbox style
to make them consistent.
Summary:
by default users have to opt out of BUILD_TESTING meaning everyone would
by default build and get testengine installed even though it serves no
purpose in production. this also includes distros as I've noticed :O
do not install the engine, same as testplugin isn't getting installed.
(I am actually thinking throwing it away as a whole may make sense; it
serves no real purpose over any other engine)
Reviewers: mart, apol
Reviewed By: apol
Subscribers: broulik, apol, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D28463
Summary:
always scale icons unless a size is specified in the api.
this makes icon sizing more in line with plasma components 2
Test Plan:
{F8129062}
{F8129064}
{F8129065}
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: broulik, ngraham, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D27628
Summary:
icon sizes and label placements tested correct in several scenarios
* control.icon.width/height is used as maximum size of the icon
* if the button is smaller icons always scale down
* icons stay ccentered regardless of button size when there is no text
Test Plan:
fixes icon sizes without workarounds like D27260
{F8108705}
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D27460
Summary: Correct test radiobutton3.qml to use Plasma Components 3 instead of 2.
Test Plan:
Run `qmlscene radiobutton3.qml`
Before:
Misaligned button and big height. (bug in PC2 radiobutton)
After:
Correct height and alignment between button and button's text.
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: ngraham, davidedmundson, ndavis, kde-frameworks-devel
Tags: #frameworks, #plasma
Differential Revision: https://phabricator.kde.org/D27082
Summary:
So far PC3 version of the slider doesn't react to events, this change
enables it.
Test Plan: Used it with a test.
Reviewers: #plasma, broulik, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D26055
Summary: For quickly other bugs in PC3
Test Plan:
Opened qmlscene on some files
It's only for unit tests anyway
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D25822
Summary:
These were super useful for spotting bugs in PC2.
They show many many issues already.
Visually they should match PC2. They don't
Some API doesn't map directly. Those tests
were removed.
Test Plan:
Opened in qmlscene
Everything binds correctly. Some things look horrible.
Reviewers: #plasma
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D23827
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:
This draws a line underneath a Plasma checkbox label when it has
keyboard focus. This is needed as when an item is checked, the focus
shadow is practically invisible.
Visuals when clicking is completely unchanged
This brings it more in line with our QStyle.
Test Plan: Attached runtime tests
Reviewers: #plasma, #vdg, mart
Reviewed By: #plasma, mart
Subscribers: plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D7819
You can assign a QAction as "action", this way you can just pass it e.g. plasmoid.action("configure").
However, when assigning a null action as can happen with kiosk restrictions, it would crash
as it assigns m_action the nullptr but never checks for that.
This patch ensures we always have a QAction, creating a new empty one, if neccessary.
Also deletes our own action if an external one is assigned
Differential Revision: https://phabricator.kde.org/D6608
This allows to limit the maximum width of a menu. It can be useful for instance
in task manager where long file names for recent documents will result in gigantic menus.
The property has a RESET method (which is called if you assign "undefined") which will
set it back to QWIDGETSIZE_MAX to remove the size restriction.
Differential Revision: https://phabricator.kde.org/D4257
Similar to KPasswordWidget in kwidgetaddons
Also fixes:
- the clear button still being clickable when not enabled
- RTL icons
- Updating the right margin correctly
REVIEW: 128660
Like KIconloader, support a Selected state, in IconItem,
as in all generic svgs/framesvg
it replaces the text color with HighlightedText and the
background color with HighlightColor
Change-Id: Id97a527405d2c3feed75a172f05547defdbf440c
REVIEW:127975
Since some time PlasmaCore had the very useful ColorScope class,
which can semi-automatically make children take colors of the
View, Button or Complementary color groups.
Unfortunately it didn't support dynamic reparenting, giving
wrong colors in some cases (see black on black battery on the phone)
even tough is a bit complicated, now by cascading signals down the
children tree, support on the fly apply of the new context upon
reparenting.
also add a manual test case showing text, rectangles and icons
dynamically changing color as they get moved from one scope
to the other
REVIEW:126654
Change-Id: I3d746b73eac55a359c4706fb719b4d5018677fb5
Plasma's Button has an extra property "minimumWidth" which is an extra
hint not in QQC to say "what is the size to exactly fit the contents".
(it's a bit confusing, as we can perfectly handle a button below it's
"minmimum" size)
This should be based on the size the contents want to be (the
implicitWidth), not how small the contents can go (which with is pretty
meaningless when our button can elide)
It got broken at some point recently.
BUG: 353584
Change-Id: I637898c3abf98183bbae30d8f15c4d72801a3650
REVIEW: 125698