Summary:
When a job is terminated, it isn't necessarily removed from the job
owners queue to handle pending requests.
If a service unregisters and the job is already finished, we don't want
to mark it as an error.
Test Plan:
kioclient5 (when running with fixed interactive-ness) quits when there's an error.
We used to always show the client died error.
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: broulik, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D17711
Summary:
This:
* Makes it work on Wayland.
Depends on D13745.
* Cleans up includes and linkage.
* Fixes some pre-existing bugs like cached actions not updating
to changed desktop names.
Reviewers: mart, davidedmundson
Reviewed By: davidedmundson
Subscribers: zzag, broulik, plasma-devel
Tags: #plasma
Maniphest Tasks: T4457
Differential Revision: https://phabricator.kde.org/D15599
Summary:
This makes it work on Wayland. And probably fixes bugs, the code,
especially the next/prev window stuff, was pretty wonky.
Also some general cleanup.
Depends on D13745.
Reviewers: mart, davidedmundson
Reviewed By: davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Maniphest Tasks: T4457
Differential Revision: https://phabricator.kde.org/D15642
Summary:
Includes, among other things:
* A refactoring towards supporting more than one desktop per window,
for an eventual virtual desktops / activities merge
* A scheme for process-internal window ids on Wayland as DND payload
so DND in and to the Pager works in the shell
* Implemented various previously missing behavior in WaylandTasksModel
such as implicit moves of windows to the current desktop on various
actions
* Expanded VirtualDesktopInfo API so the Pager can better abstract
over windowing systems
* Implicit internal sharing of VirtualDesktopInfo since there are many
more instances now
* Various cleanups
Still missing:
* Fixing the VirtualDesktops data role in the grouping proxy
* The protocol doesn't have desktop creation/destruction yet, so some
of the related logic is still missing
* Some FIXME TODOs in the code when I was unhappy with the current
KWayland API
This code is largely untested and subject to change.
Depends on D12820 and relates to T4457.
Reviewers: mart, mvourlakos, davidedmundson
Reviewed By: davidedmundson
Subscribers: alexde, anthonyfieroni, zzag, ngraham, abetts, plasma-devel
Tags: #plasma
Maniphest Tasks: T4457
Differential Revision: https://phabricator.kde.org/D13745
Summary:
1. Remove the left margin.
2. Change '&' to "and".
Before:
{F6474493}
After:
{F6476224}
Test Plan: Open System Tray.
Reviewers: #vdg, broulik, #plasma, mart
Reviewed By: #vdg, #plasma, mart
Subscribers: fabianr, abetts, loh.tar, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D17556
Instead of converting to QVariantMap first.
Also, port code touched as part of this to range for
Differential Revision: https://phabricator.kde.org/D17527
Nested event loops in conjunction with QML are dangerous.
Port to QMessageBox which can be used without exec()
CHANGELOG: Fix crash when deactivating Klipper's URL grabber
BUG: 363771
FIXED-IN: 5.14.5
Differential Revision: https://phabricator.kde.org/D17531
Summary:
In the specific case of having the device notifier opened
and inserting a device that has been configured to be
automatically mounted, the transition animation could be
interrupted resulting in the opacity being wrong.
Test Plan:
In the setup discribed in the summary, you should never
see something like the attached screenshot where the list
of action opacity is not 1.
{F6460038}
See http://doc.qt.io/qt-5/qml-qtquick-viewtransition.html#handling-interrupted-animations
for more information.
Reviewers: #plasma, #vdg, ngraham, davidedmundson
Reviewed By: #plasma, #vdg, ngraham, davidedmundson
Subscribers: broulik, davidedmundson, ngraham, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D17394
Summary:
BUG: 400663
FIXED-IN: 5.15.0
Test Plan:
Before: {F6455075}
After: {F6459462}
(label alignment being a bit off is unrelated to this patch)
Everything still works.
Reviewers: #plasma, #vdg, mart, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: alexde, mvourlakos, abetts, zzag, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D17354
Summary:
use QQC2 and FormLayout for alignment
also, qqc2 combobox doesn't suffer from 390801 anymore
BUG: 390801
Test Plan: tried to set all the options
Reviewers: #plasma, #vdg, ngraham
Reviewed By: #vdg, ngraham
Subscribers: ngraham, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D17333
Summary: No big visible changes, but simplifies and modernizes the code
Test Plan: used all functionality of the systray config dialog
Reviewers: #plasma, #vdg, ngraham
Reviewed By: #vdg, ngraham
Subscribers: ngraham, abetts, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D17212
Summary:
As requested in D16031, tweak the login and lock screens in only fairly non-controversial ways:
- Add a dark background behind the user avatar and a shadow behind the username
- Tweak the clock shadow to make it a tiny bit stronger
- Reduce clock shadow redundancy by moving it into the `Clock` item and out of the clients
- Don't use hardcoded shadow colors anymore
With the existing UI, these are very subtle changes that should barely be visible.
This diff does **NOT** include the following changes from D16031:
- Blur-less login screen
- New icons for the buttons
- Horizontal bar on the bottom to hold the buttons for the virtual keyboard, session chooser, and battery status
Test Plan:
Login screen:
{F6424115, size=full}
Lock screen:
{F6435507, size=full}
{F6435506, size=full}
{F6435519, size=full}
{F6435518, size=full}
{F6435517, size=full}
{F6435516, size=full}
{F6435515, size=full}
{F6435514, size=full}
{F6435513, size=full}
{F6435512, size=full}
{F6435511, size=full}
{F6435510, size=full}
{F6435523, size=full}
{F6435522, size=full}
{F6435521, size=full}
{F6435509, size=full}
{F6424114, size=full}
Reviewers: davidedmundson, #vdg, #plasma
Reviewed By: davidedmundson, #plasma
Subscribers: mart, rooty, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D16879
Summary:
If the host of a kjob crashes or is killed kuiserver currently reports
that the job has been completed successfully. This is seriously wrong as
it could lead a user to perform a potentially destructive operation.
Setting any error (that's not 0 or 1) will cause plasmashell, the main
kuiserver view, to show a persistent notification that a job has failed.
For master I will use a more correct new enum, new error text, and a way
to tell for KIO operations to report to the uiserver if the host
crashing is important or not.
CCBUG: 352761
Test Plan:
Whilst copying a million files killed dolphin
Got a persistent error instead of a success message on the last file it was on
Moving files successfully then killing the app remained fine
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: broulik, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D17171
Summary:
--as @mart requested we can rename "menuHidden" property
to "visible" in order to follow Qt naming
Test Plan:
--check that global menu applet is functioning the same
way as when using removed menuHidden property
Reviewers: #plasma, mart, davidedmundson
Reviewed By: #plasma, mart
Subscribers: mart, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D17107
Summary:
--a new screenGeometry property is added in the
AppMenuModel in order to be used for filtering
windows based on their geometry.
BUG: 384895, 395853
Test Plan:
--validate that when moving a window between different screens the global menu applet is updated accordingly
--checkout that nothing has broke because of this new behavior
Reviewers: #plasma, broulik, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: mart, davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D16768
Summary:
SystemTray::serviceRegistered is called tons of times; the regexp
construction inside the for-loop is expensive and should be avoided.
Thus construct the regexp once, and re-use the regexp object each time.
Test Plan:
Before:
{F6432674}
After:
{F6432675}
Reviewers: davidedmundson
Reviewed By: davidedmundson
Subscribers: apol, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D17025
Trace:
Direct leak of 24 byte(s) in 3 object(s) allocated from:
#0 0x544cc0 in operator new(unsigned long) (/home/kfunk/devel/install/kf5/bin/plasmashell+0x544cc0)
#1 0x7fe4f0e82df9 in TaskManager::XWindowTasksModel::Private::windowInfo(unsigned long long) /home/kfunk/devel/src/kf5/plasma-workspace/libtaskmanager/xwindowtasksmodel.cpp:419:25
#2 0x7fe4f0e87e69 in TaskManager::XWindowTasksModel::data(QModelIndex const&, int) const /home/kfunk/devel/src/kf5/plasma-workspace/libtaskmanager/xwindowtasksmodel.cpp:646:38
...
As soon as QMenu becomes empty it is closed. This can happen when the application completely reloads its menu.
Instead, call deleteLater which will destroy the QAction later at which point it is automatically removed from the menu.
BUG: 399975
FIXED-IN: 5.14.4
CHANGELOG: Fixed global menu misbehaving and unexpectedly closing with certain applications
Differential Revision: https://phabricator.kde.org/D16297
A Presentation is also a Document so it would show up twice.
This patch filters out URLs we have already found and moves searching for specific
types (Presentation, Spreadsheet) before the more generic Document type.
Differential Revision: https://phabricator.kde.org/D16690
Summary:
Implements keyboard navigation via the up and down arrow keys for the Breeze window switcher.
Support for this went in with D16693.
CCBUG: 370185
Test Plan: Alt-tab, use arrow keys, it works!
Reviewers: #plasma, graesslin
Reviewed By: #plasma, graesslin
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D16886
Summary:
Libkworkspace has two duplicate enum values for the same thing, with one
marked as "//FIXME remove". My patchset is trying to kill that enum, but
we still use it for backwards compatibility in the L&F QML in the greeter.
In my split, I used the wrong one.
BUG: 401046
Reviewers: mart
Reviewed By: mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D16891
Summary:
The favicon and places instances are created in the prepare() call,
leaking the instance from the last invocation. Delete the old
instance in teardown().
See also T9626.
Test Plan:
run several queries in krunner
-> instances are no longer leaked
Reviewers: #frameworks, mart
Reviewed By: mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D16410
Summary:
QSqlDatabase connection instances are global reference counted objects which
can be crated using the QSqlDatabase::addDatabase(...) method and later
retrieved with QSqlDatabase::database(connectionname).
Connections should only be used from a single thread, and should be cleaned
up with QSD::removeDatabase(name), which implicitly closes the connection
when the last reference is removed.
Currently, the same connection (name) is reused over all threads, and
the connection is only removed implicitly by replacing it via addDatabase().
This leads to warnings, i.e.: "QSqlDatabasePrivate::addDatabase: duplicate
connection name '...', old connection removed."
As one reference is held by the m_db member, the implicit removal triggers
another warning: "QSqlDatabasePrivate::removeDatabase: connection '..."
is still in use, all queries will cease to work."
According to the documentation, "It is highly recommended that you do not
keep a copy of the QSqlDatabase around as a member of a class, as this
will prevent the instance from being correctly cleaned up on shutdown."
There is no need to keep a reference using a member variable, as retrieving
an open connection via QSqlDatabase::database(...) is cheap.
Create a per-thread DB connection on first use, and remove the connections
when the FetchSqlite instance is torn down.
Delaying the open is beneficial for the favicon instance, which may be
unused when the icon is already cached on disk.
See also T9626.
BUG: 400723
Test Plan:
execute a query in krunner
1. Results are as expected
2. The 'QSqlDatabasePrivate::removeDatabase: connection ... is still in use,
all queries will cease to work.' warning no longer appears
3. The 'QSqlDatabasePrivate::addDatabase: duplicate connection name ...,
old connection removed' warning no longer appears
Reviewers: #frameworks, mart
Reviewed By: mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D16409