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