The deprecated constructor taking a KPluginInfo unconditionally calls toMetaData() and then asserts.
BUG: 417548
Differential Revision: https://phabricator.kde.org/D27366
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
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
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
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
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
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
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
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
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
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
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:
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
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
... 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
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
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
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
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
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
Otherwise colorScope doesn't attach to things like Plasma.Svg.
Also remove superfluous cast as parentItem() returns a QQuickItem *.
Differential Revision: https://phabricator.kde.org/D25887
Summary:
We've ported the SDDM theme to PC3 and now have black labels in PC3 ToolButtons (keyboard and session button).
The SDDM theme uses a complementary color scheme, which is something the PC2 ToolButton respects and turns the labels white.
Therefore I just copy pasted PC2's label color code to its PC3 counterpart.
BUG: 414929
FIXED-IN: 5.66
Test Plan:
```
import QtQuick 2.13
import org.kde.plasma.components 3.0 as PlasmaComponents
import org.kde.plasma.core 2.0 as PlasmaCore
PlasmaCore.ColorScope {
colorGroup: PlasmaCore.Theme.ComplementaryColorGroup
Rectangle {
height: 80
width: 100
color: "red"
PlasmaComponents.ToolButton{
anchors.fill: parent
text: "sup"
}
}
}
```
The label was white instead of black.
Reviewers: #plasma, ngraham, davidedmundson
Reviewed By: #plasma, ngraham, davidedmundson
Subscribers: mart, davidedmundson, fvogt, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D25699
Summary:
Applet is the more proper way to do it (and will make easier porting
to KF6) this also make it possible for the scripting interface to
access userBackgroundHints
Test Plan: everything behaves the same in plasmashell, the background button in the handle works
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D25742
we still need at least for kf5 lifetime to use PackageUrlInterceptor
so use the selector there
this fixes a regression where old plasmoids with javascript in /code/
did break
Summary:
add the ability for the user to override the background hints anddecide
about applets having background or a shadow
A new handle button will be added to manually enable/disable background for
plasmoids that support it
if they don't, the ImmutableBackground flag is set in the hints.
PlasmaCore.ColorScope has been expanded to work more like Kirigami.Theme (which will be replaced by) even if it's oòld behavior still works. This makes the complementary colorscope in applets with shadow actually work (and at the same time gives a clearer porting path for kf6)
Test Plan: Tested the functionality and correct save/restore
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, ndavis, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D25590
Summary:
the wallpaperinterface instance already reacts to wallpaper package
change and loads the current one.
containemtninterface deleted it every time the wallpaper changed
and recreated, effectively loading the wallpaper two times every time
the plugin was changed
Test Plan: switching plugins still works, but it's actually visible faster on slow hardware
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D25217
Summary: When using Dialog or QueryDialog it should be possible to set hideOnWindowDeactivate flag.
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D24825
Summary:
We always want the label to have the width managed by the layout to fill
all available space.
Test Plan:
In tests/components/button3.qml the test
"long text but constrained, should be 150px and elided" now is correctly
elided rather than the text spewing past the end of the button. The text
does not overlap the icon.
Reviewers: #plasma, apol, ngraham
Reviewed By: apol, ngraham
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D24909
Summary:
- Move "Panel Options" context menu items out of submenu
- Rename "Configure Panel..." option
See M144, T10047, T10190. This makes the panel customization options much more discoverable.
Test Plan: Open the panel context menu.
Reviewers: #plasma, #vdg, mart
Reviewed By: #plasma, #vdg, mart
Subscribers: davidedmundson, ngraham, #vdg, kde-frameworks-devel, #plasma
Tags: #frameworks
Maniphest Tasks: T10190, T11094, T10402
Differential Revision: https://phabricator.kde.org/D23951
Summary: needed for the context menu entry
Test Plan: with the p-w- portion the action shows in the context menu
Reviewers: #plasma, #vdg, GB_2, ngraham, davidedmundson
Reviewed By: #plasma, #vdg, ngraham, davidedmundson
Subscribers: davidedmundson, broulik, GB_2, ngraham, kde-frameworks-devel
Tags: #frameworks
Maniphest Tasks: T10190, T11094, T10402
Differential Revision: https://phabricator.kde.org/D24263
Summary:
Allows
* projects linking to Plasma to hide deprecated API up to a
given version or silence deprecation warnings after a given version,
using
* -DPLASMA_DISABLE_DEPRECATED_BEFORE_AND_AT
* -DPLASMA_NO_DEPRECATED
* -DPLASMA_DEPRECATED_WARNINGS_SINCE
* -DPLASMA_NO_DEPRECATED_WARNINGS
* -DPLASMAQUICK_DISABLE_DEPRECATED_BEFORE_AND_AT
* -DPLASMAQUICK_NO_DEPRECATED
* -DPLASMAQUICK_DEPRECATED_WARNINGS_SINCE
* -DPLASMAQUICK_NO_DEPRECATED_WARNINGS
or
* -DKF_DISABLE_DEPRECATED_BEFORE_AND_AT
* -DKF_NO_DEPRECATED
* -DKF_DEPRECATED_WARNINGS_SINCE
* -DKF_NO_DEPRECATED_WARNINGS
Reviewers: #plasma, mart, davidedmundson, apol, mlaurent
Reviewed By: #plasma, mart, mlaurent
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D24678
Summary:
This fixed the background of a checkable PC3 ToolButton not being visible when checked.
The PC3 Button and PC2 ToolButton did not suffer from the issue, but the PC3 one did.
Test Plan:
Checkable PC3 ToolButtons now look checked when checked
No change for non-checkable PC3 ToolButtons
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D24402
Summary:
The plans are to switch on/off the whole plasma shell into edit mode.
For this it needs to be a global corona property, rather then just
containmentInterface.
Plasmashell would expose a dbus call to set it from systemsettings
Test Plan: plasmoid.editMode=true still works
Reviewers: #plasma, #vdg, ngraham
Reviewed By: #vdg, ngraham
Subscribers: ngraham, GB_2, broulik, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D24239
Summary:
right now just a subsection of controls are installed under plasmacomponent3
which makes for random missing stuff, especially any new component added.
it was done to avoid to have things like "applicationwindow" which don't make sense
in plasma, tough those are already available anyways as plain qqc2
install the whole folder avoiding many potential headaches
Test Plan: ieverything still works, all the components are available
Reviewers: #plasma, apol
Reviewed By: apol
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D24072
Summary:
Indicate state, not the action it will have. When the password field is empty it feels like the password will be shown once I start typing. Dolphin has been doing it this way for the "show hidden files" action forever.
Also only show the button when the field contains text or when revealing the password, like in the PolKit dialog.
Test Plan:
Empty field
{F7326288}
{F5697017}
{F5697018}
Dolphin
Show hidden files, files are currently hidden
{F5697031}
Hide hidden files, files are currently shown
{F5697032}
Reviewers: #plasma, #vdg, ngraham, broulik, ndavis
Reviewed By: #vdg, ngraham, ndavis
Subscribers: ndavis, kde-frameworks-devel, rizzitello, elvisangelaccio, ngraham, starbuck, plasma-devel
Tags: #plasma, #frameworks
Differential Revision: https://phabricator.kde.org/D10362
Summary:
Deleting AppletPrivate will delete the ConfigLoader which will cause a
save, which can trigger a configSaved signal.
I think it is correct that the config might emit a signal just before
closing, and not at fault.
AppletPrivate is deleted by this point, but Applet is not so the
connection is still alive.
When we handle the signal, it goes into a Q_PRIVATE_SLOT that crashes.
This disconnect pattern is already used for guarding self config
changes.
BUG: 411221
Test Plan: kquitapp5 plasmashell, no longer crashes
Reviewers: #plasma, alexeymin
Reviewed By: alexeymin
Subscribers: alexeymin, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D23707
Summary:
this makes the toolbutton icons follow a standard size.
Maybe one could make it follow the icon group size props? like icon.width and icon.height if those props are set.
Before patch:
{F7274098}
After patch:
{F7274097}
Reviewers: #plasma, mart, ngraham
Reviewed By: #plasma, mart, ngraham
Subscribers: broulik, apol, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D23367
Summary:
this makes the toolbutton icons follow a standard size.
Maybe one could make it follow the icon group size props? like icon.width and icon.height if those props are set.
Before patch:
{F7274098}
After patch:
{F7274097}
Reviewers: #plasma, mart, ngraham
Reviewed By: ngraham
Subscribers: apol, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D23367
Summary:
with the Plasma style buttons which have an icon look wrong. The icon size is too big and in consecuence the whole button is drawn way too big.
With this patch the icon is set to a standard size and drawn in the button layout, in a way it looks consistent with other button with no icons.
example:
Before path:
{F7270612}
{F7270611}
With patch:
{F7270610}
{F7270609}
BUG: 399952
FIXED-IN: 5.62
Reviewers: #plasma, mart, ngraham
Reviewed By: ngraham
Subscribers: ngraham, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D23352
Summary:
This is needed so that we don't remove the splash till the wallpaper is
loaded, but also allows doing this in a generic way.
Version 2 of the patch using a normal property.
We need to have the virtual so that the containment waits for the
wallpaper.
Test Plan:
Used with wallpaper patch
Added debug to ensure it happened after the stackview in the wallpaper
is pushed
Reviewers: #plasma
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D22852
Summary:
This fixes the incorrect initial positioning of the tabs for vertical
tab bars that persisted until the user switched to another tab
manually.
BUG: 395390
FIXED-IN: 5.62
Reviewers: #plasma, ngraham, hein
Reviewed By: #plasma, ngraham, hein
Subscribers: kde-frameworks-devel
Tags: #frameworks
Maniphest Tasks: T10047
Differential Revision: https://phabricator.kde.org/D23036
Summary:
This fixes the incorrect initial positioning of the tabs for vertical
tab bars that persisted until the user switched to another tab
manually.
BUG: 395390
FIXED-IN: 5.62
Reviewers: #plasma, ngraham, hein
Reviewed By: #plasma, ngraham, hein
Subscribers: kde-frameworks-devel
Tags: #frameworks
Maniphest Tasks: T10047
Differential Revision: https://phabricator.kde.org/D23036
This is a remnant from when we used a full background on hovered ToolButtons
instead of the frame we have now. It broke icon item appearance when hovered
in a custom ColorScope.
Reviewed-By: notmart
Summary:
Match the duration (2 seconds) that was set in D22630.
This style is mainly used by Plasma Mobile, therefore requesting team review from that project as well.
Reviewers: #vdg, #plasma:_mobile, ngraham
Reviewed By: #vdg, ngraham
Subscribers: ngraham, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D22720
Summary: This means they're found by unit tests pre-installation
Test Plan:
Removed installed files
Ran make (but not make install)
ConfigModelTest now passes
Reviewers: #plasma, apol
Reviewed By: apol
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D22682
Summary: Changed Highlight to Button focus so that these SVGs wouldn't use the same color as the selection background.
Reviewers: #vdg, #plasma, #breeze, ngraham
Reviewed By: #vdg, #breeze, ngraham
Subscribers: ngraham, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D22670
Summary:
Some applets use completely the code of another one with the key
X-Plasma-RootPath.
At the moment it doesn't work on applets that have a binary plugin portion
This makes pluginloader load the plugin of the original applet we're using
Test Plan:
an applet that falls back to one that has a binary plugin now works.
ones that fall back to applets without binary plugin still work
normal applets as well
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D22675
Summary: Match the duration (2 seconds) that was set in D22630.
Reviewers: broulik, #vdg
Reviewed By: broulik
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D22646
Summary:
can't be enabled anywhere + not actually doing anything as there is no
backing for it in the cpp + qca isn't even looked for by cmake
Test Plan: none
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D22618
Summary:
These were created but never installed. Was looking into porting krunner
to 3.0 and they were missing.
Test Plan: Used them in the WIP port of KRunner
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D22546
if switchWidth or height changes dinamically,
compactRepresentationCheck has to be ran again, otherwise
it can happen the situation where applets have both rapresentations in
the same view
Summary:
Extend the plasmoid startup cache to DataEngines and ContaimentActions.
Include a cache for script engines. In practice it's always the same, we don't
need to check the file system every time.
Reviewers: #plasma, davidedmundson, mart
Reviewed By: #plasma, davidedmundson, mart
Subscribers: davidedmundson, mart, broulik, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D22258
The CACHE_ID_NATURAL_SIZE adds stuff around the argument string, so explicitly move the ^ and $ outside.
Differential Revision: https://phabricator.kde.org/D22275
Summary: At the moment it was enabled in the PluginLoader but we were not using it anywhere.
Test Plan: See patch in plasma-workspace.
Reviewers: #plasma, #frameworks, mart
Reviewed By: #plasma, mart
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D22267
Summary: This allows us to glide active tabbar indicators on lines, which we cannot do now in Kickoff due to this limitation in the control.
Test Plan:
Before:
{F6936102}
After:
{F6936103}
Reviewers: #vdg, #plasma, ngraham, ndavis
Reviewed By: #vdg, ngraham, ndavis
Subscribers: ndavis, apol, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D22108
Summary:
X-KDE-ParentApp is the key in desktop file to display that given service
or application is part of the another application or extension of other
application. In KDE4 this key was used to mark applets to be used in the
specific application like plasma-desktop, kdevelop, amarok etc.
In KF5 world, none of this applications have applet loading mechanism
apart from plasma*, and there are likely only Plasma applet, containment
or dataengines.
Previous API, when no/empty parentApp was passed would filter out every
application which had something as parentApp. This was to ensure only
compatible plugins are loaded in Plasma. This resulted in applets
getting excluded if they suggested that org.kde.plasmashell is their
parent application. Refine this API to,
- If no/empty parentApp is provided, provide all applets
- If parentApp is provided, filter by applet
This behavior is more filter like instead of other way around.
CHANGELOG: Applet, DataEngine and containment listing methods in
Plasma::PluginLoader no longer filters the plugins with X-KDE-ParentApp
provided when empty string is passed.
Test Plan:
tested that plasma loads properly, plasmaengineexplorer lists
all engines and plasmawindowed works fine. Neverthless requires more testing
Reviewers: mart, apol
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D22049
Summary:
Should ensure that on a new release any existing theme caches are updated
automatically.
Reviewers: #plasma, ltoscano, apol
Reviewed By: apol
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D21767
Summary:
The object tracker was telling me it's notifying the same value it
already got, and reading the code it seems to be already notifying when it
actually changes.
Test Plan: tests pass, plasma runs fine.
Reviewers: #plasma
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D21481
When only a label exists in a toolbutton, without filling the width of the rowlayout, the label is not properly aligned in the center.
Differential Revision: https://phabricator.kde.org/D21415
Summary:
The PC3 Button's Label didn't have `Layout.FillHeight: true` set, so button text was not actually
getting vertically centered in certain circumstances. This patch fixes that.
Found while working on D21503.
Test Plan:
Before: {F6860487, size=full}
After: {F6860486, size=full}
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: broulik, apol, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D21502
This could break old-style connects. Let's keep it as it was until KF6
as discussed in the channel. Thanks frinring for pointing it out.
This reverts commit f631aec33f.
Summary: Instead copy the object, operate it and update it into the object.
Test Plan:
just used plasma shell and ran the tests. I'm not sure who uses this.
Issue found with clazy.
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D21483
Don't pass objects to lambdas that get unused.
Don't connect to lambdas without specifying the target object, if an object
reference is passed to the lambda.
Test Plan: Used in model
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: broulik, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D21419
if the connect is done in containmentinterface only contaiments
will be able to see the rect changing, while applet would access it but
not be able to detect changes
Summary:
It can be unexpected that those are not reset when clearCache() was called.
With the current logic when a theme changes the mask cache not reset also
results in wrong lookups, as the cacheid used as key does not include the
theme name.
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D21172
Summary:
there are a few places which potentially pass a prefix with a trailing -,
e.g. if using directly the value of FrameSvg::prefix() or
FrameSvg::actualPrefix(). Support the assumption in such code, unbreaking
its currently not working behaviour.
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: apol, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D21174
Summary:
d8a1a9eb08 changed the condition from
hasElementPrefix(q->prefix()) to hasElementPrefix(frame->requestedPrefix)
but it is not clear why, as the background is generated from the prefix
data & the requestedPrefix is no-where in effect.
As a result sometimes the background is not rendered for a given
not-existing requestedPrefix which was mapped to an empty prefix instead.
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D21175
Summary:
Needed e.g. to fix the missing update of the mask on changing the size of
the Plasma panel if only listening to mask changes.
Reviewers: #plasma, apol
Reviewed By: apol
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D21201
Summary:
In that method we can assue a high chance that the mask is also affected.
Instead of adding complicated additional code to track if the mask
really changed, we rely on the cached value from FrameSvg.
This method is not too often called in a Plasma session, so that
further optimization work to avoid unneccesary emits seems not yet
worth it.
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D21179
Summary:
The specification for FrameSvg does not require that all borders exist
or that left & right and top & bottom borders have samples with the same
size in the scalable dimension.
The old assumption in the code broke e.g. themes which had special
variants per screen side for the panel-background and left out elements
for the border side which would not be rendered anyway, but only set a
margin-hint. So e.g. for a panel on the east screen edge, without the
left border element set, leftHeight would be 0 and as result also the
right border not be painted due to an empty size.
Reviewers: #plasma, apol
Reviewed By: apol
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D21106
Summary: The Q_PLUGIN_METADATA IID should be the one of the implemented interface.
Reviewers: #plasma, apol
Reviewed By: apol
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D21000
Allows to flag a dialog window as critical notification that should be shown even on top of fullscreen windows
Differential Revision: https://phabricator.kde.org/D20630
Summary: Before this fix, the system tray audio widget would try to use the 32px icons where 22px icons should be used.
Reviewers: #vdg, #plasma, ngraham
Reviewed By: #vdg, ngraham
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D20825
Just because the item is visible doesn't mean the window itself is. Keep track of the window it's in.
Use itemChange instead of connects and move the check for starting to startRedirect so we don't have to check the conditions
for that in every change handler (visible && enabled && window->visible). It also saves three connects in the constructor.
Also, don't unredirect if we didn't redirect in the first place to avoid warnings printed on console.
BUG: 406303
Differential Revision: https://phabricator.kde.org/D20805
Summary: The tooltip for the audio system tray widget and panel edit mode had blurry versions of these icons because the icons were being scaled to fit.
Test Plan:
audio.svg: {F6783458, size=full}
configure.svg: {F6783423, size=full}
distribute.svg: {F6783424, size=full}
Reviewers: #vdg, #plasma, ngraham
Reviewed By: #vdg, ngraham
Subscribers: ngraham, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D20695
Summary:
When just the smooth property is changed, this also results in a call of
QQuickItem::updatePaintNode reimplementations. So always just set the
filtering flag to match the current value of the smooth property.
Reviewers: #plasma, broulik, mart
Reviewed By: #plasma, broulik
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D20579
Summary:
During Pre-Plasma5 the hard-coded height of 20 of the progressbar was
changed to instead be taken from the theme via the "hint-bar-size":
commit cee9c928e3
As fallback for old themes in absence of the hint the default height
since some time later has been derived from the sum of the heights of
the elements "bar-inactive-top" & "bar-inactive-bottom".
Which though for the Air and Oxygen themes results in the small heights
of respective 10 & 4. As a result the visual appearance of the theme
differs from what people remember of the time when the themes were
designed.
Ideally the theme designer would tune the actual value to something they
prefer. Until then setting the hint to restore the visual appearance over
the currently pretty slim or even too slim one should improve things
already.
Reviewers: #plasma, #vdg
Subscribers: broulik, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D20602
Summary: This does the same thing as D20586, but for the Breeze desktop theme. The diff shows a lot of changes because I optimized the SVG.
Test Plan: Looks exactly the same as D20586
Reviewers: #vdg, ngraham
Reviewed By: #vdg, ngraham
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D20597
Summary:
QQuickItem already has a "smooth" property, which was shadowed by the
custom ones with the same name. As the property was not part of public
symbols, but instead is dynamically looked up without the class name part
of the property, we just remove the custom versions and instead switch
all custom code to use the inherited property.
While doing that the code is also fixed to properly update the
textureNodes to the current value of the "smooth" property.
As well as not set the filtering only on the texture, when it is passed
to a texturenode which will set its own filtering state to the texture
right before the bind call and thus wipe any previous direct setting
of the filter mode on the texture.
This also changed the default to smooth=true for SvgItem, though
effectively smooth was always true, as the texturenode was hardcoded
to get a QSGTexture::Linear filtering (which, as said above, is forced
onto its texture, no matter what was otherwise set before).
Reviewers: #plasma, davidedmundson, mart
Reviewed By: #plasma, davidedmundson
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D20510
Summary:
The hands of the clocks still relied on the KDE4 times rule that the
position in y-axis relativ to the clock center would define the relative
rotation point for the hands.
With the default in Plasma 5 being (width/2, width/2) from topleft of the
hand shape, using hints of upcoming Plasma 5.16 allows to override that
again to match the original definition, without the need to enlarge
the pixmaps of the hand shapes.
Reviewers: #plasma, mart, ngraham
Reviewed By: ngraham
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D20496
Summary:
This signal is emitted just before showing the context menu to allow
lazy-loading expensive actions like hasAlternatives.
This emitted by our code whenever we show a context menu from an event
filter, however we want to use this code from a tooltip in D17410
Test Plan:
Hovered over some applets, they correctly enabled/disabled the
alternatives button
Reviewers: #plasma
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D20417
Summary:
The SVG format being based on plain text, storing the SVG in the repository
not as .svgz, but .svg, helps both VCS tools (patching, showing diffs) as
well as allows some developers to edit the SVG directly in any text editor,
not only those which support automatic conversion from/to gzip format.
While most artists will continue (and which shall be okay) to use GUI
editors like inkscape, which might rewrite the complete structure on saving,
using uncompressed format in the repo still allows the occasional direct
edit of the text, .e.g. to change a colour, which then is also easily seen
in the commit diff.
To still keep the svgz format when deployed, a build step is introduced,
which uses gzip to create svgz files in the build dir. This conversion can
be controlled using the option GZIP_DESKTOPTHEME_SVG (default: ON).
Test Plan: Themes are still working (with & without cache removed).
Reviewers: #plasma, #vdg, ngraham
Reviewed By: #vdg, ngraham
Subscribers: bruns, GB_2, ndavis, ngraham, fvogt, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D20166
Summary:
the mobile text selection toolbar uses toolbuttons, which in turn use the
private import. This will make the components loading stuck in dependency
resolution
Test Plan: all loads correctly now
Reviewers: #plasma, hein
Reviewed By: #plasma, hein
Subscribers: hein, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D20428