Summary: Using the height property together with paintedHeight had binding loops.
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: broulik, plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D8870
Summary:
We were reporting that the margins were changing whenever anything changed
in a FrameSvg, this patch makes sure we are only reporting the changes
when it actually changes.
This also fixes a binding loop in Desktop.qml from plasma-desktop.
BUG: 382233
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: broulik, davidedmundson, plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D8809
Summary:
Module internal types are not implicitly available anymore simply by placing
them inside the module's main directory. It is now necessary to mention them
as internal types in the qmldir file.
See qtdeclarative commits 22a2cc43387ec3b9f74a6c01f8665378a4541147 (introduced
the change) and 930aea8b9ca59a24838cf7f279653e3b2ee40cee (explanation)
Test Plan:
Built whole stack with Qt 5.10. The digital clock plasmoid does not
load due to the DaysCalendar type not being available. With these changes to
qmldir and a reload of the plasmoid it works.
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: broulik, #frameworks, plasma-devel
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D8077
Documentation says "Children are stored internally as a linked list, so iterating over the children via the index is suboptimal."
Differential Revision: https://phabricator.kde.org/D8046
Summary:
Plasma code is full of Label {opacity: 0.6}. We shouldn't be hardcoding
style into a UI, especially with magic numbers.
This adds a new component that does the same thing but will allow
plasmoids to write more semantic code.
Reviewers: #plasma, hein
Reviewed By: #plasma, hein
Subscribers: hein, sebas, broulik, plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D4831
Summary:
Software rendering (at time of writing Qt5.10) doesn't seem to like our
tiling/stretching in the 9-tiles.
Also when using QPainter it's arguably faster to create and cache
pixmaps of the whole frame, which is what the slow path of FrameSVGItem
does.
Test Plan: Ran FrameSVG test then plasma shell with scene device set
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D8013
Summary:
IconItem uses a gorgeous shader to fade between two states. This doesn't
work with software rendering.
Given software rendering is a second class citizen, just skip the
animation.
Test Plan:
Hovered over kickoff.
Went from one to the other, without temporarily disappearing
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D8014
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
The "parent" used to be resolved by the place where the utils.js was imported from.
However, it was changed into a singleton and now this didn't work.
BUG: 384776
Summary:
The name (with a correct role) is already exported as a tab
By having the static text internally we get the name twice when we do a
flat review of the controls.
Reviewers: #plasma
Subscribers: plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D7815
this was actually breaking keyboard navigation
see https://bugreports.qt.io/browse/QTBUG-63176
for our use case in pasmashell, it's better to just
rely on focus of the internal items or of the
ListView
reviewed-by: davidedmundson
Summary: Some widgets are missed up in RTL mode, this should fix it.
Reviewers: #plasma, #frameworks, mart
Reviewed By: #plasma, mart
Subscribers: mart, broulik, davidedmundson, plasma-devel
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D7715
We'll eventually delete the Plasma::Svg anyway if we failed to find an appropriate icon.
Just need to make sure we don't use isValid with the old source set but this is only done with
m_usesPlasmaTheme, hence the new check there, also optimizes the non-themed case.
Differential Revision: https://phabricator.kde.org/D7584
On my machine I end up creating 490 margins and 490 fixed margin objects.
After this change I only create 171 margin objects and 20 fixed margin objects.
Differential Revision: https://phabricator.kde.org/D7582
Summary:
It's used by ToolButton et al.
We install it in the theme folder, but not in the plasma components dir.
Test Plan: Used a toolbutton without error
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D6693
Summary:
By default, Qt is built without accessibility there, which is what
would indirectly include the needed QColor with a "normal" Qt build
here.
Reviewers: #frameworks, broulik
Reviewed By: broulik
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D7117
Summary:
The label text gets treated as RichText/StyledText, which is required
to display mnemonics underlined. Therefore it is necessary to manually
HTML escape the label text, which unfortunately breaks mnemonics as
escaped HTML contains ampersands.
This commit fixes that by introducing a custom function to stylize
mnemonics in HTML escaped text.
Test Plan:
Ran a modified knotificationdbustest with "<h1>&&a&ction</h1>" and
"actio&n2" as actions. Result: http://i.imgur.com/xHifDBu.png
Reviewers: #plasma, broulik
Subscribers: plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D6679
It got redundant and since it wasn't declared as "pragma library" an instance
of this script was created for every ListItem, causing quite some memory consumption.
Reviewed-By: notmart
as this control is new, we can change the default.
for sanity purposes, default to plain text
if the user really needs rich text, it can still
be explicitly setted
reviewed-by:kbroulik
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
Summary:
Current code will, when mirrored, treat all keys like they're the left
key.
BUG: 379894
Test Plan: Ran plasma in RTL
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D6480
Summary:
* make sure after a showevent the size is final and the
dialog can be safely repositioned.
* set mainItem visible in :setVisible() so that is executed before showEvent:
resizing windows in their show event is definitely not enough, causes events to arrive to
reset to the old geometry in race with the setgeometry done there, don't know yet
if it's the qpa, qwindow, or the windowmanager
* make synctomaintem and updatelayoutparameters working even if
the dialog is not visible as we need to resize beforehand
* move the plasmasurface window also in the show event as if there was no moveevent
after an hide/show, its position would be resetted to 0,0
Test Plan:
current dialog users behave the same (like pre-D6216 notifications applet), tests still pass
notifications applet reworked to use this works as expected
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: sebas, hein, davidedmundson, plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D6215
like happened in KPasswordWidget, show the show password
button also when there is no text, otherwise is impossible
to know what will be typed, a dot or the actual letter
BUG: 378277
Summary:
Don't construct a QUrl for every source strings. Check it's a file url
first (which is the only kind of url we support at the moment)
When extracting the path, use toLocalFile, so it works on platforms where
path!=toLocalPath (e.g. windows)
Don't split a string and get a chunk, but just extract the chunk we need
with section. Reduces allocations that are automatically discarded.
Narrow iconPath scope
Test Plan: Tests still pass, plasmashell still works
Reviewers: #frameworks, #plasma, mart
Reviewed By: #plasma, mart
Subscribers: plasma-devel
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D6014
Summary:
take into account size hints also when adjusting with synctomainitemsize
which sometimes has to be executed right before adjusting from the layout
hints, giving one wrong resize
introduce geometryUpdatesBlocked, which stops the dialog
from syncing which is useful when both visual parent and item
contents gets updated in one go (the tooltip) it is not
yet exported to qml and it shouldn't as is dangerous, but
kicker may make use of it between changing the submenu model and
the visualparent
alternative implementations may be:
* a method that takes both main item and visual parent
* delaying with a timer setGeometry (ouch)
this part can also be left behind for now and see if the rest is good enough
Test Plan:
no visual glitches visible anymore in wayland when moving the tooltip
in the taskbar, x11 ok too
Reviewers: #plasma, hein, davidedmundson
Reviewed By: #plasma, hein, davidedmundson
Subscribers: broulik, davidedmundson, plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D5912
Summary:
this ensure two things:
* submenus have the main menu as transientParent
* the visualParent window() is used as transientParent, if exists
this partly fixes popup positioning in wayland, tough
the main taskbar menu is still mis positioned
Test Plan: submenus ok, taskbar contextmenus only partially fixed
Reviewers: #plasma, #plasma_on_wayland, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, plasma-devel, #frameworks
Tags: #frameworks, #plasma_on_wayland
Differential Revision: https://phabricator.kde.org/D5773
Summary:
every time the window gets shown the wayland surfaces
get created, when hidden, they get destroyed
showevent is too early for it as they aren't there yet,
use :Exposed instead, but only the first time when the surface
isn't there yet
Test Plan:
popup applets always have correct blur in a wayland
session
Reviewers: #plasma, #plasma_on_wayland, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, plasma-devel, #frameworks
Tags: #frameworks, #plasma_on_wayland
Differential Revision: https://phabricator.kde.org/D5745
Summary:
when usesPlasmaTheme gets changed, make sure to
invalidate the svg icon if there, to reload the
icon from the proper source, being either from
the plasma theme or the system icon theme.
Test Plan:
cuttlefish now reloads dynamically the proper icons
when the monochrome checkbox is ticked
Reviewers: #plasma, sebas
Reviewed By: #plasma, sebas
Subscribers: plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D5721
Summary:
We were missing installing the qmldir file which is quite important
Test Plan: Actually used them in a Plasmoid
Reviewers: #plasma, mart
Reviewed By: mart
Subscribers: mart, plasma-devel, #frameworks
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D5603