Summary:
- hasn't been installed for years and no one missed it
- not actually ported
- using tech we want to get rid of (soliduiserver)
Test Plan: workspace still builds
Reviewers: broulik
Reviewed By: broulik
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D21747
Summary:
Desktop files such as kde/foo.desktop are identified as kde-foo.desktop
because of the menu spec
```
If the directory contains sub-directories then these sub-directories should be (recursively) scanned as well. The name of the subdirectory should be added as prefix to the desktop-file id together with a dash character ("-")
```
the runner therefore broadly assumed that kde-foo.desktop is always
the desktop file kde/foo.desktop and since kde/ was only used up to KDE3
this assumption formed the basis for sepcial KDE3 compat handling. that is
of course wrong because a service might just as well actually have a
prefix and be actually called kde-foo.desktop rather than
kde/foo.desktop. Specific example: kde-gtk-config.desktop
seeing as this is ancient compatibility code that is actually wrong,
the easiest solution seems to be dropping the code entirely (and thus no
longer assume kde- has some special meaning).
(also I didn't find a way to get the underlying filename of a kservice,
so making the code not wrong seems non-trivial)
CHANGELOG: the GTK+ settings module now correctly appears in krunner and kickoff
BUG: 383287
Test Plan: gtk kcm correctly shows up in both kickoff and krunner searches
Reviewers: broulik
Reviewed By: broulik
Subscribers: GB_2, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D19788
Summary: Minor optimisation, should behave identically.
Test Plan:
Ran krunner
Searched for some apps
Reviewers: #plasma, apol
Reviewed By: apol
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D19475
Summary:
[copy-pasted from T10500:]
Problems with the current term:
- It's a somewhat severe-sounding technical term that doesn't intrinsically mean much to the average person. To the extent that it does, the connotations may be negative (e.g. when a misbehaving kid is being kept out of school)
- Our two major closed-source desktop competitors (macOS and Windows) both use the term "Sleep", so user familiarity with "Suspend" is low and falling all the time
I'd like to propose that we use "Sleep" instead, to address the above issues. It's a nicer
word in general, and since it's what our competitors use, we benefit from user familiarity.
We also recently adopted a moon icon with Zs for this, which visually connotes sleep. So it
would make sense to update the string too, because then the string and the icon will both
match.
Test Plan:
KRunner, searched for "Sleep": {F6640273}
KRunner, searched for "Suspend": {F6640284}
Kickoff, searched for "Sleep": {F6640309}
Kickoff, searched for "Suspend": {F6640315}
SDDM theme: {F6626026}
Logout screen: {F6626010}
Logout widget, UI: {F6626034}
Logout widget, config: {F6626035}
Reviewers: #vdg, #plasma, davidedmundson, filipf, mart
Reviewed By: #vdg, #plasma, filipf, mart
Subscribers: abetts, filipf, davidedmundson, plasma-devel
Tags: #plasma
Maniphest Tasks: T10500
Differential Revision: https://phabricator.kde.org/D19185
Summary: Is a smaller library and provides everything we need
Reviewers: apol
Reviewed By: apol
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D19066
I got "#define HAVE_X11 TRUE" and errors because of that where #if was
used.
This also obeys the logic that HAVE_X11 is set (in the toplevel
CMakeLists.txt) not only when X11_FOUND but also when XCB is found.
Summary:
KCMs should have color icons while widgets should have monochrome icons, so I have changed the name of the KCM icon.
Depends on D18529
Reviewers: #vdg, #plasma, ngraham
Reviewed By: #vdg, ngraham
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D18532
Instead of converting to QVariantMap first.
Also, port code touched as part of this to range for
Differential Revision: https://phabricator.kde.org/D17527
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:
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
Summary:
Build the test dependencies as static library. Remove duplicate and
commented out lines. Use ecm_add_test instead of setting up everything
manually.
Test Plan: make && ctest
Reviewers: #frameworks, mart
Reviewed By: mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D16404
Summary: QIcon is only used in the implementation, not in the interface.
Test Plan: compile tested, no functional changes
Reviewers: #frameworks, davidedmundson
Reviewed By: davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D16402
Summary:
The favicon_id is not used in the query results, and may not even exist
when the places db has been created with FF 58 or later. In case the
column does not exist the query fails completely.
BUG: 398305
Test Plan:
1. Create a new FF profile
2. Add some bookmarks
3. Do some queries
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: broulik, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D15305
Summary:
An entry from the moz_places db may have several referring entries
in the moz_bookmarks db, i.e. where moz_places.id = moz_bookmarks.fk.
One of these entries is the "main" entry, while the other ones are used
for tags. Only the main entry has a title, while the others have not.
The tag entries have the same type as the main entry, even the parents
have the same type (folder).
Another source for duplicate URLs are manually created bookmarks, e.g.
in different folders. These may have the same or different titles.
To remove these duplicates, merge all entries with the same URL. If a
URL has multiple entries, keep all with distinct titles, otherwise keep
at least one - a bookmark may have an empty title.
See also T9626
Test Plan:
- Create a bookmark
- Add one or more tags
- Open FFs bookmarks sidebar
- Copy and paste the new entry
- Copy and paste the new entry again, change its title
Search for the new bookmark. It should appear exactly twice, once
with the original title, once with the modified one.
Without patch, it appears 3 times, plus once more for each tag.
Caveat: The bookmarks db has to be checkpointed to make the new
entries visible in the main DB file. To force checkpointing, execute:
$> sqlite3 -column -header ~/.mozilla/firefox/*.default/places.sqlite "PRAGMA wal_checkpoint"
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: broulik, davidedmundson, zzag, ngraham, plasma-devel
Tags: #plasma
Maniphest Tasks: T9626
Differential Revision: https://phabricator.kde.org/D15357
Summary:
"Shutdown" is a noun ("The nuclear reactor is experiencing a shutdown!")
"Shut Down" is an imperative command with a verb ("Shut down the nuclear reactor!"), which is how everything else is phrased.
Test Plan:
- Login screen button now says "Shut Down"
- Searching for "shut down" in KRunner brings up the appropriate option ("shutdown" still works too)
- KRunner says, "Shut down the computer"
Reviewers: #vdg, #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D15878
Summary:
Instead of constructing the query string on each favicon fetch just use
the (fixed) sql query string.
Test Plan:
make
Switch default "Web browser" in Applications to Chrome/Chromium
Query bookmark with krunner, or e.g.
qdbus-qt5 org.kde.krunner /App org.kde.krunner.App.querySingleRunner bookmarks Phabricator
Reviewers: #frameworks, davidedmundson
Reviewed By: davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D15491
Summary:
The query is no longer initialized for each query, just once, thus there
no longer is a need for the database parameter.
Test Plan: make
Reviewers: #frameworks, davidedmundson
Reviewed By: davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D15490
Summary:
The db scheme will not change during the FetchSqlite livetime. Query
the scheme just once per krunner invocation instead of once per result.
Test Plan: make
Reviewers: #frameworks, davidedmundson
Reviewed By: davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D15489
Summary: This is a preparatory patch required for further rework
Test Plan: make
Reviewers: #frameworks, davidedmundson
Reviewed By: davidedmundson
Subscribers: davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D15488
Summary:
Its rather pointless to spew an error message each time a query is done.
Output the warning message just once (on the default logging level), and
output further messages only at debug level.
Reviewers: #plasma, ngraham, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: apol, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D14806
The runner doesn't have any config on its own but uses the Web Shortcuts configuration.
Add a "configure" button that opens that KCM straight away.
BUG: 398242
FIXED-IN: 5.14.0
Differential Revision: https://phabricator.kde.org/D15430
Summary:
QDir.entryInfoList(NoDotAndDotDot) always returns an empty list, as it
requires one of QDir::Files, QDir::Dirs or QDir::Drives or any
combination thereof.
Instead of implementing it manually, use QDir::removeRecursively().
Test Plan:
Watch ~/.cache/krunner/
When krunner is closed, KRunner-Favicons-firefox-default should
be emptied and deleted.
Reviewers: #plasma, davidedmundson, broulik
Reviewed By: #plasma, broulik
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D15391
Summary: We use "Suspend" and "Hibernate" in most places except for KRunner, where we currently use more technical terms that expose the implementation details (suspend to ram vs suspend to disk). Let's be consistent.
Reviewers: #plasma, #vdg, davidedmundson, broulik
Reviewed By: #plasma, davidedmundson, broulik
Subscribers: sudhirkhanger, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D15386
Summary:
When the profile has initially been looked up, the location is saved to
the global config. Afterwards, the location is never updated even if
the profile has been replaced, due to an inverted exits() check.
Test Plan:
1. Check dbfile in kdeglobals is pointing to a valid profile
2a. Change the dbfile setting - or -
2b. Remove the existing profile and create a new one
3. Restart krunner - it should fix the config entry/use the new profile
Reviewers: #plasma, apol
Reviewed By: apol
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D15254
Summary:
Bookmarks may have no title, the user is free to delete it when creating
a bookmark.
A bookmark without URL would be useless (there were nothing to refer to),
so ignore any bookmark with an empty URL.
Simplify check for Firefox specific "place:" URLs.
Test Plan:
Search for "Recent" or "place"
"Recent Tags" is still filtered out
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D15356