It is much more versatile over the current recentdocument runner :
- It is activity aware
- It has a longer history
- It includes data from gtk apps
- We will be able to add some quick filtering in krunner
See previous patch https://phabricator.kde.org/D26111
Summary:
BUG: 418526
The profile group with the value `Default=1` is not always the default profile, for example in the profiles.ini file from the bug report:
```
[Profile1]
Name=default
IsRelative=1
Path=dun5pnnn.default
Default=1
[Profile0]
Name=default-default
IsRelative=1
Path=xewbk2mp.default-default
[Install11457493C5A56847]
Default=xewbk2mp.default-default
Locked=1```
In the text you can see that the profile with `dun5pnnn.default` has the value `Default=1`,
but it is not the default profile.
The correct default profile is in the `[Install11457493C5A56847]` group with the key `Default`.
Test Plan:
If you create a new profile it will be extracted as the default profile
(but the old value might still be cached see D28619).
Reviewers: #plasma, ngraham, bruns, broulik, meven
Reviewed By: meven
Subscribers: meven, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D29326
Summary:
The copying/updating of the cache has been removed from the FetchSqlite class.
This allows the browsers to have handle the caching differently.
The firefox sqlite files are only copied if they changed. Before they were copied
for each match session.
The chrome favicon database is also only copied if needed
and the check is also made in the prepare method and not just when
the profile is initialized.
Test Plan:
For both firefox and chrome:
Plugin shows icons for results.
Add new bookmarks, close browser, the new bookmarks should show up with icons.
Reviewers: #plasma, ngraham, meven, broulik
Reviewed By: meven
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D29726
Summary:
Duplicate function calls to load the config in the runner/config have been removed.
The actions of the runner are also refactored, similar to https://phabricator.kde.org/D3688.
Also the user (owner of process) has been removed from the subtext, because the second line is not shown and adding the user info to the same line would be too long.
Test Plan: Should compile and kill processes as before.
Reviewers: davidedmundson, ngraham, broulik, meven, apol
Reviewed By: meven
Subscribers: apol, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D27513
Summary: Otherwise the build fails when things try to link to KF5::SysGuard etc.
Test Plan: Builds again
Reviewers: #plasma, meven
Reviewed By: meven
Subscribers: meven, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D29628
Summary:
as we can't kill completely kcmshell just yet, hack intothe services runner to
replace on the fly the exec line of the service to systemsettings
BUG: 402790
FIXED-IN: 5.19.0
Test Plan:
search and launch directly for a module, systemsettings is launched wit hthe
proper module loaded
Reviewers: #plasma, ngraham
Reviewed By: ngraham
Subscribers: broulik, ngraham, davidre, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D29157
Summary:
The config keys/sorting enum have been moved to a new file, before this the runner included the header of the config class.
This patch originated from https://phabricator.kde.org/D27513, but it was requested to split it up into separate patches.
Test Plan: Should compile.
Reviewers: davidedmundson, ngraham, broulik, meven, apol
Reviewed By: meven
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D27576
Summary:
Because the actions are always the same the X-Plasma-Request-Actions-Once property can be set to true.
Depends on D29175.
Test Plan: Still displays action.
Reviewers: #plasma, meven, ngraham
Reviewed By: ngraham
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D29320
Summary:
As requested in D28196 this patch removes the caching feature.
This caching causes issues when the user has multiple profiles, because the cached value
is not updated as long as the database exists.
Depends on D28473.
Test Plan: Should compile, no changes to lookup logic made.
Reviewers: #plasma, bruns, broulik
Reviewed By: bruns
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D28619
Summary:
As requested in D28196 this patch handles the early return and the formatting.
Additionally QRegularExpression has been used instead of QRegExp and QStringLiteral instead of QString.
Test Plan:
Should compile and work exactly as before.
To test migration to QRegularExpression:
create multiple profiles
delete the `dbfile` entry from the general group in .config/kdeglobals
restart krunner and make sure that the value of the dbfile entry is the path to the default profile.
The bookmarks should also be displayed.
Reviewers: bruns, broulik, #plasma
Reviewed By: bruns
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D28473
Summary:
Before: A pointer to the favicon gets written in the BookmarkMatch and using this pointer the icon gets created when the Plasma::QueryMatch gets created.
Now: Using the favicon pointer the icon gets created and written to the BookmarkMatch, when the QueryMatch is created the icon value is read.
This makes the code easier to understand and the BookmarkMatch is independent of the Favicon class.
Test Plan: Should compile and display icons.
Reviewers: apol, broulik, davidedmundson
Reviewed By: davidedmundson
Subscribers: bruns, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D28439
Regression introduced in 6e660cf92d since it's now a URL with a scheme, e.g. "applications".
Service actions cannot be dragged out but that wasn't the case before either I believe.
Differential Revision: https://phabricator.kde.org/D28907
Use ApplicationLauncherJob and CommandLauncherJob.
Also, for services runner pass a KServiceAction to the job so it invokes the appropriate jump list action
Differential Revision: https://phabricator.kde.org/D28347
Summary:
It's possible to have a .desktop file in your recent documents list as
you were editing it. Either as a .desktop file or masquerading as
something else.
By default we would process the .desktop file like a .desktop file.
You do get a prompt if the .desktop file is not executable like in
dolphin.
Given we know from context that we're showing recent "Documents" we may
as well turn that behaviour off without risk of ill effects.
BUG: 419310
Test Plan:
Created .desktop file (masquerading as something else)
Had it in my recent documents after opening in another format
Loaded the file from krunner. It now opened in my text editor instead of running
the Exec line
Reviewers: #plasma, ngraham
Reviewed By: ngraham
Subscribers: ngraham, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D28369
Summary:
The foreach has been refactored and the loadSyntaxes method gets now called directly.
Additionally the cached (failed) key/provider can be reused for multiple sessions and is only cleared when the config changes.
Test Plan: Should compile and open urls as before.
Reviewers: ngraham, broulik, meven, apol
Reviewed By: broulik, meven
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D27566
Summary:
The ShellConfig class has been deleted. This config class was in KDE4 for the runOptions widget used and the class/the settings are not used anymore.
Additionally the context type check has been removed, because this is already solved using the ignore types.
Futhermore the match icon and the list of actions can be reused.
Test Plan: Should compile and execute shell commands as before.
Reviewers: davidedmundson, ngraham, broulik, meven, #plasma
Reviewed By: meven
Subscribers: meven, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D27495
Summary:
build the runner itself in a static lib we can use for testing and then
link that into a module lib together with the factory entry point to
compose the final lib for installation
means servicesrunner.cpp is now only built once, whereas before it was
built twice through 100% duplicative targets
Test Plan: test still passes, installing and restarting krunner still yields working service searches
Reviewers: broulik, davidedmundson
Reviewed By: davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D28137
Summary:
- be more consty (and don't risk detatching containers)
- init members
- don't ql1s to qstring
- use auto when newing an object
Test Plan: test passes
Reviewers: broulik
Reviewed By: broulik
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D28138
Summary:
Port away from the query language to lambda using the new KApplicationTrader API.
Depends on D27953.
Test Plan: Tested by hand with several applications, still works as expected.
Reviewers: #plasma, dfaure
Reviewed By: dfaure
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D27954
HelperMatch type was used to identify them in run but this also causes them to score way higher than anything else (except ExactMatch).
CCBUG: 418529
Differential Revision: https://phabricator.kde.org/D27886
Summary:
Activity runner is now useless:
m_activities is always nullptr in ActivityRunner::run because ActivityRunner::down is called after ActivityRunner::match which makes activity changing impossible
Reviewers: broulik, ngraham, davidedmundson
Reviewed By: ngraham, davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D27367