Commit Graph

15401 Commits

Author SHA1 Message Date
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
l10n daemon script
8974252e42 GIT_SILENT Upgrade ECM and KF5 version requirements for 5.67.0 release. 2020-02-01 09:08:38 +00: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
David Faure
da513b158d GIT_SILENT Bump KF5 deprecation level to 5.66 2020-01-12 12:27:43 +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
l10n daemon script
e5b1475e14 GIT_SILENT Upgrade KF5 version to 5.67.0. 2020-01-11 18:04:25 +00: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
e9468a8442 add a manual test on the highlight look 2020-01-09 17:35:57 +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
l10n daemon script
ff65c2a529 GIT_SILENT Upgrade ECM and KF5 version requirements for 5.66.0 release. 2020-01-03 23:15:20 +00: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
Albert Astals Cid
37e7b40421 GIT_SILENT Upgrade Qt5 version requirement to 5.12.0. 2019-12-21 12:38:37 +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
Laurent Montel
29f2171813 GIT_SILENT: remove <QtTest> which includes all of <QtCore> (scripted) 2019-12-14 16:58:05 +01:00
l10n daemon script
761dddab9d GIT_SILENT Upgrade KF5 version to 5.66.0. 2019-12-14 11:12:46 +00: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
David Edmundson
fecb716b87 Add test for combobox from QQC2 2019-12-12 15:29:42 +00:00
Aleix Pol
a1880d1e56 Fix warning 2019-12-12 13:04:17 +01:00
Aleix Pol
e32d28e548 fix warnings, remove unused captured variables 2019-12-12 11:33:48 +01:00
Kai Uwe Broulik
8f7b2c9ae0 [ColorScope] Work with plain QObjects again
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
2019-12-11 16:02:11 +01:00
Kai Uwe Broulik
e44cab6ab5 [Breeze Desktop Theme] Add monochrome user-desktop icon
This ensures the "show desktop" plasmoid remains monochrome in the panel at any size.

Differential Revision: https://phabricator.kde.org/D25885
2019-12-11 15:56:30 +01:00
Aleix Pol
7a9b50c8dc Remove default width from PlasmaComponents3.Button
Reviewed by Marco Martin
2019-12-11 15:36:44 +01:00
Aleix Pol
2649878108 Fix some bits in the Plasma style
Use properties that exist
Remove unused warningy code
Make sure we don't call null objects

Reviewed by Marco
2019-12-11 14:43:37 +01:00
Filip Fila
e4e1613b0f [PC3 ToolButton] Have the label take into account complementary color schemes
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
2019-12-11 13:50:11 +01:00
David Edmundson
a3acfbfce6 Add manual test for changing colorscope in components
Summary: For quickly other bugs in PC3

Test Plan:
Opened qmlscene on some files
It's only for unit tests anyway

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D25822
2019-12-09 20:59:57 +00:00