This will result in cleaner diffs when a new value is added
and clang-format will not indent them with the opening
brace of the initializer list which makes is slightly easier to read.
Kickoff has a problem that it has a vertical list of things that act on
hover, but the next step involves moving the mouse to the right where
the target could be at any vertical position.
Moving the mouse in the most direct way involves hovering over other
items.
This can be supressed with a timer, but then we are in a trade off of
false positive activation for some and it being slow and annoying.
Neither is great.
This filter determines movement away from a child list view to
navigation within a child list listview based on mouse direction.
Add explicit find_package() and #include's that are required and were
pulled in by KDELibs4Support.
krdb: remove one redundant #include, KColorUtils
kcm_fonts: send dbus message directly to org.kde.KDEPlatformTheme to
'refreshFonts'
kcm_style:
- use KToolBar::emitToolbarStyleChanged() to notify of toolbar style changes
For the rest use the notifyKcmChange() private method to send the dbus
signal.
[1] https://invent.kde.org/frameworks/kdelibs4support/-/blob/master/src/kdeui/kglobalsettings.cpp#L860
We do this sometimes, but not consistenly.
The benefit is twofold.
First it improves the diff when adding new values since no existing line needs to be touched.
Second it prevents clang-format from collapsing the definition into a single line, which is undesired for large enums.
The code is meant to add the entry if it's valid, then watch for
changes. Somehow we end up only monitoring if it was valid initially.
This doesn't make sense.
This means if the menu loads before the backend we don't update
correctly when it does load.
CCBUG: 423526
BUG: 427779
For System Settings the frequently used settings modules are shown in the same way
they are done on System Settings home page.
The default set is taken from its jump list actions when there aren't enough (5)
frequent entries yet. This matches System Settings behavior, too.
If no runners are explicitly specified the RunnerManager will read the enabled plugins from the krunnerrc file. This way enabled plugins are configurable and consistent with KRunner.
The system actions model recently changed behavior to always present all
possible actions, with `AbstractEntry::isValid` driving the model role
`Kicker::DisabledRole` so that views can e.g. grey out unavailable
actions.
This was perceived as a regression by users who are annoyed at e.g.
`Hibernate` being visible when their system setup precludes it more or
less permanently.
This patch reverts this behavior.
Note that the dynamic approach we had permanently wasn't very great
anyway, as the associated favorites models would remove entries when
they became invalid, and they wouldn't come back automatically when the
entry were to become valid again. In effect that means when you added one
of these actions to e.g. the Kicker sidebar and it became unavailable
it would disappear until re-added anyways.
I can imagine use cases where dynamic behavior would be useful to have -
let's say disabling Shutdown/Reboot while a critical system update is
being performed. But in that case we'd need to fix the favorites
behavior and add some way to inform the user why the action is disabled
for a good user experienced anyhow.
BUG:426645
This patch adds a new enabled role to kicker items instead of creating
and deleting them if they're not available due to configuration.
It ports to the new session code in libkworkspace dropping our need for
KDE4Support.
From: D20237
Better to keep the exact semantics when porting stuff, we can change it later
if we want. (Disregarding that I even got the boolean the wrong way around).
This is a more generic term that's less likely to be inappropriate
(every document is a file, but not every file is a document) and using
"Recent Files" brings Plasma into consistency with what KIO and Dolphin
call it.
CCBUG: 424007
Fixes regression caused by me meddling with data in 6e660cf92d
Unfortunately KRunner has no notion of "this is application xyz" so Kicker has to make assumptions, which broke here.
Differential Revision: https://phabricator.kde.org/D29744
Summary: And use KNotificationJobUiDelegate in case of errors
Test Plan: Untested other than compilation
Reviewers: broulik, davidedmundson
Reviewed By: broulik
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D29124
Summary:
RecentUsageModel can list all aps and docs,
only aps or only docs. make possible to control that from QML
Test Plan: the api works, all existing code has the same behavior as before
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D27782
Summary:
Since D10835 opening urls that needed mimetype determination such as smb:/ or sftp:/ urls were always opened with a "Open With" dialog.
To keep the same security but adding some convenience, use KRun::setRunExecutables to disable executable run here.
Reviewers: #plasma, broulik, aleksejshilin, hein
Reviewed By: #plasma, hein
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D26582
Summary:
Save quite a few KFileItem instanciation.
On each document hovering several KFileItem were instanciated for nothing.
Reviewers: #frameworks, apol
Reviewed By: apol
Subscribers: apol, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D26416