Summary:
...for more consistency and also drop the comment, which has become
obsolete. Prison has been released with KDE Frameworks 5.29.0.
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4568
Otherwise the positioner will get completely confused.
When a notification is closed, the popup will already be closed in response to sourceRemoved.
Also, when triggering an action, call closePopup instead of hiding the popup.
(cherry picked from commit b97fdfa293)
Differential Revision: https://phabricator.kde.org/D4632
Summary:
What happens:
* Activity switch calls invalidateFilter on TaskFilterProxyModel,
which may remove rows in response.
* Up the proxy chain, TasksModel may ask LauncherTasksModel to
emit dataChanged for its contents in response to the row removal,
to cause its own filtering to re-evaluate the launchers for the
life cycle logic.
* This can cause TFPM to do more filtering before invalidateFilter
has actually returned, causing trip-ups such as duplicated rows
in the proxy.
* Eventually the corrupted maps cause a memory corruption crash.
This patch changes step 2 to "find the launchers in the TFPM (the
direct source model) and ask for a dataChanged for each". This
costs us a loop and accesses to IsLauncher, but on the other hand
fixes the crash and avoids a lot of filtering and mapping work
between LTM and up to and including TFPM. It's also just better
code to ask for the dataChanged only from the model we need it
from.
BUG:376055
Reviewers: #plasma, davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4631
Summary:
Alphabetical sorting currently compares a concatenation of
"AppName" (determined by heuristic) and Qt::DisplayRole (usually
the window title) using QString::localeAwareSort. This reflects
that the motivation behind alphabetical sorting is generally to
keep windows belonging to the same app grouped together and then
order those groups alphabetically.
The current code achieves this, but the particulars turn out to
negatively impact users of multi-windowed apps that frequently
change window titles in ways that impact sorting, particularly
tabbed web browsers. Switching between tabs may change the order
of browser windows on the Task Manager. Multiple instances of
feedback suggest this is jarring and unexpected, despite
technically being alphabetical.
This patch changes behavior as follows:
1. Instead of comparing "<App Name><DisplayRole>" it will try to only
compare "<App Name>", falling back to "<DisplayRole>" if the app
name can't be determined.
2. If two tasks compare to equal in the above, it will fall back to
source model row order, i.e. creation/append sorting.
This still achieves the primary goal laid out above while
keeping the sort order within an app "group" stable when using
alphabetical sorting.
BUG:373698
An alternative means to achive this behavior would be via existing
Task Manager settings. To wit:
1. Enable grouping
2. Disable group popups, so groups are instead maintained inline
on the widget
I'm actually considering suggesting the above (plus changing
sorting to Manual) as new default settings for 5.10 - but in
the meantime it still makes sense to tune the alphabetical
sorting mode in this way, and put the improved behavior into
5.8 and 5.9 to address user feedback earlier.
Reviewers: #plasma, davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4469
Summary:
if there is no battery don't show 0%, but a - on
the badge. still show the badge to show the option is not broken,
but don't show a weird 0% of a non existing battery
Test Plan: works on both systems with or without battery
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: broulik, davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4606
Summary:
syncLaunchers() is called after drag operations end to write the order
of launchers in the all-capping TasksModel to the LauncherTaskModel
source model. The per-activity launcher pinning work recently broke
this by changing the model that's looped over.
Reviewers: #plasma, ivan, davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4608
The panel length might not actually change depending on minimum and maximum size constraints
and this is the wrong place to do this in the first place.
Differential Revision: https://phabricator.kde.org/D4590
Summary:
Make sure clicking on them will work the same on the popup and the delegate,
there were some issues on one or the other, now all the code is centralized
in NotificationItem.
Test Plan: Been testing locally, repeatedly
Reviewers: #plasma, davidedmundson, mart, albertvaka
Reviewed By: mart, albertvaka
Subscribers: mck182, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4545
Summary:
Hitting again a bug where switching desktops shows a delay of several seconds
before the taskbar updates, I noticed that this code path was called 81
times in 7 seconds (!) for kmail (maybe because I start it from cmdline
rather than via a .desktop file).
After the 4 slow calls to KWindowSystem::icon it seems definitely worth
it to cache the result.
Overall the main performance bug is still there though, switching
desktops is still slow, but now all backtraces show QML triggered
by model/view dataChanged signals, no idea yet, other than hoping
for the pending QSFPM patches to help with this (no need to re-sort
when the dataChanged roles are unrelated to the roles used for sorting).
Reviewers: hein
Reviewed By: hein
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4600
We no longer have the ability to install different applet types.
Even if we had, we could just use a lambda nowadays.
Differential Revision: https://phabricator.kde.org/D4591
Summary: This is needed so Plasma::DataEngine can construct the metadata
Test Plan: Debug. Lots of debug.
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4554
Summary:
This is a patch to make the Network Monitor desktop plasmoid widget display the upload and download speeds in bits per second (Mbps, Kbps or bps as the case may be) rather than the fixed "KiB/s" unit.
It appears the input data is always in KiB units so the bps part may never be called but left it in there anyway.
Reviewers: davidedmundson
Reviewed By: davidedmundson
Subscribers: broulik, sebas, Zren, davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4551
Summary:
This uses the feature introduced here [1] on KNotifications, so default
actions don't appear as a regular action button. Instead, they are
activated by clicking on the notification itself.
If the default action is not set, it uses the previous behavior of close
on click.
This changes both the notification popup and the notifications inside the
plasmoid.
[1] https://phabricator.kde.org/D4142
Test Plan: Manual testing.
Reviewers: #plasma, colomar, mart
Reviewed By: mart
Subscribers: mart, broulik, apol, mck182, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4215
Summary: Ran `uncrustify-kf5` from kde-dev-scripts.
Test Plan: Builds; still works.
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4489