Commit Graph

4364 Commits

Author SHA1 Message Date
David Redondo
8c37d1d225 Don't let the background become smaller than the svg
Otherwise the svg rendering results in broken looks.
BUG:424448
2020-08-25 15:11:17 +00:00
Niccolò Venerandi
e4ab700b70 ops 2020-08-24 19:57:15 +02:00
Niccolò Venerandi
60e029d9d2 Merge branch 'master' of https://invent.kde.org/frameworks/plasma-framework into work/plasmoidsCanIgnoreMargins 2020-08-24 19:56:20 +02:00
Friedrich W. H. Kossebau
3f8469acb1 Use Q_DECLARE_OPERATORS_FOR_FLAGS in same namespace as flags definition
Having the macro's definition of the operator| in the namespace of the
flags argument improves/unbreaks things for the argument-dependent
lookup of unqualified function names, e.g. when flags are combined in
calls of other methods, but there is some other operator| defined in the
namespace of the current code.

Given Q_DECLARE_OPERATORS_FOR_FLAGS creates inlined functions, this
should be a source and binary compatible change.

Qt did similar for Qt 5.12 in
https://codereview.qt-project.org/c/qt/qtbase/+/225348
2020-08-24 09:21:41 +00:00
Noah Davis
3509283d63 Make PC3 BusyIndicator visuals keep a 1:1 aspect ratio
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
2020-08-23 15:08:32 -04:00
Niccolò Venerandi
dcb26d979e ops 2020-08-22 16:56:05 +02:00
Niccolò Venerandi
db2126cea1 Use a hint instead of a bool 2020-08-22 16:54:52 +02:00
Noah Davis
a4e7ea6807 Use ButtonFocus and ButtonHover in PC3 ComboBox 2020-08-20 22:25:33 -04:00
Noah Davis
89b7d0afb5 Use ButtonFocus and ButtonHover in PC3 RoundButton 2020-08-20 21:05:43 -04:00
Noah Davis
c31edc876b Use ButtonFocus and ButtonHover in PC3 CheckIndicator 2020-08-20 19:40:46 -04:00
Noah Davis
7574eee24e Unify the flat/normal behavior of PC3 Buttons/ToolButtons
Rather than duplicating the behaviors in both Button.qml and ToolButton.qml, leading to bugs and inconsistencies, the Button/ToolButton background code is split into separate reusable files. The correct background is used depending on whether or not flat mode is enabled.

BUG: 425174
2020-08-20 19:33:53 -04:00
Noah Davis
5ca28a123b Make Heading use PC3 Label 2020-08-18 21:10:38 +00:00
Nate Graham
c73264c75e [PlasmaComponents3] Make checkbox text fill its layout
Otherwise the elision property set on it has no effect because no width
boundary is defined.
2020-08-18 13:52:13 -06:00
Noah Davis
2774a61db7 Give PC2 slider implicitWidth and implicitHeight
Needed to prevent them from having 0 width and height in Layouts.
2020-08-18 15:17:24 -04:00
Hannah von Reth
d874449ad3 Copy files rather than broken symlinks
This fixes installation on Windows.
An alternative solution would have been to dynamically create the symlinks
in the install step, on Linux, and to copy them on Windows.

01:05:07.444  CMake Error at src/desktoptheme/breeze-dark/cmake_install.cmake:43 (file):
01:05:07.444    file INSTALL cannot read symlink
01:05:07.444    "C:/_/acd4f350/plasma-framework-5.71.0/src/desktoptheme/breeze-dark/widgets/plasmoidheading.svgz"
01:05:07.444    to duplicate at
01:05:07.444    "C:/Craft/BC/windows-mingw_64-gcc/build/kde/frameworks/tier3/plasma-framework/image-RelWithDebInfo-5.71.0/Craft/BC/windows-mingw_64-gcc/bin/data/plasma/desktoptheme/breeze-dark/widgets/plasmoidheading.svgz":
01:05:07.444    No such file or directory.
01:05:07.444  Call Stack (most recent call first):
01:05:07.444    src/desktoptheme/cmake_install.cmake:40 (include)
01:05:07.444    src/cmake_install.cmake:41 (include)
01:05:07.444    cmake_install.cmake:109 (include)
2020-08-17 19:06:52 +00:00
Noah Davis
f857da3864 Fix toolbutton-hover margins in button.svg
The toolbutton-hover margins need to be inconsistent with the hover margins because 3rd party themes expect this inconsistent behavior now.

BUG: #425255
2020-08-14 20:20:52 +00:00
Noah Davis
eff71b6650 Revert "Fix PC2 ToolButtonStyle margins"
This reverts commit 7062c635a9.

Unfortunately, 3rd party themes were still broken after this commit was made because it didn't fix the real issue.

The real issue is that toolbutton-hover is supposed to have margins, but it didn't have real margins due to a previous patch to `button.svg`.

3rd party themes depend on hover and toolbutton-hover being used in inconsistent ways because of past behavior.
Unfortunately, they have to be inconsistent again
to not break themes.
2020-08-13 18:26:44 -04:00
Noah Davis
7062c635a9 Fix PC2 ToolButtonStyle margins
Previously, it was trying to use the margins of toolbutton-hover for flat buttons, but toolbutton-hover doesn't have real margins (0.001 since 0 isn't valid).

BUG: #425255
2020-08-13 17:10:35 -04:00
Andreas Cord-Landwehr
d10afb5d2a plasma-framework: Convert copyright statements to SPDX expressions 2020-08-13 19:08:54 +00:00
Nate Graham
b811a9b30b [PlasmaComponents3] very small refactor of ToolButton shadow code
This introduces a bit more consistency to this big `if` chain.
2020-08-12 15:56:10 -06:00
Nate Graham
f389064ca3 [PlasmaComponents3] Fix reversed condition for flat ToolButton shadow
Non-flat ToolButtons are supposed to have a shadow, but flat ToolButtons
are not. The ternary providing this was inverted so that the reverse was
true.
2020-08-12 15:42:34 -06:00
Nicolas Fella
49bb7d152b Port away from KMimeTypeTrader
It is about to be deprecated

See https://phabricator.kde.org/T12177
2020-08-11 23:41:10 +02:00
Nate Graham
0fe4fc53ef [PlasmaComponents3] Strip mnemonic ampersands from tooltip text
They're never useful in that context, and this prevents having to strip
them out manually when assigning a tooltip text that comes from a source
that sets a mnemonic ampersand. For example
https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/171#note_79871
2020-08-11 18:24:06 +00:00
David Redondo
3e225d8664 Only draw the focus indicator when we got focus via the keyboard
QQC2 controls gain activeFocus on press this is a difference to controls 1
which had activeFocusOnPress property that defaulted to false. qqc2-desktop-style
also only sets the focus flag if it was gained via keyboard (kquickstyleitem.cpp:705).
BUG:424446
2020-08-11 06:58:19 +00:00
Nate Graham
711789908b Drop implicit minimum sizing from PC2 and PC3 Buttons
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.
2020-08-10 18:47:49 +00:00
Carson Black
8ef5347074 Add PC3 equivalent to PC2 ListItem 2020-08-07 17:26:34 +00:00
Nicolas Fella
fd0d8f9284 Fix toolbar svg
To make it consistent with the qqc2-desktop-style toolbar we need to change the color from ViewBackground to Background and remove the opacity.
2020-08-06 21:37:38 +00:00
Nicolas Fella
52f81b4630 [pc3] Make ToolBar more aligned with qqc2-desktop-style one
The qqc2-desktop-style one has an implicit height of 40 plus some other tweaks
2020-08-06 21:25:49 +02:00
Niccolò Venerandi
a2500223b5 Remove unrelated change 2020-08-05 10:44:01 +00:00
Niccolò Venerandi
e5a6deb8ba Allow plasmoids to ignore the margins 2020-08-04 16:46:00 +02:00
David Redondo
6329eb7af4 Expose the applet metadata in AppletInterface
Needed for displaying about pages of applets.
2020-08-04 07:43:13 +00:00
David Edmundson
e510d9d3ce Don't truncate DPR to an integer in cache ID 2020-08-03 08:18:35 +00:00
Alexander Lohnau
c1fd9b4439 Add timeout property to ToolTipArea 2020-08-02 17:26:59 +00:00
Niccolò Venerandi
3caaaae585 Set type to Dialog in flags if type is Dialog::Normal 2020-08-02 10:24:36 +00:00
l10n daemon script
e0a721c103 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-07-31 05:33:55 +02:00
David Redondo
b1345e9d30 Set cpp ownership on the units instance
Fixes common and frequent crashes introduced by 6c627ea044.
Otherwise the engine will try to delete it. The docs say:
 NOTE: A QObject singleton type instance returned from a singleton type provider
 is owned by the QML engine unless the object has explicit
 QQmlEngine::CppOwnership flag set.
2020-07-28 13:12:53 +02:00
David Redondo
32fce1e668 Do not unnecessary specify a default capture for singleton registration lambdas
A lambda can only be converted to a function pointer if it does not capture
anything. Just specifying a default capture even if it does not capture anything,
prevents this. In newer Qt this actually ended up calling the std::function
(which is much heavier than function pointers) overload which was introduced
only after Qt 5.12.
2020-07-28 08:58:41 +02:00
Nate Graham
e781341ee0 Add some missing PlasmaCore imports 2020-07-27 13:59:15 -06:00
Carson Black
6c627ea044 Remove usage of context properties for theme and units 2020-07-27 19:54:44 +00:00
Jonah Brüchert
630e5c88e8 PC3: Improve look of the Menu 2020-07-26 11:57:14 +00:00
Noah Davis
8812eb5e4b Adjust audio icons again to match breeze-icons
see https://invent.kde.org/frameworks/breeze-icons/-/merge_requests/29
2020-07-23 18:00:23 -04:00
Nate Graham
c505340e20 Make showTooltip() invokable from QML
It may become necessary for various reasons to want to programmatically
show a tooltip, like how the tooltip can be programmatically hidden.
2020-07-23 14:39:20 +00:00
Nate Graham
b7ee696250 [PlasmaComponents3] Honor icon.[name|source] property
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.
2020-07-23 14:38:14 +00:00
l10n daemon script
ab125ac2d5 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-07-23 05:58:32 +02:00
Marco Martin
50a03b39a3 filter on formfactors if set
if KDeclarative::runtimePlatform() is set, then filter applets
that have formfactors set and don't match, in order to not
show on the phone applets that are desktop only

in desktop case, list all applets, for maximum retrocompatibility,
to be reconsidered for kf6
2020-07-22 08:00:28 +00:00
Noah Davis
139b0486ce Update mute icon style to match breeze-icons 2020-07-22 04:07:17 +00:00
Friedrich W. H. Kossebau
eb87bd715d Remove unneeded Q_DECLARE_METATYPE calls for pointers to QObject subclasses
Compare API dox of Q_DECLARE_METATYPE:
"
Some types are registered automatically and do not need this macro:
* Pointers to classes derived from QObject
* QPointer<T>, QSharedPointer<T>, QWeakPointer<T>,
  where T is a class that derives from QObject
"

This is a ABI-compatible change, as this just replaces explicitly
defined template code (by the Q_DECLARE_METATYPE macro use) with the
generic predefined one picking up pointers to QObject subclasses.

So instead of the custom explicitly template overload
    template <>
    struct QMetaTypeId< TYPE >
    { /**/ static int qt_metatype_id() {/**/} };
the predefined template overload one is picked up via
    template <typename T>
    struct QMetaTypeId : public QMetaTypeIdQObject<T>
    { /**/ };
    template <typename T, int =
        QtPrivate::IsPointerToTypeDerivedFromQObject<T>::Value ?
            QMetaType::PointerToQObject :
        /**/ 0>
    struct QMetaTypeIdQObject
    { /**/ };
    template <typename T>
    struct QMetaTypeIdQObject<T*, QMetaType::PointerToQObject>
    { /**/ static int qt_metatype_id() {/**/} };

And thus the constexpr code using QMetaTypeId<T>::qt_metatype_id(),
for which all this is done, evaluates as before.

GIT_SILENT
2020-07-20 21:55:53 +00:00
Friedrich W. H. Kossebau
f125cb0233 Document why qmlRegisterInterface<Plasma::T>("T) cannot be ported for KF5
GIT_SILENT
2020-07-20 22:19:31 +02:00
Friedrich W. H. Kossebau
efb2f2bb6c Remove QML registration of DataSource as interface, done as type before
GIT_SILENT
2020-07-19 19:58:08 +02:00
Friedrich W. H. Kossebau
8d3f4fccbd Remove broken metatype registration for types missing the "*" in the name
The old code calling
    qRegisterMetaType<Plasma::T *>("T");
was broken, as it registered for the name "T", not the pointer
type "T*". Things still work though as that registration is also
covered due to
    qmlRegisterInterface<Plasma::T>("T");
internally also calling
    qRegisterMetaType<Plasma::T *>("T*");
so that in the end "T*" was registered and mapped to the right type.
2020-07-19 19:58:08 +02:00
Eugene Popov
a851c78bfe Use 35% opacity for faded elements in the network icons
Currently, I see that the network icons aren't visible enough. For example, I find it difficult to determine the signal strength of the network without peering. I would like these icons to be more visible, and therefore I propose to use 35% opacity for faded elements. As for me, this solution makes determining the signal level more convenient and the icons more informative.
2020-07-18 10:58:20 +03:00
Nate Graham
a707731607 Don't show Plasma dialogs in task switchers
Plasma dialogs are already marked as not being shown in the task manager
and the pager. We should similarly omit them from the task switcher, for
the same reasons.

BUG: 419239
FIXED-IN: 5.73
2020-07-16 20:18:30 -06:00
Nate Graham
1a2e4023b0 Correct QT Bug URL for font rendering hack
This makes it clear which version of Qt (5.14) Frameworks has to be
able to depend on before we can remove the font rendering hack.
2020-07-14 16:35:28 -06:00
Shantanu Tushar
c0e721429c Don't use hand cursor because it is not consistent
We should use the normal arrow cursor when a list item is hovered.
The hovered state is depicted with a highlight already, so the hand
cursor is unnecessary and doesn't go well with the rest of the desktop.
2020-07-14 20:40:59 +05:30
Nate Graham
cc86759139 [ExpandableListItem] use standard button sizes
The sizes of the context buttons on the list item were being overridden
for no apparent reason. Let's stop doing that so that the button sizes
are consistent with other PC3 button sizes.
2020-07-14 03:55:15 +00:00
Nate Graham
bc4a6d06bc [PlasmaComponents3] Show ToolButton focus effect and omit shadow when flat
Make sure the shadow item--which includes the hover effect, if present--can
be shown when the ToolButton is focused, and also always omit the shadow
when the ToolButton is flat.
2020-07-14 03:50:31 +00:00
Marco Martin
e7fadd1671 fix borders size 2020-07-13 17:34:23 +02:00
Marco Martin
8688fdaab4 remove empty pixel around 2020-07-13 17:19:17 +02:00
Nate Graham
e607c1ae47 Unify height of PC3 buttons, TextFields, and Comboboxes
Now all of them have a base height of units.gridUnit. Combined with
the standard 6px margins it works out to make all of these controls
a uniform 30px tall with the default Noto Sans 10 font. If the font
is changed or the size is increased, even to absurd levels, all of
them scale evenly.
2020-07-13 14:59:59 +00:00
Friedrich W. H. Kossebau
2ce6774718 Use KF-standardized Qt logging categories
See https://community.kde.org/Frameworks/Frameworks_Logging_Policy
2020-07-13 03:16:11 +02:00
Nate Graham
26fdcbea63 [PlasmaComponents3] Add missing features to TextField
The PC3 version was missing the clear button and show password button,
which the PC2 version has. This should allow us to port more things to
use the PC3 version.
2020-07-11 14:11:32 -06:00
Nate Graham
12dd2589f6 [ExpandableListItem] Fix silly error 2020-07-10 23:05:21 -06:00
Noah Davis
2ed274da76 Rewrite button.svg to make it easier to understand 2020-07-08 11:50:57 -04:00
Laurent Montel
e45a66139a Use camelcase include. (scripted) 2020-07-08 07:44:43 +02:00
David Edmundson
582d9ed38d Copy DataEngine relays before itterating
relay->checkQueueing emits a signal to all observers. As it's a signal
anything can happen at that point. It's seemingly common for a receiver
to connect/disconnect a new visualisation which in turn alters
d->relays.

This broke when a foreach (with implicit shallow copy) was ported to a
for statement.

This report contains a good analysis and test case

BUG: 422973

Probably also:

BUG: 421392
BUG: 423713
BUG: 423776
BUG: 422230
BUG: 423081
2020-07-07 08:18:23 +00:00
Eugene Popov
b713e96531 Make signal strength in network icons more visible
Currently, I see that the icons that show available and connected networks are not visible enough. For example, I find it difficult to determine the signal strength of the network without peering. I would like these icons to be more visible, and therefore I propose to reduce the opacity of faded lines. As for me, this solution makes determining the signal level more convenient and the icons more informative.

BUG: 423843
2020-07-04 19:47:57 +00:00
Nate Graham
1ead97e8c9 Show clearer warning if the requested KCM could not be found
In particular, make it clear that we only support QML KCMs.
2020-07-03 04:45:10 +00:00
Nate Graham
8a4576a751 [spinbox] Don't use QQC2 items when we should use PlasmaComponents
BUG: 423445
FIXED-IN: 5.72
2020-07-03 04:42:27 +00:00
Friedrich W. H. Kossebau
f96f17c285 Revert "Port away from deprecated qmlRegisterInterface<>() overload"
This changed the name of the types for which the classes where registered
from unnamespaced "Service", "ServiceJob", "DataSource" to the fully
namespaced "Plasma::Service", "Plasma::ServiceJob", "Plasma::DataSource",
so making the old names no longer known to the system and thus breaking
support for any invokable methods which use the unnamespaced type name.

And not only that, qmlRegisterInterface<T>("Name") also registered the
classes' pointer counterparts T* by the name "Name*", so here
"Service*", "ServiceJob*", "DataSource*". While the new again instead
does this with the fully namespaced names "Plasma::Service*",
"Plasma::ServiceJob*", "Plasma::DataSource*", so also breaking support
here.

This reverts commit 7c4f5c5f1e.
2020-07-01 20:09:49 +00:00
Friedrich W. H. Kossebau
71fd52c1ce Revert "Use fully qualified identifiers for metaobject types"
Is a signature change for the Qt meta system in a public header, so
potentially could break something for someone.

This reverts commit ac6bff575f.
2020-07-01 20:09:49 +00:00
David Redondo
e690b92d3e Use QDBusMessage::createMethodCall instead of QDBusInterface
Saves one blocking introspection call
2020-07-01 15:00:13 +00:00
Aleix Pol
ac6bff575f Use fully qualified identifiers for metaobject types
Fixes QML error:
share/plasma/plasmoids/org.kde.plasma.private.systemtray/contents/ui/items/StatusNotifierItem.qml:64: Error: Unknown method return type: ServiceJob*

BUG: 423643
2020-07-01 03:47:27 +02:00
Friedrich W. H. Kossebau
7c4f5c5f1e Port away from deprecated qmlRegisterInterface<>() overload
GIT_SILENT
2020-06-26 16:20:40 +02:00
Friedrich W. H. Kossebau
94d7efaec2 Port away from deprecated QQmlListProperty<T> constructor
GIT_SILENT
2020-06-26 15:53:04 +02:00
Friedrich W. H. Kossebau
396c643154 Port away from deprecated qmlRegisterType
GIT_SILENT
2020-06-26 15:48:28 +02:00
Friedrich W. H. Kossebau
eb3654edeb No need to go via QMatric, use QTransform directly
GIT_SILENT
2020-06-26 14:33:08 +02:00
Friedrich W. H. Kossebau
fda9bae9b1 Remove unused method SvgPrivate::matrixForElement
GIT_SILENT
2020-06-26 14:25:54 +02:00
Friedrich W. H. Kossebau
e18a939897 Port away from deprecated QLatin1Literal
GIT_SILENT
2020-06-26 14:24:41 +02:00
Friedrich W. H. Kossebau
4f8a97a9cd Port away from deprecated QSvgRenderer::matrixForElement()
GIT_SILENT
2020-06-26 06:26:07 +02:00
Friedrich W. H. Kossebau
da3d1c72ce Port away from deprecated QBasicAtomicInteger<>::load()
GIT_SILENT
2020-06-26 06:05:41 +02:00
Friedrich W. H. Kossebau
68984d91f7 Port away from deprecated QSet<>::fromList
GIT_SILENT
2020-06-26 06:03:24 +02:00
Friedrich W. H. Kossebau
d6f15e9f2b Port away from deprecated QList<>::toSet
GIT_SILENT
2020-06-26 06:03:03 +02:00
Friedrich W. H. Kossebau
06b8e78fad Port away from deprecated QString::split(..., QString::SplitBehavior) overload
GIT_SILENT
2020-06-26 05:58:26 +02:00
Friedrich W. H. Kossebau
633eeaafdd Port away from deprecated QDateTime(QDate) constructor
GIT_SILENT
2020-06-26 05:55:29 +02:00
Friedrich W. H. Kossebau
fe73c236db Plasma components: restore lost color control of TabButton label
Accidentally removed in 3de1c2462e
2020-06-22 15:04:32 +00:00
Nate Graham
e1475e0907 Introduce PlaceholderMessage
This is a clone of the Kirigami component that we can use in Plasma
applets until we arrive at a solution for styling QQC2 items using the
Plasma style (https://phabricator.kde.org/T13256).

See dependent patches:
- plasma-workspace: https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/73
- bluedevil: https://invent.kde.org/plasma/bluedevil/-/merge_requests/1
- print-manager: https://invent.kde.org/utilities/print-manager/-/merge_requests/1
- plasma-vault: https://invent.kde.org/plasma/plasma-vault/-/merge_requests/3

Merge request: https://invent.kde.org/frameworks/plasma-framework/-/merge_requests/13
2020-06-19 22:45:19 +00:00
Nate Graham
e6b8499304 [calendar] Reduce month label's size
Level 1 is too large for this, as it's typically used for the entire
window or popup's title. The smaller level 2 is therefore more
appropriate so that when the parent window supplies its own level 1
heading, the calendar month label don't inappropriately be the same size.

Needed for https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/98
2020-06-18 15:30:28 -06:00
l10n daemon script
af8ed75b29 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-06-18 05:32:17 +02:00
Nate Graham
3d73484c32 [ExpandableListItem] Use same logic for action and arrow button visibility 2020-06-17 08:02:42 -06:00
l10n daemon script
9683f15a36 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-06-17 13:59:56 +02:00
Vlad Zahorodnii
4ddf0d9944 [Dialog Shadows] Port to KWindowSystem shadows API
Summary: BUG: 416640

Test Plan: Run `qmlscene tests/dialog.qml`

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: kde-frameworks-devel

Tags: #frameworks

Maniphest Tasks: T12496

Differential Revision: https://phabricator.kde.org/D26503
2020-06-11 13:18:40 +03:00
Chris Holland
5be495b4d7 Symlink widgets/plasmoidheading.svgz in breeze light/dark
PlasmoidHeading.qml only draws "widgets/plasmoidheading" if
fromCurrentTheme=true, so Breeze Light/Dark were not drawing it.
2020-06-09 20:27:04 -04:00
Chris Holland
7005ef0ec8 Fix Kirigami.Units.devicePixelRatio=1.3 when it should be 1.0 at 96dpi
Summary:
I recently noticed that `Kirigami.Units.devicePixelRatio` was `1.3` even though I was at the default 96dpi when writing a widget's config.

{F8287886}

There's 4 different `Units.qml`, and I'm not certain which does what. 2 are in `krigiami` and the other 2 are in `plasma-framework`.

```
$ locate /Units.qml | grep /usr/
/usr/lib/qt/qml/org/kde/kirigami.2/Units.qml
/usr/lib/qt/qml/org/kde/kirigami.2/styles/Plasma/Units.qml
/usr/lib/qt/qml/org/kde/kirigami.2/styles/org.kde.desktop/Units.qml
/usr/lib/qt/qml/org/kde/kirigami.2/styles/org.kde.desktop.plasma/Units.qml
```

* 2 years ago [`kirigami/src/controls/Units.qml`](https://github.com/KDE/kirigami/blame/master/src/controls/Units.qml#L75) (`/usr/lib/qt/qml/org/kde/kirigami.2/Units.qml`) was changed from `13/10 = 1.3` to multiply by `13*0.75` so that `9.75/10 = 0.975` (then `max(1, 0.975) = 1`).

-----

There's 2 files owned by `plasma-framework`. The `/styles/Plasma/Units.qml` binds PlasmaCore's `units.devicePixelRatio`, so that leaves `/styles/org.kde.desktop.plasma/Units.qml`.

```
$ pacman -Qo /usr/lib/qt/qml/org/kde/kirigami.2/styles/org.kde.desktop.plasma/Units.qml
/usr/lib/qt/qml/org/kde/kirigami.2/styles/org.kde.desktop.plasma/Units.qml is owned by plasma-framework 5.69.0-2
```

This patch edits the `org.kde.desktop.plasma` style, and fixes `qmlscene KirigamiDevicePixelRatioTest.qml`, and `plasmashell` widget configs, and `plasmoidviewer` widget configs.

The Kirigami patch is D29462

Test Plan:
You can edit `/usr/lib/qt/qml/org/kde/kirigami.2/styles/org.kde.desktop.plasma/Units.qml` then run:

* https://gist.github.com/Zren/621338b8cda7c550d7b43f8ea1ba71a7
* `qmlscene KirigamiDevicePixelRatioTest.qml`

and `Kirigami.Units.devicePixelRatio` should equal `1`.

Reviewers: #kirigami, mart

Reviewed By: #kirigami, mart

Subscribers: davidre, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D29463
2020-06-09 08:46:15 -06:00
Nate Graham
7f9e189d87 Add property to access the ExpandableListItem loader's item 2020-06-07 08:46:39 -06:00
Friedrich W. H. Kossebau
27395f956e API dox: note version since when API is deprecated
GIT_SILENT
2020-06-04 20:53:09 +02:00
Nate Graham
df64b09eec Don't unnecessarily and inappropriately attempt to require Qt 5.14
DragHandler is in Qt 5.12, so we can use QtQuick 2.12 instead of 2.14
2020-06-03 10:12:10 -06:00
l10n daemon script
1049bca147 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-05-31 20:19:54 +02:00
Jonah Brüchert
773d05d29b PC3: Add separator to toolbar 2020-05-28 23:41:31 +00:00
Marco Martin
50a699f9e3 Merge branch 'mart/headerGroup' 2020-05-25 11:16:52 +02:00
Friedrich W. H. Kossebau
4bd45c6de9 Fix build with KF set to EXCLUDE_DEPRECATED_BEFORE_AND_AT=CURRENT
Summary: NO_CHANGELOG

Reviewers: #plasma, mart, apol

Reviewed By: apol

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D29600
2020-05-24 16:05:26 +02:00
David Faure
50530a7739 Port plasma-framework away from KRun 2020-05-22 22:36:25 +02:00
Kai Uwe Broulik
c46a0dbf00 [ToolTip] Make mainText use PlainText as per documentation 2020-05-22 18:01:10 +02:00
Ahmad Samir
e63b2092d0 [PackageUrlInterceptor] Minor code optimisation
This gets rid of QRegularExpression and uses plain string operations,
which is always a faster route.
2020-05-22 12:44:42 +00:00
Marco Martin
5884df4cfc support the Header color grgoup
Support the new Header color group in KColorScheme by proxying it in
Plasma::Theme and the kirigami styles here
2020-05-21 18:43:38 +02:00
Nate Graham
1636b566bd Implement scroll and drag adjustment of values for SpinBox control
Summary:
Currently adjusting the value by scroll and click/touch+drag are not implemented.
This patch implements them.

Test Plan:
As far as I can tell, the `PlasmaComponents3.Spinbox` is not actually used anywhere in Plasma, so test with D29535:
{F8301480}

Reviewers: #vdg, #plasma, ahiemstra

Reviewed By: ahiemstra

Subscribers: ahiemstra, abetts, ndavis, cblack, kde-frameworks-devel

Tags: #frameworks

Maniphest Tasks: T9460

Differential Revision: https://phabricator.kde.org/D29534
2020-05-20 07:38:15 -06:00
Jonah Brüchert
ea73c6f60d
kirigamiplasmastyle: Add AbstractApplicationHeader implementation 2020-05-18 11:36:22 +02:00
David Edmundson
c215c54ece Avoid potential disconnect of all signals in IconItem
Summary:
m_svgIcon can be null.

disconnect(q, nullptr, nullptr, nullptr); would have pretty catastrophic
consequences as it disconnects everything. Anyone listening for
QObject::destroyed of IconItem for cleanup would no longer get anything.
That could lead to obscure conditions.

ShaderEffectSource watches for the source being destroyed for cleanup
and we have a newly introduced crash with ShaderEffectSource that seems
to come from this patch.

BUG: 421170

Test Plan:
Someone who could reproduce the crash reliably confirms it fixes the
issue

Reviewers: #plasma

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D29742
2020-05-14 12:42:58 +01:00
Niccolò Venerandi
1bc004e5c6 Fix rounded borders
Summary: This makes borders of elements using plasmoidHeading rounded again

Test Plan:
After:
{F8289023}

Clearing cache might be needed here.

Reviewers: #plasma, broulik

Reviewed By: #plasma, broulik

Subscribers: broulik, ngraham, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D29479
2020-05-06 21:47:10 +02:00
Nate Graham
416f82f8f7 Use small font for ExpandableListItem subtitle
Summary:
We're moving towards using the small font for subtitles in Kirigami BasicListItem (D29432)
so we should probably do the same here since it has the same title + subtitle layout.

Test Plan:
Before: {F8284752}

After: {F8284751}

Reviewers: #plasma, #vdg, broulik, ndavis

Reviewed By: #vdg, ndavis

Subscribers: cblack, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D29434
2020-05-06 08:55:45 -06:00
Carson Black
68d5995c63 Add smallFont to Kirigami plasma style
Test Plan: {F8283833}

Reviewers: #kirigami, mart

Reviewed By: #kirigami, mart

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D29412
2020-05-04 10:35:18 -04:00
Filip Fila
1b1018e687 [Plasmoid Heading] Draw the heading only when there is an SVG in the theme
Summary:
We're the only theme with the appropriate heading svgs that make the headers and footers look as they should.

All the other themes fall back to Breeze, which is not a good look for some of them:
- the heading is too jarring compared to applet background
- the heading does not extend all the way vertically and horizontally

To solve this, to avoid degrading unmaintained themes and to give themes a chance to adjust on their own terms, this patch makes the heading visible only when the needed SVG exists in the theme.

Test Plan:
Avoids this:
{F8276897}

{F8276896}

Breeze still works as it should.

Reviewers: #vdg, #plasma, niccolove, ngraham

Reviewed By: #vdg, niccolove, ngraham

Subscribers: ngraham, niccolove, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D29352
2020-05-03 18:25:39 +02:00
l10n daemon script
8f1034fbe8 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-05-03 06:05:07 +02:00
Konrad Materka
4b0d4c4bda [PlasmaCore.IconItem] Regression: fix crash on source change
Summary:
When SvgSource is changed, old one is deleted. Connections are not automatically disconnected.
This change disconnects connections and fixes regression introduced in D28470.

BUG: 420801
FIXED-IN: 5.70

Test Plan:
STEPS TO REPRODUCE
1. click on mute button for a device
2. click on the desktop to collapse the applet
OBSERVED RESULT
crash in step 1 and in the rare case it doesn't crash it crash in step 2
EXPECTED RESULT
don't crash

Reviewers: #plasma, #frameworks, ngraham, davidedmundson

Reviewed By: ngraham

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D29314
2020-04-30 22:27:32 +02:00
Konrad Materka
5a3fb570fe [PlasmaCore.IconItem] Refactor source handling for different types
Summary: There are 3 possible strategies: QIcon, QImage and SVG. This change moves logic of each of these strategies into separate class.

Test Plan: Should behave exactly the same

Reviewers: #plasma, broulik, apol, davidedmundson, #frameworks

Reviewed By: #plasma, davidedmundson

Subscribers: mart, davidre, cblack, kde-frameworks-devel, #plasma

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D28470
2020-04-24 14:49:21 +02:00
Aleix Pol
25ce2b90da Prefer QIcon::pixmap(QWindow*, ...) overload
Summary:
It takes into account the dpi of the screen we're rendering to.
Other overloads assume the window is nullptr and will use the primary screen's dpi which can change almost randomly.

Test Plan: Icons still look fine even if I drag windows from a screen to another.

Reviewers: #plasma, #frameworks, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: davidedmundson, ngraham, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D29102
2020-04-23 02:11:44 +02:00
Nate Graham
77be3197e2 Make applet tooltip text spacing consistent 2020-04-18 20:36:54 -06:00
Nate Graham
52c0a136f9 [ExpandableListItem] make it touch-friendly
Summary:
Right now ExpandableListItem is not very touch-friendly due to use of a mousearea
hover effect for choosing the selected item. This patch fixes that by using a `TapHandler`
to handle left-clicks and  touch input. We still need a MouseArea inside it to handle
non-touch hover and right-click behaviors.

FEATURE: 393749
FIXED-IN: 5.70

Test Plan: Click behavior is identical to how it was before, but now touch works too: {F8234452}

Reviewers: #plasma, apol, #vdg, niccolove

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D28808
2020-04-17 23:45:29 -06:00
Laurent Montel
48f60533b9 [plasma-framework] make it compiles without foreach
Summary: compile without foreach

Test Plan: autotest ok

Reviewers: dfaure, apol

Reviewed By: dfaure, apol

Subscribers: ahmadsamir, nicolasfella, broulik, apol, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D19913
2020-04-17 06:47:04 +02:00
Aleix Pol
298ce0ed7f Fix warnings
Reviewers: #frameworks

Subscribers: ahmadsamir, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D28088
2020-04-14 01:39:11 +02:00
Nate Graham
359ac6bcc0 [ExpandableListItem] Use more semantically correct expand and collapse icons 2020-04-13 14:34:33 -06:00
Nate Graham
3743e9d674 Fix PC3 BusyIndicator binding loop
Summary:
Without this, the Busy Indicator generates binding loops for me when used in the new
ExpandableListItem component.

Test Plan: No more binding loops in console logging

Reviewers: #plasma, davidedmundson, broulik

Reviewed By: #plasma, broulik

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D28787
2020-04-13 07:46:17 -06:00
Nate Graham
700f90538f [ExpandableListItem] Add new showDefaultActionButtonWhenBusy option 2020-04-12 22:35:38 -06:00
Niccolò Venerandi
0f9abc2d40 Remove rounded borders to plasmoidHeading
Summary: Neither the merged look nor the normal one needs to have rounded borders, as they are clipped out from the dialog and they would break third party themes without rounding. Without rounded borders, there's no need for the enabledBorders check, which also broke the heading when used in top panels.

Reviewers: #plasma, ngraham

Reviewed By: ngraham

Subscribers: manueljlin, ahiemstra, ndavis, ngraham, mart, davidedmundson, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D28372
2020-04-11 23:49:29 +02:00
Nate Graham
d6f3a52d83 [ExpandableListItem] Add itemCollapsed signal and don't emit itemExpanded when collapsed 2020-04-06 12:55:23 -06:00
Nate Graham
7aaee715af Revert "Remove the panel tooltip icon"
This reverts commit 863ec93ade.

This wasn't the right way to remove the icon for all panel widget
tooltips. See extended discussion in D27848.
2020-04-06 11:11:44 -06:00
David Edmundson
0051a4f919 Add readmes clarifying state of plasma component versions
Test Plan: N/A

Reviewers: #plasma, apol

Reviewed By: apol

Subscribers: romangg, apol, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D28620
2020-04-06 14:47:01 +01:00
David Edmundson
0417bf61d5 [configview] Simplify code / workaround Qt5.15 crash
Summary:
QQmlComponent::beginCreate and completeCreate are useful if you need to
set properties on the object explicitly. We're not doing that here, we
can just call create.

Test Plan:
On Qt5.15
Right click a panel
choose edit

Reviewers: #plasma, apol

Reviewed By: apol

Subscribers: apol, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D28599
2020-04-06 12:30:51 +01:00
Nate Graham
96d203b4b8 Fix i18nd test by removing commented-out i18n() calls in API docs 2020-04-05 18:21:21 -06:00
Nate Graham
863ec93ade Remove the panel tooltip icon
Summary:
As discussed in T12778, the icon can never be in a correct state: either it's
redundant with the icon you're hovering over that made the tooltip appear, or
else it's different from the icon you're hovering over, which is inconsistent.

Since either case is undesirable, let's just remove the icon from the tooltip
entirely. This reduces the visual noise in the tooltip and solves the entire
class of bugs automatically.

Test Plan:
{F8150019}
{F8150017}
{F8150021}

Reviewers: #vdg, #plasma, cblack, niccolove, apol

Reviewed By: #vdg, cblack, niccolove, apol

Subscribers: cblack, kde-frameworks-devel

Tags: #frameworks

Maniphest Tasks: T12778

Differential Revision: https://phabricator.kde.org/D27848
2020-04-04 20:54:45 -06:00
Nate Graham
3bd31386ab Create ExpandableListItem
Summary:
This patch creates the `ExpandableListItem`, a re-usable PlasmaExtras item that can
be used for the views in various Plasma applet pop-ups, such as Vaults, Printers,
Bluetooth, Networks, and Device Notifier. This way those applets can share more code and
not have to implement this paradigm themselves in five different ways, as they currently
do.

All of these applets currently use slightly different visual styles. For example the
network applet uses a pushbutton with no icon as its "default action" button, while
other applets use icons-only toolbuttons. I tried my best to create a component that's
flexible but also consistent, so various applets that adopt it will see minor visual
changes as a result. Hopefully this is acceptable.

Closes T12812

Depends on D28144

Test Plan: {F8183650}

Reviewers: #vdg, #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: mart, davidedmundson, bruns, niccolove, cblack, davidre, kde-frameworks-devel

Tags: #frameworks

Maniphest Tasks: T12812

Differential Revision: https://phabricator.kde.org/D28033
2020-04-04 20:52:53 -06:00
Nate Graham
0739113a44 Make animation durations consistent with Kirigami values
Summary:
Right now longDuration is 120ms and shortDuration is 24ms. This presents three problems:
- The durations are far too fast, especially shortDuration, which is so fast that it seems like there is no animation at all.
- The durations are not consistent with Kirigami, which uses 150 for short and 250 for
 long.
- There is no longer value available, as with the one being added to Kirigami in D28143.

Accordingly, this patch makes the short and long values consistent with Kirigami's values,
and adds a new `veryLongDuration` value to match the one being added to Kirigami in D28143.

Reviewers: #plasma, davidedmundson, mart

Reviewed By: #plasma, mart

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D28144
2020-04-04 20:42:35 -06:00
l10n daemon script
26eb57c53e SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-04-04 06:27:52 +02:00
Niccolò Venerandi
8b5e093141 Added Page element
Summary: Page element was missing. I added it.

Reviewers: #plasma, ngraham, mart

Reviewed By: #plasma, ngraham, mart

Subscribers: ngraham, davidedmundson, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D28466
2020-04-03 17:14:13 +02:00
Nicolas Fella
bc3ccd1782 [pc3/busyindicator] Hide when not running
Summary: When not running the indicator should be invisible. This matches the behaviour of the org.kde.desktop style.

Test Plan: Run KTrip with Plasma style. Open location search page. Indicator is only shown when actually loading things

Reviewers: #plasma, ngraham

Reviewed By: ngraham

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D28391
2020-03-29 23:37:59 +02:00
l10n daemon script
f6bb0229b0 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-03-27 06:24:35 +01:00
Nate Graham
e2a13e9ac7 Revert "Make animation durations consistent with Kirigami values"
This reverts commit 049978008b.

This commit changes existing animation durations, and must be landed
simultaneously with Plasma 5.19's release so that rolling release
users don't suffer from very slow animations for a month. Will
re-land after Plasma 5.59 is tagged so it gets released with Frameworks
5.60, the dependency version for Plasma 5.19.
2020-03-24 08:36:30 -06:00
Noah Davis
f363a06ae6 Update window-pin, Add more sizes, Remove redundant edit-delete
Summary:
16 and 22px sizes added for window-pin and unpin. Style was also updated for window-unpin.

edit-delete is redundant because it's already defined in edit.svg. I don't think it's used anywhere at all. It was actually window-close, but renamed to edit-delete for whatever reason.

Test Plan:
{F8195527, size=full}

1. Install patch to kdesrc-build environment
2. Run `plasmashell --replace &` in kdesrc-build environment
3. Check pin button in systray

Reviewers: #vdg, #plasma, cblack, ngraham

Reviewed By: #vdg, cblack, ngraham

Subscribers: cblack, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D28228
2020-03-23 19:10:41 -04:00
Nate Graham
049978008b Make animation durations consistent with Kirigami values
Summary:
Right now longDuration is 120ms and shortDuration is 24ms. This presents three problems:
- The durations are far too fast, especially shortDuration, which is so fast that it seems like there is no animation at all.
- The durations are not consistent with Kirigami, which uses 150 for short and 250 for
 long.
- There is no longer value available, as with the one being added to Kirigami in D28143.

Accordingly, this patch makes the short and long values consistent with Kirigami's values,
and adds a new `veryLongDuration` value to match the one being added to Kirigami in D28143.

Reviewers: #plasma, davidedmundson, mart

Reviewed By: #plasma, mart

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D28144
2020-03-20 09:43:45 -06:00
Niccolò Venerandi
7d80f01c31 WIP: Create a new TopArea element using widgets/toparea svg
Summary:
This creates a new component that uses the widgets/toparea svg. First time I try to add something to PlasmaComponents, so I probably got stuff wrong and I probably have to still do thing like adding documentation. I'm creating the diff to get feedback on how to move forward with this.

Depends on D27444

Reviewers: mart, ngraham

Reviewed By: mart, ngraham

Subscribers: ngraham, davidedmundson, ahiemstra, kde-frameworks-devel

Tags: #frameworks

Maniphest Tasks: T10470

Differential Revision: https://phabricator.kde.org/D27695
2020-03-14 19:46:48 +01:00
Niccolò Venerandi
f55f104447 Added plasmoid heading svg
Summary: Adds plasmoid heading for D27189

Reviewers: #vdg, ngraham, ndavis

Reviewed By: #vdg, ngraham

Subscribers: mart, kde-frameworks-devel

Tags: #frameworks

Maniphest Tasks: T10470

Differential Revision: https://phabricator.kde.org/D27444
2020-03-14 19:46:11 +01:00
Marco Martin
6f34838f97 make highlighted property work for roundbutton 2020-03-12 10:09:04 +01:00
Marco Martin
0b89e7f3f0 Buttons: allow to scale up icons
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
2020-03-02 14:42:15 +01:00
David Redondo
b7fa6e0e91 Try to apply the colorscheme of the current theme to QIcons
Summary:
Before icons loaded internally with QIcon::fromTheme were being colored with the
colors from the current global color scheme instead of the ones from the current
Plasma Theme. Leading to visual bugs when the two differ. This happened because
KIconLoader uses the global color scheme by default.
A prominent case is the notification send by the network plasmoid when one
successfully connected to a wireless network. It sets the icon
"network-wireless-on" which is not included in Breeze icons (but is included in
Breeze Plasma Theme). If the current icon theme is indeed Breeze, IconItem
resorts to using QIcon::fromTheme and we end up with a wrong colored
"network-wireless" icon.

BUG: 417780

Test Plan:
{F8125752}

{F8125753}

Reviewers: #plasma, cblack, ngraham, mart

Reviewed By: #plasma, cblack, ngraham, mart

Subscribers: mart, wbauer, cblack, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D27589
2020-03-02 11:55:35 +01:00
Daniel Vrátil
b6213cdd59
Dialog: disconnect from QWindow signals in destructor
Summary:
When Dialog is being destroyed, its QWindow super-class may still emit
some signals from its destructor. Dialog is connected so some of them,
so this leads to Qt invoking slots on Dialog, whose destructor has
already been called, leading to crashes.

This patch disconnects all internal connections in Dialog's destructor.

See https://phabricator.kde.org/D23339 for details.

Test Plan: Plasma no longer crashes when a notification appears

Reviewers: #plasma, nicolasfella, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D27671
2020-02-26 10:00:45 +01:00
George Vogiatzis
10c112fccd [PlasmaComponents]Clean up ListItem code
Summary:
Removed two unused lines.
Removed old comments.
Minor style changes to comments.

Test Plan: Everything must stay unchanged visually and function wise for ListItems.

Reviewers: #plasma, ngraham

Reviewed By: ngraham

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D27296
2020-02-25 21:00:02 +02:00
Daniel Vrátil
1e11099c16
Fix initialization order
Reviewers: #plasma, #frameworks, apol

Reviewed By: apol

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D27627
2020-02-25 14:32:06 +01:00
Daniel Vrátil
4b93b71a49
Fix memory leak in ConfigView and Dialog
Reviewers: #plasma, #frameworks, apol, davidedmundson

Reviewed By: apol, davidedmundson

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D23339
2020-02-25 14:31:28 +01:00
Nate Graham
6b8f114284 Port away from Title and towards level 1 Heading
Summary: `Title` is deprecated.

Test Plan: No visual changes anywhere; level 1 Heading is identical in appearance

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D27350
2020-02-21 08:39:25 -07:00
Marco Martin
ba0b637de9 fix layout size hints for button labels
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
2020-02-19 12:12:41 +01:00
Laurent Montel
9f02cf685a Use no deprecated qprocess api 2020-02-17 16:44:25 +01:00
Marco Martin
667dce502a make sure the size hints are integer and even
Summary:
for retrocompatibility with pc2 units.gridUnit * 1.6 is used
a lot as size hint (we have to guarantee buttons and
textfields have the same height by default for perfect
horizontal alignment.
tough we have make sure that size is integer and even otherwise
we'll have a lot of internal misalignments

Reviewers: broulik

Reviewed By: broulik

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D27399
2020-02-14 13:55:21 +01:00
Marco Martin
3de1c2462e support icon.width/height
Summary:
support the icon size hint of the control. Reinstate it in ToolButton
and add the support for the other controls
CCBUG:417514

Test Plan:
possible to control buttons icon sizes
mediacontroller taskbar tooltip with icons set to small:
{F8103363}

Reviewers: #plasma, broulik

Reviewed By: #plasma, broulik

Subscribers: broulik, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D27396
2020-02-14 12:37:42 +01:00
Niccol Venerandi
1ed47e7c41 Remove hardcoded colors
Summary:
Fixes https://www.reddit.com/r/kde/comments/f2mxd3/517_seeing_weird_white_corners_on_my_autohiding/

BUG:417511

Reviewers: ndavis

Reviewed By: ndavis

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D27354
2020-02-13 18:18:09 +01:00
Kai Uwe Broulik
1dc36bc2ce Construct NullEngine with KPluginMetaData()
The deprecated constructor taking a KPluginInfo unconditionally calls toMetaData() and then asserts.

BUG: 417548

Differential Revision: https://phabricator.kde.org/D27366
2020-02-13 15:21:49 +01:00
Marco Martin
97d431270d remove broken references 2020-02-12 18:14:23 +01:00
Marco Martin
655cc40db8 fix TabButton 2020-02-12 17:10:40 +01:00
Nate Graham
a9ea008b8d Slightly reduce level 1 heading size
To match the change agreed to in https://phabricator.kde.org/D27198
2020-02-12 08:04:53 -07:00
Marco Martin
1b1dc79dc4 Revert "Make the attached property a simple QObject"
This reverts commit 68a273aef6.

introduced regressions in several places
2020-02-12 12:00:21 +01:00
Friedrich W. H. Kossebau
2e3cc7e8dd Use ecm_qt_install_logging_categories over manual categories file 2020-02-12 04:09:12 +01:00
Nate Graham
9d27675c3b Vertically center tooltip icon/image
Summary:
Right now the widget tooltip's icon/image is top-aligned, which in practice makes it
vertically centered when the tooltip has only one line of text, but not vertically
centered when there are two lines of text.

This patch makes it vertally centered all the time, improving the appearance.

Test Plan:
Before: {F8095695}

After: {F8095696}

{F8095697}

Reviewers: #vdg, #plasma, filipf, ndavis

Reviewed By: #vdg, filipf, ndavis

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D27299
2020-02-10 11:17:30 -07:00
Marco Martin
2b78afd921 support display property for Buttons
tested on buttons, toolbuttons and tabbuttons
2020-02-10 18:42:11 +01:00
Marco Martin
014c3fd104 revert unrelated changes in previous commit
Button and ToolButton were't supposed to be touched by previous commit
2020-02-10 17:00:36 +01:00
Marco Martin
68a273aef6 Make the attached property a simple QObject
Summary:
move all the logic in an attached property QObject
it's a bit less heavy to create so should make things slightly better
when this is used in delegates

Test Plan: Plasmoid background removal (with colors inversion) still works

Reviewers: bshah, #plasma

Subscribers: apol, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D27200
2020-02-10 16:49:55 +01:00
Nate Graham
b76b908e10 Don't warn for invalid plugin metata
Summary:
See explanation in https://bugs.kde.org/show_bug.cgi?id=412464

BUG: 412464
FIXED-IN: 5.67

Test Plan: restart plasmashell, see way less useless warning spam

Reviewers: #plasma, mart, apol

Reviewed By: apol

Subscribers: apol, alex, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D27080
2020-02-07 06:34:07 -07:00
Marco Martin
0c897d8048 tooltips always have normal colorgroup 2020-02-05 12:28:34 +01:00
Johnny Jazeix
2ea27fb068 fix compilation + remove duplicate in src 2020-02-04 08:32:05 +01:00
Tranter Madi
f8be3ea710 Optimize code when dropping files into the desktop
Summary:
Currently, when you have the desktop in the Desktop layout, if you drop 10 jpg files into the desktop, it creates 10 menus at the same position.
When you have the desktop in the Folder layout, if you drop 10 jpg files into the desktop, it calls `KIO::setApplicationActions()` 10 times.

What does this improve?

- Do not create KIO::MimetypeJob for each file
- Do not call `DropJob::setApplicationActions()` too many times/ create too many menus for each file.

My idea is that, when you drop files into the desktop:
- If they have the same `mimetype` -> we add actions support this `mimetype`.
- If not -> we only show the action from `KIO::DropJob` and only actions support different `mimetypes` at the same time like `Add icon`...

**Require:** D26484
CCBUG: 415917

Reviewers: #plasma, mart, broulik, #vdg, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: davidedmundson, anthonyfieroni, #plasma, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D26691
2020-02-04 12:54:38 +07:00
Niccol Venerandi
f7b4bbf861 Fixed tooltip corners and removed useless color attributes
Reviewers: ndavis

Reviewed By: ndavis

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D27075
2020-01-31 23:17:03 +01:00
Niccolò Venerandi
ffbd186975 Removed hardcoded colors in background SVGs
Summary: Alternative and more basic patch to D26955, this aims to fix the background color without breaking the mask

Reviewers: #vdg, #plasma, ndavis

Reviewed By: #vdg, ndavis

Subscribers: ndavis, ngraham, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D26968
2020-01-28 11:58:11 -05:00
Noah Davis
ad625f68f3 Fix the size and pixel alignment of checkboxes and radiobuttons
Summary:
The checkboxes and radio buttons in plasmashell were signficantly different from checkboxes and radio buttons in the Breeze QStyle. This patch is needed to make D26271 look nicer.
- Plasmashell checkboxes and radio buttons were much larger.
-- 24x24 for checkboxes and 29x29 for radio buttons (Plasmashell) vs 16x16 (QStyle).
- Pixel alignment was very poor.
-- Checkbox indicator was 14x14, stretched to 24x24.
-- Radio button background was 22x22 or 32x32, adjusted to 29x29.
-- Radio button indicator was 16x16, stretched to 29x29.
- Style was different.
-- Checkbox indicators had sharper corners and less margin around the inner rectangle.
-- Radio buttons had a hardcoded dark gray circular frame and a shadow on the bottom of the inside of the frame.
-- Radio button indicators had less margin around the inner circle.

Test Plan:
{F7891476}

{F7891477}

Reviewers: #plasma, #vdg, ngraham

Reviewed By: #vdg, ngraham

Subscribers: ngraham, davidedmundson, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D26758
2020-01-28 01:31:07 -05:00
Niccolò Venerandi
35351ba3f2 Update breeze theme shadows
Summary: I have received negative feedback (and I agree with it) on the current state of breeze shadows: they are quite dark, narrow, and feel unnatural. I tried to adress that by making shadows more sparse and a bit lighter especially on the angles while trying to keep it distinguishable when on white background. I received some positive feedback on these shadows from T10891 and the VDG channel. More specifically, I changed dialogs/background.svg to have a) longer linear gradients and b) radial gradients instead of linear on the four sides to make the center darker than the angles.

Test Plan:
{F7765496}
{F7765497}
{F7765500}

Reviewers: #vdg, ngraham, The-Feren-OS-Dev, ndavis

Reviewed By: #vdg, ngraham, The-Feren-OS-Dev, ndavis

Subscribers: The-Feren-OS-Dev, mart, broulik, cblack, ndavis, manueljlin, ngraham, filipf, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D25015
2020-01-23 11:22:16 +01:00
Vlad Zahorodnii
f5f43514af [Plasma Quick] Add WaylandIntegration class
Summary: It allows us to get rid of DialogShadows::waylandPlasmaShellInterface().

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: kde-frameworks-devel

Tags: #frameworks

Maniphest Tasks: T12496

Differential Revision: https://phabricator.kde.org/D26491
2020-01-22 02:42:02 +02:00
Laurent Montel
1e5966147d QHash::insertMulti is deprecated in qt5.15 => port to QMultiHash
Summary: Port to QMultiHash

Reviewers: apol

Reviewed By: apol

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D26736
2020-01-18 07:40:52 +01:00
Friedrich W. H. Kossebau
1c60859999 API dox: do not use ":" after "@since"
GIT_SILENT
2020-01-16 12:30:31 +01:00
Marco Martin
02e57319f7 Same behavior for scrollbar as the desktop style
Summary:
bigger scrollbar and add a small line separator
to look consistent with D26655 and D26654

same behavior for mobile scrollbar

Test Plan: {F7882876}

Reviewers: #plasma, #vdg, ngraham

Reviewed By: #vdg, ngraham

Subscribers: davidedmundson, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D26664
2020-01-15 16:58:59 +01:00
Friedrich W. H. Kossebau
4d7ba16825 Fix some @since & PLASMA_ENABLE_DEPRECATED_SINCE of last commit 2020-01-12 07:36:34 +01:00
Aleix Pol
591aceb3f9 Make use of KPluginMetaData where we can
Summary: Instead of relying on the older KPluginInfo which is slower (parses de metadata twice) and comes from a much higher tier.

Test Plan: Running plasmashell with it

Reviewers: #plasma, mart

Reviewed By: #plasma, mart

Subscribers: kossebau, broulik, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D23682
2020-01-12 02:38:56 +01:00
Björn Feber
629db2f3b5 Add edit mode menu item to desktop widget context menu
Summary:
- much improves discoverability of the ability to move added widgets without clicking and holding (I have seen people having trouble figuring it out)
- makes it more consistent with panel widget context menus
- allows easier access to the edit mode when the desktop is full of widgets

Test Plan: Open the context menu of a widget on the desktop.

Reviewers: #plasma, #vdg, mart, ngraham, davidedmundson

Reviewed By: #plasma, #vdg, ngraham, davidedmundson

Subscribers: davidedmundson, ngraham, broulik, mart, #vdg, kde-frameworks-devel, #plasma

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D26043
2020-01-10 14:40:01 +01:00
Marco Martin
1d6870b156 Consistency: colored selected buttons
Summary:
color selected buttons to the highlight color when it has keyboard
focus.
This makes the behavior much more similar to the Breeze desktop style

Test Plan:
selected buttons look blue on Breeze, old themes still work as they did
Before
{F7872340}
After
{F7872341}

QWidget
{F7872344}

Reviewers: #plasma, #vdg, #goal_consistency, ngraham

Reviewed By: #vdg, ngraham

Subscribers: davidedmundson, ngraham, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D26540
2020-01-09 17:32:23 +01:00
Laurent Montel
b387faa935 Port qrand to QRandomGenerator (qrand is deprecated in qt5.15)
Summary: Port to QRandomGenerator

Reviewers: apol

Reviewed By: apol

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D26464
2020-01-07 06:47:10 +01:00
Laurent Montel
3f30f91fb0 Port endl to \n Not necessary to flush as QTextStream uses QFile which flush when it's deleted
Summary: Port endl to \n

Reviewers: dfaure, apol

Reviewed By: apol

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D26465
2020-01-07 06:46:45 +01:00
l10n daemon script
8232ed1b78 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-01-06 05:54:59 +01:00
l10n daemon script
d1517cee22 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-01-05 05:54:31 +01:00
Kai Uwe Broulik
886fd953fd [ToolTip] Round position
Otherwise screws up font rendering
2020-01-03 19:36:10 +01:00
Aleix Pol
66122410a1 Enable wheel events on Slider {}
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
2019-12-30 18:49:56 +01:00
l10n daemon script
6f183b4ce4 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2019-12-25 05:41:48 +01:00
David Edmundson
d25bc3ce21 Sync QWindow flag WindowDoesNotAcceptFocus to wayland plasmashell interface
Summary:
Currently the widget explorer relied on some QML code calling
KWindowSystem::forceActiveWindow which on plasma implicitly set this
hint.

This works for the first show, but the order of events is somewhat
unreliable. It's invoked from QML when the window is ready, but for the
second show this is before the wl_surface is created and it no-ops.

By syncing the flags in applyType() we can guarantee we call this both
when setFlags is called and when the wl_surface is created in the
correct order.

BUG: 415124
BUG: 401172

Test Plan:
Ran plasmashell
Opened widget explorer twice
Had focus each time

Reviewers: #kwin, #plasma, romangg

Reviewed By: #kwin, #plasma, romangg

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D26153
2019-12-22 12:37:04 +01:00
Laurent Montel
d345bdd87f Port deprecated QSet::toList method 2019-12-19 13:55:07 +01:00
David Edmundson
6756d00fba [calendar] Check out of bounds array access in QLocale lookup
Summary:
If we have a broken locale setup we don't have any uiLanugages to look
up the relevant locale object for.

In that case use the system locale.

Test Plan:
Had a crash here

#11 0x00007ff982aab0b2 in QList<QString>::at(int) const (this=0x7ffd50b1d928, i=0) at /opt/qt5/include/QtCore/qlist.h:571
#12 0x00007ff982aaaa4a in Calendar::monthName() const (this=0x5640cce026f0) at /home/david/projects/kde5/src/frameworks/plasma-framework/src/declarativeimports/calendar/calendar.cpp:202
#13 0x00007ff982aa14e9 in Calendar::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x5640cce026f0, _c=QMetaObject::ReadProperty, _id=9, _a=0x7ffd50b1dd40) at src/declarativeimports/calendar/calendarplugin_autogen/EWIEGA46WW/moc_calendar.cpp:340

Reviewers: #plasma, vkrause

Reviewed By: vkrause

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D25960
2019-12-18 12:52:15 +00:00
Luigi Toscano
991ecb5ed6 Update the obsolete projects.kde.org URL
Use the generic redirect commits.kde.org.

Change discussed on the kde-frameworks-devel list:
https://mail.kde.org/pipermail/kde-frameworks-devel/2019-November/097564.html
2019-12-15 23:55:27 +01:00
Kai Uwe Broulik
192a50fe8c [Plasma Dialog] Use QXcbWindowFunctions for setting window types Qt WindowFlags doesn't know
... but Qt XCB does, such as Notification type.
This ensures QXcbWindow keeps the correct window types around so we don't have Qt setting it back
to e.g. Dialog when we change some flags and then having to manually set it back using KWindowSystem.

Only for types that aren't in NET WM like OSD and Critical Notifications will it have to fall back to
the old codepath. It also just uses it directly on Wayland.

Differential Revision: https://phabricator.kde.org/D26000
2019-12-15 16:32:12 +01:00
David Faure
00ddc6c1f0 [plasma-framework] port away from deprecated KF5 APIs
Summary:
KDeclarative::setupBindings() is deprecated, replaced calls with its
implementation (setupContext + static setupEngine call), but see comment
about whether we can be sure this is done only once per engine, as
requested by the setupEngine API. It's 100% equivalent to the old code
though, can't be worse.

KPackage::contentsHash is deprecated, replaced call with implementation.

Depends on D25433 for the KActionCollection::changed signal.

Test Plan: Builds

Reviewers: mart, davidedmundson, broulik, apol

Reviewed By: apol

Subscribers: apol, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D25434
2019-12-15 00:01:39 +01:00
Aleix Pol
b9a76966a7 Remove unnecessary qml namespace 2019-12-14 00:18:37 +01:00
Noah Davis
bcc1ba205d Add 32, 48 and 64 px user-desktop icons
Summary: This prevents the icon from becoming blurry at fairly normal panel widths.

Test Plan:
{F7816867, size=full}

- make/ninja install
- rm -r ~/.cache/plasma*
- plasmashell --replace &

Reviewers: #plasma, #vdg, ngraham

Reviewed By: #vdg, ngraham

Subscribers: ngraham, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D25897
2019-12-13 14:43:06 -05:00
Aleix Pol
208b94365c Ignore parent scopes that are in the process of being removed
Summary:
When we destroy a colorscope, all children will try to reparent. This patch
makes it so they never pick an object if it's being removed.

Test Plan:
The logout screen greeter and kscreenlocker doesn't crash anymore
upon close.

Reviewers: #plasma, mart

Reviewed By: #plasma, mart

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D25953
2019-12-13 17:04:55 +01:00
Aleix Pol
c33fcaa8d7 Consistently define the tooltip delay
Summary: Set the right value on the Kirigami.Units and use it from tooltip.

Reviewers: #plasma, ngraham

Reviewed By: ngraham

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D25918
2019-12-13 15:03:24 +01:00
David Edmundson
c5a3d7cd54 [PC3] Complete plasma progress bar animation
Summary:
Otherwside if we toggle indeterminate the bar resizes to 50% of the view
and X stops on the current value of the animation. Resulting in
something that looks super odd.

Test Plan: Plasma Components manual uit test looks sane

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D25927
2019-12-12 22:18:12 +01:00
David Edmundson
e91ba953ea [PC3] Only show progress bar indicator when the ends won't overlap
Summary:
If the width is smaller than LeftMargin + Right Margin the two ends
overlap and it looks super weird

Test Plan: Progressbar manual unit test looks sane

Reviewers: #plasma

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D25926
2019-12-12 22:18:12 +01:00
Nate Graham
5172b920f9 [RFC] Fix Display Configuration icon margins
Summary:
The icon's old margins were too large, causing it to stick out.

BUG: 400087
FIXED-IN: 5.66

Test Plan:
{F7813886, size=full}

{F7813885, size=full}

Reviewers: #vdg, ndavis

Reviewed By: #vdg, ndavis

Subscribers: trickyricky26, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D25296
2019-12-12 18:16:21 +01:00
Aleix Pol
a1880d1e56 Fix warning 2019-12-12 13:04:17 +01:00