Summary:
Document entries pointing to unavailable network shares freeze
the application menu, so avoid calling QT_LSTAT (lstat64())
three times for each list item and reading the first 16k of
each document when showing the recent documents list in application
menu.
The current behaviour of accessing each document in the list
just by browsing the application menu is inacceptable in large
enterprise environments where thousands of users work
with documents located on mounted network shares. This induces
additional load on filers and network, slows down working
with the menu and makes its functioning dependent on network
and remote filesystems.
Test Plan:
1. Open a document on a mounted network share, e.g. a text document
on a CIFS share with Libreoffice Writer or Kate.
2. Open the application menu (kicker), look at Recent Documents, the
document's filename should be there.
3. Pull out the network plug, open the application menu, try to open
Recent Documents. Without this patch, the application menu doesn't
work anymore and just hangs. With this patch applied, the menu
continues working.
Reviewers: #frameworks, dfaure, #dolphin
Reviewed By: dfaure
Subscribers: apol, ngraham, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D19784
The InvalidAppsFilterProxy and GroupSortProxy models were creating
circular parent-child relationships by setting themselves as parents
of their parent objects.
Reviewers: davidedmundson, mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D13856
Summary:
When one tried to open a recent document which happened to be
executable (a shell script, for example), it was run instead.
This was unexpected and could even be disastrous.
After this change, recent documents are always opened.
Reviewers: #plasma, hein, broulik
Reviewed By: #plasma, broulik
Subscribers: ngraham, hein, broulik, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D10835
Summary:
The favourites are based on KAStats (already released version) **and kactivitymanagerd master (to be released with the next Plasma release)**. It allows favourites to be set to all activities, or the user can choose which activities to show a specific favourite application on.
This change covers applications, files and contacts, other favourites are still based on the old model (now named SimpleFavoritesModel).
{F1028047}
Test Plan:
Tested in Kicker, Dashboard and Kickoff the following:
Transitioning mechanism:
- load default favorites for the blank user
- load custom default favorites set in the plasmoidsetupscripts script for Kicker
- transition old results - when transitioning, merge the favourites from all launchers. The ordering for each launcher is kept separate (newly added items due to the merge go to the end)
Favorite manipulation:
- right-click add favorite to all activities
- right-click remove favorite from all activities
- right-click add favorite to specific activity (current)
- right-click remove favorite from specific activity (current)
- right-click add favorite to specific activity (not current)
- right-click remove favorite from specific activity (not current)
- right-click move from all to specific
- right-click move from specific to all
- right-click move from one activity to another
- dnd reorder items in the model (up)
- dnd reorder items in the model (down)
- dnd add to favorites at a specific position
Other:
- launch the application
- ordering persists after restart
- ordering from the previous is kept on the activity that has no ordering
Reviewers: mart, hein
Reviewed By: hein
Subscribers: Zren, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D3805
Summary: Created a new tab to show most used documents/applications, disabled by default.
Reviewers: hein, mart, sebas
Reviewed By: hein
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D5620
Summary:
This would partially fix https://bugs.kde.org/show_bug.cgi?id=369242
Another patch is required not to show empty elements (in case `data()` returns `QVariant()`).
Reviewers: hein, #plasma, davidedmundson, mart
Reviewed By: #plasma, davidedmundson, mart
Subscribers: mart, broulik, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2846
Summary:
This would partially fix https://bugs.kde.org/show_bug.cgi?id=369242
Another patch is required not to show empty elements (in case `data()` returns `QVariant()`).
Reviewers: hein, #plasma, davidedmundson, mart
Reviewed By: #plasma, davidedmundson, mart
Subscribers: mart, broulik, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2846
"new KRun" is only meant to run absolute file paths and so breaks when we get a
service with relative entryPath() like when finding a KCModule.
The tempFile argument causes this call to be asynchronous as to not block the UI.
Once we can depend on KDE 5.24 and D1902 is merged, use KRun::runApplication instead
Differential Revision: https://phabricator.kde.org/D1898
Summary:
For the Plasma 5.7, we will be able to use the kactivities-stats
framework instead of having our internal copy
Reviewers: mart, sebas, hein
Subscribers: plasma-devel
Projects: #plasma
Differential Revision: https://phabricator.kde.org/D1086