kcm: Fixes and UI improvements
might split out the UI improvements in a separate MR. Let me know if you feel like this is needed
kcm: Drop QML import versions
They are deprecated and unhelpful.
This is an automated change using the following regexp: Search: (import \S+) \d\S*( as \S*)? Replace: \1\2
kcm: Drop semicolon from import statements
That's pretty unusual for our code style, and completely unnecessary.
kcm: Add import aliases for org.kde.kcmutils QML module
kcm: Fix indentation
kcm: Add missing spacing to the layouts
The default spacing is 5px which does not align with anything in our design system. The closest value is smallSpacing which is 4px.
kcm: Declare properties with appropriate types
else
branch for a property binding, fix up condition
kcm: Fix missing A block without an explicit return like this one produces an undefined
value, which is an illegal value for a string property text
.
As a drive-by, drop the visibility condition on percentage int implicitly cast to bool. If a device is discharging all the way down to a last-minute 0% level, why should we hide the number?
kcm: Fix broken function deviceTypeToString
The default branch wasn't working at all for multiple reasons. While fixing it to work the way it was intended, I also modernized some expressions, simplified arguments list and added types, wrapped comma separator in an i18n call.
Amends a2443725
kcm: Rewrite function setBluetoothEnabled
Rewrite the index based raw loop using the iterative method forEach; also add types to the method itself.
kcm: Port mutually exclusive if-conditions to a switch-case
kcm: Add type annotations to every QML method
kcm: Bind action directly to the Switch button
Visibility doesn't need to be bound either, because the component won't be displayed for an invisible action by the tool bar anyway.
kcm: Port to qualified property access and pragma ComponentBehavior: Bound
Add icons to the Send File & setup Network buttons
Changes an existing icon in the applet to something more appropriately looking. The icon for network setups is taken directly from the plasma-nm model code.
kcm: Device.qml: Move the makeCall method to the top-level component
Because why would it be buried deep inside?
kcm: Factor out action and dialog+controller for forgetting the devices
It will be convenient when adding or moving the "Forget" button to the device page later. It also removes the need for IIFE hack, because the whole dialog is now being created outside of the fragile ListView delegate's context.
Add the "Forget" button to the Device page
Imagine you opened a page specifically to manage the device, and the removal button just isn't there. Why?
the device page could use some title bar actions as well, but I couldn't decide which one would be more "entitled": Dis/connect or Forget? Having both feels like too much, might not fit in some languages and would make custom busy indicator somewhat more difficult to implement.